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

Re: ra_dav and svn_ra_check_path not using the requested revision

From: Philip Martin <philip_at_codematters.co.uk>
Date: 2005-04-01 01:10:16 CEST

Philip Martin <philip@codematters.co.uk> writes:

> $ svn cp -r3 http://localhost/repo/foo/z.c http://localhost/repo/x1
> ../svn/subversion/libsvn_ra_dav/util.c:780: (apr_err=160016)
> svn: PROPFIND request failed on '/obj/repo/foo/z.c'
> ../svn/subversion/libsvn_ra_dav/util.c:368: (apr_err=160016)
> svn: Failure opening '/foo/z.c'
>
> The command works if I use the other RA layers, e.g.:
>
> $ svn cp -r3 svn://localhost/repo/foo/z.c svn://localhost/repo/x1 -m ""
>
> Committed revision 6.
>
> The DAV stuff is really complicated for an outsider to follow, as far
> as I can tell svn_ra_dav__search_for_starting_props is looking for
> /foo/z.c in the head revision rather than in r3 as requested.
>
> Is this a known ra_dav bug?

With this patch the copy succeeds:

Index: subversion/libsvn_ra_dav/props.c
===================================================================
--- subversion/libsvn_ra_dav/props.c (revision 13806)
+++ subversion/libsvn_ra_dav/props.c (working copy)
@@ -666,7 +666,8 @@
       if (! err)
         break; /* found an existing parent! */
       
- if (err->apr_err != SVN_ERR_RA_DAV_PATH_NOT_FOUND)
+ if (err->apr_err != SVN_ERR_RA_DAV_PATH_NOT_FOUND
+ && err->apr_err != SVN_ERR_FS_NOT_DIRECTORY)
         goto error; /* found a _real_ error */
 
       /* else... lop off the basename and try again. */

Now I've got no idea if that is really the correct thing to do. Is
libsvn_ra_dav supposed to handle the FS error? Is mod_dav_svn
supposed to convert the FS error into the RA error?

-- 
Philip Martin
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Fri Apr 1 01:11:35 2005

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