我想知道我的服务器是否正在运行Subversion 1.5。

我怎么才能知道呢?

也将很高兴知道我的SVN客户端版本号。SVN的帮助没有帮助。

注意:我不想要我的项目的修订号等。这个问题是关于Subversion软件本身的。


当前回答

服务器端:svnserve——version

如果是基于svnserver的配置(svn://和svn+xxx://)。

(完整性)。

其他回答

对于基于http的服务器,有一个Python脚本可以找到服务器版本: http://svn.apache.org/repos/asf/subversion/trunk/tools/client-side/server-version.py

您可以使用

`svn --version`

服务器端:svnserve——version

如果是基于svnserver的配置(svn://和svn+xxx://)。

(完整性)。

要查找subversion REPOSITORY的版本,您可以:

看看网络上的存储库,在页面底部,它会这样说: "由Subversion版本1.5.2 (r32768)提供支持。" 从命令行:<insert curl, grep oneliner here>

如果未显示,请查看该页的源代码

<svn version="1.6.13 (r1002816)" href="http://subversion.tigris.org/"> 

现在是subversion客户端:

svn --version

就足够了

下面是获取SVN服务器版本的最简单方法。即使您的SVN存储库需要HTTPS, HTTP也可以工作。

$ curl -X OPTIONS http://my-svn-domain/
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>...</head>
<body>...
<address>Apache/2.2.11 (Debian) DAV/2 SVN/1.5.6 PHP/5.2.9-4 ...</address>
</body>
</html>

如果Subversion服务器版本没有打印在HTML清单中,则可以在服务器返回的HTTP RESPONSE报头中找到该版本。您可以使用这个shell命令来获取它

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

如果SVN服务器需要提供用户名和密码,则在命令中添加wget参数——user和——password,如下所示

wget -S --no-check-certificate \
  --user='username' --password='password' \
  --spider 'http://svn.server.net/svn/repository' 2>&1 \
  | sed -n '/SVN/s/.*\(SVN[0-9\/\.]*\).*/\1/p';