293 svn
我想知道我的服务器是否正在运行Subversion 1.5.
我怎么能找到它?
也很高兴知道我的SVN客户端版本号.svn help没有帮助.
注意:我不想要我的项目的修订号等.这个问题是关于Subversion软件本身.
小智 210
要查找subversion版本的副本,您可以:
如果未显示,请查看页面的来源
<svn version="1.6.13 (r1002816)" href="http://subversion.tigris.org/">
Run Code Online (Sandbox Code Playgroud)
现在为subversion客户端:
svn --version
Run Code Online (Sandbox Code Playgroud)
就足够了
Lar*_*din 133
让我们合并这些回复:
svnadmin --version
Run Code Online (Sandbox Code Playgroud)通过浏览器访问服务器时,请参阅"由Subversion提供支持"行.
通过浏览器访问存储库,然后查找嵌入在HTML源代码中的版本字符串.来自elviejo和jaredjacobs的早期答案.同样,从??,使用浏览器的开发人员工具(通常是Ctrl+ Shift+ I)来读取完整的响应.这也是处理证书和授权的最简单(非自动)方式 - 您的浏览器会为您执行此操作.
检查响应标签(这些都不是在HTML源代码所示),从早期的答案由克里斯托弗
wget -S --spider 'http://svn.server.net/svn/repository' 2>&1 |
sed -n '/SVN/s/.*\(SVN[0-9\/\.]*\).*/\1/p'
Run Code Online (Sandbox Code Playgroud)svnserve --version (run on svn server)
Run Code Online (Sandbox Code Playgroud)ssh user@host svnserve --version
Run Code Online (Sandbox Code Playgroud) Check out the current version in a FAQ:
http://code.google.com/p/support/wiki/SubversionFAQ#What_version_of_Subversion_do_you_use?
Run Code Online (Sandbox Code Playgroud)
TBD
Run Code Online (Sandbox Code Playgroud)
请编辑完成此答案
svn --version
Run Code Online (Sandbox Code Playgroud)
Mil*_*dev 70
在服务器上: svnserve --version
在基于svnserve的配置(svn://和svn + xxx://)的情况下.
(完整性).
jar*_*obs 48
这是获取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>
Pie*_*per 24
对于基于HTTP的服务器,有一个Python脚本可以在以下位置找到服务器版本:http: //svn.apache.org/repos/asf/subversion/trunk/tools/client-side/server-version.py
你可以获得客户端版本
`svn --version`
Run Code Online (Sandbox Code Playgroud)
Chr*_*her 24
如果未在HTML列表中打印Subversion服务器版本,则它在服务器返回的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';
Run Code Online (Sandbox Code Playgroud)
如果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';
Run Code Online (Sandbox Code Playgroud)
还有一个选择:如果您有Firefox(我使用的是14.0.1)和一个SVN Web界面:
那里应该有一个"SVN/1.7.4"字符串或类似字符串.同样,如果你有如上所述的"ServerTokens Full",这可能只会起作用.
确实没有一种简单的方法可以找出您的服务器正在运行的Subversion版本 - 除了进入服务器并亲自查看.
但是,这可能不像您想象的那么大.Subversion客户端是处理大量繁重的工作,而且大多数版本的Subversion客户端几乎可以与任何版本的服务器一起使用.
服务器版本真正对客户端产生影响的最后一个版本是添加合并跟踪时从版本1.4到版本1.5的更改.1.6版本中的合并跟踪已经大大改进,但这并不会真正影响客户端和服务器之间的交互.
我们来看看Subversion 1.8的最新变化:
svn move现在是一流的操作:Subversion最终理解的svn move不是svn copy和svn delete.但是,这是客户端处理的内容,并不会真正影响服务器版本.svn merge --reintegrate不推荐使用:同样,只要服务器版本为1.5或更高版本,这就不是问题.svn:global-ignores和svn:auto-props:唉!我们真正想要的是什么 一种设置这两个属性而不依赖于Subversion配置文件本身的方法.但是,这是一个仅限客户端的问题,因此您使用的服务器版本无关紧要.在所有功能中,只有一个功能取决于服务器的版本是1.5或更高(1.4已经过时了一段时间.1.8的新功能将提高工作副本的性能,但服务器处于修订版1.8不是没必要.您的客户端版本比服务器版本更受影响.
我知道这不是你想要的答案(没有官方的方式来查看服务器版本),但幸运的是服务器版本并没有真正影响你那么多.
试试这个:
ssh your_user@your_server svnserve --version
svnserve, version 1.3.1 (r19032)
compiled May 8 2006, 07:38:44
Run Code Online (Sandbox Code Playgroud)
我希望它有所帮助.