我刚刚将源代码从SVN迁移到HG Mercurial。
使用SVN,如果您将某些关键字作为注释,则可以在源代码中添加提交消息。通常,这会添加到源代码的顶部或底部。 例: / * *修订:$ Revision $ * /
这种功能的HG等价物是什么?
我更希望在文件中包含修订历史记录,而不必转到Hg查看历史记录。这可能吗?
答案 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}
(以上内容是从KeywordExtension documentation 复制的。