[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: SVN 1.8.1 Errors - Show Log and Commit New Files

From: Philip Martin <philip.martin_at_wandisco.com>
Date: Mon, 05 Aug 2013 12:05:06 +0100

Philip Martin <philip.martin_at_wandisco.com> writes:

> Lieven Govaerts <lgo_at_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.
>>
>> 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}

-- 
Philip Martin | Subversion Committer
WANdisco | Non-Stop Data
Received on 2013-08-05 13:05:48 CEST

This is an archived mail posted to the Subversion Users mailing list.