git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [RFC PATCH] Make rev-parse -q and --is-* quiet

From
Junio C Hamano <gitster@pobox.com>
Date
Mar 13, 2020, 18:18 UTC
Message-ID
<xmqqa74kce4t.fsf@gitster.c.googlers.com>
In-Reply-To
<20200313174755.GA549554@coredump.intra.peff.net>
Jeff King <peff@peff.net> writes:
Show 9 quoted lines
> I'm not sure if returning a single is_set makes sense, though. It
> effectively becomes an OR, and you wouldn't know which flag triggered
> it. It would make more sense to me for the invocation above to simply be
> an error, reminding the caller that they need to handle it more
> carefully.
>
> We _could_ encode each value into the exit code (e.g., set bit 1 if the
> first condition was true, and so on). But checking that becomes as much
> hassle as reading stdout, so there's little value.

None of the above excites me. I do not think it makes much sense to combine -q with --is-* for the reasons you stated already (i.e. the caller cannot tell between "failure" and "false") in the first place, but if we must do this:

 - reserve 0 (true) and 1 (false) for successful exit and use 2 (or
   above) for other failures;
 - when --quiet is in use, make --is-* mutually exclusive and die
   when more than one of them is given.  I think any of the --is-*,
   when used with --quiet, should also be an error if there are revs
   on the command line (e.g. "git rev-parse --is-inside-git-dir
   HEAD" is OK, but not with "--quiet").

is the minimum that makes me feel that we have semi-reasonable behaviour that can be explained to end users.

Previous: Jeff KingNext: Erlend Aasland
Message 3 of 5 in “Re: [RFC PATCH] Make rev-parse -q and --is-* quiet”
  1. Abhishek KumarMar 13, 2020
  2. Jeff KingMar 13, 2020
  3. Junio C HamanoMar 13, 2020
  4. Erlend AaslandMar 13, 2020
  5. Eric SunshineMar 13, 2020

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.