0
votes

I am starting to implement TFS build controllers in my TFS 2013 environment. To my disdain, I discovered that TFS only supports 1 controller per project collection. We currently use project collections organized by business unit (Accounting, Engineering, etc.). We have a small team and I cannot justify creating 10-20 VMs just for this. I am open to moving all team projects into a single project collection but I do not want to lose my source control history. I looked into the TFS Integration Platform but it doesn't look like TFS 2013 is supported.

Am I missing something here? Can I use the integration platform and keep my source control history? What other options do I have to reduce my number of project collections without losing history? We don't currently use work items outside of experimentation so I am really only concerned with the history.

1
You should upgrade to TFS2015 where you have the possibility to use the build agents across the team project collections.ds19
You can have more than one controller per collection, while a controller is bound to a single collection.Giulio Vian
@GiulioVian but only one build controller installed on a specific server so if you have 10 team project collections then you need at least 10 separate serversds19
There is an unsupported way (blogs.msdn.com/b/jimlamb/archive/2010/04/13/…) that may help gain some time before upgrading to 2015 and avoid all the data shuffling.Giulio Vian
@BrianSwart In TFS2015 the concept of build controller is gone; the build agents are assigned to a build pool which is cross team collection. More details are hereds19

1 Answers

2
votes

You can use TFS Integration Tools to move team project in TFS2013, but there are also some limitations. Detail for you reference: https://visualstudiogallery.msdn.microsoft.com/eb77e739-c98c-4e36-9ead-fa115b27fefe

I have test in my local environment , succeed.(Both different collection and the same collection)

My environment:

TFS2013 SQL2012 TFS 2010 Team Explorer VS2013 TFS Integration Tools2012

Prepare environment:

Install TFS2010TeamExplorer Cause TFS Integration Tools2012 need it

Install TFS Integration Tools2012

PS: It’s not support SQL2014. When you connect SQL2014 during the install of Integration Tools , it would throw out an error: Vaild values of the database compatibility level are 100.110,or120... SQLkey:CreateDatabaseScript…90

Detailed Steps:

  1. Create a new empty team project in another collection. Choose the same Process Template as source project when creating new project.
  2. Launch TFS Integration, Click Create New->Choose "VersionControlAndWorkItemTracking" template under "Team Foundation Server" folder (for you could use 'VersionControl' template)
  3. Configure Workflow Type, Frequency, Version Control Session as below, Left Source should be the project you want to copy, Right Source should be the empty new project

Note, for the Paths section, 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/

  1. Do the same for Work Item Tracing Session.
  2. Click Save to Database button. Then click Start.
  3. Resolve the conflicts if any.
  4. Done

enter image description here enter image description here

At last you can view your history in the Changeset Comment. For example: It’s created of Changeset134 2015-10-19 enter image description here