summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSZEDER Gábor <szeder.dev@gmail.com>2017-03-23 16:29:23 +0100
committerJunio C Hamano <gitster@pobox.com>2017-03-23 11:18:22 -0700
commit745d655dc9fd2a9a02497240b4e254059f9d54f1 (patch)
treead6f8ffd2600457be16c66bd34411fac0455cdf9
parentfef56eb0063dcf61796bf812ba980c99ce85f6b0 (diff)
downloadgit-745d655dc9fd2a9a02497240b4e254059f9d54f1.tar.gz
completion: fill COMPREPLY directly when completing fetch refspecs
The __git_complete_fetch_refspecs() has to iterate over __git_refs()'s output anyway to turn the listed matching refs into refspecs, and it knows about the prefix and suffix that has to be added to each refspec. Modify this function to add the prefix and suffix to each refspec while iterating and feed the result, since it doesn't need further processing, to the new __gitcomp_direct() helper added in the previous commit, because it should be faster when there are a lot of refspecs to list. Signed-off-by: SZEDER Gábor <szeder.dev@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r--contrib/completion/git-completion.bash6
1 files changed, 3 insertions, 3 deletions
diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index 41e6589313..86c7d93b88 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -536,11 +536,11 @@ __git_complete_fetch_refspecs ()
{
local i remote="$1" pfx="${2-}" cur_="${3-$cur}" sfx="${4- }"
- __gitcomp_nl "$(
+ __gitcomp_direct "$(
for i in $(__git_refs "$remote" "" "" "$cur_") ; do
- echo "$i:$i"
+ echo "$pfx$i:$i$sfx"
done
- )" "$pfx" "$cur_" "$sfx"
+ )"
}
# __git_refs_remotes requires 1 argument (to pass to ls-remote)