config: make git_{config,parse}_maybe_bool equivalent
commit4666741823239ed45ce9a63914dfd3c1601cf868
authorMartin Ågren <martin.agren@gmail.com>
Mon, 7 Aug 2017 18:20:48 +0000 (7 20:20 +0200)
committerJunio C Hamano <gitster@pobox.com>
Mon, 7 Aug 2017 20:27:24 +0000 (7 13:27 -0700)
tree6c5e8009ab38dcbcf1e323831b67f0fd5b8f9ef1
parent9be04d64c9b45a37cba161ba2eff2e784f87f91a
config: make git_{config,parse}_maybe_bool equivalent

Both of these act on a string `value` which they parse as a boolean. The
"parse"-variant was introduced as a replacement for the "config"-variant
which for historical reasons takes an unused argument `name`. That it
was intended as a replacement is not obvious from commit 9a549d43
("config.c: rename git_config_maybe_bool_text and export it as
git_parse_maybe_bool", 2015-08-19), but that is what the background on
the mailing list suggests [1].

However, these two functions do not parse `value` in exactly the same
way. In particular, git_config_maybe_bool accepts integers (0 for false,
non-0 for true). This means there are two slightly different definitions
of "maybe_bool" in the code-base, and that every time a call to
git_config_maybe_bool is changed to use git_parse_maybe_bool, it risks
breaking someone's workflow.

Move the implementation of "config" into "parse" and make the latter a
trivial wrapper.

This also fixes the only user of git_parse_maybe_bool, `git push
--signed=..`.

[1] https://public-inbox.org/git/xmqq7fotd71o.fsf@gitster.dls.corp.google.com/

Signed-off-by: Martin Ågren <martin.agren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
config.c
t/t5534-push-signed.sh