您的位置:首页 > 编程语言

利用subversion(SVN)自动控制和维护代码的版本号.

2014-07-04 15:09 295 查看
Subversion 的 svn:keywords

Subversion 的 svn:keywords 是一个非常有用的功能,可以让你将发生在源代码中的一些属性的变化自动地更新到源代码中。

比如你可以在客齐集社区的每一个页面的底部都看到的这样的一行字。

$Id: V2EXCore.php 4 2005-10-29 23:08:09Z livid $

这行字的意思是表示,V2EXCore.php 这个源代码文件最后被用户 livid 更新于 2005-10-29 23:08:09Z,修订版本号为 4。要实现这样的自动更新,你只要对需要这样的属性的文件上使用下面这行指令。

svn propset svn:keywords "Id" V2EXCore.php

然后在源代码文件中需要 Subversion 进行自动更新的地方插入 $Id$ 这样的 Keyword,那么在你下次进行 svn commit 之后,该 $Id$ 就会被 Subversion 自动替换为 $Id: V2EXCore.php 4 2005-10-29 23:08:09Z livid $ 这样的格式。

Subversion 中可以使用的 Keyword 包括下面这些。

* Id

这是一种综合的格式,例如“$Id: V2EXCore.php 4 2005-10-29 23:08:09Z livid $”。

* LastChangedDate

最后被修改的时间,这个属性也可以缩写为 Date。

* LastChangedBy

最后修改该源代码文件的用户名,这个属性也可以被缩写为 Author。

* LastChangedRevision

最后修订的版本号,这个属性也可以被缩写为 Revision 或者 Rev。

* HeadURL

该源代码文件所位于的 Repository 上的绝对 URL 地址,这个属性也可以被缩写为 URL。

Subversion 只会对你明确设置了 Keyword 进行更新,比如如果你对某个源代码文件执行了下面这条指令。

svn propset svn:keywords "Id Date" V2EXCore.php

则在 V2EXCore.php 中所有的 $Id$ 和 $Date$ 都会被替换,而 $Author$ 之类的没有被设置的属性则不会发生替换。

关于 svn propset 指令方面的更多信息,你可以看下面这个网站中的资料。
http://lividot.org/man/subversion/ch07s02.html#svn-ch-7-sect-2.3.4
Subversion 的 svn:keywords 是一个非常有用的功能,可以让你将发生在源代码中的一些属性的变化自动地更新到源代码中。

比如你可以在客齐集社区的每一个页面的底部都看到的这样的一行字。

$Id: V2EXCore.php 4 2005-10-29 23:08:09Z livid $

这行字的意思是表示,V2EXCore.php 这个源代码文件最后被用户 livid 更新于 2005-10-29 23:08:09Z,修订版本号为 4。要实现这样的自动更新,你只要对需要这样的属性的文件上使用下面这行指令。

svn propset svn:keywords "Id" V2EXCore.php

然后在源代码文件中需要 Subversion 进行自动更新的地方插入 $Id$ 这样的 Keyword,那么在你下次进行 svn commit 之后,该 $Id$ 就会被 Subversion 自动替换为 $Id: V2EXCore.php 4 2005-10-29 23:08:09Z livid $ 这样的格式。

Subversion 中可以使用的 Keyword 包括下面这些。

* Id

这是一种综合的格式,例如“$Id: V2EXCore.php 4 2005-10-29 23:08:09Z livid $”。

* LastChangedDate

最后被修改的时间,这个属性也可以缩写为 Date。

* LastChangedBy

最后修改该源代码文件的用户名,这个属性也可以被缩写为 Author。

* LastChangedRevision

最后修订的版本号,这个属性也可以被缩写为 Revision 或者 Rev。

* HeadURL

该源代码文件所位于的 Repository 上的绝对 URL 地址,这个属性也可以被缩写为 URL。

Subversion 只会对你明确设置了 Keyword 进行更新,比如如果你对某个源代码文件执行了下面这条指令。

svn propset svn:keywords "Id Date" V2EXCore.php

则在 V2EXCore.php 中所有的 $Id$ 和 $Date$ 都会被替换,而 $Author$ 之类的没有被设置的属性则不会发生替换。

关于 svn propset 指令方面的更多信息,你可以看下面这个网站中的资料。
http://lividot.org/man/subversion/ch07s02.html#svn-ch-7-sect-2.3.4
如果要递归调用设置一个目录,svn ps svn:keywords "Id" -R mydir

mydir 就是要设置这个属性的目录
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: