$ id:文件名,创建日期/时间Exp $

时间:2008-12-06 14:07:55

标签: svn version-control perforce cvs rcs

我经常在C / C ++源代码中遇到以下语句:

$Id: lzio.c,v 1.24 2003/03/20 16:00:56 roberto Exp $

$Id: file name, version, timestamp, creator Exp $

您是否知道哪个软件会生成这些“签名”?

5 个答案:

答案 0 :(得分:7)

subversion中的

Keyword substitution会产生这种信息,特别是Id:

  

编号

     

此关键字是其他关键字的压缩组合。它的   替换看起来像$ Id:   calc.c 148 2006-07-28 21:30:43Z莎莉   $,并被解释为意味着   文件calc.c最后更改了   7月的第148次修订   用户sally,2006年第28期。

您可以告诉subversion使用svn:keywords

插入这些值
  

告诉Subversion是否要   替换特定的关键字   文件,我们再次转向   与属性相关的子命令。该   svn:keywords属性,设置为a时   版本化文件,控制哪些   关键字将被替换   文件。该值是以空格分隔的   关键字名称或别名的列表   在上表中找到

您也可以通过编辑配置自动进行这些替换:

  

Subversion也提供了   自动道具功能,允许你   创建文件名的映射   模式到属性名称和值。   这些映射是在你的   运行时配置区域。他们又来了   影响添加和导入,而不仅仅是   可以覆盖任何默认的MIME类型   Subversion做出的决定   那些操作,他们也可以设置   额外的Subversion或自定义   属性也是。例如,你   可能会创建一个说明的映射   任何时候你添加JPEG文件 - 那些   匹配模式* .jpg-Subversion   应该自动设置   svn:这些文件的mime-type属性   to image / jpeg。或者也许是任何文件   匹配* .cpp应该有   svn:eol-style设置为native,和   svn:关键字设置为Id。自动道具   支持也许是最方便的   中的财产相关工具   Subversion工具箱。见部分   被称为“Config”的更多信息   配置该支持。

答案 1 :(得分:6)

CVS等版本控制系统可以生成这样的标签。

答案 2 :(得分:3)

RCS和CVS都会产生看起来完全相同的字符串。

答案 3 :(得分:2)

我已经看到了一些自动神奇地填充这些值的vim设置。 SVN可以在提交前和提交后挂钩上获取这些值,以填充提交日志中的默认信息。

答案 4 :(得分:0)

Perforce支持一些(不确定所有)关键词。