From: Phillip Wood <phillip.wood@xxxxxxxxxxxxx> Make sure that --autostage stages any changes and fails if there are merge markers in the file to be staged. Signed-off-by: Phillip Wood <phillip.wood@xxxxxxxxxxxxx> --- t/t3418-rebase-continue.sh | 35 ++++++++++++++++++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) diff --git a/t/t3418-rebase-continue.sh b/t/t3418-rebase-continue.sh index 4428b9086e8bcb383df801834d0de323f316f4fa..4e71e5d5c2f26866cd5d32bfea445f899398d6c9 100755 --- a/t/t3418-rebase-continue.sh +++ b/t/t3418-rebase-continue.sh @@ -14,7 +14,6 @@ test_expect_success 'setup' ' git checkout -b topic HEAD^ && test_commit "commit-new-file-F2-on-topic-branch" F2 22 && - git checkout master ' @@ -40,6 +39,40 @@ test_expect_success 'non-interactive rebase --continue works with touched file' git rebase --continue ' +reset () { + rm -fr .git/rebase-* && + git reset --hard commit-new-file-F2-on-topic-branch && + git checkout master +} + +test_autostage () { + action=$1 + + test_expect_success "rebase $action --continue --autostage stages changes" ' + reset && + test_must_fail git rebase $action --onto master master topic && + echo "Resolved" >F2 && + git rebase --continue --autostage +' + + test_expect_success "rebase $action --continue --autostage fails when there are merge markers (1)" ' + reset && + test_must_fail git rebase $action --onto master master topic && + test_must_fail git rebase --continue --autostage +' + + test_expect_success "rebase $action --continue --autostage fails when there are merge markers (2)" ' + reset && + test_must_fail git rebase $action --onto master master topic && + git reset -- F2 && + test_must_fail git rebase --continue --autostage + ' +} + +test_autostage +test_autostage -i +test_autostage -m + test_expect_success 'non-interactive rebase --continue with rerere enabled' ' test_config rerere.enabled true && test_when_finished "test_might_fail git rebase --abort" && -- 2.13.3