On Fri, Feb 03, 2012 at 04:45:17PM +0100, André Hänsel wrote:
> I would think those two mergeinfos were equivalent, so mergeinfo elision
> should remove the mergeinfo on "live/templates/c-physignathus".
> # svn propget svn:mergeinfo live
> # svn propget svn:mergeinfo live/templates/c-physignathus
> But it doesn't. What's the reason?
> TortoiseSVN 1.7.4, Subversion 1.7.2
Mergeinfo elision is quite simplistic as of now.
There are ways to improve it but as far as I know nobody is working
on improvements at the moment.
Below, I am quoting Paul Burba in
Paul explains how mergeinfo elision works today and how it could be improved.
A path P and some path-wise child of P called C:
Assume both P and C have explicit mergeinfo.
Assume there is no intermediate patch between P and C with explicit mergeinfo.
Assume P and C are at the same revision as are any intermediate
paths between them.
Can the mergeinfo on C elide to P?
Looking at the intersection of the P and C's mergeinfo we have:
A) Common mergeinfo (that differs only by the path-wise difference
between P and C) - This can elide.
B) Mergeinfo exclusive to P - If *all* of this describes merges that
are inoperative on C, then this can elide.
C) Mergeinfo exclusive to C - If all of this describes merges that are
operative only on C and/or on subtrees which are not part of P, then
this can elide.
If elision occurs in *all* three cases then the mergeinfo on C can elide to P.
Today only 'A' is supported when 'B' and 'C' are empty sets.
Received on 2012-02-03 17:19:07 CET