Ah! I see. Ignore previous messages :-) (in the true branch, you exit with a URL, so prepend sucks; the prepend was properly needed for the false branch, which you just fixed)
Thx! -g On Sat, Jul 6, 2013 at 4:57 AM, Greg Stein <gst...@gmail.com> wrote: > How the heck did you get a URL into >copyfrom_relpath ?? > > Oh. I think I see. You based a URL to BASE_RELPATH in the shim > construction, didn't you? > > On Sat, Jul 6, 2013 at 4:45 AM, Greg Stein <gst...@gmail.com> wrote: >> Wait a sec. I seem to recall that passing a URL into Ev2 is defined as >> "incorrect". I remember going through some of this with Hyrum. >> >> For now, I'm going to say -0 to this change. I need to dig deeper thru >> email and changelists, and reserve the right to fight harder :-P >> >> Cheers, >> -g >> >> On Sat, Jul 6, 2013 at 4:19 AM, <br...@apache.org> wrote: >>> Author: brane >>> Date: Sat Jul 6 08:19:06 2013 >>> New Revision: 1500226 >>> >>> URL: http://svn.apache.org/r1500226 >>> Log: >>> Fix a thinko in the Ev2 shims that caused the driver to prepend a "/" >>> to copyfrom paths without considering that they might be URLs already. >>> >>> The bug was triggered by running the tests for the Ev2 commit editor >>> in JavaHL via http://. >>> >>> * subversion/libsvn_delta/compat.c (apply_change): >>> Try to make an FS path (starting with "/") from the copyfrom path only >>> when the editor baton does not contain a proper reposiutory root URL. >>> >>> Modified: >>> subversion/trunk/subversion/libsvn_delta/compat.c >>> >>> Modified: subversion/trunk/subversion/libsvn_delta/compat.c >>> URL: >>> http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_delta/compat.c?rev=1500226&r1=1500225&r2=1500226&view=diff >>> ============================================================================== >>> --- subversion/trunk/subversion/libsvn_delta/compat.c (original) >>> +++ subversion/trunk/subversion/libsvn_delta/compat.c Sat Jul 6 08:19:06 >>> 2013 >>> @@ -1634,11 +1634,14 @@ apply_change(void **dir_baton, >>> >>> change->copyfrom_path, >>> scratch_pool); >>> else >>> - copyfrom_url = change->copyfrom_path; >>> + { >>> + copyfrom_url = change->copyfrom_path; >>> >>> - /* Make this an FS path by prepending "/" */ >>> - if (copyfrom_url[0] != '/') >>> - copyfrom_url = apr_pstrcat(scratch_pool, "/", copyfrom_url, >>> NULL); >>> + /* Make this an FS path by prepending "/" */ >>> + if (copyfrom_url[0] != '/') >>> + copyfrom_url = apr_pstrcat(scratch_pool, "/", >>> + copyfrom_url, NULL); >>> + } >>> >>> copyfrom_rev = change->copyfrom_rev; >>> } >>> >>>