Anyone who has ever added a project to BitBucket already knows what Mercurial is, but for those who have never heard about it, “it is a free, distributed source control managemt tool that can efficiently handle projects of any size and offers an easy and intuitive interface.” In other words, in the world of Distributed Version Control (Systems), or DVCS or short, Mercurial is the bee’s knees! This is not to say that I don’t like Git or Bzr, but when I have to recommend a revision control solution to someone who just needs to get the job done, I don’t think twice! In my humble opinion, Mercurial is by far the easiest and most intuitive of them all!
Prior to joining rPath (my very first job at a company using Free and Open Source Software), I used a couple of DVCS for work such as Microsoft Visual SourceSafe and later Subversion, systems that you wouldn’t really consider to be ideal for doing distributed development. When I was then introduced to Mercurial (you see, rPath is a huge Mercurial and Python shop) my first reaction was: “here we go, yet another system to learn!” But boy was I wrong! There are tons of good documentation out there and I highly recommend “Mercurial: The Definitive Guide" by Bryan O’Sullivan and “Hg Init: a Mercurial tutorial" by Joel Spolsky.
I, for one, think that having someone work on Mercurial full-time would do wonders for the project, so I’m hoping to talk about this again in the very near future. In the meantime, and to borrow Matt’s own words, “if your company is a serious user of Mercurial or sells Mercurial-based products or services, please consider accelerating Mercurial’s development.”