Hacker News new | ask | show | jobs
by rileymat2 1961 days ago
I had tried both in thier infancy, and honestly prefered mercurial by quite a bit. But git had the momentum.

One thing I liked, that most do not is they had both git style branches in the form of tags, but mercurial had "real" branches.

1 comments

Git branches and tags were independent features from the very start. It's true that branches were not stored in a separate directory, but that really wouldn't add much. There were tools to check out a branch into a separate working directory on the filesystem. And it was always straightforward to store branches in separate full repos too.
That is fine, but what git does not have is branches baked into the history of the repo like HG or svn does.

With git you can see this if you merge things back and forth then remove the branch names. There is no way to tell which commit was on was which branch. You just have the graph of commits.

This is not true of HG, it is always there baked into the history.

Yes, you're right. Although there are easy ways to mitigate this if it's actually important. Simply including the branch name in each commit message is simple enough, or disabling fast-forward merges so that each merge has its own separate commit and meta-data. Or even just not merging like that in the first place and using "feature branches" that are only ever merged back into the master branch, never the other way.