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

Re: git commit file completion recently broke

From
Christian Couder <christian.couder@gmail.com>
Date
Dec 7, 2017, 08:14 UTC
Message-ID
<CAP8UFD3iL_sRgvhm7YO_jVG5RiNn1=JRW0qvhBEPcUtCorWdYA@mail.gmail.com>
In-Reply-To
<20171207005639.GB1975@sigill.intra.peff.net>
On Thu, Dec 7, 2017 at 1:56 AM, Jeff King <peff@peff.net> wrote:
Show 11 quoted lines
> I think we'd do better to just assign NULL when there's "=", so we can
> tell the difference between "--relative", "--relative=", and
> "--relative=foo" (all of which are distinct).
>
> I think that's possible with the current scheme by doing:
>
>   else if (skip_to_optional_val_default(arg, "--relative", &arg, NULL)) {
>         options->flags.relative_name = 1;
>         if (arg)
>                 options->prefix = arg;
>   }
Yeah, that is a possible fix.
> IOW, the problem isn't in the design of the skip function, but just how
> it was used in this particular case.
I agree.
Show 8 quoted lines
> I do think it may make sense for
> the "short" one to use NULL, like:
>
>   skip_to_optional_val(arg, "--relative, &arg)
>
> but maybe some other callers would be more inconvenienced (they may have
> to current NULL back into the empty string if they want to string
> "--foo" the same as "--foo=").

I discussed that with Junio and yeah there are many callers that want "--foo" to be the same as "--foo=".

By the way I wonder if "--relative=" makes any sense, and if we should emit a warning or just die in this case.

Previous: Jeff KingNext: Jeff King
Message 10 of 13 in “git commit file completion recently broke”
  1. Jacob KellerDec 6, 2017
  2. Jacob KellerDec 7, 2017
  3. Jacob KellerDec 7, 2017
  4. Jeff KingDec 7, 2017
  5. Jeff KingDec 7, 2017
  6. Jacob KellerDec 7, 2017
  7. Jeff KingDec 7, 2017
  8. Jacob KellerDec 7, 2017
  9. Jeff KingDec 7, 2017
  10. Christian CouderDec 7, 2017
  11. Jeff KingDec 7, 2017
  12. Junio C HamanoDec 7, 2017
  13. Jacob KellerDec 7, 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.