OSDN Git Service

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 3853b51..5014ae0 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"