merge-recursive: Fix multiple file rename across D/F conflict
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>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
5601ba6574
commit
ae745487ad
@ -1020,6 +1020,7 @@ static int process_renames(struct merge_options *o,
|
|||||||
if (mfi.clean &&
|
if (mfi.clean &&
|
||||||
sha_eq(mfi.sha, ren1->pair->two->sha1) &&
|
sha_eq(mfi.sha, ren1->pair->two->sha1) &&
|
||||||
mfi.mode == ren1->pair->two->mode) {
|
mfi.mode == ren1->pair->two->mode) {
|
||||||
|
int i;
|
||||||
/*
|
/*
|
||||||
* This message is part of
|
* This message is part of
|
||||||
* t6022 test. If you change
|
* t6022 test. If you change
|
||||||
|
@ -57,7 +57,7 @@ test_expect_success FILEMODE 'verify executable bit on file' '
|
|||||||
test -x file2
|
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 reset --hard HEAD &&
|
||||||
git checkout -b main &&
|
git checkout -b main &&
|
||||||
git rm -rf . &&
|
git rm -rf . &&
|
||||||
|
Loading…
Reference in New Issue
Block a user