VSS Converter is improved a lot in terms of quality since Beta2. Though we still have some issues with VSS, it can migrate the sources from VSS to Team foundation quiet reliably. We have not added much features to VSS Converter. Based on our experience I am going to explain you step-by-step process of how you must plan for migration and how you migrate your VSS database. On the top level, the migration process from VSS to Team Foundation can be divided into two phases. In phase one, you do analysis of VSS database under migration and in phase two you do the actual migration of VSS database to Team Foundation. Analysis phase generates report that gives you some idea about potential data loss during migration. Some of the potential data loss can be prevented by taking some pre migration steps however; some data loss cannot be prevented because VSS data cannot be mapped to Team Foundation. Once you are satisfied with the analysis report you go ahead and do the migration. After migration, you again get a report, similar to analysis report, which gives you error and warnings converter has encountered during migration. Do not get scared away by the errors and warning during migration check this article for more details.
Following is step-by-step process to give you an idea how you should plan for migration and how you should migrate.
Step 1:
How you setup VSS on the machine on which you will run converter:
- Ensure that the format of the VSS database under migration is 6.0. Incase it is of lower database format, upgrade the database to 6.0 using VSS utility DDUPD
- Install VSS 2005 before you install Team Explorer. When you install Visual Studio 2005, VSS 2005 is not installed by default anymore. Ensure that you are installing VSS2005 before you install Team Explorer (Beta3 issues).
- You should copy VSS Database to a local folder for both analysis and migration. Though converter can migrate VSS database that is on a shared folder on remote machine, it is not recommend because it adversely affects migration time.
- VSS database sometimes gets integrity issues if it is used for years. Using Analyze.exe (part of VSS installation) you can find integrity and corruption issues and fix some of them. Hence it is highly recommended to run Analyze.exe before analysis/migration.
- It is highly recommended that you do not allow others to use VSS database under analysis/migration.
Step 2:
How you setup SQL Express on the machine on which you will run converter:
- When you install Visual Studio 2005, SQL Express is installed by default. VSS Converter requires SQL Express for migration because it reads history of individual file and folder in VSS database and stores this history in SQL Express. Converter then sorts the history and does some additional processing. Finally, it reads the history from SQL Express and does the migration of actions in history.
- Ensure that you have admin rights on SQL Express. When you install SQL Express, you automatically get admin rights.
Step 3:
How you setup Team Foundation:
- VSS converter is part of client portion of Team Foundation a.k.a. Team Explorer. Hence, you need to install Team Explorer on the machine on which want to run VSS Converter.
- You need to add yourself into ‘TeamFoundation Administrator’ group on Team Foundation before you start migration.
Step 4:
Now you are all set for Analysis and it is very important pre migration step. Following steps gives you idea how you must do analysis. Check out Preparing for migration walkthrough for details of analysis phase.
- The migration process is inherently time consuming since you are migrating years of source control data. Hence, it is recommended that you migrate the sources of one team at a time. That is typically one folder. This will ensure that other teams are not blocked during migration. However, if two teams have dependency between their sources, migrate the sources of both teams together i.e. folders of both team together. Therefore, you should identify the folders that you are interested in migrating together. There is also a possibility of two folders having other dependencies that may result in data loss. The analysis phase will let you know such dependencies.
- Once the folders are identified, you need to prepare settings file.
- Login with administrator privileges on the machine on which you are going to run VSS Converter.
- Now you run VSSConverter to analyze VSS database or folders.
Step 5:
Here we give you steps that you need to do after Analysis phase.
- Analysis phase generates report file. Report file will give you some idea about potential data loss that can occur during migration. Some of the potential data loss can be prevented by taking some pre migration steps however; some data loss cannot be prevented because VSS data cannot be mapped to Team Foundation. Ensure that the loss of data during migration does not have significant impact..
- Analysis phase generates user map file. This file consists of all VSS users who have performed any source control operation on the folders under migration. You can use this file to map VSS users to valid Team Foundation users. However, this step is optional. Incase you do not map VSS user to a Team Foundation user converter will put the name of VSS user as the user who committed the action.
Step 6:
Grand finale of Migration. Check out Migration Walkthrough for details of migration phase.
- Before migration, you should identify destination folders in Team Foundation for each VSS folder. The destination folder must be empty if exists. Incase the destination folders does not exists VSS converter will create the folder.
- You need to prepare settings file for migration.
- Now you run VSSConverter to migrate VSS database or folders.
- You must go through the report file to see the errors and warnings encountered during migration.
Post migration you may have to change Source Control binding of solution file. Check out Nagendra's Blog for more details about the steps that you must do after migration.
Incase you have any additional issues in Beta3 bits or you have any feedback please drop an email to akashm at microsoft.com or use MSDN feedback center.