Patch Set 6:

FYI, JGit commit 741659fed4e73b71693b408e137804b17e65f0cb now offers a great example of where PatienceDiff is better than MyersDiff.  In file DeltaStreamTest.java I added a whole new unit test block.  PatienceDiff correctly shows what I did:

 -		assertTrue(Arrays.equals(data, act));
 +		assertTrue("bulk read has same content", Arrays.equals(data, act));
 +
 +		// Assert that smaller tiny reads have the same result too.
 +		//
 +		act = new byte[data.length];
 +		in = open();
 +		int read = 0;
 +		while (read < data.length) {
 +			int n = in.read(act, read, 128);
 +			if (n <= 0)
 +				break;
 +			read += n;
 +		}
 +		assertEquals(data.length, read);
 +		assertEquals(-1, in.read());
 +		assertTrue("small reads have same content", Arrays.equals(data, act));
  	}

MyersDiff just shows a slop of intermixed add/deletes.  Of course I'm sure there are some counter examples somewhere, but this type of edit is common enough to source code that PatienceDiff is more likely to be readable most of the time.