From: SZEDER Gábor Date: Sat, 8 Oct 2011 14:54:41 +0000 (+0200) Subject: completion: improve ls-remote output filtering in __git_refs_remotes() X-Git-Tag: v1.7.9-rc0~81^2~2 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=48058f5df49fb9005418a7d025b374988908c0b5;p=git.git completion: improve ls-remote output filtering in __git_refs_remotes() This follows suit of a previous patch for __git_refs(): use a while-read loop and let bash's word splitting get rid of object names from 'git ls-remote's output. Signed-off-by: SZEDER Gábor Signed-off-by: Junio C Hamano --- diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash index 396c8e98f..f992b1399 100755 --- a/contrib/completion/git-completion.bash +++ b/contrib/completion/git-completion.bash @@ -651,15 +651,10 @@ __git_refs2 () # __git_refs_remotes requires 1 argument (to pass to ls-remote) __git_refs_remotes () { - 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 ;; - esac + local i hash + git ls-remote "$1" 'refs/heads/*' 2>/dev/null | \ + while read hash i; do + echo "$i:refs/remotes/$1/${i#refs/heads/}" done }