summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: fb772cc)
raw | patch | inline | side by side (parent: fb772cc)
author | SZEDER Gábor <szeder@ira.uka.de> | |
Sat, 8 Oct 2011 14:54:40 +0000 (16:54 +0200) | ||
committer | Junio C Hamano <gitster@pobox.com> | |
Fri, 21 Oct 2011 21:38:23 +0000 (14:38 -0700) |
__git_refs_remotes() is used to provide completion for refspecs to set
'remote.*.fetch' config variables for branches on the given remote.
So it's really only interested in refs under 'refs/heads/', but it
queries the remote for all its refs and then filters out all refs
outside of 'refs/heads/'.
Let 'git ls-remote' do the filtering.
Also remove the unused $cmd variable from __git_refs_remotes().
Signed-off-by: SZEDER Gábor <szeder@ira.uka.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
'remote.*.fetch' config variables for branches on the given remote.
So it's really only interested in refs under 'refs/heads/', but it
queries the remote for all its refs and then filters out all refs
outside of 'refs/heads/'.
Let 'git ls-remote' do the filtering.
Also remove the unused $cmd variable from __git_refs_remotes().
Signed-off-by: SZEDER Gábor <szeder@ira.uka.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
contrib/completion/git-completion.bash | patch | blob | history |
index 8867e092b6a9860ef952d059aed8e28e7038e29d..396c8e98f75ddd5da3d2867fd0552e6e3baaf92c 100755 (executable)
# __git_refs_remotes requires 1 argument (to pass to ls-remote)
__git_refs_remotes ()
{
- local cmd i is_hash=y
- for i in $(git ls-remote "$1" 2>/dev/null); do
- case "$is_hash,$i" in
- n,refs/heads/*)
+ local i is_hash=y
+ for i in $(git ls-remote "$1" 'refs/heads/*' 2>/dev/null); do
+ case "$is_hash" in
+ n)
is_hash=y
echo "$i:refs/remotes/$1/${i#refs/heads/}"
;;
- y,*) is_hash=n ;;
- n,*^{}) is_hash=y ;;
- n,refs/tags/*) is_hash=y;;
- n,*) is_hash=y; ;;
+ y) is_hash=n ;;
esac
done
}