[PATCH 0/6] clean up parsing of maybe_bool
- From
- Martin Ågren <martin.agren@gmail.com>
- Date
- Aug 7, 2017, 18:20 UTC
- Message-ID
- <cover.1502128418.git.martin.agren@gmail.com>
When we want to parse a boolean config item without dying on error, we call git_config_maybe_bool() which takes two arguments: the value to be parsed (obviously) and a `name` which is completely ignored. Junio has suggested to drop `name` and rename the function [1]. That effort even started shortly after that, by introducing git_parse_maybe_bool(). The new function currently only has a single user outside config.c.
Patch 5 of this series deprecates the old function and updates all callers to use git_parse_maybe_bool() instead. Patch 6 is a final cleanup: one of the converted callers suddenly had an unused argument.
Patches 3 and 4 prepare for the switch. In particular, patch 4 ensures that the two functions are actually equivalent. In doing so, it affects `git push --signed=..` which was very slightly inconsistent to the rest of Git.
Patch 2 adds a failing test in preparation for patch 4. Patch 1 corrects the documentation not to say "git push --sign=.." to make it a bit more obvious that the opposite typo is not being made in patches 2 and 4.
git_parse_maybe_bool is used in sb/diff-color-move, which is in "next". This series makes --color-moved and diff.colormoved consistent with other booleans. That should be a good thing, but cc Stefan to be sure.
Martin
[1] https://public-inbox.org/git/xmqq7fotd71o.fsf@gitster.dls.corp.google.com/
Martin Ågren (6):
Doc/git-{push,send-pack}: correct --sign= to --signed=
t5334: document that git push --signed=1 does not work
config: introduce git_parse_maybe_bool_text
config: make git_{config,parse}_maybe_bool equivalent
treewide: deprecate git_config_maybe_bool, use git_parse_maybe_bool
parse_decoration_style: drop unused argument `var`Documentation/git-push.txt | 4 ++-- Documentation/git-send-pack.txt | 4 ++-- Documentation/technical/api-config.txt | 4 ++++ t/t5534-push-signed.sh | 7 +++++++ builtin/log.c | 10 +++++----- builtin/merge.c | 4 ++-- builtin/pull.c | 4 ++-- builtin/push.c | 2 +- builtin/remote.c | 2 +- builtin/send-pack.c | 2 +- config.c | 15 ++++++++++----- pager.c | 2 +- submodule-config.c | 6 +++--- 13 files changed, 41 insertions(+), 25 deletions(-)
-- 2.14.0.5.g0f7b1ed27