Joey, you're probably one of the people in the best position to talk about this one. How do the other DVCSs work for extremely simple, lightweight uses such as keeping a blog, a /bin directory full of miscellaneous scripts, or tracking the config files on a laptop? New people sometimes get drawn into tweaking around the edges, then become core participants.


I have to be honest, I just don't see convergence to a single VCS happening, not anytime soon, anyway. I think what we're going to see is the business world is going to continue moving towards Subversion for internal projects, as businesses still like to maintain the control they get with a centralized VCS. Additionally, SVN still has a big win over pretty much any other open source VCS in terms of documentation and available tools. Current SVN users who desire a distributed option have SVK, which can be useful.

In the Free Software world, I see a strong movement towards the DVCS's, which makes sense, as a DVCS really shines in the very distributed development style that is common there. However, I don't think there will be a single winner. There's too many large and high profile projects that are still adopting multiple different VCS's. And oftentimes there's good reason to pick one over the other. For example, while git gets lots of attention right now, and is particularly popular for Linux-only projects, it is considered a very poor choice for cross-platform projects, and has been rejected repeatedly by large projects that don't make non-Linux/unix platforms a second class citizen (the Mozilla projects, for example). MySQL just switched to bzr, and Canonical is pushing it's use within Ubuntu, while Sun has standardized on Mercurial for most of their projects. The two I do currently see falling behind in mindshare are Darcs and Monotone (which is rather too bad, because I really like some of the design ideas in Monotone). GNU Arch is basically legacy, and most of it's users have moved on, I think, with bzr being a common choice due to it's history.

I definitely see compatibility as a feature that is more and more desired, though. Most of the DVCS's either have, or are building, support for working natively with SVN repositories, which is an excellent start. This makes SVN an attractive repository format for a project that wants to allow maximum freedom in VCS choice. I'm also seeing the various DVCS's adding native support for some of their competitors repositories, too. I've also seen a project or two out there specifically for translating changesets/patchsets between different version systems, further easing compatibility. -- Christopher Cashell


On the subject of second-class citizenship... MinGW merge thread on the msysGit newsgroup. The Microsoft Windows issue might not be hanging over git's head much longer. -- Don Marti