X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;ds=sidebyside;f=git-submodule.sh;h=8b9058971767dbb4d94e996876f6ba7ed178ddd6;hb=855942528e892cff3cadb4eb1c4cf1d2a7cd83de;hp=c21b77aee54cd045b7bb64ae7337387569bbf65a;hpb=6ae7a51a2e8efdb10c18d59693e647a73d98d9d3;p=git.git diff --git a/git-submodule.sh b/git-submodule.sh index c21b77aee..8b9058971 100755 --- a/git-submodule.sh +++ b/git-submodule.sh @@ -37,12 +37,24 @@ resolve_relative_url () die "remote ($remote) does not have a url defined in .git/config" url="$1" remoteurl=${remoteurl%/} + sep=/ while test -n "$url" do case "$url" in ../*) url="${url#../}" - remoteurl="${remoteurl%/*}" + case "$remoteurl" in + */*) + remoteurl="${remoteurl%/*}" + ;; + *:*) + remoteurl="${remoteurl%:*}" + sep=: + ;; + *) + die "cannot strip one component off url '$remoteurl'" + ;; + esac ;; ./*) url="${url#./}" @@ -51,7 +63,7 @@ resolve_relative_url () break;; esac done - echo "$remoteurl/${url%/}" + echo "$remoteurl$sep${url%/}" } #