Repository Structure
Introduction
Before working on the repository I strongly suggest you read the chapter on "Branching and Merging" in the Subversion Book at http://svnbook.red-bean.com/en/1.1/ch04.html.
When We Branch
We create branches for two reasons:
- when a production release is cut
- when enhancements are to be developed for user testing
Production Branches
When a production release is cut, a branch is created in branches/release_v.vv where v.vv is the version number. The repository is branched at this point to allow bug fixes to be applied directly to this release.
Enhancement Branches
When some specific enhancements that may or may not be included in a production release are being developed, they should be developed on a seperate branch. This allows completely separate releases to be cut that provide functionality for testing.
The Trunk
The Trunk should be used for ongoing development that does not require an enhancement branch. i.e. bug fixes targeted for later releases, or enhancements that do not require testing. The judgement on whether or not to create a branch depends on the expected release cycle and the complexity of changes.
Where Do I Apply My Changes?
Before starting work THINK about where your changes are going to go. If in doubt, discuss with Doug.
Current Branches
Current Branch information can always be found at CurrentBranches.

