remote-curl.c: Fix a compiler warning
[gitweb.git] / t / t3404-rebase-interactive.sh
index b981572d736a1adf8da5281f31e580982e2059af..eab8501e11b31a65abc405885be425359220fdaa 100755 (executable)
@@ -247,6 +247,7 @@ test_expect_success '-p handles "no changes" gracefully' '
 '
 
 test_expect_failure 'exchange two commits with -p' '
+       git checkout H &&
        FAKE_LINES="2 1" git rebase -i -p HEAD~2 &&
        test H = $(git cat-file commit HEAD^ | sed -ne \$p) &&
        test G = $(git cat-file commit HEAD | sed -ne \$p)
@@ -624,8 +625,38 @@ test_expect_success 'submodule rebase -i' '
        FAKE_LINES="1 squash 2 3" git rebase -i A
 '
 
+test_expect_success 'submodule conflict setup' '
+       git tag submodule-base &&
+       git checkout HEAD^ &&
+       (
+               cd sub && git checkout HEAD^ && echo 4 >elif &&
+               git add elif && git commit -m "submodule conflict"
+       ) &&
+       git add sub &&
+       test_tick &&
+       git commit -m "Conflict in submodule" &&
+       git tag submodule-topic
+'
+
+test_expect_success 'rebase -i continue with only submodule staged' '
+       test_must_fail git rebase -i submodule-base &&
+       git add sub &&
+       git rebase --continue &&
+       test $(git rev-parse submodule-base) != $(git rev-parse HEAD)
+'
+
+test_expect_success 'rebase -i continue with unstaged submodule' '
+       git checkout submodule-topic &&
+       git reset --hard &&
+       test_must_fail git rebase -i submodule-base &&
+       git reset &&
+       git rebase --continue &&
+       test $(git rev-parse submodule-base) = $(git rev-parse HEAD)
+'
+
 test_expect_success 'avoid unnecessary reset' '
        git checkout master &&
+       git reset --hard &&
        test-chmtime =123456789 file3 &&
        git update-index --refresh &&
        HEAD=$(git rev-parse HEAD) &&