Mercurial to replace SVN
For what I’ve seen in the last few month, it seems that Mercurial (Hg), a Distributed Version Control System (DVCS, or Distributed Source Code Management) is becoming to replace Subversion (SVN) in many Open Source projects… at least when Git is not already in the place!
While I am in it, Hg and Git have both been started on april 2005, shortly after the announcement that the free version of BitKeeper will be stopped.
Google Project and SourceForge are providing Mercurial as a choice of DVCS, and many tools are compatible with it. I’am using TortoiseHg, as I’ve used TortoiseSVN for many years now (in the same way, there is TortoiseGit).
For Android development, what I appreciate in Mercurial is that it does not cluster the working copy of my projects with “.svn” subdirectories like Subversion ! Instead, there is a single “.hg” directory, and this help a lot when working with Eclipse (no need to exclude explicitly “.svn” in the “src/” directory) as well as for performance/responsiveness!
I’ve quickly learned to use Mercurial with the famous “Hg Init” Mercurial tutorial, which start by a “Subversion Reeducation“!
Here you can find some articles I’ve read about Hg and Git (and choosing among them) :
- stevelosh: The real difference between mercurial and git “I personally find Mercurial’s philosophy easier to work with.”
- importantshock: Git vs Mercurial “Git is MacGyver”, “Mercurial is James Bond”
- extracheese: why i switched to git from mercurial “Mercurial is bad at handling large amounts of data.”, “Mercurial is not safe.”
Please note that I did NOT really make a choice: I only started to use Hg because its used on some open source projects I am following!
Edit: for installation instruction, see Hg installation on a webserver (HgWebDirStepByStep) and in my case, installation for Debian 5.0. I use a simple “.htaccess” file to restrict access to my server.
Edit 2: please, have a look at my newer post Why I switched from Mercurial to Git