diff --git a/add-patch.c b/add-patch.c index f899389e2c..e6fa10715d 100644 --- a/add-patch.c +++ b/add-patch.c @@ -1624,7 +1624,7 @@ soft_increment: NULL, 0, NULL, 0)) error(_("'git apply' failed")); } - if (!repo_read_index(s->s.r)) + if (repo_read_index(s->s.r) >= 0) repo_refresh_and_write_index(s->s.r, REFRESH_QUIET, 0, 1, NULL, NULL, NULL); } diff --git a/t/t3701-add-interactive.sh b/t/t3701-add-interactive.sh index 49decbac71..f0a491ade1 100755 --- a/t/t3701-add-interactive.sh +++ b/t/t3701-add-interactive.sh @@ -560,6 +560,13 @@ test_expect_success 'patch mode ignores unmerged entries' ' diff_cmp expected diff ' +test_expect_success 'index is refreshed after applying patch' ' + git reset --hard && + echo content >test && + printf y | git add -p && + git diff-files --exit-code +' + test_expect_success 'diffs can be colorized' ' git reset --hard &&