Update: Doh! Sorry for flooding everyone’s feed readers with my epic post. Evidently WordPress ignored my “more” tag. I think I ran into this problem before…
Update 2: Retracted the meaningless Google Trends point. Thanks to commenters for pointing out how meaningless it was. I still feel like git has a much stronger web presence than bzr or hg, but its just another one of the many “gut feelings” in this post.
The DVCS wars have been raging for a while now, and in case you haven’t been keeping score, git is winning. Admittedly I have no proof and don’t even know if proof is possible, but I have some good evidence of git’s march toward VCS dominance:
- Git dominates every other DVCS by an order of magnitude among Debian packages (that link to their upstream repository).
- A recent survey of Gnome developers found an overwhelming support for Git over other VCSes.
Git dominates Google trends.Speaking of Google, they have 4 Tech Talks on Git, and absolutely none for bzr or hg. Update: hg has one – see comments.
- Why Git is Better than X – More than the site, the lack of popular counter-argument sites springing up leads me to believe hg and bzr don’t have nearly as fanatical of supporters.
Also note some of the major upstream projects using each DVCS:
Git seems to be attracting the most diverse communities as well:
Git: Linux Kernel, X.org/FreeDesktop, Ruby on Rails
Bazaar: Ubuntu, Ubuntu, Ubuntu
Mercurial: Pythonistas, projects that need better Windows support than Git offers
Once again I don’t really have any stats to back up these assertions, they’re just my biased observations.
I tried learning Git soon after it was first released and failed like so many others. Unlike many of those others, I never went back to give it another shot.
Next I learned Bazaar and felt comfortable in it almost immediately. Now I use Bazaar as my preferred VCS and quite like it mainly because it works well and was very easy to learn. I know its not the fastest, but its so far from being a bottleneck in my development process I don’t notice.
I learned Mercurial for work and use it at least as much as Bazaar, but I’m not sure why anyone would use it over Bazaar. I think people who learned Mercurial first think the same thing about Bazaar.
And perhaps thats part of why Git is winning. It seems fundamentally different from the other two which is probably why its the only 1 of the 3 I haven’t learned.
I actually don’t plan on learning git any time soon. My time for playing with new technology is currently taken up testing nginx, spawning, and FastCGI.
I suspect thats the norm as well: people who already know a DVCS probably aren’t looking to migrate between them. The few that are, are probably moving to Git.
I think we’ll see the current trend of Git’s lead widening over bzr and hg as well.
However, I don’t see the war ending anytime soon. The fact of the matter is all 3 of them are great and the weaker DVCSes have already fallen prey to evolutionary forces (monotone, darcs, etc).
What are your thoughts on my completely contrived DVCS War? Which do you prefer? How many do you use? Are my assumptions about popularity (in particular the various communities around each) accurate?