如何使用Mercurial在源代码中嵌入版本信息

时间:2012-05-12 14:17:03

标签: mercurial

我想在源代码文件的顶部嵌入一些版本信息,其中包含版本号,作者和编辑日期等信息。

使用Mercurial有一种简单的方法吗?

4 个答案:

答案 0 :(得分:4)

Stackoverflow上有很多问题,简短的回答是:你不应该这样做。

你不希望一个文件随着每次提交而变化,这会使合并成为一场噩梦。

更好的选择是:

  • 将版本字符串写入update
  • 上的文件
  • 让你构建/部署脚本运行$(hg id)并将其放入当时的构建中

相信我,文件中的修订字符串是CVS / SVN思维。它在git / Mercurial世界中没有地位。

答案 1 :(得分:3)

正如评论和其他答案所提到的,依靠类似CVS的自动扩展标签并不是一个好主意。特别是因为您可以随时提取您需要的任何元信息,之后几乎可以提取任何粒度。

然而,如果你真的需要它(例如,因为你的老板这么说),你可以得到的最接近的是利用与mercurial捆绑在一起的keyword extension

答案 2 :(得分:1)

是的,但是你需要启用它。你要求的基本上是keyword extension。首次启用此功能时请务必小心(请阅读有关kwshrinkkwexpand的部分),因为您不希望实际扩展的关键字成为修订历史记录的一部分。

答案 3 :(得分:1)

我最喜欢的方法是使用hgversioninfo plugin。 它会立即在" hg commit"," hg update"等上生成一个version.py文件。