Moving to git

Well, I switch the revision control system I use for the third time during last years.

When I decided to try something else than CVS, I started with GNU arch. This was a good choice as GNU arch made a good basis of modern free software revision control systems. Unfortunately problems in GNU arch development and its split into unconvincing forks and replacements forced me to look elsewhere.

There were several reasonable choices among distributed revision control systems: darcs, Mercurial and git. I switched to darcs as it looked simple, user friendly and was popular among Lisp programmers. Indeed, as long as darcs is used for a single line development (as is typical with Lisp projects because they usually don’t require much development power) it works very well. I was very satisfied with it until I have been hit by the infamous darcs performance problem. This is a fatal drawback preventing use of the revision control system at all in certain situations. So I had to switch to another system once again.

The remaining choices were Mercurial and git. I decided to go git as it looked more reliable to me (something used for Linux kernel development is unlikely to be seriously buggy or suffering from performance problems, isn’t it) and provided “native” tools for cooperation with CVS (this is important to me as I usually work on projects with upstream CVS repositories).

I’ve been using git for several months now and I’m satisfied with it. From the user’s point of view it’s somewhat ugly and unfriendly, but one can live with it using a few external tools such as Emacs and qgit. More important is that the underlying concepts look right. Also the git CVS cooperation tools work better than tailor that the other systems use. I think git future is promising, git seems to be well founded, with stable development and growing user base (I know I’m not the only one migrating through the systems as described above and being now a git user). Perhaps git is the future leading free revision control system and I won’t have to migrate again in the next years.