[PATCH 8/9] completion: fast initial completion for config 'remote.*.fetch' value
- From
SZEDER Gábor <szeder@ira.uka.de>
- Date
- Oct 8, 2011, 14:54 UTC
- Message-ID
- <1318085683-29830-9-git-send-email-szeder@ira.uka.de>
- In-Reply-To
- <1318085683-29830-1-git-send-email-szeder@ira.uka.de>
Refspecs for branches in a remote repository start with 'refs/heads/', so completing those refspecs with 'git config remote.origin.fetch <TAB>' always offers 'refs/heads/' first, because that's the unique part of the possible refspecs. But it does so only after querying the remote with 'git ls-remote', which can take a while when the request goes through some slower network to a remote server.
Don't waste the user's time and offer 'refs/heads/' right away for 'git config remote.origin.fetch <TAB>'.
The reason for putting 'refs/heads/' directly into COMPREPLY instead of using __gitcomp() is to avoid __gitcomp() adding a trailing space.
Signed-off-by: SZEDER Gábor <szeder@ira.uka.de> --- contrib/completion/git-completion.bash | 4 ++++ 1 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash index 658df3a7..d7151220 100755 --- a/contrib/completion/git-completion.bash +++ b/contrib/completion/git-completion.bash @@ -1890,6 +1890,10 @@ _git_config () remote.*.fetch) local remote="${prev#remote.}" remote="${remote%.fetch}" + if [ -z "$cur" ]; then + COMPREPLY=("refs/heads/") + return + fi __gitcomp_nl "$(__git_refs_remotes "$remote")" return ;;
-- 1.7.7.187.ga41de