X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=git-submodule.sh;h=c94218b8779be63e1441480ef3828fb4ce0b61b0;hb=0eddcbf1612ed044de586777b233caf8016c6e70;hp=20c9bec9709749239849e5e91df2a9ac40c77eae;hpb=5329c99795e187b36a527baa883efe5c3dc2f98c;p=git.git diff --git a/git-submodule.sh b/git-submodule.sh index 20c9bec97..c94218b87 100755 --- a/git-submodule.sh +++ b/git-submodule.sh @@ -34,7 +34,7 @@ resolve_relative_url () { remote=$(get_default_remote) remoteurl=$(git config "remote.$remote.url") || - die "remote ($remote) does not have a url defined in .git/config" + remoteurl=$(pwd) # the repository is its own authoritative upstream url="$1" remoteurl=${remoteurl%/} sep=/ @@ -121,12 +121,17 @@ module_clone() path=$1 url=$2 reference="$3" + quiet= + if test -n "$GIT_QUIET" + then + quiet=-q + fi if test -n "$reference" then - git-clone "$reference" -n "$url" "$path" + git-clone $quiet "$reference" -n "$url" "$path" else - git-clone -n "$url" "$path" + git-clone $quiet -n "$url" "$path" fi || die "Clone of '$url' into submodule path '$path' failed" } @@ -238,14 +243,6 @@ cmd_add() die "'$path' already exists and is not a valid git repo" fi - case "$repo" in - ./*|../*) - url=$(resolve_relative_url "$repo") || exit - ;; - *) - url="$repo" - ;; - esac else module_clone "$path" "$realrepo" "$reference" || exit @@ -259,7 +256,7 @@ cmd_add() esac ) || die "Unable to checkout submodule '$path'" fi - git config submodule."$path".url "$url" + git config submodule."$path".url "$realrepo" git add $force "$path" || die "Failed to add submodule '$path'"