Mercurial, finally!

Posted by Kaya Kupferschmidt • Saturday, August 13. 2011

When I started to work as a software developer, still during the time when I was studying, I made first contact with a source control system. Of course it was the highly respected Microsoft Source Safe. For me as a fresh developer, this was something really new, and I immediately started to like it. I even started to use it for some private projects and immediately saw the benefit of using it, even if you are the sole person working on a project. After that some years later, I made the experience with the old and famous CVS - but only to see how it was replaced by the far better new-kid-on the rock called subversion.

That was really something nice - supporting branching, atomic commits, nice integration in all relevant IDEs and of course TortoiseSVN, which became the de-facto standard for accessing subversion repositories with windows. There came even a clone for CVS called TortoiseCVS. Everything was much better than with Source Safe or CVS.

But after some time, it became clear, that branching (one of the best-selling features of subversion) just doesn't work - simply because merging doesn't work. With those problems in mind, even Linus Torvalds said that "Subversion is the most pointless project ever started". He was into something better called Git which is a distributed source control system. At more or less the same time a second project called Mercurial was started with the same ideas like Git. Both of them work in a completely distributed manner, such that everyone has a copy of the complete repository including all the history. Of course in this situation merging becomes a non-trivial part, and that is the reason why they are doing this so much better than subversion. Without robust merging and tracking branches a distributed version control system simply wouldn't work.

So today I finally made the switch to Mercurial with my private project, after I have been happily using subversion for several years. Luckily it is quite easy to convert a subversion repository to a mercurial repository. I also chose Bitbucket as a public hosting platform, so from now on everyone is invited to clone the Magnum repository which is available at https://bitbucket.org/dimajix/magnum.

Looking back, I think it was still the right decision first to move to Subversion and then to move to Mercurial/Git, simply because those projects weren't up to speed at that time.

0 Comments

Display comments as (Linear | Threaded)
  1. No comments

Add Comment


Enclosing asterisks marks text as bold (*word*), underscore are made via _word_.
Standard emoticons like :-) and ;-) are converted to images.

To prevent automated Bots from commentspamming, please enter the string you see in the image below in the appropriate input box. Your comment will only be submitted if the strings match. Please ensure that your browser supports and accepts cookies, or your comment cannot be verified correctly.
CAPTCHA 1CAPTCHA 2CAPTCHA 3CAPTCHA 4CAPTCHA 5


Markdown format allowed