]> git.phdru.name Git - dotfiles.git/commitdiff
.shellrc: Fix `cdremote`
authorOleg Broytman <phd@phdru.name>
Tue, 5 Nov 2019 01:42:08 +0000 (04:42 +0300)
committerOleg Broytman <phd@phdru.name>
Tue, 5 Nov 2019 01:43:44 +0000 (04:43 +0300)
`_list_remotes` and arrays are available only under bash.

.shellrc

index 16102b4a447be53bb3dd29196dc89270a6fe5f75..5200b80c9e7fce1628ee685361b726ffca04b7c3 100644 (file)
--- a/.shellrc
+++ b/.shellrc
@@ -231,14 +231,20 @@ if test -x /usr/bin/git >/dev/null 2>&1; then
             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