From: Junio C Hamano <gitster@pobox.com>
To: Kenneth Lorber <keni@his.com>
Cc: git@vger.kernel.org, Patrick Steinhardt <ps@pks.im>,
Karthik Nayak <karthik.188@gmail.com>
Subject: Re: [RFC PATCH 0/1] config: surface editor failure in exit code
Date: Mon, 17 Aug 2026 15:39:21 -0700 [thread overview]
Message-ID: <xmqqse4c2wyu.fsf@gitster.g> (raw)
In-Reply-To: <20260817211936.2943278-1-keni@his.com> (Kenneth Lorber's message of "Mon, 17 Aug 2026 17:19:32 -0400")
Kenneth Lorber <keni@his.com> writes:
> 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.
I do not intentionally exit my editor with a non-zero status myself,
but what I hear from others who do is that they do so to affect the
invoking 'git' command, e.g., to stop 'git commit' from creating a
commit. They somehow realize they botched the edit, and they want
to prevent 'git commit' from committing, signaling that by exiting
their editor. A cleaner and more modern way to do so, by the way,
is to empty the editor buffer. In either case, 'git commit' itself
exits with a non-zero status.
It might have been more consistent if 'git config -e' exited with a
non-zero status when it noticed that the editor exited with a
non-zero status, in that sense. But we have never done so, and that
is probably because we did not care ;-)
In any case, I am not sure whether there is much value in making
'git config -e' start behaving that way. Even if it can notice a
failed editor, the damage to the file is already done, and there is
not enough information to undo the damage even if you wanted to when
detecting such an error. This is quite different from when an editor
edits the 'COMMIT_EDITMSG' file and fails.
So, I dunno.
prev parent reply other threads:[~2026-08-17 22:39 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
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 ` Junio C Hamano [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=xmqqse4c2wyu.fsf@gitster.g \
--to=gitster@pobox.com \
--cc=git@vger.kernel.org \
--cc=karthik.188@gmail.com \
--cc=keni@his.com \
--cc=ps@pks.im \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox