On Mon, Aug 5, 2013 at 1:05 PM, Philip Martin
<philip.mar...@wandisco.com> wrote:
> Philip Martin <philip.mar...@wandisco.com> writes:
>
>> Lieven Govaerts <l...@apache.org> writes:
>>
>>>> C:\Customer>svn log -v ./
>>>> svn: E175002: Unexpected HTTP status 501 'Method Not Implemented' on 
>>>> '/Subversio
>>>> n/W3000_Customer_198.622-00_Customer_DRL/!svn/bc/14/trunk/03_Software'
>>>>
>>>> svn: E200007: Additional errors:
>>>> svn: E200007: The requested report is unknown.

Geoff, can you log an issue in our issue tracker with reference to
this mail thread?
http://subversion.tigris.org/issue-tracker.html

>>> For this part of your issue, I'm interested in seeing a network trace
>>> (wireshark, fiddler) between your client and server. If that's
>>> possible for you, you can send them privately. Filter out any
>>> unrelated traffic and basic/digest authentication headers if possible.
>>
>> That's easy to reproduce using 1.1.4 mod_dav_svn:
>>
>> svnadmin create repo --compatible-version 1.1
>> svn mkdir -mm file://`pwd`/repo/A
>> svn co http://localhost/repo/A wc
>> svn log -v wc
>>
>> The client is sending a get-location-segments REPORT request which is
>> new in 1.5 and not supported by earlier mod_dav_svn.
>
> In libsvn_ra/ra-loader.c:svn_ra_get_location_segments the failure of the
> get-location-segments REPORT is expected to generate
> SVN_ERR_RA_NOT_IMPLEMENTED:
>
>   if (err && (err->apr_err == SVN_ERR_RA_NOT_IMPLEMENTED))
>     {
>       svn_error_clear(err);
>
>       /* Do it the slow way, using get-logs, for older servers. */
>       err = svn_ra__location_segments_from_log(session, path,
>                                                peg_revision, start_rev,
>                                                end_rev, receiver,
>                                                receiver_baton, pool);
>     }
>
> but libsvn_ra_serf is returning SVN_ERR_RA_DAV_REQUEST_FAILED
>
> (gdb) p err[0]
> $3 = {apr_err = 175002, message = 0x7ffff6f85e7d "traced call",
>   child = 0x7ffff7f300a0, pool = 0x7ffff7f30028,
>   file = 0x7ffff5a4ab60 
> "../src/subversion/libsvn_ra_serf/getlocationsegments.c", line = 205}
> (gdb) p err[0].child[0]
> $4 = {apr_err = 175002,
>   message = 0x7ffff7f300f0 "Unexpected HTTP status 501 'Method Not 
> Implemented' on '/obj/repo/!svn/bc/1/A'\n", child = 0x7ffff7f30140, pool = 
> 0x7ffff7f30028,
>   file = 0x7ffff5a4edf0 "../src/subversion/libsvn_ra_serf/util.c", line = 
> 2440}

Can you test if attached patch fixes this issue?

Lieven

>
> --
> Philip Martin | Subversion Committer
> WANdisco | Non-Stop Data
Index: subversion/libsvn_ra_serf/util.c
===================================================================
--- subversion/libsvn_ra_serf/util.c    (revision 1510435)
+++ subversion/libsvn_ra_serf/util.c    (working copy)
@@ -2434,6 +2434,10 @@ svn_ra_serf__error_on_status(serf_status_line slin
                       "server or an intermediate proxy does not accept "
                       "chunked encoding. Try setting 'http-chunked-requests' "
                       "to 'auto' or 'no' in your client configuration."));
+      case 501:
+        return svn_error_createf(SVN_ERR_UNSUPPORTED_FEATURE, NULL,
+                                 _("The requested feature is not supported by "
+                                   "'%s'"), path);
     }
 
   if (sline.code >= 300)

Reply via email to