summaryrefslogtreecommitdiff
path: root/contrib/completion/git-completion.bash
diff options
context:
space:
mode:
authorSZEDER Gábor <szeder@ira.uka.de>2015-08-10 09:46:06 (GMT)
committerJunio C Hamano <gitster@pobox.com>2015-08-10 17:33:58 (GMT)
commit578625fa918922713a2ecce2b06611e4566778f5 (patch)
treec52e008410a474e5640c02d1093e1cb99e29cce9 /contrib/completion/git-completion.bash
parent77bd3ea9f54f1584147b594abc04c26ca516d987 (diff)
downloadgit-578625fa918922713a2ecce2b06611e4566778f5.zip
git-578625fa918922713a2ecce2b06611e4566778f5.tar.gz
git-578625fa918922713a2ecce2b06611e4566778f5.tar.bz2
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>
Diffstat (limited to 'contrib/completion/git-completion.bash')
-rw-r--r--contrib/completion/git-completion.bash1
1 files changed, 1 insertions, 0 deletions
diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index bfc74e9..e9877e1 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -1887,6 +1887,7 @@ _git_config ()
--get --get-all --get-regexp
--add --unset --unset-all
--remove-section --rename-section
+ --name-only
"
return
;;