From: Junio C Hamano Date: Fri, 22 May 2015 19:41:53 +0000 (-0700) Subject: Merge branch 'sg/completion-config' X-Git-Tag: v2.5.0-rc0~88 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/935d93764466c52cae7218c13bde93043bd609bd?hp=-c Merge branch 'sg/completion-config' Code clean-up for completion script (in contrib/). * sg/completion-config: completion: simplify query for config variables completion: add a helper function to get config variables --- 935d93764466c52cae7218c13bde93043bd609bd diff --combined contrib/completion/git-completion.bash index 20b8114612,078b281f69..bfc74e9d57 --- a/contrib/completion/git-completion.bash +++ b/contrib/completion/git-completion.bash @@@ -665,8 -665,8 +665,8 @@@ __git_list_porcelain_commands ( checkout-index) : plumbing;; commit-tree) : plumbing;; count-objects) : infrequent;; - credential-cache) : credentials helper;; - credential-store) : credentials helper;; + credential) : credentials;; + credential-*) : credentials helper;; cvsexportcommit) : export;; cvsimport) : import;; cvsserver) : daemon;; @@@ -739,30 -739,25 +739,25 @@@ __git_compute_porcelain_commands ( __git_porcelain_commands=$(__git_list_porcelain_commands) } + # Lists all set config variables starting with the given section prefix, + # with the prefix removed. + __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 + i="${i#$section.}" + echo "${i/ */}" + done + } + __git_pretty_aliases () { - local i IFS=$'\n' - for i in $(git --git-dir="$(__gitdir)" config --get-regexp "pretty\..*" 2>/dev/null); do - case "$i" in - pretty.*) - i="${i#pretty.}" - echo "${i/ */}" - ;; - esac - done + __git_get_config_variables "pretty" } __git_aliases () { - local i IFS=$'\n' - for i in $(git --git-dir="$(__gitdir)" config --get-regexp "alias\..*" 2>/dev/null); do - case "$i" in - alias.*) - i="${i#alias.}" - echo "${i/ */}" - ;; - esac - done + __git_get_config_variables "alias" } # __git_aliased_command requires 1 argument @@@ -2122,7 -2117,6 +2117,7 @@@ _git_config ( http.noEPSV http.postBuffer http.proxy + http.sslCipherList http.sslCAInfo http.sslCAPath http.sslCert @@@ -2260,12 -2254,7 +2255,7 @@@ _git_remote ( __git_complete_remote_or_refspec ;; update) - local i c='' IFS=$'\n' - for i in $(git --git-dir="$(__gitdir)" config --get-regexp "remotes\..*" 2>/dev/null); do - i="${i#remotes.}" - c="$c ${i/ */}" - done - __gitcomp "$c" + __gitcomp "$(__git_get_config_variables "remotes")" ;; *) ;;