Below are some of
the steps and the process behind migrating our ancient Visual Source Safe
repository into TFS 2013. Hopefully this
will shed some light on things to think about before and during the conversion.
The first thing was
to get my hands on the VSS Migration Wizard.
This was out on Microsoft's website.
This tool recommends
having it local to the server where the VSS repository is located. What I decided to do is spin up a virtual
machine with SQL for this migration task.
Note that for large VSS repositories you may need SQL Standard or higher
and not SQL Express.
Our VSS database was
on a network file share. This is the
typically setup for VSS. To get it to
migrate quickly I used Robocopy to copy the whole structure to the VM where the
migration tool was installed. This not
only gets it local (like the wizard wants it) but it also preserves the
original VSS repo. The only thing I
changed in the SourceSafe config file was the location of the log file. The log variable was still pointing to the
network share. After that I was able to
log in with no issues.
The preservation was
needed because A) it hasn't had analyze run on it in years and B)it was on a
version of VSS not supported by the wizard.
I figured out the second part by running the wizard and having it verify
things for me. We were on 6.0 but I
think it needs to be 6.0 c or d or higher for it to work.
The next step was
getting past the verification. Luckily
someone had placed the Visual SourceSafe 2005 ISO out on our network. That was a life saver as it is very hard to
find old Microsoft releases. This I
installed on the migration VM where the copy of VSS repository lived. I followed the VSS 2005 upgrade instructions
included with the media to get the copied repository upgraded.
With the upgrade
done the wizard worked like a charm. I
did setup a new TFS team project just for this repo. The wizard took about 7 hours for our 2 GB
VSS repository. There were 73 file
conversion errors. They were all listed
in the log. Upon looking at one of the
files that erred in TFS it was just a 0 byte file but it did exist. The VSS file I was able to get with no issues
and placed it on the tip in TFS. That
will have to work as I can get through these files quicker than trying to
figure out the issue and resolving it.
Some of the other
issues it ran into was files that were checked in with the 8.3 DOS file
format/length restriction. There is a
Microsoft documented workaround the migration log points you at to resolve
this. For me it was files that were
accidentally checked in (like log files) that were not needed.
This conversion was
just to preserve it for historical purposes.
I am not actually building anything from it so having a few errors is
OK. I have all of the valid files in SVN
right now which I will be converting to TFS soon.
If you have any VSS
to TFS stories to share let me know. I
am always curious as to what others have done.
No comments:
Post a Comment