My understanding is that Git is sort of a linked list when each node is a self-sufficient object that has all information about the commit such as differences between current and previous commits.
I thought that Mercurial is also sort of a linked list. But, then I read that mercurial stores branch information as a permanent part of each commit and therefore branches cannot be removed
What does that mean "cannot be removed"? How the commits are stored then, like a huge one node?
hg help branch
), but it's nohow related to storing additional metadata (branch-name) in changeset