+ local GIT_REMOTES remote
+ GIT_REMOTES=""
+ for remote in `git remote`; do
+ if git config --get remote.$remote.url | grep -q '^\(/\|\.\./\)'; then
+ GIT_REMOTES="$GIT_REMOTES $remote"
+ fi
+ done
+ GIT_REMOTES=($GIT_REMOTES)
+ if [ ${#GIT_REMOTES[*]} -eq 1 ]; then
+ remote=${GIT_REMOTES[0]}
+ cdgitpath remote.$remote.url
+ else
+ echo "Cannot find directory for any remote" >&2
+ echo "Usage: cdremote [remote_name]" >&2
+ return 1
+ fi
+ fi
+ }
+
+ if test -n "$BASH_VERSION"; then
+ # completion for aliases in global .gitconfig
+
+ # fixup rbi rbia rbiap rbip - do refs name completion
+ _git_fixup() { __gitcomp_nl "$(__git_refs)" ; }
+ _git_rbi() { __gitcomp_nl "$(__git_refs)" ; }
+ _git_rbia() { __gitcomp_nl "$(__git_refs)" ; }
+ _git_rbiap() { __gitcomp_nl "$(__git_refs)" ; }
+ _git_rbip() { __gitcomp_nl "$(__git_refs)" ; }
+ #
+ # push-to-all-remotes - do branch name completion
+ _git_push_to_all_remotes() { __gitcomp_nl "$(__git_heads)" ; }
+
+ _cdgitpath_completion_loader() {
+ _completion_loader git
+ complete -F _cdgitpath_complete cdgitpath git-open
+ unset _cdgitpath_completion_loader
+ return 124
+ }