Git, Mercurial, or Bazaar? 9

Posted by Warner Onstine Mon, 07 Jul 2008 15:20:00 GMT

The other big change I’m considering is actually moving away from Subversion. I’ve really enjoyed using it, but a recent discussion on the Groovy Dev list about Distributed Version Control Systems (DVCS) has got me looking at alternatives and why it would be good. I asked my friend Kate if she had any blog posts on why switching to a dvcs is a good idea and she whipped one up for me.

After reading through it I think I’m sold, but now I’m trying to figure out which one to try out first. Git honestly looks like the clear winner here in a number of respects:

  • Serious mindshare amongst the OSS projects
  • Has a great community committed to pushing the project forward (as Kate suggests )
  • Has some really good functionality (even if it is a bit obtuse to get to understand)
  • Looks like the beginnings of some plugins

But it also has some (current) drawbacks:

  • Tools are really only available on Linux - Mac looks like its coming but could be a pain in the ass to build, forget Windows right now
    • No IDEA plugin yet (bummer) - but it does look like IDEA 8 will support it
    • No NetBeans plugin
  • It’s a bit obtuse to learn - the commands are not necessarily the easiest to understand but they do have a Subversion -> Git guide online

So, I think I will try Git first, maybe. What about the other two - Bazaar and Mercurial? Bazaar honestly looks like 3rd place contender right now, but it does have some interesting tools available to it. Let’s look at Mercurial next.

  • There are some pre-built packages for OS X and Windows - nice
  • Again, looks like the beginnings of some plugins

Some current drawbacks

  • Doesn’t seem to have the same mindshare as Git does (this is my perception not necessarily true)

Now onto Bazaar.

Of course after I started this I found this much more in-depth review of the different systems over at InfoQ.

I think after reading a ton more on this (and the InfoQ article) that I’m going to give Mercurial a short first and see how it goes. Kate makes two more points at the end of this blog post on Mercurial vs. Git (which itself was a response to another blog post) - If you need Windows support or documentation are important items then Mercurial may be a better choice. For me, while I don’t need Windows support, it will be nice to understand what I’m trying to do first.