Within CVS branches are fairly transient. They do not have distinct parent-child relationships, and individual files within a branch can be descended from separate parent branches. The indicator that a file belongs to an individual branch can even be removed leaving orphaned file revisions. As such the UIs that certain tools like WinCVS provide display branch tags in a flat list, even though there will often be distinct relationships between the branch tags based on user conventions. With Timely Migration, you can group together branches into more meaningful relationships as part of the migration.
The example below shows six minor releases that were part of two major releases that were branched off the trunk for maintenance purposes. The example also shows three task branches that were created to develop features for large clients. The features for client A and client B were merged into the trunk after they were completed, while client C decided to stop development, resulting in a dead branch that never went anywhere and can be removed.
Using the Folder Mappings feature of Timely Migration, the branches can be reorganized to group the official releases together by major release, and the development task branches together while dropping out the task branch that was never finished as seen below:
History in CVS is typically reported on in a file by file basis which makes it hard to see how changes relate across modules. When Timely Migration brings over changes from CVS it will group individual file revisions into TFS changesets based on the user making the change, the comment, and time of the change.
The example below shows how changes between two separate modules are grouped together during the migration process. The timestamp for the changeset is embedded in the comment and will typically correspond to the last timestamp for the files in the changeset.
Within CVS it can be difficult to find and access deleted files. Timely Migration brings over the history for these deleted files and they can be viewed by enabling the "Show deleted items in the Source Control Explorer" setting under Tools -> Options -> Source Control -> Visual Studio Team Foundation Server.
It should be noted that within CVS folders are treated as second class objects which do not have their own revision history. Because of this, only files within a folder can be deleted. When history is brought over to TFS, folders will remain in the repository even if all of the files within that folder were deleted.