config: add '--name-only' option to list only variable names
commit578625fa918922713a2ecce2b06611e4566778f5
authorSZEDER Gábor <szeder@ira.uka.de>
Mon, 10 Aug 2015 09:46:06 +0000 (10 11:46 +0200)
committerJunio C Hamano <gitster@pobox.com>
Mon, 10 Aug 2015 17:33:58 +0000 (10 10:33 -0700)
treec52e008410a474e5640c02d1093e1cb99e29cce9
parent77bd3ea9f54f1584147b594abc04c26ca516d987
config: add '--name-only' option to list only variable names

'git config' can only show values or name-value pairs, so if a shell
script needs the names of set config variables it has to run 'git config
--list' or '--get-regexp' and parse the output to separate config
variable names from their values.  However, such a parsing can't cope
with multi-line values.  Though 'git config' can produce null-terminated
output for newline-safe parsing, that's of no use in such a case, becase
shells can't cope with null characters.

Even our own bash completion script suffers from these issues.

Help the completion script, and shell scripts in general, by introducing
the '--name-only' option to modify the output of '--list' and
'--get-regexp' to list only the names of config variables, so they don't
have to perform error-prone post processing to separate variable names
from their values anymore.

Signed-off-by: SZEDER Gábor <szeder@ira.uka.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Documentation/git-config.txt
builtin/config.c
contrib/completion/git-completion.bash
t/t1300-repo-config.sh