- 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"
+ if [ -n "$1" ]; then
+ echo "Cannot find directory for remote $1" >&2
+ echo "Usage: cdremote [remote_name]" >&2
+ return 1
+ fi
+
+ 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