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
Junio C Hamano <gitster@pobox.com>
Date
Jun 12, 2017, 20:36 UTC
Message-ID
<xmqq60g1ndtz.fsf@gitster.mtv.corp.google.com>
In-Reply-To
<20170610064102.w4kp6omxdznfe7fa@sigill.intra.peff.net>
Jeff King <peff@peff.net> writes:
Show 27 quoted lines
> On Fri, Jun 09, 2017 at 08:17:29PM +0200, SZEDER Gábor wrote:
>
>> 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.

Yes, we may want to think about deprecating it, especially given that it is not advertised anywhere.

In any case, the patch looks correct ;-)
Previous: Jeff KingNext: Jeff King
Message 11 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.