我想开始给我部署的二进制文件打上最新的 SVN 修订号。
然而,由于 SVN 是基于文件而不是基于目录/项目的,所以我需要扫描所有目录和子目录的文件,以确定最高的修订号。
在根目录上使用 svn info
不起作用(它只报告该目录的版本,而不是子目录中的文件):
我想知道是否有一种使用 svn
命令的快捷方式来解决这个问题。否则,有人能否建议一个简单的脚本,它具有网络效率(最好根本不要连接远程服务器)?
我还了解到,另一种替代方法是保留带有 svn:keywords
的 版本文件。这个方法可行(我已经在其他项目上使用过它),但我厌倦了确保文件被修改并处理不可避免的合并冲突。
回答 我发现我的问题在于在调用根目录下的 svn info
之前没有进行适当的 svn up
:
$ svn info
Path: .
...
Last Changed Author: fak
Last Changed Rev: 713
Last Changed Date: 2008-08-29 00:40:53 +0300 (Fri, 29 Aug 2008)
$ svn up
At revision 721.
$ svn info
Path: .
...
Revision: 721
Last Changed Author: reuben
Last Changed Rev: 721
Last Changed Date: 2008-08-31 22:55:22 +0300 (Sun, 31 Aug 2008)