Visual SourceSafe Converter Limitations
The Visual SourceSafe converter preserves most of the historical information from your Visual SourceSafe database. The following sections indicate what information is preserved, what is not preserved, and where information appears in Team Foundation source control after migration.
What Is Preserved
The converter tool copies the following historical information from Visual SourceSafe to Team Foundation source control for the items that you migrate:
Add File or Folder Saves the file or folder name, the date and time added, and the user name.
Delete File or Folder Saves the file or folder name, the date and time deleted, and the user name.
Undelete File or Folder Saves the file or folder name, the date and time undeleted, and the user name.
Rename File or Folder Saves the old name, the new name, the date and time of the rename, and the user name.
Edit File Saves the date and time checked in and the user name.
Modify Label Saves the label name, the data and time modified, and the user name.
Move Folder Saves the old location, the new location, the date and time of the move, and the user name.
Note
Information about folder moves in a Visual SourceSafe database is only preserved in Team Foundation source control if both the source and destination folder are migrated at the same time.
What Is Not Preserved
The converter tool does not preserve historical information about the following Visual SourceSafe actions:
Sharing Sharing is not supported in Team Foundation source control. The shared Visual SourceSafe files are migrated to Team Foundation source control by copying the version of the file at the time sharing began to a destination folder. Thereafter, the changes that are made to the shared file are replicated to both copies.
Branching Because sharing is a pre-condition of branching; the migration of a shared file creates copying the file to the destination folder. After the branch event, the changes to any branch are migrated to the respective copy in Team Foundation source control.
Pinning Team Foundation source control does not support pinning; therefore all pinned files are migrated by creating two labels. The PINNED_LATEST label is applied to the pinned versions of the pinned files and the latest version of the unpinned files. The PINNED label is applied to only the pinned versions of the pinned files. After migration, the PINNED_LATEST label will retrieve the same files as a Get Latest in Visual SourceSafe. However, the PINNED_LATEST label might return different files, if events other than check in occurred after a file was pinned, such as rename or a deletion of the file.
Considerations for Folders with a Combination of Move and Restore Action
Migration of a folder that has a version history including a move action in combination with a restore action may not migrate properly. The problems that can occur with this combination of actions are inconsistent in nature, but do sometimes occur.
For example, consider the following scenario:
In Visual SourceSafe:
A folder $/abc exists.
A child $/abc/def exists.
A child $/abc/def/f.txt exists.
Add $/jkl.
Move $/abc/def to $/jkl/def.
Archive $/jkl.
Restore it in another Visual SourceSafe database.
This new database does not have $/abc.
Migrate the database to Team Foundation source control.
The problem in this case is that the folder $/abc is migrated as an empty folder.
Time Stamps
The time stamp associated with an action is not preserved during migration. Instead, the time stamp corresponding to an action is replaced by the time stamp at the time of conversion. However, the original time stamp of a user action is appended to the comment.
For example, the following user action appears in Visual SourceSafe as:
User Action | Version | Time Stamp | Comment |
---|---|---|---|
$/ProjectA/a.c checkin |
5 |
June 3, 2002 12.30pm |
Fixed bug in Screen “Welcome” |
The same user action, migrated on May 2, 2005 at 3:30 p.m., appears as follows in Team Foundation source control:
User Action | Version | Time Stamp | Comment |
---|---|---|---|
$/ProjectA/a.c checkin |
5 |
May 2, 2005 3.30pm |
{06/03/2002 12.30 PM} Fixed bug in Screen “Welcome” |
Source Control Bindings
VSS Converter does not migrate source control bindings. After migration you must change the source control bindings for any Visual Studio solutions so that they are bound to Team Foundation source control. For more information on manually migrating source control bindings, see How to: Migrate Source Control Bindings from Visual SourceSafe