Hacker Timesnew | past | comments | ask | show | jobs | submitlogin

These guys look like being advocates of mediocrity.

Yup. They wrote Subversion and continue to encourage people to use it.

Perhaps they should tone down their egos and realize that Subversion was not really that great of an idea, and there are now several competing tools that do everything Subversion does, but better.



You say that "Subversion was not that great of an idea" but if you go back to 2001 (which is when svn became selfhosting), or even 2004, CVS was such a disaster for some use cases that the need for a replacement was readily evident. Add to that the fact that svn was a compelling replacement for Visual Source Safe, and it was definitely a worthwhile idea. Sure, it's now the "old safe standard" of version control, but there's a lot of value in that for many companies. Several of the original svn team (including these two) have admitted that some of the design decisions (the handling of tags and branches most notably) were probably mistakes, given the value of hindsight. They got a lot right too, though. The delta editor interface is nicely abstracted to the point that hgsubversion uses the same delta editor as the svn command line client to do something the original design spec never would have anticipated. Yet it works extremely well.

Subversion is much simpler for people to "get" than other systems. I've been a heavy evangelist of DVCS tools and workflows for a while at work, and it's taken since October (8 months) to get any critical mass behind actually even investigating switching to those from SVN.

Let's face it: Subversion is many many times better than nothing, which is what a ton of people do. Most college graduates in CS or CSE come out of school never having touched version control in my experience, and the ones that have seen it were exposed via open source, not their coursework. Evangelizing Subversion is (really lousy analogy warning!) like convincing people to smoke cigarettes instead of doing illegal drugs. At least it's less bad for them, and the barrier to entry might be a bit lower. When we had a poll of the local Python users group one meeting, "email" was the most popular version control solution, followed by a basic dead heat between svn/bzr/git/hg. The fact that people still view email as a valid answer is far more troubling to me than evangelizing an old and very mature tool instead of one of the new upstarts.


I think SVN is a classic case of overreacting. "CVS is bad, and it has first class branches and tags. Those must be bad too!" The result was a very poor design ("everything is a file!") and a very poor implementation. The implementation can be fixed (and it is going in that direction), but the design is broken to the point of being unusable.

I am glad that CVS died, but it was "replaced" with something not-much-better.


A lot of the problems SVN ran into was trying to use cutting edge technology and standards before they were really ripe. WebDAV, for example, or the endless, endless iterations of Berkeley DB corruption. It is, in a lot of ways, an excellent illustration of the dangers of trying to solve the wrong problem.


What's innovative about WebDAV ? It's basically a design by committee standard pushed by Rational to web enable clearcase; it's a very verbose protocol and there was an entry in Sussman's blog about replacing WebDAV with a better wire protocol like Mercurial's. Getting WebDAV into SVN was basically Greg Stein's idea - he had worked at Microsoft and had observed them transitioning over to WebDAV in a big way and started pushing for its usage in SVN as well - a move that was not well thought out. WebDAV is not very popular even with some of the SVN hackers.

Berkeley DB was certainly old when it was adopted by the SVN project. It's not like the NFS issues with BDB were unknown.


I never said WebDAV was innovative, just that it was brand new and full of problems. And as for BDB, IIRC they were having issues with the database getting wedged constantly even when not using NFS. But this was long after I had stopped paying a great deal of attention to the project.


"he had worked at Microsoft and had observed them transitioning over to WebDAV in a big way and started pushing for its usage in SVN as well"

That's why I am suspicious anyone who ever worked for Microsoft, specially when you talk about open-source. You never know when they will send a saboteur.


Linus was making fun of SVN in his talk ( http://www.youtube.com/watch?v=4XpnKHJAok8 ). One of his point was, that SVN chose the wrong way right from the start and there is no way to have "CVS done right" because CVS is hopeless by design.


CVS may have had serious flaws, but I find Linus' original revision control practices to be less than optimal:

"The Linux kernel source code used to be maintained without the help of an automated source code management system, mostly because of Linus Torvalds' dislike of centralized SCM systems.

In 2002, Linux kernel development switched to BitKeeper, a SCM system which satisfied Linus Torvalds' technical requirements."

Nearly a decade without a revision control system?

http://en.wikipedia.org/wiki/Linux_kernel#Revision_control


In Linus' git talk, he says that he finds creating different tarballs is much better version control than using CVS.


If you compare granularity of tracking and utility of historical version control across different projects of that era, such as FreeBSD vs. Linux, I think you'll find that Linus' position is clearly false.




Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: