使用Mercurial自动构建版本号

问题描述:

我们最近从SVN切换到Mercurial。我们还设置了一个CruiseControl.NET,用于运行自动构建,从源代码管理获取最新内容并构建应用程序。使用Mercurial自动构建版本号

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

在使用Mercurial源代码管理系统时,处理CruiseControl.NET中版本号的常见标准是什么?十六进制值是用作吗?还有什么其他的选择?

一个伟大的选择是:

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

哪,如果你的标记版本可以让你喜欢的东西:

1.0-10-0746c606103c 

它读作“因为1.0哈希0746c606103c 10次修订版”。

我承认我不知道如何将这个值放入CruiseControl.NET中,但是如果你能得到它来调用这个命令,你将会有很好的价值。

如果 CruiseControl的总是使用相同的源回购和如果你不喜欢改写历史,你可以尝试使用其他模板关键字,{}转

转整数。版本库本地变更集版本号。