Branches in TFS2010

December 21, 2008

Let’s face it : managing branches and controlling the merge activities in Team Foundation Server isn’t optimal for the moment and it takes some effort to know what’s going on in a Team Project. At least development teams should enforce the most appropriate branching & merging strategy at the start of their project, but TFS could definitely do a better job in helping to control this complexity.

One of the features of TFS2010 I like a lot and can’t wait to make use of in the future is the improved support for parallel development. In this post I would like to highlight the way branches are treated in TFS2010 …

First of all, branches will be treated as first class citizens. If you look at the next screenshot you can see that branches are now differently displayed in the Source Control Explorer with another icon.

Branches may be organized in folders and each branch has now its own special properties :

  • General Branch Properties

  • Relationships

  • Permissions

Conversion to branches/folders can be executed via the context menu in the Source Control Explorer.

In a next post I’ll start exploring the new branching and merging possibilities, but before I close this post I would like to point you to the new TFS Branching Guide (2.0) that was recently released and contains a lot of essential information how to choose the best strategy for branching (and merging) your Team Projects. I like the way Jeff Beehler stressed the importance of having such a strategy :

Selecting the right branching strategy is one of the most important aspects of TFS deployment. Picking the right strategy can lead to optimized team cooperation, increased productivity and a successful adoption. On the other hand, selecting a bad branching strategy can cause frustration, damage productivity and derail TFS adoption in an organization.