merge tests: expect slight differences in output for recursive vs. ort
The ort merge strategy has some slight differences in commit descriptions (shortened hashes), stdout vs stderr, and in conflict messages. Also, builtin/merge.c reports usage of "ort" as "Merge made by the 'ort' strategy" -- while it is meant as a drop in replacement for "recursive" it is not yet treated as though it is recursive. Update the testcases to expect different output for the different merge backends. Signed-off-by: Elijah Newren <newren@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
c12d1f2ac2
commit
c8c35f6a02
@ -320,7 +320,12 @@ test_expect_success 'Rename+D/F conflict; renamed file merges but dir in way' '
|
|||||||
|
|
||||||
test_i18ngrep "CONFLICT (modify/delete): dir/file-in-the-way" output &&
|
test_i18ngrep "CONFLICT (modify/delete): dir/file-in-the-way" output &&
|
||||||
test_i18ngrep "Auto-merging dir" output &&
|
test_i18ngrep "Auto-merging dir" output &&
|
||||||
test_i18ngrep "Adding as dir~HEAD instead" output &&
|
if test "$GIT_TEST_MERGE_ALGORITHM" = ort
|
||||||
|
then
|
||||||
|
test_i18ngrep "moving it to dir~HEAD instead" output
|
||||||
|
else
|
||||||
|
test_i18ngrep "Adding as dir~HEAD instead" output
|
||||||
|
fi &&
|
||||||
|
|
||||||
test 3 -eq "$(git ls-files -u | wc -l)" &&
|
test 3 -eq "$(git ls-files -u | wc -l)" &&
|
||||||
test 2 -eq "$(git ls-files -u dir/file-in-the-way | wc -l)" &&
|
test 2 -eq "$(git ls-files -u dir/file-in-the-way | wc -l)" &&
|
||||||
@ -342,7 +347,12 @@ test_expect_success 'Same as previous, but merged other way' '
|
|||||||
! grep "error: refusing to lose untracked file at" errors &&
|
! grep "error: refusing to lose untracked file at" errors &&
|
||||||
test_i18ngrep "CONFLICT (modify/delete): dir/file-in-the-way" output &&
|
test_i18ngrep "CONFLICT (modify/delete): dir/file-in-the-way" output &&
|
||||||
test_i18ngrep "Auto-merging dir" output &&
|
test_i18ngrep "Auto-merging dir" output &&
|
||||||
test_i18ngrep "Adding as dir~renamed-file-has-no-conflicts instead" output &&
|
if test "$GIT_TEST_MERGE_ALGORITHM" = ort
|
||||||
|
then
|
||||||
|
test_i18ngrep "moving it to dir~renamed-file-has-no-conflicts instead" output
|
||||||
|
else
|
||||||
|
test_i18ngrep "Adding as dir~renamed-file-has-no-conflicts instead" output
|
||||||
|
fi &&
|
||||||
|
|
||||||
test 3 -eq "$(git ls-files -u | wc -l)" &&
|
test 3 -eq "$(git ls-files -u | wc -l)" &&
|
||||||
test 2 -eq "$(git ls-files -u dir/file-in-the-way | wc -l)" &&
|
test 2 -eq "$(git ls-files -u dir/file-in-the-way | wc -l)" &&
|
||||||
|
@ -127,7 +127,12 @@ test_expect_success 'merging should conflict for non fast-forward' '
|
|||||||
git checkout -b test-nonforward b &&
|
git checkout -b test-nonforward b &&
|
||||||
(cd sub &&
|
(cd sub &&
|
||||||
git rev-parse sub-d > ../expect) &&
|
git rev-parse sub-d > ../expect) &&
|
||||||
test_must_fail git merge c 2> actual &&
|
if test "$GIT_TEST_MERGE_ALGORITHM" = ort
|
||||||
|
then
|
||||||
|
test_must_fail git merge c >actual
|
||||||
|
else
|
||||||
|
test_must_fail git merge c 2> actual
|
||||||
|
fi &&
|
||||||
grep $(cat expect) actual > /dev/null &&
|
grep $(cat expect) actual > /dev/null &&
|
||||||
git reset --hard)
|
git reset --hard)
|
||||||
'
|
'
|
||||||
@ -138,9 +143,21 @@ test_expect_success 'merging should fail for ambiguous common parent' '
|
|||||||
(cd sub &&
|
(cd sub &&
|
||||||
git checkout -b ambiguous sub-b &&
|
git checkout -b ambiguous sub-b &&
|
||||||
git merge sub-c &&
|
git merge sub-c &&
|
||||||
|
if test "$GIT_TEST_MERGE_ALGORITHM" = ort
|
||||||
|
then
|
||||||
|
git rev-parse --short sub-d >../expect1 &&
|
||||||
|
git rev-parse --short ambiguous >../expect2
|
||||||
|
else
|
||||||
git rev-parse sub-d > ../expect1 &&
|
git rev-parse sub-d > ../expect1 &&
|
||||||
git rev-parse ambiguous > ../expect2) &&
|
git rev-parse ambiguous > ../expect2
|
||||||
test_must_fail git merge c 2> actual &&
|
fi
|
||||||
|
) &&
|
||||||
|
if test "$GIT_TEST_MERGE_ALGORITHM" = ort
|
||||||
|
then
|
||||||
|
test_must_fail git merge c >actual
|
||||||
|
else
|
||||||
|
test_must_fail git merge c 2> actual
|
||||||
|
fi &&
|
||||||
grep $(cat expect1) actual > /dev/null &&
|
grep $(cat expect1) actual > /dev/null &&
|
||||||
grep $(cat expect2) actual > /dev/null &&
|
grep $(cat expect2) actual > /dev/null &&
|
||||||
git reset --hard)
|
git reset --hard)
|
||||||
|
@ -77,6 +77,12 @@ Merge made by the 'recursive' strategy.
|
|||||||
EOF
|
EOF
|
||||||
|
|
||||||
test_expect_success 'merge reduces irrelevant remote heads' '
|
test_expect_success 'merge reduces irrelevant remote heads' '
|
||||||
|
if test "$GIT_TEST_MERGE_ALGORITHM" = ort
|
||||||
|
then
|
||||||
|
mv expected expected.tmp &&
|
||||||
|
sed s/recursive/ort/ expected.tmp >expected &&
|
||||||
|
rm expected.tmp
|
||||||
|
fi &&
|
||||||
GIT_MERGE_VERBOSITY=0 git merge c4 c5 >actual &&
|
GIT_MERGE_VERBOSITY=0 git merge c4 c5 >actual &&
|
||||||
test_i18ncmp expected actual
|
test_i18ncmp expected actual
|
||||||
'
|
'
|
||||||
|
Loading…
Reference in New Issue
Block a user