在本地机器上获取subversion存储库的版本号是没有问题的svnversion
.现在我想从我的在线存储库(使用Apache2的WebDAV)获取修订号.
我试过这个:
svnversion http://nick:password@www.myhost.de/svn/test`
在浏览器中,它像往常一样工作(只是为了确保没有拼写错误),但是svnversion
说无法找到目录.所以我认为我走错了路.
我怎样才能获得修订号?
svnversion仅适用于工作副本,但查询存储库的一种方法是使用svn info,如下所示:
svn info http://nick:password@www.myhost.de/svn | grep Revision
在Linux上,如果只需要修订号:
svn info http:// nick:password@www.myhost.de/svn/test | grep'^修订版:'| awk'{print $ 2}'
svn info http://nick:password@www.myhost.de/svn/test
应该返回有关远程存储库的信息,包括Revision
一个方便的AWK单线程,只获得数字部分:
svn info http://nick:password@www.myhost.de/svn | awk '/Revision:/ { print $2 }'
在新版本的svn(1.9)上你可以这样做:
svn info --show-item revision svn://... 18436
这应该只返回修订号.
如果您的语言环境不是英语,则所有grep版本都将中断.
对于以前的版本,您可以尝试
svn info --xml | grep '如果您可以拥有xml2包,则更好的方法是:
svn info --xml | xml2 | grep /info/entry/@revision | grep -o '[0-9]\+'