获取远程存储库的修订号

oko*_*man 9 svn revision webdav

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

我试过这个:

svnversion http://nick:password@www.myhost.de/svn/test`
Run Code Online (Sandbox Code Playgroud)

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

我怎样才能获得修订号?

Pau*_*xon 20

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

svn info http://nick:password@www.myhost.de/svn | grep Revision
Run Code Online (Sandbox Code Playgroud)


Wya*_*win 9

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

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


Avi*_*Avi 6

svn info http://nick:password@www.myhost.de/svn/test
Run Code Online (Sandbox Code Playgroud)

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


小智 5

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

svn info http://nick:password@www.myhost.de/svn | awk '/Revision:/ { print $2 }'
Run Code Online (Sandbox Code Playgroud)


Tic*_*Tic 5

在新版本的svn(1.9)上你可以这样做:

svn info --show-item revision svn://...
18436 
Run Code Online (Sandbox Code Playgroud)

这应该只返回修订号.

如果您的语言环境不是英语,则所有grep版本都将中断.

对于以前的版本,您可以尝试

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

如果您可以拥有xml2包,则更好的方法是:

svn info --xml | xml2 | grep /info/entry/@revision | grep -o '[0-9]\+' 
Run Code Online (Sandbox Code Playgroud)