Merge branch 'nd/exclude-workaround-top-heavy'
[gitweb.git] / contrib / completion / git-completion.bash
index ac29193b0c8b2f14c34a2bb46930aaaa22b195f0..2e1b5e14b92fe61e02df94ab165c8aab6c06c9cb 100755 (executable)
@@ -676,9 +676,7 @@ __git_complete_revlist_file ()
                *)   pfx="$ref:$pfx" ;;
                esac
 
-               local IFS=$'\n'
-               COMPREPLY=($(compgen -P "$pfx" \
-                       -W "$(git --git-dir="$(__gitdir)" ls-tree "$ls" \
+               __gitcomp_nl "$(git --git-dir="$(__gitdir)" ls-tree "$ls" \
                                | sed '/^100... blob /{
                                           s,^.*        ,,
                                           s,$, ,
@@ -692,7 +690,7 @@ __git_complete_revlist_file ()
                                           s,$,/,
                                       }
                                       s/^.*    //')" \
-                       -- "$cur_"))
+                       "$pfx" "$cur_" ""
                ;;
        *...*)
                pfx="${cur_%...*}..."
@@ -848,6 +846,8 @@ __git_list_porcelain_commands ()
                checkout-index)   : plumbing;;
                commit-tree)      : plumbing;;
                count-objects)    : infrequent;;
+               credential-cache) : credentials helper;;
+               credential-store) : credentials helper;;
                cvsexportcommit)  : export;;
                cvsimport)        : import;;
                cvsserver)        : daemon;;
@@ -2599,7 +2599,7 @@ _git_whatchanged ()
        _git_log
 }
 
-_main_git ()
+__git_main ()
 {
        local i c=1 command __git_dir
 
@@ -2650,7 +2650,7 @@ _main_git ()
        fi
 }
 
-_main_gitk ()
+__gitk_main ()
 {
        __git_has_doubledash && return
 
@@ -2705,22 +2705,22 @@ __git_complete ()
 # wrapper for backwards compatibility
 _git ()
 {
-       __git_wrap_main_git
+       __git_wrap__git_main
 }
 
 # wrapper for backwards compatibility
 _gitk ()
 {
-       __git_wrap_main_gitk
+       __git_wrap__gitk_main
 }
 
-__git_complete git _main_git
-__git_complete gitk _main_gitk
+__git_complete git __git_main
+__git_complete gitk __gitk_main
 
 # The following are necessary only for Cygwin, and only are needed
 # when the user has tab-completed the executable name and consequently
 # included the '.exe' suffix.
 #
 if [ Cygwin = "$(uname -o 2>/dev/null)" ]; then
-__git_complete git.exe _main_git
+__git_complete git.exe __git_main
 fi