Subversion seems to be losing favor among version control users

I haven’t done a study, but Subversion is a very popular Version Control System, but it is centralized.  Centralized VCSes have the notion of a “patch” since you can’t share source without submitting it to the central Version Control server.  Decentralized version control systems are proving to scale much better and actually be more usable in the process.  Git and Mercurial are two of the distributed version control systems that seem to be proving themselves among their customer base.  I have experience with Git, and at Headspring, we are considering running a pilot project on it since we have successfully moved one of our sponsored open-source projects onto the system (MvcContrib).

The point of this post isn’t to point to any single product and say “use this product”.  It is merely to recognize what I see as a shift toward distributed version control.  Because every developer has a cloned repository, the only operations that require a network connection are push and pull (this probably differs a bit).  Conceptually, the advantages of distribution of version control is that it is fast, really fast, to show logs, commit, roll back – because you don’t have to wait for the network to do so. 

With the distributed workflow, you perform the following steps:

  1. Clone the remote repository
  2. Modify some of the source
  3. Commit your changes locally
  4. Do some more modifications and commit
  5. Perhaps roll back some of your modifications
  6. More modifications and commit
  7. “Pull” from the remote repository (merge remote changes to your local repository)
  8. Run your private build to ensure the software is stable
  9. “Push” changes to the remote repository (now the rest of the team can get your changes)

You still go through this cycle very quickly, but it adds another level of being able to describe discreet changes.

We’ll see where the industry goes with distributed vs. centralized version control systems. 


Trackbacks

Subversion seems to be losing favor among version control users « Jasper Blog Posted on 1.12.2010 at 3:37 AM

Pingback from Subversion seems to be losing favor among version control users « Jasper Blog

Subversion seems to be losing favor among version control users « Jasper Blog Posted on 1.12.2010 at 3:37 AM

Pingback from Subversion seems to be losing favor among version control users « Jasper Blog

Whither Alt.Net? Posted on 1.19.2010 at 12:44 PM

Rage, rage against the dying of the light The lack of visibility for the idea of "Alt.Net"

Comments

Jeremy Skinner said on 1.11.2010 at 11:46 AM

We switched all our internal projects over to git a few months ago and haven't looked back. Our workflow is much faster and it's significantly easier to do branch-per-feature.

Now whenever I have to use svn it really seems very painful.

Jeff Barnes said on 1.11.2010 at 12:39 PM

My company is still using SVN, but I use git-svn rather than Tortoise. For all of my personal stuff, I prefer git. In my opinion, there is considerably less friction involved with git. Also, most people that I have talked to using git seem to avoid a lot of the typical source control accidents that cause the build to break (such as forgetting to add a file, etc).

Luciano Evaristo Guerche (Gorše) said on 1.11.2010 at 1:13 PM

What about Bazaar from Canonical? Have you any insights about it?

Richard said on 1.11.2010 at 4:57 PM

I think one of the most interesting effects of distributed source controls has been in how enjoyable it has made many open source projects to collaborated on. It no longer feels like a world of projects where patches are thrown over the wall, but more like an organic world of cells of programmers all sharing code.

Elaine said on 1.11.2010 at 5:15 PM

SVN does not necessarily have to be centralized.... As a counter see: blog.wandisco.com/.../what-git.html

Jarrett said on 1.12.2010 at 7:25 AM

I agree with Jeremy Skinner on this one. Moving from VSS to SVN or TFS was great! Now, having worked on projects with Git, I'm realizing just how much of a leap forward a distributed system really is for source control. Git is stupid fast, and we have much fewer problems with branching and merging.

Veera said on 1.12.2010 at 8:56 AM

Subversion is still popular in our internal projects.

JAguilar said on 1.12.2010 at 12:17 PM

Bad title.

This is a short note advocating distributed version control systems. There is no source or argument about why SVN is/could be losing favor.

car paint colors said on 1.13.2010 at 4:09 AM

I havent done a study, but Subversion is a very popular Version Control System, but it is centralized. Centralized VCSes have the notion of a patch since you cant share source without submitting it to the central Version Control server.

.

Suedeuno said on 1.14.2010 at 8:17 AM

Andrew Siemer said on 1.14.2010 at 10:22 PM

@JAguilar: here are some stats for ya! I see a huge decline in the number of searches for Subversion and a major spike in GIT lookups. Google trends is a great way to compare popularity!

Jeffrey: Have you had much experience with Perforce or TFS? Not as much a VCS as an SCM. I have used Perforce a few times and find it perfect for a large project with loads of moving pieces. Your thoughts?

si said on 1.21.2010 at 12:55 AM

Sure, if your version control users are all programmers, but what about the rest of your company? There are other things beside source code which benefit from version control.

stackoverflow.com/.../1558578

si said on 1.21.2010 at 12:55 AM

Sure, if your version control users are all programmers, but what about the rest of your company? There are other things beside source code which benefit from version control.

stackoverflow.com/.../1558578