使用Mercurial进行自动构建的版本编号

时间:2012-02-09 14:15:17

标签: mercurial versioning

我们最近从SVN切换到了Mercurial。我们还设置了一个CruiseControl.NET来运行自动构建,它从源代码控制中获取最新版本并构建应用程序。

在用于自动构建的CruiseControl.NET仪表板中,我们希望显示版本号。显然,mercurial有这个六进制版本号。

使用Mercurial源代码控制系统时,在CruiseControl.NET中处理版本号的常用标准是什么?六位小数值是否按原样使用?还有什么其他选择?

2 个答案:

答案 0 :(得分:3)

一个很好的选择是:

hg log -r . --template '{latesttag}-{latesttagdistance}-{node|short}'

如果您正在为发布标记,则可以使用以下内容:

1.0-10-0746c606103c

读作“自1.0以来的十次修订,哈希为0746c606103c”。

我承认我不知道如何将这个价值带入CruiseControl.NET,但是如果你能让它调用那个命令你就会有很好的价值。

答案 1 :(得分:0)

如果 CruiseControl始终使用相同的源代码,如果您不喜欢重写历史记录,则可以尝试使用其他模板关键字{rev}

  

rev Integer。存储库本地变更集修订号。