0
votes

My organization has been using TFS for years, but has not structured the repository properly.

We currently have a single collection, and a Team Project for every line of business we support. Every Solution is saved as a folder underneath the Team Project. Each Team Project could have dozens of different Solutions saved into it.

We are moving from TFS 2010 to 2012, and I'm taking the opportunity to re-structure our repository.

  • Every line of business will have its own collection

  • Every Solution will have its own Team Project

It's a grand idea, but the issue is how we are going to migrate the Solutions from 2010 to 2012. Is it possible to somehow retain the history of our code changes, or must we start fresh when we do the migration?

1
I'd be wary of this approach, collections are held in separate databases and you cannot branch or merge between collections. You also cannot share work items between collections. Finally you cannot connect to more than 1 collection at the same time with visual studio. If your code structure works within those constraints then fine, but if you have common code that is shared amongst solutions the keeping them all in the same collection will save you hours of frustration.James Reed
Your current structure sounds fine. A team project should be considered a "portfolio" of applications... each individual application should not be a separate team project.Daniel Mann
@DanielMann Given that each team project has a single portal for ALM, how could we keep work items from one solution polluting the portal for developers of another solution?Mister Epic
@ChrisHardie this is solved by using multiple Teams in the same TeamProject.Giulio Vian
Giulio is right. Of course, the concept of "teams" were added in TFS2012, so that's probably why you're not aware of them.Daniel Mann

1 Answers

1
votes

When you upgrade to TFS 2012 the upgrade process will keep all of your history and work items. Read the upgrade guide from Microsoft. You should upgrade before you restructure, it'll be easier that way.

There are basically 2 ways to upgrade, depending on if you plan to run TFS on the same hardware or if you're planning on putting new hardware in to host TFS 2012.

Be aware that splitting collections isn't strait forward but it is possible, you basically duplicate them and then delete the stuff you don't want to keep. However if you decide that you then want to move Team Projects between collections or merge them then TFS doesn't support this out of the box. You can use the TFS integration tools to do this, but it's a far from perfect solution