Release Management
Before passing the voting stage[1], the candidate version may be rollback[2]; therefore, for each release version a release window is defined during which all source committed to svn trunk should be frozen. This prevents
- a newly committed source overwritten by rollback process.
- conflict when issuing a rollback command.
+------------------+ --------+ release window +-----------> +------------------+ | | | | | | ++ | | | | ++ | ++ | | ++ | v | | | | v 1 v v | v 4 2 3 v 3a X 1. execute `release preparse'. 2. move related files to `next development iteration'. 3. start voting. X. a new commit to the svn trunk. 3a. rollback if voting not passes. 4. pass voting.
The above diagram shows that once a new commit (the step X) is included in the svn trunk, the rollback command happended in 3a may be conflict with or overwrite that commit.
[1]. How to release How to release
[2]. Rollback to previous version.