Search This Blog

Thursday, July 06, 2006

TFS Source Control Strategy

I'm considering which startegy to use with Team Foundation source control.
I'm thinking of:

  • One main branch for the next release. Most of the work is done on this branch.
  • One bug fixing branch for a released version. This branch lives until a new version is released.
  • Temporary branch for changes needed to be enter to the next version prior to the current version release.
  • Branches for feature development that cannot be implemented in one release


Should look like this:
$/{Project}

  • main (v2.0 development prior to a release)
  • v1.1 (v1 bug fixes)
  • v3.0 (temporary branch until v2 is released)
  • FeatureBranch (for big developemnt effort that cannot be implemented for the next release)


  • Developers work on the main branch most of the time
  • If they have a fix for a released version then they need to merge it to the next versions too
  • When a temporary branch is opened the main branch should be merged to it often
  • When a feature is decided to be released it should be merged from the feature branch to the main branch
  • The main branch should be merged to the feature branch one a week

No comments: