Re: feature suggestion: optimize common parts for checkout --conflict=diff3
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Mar 6, 2013, 21:32 UTC
- Message-ID
- <7vmwugp637.fsf@alter.siamese.dyndns.org>
- In-Reply-To
- <7vr4jsp756.fsf@alter.siamese.dyndns.org>
Junio C Hamano <gitster@pobox.com> writes:
Show 23 quoted lines
> Jeff King <peff@peff.net> writes: > >> But it would apply to the content that is outside >> of the hunk marker; we have changed the concept of what is in the base >> and what is in the conflict by shrinking the conflict to its smallest >> size. > > Hmm, unless you mean by "base" something entirely different from > "what was in the common ancestor version", I do not think I can > agree. The point of diff3 mode is to show how it looked line in the > common ancestor and what the conflicting sides want to change that > common version into; letting the user view three versions to help > him decide what to do by only looking at the part inside conflict > markers. > > We show "both sides added, either identically or differently" as > noteworthy events, but the patched code pushes "both sides added > identically" case outside the conflicting hunk, as if what was added > relative to the common ancestor version (in Uwe's case, is it 1-14 > that is common, or just 10-14?) is not worth looking at when > considering what the right resolution is. If it is not worth > looking at what was in the original for the conflicting part, why > would we be even using diff3 mode in the first place?
I vaguely recall we did this "clip to eager" as an explicit bugfix at 83133740d9c8 (xmerge.c: "diff3 -m" style clips merge reduction level to EAGER or less, 2008-08-29). The list archive around that time may give us more contexts.