TFS ... a few notes on the Source Safe to TFVC migration
Using the VSS converter or 3rd party solutions (i.e. CS Converter from ComponentSoftware), we can migrate Visual Source Safe repositories to Team Foundation Version Control (TFVC). Before we run the tool, however, we should be aware of a few provisos ... or small print:
- Sharing is not supported by TFVC
- Pinning is not supported by TFVC
- Time stamps associated with actions are not preserved during the migration
- Shadow folders are not supported by TFVC ... see http://dotnet.org.za/willy/archive/2007/09/20/tfs-shadow-folders.aspx for a work around
Incidentally the CS Converter talks GNU RCS, CS-RCS, GNU CVS, Subversion (SVN) and Visual Source Safe (VSS).
So what are the basic migration steps:
- Decide whether you "have" to migrate away from VSS and if yes, proceed to 2, else STOP.
- Backup you your repository and check that backup!
- Run vssconverter migration tool, using the analyze parameter to perform an analysis of the repository.
- Check and re-check the VSSAnalysisReport.xml and resolve any issues before proceeding. The report contains the following information:
- A list of all files that are currently checked out. Obviously this is a problem as developers may have made changes and as the migration does not preserve the checkout information. In other words we have a potential for loss of data.
- A list of all items that cannot be migrated ... again potential for loss of data.
- A list of label names that will change during the migration.
- A list of projects that depend on other projects not included in the migration. Yes, again we have a potential for loss of data.
- Check and update the USerMap.xml file, which allows you to map VSS users to TFS users.
- Update the Settings.xml file, which allows you to define the VSS source and the target TFVC repositories, as well as the TFS server, the port and protocol to use.
- Run the vssconverter migration tool, using the migrate parameter to perform the migration.
- Check and re-check the VSSMigrationReport report for any issues that need attention.
This is just a snap shot of a much bigger migration story that needs planning and a Swiss precision migration to ensure that nothing is lost. Please refer to documentation on the vssconverter before embarking on any migration exercise.