Subversion Bridge Not Supported With Latest Subversion Client

Attempting to use the Git Subversion Bridge Against the Latest Subversion Client yields the following error:

Command: Update
Updating: S:\My Downloads\Code\GitHub\ManipulativeReplacer from https://github.com/aolszowka/ManipulativeReplacer/trunk
Error: Unable to connect to a repository at URL
Error: 'https://github.com/aolszowka/ManipulativeReplacer/trunk'
Error: The server at 'https://github.com/aolszowka/ManipulativeReplacer/trunk' does
Error: not support the HTTP/DAV protocol
Completed!:

This issue is poping up in various Subversion Communities as Developers Upgrade: https://groups.google.com/forum/#!topic/tortoisesvn/qaJQ_K9Wbb8

The root cause is that GitHub has a non-compliant Subversion Server as described here: https://mail-archives.apache.org/mod_mbox/subversion-users/201811.mbox/%3Cba7c96e5-8a04-e676-9ee7-02357aeb3118%40apache.org%3E

The relevent portions of the above post:

The root cause is that GitHub does not implement Subversion's HTTP/DAV
protocol correctly.

In 1.11, the Subversion client has become stricter about the server
requirements (see: https://svn.apache.org/r1825302). Specifically, we
require that the server sends DAV response headers to the OPTIONS
request, which we use for capability negotiation. Here's an example of a
correct response:

HTTP/1.1 200 OK
Date: Sun, 04 Nov 2018 15:40:24 GMT
Server: Apache/2.4.7 (Ubuntu)
DAV: 1,2
DAV: version-control,checkout,working-resource
DAV: merge,baseline,activity,version-controlled-collection
DAV: http://subversion.tigris.org/xmlns/dav/svn/depth
...


The GitHub server does not return any DAV: header for the OPTIONS
request, so the response is considered incorrect. I suggest sending a
bug report to GitHub; the attached script can be used to simulate
Subversion's OPTIONS request.

In the meantime, staying with 1.10.x appears to be the only option if
you have to use GitHub's SVN protocol.

Is this issue being publically tracked by GitHub Development anywhere? Support’s answer is very generic:

Thanks for writing in to GitHub Support and sorry you have experienced this problem.

This error is occurring when using v1.11 of SVN with GitHub. Our engineers are currently working on supporting SVN v1.11. We'll let you know when that support is available.

In the meantime you'll need to use an older version in order to connect with GitHub.

Thank you

8 Likes

I’m having the same issue as well.

i got same problem.

can not checkout or upgrade with tortoisevn 1.11

I regret to agree that I’m having the same issue as reported here. I have opened a case on this matter as posted to the tortoisesvn mailing list.

Yes, we are seeing this issue as well. Currently we are telling new users to download the 1.10 version of Tortoise, but it would be good to be able to use the latest version. Please keep us updated.

We are facing the same problem.

Same problem for me. Very annoying. but it seems the GiHub guys working on it.

Seems to be working as of today (12/18/2018) What poor communication from GitHub; something to remember the next time you are evaluating moving your business pratices to GitHub.

I can confirm that this has now been resolved.

Cheers!

Unfortunately I’m seeing a different problem.

When I run this, the svn.exe hangs, consuming one CPU core:

svn export https://my_repo/trunk src

I’m running svn 1.11 in MSYS2.  It appears to be an infinite loop in msys-crypto-1.1.dll.

I tried downgrading the svn client in msys2, but hit exactly the same hang.

Older versions of msys installed elsewhere on my system work just fine, so it’s not clear where the trouble lies:

  • GitHub

  • svn 1.11

  • MSYS2

  • Some other local configuration issue

Thanks in advance for any ideas on getting past this!  For now, I may be adding a workaround to my build processes to switch to an older svn for the problematic portion.

FWIW, I can access a separate, remote (private) SVN repo just fine in the same environment, so it’s somehow specific to interacting with GitHub it would seem.

As noted over in MSYS2, the latest update of openssl has fixed the hanging issue that could plague any version of svn trying to do an svn export of a GitHub repo.

Yay!