cd "`git config --get remote.$1.url`"
}
+case "$SHELL" in
+ */bash)
+ # list remotes with URLs matching a regexp
+ list_remotes() {
+ GIT_REMOTES=""
+ for remote in `git remote`; do
+ if git config --get remote.$remote.url | grep -q "$1"; then
+ GIT_REMOTES="$GIT_REMOTES $remote"
+ fi
+ done
+ remote=""
+ unset remote
+ }
+
+ # define completion for cdremote - list remotes with directories as URLs
+ _cdremote_complete() {
+ local cur="${COMP_WORDS[COMP_CWORD]}";
+ list_remotes '^\(/\|\.\./\)'
+ COMPREPLY=(`compgen -W "$GIT_REMOTES" -- "$cur"`)
+ GIT_REMOTES=""
+ unset GIT_REMOTES
+ }
+
+ complete -F _cdremote_complete cdremote
+
+ # define completion for git-open - list remotes with http(s) URLs
+ _git_open() {
+ local cur="${COMP_WORDS[COMP_CWORD]}";
+ list_remotes '^http\(s\)\?://'
+ COMPREPLY=(`compgen -W "$GIT_REMOTES" -- "$cur"`)
+ GIT_REMOTES=""
+ unset GIT_REMOTES
+ }
+
+ complete -F _git_open git-open
+ ;;
+esac
+
-include()
-{
+include() {
cfg="$1"
if [ -f "./$cfg" -a -r "./$cfg" ]; then
echo "Reading config file \`$cfg'" 1>&2