diff: ignore --ita-[in]visible-in-index when diffing worktree-to-tree
commitba4e356109e5bf2b86bde335128c0ab4161268a9
authorNguyễn Thái Ngọc Duy <pclouds@gmail.com>
Sat, 26 May 2018 12:08:43 +0000 (26 14:08 +0200)
committerJunio C Hamano <gitster@pobox.com>
Tue, 29 May 2018 03:36:31 +0000 (29 12:36 +0900)
treec505c3f75f31d6b5f00a1d29b41cf84fce6d1115
parentccdcbd54c4475c2238b310f7113ab3075b5abc9c
diff: ignore --ita-[in]visible-in-index when diffing worktree-to-tree

This option is supposed to fix the diff of "diff-files" (not reporting
ita entries as new files) and "diff-index --cached <tree>" (showing ita
entries as present in the index with empty content) but not
"diff-index <tree>".

When --ita-invisible-in-index is set on "git diff-index <tree>",
unpack_trees() will eventually call oneway_diff() on the ita entry
with the same code flow as "diff-index --cached <tree>". We want to
ignore the ita entry for "diff-index --cached <tree>" but not
"diff-index <tree>" since the latter will examine and produce a diff
based on worktree entry's (real) content, not ita index entry's
(empty) content.

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
diff-lib.c
t/t2203-add-intent.sh