completion: use ls -1 instead of rolling a loop to do that ourselves
This simplifies the code a great deal. In particular, it allows us to get rid of __git_shopt, which is used only in this fuction to enable 'nullglob' in zsh. [jn: squashed with a patch that actually gets rid of __git_shopt] Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com> Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
cf0ff02a38
commit
d79f81adfe
@ -643,13 +643,8 @@ __git_refs_remotes ()
|
||||
|
||||
__git_remotes ()
|
||||
{
|
||||
local i ngoff IFS=$'\n' d="$(__gitdir)"
|
||||
__git_shopt -q nullglob || ngoff=1
|
||||
__git_shopt -s nullglob
|
||||
for i in "$d/remotes"/*; do
|
||||
echo ${i#$d/remotes/}
|
||||
done
|
||||
[ "$ngoff" ] && __git_shopt -u nullglob
|
||||
local i IFS=$'\n' d="$(__gitdir)"
|
||||
test -d "$d/remotes" && ls -1 "$d/remotes"
|
||||
for i in $(git --git-dir="$d" config --get-regexp 'remote\..*\.url' 2>/dev/null); do
|
||||
i="${i#remote.}"
|
||||
echo "${i/.url*/}"
|
||||
@ -2736,33 +2731,3 @@ if [ Cygwin = "$(uname -o 2>/dev/null)" ]; then
|
||||
complete -o bashdefault -o default -o nospace -F _git git.exe 2>/dev/null \
|
||||
|| complete -o default -o nospace -F _git git.exe
|
||||
fi
|
||||
|
||||
if [[ -n ${ZSH_VERSION-} ]]; then
|
||||
__git_shopt () {
|
||||
local option
|
||||
if [ $# -ne 2 ]; then
|
||||
echo "USAGE: $0 (-q|-s|-u) <option>" >&2
|
||||
return 1
|
||||
fi
|
||||
case "$2" in
|
||||
nullglob)
|
||||
option="$2"
|
||||
;;
|
||||
*)
|
||||
echo "$0: invalid option: $2" >&2
|
||||
return 1
|
||||
esac
|
||||
case "$1" in
|
||||
-q) setopt | grep -q "$option" ;;
|
||||
-u) unsetopt "$option" ;;
|
||||
-s) setopt "$option" ;;
|
||||
*)
|
||||
echo "$0: invalid flag: $1" >&2
|
||||
return 1
|
||||
esac
|
||||
}
|
||||
else
|
||||
__git_shopt () {
|
||||
shopt "$@"
|
||||
}
|
||||
fi
|
||||
|
Loading…
Reference in New Issue
Block a user