for cmd in distribute ftp lftp r rsync \
s scp ssh smbclient tcpdump tshark wireshark; do
- ! has_completion $cmd && complete -o default -A hostname $cmd;
+ ! has_completion $cmd && complete -o default -A hostname $cmd
done
delegate_completion() {
fi
if [ -n "$remote" ] && git config --get remote.$remote.url |
- grep -q '^\(file:/\|/\|\.\./\)'; then
+ grep -q '^\(file:/\|/\|\.\./\)'; then # (file:/ or / or ../ at the beginning)
cdgitpath remote.$remote.url
else
return 1
fi
- _list_remotes '^\(file:/\|/\|\.\./\)' # (file:/ or / or ../ at the beginning)
- if [ ${#GIT_REMOTES[*]} -eq 1 ]; then
- remote=${GIT_REMOTES[0]}
- unset GIT_REMOTES
- cdgitpath remote.$remote.url
+ if test -n "$BASH_VERSION"; then
+ _list_remotes '^\(file:/\|/\|\.\./\)' # (file:/ or / or ../ at the beginning)
+ if [ ${#GIT_REMOTES[*]} -eq 1 ]; then
+ remote=${GIT_REMOTES[0]}
+ unset GIT_REMOTES
+ cdgitpath remote.$remote.url
+ else
+ unset GIT_REMOTES
+ echo "Cannot find directory for any remote" >&2
+ echo "Usage: cdremote [remote_name]" >&2
+ return 1
+ fi
else
- unset GIT_REMOTES
- echo "Cannot find directory for any remote" >&2
+ echo "Cannot find directory for remote $1" >&2
echo "Usage: cdremote [remote_name]" >&2
return 1
fi
_git_push_to_all_remotes() { __gitcomp_nl "$(__git_heads)" ; }
_cdgitpath_complete() {
- local cword="${COMP_CWORD}" cur="${COMP_WORDS[COMP_CWORD]}";
+ local cur="${COMP_WORDS[COMP_CWORD]}"
COMPREPLY=(`compgen -W "$(__git_config_get_set_variables)" -- "$cur"`)
}
# completion for cdremote and git-open-remote - list remotes with a pattern
_list_remotes_completion() {
- local cur="${COMP_WORDS[COMP_CWORD]}";
+ local cur="${COMP_WORDS[COMP_CWORD]}"
_list_remotes "$1"
COMPREPLY=(`compgen -W "${GIT_REMOTES[*]}" -- "$cur"`)
unset GIT_REMOTES