One of the things that I am hoping to talk about at Code Camp Oz this year is the branching capabilities of Team Foundation Version Control.

When I mention branching to team leaders and project managers you can typically count on that deer in the headlights look when they realise that their project has suddenly gotten to the point where it needs branching in the source code repository. What usually follows is a discussion on how we could use some combination of tagging, copies of the repository and custom syncrhonisation tools to get around the need for branching.

The truth is that branching is nothing to be afraid of if you understand the way your version control tool works. In this next series of posts I am going to look at how branching is supported in Team Foundation Version Control and the reasons you use it, including:

  • Support concurrent development of product releases.
  • Reduce contention on individual source files and work offline.
  • Lower the risk of code-base contamination.

While I will be focusing on TFVC alot of the techniques will be applicable to other version control systems such as Visual SourceSafe, CVS, and Subversion.