I (Julian Foad) wrote:
> Philip Martin wrote:
> > "Bert Huijben" <b...@qqmail.nl> writes:
> > 
> > > This patch causes merge_authz_tests.py 1 "skipped paths get overriding
> > > mergeinfo" to fail on ra_serf. (See the svn-slik-w2k3-x64-ra
> > > buildbot).
> > 
> > It also fails on Linux with serf.
> 
> I'm looking into this now.

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.

- Julian


Reply via email to