【问题标题】:version of SVN serverSVN服务器版本
【发布时间】:2010-10-28 06:44:22
【问题描述】:

有什么方法可以从我的 SVN 项目的本地副本(.svn 中的东西)中确定正在运行哪个版本的 SVN 服务器?

谢谢, 巴里

【问题讨论】:

  • 您为什么要这样做?您关心什么功能?

标签: svn


【解决方案1】:

只需使用网络浏览器并调用 subversion 存储库的 URL。在出现的页面底部显示版本号。

【讨论】:

    【解决方案2】:

    有一个托管在here 上的 python 脚本可以完全满足您的需求。

    另外,请查看this question

    我总是发现this 也是一个有用的 SVN 资源。

    【讨论】:

      【解决方案3】:

      如果不访问该存储库,就无法确定运行特定存储库的 Subversion 的版本,原因有两个:

      1. 首先,工作副本几乎完全不受存储库功能的影响。完全由本地Subversion客户端控制,版本间兼容性高。
      2. 此外,您如何知道服务器在您签出后是否已升级?

      如果您的存储库是通过file:// 访问的,那么您将使用相同版本的 Subversion 作为客户端和服务器。这很简单——svnadmin --version——但我认为情况并非如此,否则你不会在这里问。 :-)

      要通过http://https:// 查找可用的存储库版本,此处其他答案中提供的任何方法都可以使用。如果您不需要以编程方式检查,我偏爱“只需在浏览器中访问”方法。

      要查找ssh+svn:// 存储库的版本,请照常通过SSH 进入该框并运行svnadmin --version

      我不知道确定存储库版本的方法只能通过svn:// 获得。

      【讨论】:

        【解决方案4】:

        Subversion 服务器版本在服务器返回的 HTTP RESPONSE 标头中可用。您可以使用以下 shell 命令获取它:

        wget -S --spider 'http://svn.server.net/svn/repository' 2>&1 | \ 
        grep 'SVN' | sed 's/.*\(SVN[0-9\/\.]*\).*/\1/';
        

        【讨论】:

          【解决方案5】:

          如果有办法,我找不到。如果你通过 HTTP[S] 访问服务器,你可能可以从 HEAD 命令的输出中获取版本:

          远程登录服务器 80 HEAD / HTTP/1.0(按两次返回)

          对于 HTTPS:

          openssl s_client -连接服务器:https HEAD / HTTP/1.0(按两次返回)

          【讨论】:

            【解决方案6】:
            svn --version
            

            【讨论】:

            • 这显示的是客户端的版本,而不是服务器的版本——它们可能不同。
            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2019-01-01
            • 1970-01-01
            • 1970-01-01
            • 2012-02-13
            • 2013-07-18
            • 2015-07-19
            • 2011-01-28
            相关资源
            最近更新 更多