9

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

我试过这个:

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

在浏览器中它照常工作(只是为了确保没有错别字等),但svnversion说找不到目录。所以我认为我走错了路。

如何获得修订号?

4

5 回答 5

20

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

svn info http://nick:password@www.myhost.de/svn | grep Revision
于 2009-03-08T10:53:06.577 回答
9

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

svn 信息http://nick:password@www.myhost.de/svn/test | grep '^修订:' | awk '{打印 $2}'

于 2009-04-17T22:38:19.150 回答
7

一个方便的 AWK 单行代码,只获取数字部分:

svn info http://nick:password@www.myhost.de/svn | awk '/Revision:/ { print $2 }'
于 2011-09-06T19:05:09.217 回答
6
svn info http://nick:password@www.myhost.de/svn/test

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

于 2009-03-08T10:52:17.453 回答
5

在新版本的 svn (1.9) 上,您可以:

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

这应该只返回修订号。

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

对于以前的版本,你可以试试

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

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

svn info --xml | xml2 | grep /info/entry/@revision | grep -o '[0-9]\+' 
于 2016-04-15T14:46:22.000 回答