Merge branch 'jk/diff-do-not-reuse-wtf-needs-cleaning' into maint
commitcee6c5b47bfa5d20fdf504fd61d200c0ee5eb777
authorJunio C Hamano <gitster@pobox.com>
Wed, 10 Aug 2016 18:55:28 +0000 (10 11:55 -0700)
committerJunio C Hamano <gitster@pobox.com>
Wed, 10 Aug 2016 18:55:28 +0000 (10 11:55 -0700)
tree5c360d8309d55bd393234f25f2740cd2a3209940
parentd1d9c3cc608ca281c1bd9b40b14fa8d60cb64773
parent06dec439a3d00fa0b3141a2d52b33d22b941976c
Merge branch 'jk/diff-do-not-reuse-wtf-needs-cleaning' into maint

There is an optimization used in "git diff $treeA $treeB" to borrow
an already checked-out copy in the working tree when it is known to
be the same as the blob being compared, expecting that open/mmap of
such a file is faster than reading it from the object store, which
involves inflating and applying delta.  This however kicked in even
when the checked-out copy needs to go through the convert-to-git
conversion (including the clean filter), which defeats the whole
point of the optimization.  The optimization has been disabled when
the conversion is necessary.

* jk/diff-do-not-reuse-wtf-needs-cleaning:
  diff: do not reuse worktree files that need "clean" conversion
diff.c