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

我怎么才能知道呢?

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

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


当前回答

还有一个选择:如果你有Firefox(我使用14.0.1)和SVN的web界面:

打开工具->Web Developer->Web控制台在一个回购页面 刷新页面 单击GET行 查看Server:行的Response Headers部分

这里应该有一个“SVN/1.7.4”字符串或类似的字符串。同样,这可能只在上面提到的“ServerTokens Full”时才有效。

其他回答

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

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

还有一个选择:如果你有Firefox(我使用14.0.1)和SVN的web界面:

打开工具->Web Developer->Web控制台在一个回购页面 刷新页面 单击GET行 查看Server:行的Response Headers部分

这里应该有一个“SVN/1.7.4”字符串或类似的字符串。同样,这可能只在上面提到的“ServerTokens Full”时才有效。

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

您可以使用HTTP连接到Subversion服务器,并在HTTP报头中找到版本号。

对于svn+ssh配置,使用ssh工具在主机上执行svnserve——version命令:

$ssh user@host svnserve --version

需要在实际作为服务器的机器上执行svnserve命令。