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

RE: Partial fix for merge_tests.py 66 failure on mergeinfoless-copies branch

From: Paul Burba <pburba_at_collab.net>
Date: 2007-11-21 17:19:21 CET

> -----Original Message-----
> From: C. Michael Pilato [mailto:cmpilato@collab.net]
> Sent: Wednesday, November 21, 2007 1:27 AM
> To: Paul Burba
> Cc: dev@subversion.tigris.org; cmpilato@tigris.org
> Subject: Re: Partial fix for merge_tests.py 66 failure on
> mergeinfoless-copies branch
>
> Paul Burba wrote:
> > Try out this patch, it should fix the problem you mentioned -- the
> > trick is *removing* paths from expected_disk rather than
> tweaking them
> > -- I knew I'd run afoul of this before, it just took a long
> while to
> > recall what the fix was :-(
>
> Ah... gotcha!
>
> > Unfortunately merge test 66 still fails on the last reverse
> merge, the
> > A_COPY ends up with no mergeinfo, rather than it's pristine empty
> > mergeinfo. I hven't had a chance to look into that any further yet.
>
> Isn't that due to elision?
>
> I'm not convinced it's correct,
> but isn't that the likely cause?

Ah, now I understand what you meant by your comment in merge test 66.
And yes, its svn_client__elide_mergeinfo() that is removing the
mergeinfo at the end of do_merge().

There is something obviously wrong with the elision code since there is
nowhere for any mergeinfo on 'A_COPY', whatever it may be, to elide to!
I'll fix that.

Some other questions/problems...

If 'A_COPY's mergeinfo did have a parent to elide to, elision might
still occur, is this ever correct? It depends a bit on how copy works
now and gets to something I'm a bit confused on (and I suspect this is
your real question about the correctness of elision in this case):

  If we copy X to Y, and X has no explicit or
  inherited mergeinfo, then Y has empty mergeinfo.

  Is there a scenario in which Y might correctly
  end up with no mergeinfo or does it always need
  at least empty mergeinfo?

~~~~~

There is something else going on that needs consideration: In merge test
66 right before the final merge of -r6:3 the mergeinfo on A_COPY is not
empty, but is for path 'A' with no ranges:

>svn pl -vR merge_tests-66\A_COPY
Properties on 'merge_tests-66\A_COPY':
  svn:mergeinfo : /A:

This is different from the pristine empty mergeinfo on A_COPY. Instead
this should be truly empty mergeinfo:

>svn pl -vR merge_tests-66\A_COPY
Properties on 'merge_tests-66\A_COPY':
  svn:mergeinfo :

This is important because the elision code either leaves the mergeinfo
on a path alone, or removes it entirely. If we left it alone in this
case we still end up with modified mergeinfo on A_COPY.

Paul

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Wed Nov 21 17:19:32 2007

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.