获取远程存储库的修订号

时间:2009-03-08 10:30:33

标签: svn webdav revision

在本地计算机上,使用svnversion获取subversion存储库的修订号是没有问题的。现在我想从我的在线存储库(使用Apache2的WebDAV)获取修订号。

我试过了:

svnversion http://nick:password@www.myhost.de/svn/test`

在浏览器中它像往常一样工作(只是为了确保没有拼写错误),但svnversion表示无法找到目录。所以我认为我走错了路。

我如何获得修订号?

5 个答案:

答案 0 :(得分:20)

svnversion仅用于工作副本,但查询存储库的一种方法是使用svn info,如下所示:

svn info http://nick:password@www.myhost.de/svn | grep Revision

答案 1 :(得分:9)

在Linux上,如果只需要修订号:

svn info http://nick:password@www.myhost.de/svn/test | grep'^修订版:'| awk'{print $ 2}'

答案 2 :(得分:6)

svn info http://nick:password@www.myhost.de/svn/test

应返回有关远程存储库的信息,包括Revision

答案 3 :(得分:5)

一个方便的AWK单线程,仅获得数字部分:

svn info http://nick:password@www.myhost.de/svn | awk '/Revision:/ { print $2 }'

答案 4 :(得分:5)

On new version of svn (1.9) you can do:

svn info --show-item revision svn://...
18436 

This should return only the revision number.

All the grep version will break if your locale is not english.

For previous version, you can try

svn info --xml | grep '<entry' -3 | awk -F '=' '/revision="/ { print $2 }' | grep -o '[0-9]\+'

If you can have the xml2 package a better way is to do:

svn info --xml | xml2 | grep /info/entry/@revision | grep -o '[0-9]\+'