Merge branch 'tr/submodule-relative-scp-url'

* tr/submodule-relative-scp-url:
  submodule: fix relative url parsing for scp-style origin
This commit is contained in:
Junio C Hamano
2011-01-13 11:34:39 -08:00
2 changed files with 52 additions and 2 deletions

View File

@ -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%/}"
}
#