【问题标题】:Did GitHub shut down its support for Subversion clients?GitHub 是否关闭了对 Subversion 客户端的支持?
【发布时间】:2018-11-03 08:42:42
【问题描述】:

GitHub documents 来支持 Subversion 客户端,我将它用于许多项目,以使用 svn:externals 将它们包含在我的工作副本之一中。从昨天开始,我收到所有这些项目的以下错误:

“[...]”处的服务器不支持 HTTP/DAV 协议。

这发生在一长串项目中,一些例子:

https://github.com/apache/commons-lang.git/tags/LANG_3_6
https://github.com/pgjdbc/pgjdbc.git/tags/REL42.2.2
https://github.com/ams-tschoening/kaitai_struct_tests.git/branches/libs_java_3rd_usage

我已经写信给支持,但还没有得到任何回复。也许这里有人已经知道这只是暂时的还是永久性的?也许出于某种原因,其他用户根本不会出现这个问题?

谢谢!

【问题讨论】:

  • SVN 开发人员有意进行更改以在协议级别实施更严格的错误检查,从而导致问题,他们表示不会在他们的网站上更改:mail-archives.apache.org/mod_mbox/subversion-users/201811.mbox/…>
  • 恕我直言,GitHub 的“对 SVN 客户端的支持”从未像应有的那样工作。是的,它适用于简单的结帐、导出和提交操作,但这不是“支持”的意思。任何更复杂的事情都会导致尴尬的错误。
  • @bahrep 他们支持我和其他许多人似乎只需要的一切,包括svn:externals,在我看来这已经有些复杂了。

标签: github svn tortoisesvn


【解决方案1】:

不再适用于所有 github 存储库! 使用最新的 TortoiseSVN 1.11.0。

我已经尝试过 TortoiseSVN 1.10 版,它仍然可以工作,所以这看起来像是 TortoiseSVN 1.11 的问题(它与 SVN 1.11 相关联)。

【讨论】:

  • 由于错误消息的措辞,我根本没有想到客户端问题,但 TortoiseSVN 确实是问题所在。我最近也升级到 1.11.0,切换回 1.10 解决了这些问题。因此我接受这个答案,因为它在我的问题的具体背景下是正确的。下一步将进一步调试发生这种情况的原因。
【解决方案2】:

这个特殊问题已在 GitHub 方面得到解决(截至 2018 年 12 月 19 日),请参阅下面的过时部分。

但是,在其他情况下,您可能会收到错误The server at '[...]' does not support the HTTP/DAV protocol.,例如

svn info https://stackoverflow.com/ svn: E170013: 无法连接 URL 'https://stackoverflow.com' 的存储库 svn: E175003: The 'https://stackoverflow.com' 的服务器不支持 HTTP/DAV 协议


过时:

使用 Subversion 1.10 客户端作为解决方法。

由于最新的 Subversion 1.11.0 版本中的一些更改,最新的 SVN 1.11 客户端不再与 GitHub 的 SVN 网桥一起工作并产生错误。让我们希望尽快在 SVN 或 GitHub 方面修复错误。

您可以在此 users@Apache Subversion 邮件列表线程中找到更多信息:https://lists.apache.org/thread.html/90c028421ac86f787c2101ab61a70ec5fa0a6f4d617a8b87be802e5c@%3Cusers.subversion.apache.org%3E

【讨论】:

    【解决方案3】:

    不,这只是 GitHub 方面的一个错误。

    查看下面...(我从 bahrep 上传的链接中找到此消息)

    根本原因是GitHub没有实现Subversion的HTTP/DAV 协议正确。

    在 1.11 中,Subversion 客户端对服务器的要求变得更加严格 要求(请参阅:https://svn.apache.org/r1825302)。具体来说,我们 要求服务器将 DAV 响应标头发送到 OPTIONS 请求,我们用于能力协商。这是一个示例 正确答案:

    HTTP/1.1 200 正常 日期:2018 年 11 月 4 日星期日 15:40:24 GMT 服务器:Apache/2.4.7 (Ubuntu) DAV:1,2 DAV:版本控制、结帐、工作资源 DAV:合并、基线、活动、版本控制的集合 DAV:http://subversion.tigris.org/xmlns/dav/svn/depth ...

    GitHub 服务器不返回任何 DAV: OPTIONS 标头 请求,因此响应被认为是不正确的。我建议发送一个 向 GitHub 报告错误;附加的脚本可用于模拟 Subversion 的 OPTIONS 请求。

    与此同时,如果出现以下情况,则继续使用 1.10.x 似乎是唯一的选择 你必须使用 GitHub 的 SVN 协议。

    【讨论】:

      猜你喜欢
      • 2015-02-24
      • 2011-06-04
      • 2021-02-08
      • 2012-07-23
      • 2017-09-08
      • 1970-01-01
      • 2021-10-26
      • 2011-06-26
      • 2010-10-25
      相关资源
      最近更新 更多