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.

  • No labels