28
Apr
I like Mercurial better than git
I think I’m one of the few people that likes Mercurial better than Git particularly for close-source projects.
Git = better branching, Hg = better merging
Git has easier to understand and more unified branching. However I think Mercurial merges better. I don’t have actual evidence but Mercurial rarely seems to screw up a merge and it seems to almost always do the right thing (hg resolve —all). Because of various rebasing or some other incorrect workflow I have had serious issues in the past merging with git. This is important to me because branching is not scary… merging is. And even scarier is rebasing.. more on that.
Hg = better for closesource, Git = better for opensource
I think Mercurial just works better for companies because rebasing + fast forwarding are something that are just not available OTB with Mercurial. Even with Hg’s various rebase extensions history editing is generally eschewed by Mercurial. So while this leaves less workflow options it means your junior developers is far less likely to completely screw up the master branch. Also other than making multiple heads its really hard to screw things up in Mercurial but when I first started using git I routinely screwed things up (mostly my fault because I sort of mixed workflows).
I also royally hate the staging area for companies because I have seen developers routinely forget to checkin files. You get the… “it works for me”…
That being said I think Git is superior for opensource projects because of its staging area, unified branching, generally more widespread understanding and far more mature subrepository support. Also with Git you don’t have to push all branches. So you can have a lone private feature branch. For companies I don’t see this is as good thing.
However my biggest problem with Git is that every time I seem to have to do something I have to google how to do it. I also seriously wonder if Git would be as popular as it is if it weren’t for the fact it was initially designed/developed by Linus Torvalds. Git is good today but it was pretty horrible to use compared to Hg years ago.


