我想知道我的服务器是否正在运行Subversion 1.5。
我怎么才能知道呢?
也将很高兴知道我的SVN客户端版本号。SVN的帮助没有帮助。
注意:我不想要我的项目的修订号等。这个问题是关于Subversion软件本身的。
我想知道我的服务器是否正在运行Subversion 1.5。
我怎么才能知道呢?
也将很高兴知道我的SVN客户端版本号。SVN的帮助没有帮助。
注意:我不想要我的项目的修订号等。这个问题是关于Subversion软件本身的。
当前回答
您可以使用HTTP连接到Subversion服务器,并在HTTP报头中找到版本号。
其他回答
对于svn+ssh配置,使用ssh工具在主机上执行svnserve——version命令:
$ssh user@host svnserve --version
需要在实际作为服务器的机器上执行svnserve命令。
还有一个选择:如果你有Firefox(我使用14.0.1)和SVN的web界面:
打开工具->Web Developer->Web控制台在一个回购页面 刷新页面 单击GET行 查看Server:行的Response Headers部分
这里应该有一个“SVN/1.7.4”字符串或类似的字符串。同样,这可能只在上面提到的“ServerTokens Full”时才有效。
下面是获取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>
对于基于http的服务器,有一个Python脚本可以找到服务器版本: http://svn.apache.org/repos/asf/subversion/trunk/tools/client-side/server-version.py
您可以使用
`svn --version`
如果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';