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

Re: svn commit: r1163296 - in /subversion/trunk/subversion/libsvn_client: client.h diff.c merge.c repos_diff.c

From: Julian Foad <julian.foad_at_wandisco.com>
Date: Wed, 31 Aug 2011 22:01:54 +0100

I (Julian Foad) wrote:
> Philip Martin wrote:
> > "Bert Huijben" <bert_at_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
Received on 2011-08-31 23:02:28 CEST

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