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:
- 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