git Is Winning The DVCS Battle With git-svn



I’ve been using distributed version control for over a year now, and if it is up to me, I will never use a centralized VCS again.

When I evaluated the alternatives last year, I choose Mercurial as the DVCS we are using at WeMind. The reasons were:

  1. Usability - git was quite obscure back then
  2. Speed - bazaar and monotone was quite slow
  3. Large enough uptake - OpenSolaris and Mozilla started using Mercurial at the same time.
  4. Runs on all platforms, if we ever employed someone who wants to use Windows
  5. Built in Python which could be a good think if I ever wanted to extend it

A year later we are happy with Mercurial, but the landscape has changed. In particular I am seeing a huge growth of people using git, especially within the Ruby community. Which in itself is something I am happy about.

The biggest reason I see for git’s resurgence is git-svn. It allows people to start using git locally while still having Subversion as the backend, and when everyones ready the switch is easy.

There is a hgsvn in the Mercurial world, but it is read only, so you cannot push your changes back to Subversion. I strongly believe that the Mercurial community should focus on this if it wants to regain its momentum.

Git still has weak support for Windows, but that seems to be a non-issue in the Ruby world.

I am pretty agnostic about which DVCS will be the dominant one. The most important thing is that people are moving away from the centralized VCS’s.

For a great post on the subject, read what Dave Dribin has to say about it