Subject: Re: [PATCH v2] builtins + test helpers: use return instead of exit() in cmd_*

From: Junio C Hamano <[email-masked]>
Date: Wed, 09 Jun 2021 12:38:11 +0900

Ævar Arnfjörð Bjarmason <[email-masked]> writes:

> So it's really the opposite of what you're saying. If you have cleanups
> that are truly important, i.e. so important that you'd like to notify
> the user with a non-zero exit code if they fail, you *don't* want them
> in an atexit handler. That won't work.

Ah, OK.  What I had in mind was things like removing the directory
"clone" attempted to create and populate, removing temporary files,
etc.  when a function that is not marked as NORETURN calls die(), by
the atexit handler.  But you're right.  We leave a final clean-up
for normal returns (i.e. when cmd_foo() intends to return or exit
with 0) to be done to the caller that is git.::run_builtin().

Thanks.