On Thu, 20 Dec 2007, Linus Torvalds wrote: > > Not that it matters in real life, since nobody uses -U0, and "git blame" > won't care. But let's get it right anyway ;) .. and here's a test-case to see the *impact* of this whole issue: yes | head -1000 > a yes | head -2000 > b git diff -U0 a b | grep @@ diff -U0 a b | grep @@ and notice the differences. Both will add a thousand lines of "y", but the "git diff" will add it at a different point, ie git says: @@ -488,0 +489,1000 @@ y while a non-tail-optimizing diff will say @@ -1000,0 +1001,1000 @@ which may be a bit more obvious. Both answers are *correct*, though. The particular choice of "insert at line 489, after line 488" is a bit odd, but is because we don't actually search to exactly the beginning of where the differences started, we search in blocks of 1kB and then we go forward to the next newline. (We could also go to exactly where the differences started, and if the previous character was a newline or the beginning of the file, we'd not move forward at all, and then we'd get a more "logical" diff of inserting at the beginning). Considering that the answer is correct, and this only happens for insane cases anyway, I don't really think anybody cares, but it's an interesting case nonetheless. Linus - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html