On Sat, Sep 10, 2011 at 02:08:38PM -0400, Paul Burba wrote:
> Given:
> 
>   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.
> 

Ah, right. I didn't think at all about mixed-revisions...

> Question:
> 
>   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.

Nice. We should try to implement that.

> > Do you think there is value in adding just 'svn mergeinfo --elide'
> > and keep using the present elision code?
> 
> Yes, I think the basic idea is sound: Some way to trigger the elision
> code outside of a merge proper.  Admittedly today it has rather
> limited usefulness, but only because elision itself is so "dumb".
> Once elision gets smarter it will be more useful.  But there's no
> reason no to add it now.

Ok, I'll add the --elide option so. Thanks Paul!

Reply via email to