Ousting Sourcesafe From Your Projects

by DanM 21. March 2005 01:03

Finding an easy way to migrate a sourcesafe-controlled code repository over to subversion probably isn't made any easier by starting with a complete get of the code archive burned onto a CD and no further access to the sourcesafe archive thereafter, but here's a great little post from Brian Carroll on how to eradicate VSS from your solutions and projects.

  1. Go to the folder containing the solution files and delete the following files: mssccprj.scc, MyProject.vssscc, vssver.scc
  2. Open MyProject.sln in your favorite text editor and remove the following section:
    GlobalSection(SourceCodeControl) = preSolution   
       ...
    EndGlobalSection
  3. Go to the folder containing the project files and delete the following files: MyProject.vbproj.vspscc, mssccprj.scc, vssver.scc
  4. Open MyProject.csproj in your text editor and remove the following lines:
    SccProjectName = "SAK"
    SccLocalPath = "SAK"
    SccAuxPath = "SAK"
    SccProvider = "SAK"
    or
    SccProjectName = '"$/blah/blah", RPFAAAAA'
    SccLocalPath = ".."
    SccProvider = "MSSCCI:Microsoft Visual SourceSafe"
You can also unbind a project from a Source Control within Visual Studio but this tends not to work on web projects in which case steps 2 to 4 work just fine.

Comments (7) -

Nate
Nate United States
9/24/2008 1:50:36 AM #

Great, but why migrate to a version control tool that takes so much administrative time? Just because it' open source? It would be better to stick to a commercial version control tool. SourceSafe might suck, but there are many others out there. ionforges Evolution is a good one and it make the migration from sourcesafe easy. http://www.ionforge.com/?code=247521

DanM
DanM United Kingdom
9/24/2008 1:52:03 AM #

Aside from the fact, you're plugging your own project, Sourcesafe to Subversion is the task my company asked to perform. Who knows, we might move it again into Team System when its done.

Charlie Roche
Charlie Roche Italy
9/24/2008 1:53:54 AM #

Has anyone thought about how to maintain the history of changes to your project. Migrating a project you started last week from VSS to Subversion is fair enough - it's not like you're losing loads of information. But consider the case of a project with two or three years of development under it's wing. Maybe you have branches or labels connected to versions "in the wild" - so to speak. Has anyone information on how to bring this information across the gap or am I wasting my time? Thanks

DanM
DanM United Kingdom
9/24/2008 1:54:39 AM #

With our projects, we made sure the switch occurred at a tagged release and then stored the full source safe archive in our subversion archive as well. That way we knew what we'd got in that .ssa file and could reference it as appropriate. Best solution we could come up with I'm afraid.

Seve
Seve United States
9/24/2008 1:56:40 AM #

vss2svn (http://vss2svn.tigris.org/) is a Perl script to migrate revision history from a Microsoft Visual SourceSafe (VSS) database to the Subversion version control system. It will migrate all revision history, including comments, author names, and optionally revision dates (migrating dates uses a not-officially-supported feature of Subversion and can only be done if you are migrating to a brand-new Subversion repository).

Keith
Keith United States
9/24/2008 1:57:24 AM #

> Great, but why migrate to a version control
> tool that takes so much administrative time?

I maintain three highly active projects, and have not had to do any "administrative time" other than the initial setup. Even backups are automated using triggers to backup the repository.

On the other hand, I have been in nothing but a world of pain with the one SCC maintained project I am forced to use... , lost time and code. Hence my visit to this webpage to try and remove it.

James Wilson
James Wilson United States
9/24/2008 1:58:44 AM #

Subversion require lots of admin?

M'fkr please. I've spent more time on admin crap in these two weeks of using VSS (new job) than I have in the 4 years that I've used Subversion elsewhere.

VSS is a steaming POS.

Comments are closed