Skip to content

Commit

Permalink
Merge branch 'aw/rebase-i-stop-on-failure-to-amend'
Browse files Browse the repository at this point in the history
* aw/rebase-i-stop-on-failure-to-amend:
  rebase -i: interrupt rebase when "commit --amend" failed during "reword"
  • Loading branch information
gitster committed Dec 17, 2011
2 parents e9bba53 + 0becb3e commit e45c9b0
Showing 1 changed file with 23 additions and 13 deletions.
36 changes: 23 additions & 13 deletions git-rebase--interactive.sh
Expand Up @@ -143,6 +143,21 @@ die_with_patch () {
die "$2"
}

exit_with_patch () {
echo "$1" > "$state_dir"/stopped-sha
make_patch $1
git rev-parse --verify HEAD > "$amend"
warn "You can amend the commit now, with"
warn
warn " git commit --amend"
warn
warn "Once you are satisfied with your changes, run"
warn
warn " git rebase --continue"
warn
exit $2
}

die_abort () {
rm -rf "$state_dir"
die "$1"
Expand Down Expand Up @@ -408,7 +423,13 @@ do_next () {
mark_action_done
pick_one $sha1 ||
die_with_patch $sha1 "Could not apply $sha1... $rest"
git commit --amend --no-post-rewrite
git commit --amend --no-post-rewrite || {
warn "Could not amend commit after successfully picking $sha1... $rest"
warn "This is most likely due to an empty commit message, or the pre-commit hook"
warn "failed. If the pre-commit hook failed, you may need to resolve the issue before"
warn "you are able to reword the commit."
exit_with_patch $sha1 1
}
record_in_rewritten $sha1
;;
edit|e)
Expand All @@ -417,19 +438,8 @@ do_next () {
mark_action_done
pick_one $sha1 ||
die_with_patch $sha1 "Could not apply $sha1... $rest"
echo "$sha1" > "$state_dir"/stopped-sha
make_patch $sha1
git rev-parse --verify HEAD > "$amend"
warn "Stopped at $sha1... $rest"
warn "You can amend the commit now, with"
warn
warn " git commit --amend"
warn
warn "Once you are satisfied with your changes, run"
warn
warn " git rebase --continue"
warn
exit 0
exit_with_patch $sha1 0
;;
squash|s|fixup|f)
case "$command" in
Expand Down

0 comments on commit e45c9b0

Please sign in to comment.