<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<link rel="self" href="/Atom/" />
	<id>http://billmill.org/</id>
	<title>My Name Rhymes</title>
	<subtitle>Bill Mill blogs irregularly</subtitle>
	<updated>2006-11-01T14:27:00Z</updated>
	<author>
		<name>Bill Mill</name>
		<email>bill.mill@gmail.com</email>
		<uri>http://billmill.org/</uri>
	</author>
	<link href="http://billmill.org/" />
	<entry>
		<title>Converting Sourcesafe to Subversion</title>
		<link href="http://billmill.org/ss2svn.html" />	
		<id>http://billmill.org/ss2svn.html</id>
		<updated>2006-11-01T14:27:00Z</updated>
		<summary type="html">One of my first tasks at my new job was to convince them that they needed to
switch away from sourcesafe and onto something better. We talked about
&lt;a href="http://www.sourcegear.com/vault/index.html"&gt;SourceGear Vault&lt;/a&gt;, but
we decided it was too expensive and didn't have the community support that
subversion had.&lt;p&gt;
Because my team had already switched off of subversion and onto sourcesafe
before I and another developer started working, it was a bit of an uphill
struggle to get them to agree to the change. Fortunately, after filling up
several long wiki pages of discussion between team members, I wrote up a
detailed comparison of the three options under consideration. It must have been
convincing, because almost immediately after I wrote it, the team agreed to try
subversion again.&lt;p&gt;
Since I had fought so hard for the switch, I became the one
responsible for the switchover and future maintenance of the subversion
repository. I was scared that switching was going to be &lt;b&gt;extremely&lt;/b&gt;
difficult, due to the closed nature of sourcesafe, but was pleased to find &lt;a
href="http://www.pumacode.org/projects/vss2svn"&gt;vss2svn&lt;/a&gt;, a utility to
run the conversion for me. Despite the fact that it's in perl (ha ha), it runs
very nicely, and converted my repository with no loss of change history into a
subversion dump file.&lt;p&gt;
The only issue I had with vss2svn is that once you've converted all your code
into subversion, your *.*proj and *.sln files still have subversion crap inside
them, and when you try to open them, Visual Studio complains. Furthermore,
there are lots of *.scc files, which are sourcesafe lock files, scattered
throughout your projects.&lt;p&gt;
To fix this, I wrote a little &lt;a
href="http://billmill.org/static/files/clean_up_sourcesafe.py"&gt;python
script&lt;/a&gt; which will go through your project directories, cleaning up all the
leftover junk. It deletes all *scc files, and goes into all *proj,
*.vdproj, and *.sln files and cleans them out.&lt;p&gt;
To use it, simply drop it at the root of a working copy of your new subversion
repository, cd to that directory, and run the script with "python
clean_up_sourcesafe.py". The only thing you should
be careful about is that the file will run recursively for all folders below
its current working directory. I can't guarantee that it'll work for you, but I
will say that it's worked for me through several test conversions.&lt;p&gt;
Good luck with your conversion, I hope it makes you as happy as it makes me :)
</summary>
		<content type="html">One of my first tasks at my new job was to convince them that they needed to
switch away from sourcesafe and onto something better. We talked about
&lt;a href="http://www.sourcegear.com/vault/index.html"&gt;SourceGear Vault&lt;/a&gt;, but
we decided it was too expensive and didn't have the community support that
subversion had.&lt;p&gt;
Because my team had already switched off of subversion and onto sourcesafe
before I and another developer started working, it was a bit of an uphill
struggle to get them to agree to the change. Fortunately, after filling up
several long wiki pages of discussion between team members, I wrote up a
detailed comparison of the three options under consideration. It must have been
convincing, because almost immediately after I wrote it, the team agreed to try
subversion again.&lt;p&gt;
Since I had fought so hard for the switch, I became the one
responsible for the switchover and future maintenance of the subversion
repository. I was scared that switching was going to be &lt;b&gt;extremely&lt;/b&gt;
difficult, due to the closed nature of sourcesafe, but was pleased to find &lt;a
href="http://www.pumacode.org/projects/vss2svn"&gt;vss2svn&lt;/a&gt;, a utility to
run the conversion for me. Despite the fact that it's in perl (ha ha), it runs
very nicely, and converted my repository with no loss of change history into a
subversion dump file.&lt;p&gt;
The only issue I had with vss2svn is that once you've converted all your code
into subversion, your *.*proj and *.sln files still have subversion crap inside
them, and when you try to open them, Visual Studio complains. Furthermore,
there are lots of *.scc files, which are sourcesafe lock files, scattered
throughout your projects.&lt;p&gt;
To fix this, I wrote a little &lt;a
href="http://billmill.org/static/files/clean_up_sourcesafe.py"&gt;python
script&lt;/a&gt; which will go through your project directories, cleaning up all the
leftover junk. It deletes all *scc files, and goes into all *proj,
*.vdproj, and *.sln files and cleans them out.&lt;p&gt;
To use it, simply drop it at the root of a working copy of your new subversion
repository, cd to that directory, and run the script with "python
clean_up_sourcesafe.py". The only thing you should
be careful about is that the file will run recursively for all folders below
its current working directory. I can't guarantee that it'll work for you, but I
will say that it's worked for me through several test conversions.&lt;p&gt;
Good luck with your conversion, I hope it makes you as happy as it makes me :)
</content>
	</entry>
</feed>
