Why Subversion does not suck

Posted by Andy Singleton on Dec 11, 2008 11:39:00 AM

The Subversion sucks meme, which has become very popular in the blogosphere (starting with Linus Torvalds and continuing here here and finally here for example) asserts that Subversion is obsolete and will fade away because distributed version control systems like git (mostly git), Mercurial and Bazaar offer a better and more flexible workflow.  If we imagine a world without Subversion and other centralized version control systems, it's easy to see why Subversion does not suck, is not fading away, and in fact, has a rapidly growing user base.

As a disclaimer, I admit that Assembla has moved to git for its internal product development, and we are actively supporting both git and Mercurial repositories, as well as supporting the great open source workflow on github with our Assembla Tickets for Github package.  I can see the limitations of Subversion in absorbing code from a diverse group of contributors.  In the central repository, they can break the build, or force you to engage in a high-stakes merge that affects everyone.  Even with those limitations, we use Subversion for our work with clients.

To see the value of Subversion, imagine a world where git is the only option.  Codehounds use it to manage their personal code base, and to write code for bigger projects and push it to the team leads.  Team leads use that distinctive distributed VCS workflow to pull the changes they want and assemble the daily and milestones releases.  In this world, new programmers go to class to learn several dozen git operations, learn to navigate the maze of branches, and become “git certified”.  But, this growth industry of training doesn't reach designers, clients, and other non-programmers, because this stuff is just too complicated for them.

Imagine that in this world someone announces a radically simplified VCS option called centralized Subversion.  With Subversion, everyone is working on the same thing.  It unifies a team.  And, it's radical because it's really easy to use.  You get a graphical client with four point-and-click operations – checkout, update, revert, and commit.  Even designers can use it.  Even clients can use it.  People rave about its usability,  and its mind-melding social structure.

In this world, people might start saying that git sucks, that it's obsolete, that it will fade away.  Of course, they would be wrong, just carried away.

Topics: development process, repositories, subversion, git/gerrit

Written by Andy Singleton

Working on Continuous Agile and Accelerating Innovation, Assembla CEO and startup founder

Follow Assembla

Get Started

blog-CTA-button

Subscribe to Email Updates