Code

Reallow git-rebase --interactive --continue if commit is unnecessary
authorShawn O. Pearce <spearce@spearce.org>
Thu, 20 Dec 2007 07:12:12 +0000 (02:12 -0500)
committerJunio C Hamano <gitster@pobox.com>
Thu, 20 Dec 2007 09:12:41 +0000 (01:12 -0800)
During git-rebase --interactive's --continue implementation we used
to silently restart the rebase if the user had made the commit
for us.  This is common if the user stops to edit a commit and
does so by amending it.  My recent change to watch git-commit's
exit status broke this behavior.

Thanks to Bernt Hansen for catching it in 1.5.4-rc1.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
git-rebase--interactive.sh

index 47581ced5a862a8d21f09d096fe9b20507e27274..090c3e51437969459f2b4f4625d5785d79c05084 100755 (executable)
@@ -372,8 +372,10 @@ do
                        test ! -f "$DOTEST"/amend || git reset --soft HEAD^
                } &&
                export GIT_AUTHOR_NAME GIT_AUTHOR_EMAIL GIT_AUTHOR_DATE &&
-               git commit --no-verify -F "$DOTEST"/message -e ||
+               if ! git commit --no-verify -F "$DOTEST"/message -e
+               then
                        die "Could not commit staged changes."
+               fi
 
                require_clean_work_tree
                do_rest