关于获取最新修订号的说明:
假设我在修订后的子目录 (MyProjectDir) 中添加了 cd-ed。那么,如果我打电话给svnversion:
$ svnversion .
323:340
...我得到“323:340”,我猜这意味着:“你这里有项目,范围从 323 到 340”。
那么,如果我打电话给svn info:
$ svn info
Path: .
URL: svn+ssh://server.com/path/to/MyProject/MyProjectDir
Repository Root: svn+ssh://server.com/path/to/MyProject
Repository UUID: 0000ffff-ffff-...
Revision: 323
Node Kind: directory
Schedule: normal
Last Changed Author: USER
Last Changed Rev: 323
Last Changed Date: 2011-11-09 18:34:34 +0000 (Wed, 09 Nov 2011)
...我得到“323”作为修订版 - 这实际上是svnversion 报告的修订版的最低 版!
然后我们可以在递归模式下使用svn info从本地目录获取更多信息:
> svn info -R | grep 'Path\|Revision'
Path: .
Revision: 323
Path: file1.txt
Revision: 333
Path: file2.txt
Revision: 327
Path: file3.txt
Revision: 323
Path: subdirA
Revision: 328
Path: subdirA/file1.txt
Revision: 339
Path: subdirA/file1.txt
Revision: 340
Path: file1.txt
Revision: 323
...
...(删除 grep 以查看更多详细信息)。
最后,当我们想要检查online 存储库的最新版本时该怎么办(在本例中为@server.com)?然后我们再次发出svn info,但使用-r HEAD(注意之前大写-R选项和现在小写-r之间的区别):
> svn info -r 'HEAD'
USER@server.com's password:
Path: MyProjectDir
URL: svn+ssh://server.com/path/to/MyProject/MyProjectDir
Repository Root: svn+ssh://server.com/path/to/MyProject
Repository UUID: 0000ffff-ffff-...
Revision: 340
Node Kind: directory
Last Changed Author: USER
Last Changed Rev: 340
Last Changed Date: 2011-11-11 01:53:50 +0000 (Fri, 11 Nov 2011)
有趣的是 - svn info 仍然是指当前子目录(MyProjectDir),但是,在线路径被报告为MyProjectDir(而不是本地情况下的.) - 和在线报告的修订是最高的(340 - 与最低的相反,323 在本地报告)。