]> git.ipfire.org Git - thirdparty/git.git/commitdiff
rebase tests: repeat some tests using the merge backend instead of am
authorElijah Newren <newren@gmail.com>
Sat, 15 Feb 2020 21:36:38 +0000 (21:36 +0000)
committerJunio C Hamano <gitster@pobox.com>
Sun, 16 Feb 2020 23:40:42 +0000 (15:40 -0800)
In order to ensure the merge/interactive backend gets similar coverage
to the am one, add some tests for cases where previously only the am
backend was tested.

Signed-off-by: Elijah Newren <newren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t5520-pull.sh
t/t6047-diff3-conflict-markers.sh

index 602d996a33b74a4d877a5f31acdf452fa46e1734..3fff6a06fa8fed5e19bb961c23e77627abd6b547 100755 (executable)
@@ -277,14 +277,27 @@ test_expect_success '--rebase' '
        test_cmp expect actual
 '
 
-test_expect_success '--rebase fast forward' '
+test_expect_success '--rebase (merge) fast forward' '
        git reset --hard before-rebase &&
        git checkout -b ff &&
        echo another modification >file &&
        git commit -m third file &&
 
        git checkout to-rebase &&
-       git pull --rebase . ff &&
+       git -c rebase.backend=merge pull --rebase . ff &&
+       test_cmp_rev HEAD ff &&
+
+       # The above only validates the result.  Did we actually bypass rebase?
+       git reflog -1 >reflog.actual &&
+       sed "s/^[0-9a-f][0-9a-f]*/OBJID/" reflog.actual >reflog.fuzzy &&
+       echo "OBJID HEAD@{0}: pull --rebase . ff: Fast-forward" >reflog.expected &&
+       test_cmp reflog.expected reflog.fuzzy
+'
+
+test_expect_success '--rebase (am) fast forward' '
+       git reset --hard before-rebase &&
+
+       git -c rebase.backend=am pull --rebase . ff &&
        test_cmp_rev HEAD ff &&
 
        # The above only validates the result.  Did we actually bypass rebase?
index 860542aad00b21304d38b4b294f7efd48356bfd0..d383ce813029cc7ac18ecbf6ca7ebc679625a617 100755 (executable)
@@ -186,7 +186,7 @@ test_expect_success 'check multiple merge bases' '
        )
 '
 
-test_expect_success 'rebase describes fake ancestor base' '
+test_expect_success 'rebase --merge describes parent of commit being picked' '
        test_create_repo rebase &&
        (
                cd rebase &&
@@ -194,7 +194,16 @@ test_expect_success 'rebase describes fake ancestor base' '
                test_commit master file &&
                git checkout -b side HEAD^ &&
                test_commit side file &&
-               test_must_fail git -c merge.conflictstyle=diff3 rebase master &&
+               test_must_fail git -c merge.conflictstyle=diff3 rebase --merge master &&
+               grep "||||||| parent of" file
+       )
+'
+
+test_expect_success 'rebase --am describes fake ancestor base' '
+       (
+               cd rebase &&
+               git rebase --abort &&
+               test_must_fail git -c merge.conflictstyle=diff3 rebase --am master &&
                grep "||||||| constructed merge base" file
        )
 '