diff options
author | SZEDER Gábor <szeder@ira.uka.de> | 2015-05-10 14:50:18 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2015-05-12 15:16:46 -0700 |
commit | 12bdc880c793e87b5485a1316a3a0c73ef0f1f83 (patch) | |
tree | 494f5c30fbcb21d4ac6b1e9efdf48695212539d2 /contrib/completion | |
parent | completion: add a helper function to get config variables (diff) | |
download | tgif-12bdc880c793e87b5485a1316a3a0c73ef0f1f83.tar.xz |
completion: simplify query for config variables
To get the name of all config variables in a given section we perform a
'git config --get-regex' query for all config variables containing the
name of that section, and then filter its output through a case statement
to throw away those that though contain but don't start with the given
section.
Modify the regex to match only at the beginning, so the case statement
becomes unnecessary and we can get rid of it. Add a test to check that a
match in the middle doesn't fool us.
Signed-off-by: SZEDER Gábor <szeder@ira.uka.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'contrib/completion')
-rw-r--r-- | contrib/completion/git-completion.bash | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash index 4594ebcb1a..078b281f69 100644 --- a/contrib/completion/git-completion.bash +++ b/contrib/completion/git-completion.bash @@ -744,13 +744,9 @@ __git_compute_porcelain_commands () __git_get_config_variables () { local section="$1" i IFS=$'\n' - for i in $(git --git-dir="$(__gitdir)" config --get-regexp "$section\..*" 2>/dev/null); do - case "$i" in - $section.*) - i="${i#$section.}" - echo "${i/ */}" - ;; - esac + for i in $(git --git-dir="$(__gitdir)" config --get-regexp "^$section\..*" 2>/dev/null); do + i="${i#$section.}" + echo "${i/ */}" done } |