summaryrefslogtreecommitdiff
path: root/contrib
diff options
context:
space:
mode:
authorSZEDER Gábor <szeder@ira.uka.de>2015-05-10 12:50:18 (GMT)
committerJunio C Hamano <gitster@pobox.com>2015-05-12 22:16:46 (GMT)
commit12bdc880c793e87b5485a1316a3a0c73ef0f1f83 (patch)
tree494f5c30fbcb21d4ac6b1e9efdf48695212539d2 /contrib
parente8f9e42829ddb966194f0d38443f321113032bb0 (diff)
downloadgit-12bdc880c793e87b5485a1316a3a0c73ef0f1f83.zip
git-12bdc880c793e87b5485a1316a3a0c73ef0f1f83.tar.gz
git-12bdc880c793e87b5485a1316a3a0c73ef0f1f83.tar.bz2
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')
-rw-r--r--contrib/completion/git-completion.bash10
1 files changed, 3 insertions, 7 deletions
diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index 4594ebc..078b281 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
}