Refactor some of our internal C code to use a new git_config_tristate() functino instead of checking for "auto" or "bool" in several places. This isn't just Yet Another Ævar Series, I'm using this to re-roll my outstanding userdiff series, the start of that topic was a partial refactor of userdiff.c which is better done here. While writing this I discovered that the recently added --bool-or-type option added in https://lore.kernel.org/git/pull.781.v18.git.git.1599895268433.gitgitgadget@xxxxxxxxx/ didn't have any tests (and we didn't notice in 18! iterations of it:) 2/5 adds that, 1/5 adds a comment on some bool parsing code that's puzzled me for the Nth time. Ævar Arnfjörð Bjarmason (5): config.c: add a comment about why value=NULL is true config tests: test for --bool-or-str git-config: document --bool-or-str and --type=bool-or-str config.c: add a "tristate" helper config: add --type=bool-or-auto switch Documentation/git-config.txt | 7 ++ builtin/config.c | 19 ++++++ builtin/log.c | 13 ++-- compat/mingw.c | 6 +- config.c | 20 ++++++ config.h | 12 ++++ http.c | 5 +- mergetools/meld | 2 +- t/t1300-config.sh | 121 +++++++++++++++++++++++++++++++++++ userdiff.c | 6 +- 10 files changed, 195 insertions(+), 16 deletions(-) -- 2.31.1.527.g9b8f7de2547