@@ -4771,7 +4771,7 @@ static int apply_patch(struct apply_state *state,
LOCK_DIE_ON_ERROR);
}
- if (state->check_index && read_apply_cache(state) < 0) {
+ if ((state->check_index || state->ita_only) && read_apply_cache(state) < 0) {
error(_("unable to read index file"));
res = -128;
goto end;
@@ -307,7 +307,7 @@ test_expect_success 'apply --intent-to-add' '
grep "new file" expected &&
git reset --hard &&
git apply --intent-to-add expected &&
- git diff >actual &&
+ (git diff && git diff --cached) >actual &&
test_cmp expected actual
'
Commit cff5dc09ed (apply: add --intent-to-add, 2018-05-26) introduced "apply -N" plus a test to make sure it behaves exactly as "add -N" when given equivalent changes. However, the test only checks working tree changes. Now "apply -N" forgot to read the index, so it left all tracked files as deleted, except for the ones it touched. Fix this by reading the index file, like we do for "apply --cached". and test that we leave no content changes in the index. Reported-by: Ryan Hodges <rphodges@cisco.com> Signed-off-by: Johannes Altmanninger <aclopte@gmail.com> --- apply.c | 2 +- t/t2203-add-intent.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)