SVN服务器的版本

时间:2009-05-22 16:39:01

标签: svn

有什么方法可以从我的SVN项目的本地副本(.svn中的某些内容)确定,哪个版本的SVN服务器正在运行?

谢谢, 百里

6 个答案:

答案 0 :(得分:5)

只需使用Web浏览器并调用subversion存储库的URL即可。在显示页面的底部显示版本号。

答案 1 :(得分:3)

托管here的python脚本完全符合您的要求。

另外,请查看this question

我总是发现this也是一个有用的SVN资源。

答案 2 :(得分:3)

由于两个原因,无法确定运行特定存储库而无法访问该存储库的Subversion版本:

  1. 首先,工作副本几乎完全不受存储库功能的影响。它完全由本地Subversion客户端控制,版本之间具有高度兼容性。
  2. 此外,您如何知道自签出后服务器是否已升级?
  3. 如果您的存储库是通过file://访问的,那么您使用的是与客户端和服务器相同版本的Subversion。这是一个明智的做法 - svnadmin --version - 但我认为情况并非如此,或者你不会在这里问。 : - )

    要查找通过http://https://提供的存储库版本,此处其他答案中提供的任何方法都可以使用。如果您不需要以编程方式进行检查,我会偏向“只是在浏览器中访问它”方法。

    要查找ssh+svn://存储库的版本,请正常SSH进入该框并运行svnadmin --version

    我不知道确定仅通过svn://提供的存储库版本的方法。

答案 3 :(得分:1)

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

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

答案 4 :(得分:-1)

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

telnet server 80
HEAD / HTTP/1.0 (Press RETURN twice)

对于HTTPS:

openssl s_client -connect server:https
HEAD / HTTP/1.0 (Press RETURN twice)

答案 5 :(得分:-5)

svn --version