Re: [PATCH] config.c: avoid segfault with --fixed-value and valueless config
- From
Taylor Blau <me@ttaylorr.com>
- Date
- Aug 5, 2024, 19:46 UTC
- Message-ID
- <ZrEsIhWTgkdNn3I/@nand.local>
- In-Reply-To
- <xmqqa5hr55yb.fsf@gitster.g>
On Mon, Aug 05, 2024 at 08:45:32AM -0700, Junio C Hamano wrote:
Show 14 quoted lines
> Patrick Steinhardt <ps@pks.im> writes: > > > Edge cases like this really make me wonder what the benefit of implicit > > bools is in our config files. > > > > So... why do we have them in the first place? Is there even a single > > good reason? > > There isn't any good reason to introduce such a syntax if we were > desigining the configuration file format from scratch. It was added > because originally Linus thought it was a cute syntax, and these > days a lot lot more importantly, it is kept working because you will > break a lot of existing configuration files that were hand tweaked > if you remove the support suddenly.
I agree. It's perhaps interesting to think about in the context of the discussion in [1], but I think also worth having some perspective above.
Sure, this configuration syntax would not be invented anew today, but I also don't think it's worth breaking existing configurations, even in a hypothetical "Git 3.0" release.
In some sense I am sympathetic to Patrick's argument, but I also think that having a bug in a relatively niche feature like --fixed-value that wasn't noticed for almost four years over 17 [2] releases isn't itself a strong argument for removing the feature.
Thanks, Taylor
[1]: <fc1a9fa03de7330f79dc56b0f2712834cb236b5a.1715070296.git.ps@pks.im> [2]: $ git tag --contains c90702a1f6 'v2.*.0' | wc -l