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|https://svn.apache.org/repos/asf/hama/trunk] should be frozen. This prevents

                +------------------+
        --------+  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|HowToRelease] 

\[2\]. [Rollback|http://www.mail-archive.com/dev@hama.apache.org/msg03666.html] to previous version.