问题提出:
我们在用 svn 管理代码时候,有时候我们需要在java代码里添加上该文件的版本信 息、最后修改日期、最后修改用户等信息。
而这个又不能每次把文件提交到 svn 上时,更改这些信息。
解决方法:
幸好 svn 有一个自动属性的功能,即给给该文件添加一些属性,比如 svn : keywords ,添加该文件的关 键字,这样在该文件内容里就会识别该关键字,而把关键字的地方替换成 svn 服务器上的相应属 性。
比如:
我们在用 svn 管理代码时候,有时候我们需要在java代码里添加上该文件的版本信 息、最后修改日期、最后修改用户等信息。
而这个又不能每次把文件提交到 svn 上时,更改这些信息。
解决方法:
幸好 svn 有一个自动属性的功能,即给给该文件添加一些属性,比如 svn : keywords ,添加该文件的关 键字,这样在该文件内容里就会识别该关键字,而把关键字的地方替换成 svn 服务器上的相应属 性。
比如:
- 我现在在svn 控制目录下创建一个文件”自动属性.txt"
- 往里面添加内容为:
txt代码
- $Id$
- $Date$
- 把该文件添加到svn 版本控制中(add,commit),此时txt中的 内容还是:
txt代码
- $Id$
- $Date$
- 点击自动属性.txt的属性 ,弹出属性的对话框。在subversion选项卡上选择properties,添加一个svn :keywords 属 性:LastChangedDate LastChangedRevision
Id Date 各属性之间用空格隔开。 - 把“自动属性.txt”再commit到服务上去,这时“自动属性.txt”的文件内容就添加了svn 服务器上的相应属性(注“自动属性.txt”的的编 码必须为utf-8,否则中文会出现乱码) :
txt代码
- $Id: 自动属性.txt 2543 2007 - 12 - 28 06 : 52 :06Z chen_xk $
- $Date: 2007 - 12 - 28 14 : 52 : 06 + 0800 (星 期五, 28 十二月 2007 ) $
- 但是这样必须每次要往svn 服务器添加一个文件时,都要设置该 文件的属性,有没有一个全部设置的方法,后来终于发现在一个方法: 修改C:/Documents and Settings/Administrator/Application Data/Subversion/config文件,Administrator是windows用户名,添加(注:#表示注释,该把#去掉) :
txt代码
- enable-auto-props = yes
- [auto-props]
- *.java = svn :keywords =Date Rev Id
- *.txt = svn :keywords =LastChangedDate LastChangedRevision
- 这样就大功告成。