Skip to content

Commit

Permalink
add: check return value of launch_editor
Browse files Browse the repository at this point in the history
When running "add -e", if launching the editor fails, we do
not notice and continue as if the output is what the user
asked for. The likely case is that the editor did not touch
the contents at all, and we end up adding everything.

Reported-by: Russ Cox <rsc@golang.org>
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
Jeff King authored and Junio C Hamano committed May 13, 2015
1 parent 282616c commit cb64800
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 1 deletion.
3 changes: 2 additions & 1 deletion builtin/add.c
Original file line number Diff line number Diff line change
Expand Up @@ -207,7 +207,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);
Expand Down
7 changes: 7 additions & 0 deletions t/t3702-add-edit.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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

0 comments on commit cb64800

Please sign in to comment.