我想知道我的服务器是否正在运行Subversion 1.5。

我怎么才能知道呢?

也将很高兴知道我的SVN客户端版本号。SVN的帮助没有帮助。

注意:我不想要我的项目的修订号等。这个问题是关于Subversion软件本身的。


当前回答

对于svn+ssh配置,使用ssh工具在主机上执行svnserve——version命令:

$ssh user@host svnserve --version

需要在实际作为服务器的机器上执行svnserve命令。

其他回答

还有一个选择:如果你有Firefox(我使用14.0.1)和SVN的web界面:

打开工具->Web Developer->Web控制台在一个回购页面 刷新页面 单击GET行 查看Server:行的Response Headers部分

这里应该有一个“SVN/1.7.4”字符串或类似的字符串。同样,这可能只在上面提到的“ServerTokens Full”时才有效。

您可以使用HTTP连接到Subversion服务器,并在HTTP报头中找到版本号。

让我们把这些回答合并起来:

对于存储库/服务器(原始问题):

如果能够访问Subversion服务器:

根据Manuel之前的回答,在SVN服务器上运行以下命令: svnadmin——版本

HTTP/HTTPS访问:

See the "powered by Subversion" line when accessing the server via a browser. Access the repository via browser and then look for the version string embedded in the HTML source. From earlier answers by elviejo and jaredjacobs. Similarly, from ??, use your browser's developer tools (usually Ctrl + Shift + I) to read the full response. This is also the easiest (non-automated) way to deal with certificates and authorization - your browser does it for you. Check the response tags (these are not shown in the HTML source), from an earlier answer by Christopher wget -S --spider 'http://svn.server.net/svn/repository' 2>&1 | sed -n '/SVN/s/.*\(SVN[0-9\/\.]*\).*/\1/p'

如果svn://或ssh+svn access

来自Milen之前的回答 Svnserve——version(在SVN服务器上运行) 这是格伦之前的回答 SSH user@host svnserve——version

如果GoogleCode SVN服务器

    Check out the current version in a FAQ: 
    http://code.google.com/p/support/wiki/SubversionFAQ#What_version_of_Subversion_do_you_use?

如果是另一台自定义SVN服务器

    TBD

请编辑完成这个回答

对于客户(不是原来的问题):

svn --version

要知道您的服务器正在运行哪个版本的Subversion,确实没有一个简单的方法——除非进入服务器并亲自查看。

然而,这可能不是你想象的那么大的问题。Subversion客户端是处理大量繁重工作的地方,大多数版本的Subversion客户端可以与几乎任何版本的服务器一起工作。

服务器版本真正对客户端产生影响的最后一个版本是在添加合并跟踪时从版本1.4到版本1.5的变化。合并跟踪在1.6版中得到了很大的改进,但这并没有真正影响客户端和服务器之间的交互。

让我们看看Subversion 1.8的最新变化:

svn move is now a first class operation: Subversion finally understands the svn move is not a svn copy and svn delete. However, this is something that the client handles and doesn't really affect the server version. svn merge --reintegrate deprecated: Again, as long as the server is at version 1.5 or greater this isn't an issue. Property Inheritance: This is another 1.8 release update, but this will work with any Subversion server -- although Subversion servers running 1.8 will deliver better performance on inheritable properties. Two new inheritable properties - svn:global-ignores and svn:auto-props: Alas! What we really wanted. A way to setup these two properties without depending upon the Subversion configuration file itself. However, this is a client-only issue, so it again doesn't matter what version of the server you're using. gnu-agent memory caching: Another client-only feature. fsfs performance enhancements and authz in-repository authentication. Nice features, but these work no matter what version of the client you're using.

在所有的特性中,只有一个依赖于服务器的版本为1.5或更高(1.4已经过时很长一段时间了。1.8的新特性将提高工作副本的性能,但服务器处于1.8版本并不是必要的。客户端版本比服务器版本对您的影响更大。

我知道这不是您想要的答案(没有查看服务器版本的官方方法),但幸运的是,服务器版本对您的影响并不大。

服务器端:svnserve——version

如果是基于svnserver的配置(svn://和svn+xxx://)。

(完整性)。