我想在我的源代码文件顶部嵌入一些版本信息,其中包含版本号、作者和编辑日期等信息。
有没有一种简单的方法可以用 Mercurial 做到这一点?
这在 Stackoverflow 上被问了很多,简短的回答是:你不应该这样做。
您不希望文件随着每次提交而更改,合并成为一场噩梦。
更好的选择是:
update
相信我,文件中的修订字符串是 CVS/SVN 的想法。它在 git / Mercurial 世界中没有位置。
正如评论和其他答案所提到的,依赖类似 CVS 的自动扩展标签并不是一个好主意。特别是因为您可以随时提取所需的任何元信息,之后几乎可以提取任何粒度。
但是,如果您真的需要它(例如,因为您的老板这么说),您可以获得的最接近的方法是使用与 mercurial 捆绑在一起的关键字扩展。
是的,这是可能的,但您需要启用它。您所要求的基本上是关键字 extension。第一次启用时要小心(阅读关于kwshrink
,的部分kwexpand
),因为您不希望实际扩展的关键字成为修订历史的一部分。
我最喜欢的方法是使用hgversioninfo 插件。它会在“hg commit”、“hg update”等动态生成一个 version.py 文件。