我经常在C / C ++源代码中遇到以下语句:
$Id: lzio.c,v 1.24 2003/03/20 16:00:56 roberto Exp $
$Id: file name, version, timestamp, creator Exp $
您是否知道哪个软件会生成这些“签名”?
答案 0 :(得分:7)
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支持一些(不确定所有)关键词。