rebase -i: abort cleanly if the editor fails to launch
authorBjörn Gustavsson <bgustavsson@gmail.com>
Sat, 19 Dec 2009 12:04:03 +0000 (13:04 +0100)
committerJunio C Hamano <gitster@pobox.com>
Sun, 20 Dec 2009 07:20:05 +0000 (23:20 -0800)
If the user's configured editor is emacsclient, the editor
will fail to launch if emacs is not running and the git
command that tried to lanuch the editor will abort. For most
commands, all you have to do is to start emacs and repeat
the command.

The "git rebase -i" command, however, aborts without cleaning
the "$GIT_DIR/rebase-merge" directory if it fails to launch the
editor, so you'll need to do "git rebase --abort" before
repeating the rebase command.

Change "git rebase -i" to terminate using "die_abort" (instead of
with "die") if the initial launch of the editor fails.

Signed-off-by: Björn Gustavsson <bgustavsson@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
git-rebase--interactive.sh

index 3853b513b55820d316db436373742af5bb26e6b7..5014ae0579753a09d0c52742d0d0ddb8db5ac8c9 100755 (executable)
@@ -770,7 +770,7 @@ EOF
 
                cp "$TODO" "$TODO".backup
                git_editor "$TODO" ||
-                       die "Could not execute editor"
+                       die_abort "Could not execute editor"
 
                has_action "$TODO" ||
                        die_abort "Nothing to do"