On Fri, Jan 10, 2025 at 8:43 AM Scott Chacon <schacon@xxxxxxxxx> wrote: > > Hey, > > On Thu, Jan 9, 2025 at 5:32 PM Junio C Hamano <gitster@xxxxxxxxx> 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