我经常在C/C++源代码中遇到以下语句:
$Id: lzio.c,v 1.24 2003/03/20 16:00:56 roberto Exp $ $Id: file name, version, timestamp, creator Exp $
你知道哪个软件产生那些"签名"吗?
subversion中的关键字替换会产生这种信息,特别是Id:
ID
此关键字是其他关键字的压缩组合.它的替换类似于$ Id:calc.c 148 2006-07-28 21:30:43Z sally $,并且被解释为意味着文件calc.c最后一次更改在2006年7月28日晚的修订版148中由用户莎莉.
您可以告诉subversion使用svn:keywords插入这些值
为了告诉Subversion是否在特定文件上替换关键字,我们再次转向与属性相关的子命令.svn:keywords属性在版本化文件上设置时,控制将在该文件上替换的关键字.该值是以空格分隔的上表中找到的关键字名称或别名列表
您也可以通过编辑配置自动进行这些替换:
Subversion还提供了自动道具功能,允许您创建文件名模式到属性名称和值的映射.这些映射在运行时配置区域中进行.它们再次影响添加和导入,并且不仅可以覆盖Subversion在这些操作期间做出的任何默认MIME类型决策,它们还可以设置其他Subversion或自定义属性.例如,您可以创建一个映射,表明每次添加JPEG文件时都会匹配模式*.jpg-Subversion应该自动将这些文件上的svn:mime-type属性设置为image/jpeg.或者,任何匹配*.cpp的文件都应该将svn:eol-style设置为native,并将svn:keywords设置为Id.Auto-prop支持可能是Subversion工具箱中最方便的属性相关工具.
诸如CVS的版本控制系统可以生成这样的标签.