TFS to TFS Features

Project Copying

While generally it is beneficial to share code between development groups, sometimes there are organizational reasons which require the code to be copied and handed off to each development group, such as a client contracting to have their own version of the product which they can develop features in.

With Timely Migration an existing code base with history can be copied to a new project or server with its own set of permissions or process templates.

Please note that Timely Migration only migrates Version Control data and not Work Item related data.


Selectively Migrate Revisions

While most of the time you will want to migrate all of the history out of a repository, there may be certain circumstances where you intentionally want to limit the amount of history that you migrate. For instance if you are handing off copies of code to different development group, each group may be interested in having different amounts of history.

With Timely Migration you can select the changesets that you want to start the migration from and end the migration at.


VSS Conversion Touchup

While Microsoft does provide a VSS to TFS conversion utility with their products, it has some limitations. One is that it does not maintain branch relationships when it migrates data from VSS. Instead of migrating the initial revision of each file in the branch as a "branch" operation, it migrates them as an "add". This prevents the ability to Merge files between the branches in the Team Explorer IDE.

The ability to selectively migrate changesets allows you to manufacture a branch which the Team Explorer IDE can use in its merge process. To do this you manually create a branch off of the trunk using the Team Explorer IDE and then use Timely Migration to migrate the output of Microsoft's VSS to TFS conversion utility to the branch you created.

This process also allows you to manufacture branch relationships in source trees that were logically treated as branches but there were no VSS branch relationships, such as if separate VSS databases were used due to VSS database size limitations.