Date: Thu, 15 Jun 2000 13:52:29 -0600 (MDT)
   From: Kevin Pearson <[EMAIL PROTECTED]>

   This seemed to be related to the problem that was discovered by Noah
   Friedman <[EMAIL PROTECTED]> and patched by Paul Eggert
   <[EMAIL PROTECTED]> back in November of 1996.  Paul's patch he
   in-effect turned off shift_boundaries (which optimizes the diff by
   merging hunks if possible.)  This fixed the problem described by Noah.

As I mentioned in that message, that patch was a quick hack.  What I
hope is a better fix can be found in the latest test version of diffutils, at:
ftp://alpha.gnu.org/gnu/diffutils/diffutils-2.7.2.tar.gz
It adds a new option inhibit_hunk_merge which turns off hunk merging,
which is causing most of the problem.

Even this better fix is not ideal, because what we want is a true
3-way diff, that can inspect all three input files simultaneously and
minimize the resulting output.  But that's a long story.

   To test diff3, run the the command:
     diff3 -E -am testcase0 testcase0-1.1 testcase0-1.1.2.2
   and
     diff3 -E -am testcase1 testcase1-1.2 testcase0-1.1.2.1

I think you may be onto a bug here (even with diffutils 2.7.2), but I
couldn't reproduce the problem with these test cases.  Your patch to
diffutils 2.7 made no difference in the output of the first command.
For the second command, you didn't supply testcase1-1.2 or
testcase0-1.1.2.1 in your message, so I created them with:

co -p1.2 testcase1 >testcase1-1.2
co -p1.1.2.1 testcase0 >testcase0-1.1.2.1

After doing this, I found no difference in executing the second
command between diffutils 2.7, 2.7 with your fix, and 2.7.2.

The second command seemed a bit odd, as I would have expected the last
file to be testcase1-1.1.2.1 instead of testcase0-1.1.2.1.  So I also
tried running "diff3 -E -am testcase1 testcase1-1.2 testcase1-1.1.2.1"
but also got the same results with all three versions of diff.

So I must be doing something wrong in trying to reproduce the bug.
Can you help me out in trying to reproduce it, with diffutils only?
Thanks.

Reply via email to