You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Bert Huijben <be...@qqmail.nl> on 2011/08/31 16:24:49 UTC
RE: svn commit: r1163296 - in /subversion/trunk/subversion/libsvn_client: client.h diff.c merge.c repos_diff.c
> -----Original Message-----
> From: julianfoad@apache.org [mailto:julianfoad@apache.org]
> Sent: dinsdag 30 augustus 2011 19:23
> To: commits@subversion.apache.org
> Subject: svn commit: r1163296 - in
> /subversion/trunk/subversion/libsvn_client: client.h diff.c merge.c
> repos_diff.c
>
> Author: julianfoad
> Date: Tue Aug 30 17:23:08 2011
> New Revision: 1163296
>
> URL: http://svn.apache.org/viewvc?rev=1163296&view=rev
> Log:
> Remove knowledge of the WC from the client's repos-repos diff editor. This
> knowledge was only used as a convenience by the merge code, to provide
> ready-made WC abspaths into its callbacks, and was not used at all by the
> diff code that is the other client of this editor.
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).
Bert
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
Re: RA-serf inconsistency calling editor:absent_file/dir [was: svn
commit: r1163296 ...]
Posted by Greg Stein <gs...@gmail.com>.
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
RA-serf inconsistency calling editor:absent_file/dir [was: svn
commit: r1163296 ...]
Posted by Julian Foad <ju...@wandisco.com>.
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.
Bert and/or I will look into this tomorrow.
- Julian
Re: svn commit: r1163296 - in
/subversion/trunk/subversion/libsvn_client: client.h diff.c merge.c
repos_diff.c
Posted by Julian Foad <ju...@wandisco.com>.
I (Julian Foad) wrote:
> Philip Martin wrote:
> > "Bert Huijben" <be...@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
Re: svn commit: r1163296 - in
/subversion/trunk/subversion/libsvn_client: client.h diff.c merge.c
repos_diff.c
Posted by Julian Foad <ju...@wandisco.com>.
Philip Martin wrote:
> "Bert Huijben" <be...@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.
- Julian
Re: svn commit: r1163296 - in /subversion/trunk/subversion/libsvn_client: client.h diff.c merge.c repos_diff.c
Posted by Philip Martin <ph...@wandisco.com>.
"Bert Huijben" <be...@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.
--
uberSVN: Apache Subversion Made Easy
http://www.uberSVN.com