Merge branch 'jk/diff-do-not-reuse-wtf-needs-cleaning'
authorJunio C Hamano <gitster@pobox.com>
Wed, 3 Aug 2016 22:10:29 +0000 (15:10 -0700)
committerJunio C Hamano <gitster@pobox.com>
Wed, 3 Aug 2016 22:10:29 +0000 (15:10 -0700)
commit767da54bf8bd212a483097999ee9ba77b711e4a8
tree85dbfebd28cf3134a9bd5515d240c66d506fdd90
parentf4fa8a9b18a840539edf908bb82b54c5f82aab31
parent06dec439a3d00fa0b3141a2d52b33d22b941976c
Merge branch 'jk/diff-do-not-reuse-wtf-needs-cleaning'

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