我想知道我的服务器是否正在运行Subversion 1.5。
我怎样才能找到它?
也很高兴知道我的SVN客户端版本号。 svn help
没有帮助。
注意:我不想要我的项目的版本号等。这个问题是关于 Subversion软件本身。
答案 0 :(得分:206)
要查找subversion版本,您可以:
如果未显示,请查看页面的来源
<svn version="1.6.13 (r1002816)" href="http://subversion.tigris.org/">
现在用于颠覆CLIENT:
svn --version
就足够了
答案 1 :(得分:131)
让我们合并这些回复:
通过浏览器访问服务器时,请参阅“由Subversion提供支持”行。
通过浏览器访问存储库,然后查找嵌入在HTML源代码中的版本字符串。来自earlier answers by elviejo和jaredjacobs。同样,从??,使用浏览器的开发人员工具(通常是 Ctrl + Shift + I )来读取完整的响应。这也是处理证书和授权的最简单(非自动)方式 - 您的浏览器会为您执行此操作。
检查响应标记(这些不在HTML源代码中显示),来自an earlier answer Christopher
wget -S --spider 'http://svn.server.net/svn/repository' 2>&1 |
sed -n '/SVN/s/.*\(SVN[0-9\/\.]*\).*/\1/p'
svnserve --version (run on svn server)
ssh user@host svnserve --version
Check out the current version in a FAQ:
http://code.google.com/p/support/wiki/SubversionFAQ#What_version_of_Subversion_do_you_use?
TBD
请编辑完成此回答
svn --version
答案 2 :(得分:69)
在服务器上:svnserve --version
基于svnserve的配置(svn://和svn + xxx://)。
(完整性)。
答案 3 :(得分:48)
这是获取SVN服务器版本的最简单方法。 HTTP即使您的SVN存储库需要HTTPS也可以使用。
$ 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>
答案 4 :(得分:24)
对于基于HTTP的服务器,有一个Python脚本可以在以下位置找到服务器版本: http://svn.apache.org/repos/asf/subversion/trunk/tools/client-side/server-version.py
您可以使用
获取客户端版本`svn --version`
答案 5 :(得分:23)
如果未在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';
如果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';
答案 6 :(得分:8)
还有一个选择:如果你有Firefox(我使用的是14.0.1)和一个SVN网络界面:
那里应该有一个“SVN / 1.7.4”字符串或类似字符串。同样,如果你有如上所述的“ServerTokens Full”,这可能只会起作用。
答案 7 :(得分:7)
试试这个:
ssh your_user@your_server svnserve --version
svnserve, version 1.3.1 (r19032)
compiled May 8 2006, 07:38:44
我希望它有所帮助。
答案 8 :(得分:7)
确实没有 easy 方法来查找服务器正在运行的Subversion版本 - 除了进入服务器并亲自查看。< / p>
但是,这可能不像您想象的那么大。 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不是必需的。您的客户端版本比服务器版本更受影响。
我知道这不是你想要的答案(没有官方的方式来查看服务器版本),但幸运的是服务器版本并没有真正影响你那么多。
答案 9 :(得分:4)
对于svn + ssh配置,使用ssh在主机上运行svnserve --version:
$ ssh user @ host svnserve --version
必须在实际充当服务器的计算机上运行svnserve命令。
答案 10 :(得分:2)
只需使用网络浏览器转到SVN地址即可。检查源代码( Ctrl + U )。然后你会发现HTML代码中的内容:
<svn version="1.6. ..." ...
答案 11 :(得分:2)
使用Firefox浏览存储库并使用Firebug检查元素。在NET选项卡下,您可以检查页面的标题。它会有类似的东西:
Server: Apache/2.2.14 (Win32) DAV/2 SVN/1.X.X
答案 12 :(得分:1)
对于Subversion 1.7及更高版本,服务器不提供指示服务器版本的页脚。但您可以运行以下命令从响应标头中获取版本
$ curl -s -D - http://svn.server.net/svn/repository
HTTP/1.1 401 Authorization Required
Date: Wed, 09 Jan 2013 03:01:43 GMT
Server: Apache/2.2.9 (Unix) DAV/2 SVN/1.7.4
请注意,这也适用于您无权访问的Subversion服务器。
答案 13 :(得分:1)
您可以使用HTTP连接到Subversion服务器,并在HTTP标头中找到版本号。
答案 14 :(得分:0)
除非管理员运行'svnadmin upgrade',否则不会自动更新存储库。要确保存储库的版本号,请检查“格式”文件。请参阅@bdumitriu's comment。
答案 15 :(得分:0)
转到存储库文件夹并键入
svnadmin info .
它将返回您需要的内容,例如存储库格式和客户端兼容性版本。
Path: .
UUID: e65b8a35-4d38-7941-a369-78be7fd1bdf9
Revisions: 1294
Repository Format: 5
Compatible With Version: 1.10.0
Repository Capability: mergeinfo
Filesystem Type: fsfs
Filesystem Format: 8
FSFS Sharded: yes
FSFS Shard Size: 1000
FSFS Shards Packed: 1/1
FSFS Logical Addressing: yes
Configuration File: db\fsfs.conf
答案 16 :(得分:-1)
如果使用VisualSVN Server,则可以通过几种不同的方法找出版本号。
请按照以下步骤通过管理控制台查找版本:
如果点击版本,您还将看到组件的版本。
请按照以下步骤从readme.txt文件中查找版本:
答案 17 :(得分:-2)
命令行上的以下内容应该为您提供版本号
svn --version