diff options
author | Junio C Hamano <gitster@pobox.com> | 2010-06-22 09:31:48 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2010-06-22 09:31:48 -0700 |
commit | b2ebbd8f1311608622ede7a1286839ef64edfc86 (patch) | |
tree | d0967e6b40cfd76242c7447f22c2b70958fb863d | |
parent | Merge branch 'cc/maint-commit-reflog-msg' into maint (diff) | |
parent | rebase -i: Abort cleanly if new base cannot be checked out (diff) | |
download | tgif-b2ebbd8f1311608622ede7a1286839ef64edfc86.tar.xz |
Merge branch 'ic/maint-rebase-i-abort' into maint
* ic/maint-rebase-i-abort:
rebase -i: Abort cleanly if new base cannot be checked out
-rwxr-xr-x | git-rebase--interactive.sh | 3 | ||||
-rwxr-xr-x | t/t3404-rebase-interactive.sh | 10 |
2 files changed, 12 insertions, 1 deletions
diff --git a/git-rebase--interactive.sh b/git-rebase--interactive.sh index 436b7f5977..6b86abc64b 100755 --- a/git-rebase--interactive.sh +++ b/git-rebase--interactive.sh @@ -974,8 +974,9 @@ EOF test -d "$REWRITTEN" || test -n "$NEVER_FF" || skip_unnecessary_picks + output git checkout $ONTO || die_abort "could not detach HEAD" git update-ref ORIG_HEAD $HEAD - output git checkout $ONTO && do_rest + do_rest ;; esac shift diff --git a/t/t3404-rebase-interactive.sh b/t/t3404-rebase-interactive.sh index 6668907ec5..ee9a1b25e6 100755 --- a/t/t3404-rebase-interactive.sh +++ b/t/t3404-rebase-interactive.sh @@ -146,6 +146,16 @@ test_expect_success 'abort' ' ! test -d .git/rebase-merge ' +test_expect_success 'abort with error when new base cannot be checked out' ' + git rm --cached file1 && + git commit -m "remove file in base" && + test_must_fail git rebase -i master > output 2>&1 && + grep "Untracked working tree file .file1. would be overwritten" \ + output && + ! test -d .git/rebase-merge && + git reset --hard HEAD^ +' + test_expect_success 'retain authorship' ' echo A > file7 && git add file7 && |