Version control 如何在Mercurial中扩展某些版本关键字?

Version control 如何在Mercurial中扩展某些版本关键字?,version-control,mercurial,logging,keyword-expansion,Version Control,Mercurial,Logging,Keyword Expansion,在CVS中,我可以将$LOG$放入源文件,当文件签入时,$LOG$将扩展为文件中的真实日志 但如何在Mercurial中实现这一点?当然,我指的是其他关键字,如最新签入日期和时间。对于大多数问题,关键字扩展解决了,它创建了一个更大的堆;在Mercurial中不推荐使用,但是如果您真的需要,它会记录下如何使用扩展 我不是唯一一个这样做的人,虽然有时它会很有用,但在做之前确实需要仔细考虑。使用内置的 有两件重要的事情: 仅将需要关键字扩展的特定文件添加到hgrc的文件名模式中[关键字] 扩展是本地的

在CVS中,我可以将
$LOG$
放入源文件,当文件签入时,
$LOG$
将扩展为文件中的真实日志


但如何在Mercurial中实现这一点?当然,我指的是其他关键字,如最新签入日期和时间。

对于大多数问题,关键字扩展解决了,它创建了一个更大的堆;在Mercurial中不推荐使用,但是如果您真的需要,它会记录下如何使用扩展

我不是唯一一个这样做的人,虽然有时它会很有用,但在做之前确实需要仔细考虑。

使用内置的

有两件重要的事情:

  • 将需要关键字扩展的特定文件添加到hgrc的文件名模式中
    [关键字]
  • 扩展是本地的。当您的变更集被推送到另一个repo时,除非该repo也具有相同的关键字设置,否则关键字不会展开

  • 我同意应尽可能避免这种情况。无法避免的情况是,您需要将一些选定的文件(例如,API头)分发给其他人(例如,API用户),这样他们就无法使用hg查找版本信息。

    另请参见类似主题,但正如Richard在回答中提到的,应该避免。请看这里的辩论: