5

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

有没有一种简单的方法可以用 Mercurial 做到这一点?

4

4 回答 4

4

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

您不希望文件随着每次提交而更改,合并成为一场噩梦。

更好的选择是:

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

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

于 2012-05-12T22:12:33.197 回答
3

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

但是,如果您真的需要它(例如,因为您的老板这么说),您可以获得的最接近的方法是使用与 mercurial 捆绑在一起的关键字扩展。

于 2012-05-12T23:09:48.653 回答
1

是的,这是可能的,但您需要启用它。您所要求的基本上是关键字 extension。第一次启用时要小心(阅读关于kwshrink,的部分kwexpand),因为您不希望实际扩展的关键字成为修订历史的一部分。

于 2012-05-12T23:10:04.533 回答
1

我最喜欢的方法是使用hgversioninfo 插件。它会在“hg commit”、“hg update”等动态生成一个 version.py 文件。

于 2016-01-08T17:54:25.220 回答