Version 8 (modified by 15 years ago) ( diff ) | ,
---|
Table of Contents
SahanaPy Version Numbering
General Schema
Version numbering follows the following schema:
[major].[minor].[version]-[branch]-[commit]
major | Major Release Number, starting with 0 |
minor | Minor Release Number, starting with 1 |
version | Release Version, even numbers = stable version, odd numbers = development version |
branch | Name of the branch, omit for main trunk |
commit | Branch commit number, omit for stable versions |
Stable versions of the main trunk or a branch must have their release and version numbers indicated in the bzr commit log.
Version Numbers in Branches
The release number of a branch follows the main trunk, i.e. it indicates the trunk version it is contributing to:
- 0.3.6-vita
is contributing (and synchronises regularly with) trunk version of the 0.3 release. Once the main trunk turned into 0.4, no code from branches with 0.3.x release numbers will be merged into trunk anymore.
Version numbers in branches in turn do not have to correlate with the main trunk version, i.e.
- 0.3.24-vita
can contribute to 0.3.3 in the main trunk.
However, odd version numbers of branches indicate a "not ready for merge", while even numbers indicate "can be merged", i.e.
- 0.3.24-vita can be merged into 0.3.3 trunk, whilst
- 0.3.25-vita is not ready to be merged
To indicate a "ready for merge", write the release and version numbers of the branch on the top of the bzr commit log. Commits without release numbers are generally considered unstable.
Version Numbers
Each new minor release starts with version number 0 in the stable, and 1 in the development version, i.e.:
- 0.3.0 is the initial stable version of the 0.3 release
- 0.3.1 is the initial development version of the 0.3 release
For each update of the stable version, both version numbers are increased by 2, that is, when 0.3.1 is tested and ready for release, so:
- 0.3.1 gets renumbered as 0.3.2 for release (stable 0.3.0=>0.3.2)
- new development version will be 0.3.3 (development 0.3.1=>0.3.3)
Examples
E.g.:
0.3.3-haiti-567
- Major Release: 0
- Minor Release: 3 ("Banwell")
- Version: 3 (development version)
- Branch: haiti (Haiti Earthquake 2010 Deployment Branch)
- Commit No.: 567
0.3.4-haiti
- Major Release: 0
- Minor Release: 3
- Version: 4 (stable version, no commit number!)
- Branch: haiti (Haiti Earthquake 2010 Deployment Branch)
0.3.6
- Major Release: 0
- Minor Release: 3 (Codename "Banwell")
- Version: 6 (stable version, main trunk)