git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH v2] apply: make --intent-to-add not stomp index

From
Johannes Altmanninger <aclopte@gmail.com>
Date
Oct 30, 2021, 20:51 UTC
Message-ID
<20211030205147.2503327-1-aclopte@gmail.com>
In-Reply-To
<20211030204155.2500624-1-aclopte@gmail.com>

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 <rhodges@cisco.com>
Signed-off-by: Johannes Altmanninger <aclopte@gmail.com>
---
Sorry I used the wrong Reported-by: address in v1
 apply.c               | 2 +-
 t/t2203-add-intent.sh | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/apply.c b/apply.c
index 43a0aebf4e..4f740e373b 100644
--- a/apply.c
+++ b/apply.c
@@ -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;
diff --git a/t/t2203-add-intent.sh b/t/t2203-add-intent.sh
index cf0175ad6e..035ce3a2b9 100755
--- a/t/t2203-add-intent.sh
+++ b/t/t2203-add-intent.sh
@@ -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
 '
 
-- 
2.33.1
Previous: Johannes AltmanningerNext: Junio C Hamano
Message 6 of 12 in “git apply --indent-to-add deletes other files from the index”
  1. Ryan Hodges (rhodges)Oct 26, 2021
  2. Johannes AltmanningerOct 30, 2021
  3. Ryan HodgesOct 30, 2021
  4. Johannes AltmanningerOct 31, 2021
  5. apply: make --intent-to-add not stomp indexJohannes Altmanninger, Oct 30, 2021
  6. apply: make --intent-to-add not stomp indexJohannes Altmanninger, Oct 30, 2021
  7. Junio C HamanoNov 1, 2021
  8. Re* [PATCH v2] apply: make --intent-to-add not stomp indexJunio C Hamano, Nov 1, 2021
  9. Johannes AltmanningerNov 6, 2021
  10. apply: --intent-to-add should imply --indexJohannes Altmanninger, Nov 6, 2021
  11. Johannes AltmanningerNov 6, 2021
  12. Johannes AltmanningerNov 6, 2021

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.