Hg Mercurial的修订历史记录源代码

时间:2014-04-30 08:05:45

标签: mercurial tortoisehg

我刚刚将源代码从SVN迁移到HG Mercurial。

使用SVN,如果您将某些关键字作为注释,则可以在源代码中添加提交消息。通常,这会添加到源代码的顶部或底部。 例: / *  *修订:$ Revision $  * /

这种功能的HG等价物是什么?

我更希望在文件中包含修订历史记录,而不必转到Hg查看历史记录。这可能吗?

1 个答案:

答案 0 :(得分:4)

回答你的问题:

您可以使用KeywordExtension扩展程序。它允许您在文件中使用类似CVS的关键字扩展。


建议:不要这样做。

这使得合并变得令人头疼,而且在Mercurial中你(可能)会一直合并

此外,历史记录的关键字将扩展为线性历史记录转储,而您的真实Mercurial历史记录不是线性的,它是并行的,这会使文件中的历史记录转储产生误导。它可以导致一个历史,它显然修复了它实现的功能之前的错误。

所以我再次建议不要使用该扩展名。

作为您将要获得的那种头痛的一个例子,您将在每个合并中有一个与冲突的区域,并且需要手动解决 in每个文件

但是,如果您仍想启用它,则上面的页面包含以下详细信息:


要启用此扩展程序,请将其添加到hgrc文件中的“[extensions]”节:

[extensions]
keyword=
#or, if keyword.py is not in the hgext folder:
#keyword=/path/to/keyword.py

其他配置在配置文件的[keyword]和[keywordmaps]部分中完成:

# filename patterns for expansion are configured in this section
[keyword]
# expand keywords in all python files in working dir
**.py =
# do not expand keywords in files matching "x*" in working dir
x* = ignore
...
# override the cvs-like default mappings with customized keyword = expansion pairs,
# where expansion values contain Mercurial templates and filters
[keywordmaps]
HGdate = {date|rfc822date}
lastlog = {desc}
checked in by = {author}
  • 出于速度和安全原因(避免无意中扩展的关键字),建议仅在repo / .hg / hgrc中启用每个repo的扩展,而不是全局,并且要非常小心地微调[keyword]文件名模式。

(以上内容是从KeywordExtension documentation 复制的。