bug-diffutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug-diffutils] Getting all versions, but skipping overlaps


From: Bob Bell
Subject: [bug-diffutils] Getting all versions, but skipping overlaps
Date: Thu, 27 Sep 2012 14:58:44 -0400
User-agent: Mutt/1.5.21 (2010-09-15)

Recently, I've started using the "-A" option to merge / diff3, so that 
when there's a merge conflict, I get the "ancestor" version as well as 
both changes.  Not to overstate things, but I've found that this has 
completely transformed my experience resolving source code merge 
conflicts, as the information I have at hand is SO much more helpful.  
With regards to the diff3.c source code, I believe that the option that 
I really appreciate is "diff_2nd".

However, one thing I'd often still like to do is to ignore cases where 
there are identical changes made.  That is, for a block of code, there's 
a difference between FILEC and FILE0, as well as between FILEC and 
FILE1, but the blocks in FILE0 and FILE1 are identical.

When I use diff3 with "-A", this appears as a bracketed conflict, with 
the labelled blocks from FILEC and FILE1.  I don't get the "|||||||" 
marker or the identical block from FILE0, so it's fairly easy to 
identify this case.  But when resolving a merge, it still needs to be 
"cleaned up".

It appears that diff3 supports a "-x" or "-X" option to select 
"overlap_only", which would ignore these non-overlapping changes.  
However, the code enforces that I cannot select "-A" with either "-x" or 
"-X", and "-A" appears the only way to select "diff_2nd", so that it 
outputs the version of the block from FILE2/FILEC.  For example, I can 
pass "-m" and "-X", but then I will not get the block of code from 
FILEC, losing the information that I value so dearly.

In summary, I believe what I'd really like is to display the merges 
file, bracketing the conflicting changes, NOT including when FILE0 and 
FILE1 made identical changes, but when there *IS* a conflicting change, 
I'd like to see FILE0, FILE1 *and* FILE2/FILEC.

Is this possible?

Thanks,
Bob

P.S. I apologize for all the terminology I may have used incorrectly...



reply via email to

[Prev in Thread] Current Thread [Next in Thread]