summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2015-05-22 12:41:55 -0700
committerJunio C Hamano <gitster@pobox.com>2015-05-22 12:41:55 -0700
commit29b2041c2a91d2f80afa9d4e0f6eeb77a3ff5bc6 (patch)
treee0ba066f9c04441aef5d34c41e24751415233da7
parent935d93764466c52cae7218c13bde93043bd609bd (diff)
parentcb64800d83ace6fecb8701151cfdb6ed0712702c (diff)
downloadgit-29b2041c2a91d2f80afa9d4e0f6eeb77a3ff5bc6.tar.gz
Merge branch 'jk/add-e-kill-editor'
"git add -e" did not allow the user to abort the operation by killing the editor. * jk/add-e-kill-editor: add: check return value of launch_editor
-rw-r--r--builtin/add.c3
-rwxr-xr-xt/t3702-add-edit.sh7
2 files changed, 9 insertions, 1 deletions
diff --git a/builtin/add.c b/builtin/add.c
index ee370b059a..df5135bf62 100644
--- a/builtin/add.c
+++ b/builtin/add.c
@@ -209,7 +209,8 @@ static int edit_patch(int argc, const char **argv, const char *prefix)
if (run_diff_files(&rev, 0))
die(_("Could not write patch"));
- launch_editor(file, NULL, NULL);
+ if (launch_editor(file, NULL, NULL))
+ die(_("editing patch failed"));
if (stat(file, &st))
die_errno(_("Could not stat '%s'"), file);
diff --git a/t/t3702-add-edit.sh b/t/t3702-add-edit.sh
index 4ee47cc9a8..3cb74ca296 100755
--- a/t/t3702-add-edit.sh
+++ b/t/t3702-add-edit.sh
@@ -118,4 +118,11 @@ test_expect_success 'add -e' '
'
+test_expect_success 'add -e notices editor failure' '
+ git reset --hard &&
+ echo change >>file &&
+ test_must_fail env GIT_EDITOR=false git add -e &&
+ test_expect_code 1 git diff --exit-code
+'
+
test_done