1.6. 软件开发周期和版本号演进示意图

表 1. 软件开发周期和版本号演进

版本号 软件更改记录 内核(Nightly Version) 内核(Mailstone Version) 内核(Stable Version) 建立 Label/Tag 提升(Mailstone Promotion) 提升(Stable Promotion)
2.2.1

Changes with xxx 2.2.1

*) ... ...

*) ... ...

PRODUCT-nightly-2.2.1.1          
PRODUCT-nightly-2.2.1.2     V-2-2-1-2    
PRODUCT-nightly-2.2.1.3     V-2-2-1-3    
... ...     ... ...    
PRODUCT-nightly-2.2.1.15 PRODUCT-2.2.1.15   V-2-2-1-15

记录本次提升为 Mailstone 的事件。

该 Mailstone 为最终发布版的候选版本,但有可能由于潜藏的bug, 本次没能继续提升为 Stable Release。

提升事件触发小版本号+1。

 
2.2.2

Changes with xxx 2.2.2

*) ... ...

*) ... ...

PRODUCT-nightly-2.2.2.1     V-2-2-2-1    
PRODUCT-nightly-2.2.2.2     V-2-2-2-2    
PRODUCT-nightly-2.2.2.3 PRODUCT-2.2.2.3 copy from mailstone V-2-2-2-3

完成上一个里程碑版本 bug 的修正,将该版本提升为里程碑,并编译。记录该事件

该 里程碑版本 为 最终发布版本的候补版本。

提升事件触发小版本号+1。

之后,发现该版本稳定。可将该版本确定为 Stable 版本,用手工签名取代自动编译的签名。

并把相应的 Mailstone 内核复制到 Stable 版本库中。

2.2.3

Changes with xxx 2.2.3

*) ... ...

*) ... ...

PRODUCT-nightly-2.2.3.1

    V-2-2-3-1    

进行如同 2.2.2 的循环,提升为 mailstone,在经过测试,成为 Stable发布版。

在准备加入新功能前,为该版本建立分支,进行单独维护。