Team System - Phase 2 - Migrating VSS 6.0d to Team Foundation

The Environment is ready,
Even played with it a bit, creating new Team Projects, and all is well.
Experience thought me a long time ago, that if something is working for several files,
It won't necessarily still be working just as well for hundreds or thousands.
The mission in this phase was to import the real project's VSS DB (6.0d)
with all files in all versions & labels into the newly created Team Project.
The VSS DB is currently 2.6 GB, after working on it for a few years now.
I figured that it's a good challenge for the Team Foundation.
For the mission I needed a disconnected copy of the VSS DB, which I can use with the VSSConverter tool ,
in order to migrate it to the team system project.
This request discovered some unpleasant information:
All the legato backups from the last year kept a corrupted DB, since users were never disconnected from the db before each backup ...
I notified the person in charge, and asked for an archive file, in order to restore my own copy I can work with aside.
Alas, I found out that for some weird reason, the Archive tool (Both the GUI & Command line) could not archive the DB properly.
The archive file was always created suspiciously too small,
and when opening it we found that it archived only a small portion of the projects in spite the fact that we specified to backup everything.
With all this trouble I decided not to wait any longer
(this procedure took several days, it takes lots of time to archive & restore 2.6 GB VSS DB for each "try"),
And decided to change my target.
I have decided to let go on all the file versions & labels, and just import a pure latest revision to the Team foundation server.
The challenge is now easier, but still dignified.
We are talking about a total of 140 MB for all files, around 4,400 of them...
I achieved that by doing a "Get Latest" on all the projects recursively to a folder in the file system.
Now I had to disconnect all the projects from source control, but because there are so many of them, I didn't want to do it manually,
So I used a batch tool to do the job for me - "SourceSafe Binding Remover tool " from GotDotNet.
The tool seemed to work well, reporting no errors. (I removed all the RO attributes from all the files before running it).
Later on , I opened each Solution file (there were about 5 of them) using the VS  2005 IDE,
and used the "Add To source Control" menu item.
The wizard reported that the project files contain some "left overs" from a previous source control system, and offered to correct the files.
I accepted the offer, and it worked like magic.
It took about 5 hours to import all the files, but it finished with all files safely in the Team Project.
I checked to see the SQL DB "Data" folder, and the size was ~ 200MB, which seemed pretty reasonable considering I have just added about 140MB of data to it ...
this concludes Phase 2 of the experiment. Didn't get it as I planed too, but got enough to work with for the next phase.

Add comment

  Country flag
  • Comment
  • Preview



<<  May 2021  >>

View posts in large calendar

Page List


    I work for Microsoft Israel as s Senior Premier Field Engineer.
    The opinions expressed here are my own personal opinions and do not represent my employer's view in anyway.