dim finds remote name by matching repository urls, but different users
requires different protocols/paths for remotes (ssh/git/https). Current
code incorrectly translates provided url to alternatives, the patch
fixes it.

Signed-off-by: Andrzej Hajda <a.ha...@samsung.com>
---
 dim | 26 ++++++++++++--------------
 1 file changed, 12 insertions(+), 14 deletions(-)

diff --git a/dim b/dim
index 11aa675..d6d9269 100755
--- a/dim
+++ b/dim
@@ -223,15 +223,15 @@ fi
 #      git branch name - dim assumes that the remote and local name match
 # url:
 #      url to a repo, using ssh:// protocol
-# git_url:
-#      url to a repo, but using anonymous git:// protocol
+# urls:
+#      alternative urls to a repo, derived from url
 #
 # The below functions map between these.
 #
 
 function url_to_remote # url
 {
-       local url remote
+       local url urls remote
 
        url="$1"
 
@@ -240,19 +240,17 @@ function url_to_remote # url
                return 1
        fi
 
-       remote=$(git remote -v | grep -m 1 "$url" | cut -f 1)
+       urls=$(echo $url | sed -r \
+               -e 
's!ssh://(git.freedesktop.org)/git/(.*)!\0|git://anon\1/\2|https://anon\1/git/\2.git!'
 \
+               -e 's!git://(git.kernel.org/.*)!\0|https://\1!')
+       remote=$(git remote -v | grep -m 1 -P "$urls" | cut -f 1)
 
        if [[ -z "$remote" ]]; then
-               git_url=$(echo $url | sed -e 's/git\./anongit./' -e 
's/ssh:/git:/')
-               remote=$(git remote -v | grep -m 1 "$git_url" | cut -f 1)
-
-               if [[ -z "$remote" ]]; then
-                       echoerr "No git remote for url $url or $git_url found 
in $(pwd)"
-                       echoerr "Please set it up using:"
-                       echoerr "    $ git remote add <name> $url"
-                       echoerr "with a name of your choice."
-                       return 1
-               fi
+               echoerr "No git remote for url $url found in $(pwd)"
+               echoerr "Please set it up using:"
+               echoerr "    $ git remote add <name> url"
+               echoerr "with a name of your choice and url one of: ${urls//|/, 
}"
+               return 1
        fi
 
        echo $remote
-- 
2.7.4

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to