|
Visual Studio Team System |
The Team Foundation Visual SourceSafe converter tool transfers files, folders, version history, and user information from a Visual SourceSafe (VSS) database to a Team Foundation source control server. Before you move your files and historical information to Team Foundation, you should analyze and make a backup copy of the database, check in as many files as possible, and understand what information cannot be transferred from VSS to Team Foundation.
This walkthrough describes how to prepare your VSS database for conversion and how to use the VSSConverter to effectively plan for the actual migration of your source.
In this walkthrough, you will accomplish the following tasks:
· Identify and resolve data integrity issues in your existing database using the Visual SourceSafe Analyze tool.
· Back up your VSS database.
· Run the converter tool to identify potential sources of information loss.
· Specify which VSS projects to migrate.
· Create a user list to map VSS users to Windows user accounts.
Prerequisites
To complete this walkthrough, you need the following software installed on the computer where you plan to run VSSConverter.exe:
· Team Explorer.
· Visual SourceSafe 2005.
· The Visual SourceSafe database (version 6.0 or above) that you want to analyze. You must be on the same computer as your VSS database to complete this walkthrough.
In addition, you need:
o The administrator’s password for the VSS database that contains the projects you want to analyze.
|
Note |
|
Other users should not access the VSS database during the analysis process. |
Preparing the Visual SourceSafe Database
Before you transfer your source-controlled files from Visual SourceSafe to Visual Studio 2005, complete the following tasks in VSS.
· Ask all database users to check in their files.
· Use the VSS analyze.exe tool to locate and if possible, fix any data integrity issues in your database. For more information about how to use this tool, see Analyze and How To Detect and Fix Database Corruption Errors in SourceSafe.
· Create a backup copy of your Visual SourceSafe Database to migrate. Analyzing the Projects
VSSConverter.exe is a command-line tool that requires the following input:
· A UNC path to the folder that contains the srcsafe.ini file for the Visual SourceSafe database where the projects you want to migrate reside.
· An XML-based file that contains migration settings.
This walkthrough assumes that your Visual SourceSafe database is in c:\VSSDatabase.
After you have decided which projects you want to analyze, create a file to contain migration settings. This file lists the projects that you want the converter to analyze.
To create the migration settings file
1. Click Start, click All Programs, point to Microsoft Visual Studio 2005, point to Visual Studio Tools, and then click Visual Studio 2005 Command Prompt.
2. At the command prompt, type mkdir %DriveLetter%\VSS2TeamFoundation, where %DriveLetter% is the current drive.
3. At the command prompt, type cd %DriveLetter%\VSS2TeamFoundation.
4. Type notepad settings.xml, and then press Enter.
5. Choose Yes to create the file.
6. Copy the following XML, where $/FolderA and $/FolderB represent the names of folders containing the projects you want to migrate:
|
|
|
<?xml version="1.0" encoding="utf-8"?> <SourceControlConverter> <ConverterSpecificSetting> <Source name="VSS"> <VSSDatabase name="c:\VSSDatabase"></VSSDatabase> </Source> <ProjectMap> <Project Source="$/FolderA"></Project> <Project Source="$/FolderB"></Project> </ProjectMap> </ConverterSpecificSetting> <Settings> </Settings> </SourceControlConverter>
|
|
Tip |
|
To migrate the entire database, use <Project Source="$/"></Project>. |
7. Save your changes and close Notepad.
Next, run the converter tool from the Visual Studio command prompt to analyze the project, as shown in the following steps.
With the migration settings file in place, and system administrator rights granted, you can now run the converter tool to analyze the project.
To analyze the project with the converter
1. At the command prompt, type the following:
VSSConverter Analyze settings.xml
2. When prompted, provide the Visual SourceSafe administrator password.
The converter tool displays the status of the preconversion analysis. When it completes, it generates a report (VSSAnalysisReport.xml) and a user mapping file (usermap.xml), and saves them in the current directory.
Understanding the Analysis Report
The VSSAnalysisReport.xml report contains the following information:
· A list of files that are currently checked out. The migration process does not preserve checkout information.
· Items whose data integrity has been compromised somehow in the SourceSafe database that cannot be migrated.
· Label names that will change as a result of migration because they contain characters that Team Foundation does not support.
· Projects intended for migration that depend on other projects that are not migrating. Migrating such dependent projects can cause a loss of information. For more information, see the Information Loss Due To Dependency section.
If either the analysis or migration fails, the report will include the following entry:
|
Entry |
Text |
|
Status |
Migration Analysis Failed {1 Critical Error | 1 Minor Errors | 1 Warnings } |
|
Note |
|
|
|
The entry gives a brief description of critical errors and link to MSDN document containing more detailed information about the error. |
|
|
|
Note |
|
To view error and warning sections of the migration report, you may need to unblock pop-ups in Internet Explorer in Windows XP SP2. |
Information Loss Due to Dependency
Projects intended for migration that depend on other projects not intended for migration represent a special case for the converter tool. When you convert one project that depends on another project that is not being converted, information loss can occur. The premigration report identifies these projects so that you can make an informed decision about whether and how to convert the dependent projects. This section describes the situations in which information loss might occur.
Two projects are considered dependent if one or more subfolders have been moved from one of the projects to the other.
|
Scenario |
Result |
|
The source and destination project folders are both intended for migration. |
No information loss. |
|
Only the source project folder is intended for migration, but one of its subfolders has moved to the other project folder. |
The moved folder and the items inside it are not migrated into the Team Foundation source control server. |
|
Only the destination folder is intended for migration, but one of its subfolders has been moved from the other folder. |
The folder appears in the destination folder as it was when it was moved. The history of the moved folder and the items inside it prior to the move event are not migrated into the Team Foundation source control server. |
User Mapping File
Visual SourceSafe maintains its own users. A user mapping file is generated during analysis to optionally map these Visual SourceSafe users to Windows NT users or Team Foundation Server users. It contains one entry for each user who has performed any action in Visual SourceSafe database. The following is sample of user mapping file:
<?xml version="1.0" encoding="utf-8"?>
<UserMappings>
<UserMap From="Admin" To=""></UserMap >
<UserMap From="guest" To=""></UserMap >
<UserMap From="Jane" To=""></UserMap >
<UserMap From="Mike" To=""></UserMap >
</UserMappings>
Next Steps
You can now migrate the information in your Visual SourceSafe database into the Team Foundation source control server. For more information, see Walkthrough: Migrating from Visual SourceSafe to Team Foundation.
See Also
Tasks
Walkthrough: Migrating from Visual SourceSafe to Team Foundation