How to copy a team project from one collection to another with TFS Integration Platform, TFS2012 to TFS2012
tfs, tfsintegrationplatform
Solution
Okay, here's how I did it.
Suppose I am trying to copy a project `MyProject` from `SourceCollection` to `TargetCollection`.
- Create a new project `MyProject` in `TargetCollection`
- Open TFS Integration Platform
- Under Configuration select "Create New"
- Open folder "Team Foundation Server" (%ProgramFiles%\Microsoft Team Foundation Server Integration Tools\Configurations\Team Foundation Server)
- Select "VersionControl.xml" or "VersionControlAndWorkItemTracking.xml" if you need it (if you choose to include WorkItem tracking as well ensure the account you started TFS Integration is a user which is in the "Team Foundation Service Accounts" TFS Global Group)
- Workflow type: Custom / Frequency: One-time / Direction: Unidirectional / Sync context: disabled (your selection may differ)
- Left source: "TFS 11 Migration VC Provider"
- Pick the existing project `MyProject` in `SourceCollection`
- Right source: "TFS 11 Migration VC Provider"
- Pick the new project `MyProject` in `TargetCollection`
- Important: you must include any folders (paths) under the root explicitly and individually in the folders list. Just using $/ or $/MyProject will not work. For example, if you have folders `src/` and `test/` under the root, you must include these as `$/MyProject/src` and `$/MyProject/test`. Ensure that you also create those folders in `MyProject` in `TargetCollection`.
- Save to database
- Start migration
- Handle any exceptions
You are done.
Problem
I've downloaded the latest TFS Integration Platform from CodePlex and attempted to migrate "one way" between an existing team project `MyProject` in `CollectionA` on the left and an empty team project `MyProject` in `CollectionB` on the right using the provided "source control and work item" template. Whenever I do, it raises a few exceptions about the build templates (I resolve them), and then it displays this wonderful-looking diagram of changesets with bar graphs, and I feel like it's done something. Every time I try this, I look at `MyProject` in source control in `CollectionB` expecting to see a fully-populated version of the project from `CollectionA`. Every time, I am disappointed - it's empty and it looks like nothing happened. By the way, I am try to move the project from between collections on the same TFS 2012 server. Am I misunderstanding the point of Integration Platform? Or does it just not actually work with TFS 2012?