SVN服务器的版本

6

我能否从本地SVN项目的副本(在.svn中)中确定SVN服务器的运行版本?

谢谢, Barry


2
你为什么想要这样做?你关注哪个功能? - Gleb
6个回答

5

只需使用Web浏览器并调用Subversion仓库的URL。在出现的页面底部显示版本号。


4
没有办法确定一个特定仓库正在运行的Subversion版本,除非有访问该仓库的权限,原因如下:
1.首先,工作副本几乎完全不受存储库功能的影响。它完全由本地Subversion客户端控制,并且版本之间具有很高的兼容性。
2.此外,您怎么知道服务器是否已经升级,自从您检出以来?
如果您的存储库通过file://访问,则使用相同版本的Subversion作为客户端和服务器。这是很简单的 - svnadmin --version - 但我假设这不是情况,否则你就不会在这里问问题了。:-)
要查找通过http://https://访问的存储库的版本,请使用其他答案中提供的任何方法。如果您不需要编程检查,则可以使用“只需在浏览器中访问”方法。
要查找ssh+svn://存储库的版本,请像通常一样登录那台计算机并运行svnadmin --version
我不知道仅可通过svn://访问存储库的版本确定方法。

3

1

Subversion 服务器版本可在服务器返回的 HTTP 响应标头中获得。您可以使用以下 shell 命令获取它:

wget -S --spider 'http://svn.server.net/svn/repository' 2>&1 | \ 
grep 'SVN' | sed 's/.*\(SVN[0-9\/\.]*\).*/\1/';

-2

如果有方法,我找不到。如果您通过HTTP[S]访问服务器,您可能可以从HEAD命令的输出中获取版本:

telnet server 80
HEAD / HTTP/1.0(按两次RETURN键)

对于HTTPS:

openssl s_client -connect server:https
HEAD / HTTP/1.0(按两次RETURN键)

-7
svn --version

2
这显示的是客户端的版本,而不是服务器的版本 - 它们可能不同。 - ASk

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接