Monday, November 12, 2007
Posted on Monday, November 12, 2007 3:50:53 PM (Mountain Standard Time, UTC-07:00)  Comments [3] | 
Categories: .NET | Team System

This week we finally completed our transition over to Subversion. As part of this transition, we moved 52 project out of a very old version of Source Gear Vault, and 13 project out of Microsoft Team System.

With this much code, we needed an automated way to clear out source control bindings. Our code base has 3 types of projects - Visual Basic 6, Visual Studio 2003 and Visual Studio 2005.

Here are the steps we followed:

  1. Get all source code out of both the Vault and Team System
  2. Backup the entire source tree (just in case!)
  3. Search for .scc files and delete them. This removes the bindings for VB6 projects
  4. Download SCC Remover tool from CodeProject.com. This will clean out the source control information in solution files (.sln), solution user option files (.suo) and the projects themselves (.csproj and .vbproj).
  5. Modify code so that it can recurse down a tree (see below), and run it.
  6. Open some projects in Visual Studio to ensure no bindings are present.
  7. Copy entire tree to new location like c:\svnload\code
  8. Create an svnimport script - I did this instead of using tortoiseSVN because I wanted to inject \src\trunk into the path, and having 65 directory trees (containing 100's of actual projects), anything manual was out of the question.
  9. Run the import script - this just imports the files into Subversion - it does not create a working copy folder!
  10. Get the active projects using tortoiseSVN's Checkout command.

After that, we changed out CruiseControl.net settings to run against Subversion, and our main project was back up and running.

As for why we are bailing on Team System - simple - we found that we simply do not use many of it's functions. Instead of it's work item system (or the Scrum add-in from Conchango), we use Rally. Instead of the MS Build Server, we use CruiseControl.net. We did use the SharePoint integration, but nothing beyond what you'd get with a vanilla SharePoint site. We will miss some of the features of MSTest, but NUnit and TestDriven.net are more than capable replacements.

By changing to Subversion, we can down-grade our MSDN licenses to "Professional", and save ~$5000 per year. This will allow us to purchase some other productivity tools - CodeSmith, ReSharper, TypeMock, TestDriven.net and Red Ants Profiler to name a few.  

Monday, November 12, 2007 10:57:16 PM (Mountain Standard Time, UTC-07:00)
Congrats on moving to subversion AND on buying resharper - definitely makes VS a usable IDE.
Wednesday, November 14, 2007 4:52:07 PM (Mountain Standard Time, UTC-07:00)
Dave,

Now that you have moved to Subversion, how are you managing backups to your repository? Do you have any recommendations for someone new to Subversion?

Thanks,
Adrian
Adrian
Wednesday, November 21, 2007 8:28:26 AM (Mountain Standard Time, UTC-07:00)
Did you back up any history / prior version info? This is something I would like to do should I move my code out of VSS, as we have lots of historical info we'd like to preserve.
Floyd
Comments are closed.