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

Re: [PATCHv2 1/5] revision.h: turn rev_info.early_output back into an unsigned int

From
Jeff King <peff@peff.net>
Date
Jun 10, 2017, 06:41 UTC
Message-ID
<20170610064102.w4kp6omxdznfe7fa@sigill.intra.peff.net>
In-Reply-To
<20170609181733.6793-2-szeder.dev@gmail.com>
On Fri, Jun 09, 2017 at 08:17:29PM +0200, SZEDER Gábor wrote:
Show 9 quoted lines
> rev_info.early_output started out as an unsigned int in cdcefbc97 (Add
> "--early-output" log flag for interactive GUI use, 2007-11-03), but
> later it was turned into a single bit in a bit field in cc243c3ce
> (show: --ignore-missing, 2011-05-18) without explanation, though its
> users still expect it to be a regular integer type.  Consequently, any
> even number given via '--early-output=<N>' effectively disabled the
> feature.
> 
> Turn it back into an unsigned int, restoring its original data type.

This confused me for a moment, as on my first read it seems like the obvious solution is to normalize the input to a bit-field, like:

  revs->early_output = !!atoi(optarg);

But the "users still expect" bit was a bit subtle to me, as I thought you meant users of Git. But you mean that the feature itself is not a boolean, but rather an integer count of how much early output to show.

I'm not sure if I was just being thick or if that point (and the fact that --early-output has basically been a noop since 2011!) should be made more explicit.

Given that nobody noticed, I kind of wonder if we should consider ripping the feature out entirely.

-Peff
Previous: SZEDER GáborNext: SZEDER Gábor
Message 8 of 22 in “Use skip_prefix() in handle_revision_{,pseudo_}opt()”
  1. 0/3 Use skip_prefix() in handle_revision_{,pseudo_}opt()SZEDER Gábor, Jun 2, 2017
  2. 1/3 revision.c: stricter parsing of '--no-{min,max}-parents'SZEDER Gábor, Jun 2, 2017
  3. 2/3 revision.c: use skip_prefix() in handle_revision_opt()SZEDER Gábor, Jun 2, 2017
  4. Jeff KingJun 2, 2017
  5. Jeff KingJun 2, 2017
  6. SZEDER GáborJun 9, 2017
  7. 1/5 revision.h: turn rev_info.early_output back into an unsigned intSZEDER Gábor, Jun 9, 2017
  8. Jeff KingJun 10, 2017
  9. [PATCHv2.1] revision.h: turn rev_info.early_output back into an unsigned intSZEDER Gábor, Jun 10, 2017
  10. Jeff KingJun 12, 2017
  11. Junio C HamanoJun 12, 2017
  12. Jeff KingJun 12, 2017
  13. Jeff KingJun 13, 2017
  14. 2/5 revision.c: stricter parsing of '--no-{min,max}-parents'SZEDER Gábor, Jun 9, 2017
  15. 3/5 revision.c: stricter parsing of '--early-output'SZEDER Gábor, Jun 9, 2017
  16. Junio C HamanoJun 10, 2017
  17. 5/5 revision.c: use skip_prefix() in handle_revision_pseudo_opt()SZEDER Gábor, Jun 9, 2017
  18. 4/5 revision.c: use skip_prefix() in handle_revision_opt()SZEDER Gábor, Jun 9, 2017
  19. Jeff KingJun 10, 2017
  20. Jeff KingJun 10, 2017
  21. 3/3 revision.c: use skip_prefix() in handle_revision_pseudo_opt()SZEDER Gábor, Jun 2, 2017
  22. Jeff KingJun 2, 2017

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.