These are good days for Mercurial, the Python-based distributed version control system. First Python chooses Mercurial. Then Google Code announces support for Mercurial, the first DVCS it supports. Now ActiveState comes out with Workspace, its project hosting product, which supports Subversion, git, and you guessed it, Mercurial.
I don’t understand the reasons why Mercurial is getting all the headlines these days over Bazaar, which has a number of high-profile users of its own.
But I’ve liked Mercurial since choosing it and Bitbucket for hosting Coverage.py. I’m glad that a clear leader is emerging among the non-git DVCS systems. It makes decisions easier.
I'd actually tip momentum towards git over hg, but I think we'll wind up with split market. The next few years will be hg/git/svn split with the first two eventually taking over the svn base as people get comfortable with dvcs. Ultimately it won't matter that hg/git split the market because the models are close enough that you can make the tools manage the other's repo. Github just announced a mercurial plugin that does just that.
I did try to adopt bzr first since I am an Ubuntu user but got quite frustrated, especially since it tried to do everything! Every page of documentation was about how any workflow imaginable could be done by bzr. There wasn't a checklist item it wouldn't have a check for. The (only?) public hosting service for bzr, Launchpad, also appeared to be overly complex as well as slow.
Hg was refreshing in that it was very limited in what it could do (by comparison). But that made the documentation far less complex. Also having been a svn user, I could usually guess commands.
By analogy I'd say bzr is like Perl and hg is like Python :-)
- git <-> Perl: powerful, gratuitously complicated, utterly unusable;
- bzr <-> Ruby: nice, too clever for their own good;
- hg <-> Python: simple, beautiful, a tad idiosyncratic.
@Trent: you may want to look at the page ActiveState has up about Workspace, or maybe the page should be fixed. It says, "Workspace supports Subversion, Mercurial and Git so you choose the revision control system that fits your needs! (Mercurial and Git currently in testing)".
bzr is just uninteresting to me, because it's slow (maybe not as slow as it used to be) and it's many overhauls of internal formats indicate that it's based on shoddy engineering to begin with. Additionally, some of the code I've seen looks more like Java than Python. hg's codebase can be terse, but it's pretty easy to read, for the most part.
Although Bazaar claims speed, I think one of the reasons behind me using Hg is speed. It is nothing compared to Bazaar.
Plus, I like more code.google.com than Launchpad.
Launchpad has a weird UX design.
Add a comment: