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

我怎么才能知道呢?

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

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


当前回答

要查找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

就足够了

其他回答

试试这个:

ssh your_user@your_server svnserve --version

svnserve, version 1.3.1 (r19032)
   compiled May  8 2006, 07:38:44

我希望这能有所帮助。

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

您可以使用

`svn --version`

通过浏览器直接访问SVN的地址即可。检查源代码(Ctrl + U),然后你会在HTML代码中发现如下内容:

<svn version="1.6. ..." ...

如果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';

下面是获取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>