20 June 2009

Git vs Mercurial and the fight of SCMs

In the past I was using Subversion as a SCM (Source Control Managment) and Google's project hosting is still using it, so Google Code was allways a good place for hosting some open source code.
But now the world has changed. I recognized the idea of distributed SCM (DSCM) first, when I heard about github.com and I gave it try. The big benefits are, that you can work offline and everyone has his own repository with full versioning and so on. The result for my own work is, that I do much more commits and of cause smaller ones. Just after doing a cupple of them, I push my changes to the server.

But What is the right system and right hoster?


This is a very interesting question and it forced me to test a little bit around. And I found a cupple of benefits on each system and each hoster. But in the end I decided to stay on Google Code and use Mercurial.
The reasons are pretty simple:
  • Mercurial isn't that different from Git as I expected.
  • Social comopents are not so interesting for a project hosting.
  • Google has a much better code and history browsing than github.
  • Extisting Subversion projects can be converted including history.
So my desicision was clear. I mooved the DuckWiki repo to Google Code, and will use Google Code and Mercurial in the future.

If you're thinking about Mercurial and Git, there is another point, you might be interested in, which I didn't care about so much:
While Git only works over SSH, Mercurial provides you the choice between SSH (makes maybe more sence in a Company's internal network) and HTTP (is much nicer, if you're repo should be open for annonymous users).

No comments: