Two kind-of questions recently bubbled up on the radar:
- Should we manually copy (migrate) files from source to target, to reduce the work that the TFS Integration Platform needs to do? In other words, does it help to be pro-active?
- No, because this manual action will introduce a “VC content conflict type” for every file that was migrated. While the conflicts could be resolved with the new conflict resolution administration application, but introduces major maintenance effort and cost.
- The recommended approach is to configure the TFS Integration Platform to perform a snapshot migration, which ensures that the relationship between source and target are created and maintained by the tool.
- Deleting the files and workspaces from the target and resetting the migration database will not resolve the “VC content conflict type” conflict, because the tool sees the history in the target, which includes an add and a delete action:
- Add file X to source during use of TFS over time.
- Add file X to target during manual migration as eluded in question 1.
- Delete file X from target as an attempt to resolve conflicts.
- TFS Integration Platform migration pipeline process (see TFS integration Platform – Architecture Overview document for a process description) first analyses history and immediately stumbles at add file to target event, because the two adds conflict.
- Instead of deleting the file, which does not delete history, use the destroy option.
CAUTION: Be careful, very careful, when using the destroy option. Delete is already a daunting command to run against a version control system, but by using destroy you are taking off your gloves. Double check your command and parameters, before committing to a destroy … which is a pretty permanent and potentially destructive ALM action.