如何找到我的Subversion服务器版本号?
时间:2020-03-06 14:47:56 来源:igfitidea点击:
我想知道我的服务器是否正在运行Subversion 1.5.
我怎样才能找到答案?
也很高兴知道我的SVN客户端版本号。 svn help没有帮助。
注意:我不需要我的项目的修订号等。此问题与Subversion软件本身有关。
解决方案
命令行上的以下内容应为我们提供版本号
svn --version
对于基于HTTP的服务器,有一个Python脚本可在以下位置找到服务器版本:
http://svn.apache.org/repos/asf/subversion/trunk/tools/client-side/server-version.py
我们可以使用获得客户端版本
`svn --version`
在服务器上:svnserve --version
如果是基于svnserve的配置(svn://和svn + xxx://)。
(为了完整性)。
要查找Subversion REPOSITORY的版本,我们可以:
- 查看Web上的存储库,页面底部将显示类似内容:"由Subversion版本1.5.2(r32768)提供支持"。
- 在命令行中:<在此处插入curl,grep oneliner>
如果未显示,请查看页面源
<svn version="1.6.13 (r1002816)" href="http://subversion.tigris.org/">
现在,对于Subversion CLIENT:
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>
对于svn + ssh配置,请使用ssh在主机上运行svnserve --version:
$ ssh user@host svnserve --version
必须在实际充当服务器的计算机上运行svnserve命令。
我们可以使用HTTP连接到Subversion服务器,并在HTTP标头中找到版本号。
如果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\/\.]*\).*//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\/\.]*\).*//p';