Subject: Re: [PATCH] doc: centrally document various ways spell `true` and `false`

From: Junio C Hamano <[email-masked]>
Date: Thu, 13 Mar 2025 05:26:39 -0700

Taylor Blau <[email-masked]> writes:

>> +- 'bool': canonicalize values `true`, `yes`,`on`, and positive
>> +  numbers as "true", and values `false`, `no`, `off` and `0` as
>> +  "false".
> ...
> I agree with the rest of the patch, but is this true (no pun intended
> ;-))? I thought that we might canonicalize "yes" to "yes" if the value
> we are asking about is already something other than a literal "true" or
> "false", but I don't think we do:
>
>     $ git.compile -c foo.bar=yes config --type=bool foo.bar
>     true

Sorry, but you lost me.  Isn't the above demonstration of 'yes' you
gave getting canonicalized to 'true'?

	$ for v in yes 1 2 on
	> do
	>    git -c foo.bar=$v config --type=bool foo.bar
	> done
	true
	true
	true
	true

Or are you saying that the above documents what happens, but you
think the code is wrong to do so?

> So I do think that it is worth saying "you can spell 'true' as 'yes',
> '1', ..." in the documentation, but I don't think that it is correct
> that we'll canonicalize "yes" to "true" in the case described here.