return 1
fi
- cdgitpath remote.$remote.url
+ if git config --get remote.$remote.url | grep -q '^\(/\|\.\./\)'; then
+ cdgitpath remote.$remote.url
+ else
+
+ 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
case "$TERM" in
screen*) # screen, screen.rxvt
- if [ "$TERM" = screen.rxvt ]; then
- MC_SAVE_TERM="$TERM"
- TERM=rxvt
- fi
MC_XTERM="-x"
;;
esac
fi
[ -n "$MC_SAVE_OPS1" ] && OPS1="$MC_SAVE_OPS1"
- [ -n "$MC_SAVE_TERM" ] && TERM="$MC_SAVE_TERM"
- unset MC_FOUND MC_PWD_FILE MC_SAVE_OPS1 MC_SAVE_TERM \
- MC_SLOW MC_TMP_DIR MC_XTERM
+ unset MC_FOUND MC_PWD_FILE MC_SAVE_OPS1 MC_SLOW MC_TMP_DIR MC_XTERM
return $rc
}