Code

diff --cached: do not borrow from a work tree when a path is marked as assume-unchanged
authorJunio C Hamano <gitster@pobox.com>
Sun, 22 Mar 2009 22:26:07 +0000 (15:26 -0700)
committerJunio C Hamano <gitster@pobox.com>
Sun, 22 Mar 2009 22:26:07 +0000 (15:26 -0700)
commit150115aded2e1e0a83db7366f59e4b5bf1aa8135
treef573f9b2222062c312d49af8cbe59a62d5af7ed6
parentea02eef096d4bfcbb83e76cfab0fcb42dbcad35e
diff --cached: do not borrow from a work tree when a path is marked as assume-unchanged

When the index says that the file in the work tree that corresponds to the
blob object that is used for comparison is known to be unchanged, "diff"
reads from the file and applies convert_to_git(), instead of inflating the
object, to feed the internal diff engine with, because an earlier
benchnark found that it tends to be faster to use this optimization.

However, the index can lie when the path is marked as assume-unchanged.
Disable the optimization for such paths.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
diff.c
t/t4020-diff-external.sh