应用程序在mercurial存储库中访问其自己的版本

时间:2011-06-24 17:20:08

标签: python mercurial

我有应用程序我想从mercurial打印出来(在“about”框中)它的修订版/版本。假设它是修订版deadbeef,所以它会知道。在CVS的旧时代,可以使用像$Revision$这样的东西来自动替换。

Mercurial的最佳做法是什么?

3 个答案:

答案 0 :(得分:5)

最好的方法可能是使用precommit hook用hg log -r tip的输出替换指定文件,可能用--template arg以特定方式格式化它。

不幸的是,鸡蛋和鸡蛋有点问题。修订版是提交数据的校验和,但校验和在提交之后才可用。一个选项可能是实际挂钩提交而不是预先提交,并在单独的变更集中提交版本信息。

答案 1 :(得分:2)

您可以使用它来获取mercurial中的当前版本:

hg id -i

答案 2 :(得分:1)

Mercurial的Keyword Extension可能就是你想要的。它几乎完全支持$Revision$格式。