I have to say, after using Mercurial for a bit, I think distributed version control is pretty neat stuff. As Subversion tests a finalÂ release candidate for 1.5Â (which features limited merge-tracking abilities), thereâ€™s a bit of angst going on in the Subversion developer community about what exactly the future of Subversion is. Mercurial and Git are everywhere, getting more popular all the time (certainly among theÂ 20%Â trailblazers). What role does Subversion â€” a â€œbest of breedâ€ centralized version control system â€” have in a world where everyone is slowly moving to decentralized systems? Subversion has clearly accomplished the mission we established back in 2000 (â€to replace CVSâ€). But you canâ€™t hold still. If Subversion doesnâ€™t have a clear mission going into the future, it will be replaced by something shinier. It might be Mercurial or Git, or maybe something else. Ideally, Subversion would replace itself. If we were to design Subversion 2.0, how would we do it?
Last week one of our developers wrote an elegant email that summarizes a potential new mission statement very well. You should reallyÂ read the whole thing here. Hereâ€™s a nice excerpt: