You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Greg Stein <gs...@gmail.com> on 2011/09/01 16:18:41 UTC
Re: RA-serf inconsistency calling editor:absent_file/dir [was: svn
commit: r1163296 ...]
On Wed, Aug 31, 2011 at 17:06, Julian Foad <ju...@wandisco.com> wrote:
> I (Julian Foad) wrote:
>> Fixed in r1163704 (plus fat-finger follow-ups r1163707 and r1163711).
>>
>> static svn_error_t *
>> absent_file(const char *path,
>> void *parent_baton,
>> apr_pool_t *pool)
>> {
>> struct dir_baton *pb = parent_baton;
>>
>> /* ### This 'join ... basename' works around an inconsistency whereby
>> * RA-serf gives PATH as just the basename instead of the full path. */
>> [...] svn_dirent_join(pb->path,
>> svn_relpath_basename(path, NULL),
>> pool) [...]
>> }
>>
>> This restored a work-around for an inconsistency in RA-serf, which I
>> removed, having no idea that's what it was. Now I've added comments
>> explaining it.
>>
>> The inconsistency is that when RA-serf calls
>> svn_delta_editor_t.absent_directory() or .absent_file() it passes 'path'
>> as a whole path (relative to the root of the edit drive?) whereas
>> RA-neon and RA-svn pass just the basename of the directory or file.
Just to clarify because the commit showed ra_serf passed a *basename*
and the others passed a path. So: the paragraph just above is
backwards from your intent?
Cheers,
-g
Re: RA-serf inconsistency calling editor:absent_file/dir [was: svn
commit: r1163296 ...]
Posted by Julian Foad <ju...@wandisco.com>.
On Thu, 2011-09-01 at 10:18 -0400, Greg Stein wrote:
> On Wed, Aug 31, 2011 at 17:06, Julian Foad <ju...@wandisco.com> wrote:
> > I (Julian Foad) wrote:
> >> Fixed in r1163704 (plus fat-finger follow-ups r1163707 and r1163711).
> >>
> >> static svn_error_t *
> >> absent_file(const char *path,
> >> void *parent_baton,
> >> apr_pool_t *pool)
> >> {
> >> struct dir_baton *pb = parent_baton;
> >>
> >> /* ### This 'join ... basename' works around an inconsistency whereby
> >> * RA-serf gives PATH as just the basename instead of the full path. */
> >> [...] svn_dirent_join(pb->path,
> >> svn_relpath_basename(path, NULL),
> >> pool) [...]
> >> }
> >>
> >> This restored a work-around for an inconsistency in RA-serf, which I
> >> removed, having no idea that's what it was. Now I've added comments
> >> explaining it.
> >>
> >> The inconsistency is that when RA-serf calls
> >> svn_delta_editor_t.absent_directory() or .absent_file() it passes 'path'
> >> as a whole path (relative to the root of the edit drive?) whereas
> >> RA-neon and RA-svn pass just the basename of the directory or file.
>
> Just to clarify because the commit showed ra_serf passed a *basename*
> and the others passed a path. So: the paragraph just above is
> backwards from your intent?
Oops, yes, you're right, it was the other way around. Thanks.
- Julian