Subversion 1.8.0客户端针对1.6.11服务器工作

时间:2013-07-01 07:50:51

标签: svn

我最近将我的subversion客户端升级到1.8.0,即使我们公司的subversion服务器是1.6.11,因为我检查它的所有地方似乎都应该兼容。

基本命令工作正常(更新,提交等)。问题是,当我尝试执行一些更复杂的命令(如重定位)时,或者我尝试从maven release-plugin生成一个版本。在这种情况下,我收到以下错误:

[ERROR] svn: E175002: Unable to connect to a repository at URL 'https://mycompaniesserver.com/svn/repo/trunk/project'
[ERROR] svn: E175002: OPTIONS request on '/svn/repo/trunk/project' failed: 503 Service Unavailable

我的同事使用1.6到1.7的最新客户似乎没有。

我的猜测是Subversion 1.8发送了一些HTTP OPTIONS命令,旧版本的客户端没有这些命令,而subversion服务器的防火墙o代理(不是subversion本身)拒绝它们。

除了恢复到较旧的subversion客户端(因为我已经将所有项目转换为1.8格式)之外,有没有办法阻止发送这些较新的格式消息?或者是否有任何明确的规则需要添加到subversion服务器的防火墙,以便1.8客户端可以工作?

编辑:我回到1.7.x客户端并且everthing工作正常,但我真的想找到一种方法,我可以使用1.8客户端而不需要服务器的系统管理员。

7 个答案:

答案 0 :(得分:2)

我在通过https代理连接到subversion服务器1.5.1时,与subversion客户端1.8.0到tortoisesvn 1.8.0有同样的问题。通过使用较旧的subversion客户端版本来解决它。

答案 1 :(得分:2)

我想,您可以阅读Subversion 1.8发行说明中的​​章节"HTTP client support based on neon has been removed",注意Skelta | Bulk模式的服务器端和客户端配置选项,并从表中测试客户端 - 服务器模式(与您讨论)网络管理员) - 您可以使用1.8

从批量转移到skelta

另一个版本 - 中间块中的proxy | firewal

  

无法连接到URL

的存储库

svn-client的新变更活动

  

使用Kerberos或NTLM身份验证时,...每个HTTP请求和响应添加一个2-4 KB的标头

答案 2 :(得分:1)

IIRC这是1.8.0中的错误。安装一个后来的1.8.x版本。

答案 3 :(得分:1)

有这个问题。与设置无关只是最新版本的Tortoise不能与我服务器上安装的SVN版本一起使用。我下载了先前版本的Tortoise,问题解决了。

(有1.8版本,下载1.7并且它有效。有趣的是;然而,在将服务器上的SVN升级到1.8 Tortoise 1.8之后仍然无法工作,我只能连接Tortoise 1.7。

答案 4 :(得分:1)

作为另一个数据点,我遇到了与1.8客户端通过http与1.6服务器通信的问题。声称符合http 1.1的方式有一些狡猾的代理。 Subversion虽然真的推动了http协议。

1.7客户端有两个http库:WebDAV和Serf。 WebDAV在1.8中被删除,只留下了Serf http库。

我必须在我的svn 1.8客户端配置文件中明确关闭分块传输。然后一切正常(呃,除了包含新文件的任何签到,叹息!)。

查看Known Issues in 1.8中的第一个条目,然后阅读http-chunked-requests = no文件中的~/.subversion/servers

答案 5 :(得分:0)

我相信这个问题可能已在其他地方得到解答。然而,最近在处理我的项目时,我遇到了同样的问题并应用了其他地方给出的解决方案,即评论

enter image description here

图片中上面给出的行对我来说没有用,因为它已经被注释掉了。仅供参考,该文件位于本地系统中的以下位置 强文 C:\ Documents and Settings_username_ \ Application Data \ Subversion \ servers

我们使用Subversion eclipse插件来完成所有操作。它发生的原因是因为subversion请求被代理,不支持很少的HTTP方法。

作为解决方案我做了以下。在你的eclipse IDE中

转到窗口>偏好>网络连接。如果“Active Provider:”中的值不是Direct,则将其更改为Direct。重试您尝试的操作,它应该像魅力一样工作。 : - )

答案 6 :(得分:0)

在我的案例中,我正在使用以下解决方案:

  1. 转到

    %APPDATA%\Subversion\servers
    
  2. 将广告添加到以下行的末尾:

      http-chunked-requests = no