[PATCH 2/3] config: Change output of --get-regexp for valueless keys
- From
Frank Lichtenheld <frank@lichtenheld.de>
- Date
- Jun 25, 2007, 14:03 UTC
- Message-ID
- <11827802363555-git-send-email-frank@lichtenheld.de>
- In-Reply-To
- <200706220156.01175.jnareb@gmail.com>
Print no space after the name of a key without value. Otherwise keys without values are printed exactly the same as keys with empty values.
Signed-off-by: Frank Lichtenheld <frank@lichtenheld.de> --- builtin-config.c | 8 ++++++-- t/t1300-repo-config.sh | 6 ++++++ 2 files changed, 12 insertions(+), 2 deletions(-)
I hope that nobody depends on this specific behaviour. Backwards compatibilty would be a pain here, since the --null patch would get really complicated
diff --git a/builtin-config.c b/builtin-config.c index b2515f7..dbc2339 100644 --- a/builtin-config.c +++ b/builtin-config.c @@ -38,8 +38,12 @@ static int show_config(const char* key_, const char* value_) regexec(regexp, (value_?value_:""), 0, NULL, 0))) return 0; - if (show_keys) - printf("%s ", key_); + if (show_keys) { + if (value_) + printf("%s ", key_); + else + printf("%s", key_); + } if (seen && !do_all) dup_error = 1; if (type == T_INT) diff --git a/t/t1300-repo-config.sh b/t/t1300-repo-config.sh index 7731fa7..8b5e9fc 100755 --- a/t/t1300-repo-config.sh +++ b/t/t1300-repo-config.sh @@ -283,6 +283,12 @@ EOF test_expect_success 'get variable with no value' \ 'git-config --get novalue.variable ^$' +echo novalue.variable > expect + +test_expect_success 'get-regexp variable with no value' \ + 'git-config --get-regexp novalue > output && + cmp output expect' + git-config > output 2>&1 test_expect_success 'no arguments, but no crash' \
-- 1.5.2.1