Git development
 help / color / mirror / Atom feed
* [RFC PATCH 0/1] config: surface editor failure in exit code
@ 2026-08-17 21:19 Kenneth Lorber
  2026-08-17 21:19 ` [RFC PATCH 1/1] " Kenneth Lorber
  2026-08-17 22:39 ` [RFC PATCH 0/1] " Junio C Hamano
  0 siblings, 2 replies; 3+ messages in thread
From: Kenneth Lorber @ 2026-08-17 21:19 UTC (permalink / raw)
  To: git; +Cc: Kenneth Lorber, Patrick Steinhardt, Karthik Nayak, Junio C Hamano

When the editor invoked by 'git config -e' fails (crashes or calls exit(3)
with a non-zero value), git notices and give an error:
	editor.c:launch_specified_editor()
		return error("there was a problem with the editor '%s'", editor);
which is then lost:
	builtin/config.c:show_editor()
		launch_editor(config_file, NULL, NULL);
which results in git always calling exit(0).  Note that the value is
not explicitly thrown away with "(void)", so this may not have been
intentional.

This patch simply passes the returned error out of show_editor(), which
currently has an unconditional "return 0" even though its callers
both check the return value.

While this didn't trigger anything in 'make test', it's possible that
someone is relying on 'git config -e' always succeeding, even if the
editor failed, so this could be considered a breaking change.

The 2 new tests set GIT_EDITOR to true and false and check the return
from git.

RFC because the community may not want to change this behavior and
I'm not thrilled with my test code.

Kenneth Lorber (1):
  config: surface editor failure in exit code

 builtin/config.c  |  5 +++--
 t/t1300-config.sh | 18 ++++++++++++++++++
 2 files changed, 21 insertions(+), 2 deletions(-)


base-commit: 010afd3166ddc64c9863b1506f12cbcdda0d4ea1
-- 
2.43.0



^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2026-08-17 22:39 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-17 21:19 [RFC PATCH 0/1] config: surface editor failure in exit code Kenneth Lorber
2026-08-17 21:19 ` [RFC PATCH 1/1] " Kenneth Lorber
2026-08-17 22:39 ` [RFC PATCH 0/1] " Junio C Hamano

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox