Version Matching

When you run VSS Converter with the Migrate command, files are migrated from Visual SourceSafe to Team Foundation. Sometimes unexpected conditions can cause errors in the migration process. This could lead to version mismatches where the pinned and latest versions of files in Team Foundation do not match the pinned and latest versions of the same files in Visual SourceSafe. To detect and correct these potential version mismatches, VSS Converter performs version matching during the final phase of the Migrate command. If version mismatches are detected, they are fixed automatically. If a version mismatch cannot be fixed, it is listed in the report.

Pinned Version Matching

After files are migrated, VSS Converter verifies that pinned file versions were migrated correctly. The PINNED_LATEST label is applied to all pinned files and unpinned files that are migrated. This makes sure that when you get the PINNED_LATEST labeled files that they match a Get Latest in Visual SourceSafe. The PINNED label is applied to only the pinned versions of the pinned files.

VSS Converter performs the equivalent of Get Latest in Visual SourceSafe and compares the files to the equivalent of getting the label PINNED_LATEST in Team Foundation. If an error is detected, there are three possible corrections that can be taken as listed in the following table:

File in Visual SourceSafe File in Team Foundation Corresponding Action

Present.

Absent.

Get pinned version from Visual SourceSafe, add it to Team Foundation, and apply both the PINNED and PINNED_LATEST labels to it.

Absent.

Present.

Remove both the PINNED and PINNED_LATEST labels from the file.

Present.

Present but different.

Get the pinned version from Visual SourceSafe. Check it out from Team Foundation. Replace it with the correct version and check it back in. Finally apply both the PINNED and PINNED_LATEST labels to the new version. All version mismatches fixed in this manner are checked in as one changeset with the comment, "Submitted by converter to fix pinned versions."

During the version matching phase for pinned version comparison, you may see output to the console window similar to the following:

Verifying pinned versions…

Verifying pinned version: $/VSSFolder/a.c

Verifying pinned version: $/VSSFolder/b.c

Latest Version Matching

After files are migrated, VSS Converter also verifies that the latest tip versions of files were migrated correctly. For each migrated file, VSS Converter compares the tip version in Visual SourceSafe to the tip version in Team Foundation. If an error is detected, there are three possible corrections that can be taken as listed in the following table:

File in Visual SourceSafe File in Team Foundation Corresponding Action

Present

Absent

Get the tip version from Visual SourceSafe and add it to Team Foundation.

Absent

Present

Delete the file on Team Foundation.

Present

Present but different

Get the tip version from Visual SourceSafe. Check it out from Team Foundation. Finally replace it with the correct version and check it back in. All version mismatches fixed in this manner are checked in as one changeset with the comment, "Submitted by converter to fix latest tip versions."

During the version matching phase for tip version comparison, you may see output to the console window similar to the following:

Verifying latest tip versions…

Verifying latest tip version: $/VSSFolder/a.c

Verifying latest tip version: $/VSSFolder/b.c

Version Mismatch Errors

VSS Converter may be unable to correct some version mismatch errors. When this occurs, the error information is logged in the migration report. The errors are identified as pinned version or tip version errors, and the files that could not be fixed are listed. You should manually fix these errors after migration.

See Also

Other Resources

After Migrating Source Control