Git vs. Mercurial
Software
Monday, 01 March 2010 22:51

For about a year or so I have been using Git. The transition was a bit painful, but once I got the hang of it, I found it to be fantastic. I first used it at Backcountry.com where I work as a software engineer. I eventually started using it for all my projects. I ran into a problem when I wanted to use Git for a project where I was working with somebody who was an avid Windows user. It was then that I realized Git has an Achilles heel.

Enter Mercurial. In my opinion, Mercurial is the main alternative to Git. Git is unlike CVS and Subersion in that it is a Distributed Version Control System (DVCS). I'm not going to dig deep into why that is awesome, but you can read more about DVCS on Wikipedia. I am designating Mercurial as a Git alternative simply because it is another stable and fairly popular DVCS.

So, which is better? I can't say for sure. I'm still biased toward Git because I am so much more familiar and comfortable with it. I have also found Git to be very reliable and scary good at merging. However, if you're working with someone not familiar with DVCS and/or uses Windows exclusively, you may find these points about Mercurial to be tempting:

  • Mercurial is fully supported on all major operating systems. (Don't have to explain CYGWIN to someone who's already confused about DVCS).
  • Mercurial is a bit more simple than Git and thus faster to learn.

I'll be sticking with Git when I can, but Mercurial is a great option when these issues are in play.


blog comments powered by Disqus