Merge branch 'jl/submodule-add-relurl-wo-upstream' into maint

* jl/submodule-add-relurl-wo-upstream:
  submodule add: clean up duplicated code
  submodule add: allow relative repository path even when no url is set
  submodule add: test failure when url is not configured in superproject

Conflicts:
	git-submodule.sh
This commit is contained in:
Junio C Hamano
2011-08-16 12:41:13 -07:00
3 changed files with 15 additions and 11 deletions

View File

@ -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=/
@ -238,14 +238,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 +251,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'"