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

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 就是要设置这个属性的目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值