Merge branch 'sg/completion-refs-speedup'
commitbf650608be7cc16fff7e477d9bf518720a16eb05
authorJunio C Hamano <gitster@pobox.com>
Thu, 30 Mar 2017 21:07:14 +0000 (30 14:07 -0700)
committerJunio C Hamano <gitster@pobox.com>
Thu, 30 Mar 2017 21:07:14 +0000 (30 14:07 -0700)
tree6ae8efe4a5e883c70583b9586aaf1affbb5bf0be
parenta93dcb0a56a38289632a85d906e49150b1e34100
parent227307a639c96b3579b7fe60840fdae123d1ee88
Merge branch 'sg/completion-refs-speedup'

The refs completion for large number of refs has been sped up,
partly by giving up disambiguating ambiguous refs and partly by
eliminating most of the shell processing between 'git for-each-ref'
and 'ls-remote' and Bash's completion facility.

* sg/completion-refs-speedup:
  completion: speed up branch and tag completion
  completion: fill COMPREPLY directly when completing fetch refspecs
  completion: fill COMPREPLY directly when completing refs
  completion: let 'for-each-ref' sort remote branches for 'checkout' DWIMery
  completion: let 'for-each-ref' filter remote branches for 'checkout' DWIMery
  completion: let 'for-each-ref' strip the remote name from remote branches
  completion: let 'for-each-ref' and 'ls-remote' filter matching refs
  completion: don't disambiguate short refs
  completion: don't disambiguate tags and branches
  completion: support excluding full refs
  completion: support completing fully qualified non-fast-forward refspecs
  completion: support completing full refs after '--option=refs/<TAB>'
  completion: wrap __git_refs() for better option parsing
  completion: remove redundant __gitcomp_nl() options from _git_commit()
contrib/completion/git-completion.bash