Working with Trunks and Branches¶
The CallerID Superfecta SVN is arranged using the 'branches and trunks" format.
In this SVN, TRUNKS are where the currently active, theoretically functional version of the code base in question resides. BRANCHES are where active development is done.
The current arrangement was selected because its simple, but flexible enough to support simultaneous development on multiple areas and versions.
Currently, SVN looks like this:
branches
/v2.2.4.x/
/v3.0.x
trunks
/v2.x/
/v2.2.4 Build
/v2.2.5
/v3.x/
/v3.0.0
Branches that end in X are the place to do current development for the next stated release. (Example: Development for Trunk v2.2.5 is performed in Branch v2.2.4.x, Development for Trunk v3.0.0, is performed in Branch v3.0.x, and etc.)
Trunks should only be written to by project members authorized to "release" code.
Trunks that end in Build are released and should not be written to at all.
Standards¶
All actual development should take place in the branches.
Trunks are used for Released Code.
Make sure you set your working copy to the correct location before proceeding. (TortoiseSVN client users see this)
Version Numbering Explained¶
We use 4 digits, each position has a different meaning.
3 Digit version numbers are actual released version of the project.
4 digit version numbers are always the development, alpha, or development version of the code.
v1.2.3.4
1 = The major version of the program
2 = The sub version (sometimes called the release version) of the program. Incremented generally for Feature Releases.
3 = The Maintenance revision level of the subversion. Generally Incremented for maintenance releases.
4 = The Development, Alpha or Beta version of the next identified release.
Branches that end in 'X' are the "experimental", current development areas for the codebase involved. When a branch is completed, it will be merged into the trunk of the same parent name. (Example: Development done in branch /current development
In some projects, there are exceptions where 4 digit version numbers have been public released versions - but this is the exception rather than the rule.