【问题标题】:Get revision number of a remote repository获取远程存储库的修订号
【发布时间】:2010-10-12 00:33:56
【问题描述】:

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

我试过这个:

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

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

如何获得修订号?

【问题讨论】:

    标签: svn webdav revision


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        【解决方案3】:

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

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

        【讨论】:

          【解决方案4】:
          svn info http://nick:password@www.myhost.de/svn/test
          

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

          【讨论】:

            【解决方案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]\+' 
            

            【讨论】:

            • grep 和 awk 版本都忽略了 Révision 中的重音。
            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2010-12-09
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2016-05-11
            相关资源
            最近更新 更多