SVN的关键词替换不是自动开启的(这点没有CVS方便),需要使用命令工具 svn propset 来逐个文件设置想替换的关键词,这种方式非常麻烦,还好SVN提供了全局配置文件来对指定类型的全体文件设置属性。下面分别介绍Linux和Windows系统下的配置方法。
Linux环境
在Linux环境下,SVN全局配置文件路径为:
修改该文件,取消 enable-auto-props 字段前的"#":
在 [auto-props] 区下面添加下面的配置项:
*.cpp = svn:eol-style=native;svn:keywords=Id
*.h = svn:eol-style=native;svn:keywords=Id
*.hpp = svn:eol-style=native;svn:keywords=Id
*.php = svn:eol-style=native;svn:keywords=Id
Makefile = svn:eol-style=native;svn:keywords=Id
makefile = svn:eol-style=native;svn:keywords=Id
属性设置 svn:eol-style=native 的意思是说将代码的换行符转成本地格式,svn:keywords=Id 的意思是启用 $Id$ 关键词替换。
保存配置后只要在代码文件的头注释中加入 $Id$ 关键词即可在提交时被展开成下面格式的内容:
注意:在启用自动关键词替换前加入的代码更新提交后不会执行关键替换,只有新 add 或者 import 的代码才会执行。(SVN脾气很怪!)
Windows环境
Windows环境下以 TortoiseSVN 1.7.1 举例,TortoiseSVN的全局配置文件和Linux环境的完全一下,下面是修改流程示意图:
点击“Edit”按钮了后会在系统缺省编辑器中打开 config 文件,Vista系统该文件的完整路径为 C:\Users\ibm\AppData\Roaming\Subversion\config(该路径因人而异),该文件配置的格式和方法与Linux的完全一样。
Zend Studio配置方法
步骤如下:
1.windows->preferences->team->SVN->properties configuration
2.选择添加一个属性值:
属性名:
*.php
属性值:
svn:eol-style=native
svn:keywords=Id LastChangedDate LastChangedRevision LastChangedBy HeadURL
3.在windows->preferences->PHP->editor->templates
添加一个模板,类似:
//////////////////////////////////////////////////////////////////////
// Copyright(c) ${year}
// 日 期:${date}
// 作 者:
// E-mail :
// 文 件 名:${file}
// 创建时间:${time}
// 字符编码:UTF-8
// 脚本语言:${language}
// 版本信息:$$Id$$
// 修改日期:$$LastChangedDate$$
// 最后版本:$$LastChangedRevision$$
// 修 改 者:$$LastChangedBy$$
// 版本地址:$$HeadURL$$
// 摘 要:
//////////////////////////////////////////////////////////////////////
${cursor}
参考文档
1. 使用TortoiseSVN在源代码中嵌入作者或版本等信息 keywords与auto-props的配置