Martin Pool's blog

Tom Lord on Subversion

I really like Subversion. It small and simple, and the idea of write-only versioned trees is quite brilliant. I wonder now if, if you're going to go to the trouble of switching from CVS if it's worth going further afield. Unscientifically arch seems roughly as stable as Subversion, both being at about the 1.0 level.

Tom Lord gives his ideas on what went wrong with Subversion, though "went wrong" is perhaps too harsh.

That post actually is quite a good little lesson in the mistakes you can make in large-scale architecture and planning, rather along the lines of The Mythical Man-Month.

On the other side of this "unambitious" question, you can point to Linux being an architecturally unambitious reimplementation of Unix, as compared to many microkernel projects that have languished. I think almost any project does many things which in retrospect are mistakes, but even making a number of mistakes does not necessarily mean you'll fail.

Perhaps another problem with Subversion is that at the moment the performance is not stellar. Committing, for example, the entire 2.6.0 kernel source takes a long time. That would normally be entirely forgivable for a pre-1.0 project, but the write-only database is something that ought to be easy to make blindingly fast; not being so seems to indicate an abstraction inversion problem in building it on top of a read-write database.

Tom reckons leaping to adoption of W3 standards such as WebDAV was one problem for Subversion. He may be right. One problem with W3 standards is that they sometimes seem to be written with less implementation experience than IETF standards traditionally have been. Finally they seem to have admitted this after a long time and they are going to a native svn protocol over SSH, which I think is what most potential users have been asking for all along.

Subversion might also show something about the desirability of doing quick proofs of concept as Graydon has done with monotone, before deciding you've got the right solution.

Mind you I don't think Tom's posts to the Subversion mailing list were written in such a way that they could be understood. Whether you're right or not, walking in and saying "you're doing this all wrong" without details just rarely works.

What would make Subversion parallel to Linux? If it was compatible between versions; faster than CVS in 95% of cases; had a fast & easy coversion program from CVS and just simply ran over SSH then I think it would be close.

Archives 2008: Apr Feb 2007: Jul May Feb Jan 2006: Dec Nov Oct Sep Aug Jul Jun Jan 2005: Sep Aug Jul Jun May Apr Mar Feb Jan 2004: Dec Nov Oct Sep Aug Jul Jun May Apr Mar Feb Jan 2003: Dec Nov Oct Sep Aug Jul Jun May