【发布时间】:2010-10-28 06:44:22
【问题描述】:
有什么方法可以从我的 SVN 项目的本地副本(.svn 中的东西)中确定正在运行哪个版本的 SVN 服务器?
谢谢, 巴里
【问题讨论】:
-
您为什么要这样做?您关心什么功能?
标签: svn
有什么方法可以从我的 SVN 项目的本地副本(.svn 中的东西)中确定正在运行哪个版本的 SVN 服务器?
谢谢, 巴里
【问题讨论】:
标签: svn
只需使用网络浏览器并调用 subversion 存储库的 URL。在出现的页面底部显示版本号。
【讨论】:
【讨论】:
如果不访问该存储库,就无法确定运行特定存储库的 Subversion 的版本,原因有两个:
如果您的存储库是通过file:// 访问的,那么您将使用相同版本的 Subversion 作为客户端和服务器。这很简单——svnadmin --version——但我认为情况并非如此,否则你不会在这里问。 :-)
要通过http:// 或https:// 查找可用的存储库版本,此处其他答案中提供的任何方法都可以使用。如果您不需要以编程方式检查,我偏爱“只需在浏览器中访问”方法。
要查找ssh+svn:// 存储库的版本,请照常通过SSH 进入该框并运行svnadmin --version。
我不知道确定存储库版本的方法只能通过svn:// 获得。
【讨论】:
Subversion 服务器版本在服务器返回的 HTTP RESPONSE 标头中可用。您可以使用以下 shell 命令获取它:
wget -S --spider 'http://svn.server.net/svn/repository' 2>&1 | \
grep 'SVN' | sed 's/.*\(SVN[0-9\/\.]*\).*/\1/';
【讨论】:
如果有办法,我找不到。如果你通过 HTTP[S] 访问服务器,你可能可以从 HEAD 命令的输出中获取版本:
远程登录服务器 80 HEAD / HTTP/1.0(按两次返回)对于 HTTPS:
openssl s_client -连接服务器:https HEAD / HTTP/1.0(按两次返回)【讨论】:
svn --version
【讨论】: