3 Tips for Branching in Team Foundation Server

One of my readers asked me if I could provide a bit more insight on branching.  I think the best thing I can do here is summarize a few tips and then point to some useful resources.

Key Tips

  1. Don't branch unless you need to.  You can always label a release build and branch later.  Use branching for isolation while doing parallel development.
  2. Know the common branching patterns.  These include branch by feature, branch by release, and branch by team.
  3. Use a common folder structure for your branches.  While your branching can be organic and evolve over time, a thoughtful folder structure can help. 

Here's an example starting point.

 /Main
    /Source
 /Build
  /Docs
   /Scripts
    /TestCases
/Development
  /FeatureBranch1
 /FeatureBranch2
/Maintenance
 /Release 1
  /Release 1.1
    /Release 1.2

In this case, Main is your main source tree and project assets.  Development is a root level folder for isolating your features or teams (branched off your Source folder in Main).

More Information