merge(3p/git): Merge git upstream at v2.26.2

This commit is contained in:
Vincent Ambo 2020-05-22 17:46:45 +01:00
commit 5229c9b232
1006 changed files with 149006 additions and 60819 deletions

View file

@ -60,9 +60,9 @@ test_expect_success 'merge simple rename+criss-cross with no modifications' '
test_must_fail git merge -s recursive R2^0 &&
git ls-files -s >out &&
test_line_count = 2 out &&
test_line_count = 5 out &&
git ls-files -u >out &&
test_line_count = 2 out &&
test_line_count = 3 out &&
git ls-files -o >out &&
test_line_count = 1 out &&
@ -133,9 +133,9 @@ test_expect_success 'merge criss-cross + rename merges with basic modification'
test_must_fail git merge -s recursive R2^0 &&
git ls-files -s >out &&
test_line_count = 2 out &&
test_line_count = 5 out &&
git ls-files -u >out &&
test_line_count = 2 out &&
test_line_count = 3 out &&
git ls-files -o >out &&
test_line_count = 1 out &&
@ -218,8 +218,18 @@ test_expect_success 'git detects differently handled merges conflict' '
git ls-files -o >out &&
test_line_count = 1 out &&
git rev-parse >expect \
C:new_a D:new_a E:new_a &&
git cat-file -p C:new_a >ours &&
git cat-file -p C:a >theirs &&
>empty &&
test_must_fail git merge-file \
-L "Temporary merge branch 1" \
-L "" \
-L "Temporary merge branch 2" \
ours empty theirs &&
sed -e "s/^\([<=>]\)/\1\1\1/" ours >ours-tweaked &&
git hash-object ours-tweaked >expect &&
git rev-parse >>expect \
D:new_a E:new_a &&
git rev-parse >actual \
:1:new_a :2:new_a :3:new_a &&
test_cmp expect actual &&
@ -257,7 +267,8 @@ test_expect_success 'git detects differently handled merges conflict, swapped' '
ctime=$(git log --no-walk --date=raw --format=%cd C | awk "{print \$1}") &&
newctime=$(($btime+1)) &&
git fast-export --no-data --all | sed -e s/$ctime/$newctime/ | git fast-import --force --quiet &&
# End of differences; rest is copy-paste of last test
# End of most differences; rest is copy-paste of last test,
# other than swapping C:a and C:new_a due to order switch
git checkout D^0 &&
test_must_fail git merge -s recursive E^0 &&
@ -269,8 +280,18 @@ test_expect_success 'git detects differently handled merges conflict, swapped' '
git ls-files -o >out &&
test_line_count = 1 out &&
git rev-parse >expect \
C:new_a D:new_a E:new_a &&
git cat-file -p C:a >ours &&
git cat-file -p C:new_a >theirs &&
>empty &&
test_must_fail git merge-file \
-L "Temporary merge branch 1" \
-L "" \
-L "Temporary merge branch 2" \
ours empty theirs &&
sed -e "s/^\([<=>]\)/\1\1\1/" ours >ours-tweaked &&
git hash-object ours-tweaked >expect &&
git rev-parse >>expect \
D:new_a E:new_a &&
git rev-parse >actual \
:1:new_a :2:new_a :3:new_a &&
test_cmp expect actual &&
@ -1532,7 +1553,7 @@ test_expect_success 'setup nested conflicts' '
mv -f b_R1 b &&
mv -f a_R1 a &&
git add b a &&
test_tick && git commit -m "verson R1 of files" &&
test_tick && git commit -m "version R1 of files" &&
git tag R1 &&
# Create first merge on left side
@ -1562,6 +1583,7 @@ test_expect_success 'check nested conflicts' '
cd nested_conflicts &&
git clean -f &&
MASTER=$(git rev-parse --short master) &&
git checkout L2^0 &&
# Merge must fail; there is a conflict
@ -1582,7 +1604,7 @@ test_expect_success 'check nested conflicts' '
git cat-file -p R1:a >theirs &&
test_must_fail git merge-file --diff3 \
-L "Temporary merge branch 1" \
-L "merged common ancestors" \
-L "$MASTER" \
-L "Temporary merge branch 2" \
ours \
base \
@ -1594,7 +1616,7 @@ test_expect_success 'check nested conflicts' '
git cat-file -p R1:b >theirs &&
test_must_fail git merge-file --diff3 \
-L "Temporary merge branch 1" \
-L "merged common ancestors" \
-L "$MASTER" \
-L "Temporary merge branch 2" \
ours \
base \
@ -1695,7 +1717,7 @@ test_expect_success 'setup virtual merge base with nested conflicts' '
git checkout R &&
echo right >>content &&
git add content &&
test_tick && git commit -m "verson R1 of content" &&
test_tick && git commit -m "version R1 of content" &&
git tag R1 &&
# Create L2
@ -1732,6 +1754,7 @@ test_expect_success 'check virtual merge base with nested conflicts' '
(
cd virtual_merge_base_has_nested_conflicts &&
MASTER=$(git rev-parse --short master) &&
git checkout L3^0 &&
# Merge must fail; there is a conflict
@ -1760,7 +1783,7 @@ test_expect_success 'check virtual merge base with nested conflicts' '
cp left merged-once &&
test_must_fail git merge-file --diff3 \
-L "Temporary merge branch 1" \
-L "merged common ancestors" \
-L "$MASTER" \
-L "Temporary merge branch 2" \
merged-once \
base \