No replies? No "you're crazy", or "I'd like that, too" or "I can add that for you" or "you can write the code yourself, here's a tip"?
On Thu, Sep 27, 2012 at 02:58:44PM -0400, Bob Bell wrote: > 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...
