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

From: Junio C Hamano <[email-masked]>
Date: Tue, 11 Feb 2025 09:20:07 -0800

We do not seem to centrally document exhaustively ways to spell
Boolean values.

The description in the Environment Variables of git(1) section
assumes that the reader is already familiar with how "Boolean valued
configuration variables" are specified, without referring to
anything, so there is no way for the readers to find out more.

The description of `bool` in the section on "--type
<type>" in "git config --help" might be the place to do so, but it
is not telling us all that much.

The description of Boolean valued placeholders in the pretty formats
section of "git log --help" enumerates the possible values with "etc."
implying there may be other synonyms; shrink the list of samples and
instead refer to the canonical and authoritative source of truth, which
now is git-config(1).

Signed-off-by: Junio C Hamano <[email-masked]>
---

 * Noticed while writing <[email-masked]>, a review for
   <[email-masked]>

 Cc'ed Taylor, as the author of fb0dc3ba (builtin/config.c: support
 `--type=<type>` as preferred alias for `--<type>`, 2018-04-18) this
 patch butchers.

 Documentation/git-config.txt     | 4 +++-
 Documentation/git.txt            | 5 +++--
 Documentation/pretty-formats.txt | 8 ++++----
 3 files changed, 10 insertions(+), 7 deletions(-)

diff --git c/Documentation/git-config.txt w/Documentation/git-config.txt
index 3e420177c1..76042581ec 100644
--- c/Documentation/git-config.txt
+++ w/Documentation/git-config.txt
@@ -213,7 +213,9 @@ See also <<FILES>>.
 +
 Valid `<type>`'s include:
 +
-- 'bool': canonicalize values as either "true" or "false".
+- 'bool': canonicalize values `true`, `yes`,`on`, and positive
+  numbers as "true", and values `false`, `no`, `off` and `0` as
+  "false".
 - 'int': canonicalize values as simple decimal numbers. An optional suffix of
   'k', 'm', or 'g' will cause the value to be multiplied by 1024, 1048576, or
   1073741824 upon input.
diff --git c/Documentation/git.txt w/Documentation/git.txt
index e89a91dd0d..c029a297db 100644
--- c/Documentation/git.txt
+++ w/Documentation/git.txt
@@ -472,8 +472,9 @@ Environment Variables
 ---------------------
 Various Git commands pay attention to environment variables and change
 their behavior.  The environment variables marked as "Boolean" take
-their values the same way as Boolean valued configuration variables, e.g.
-"true", "yes", "on" and positive numbers are taken as "yes".
+their values the same way as Boolean valued configuration variables, i.e.,
+"true", "yes", "on" and positive numbers are taken as "yes", while "false",
+"no", "off", and "0" are taken as "no".
 
 Here are the variables:
 
diff --git c/Documentation/pretty-formats.txt w/Documentation/pretty-formats.txt
index 8ee940b6a4..07475de8c3 100644
--- c/Documentation/pretty-formats.txt
+++ w/Documentation/pretty-formats.txt
@@ -339,10 +339,10 @@ insert an empty string unless we are traversing reflog entries (e.g., by
 decoration format if `--decorate` was not already provided on the command
 line.
 
-The boolean options accept an optional value `[=<bool-value>]`. The values
-`true`, `false`, `on`, `off` etc. are all accepted. See the "boolean"
-sub-section in "EXAMPLES" in linkgit:git-config[1]. If a boolean
-option is given with no value, it's enabled.
+The boolean options accept an optional value `[=<bool-value>]`. The
+values taken by `--type=bool` git-config[1], like `yes` and `off`,
+are all accepted.  Giving a boolean option without `=<value>` is
+equivalent to giving it with `=true`.
 
 If you add a `+` (plus sign) after '%' of a placeholder, a line-feed
 is inserted immediately before the expansion if and only if the