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@xxxxxxxxxxxxxx> --- 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 - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html