It's not very intuitive that git_parse_maybe_bool_text() would consider NULL to be a true value. Add a small comment about it. See a789ca70e7 (config: teach "git -c" to recognize an empty string, 2014-08-04) for the behavior of "git -c", but we'll end up here in both the config file parsing and command-line parsing cases. Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@xxxxxxxxx> --- config.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/config.c b/config.c index 6428393a41..fc28dbd97c 100644 --- a/config.c +++ b/config.c @@ -1229,6 +1229,10 @@ ssize_t git_config_ssize_t(const char *name, const char *value) static int git_parse_maybe_bool_text(const char *value) { if (!value) + /* + * "[foo]\nbar\n" and "-c foo.bar" on the command-line + * are true. + */ return 1; if (!*value) return 0; -- 2.31.1.527.g9b8f7de2547