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

[PATCH 2/2] merge-recursive: Fix multiple file rename across D/F conflict

From
Elijah Newren <newren@gmail.com>
Date
Aug 17, 2010, 23:53 UTC
Message-ID
<1282089199-17253-3-git-send-email-newren@gmail.com>
In-Reply-To
<1282089199-17253-1-git-send-email-newren@gmail.com>

In 5a2580d (merge_recursive: Fix renames across paths below D/F conflicts 2010-07-09), detection was added for renames across paths involved in a directory<->file conflict. However, the change accidentally involved reusing an outer loop index ('i') in an inner loop, changing its values and causing a slightly different type of breakage for cases where there are multiple renames across the D/F conflict. Fix by creating a new temporary variable 'i'.

Signed-off-by: Elijah Newren <newren@gmail.com>
---
I'm really embarrased about this one...  :-/
 merge-recursive.c          |    1 +
 t/t6031-merge-recursive.sh |    2 +-
 2 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/merge-recursive.c b/merge-recursive.c
index af53b2a..f413e9f 100644
--- a/merge-recursive.c
+++ b/merge-recursive.c
@@ -1018,6 +1018,7 @@ static int process_renames(struct merge_options *o,
 				if (mfi.clean &&
 				    sha_eq(mfi.sha, ren1->pair->two->sha1) &&
 				    mfi.mode == ren1->pair->two->mode) {
+					int i;
 					/*
 					 * This messaged is part of
 					 * t6022 test. If you change
diff --git a/t/t6031-merge-recursive.sh b/t/t6031-merge-recursive.sh
index aa235b9..25ae637 100755
--- a/t/t6031-merge-recursive.sh
+++ b/t/t6031-merge-recursive.sh
@@ -57,7 +57,7 @@ test_expect_success FILEMODE 'verify executable bit on file' '
 	test -x file2
 '
 
-test_expect_failure 'merging with triple rename across D/F conflict' '
+test_expect_success 'merging with triple rename across D/F conflict' '
 	git reset --hard HEAD &&
 	git checkout --orphan main &&
 	git rm -rf . &&
-- 
1.7.2.1.227.g086c8
Previous: Elijah NewrenNext: Junio C Hamano
Message 3 of 6 in “Fix multiple file rename across D/F conflict”
  1. 0/2 Fix multiple file rename across D/F conflictElijah Newren, Aug 17, 2010
  2. 1/2 t6031: Add a testcase covering multiple renames across a D/F conflictElijah Newren, Aug 17, 2010
  3. 2/2 merge-recursive: Fix multiple file rename across D/F conflictElijah Newren, Aug 17, 2010
  4. Junio C HamanoAug 18, 2010
  5. Junio C HamanoAug 18, 2010
  6. Elijah NewrenAug 20, 2010

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.