- All development happens on trunk or a branch. Tags are just “bookmarks” and shouldn’t be committed to.
- Trunk and branches will have a version number of the form <next_version>pre, e.g. 4.0.2pre (for the 4.0 branch), or 4.1.0pre (for trunk).
- If we decide to release an alpha or beta, we should update the branch or trunk version appropriately, e.g. 4.1.0a1pre.
- All releases (alphas, betas, release candidates, and proper releases) should have an SVN tag created for them.
- Release versions use the following format: <major>.<minor>.<patch>, e.g. 4.0.0 or 4.0.1.
- Alphas and betas have aN or bN appended to their version numbers, e.g. 4.0.1b1.
- When tagging something, commit a change to trunk/branch to update the version, copy to the tag, and change to the new dev version, e.g:
- update branches/Version4.0 version to 4.0.1
- copy to tags/4.0.1
- update branches/Version4.0 version to 4.0.2pre
- RCs will have the final version number, e.g. 4.0.1, not 4.0.1RC1. This makes it easier to release (just copy the RC tarball), and fits in with the idea of it being a release candidate.