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;
>>>          }
>>>
>>>

Reply via email to