Re: [PATCH v2] help: interpret boolean string values for help.autocorrect
- From
Scott Chacon <schacon@gmail.com>
- Date
- Jan 10, 2025, 09:30 UTC
- Message-ID
- <CAP2yMa+5ca22tNMc4qu=yBVd9t74uNnLFbKE3_=EcA5_goM6zw@mail.gmail.com>
- In-Reply-To
- <CAP2yMaJzHM+AyDwjfVNJrDeJt0iip5h_ZxgNJL3V-gVSOjoBWQ@mail.gmail.com>
On Fri, Jan 10, 2025 at 8:43 AM Scott Chacon <schacon@gmail.com> wrote:
Show 30 quoted lines
>
> Hey,
>
> On Thu, Jan 9, 2025 at 5:32 PM Junio C Hamano <gitster@pobox.com> wrote:
> > The flow looks nice, but the pre-context of this hunk starts like
> > this:
> >
> > if (!value)
> > return config_error_nonbool(var);
> > if (!strcmp(value, "never")) {
> > cfg->autocorrect = AUTOCORRECT_NEVER;
> > } else if (!strcmp(value, "immediate")) {
> > cfg->autocorrect = AUTOCORRECT_IMMEDIATELY;
> > } else if (!strcmp(value, "prompt")) {
> >
> > IOW, the new code added at the end of the if/else if/ cascade is way
> > too late.
> >
> > "[help] autocorrect"
> >
> > that specifies "true" has already been rejected as an error, with a
> > now-stale error message saying that the variable is not a Boolean.
>
> I'm not super familiar with this codebase, honestly, but ifaict this
> is not what this does. That top block makes sure that value isn't
> null, which I can't figure out how it would ever be - I've tried a
> bunch of different config values, but I'm not sure it's possible to do
> - and if so it just prints "missing value for help.autocorrect" (the
> nonbool part of that function is something of a misnomer, it appears).
> But again, I can't see how those two lines aren't essentially a no-op.Ah, I see. You can leave off the `=` and that will trigger this error. Though it seems to simultaneously be seen as a configuration error.
❯ ./git test error: missing value for 'help.autocorrect' fatal: bad config line 19 in file .git/config
But if that's the only way it seems to trigger this code path, to essentially have a corrupted config file, does it matter?
Scott