Mercurial会自动将$ Id $转换为Subversion吗?

时间:2010-12-13 06:47:20

标签: mercurial

我想知道Mercurial是否默认将$ Id $转换为Subversion的等价物,如下所示:test.php 110 2009-04-28 05:20:41Z dordal $。有谁知道吗?

2 个答案:

答案 0 :(得分:5)

不,它不会,但您可以启用它。

https://web.archive.org/web/20121007024058/
https://www.mercurial-scm.org/wiki/KeywordPlan

  

为什么你不需要它

     

Mercurial的核心不支持关键字扩展,因为它在现代系统中的实用性有限,而且从性能和二进制完整性角度来看也存在问题。对于大多数人类用途,人们可以简单地询问修订控制系统。对于版本控制系统不可用的情况,标签很可能不正确!

     

剩下的一个常见用途是自动将版本信息集成到软件构建中。通过在Makefile中执行以下操作,无需关键字替换即可轻松完成此任务:

     

...

     

基本模拟

     

如果这对您来说还不够,可以使用扩展名模拟此行为。

     

...

     

附加了提供$ Author $和$ Date $关键字的示例扩展名(keyword.py)

     

另见KeywordExtension


https://www.mercurial-scm.org/wiki/KeywordExtension

  

关键字扩展

     

此扩展程序随Mercurial一起发布

     

概述

     

此扩展允许在Mercurial跟踪的文本文件中扩展类似RCS / CVS和用户定义的键。扩展发生在工作目录中或/和使用“hg archive”创建分发时。

     

关键字扩展到与每个文件的工作目录父级相关的最新更改的变更集数据。

     

如果您只想对整个仓库进行版本控制,请不要使用此扩展程序,而是让构建系统处理它。有些东西......

     

,,,

     

出于速度和安全原因(避免无意中扩展的关键字),建议仅在repo / .hg / hgrc中启用每个repo的扩展,而不是全局,并微调[keyword]文件名模式非常谨慎。

答案 1 :(得分:1)

您有Keyword Extension(与Mercurial一起发布)

的类似功能
  

此扩展允许在Mercurial跟踪的文本文件中扩展类似RCS / CVS和用户定义的键。扩展发生在工作目录中或/和使用“hg archive”创建分发时。

     

关键字扩展到与每个文件的工作目录父级相关的最新更改的变更集数据。

例如:

Id = {file|basename},v {node|short} {date|utcdate} {author|user}

将扩展为:

$Id: demo.txt,v 2ad3dcb8d811 2007/07/17 12:00:47 blacktrash $

注意:

  

出于速度和安全原因(避免无意中扩展的关键字),建议:

     
      
  • 仅在repo/.hg/hgrc中启用每个仓库的扩展,而不是全局,
  •   
  • 并精心调整[keyword]文件名模式。
  •