From: Junio C Hamano Date: Wed, 09 Jun 2021 03:38:11 GMT Subject: Re: [PATCH v2] builtins + test helpers: use return instead of exit() in cmd_* Message-ID: In-Reply-To: <87im2n3gje.fsf@evledraar.gmail.com> Ævar Arnfjörð Bjarmason 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.