Getting on the Subversion bandwagon

As a software developer, as well as a member of a software development team, version control is a critical aspect to the work I do.  Over the years I’ve used several different version control providers with varying degrees of success.

The majority of my professional life I’ve worked with Visual SourceSafe (VSS).  Although the experience hasn’t been stellar, I’ve actually had a surprisingly low number of issues with VSS…until recently.  At home I’ve used VSS, Vault, and Subversion.  Since at home it’s just me I don’t have many hard core requirements.

Ok, so back to the recent problems with VSS.  Every since we’ve been using .NET 2.0 (which started with early betas) we’ve been having a lot of issues.  I should note that some of these issues where specific to the VSS integration within VS.NET.

  • Get latest takes a long time, and often hangs
  • The pending checkins window takes forever and a day to come up and often hangs VS.NET
  • While checking in files VSS bombs out which results in the repository becoming corrupted
  • Repeated corruption problems
  • Merge changes doesn’t exactly merge (sometimes)

Over the course of the last several months we’ve been talking a lot about moving to some alternative source control providers.  Since almost everyone on the team had either had very good experiences with Subversion, or heard of people having very good experiences it came up as the best option in most of our conversations.

We’ve been running on Subversion for a couple weeks now and I’ve been very impressed.  The top advantages that we’ve seen are:

  • Must faster then VSS
    • Checkouts over the VPN used to be impossible but are now very doable
    • Our build time within CC.NET has gone down considerably (on the order of 3–4 minutes)
  • TortoiseSVN is a nicer interface then VSS (integration with the shell is top notch)
  • Atomic commits are a very good thing.
  • Easy to setup – we were up and running in the matter of a half day
    • Setting up the subversion repository took 3–4 hours since we had to figure out how to install it
    • Importing our existing source took about 5–10 minutes
    • Updating our continuous integration environment took about an hour. Most of that time was spent perusing the CC.NET help and trying to figure out why autogetsource “wan’t working” with subversion.  It turns out that you have to do the initial checkout yourself on the build machine in order for this to work.

Funny side note: while spell checking this post BlogJet wanted to change VSS to ASS

# re: Getting on the Subversion bandwagon

Saturday, March 11, 2006 5:15 PM by Brian    
Did you try that fancy pantsy perl script that supposedly imports your VSS history, or did you just start fresh with SVN?

# re: Getting on the Subversion bandwagon

Saturday, March 11, 2006 5:29 PM by Steve    
We looked at the perl script but decided we'd just start fresh. We still have our VSS repository lying around if we need it but it's been a couple weeks and I don't think anyone has really used it. It'd be nice if the history was with us but we're moving fast enough that people generally only care about the previous 1-3 changes anyway.

# re: Getting on the Subversion bandwagon

Saturday, March 11, 2006 5:34 PM by Brian    
Gotcha. I was just wondering if it actually worked :)

# re: Getting on the Subversion bandwagon

Saturday, March 11, 2006 5:42 PM by Steve    
You guys are still using VSS aren't ya? Only one way to find out!

# re: Getting on the Subversion bandwagon

Friday, July 06, 2007 2:37 PM by billie    
subversion is really nice and easy to use, a bit more of a pain to get it set up just right though.

Post a Comment

 
 
Prove you're not a spammer: 
8 + 7 =