From: Phillip Wood Date: Mon, 24 Aug 2026 18:35:03 GMT Subject: Re: [PATCH v2] t1401: check symbolic-ref exit codes and --quiet silence Message-ID: <9b5d2c16-3e95-4e3c-8cd9-9c25842bbb4e@gmail.com> In-Reply-To: On 24/08/2026 19:23, Junio C Hamano wrote: > Patrick Steinhardt writes: > >> I'm still not completely sold that this difference is intentional. As >> you mentioned elsewhere, in one code path we use `exit(1)` and in the >> other we use `die(...)` to print an error message, which returs 128. But >> that to me feels more like nobody noticed that those return different >> error codes rather than an intentional difference in design, so casting >> that behaviour into stone with new tests feels wrong to me. > > I tend to agree. The choice of 1 would have been more about "we > need to exit with non-zero status" than "we need to use something > different from what is used by die()". I'd always assumed the difference was to allow scripts to distinguish between an invalid option and the ref not existing, like "git rev-parse --quiet --verify" and "git show-ref --quiet --verify". Thanks Phillip > >> I'd suggest that we either: >> >> - Continue not checking for the exact error code. >> >> - Adapt the `exit(1)` to instead be `die(NULL)` so that we have the >> same error code across both code paths and then verify that both >> have the same error code. > > Both sounds very sensible. > > Especially the former to avoid overspecifying what does not matter > in the end. > > Thanks. >