[Paul Burba]
> 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.
> 
> 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.

Meaning, I guess, set (C) is added to path P, _then_ C can elide.
Also, obviously, this is only possible if the paths in set (C) end in
the same suffix as {C relative to P}.

Note also that there's a fourth case, similar to B), in which P has
non-inheritable MI that is operative only on P and/or those of its
children that have explicit MI.  (This can easily arise from merging
into a sparse wc, whose missing subtrees would have been inoperative.)
Such non-inheritable MI can be converted to inheritable, which of
course makes other elision cases possible.

-- 
Peter Samuelson | org-tld!p12n!peter | http://p12n.org/

Reply via email to