I’ve been using the Subversion version control system during the last 2-3 years. Although a VCS has never been a top priority for me, it seems there is always room for version control. I ended up using it for almost everything, from simple to more complex scripts and even system configuration files in some cases. A few weeks ago I decided to switch to Mercurial. I had read about Mercurial for the first time in some mailing list messages written by Giorgos Keramidas and also in several posts about Mercurial on his blog, but it was only a few months ago when I started experimenting with it for real. Although I use many of its features, my general use of version control systems is rather basic, so do not expect any sophisticated reasons why I have decided to switch:
- It’s open-source software, written in Python. This is very important for me as there is not much room in my head right now for other programming languages.
- Easily extensible. If I ever need a special feature I will have the opportunity to implement it by writing a Python extension.
- I got rid of those
.svn
directories. - I can use mod_wsgi and all its good features to provide repository access over HTTP/HTTPS.
- I find the concept of a “distributed version control system” to be real progress in the VCS area.
Truth is I will not stop using Subversion, but I will definitely choose Mercurial instead of SVN for any new project I start.
From Subversion to Mercurial by George Notaras is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
Copyright © 2010 - Some Rights Reserved
There’s always a place for systems like subversion, but I’m glad my posts about Mercurial convinced you to give it a try.
Some of the good points are those I wrote about in my posts. Others, like being able to fit all of hg’s “model” in the short-term cache of my brain are less pronounced, but equally important.
Have fun with hg. If you have questions about it email either me or the public list at mercurial@selenic.com
Subversion is a great project and I respect it, especially after becoming an Apache Software Foundation project. I will continue using it.
But, it is a fact that after using hg for a couple of personal projects, there was no subversion feature I missed. Mercurial is a batteries-included software and I highly appreciate this. I was excited about not having to install a 3rd party web-based frontend and also about the fact that I could use mod_wsgi daemon processes to isolate the code repositories from the rest of the web apps running on the web server. That was impossible with mod_dav_svn. It is such small practical things that make a difference to me.
Finally, I’d like to thank you for sharing your knowledge and experiences :)