When adding a new submodule in place, meaning the user created the submodule as a git repo in the superproject's tree first, we don't go through "git submodule init" to register the module. Thus, the submodule's origin repository URL is not stored in .git/config, and no subsequent submodule operation will ever do so. In this case, assume the URL the user supplies to "submodule add" is the one that should be registered, and do so. Signed-off-by: Mark Levedahl <mlevedahl@xxxxxxxxx> --- Dscho's issue, so far as I can tell, was not really with this patch but is addressed by the preceding patch eliminating the confusing single argument "submodule add" format that lead to the error he wanted to avoid. This patch is not changed except that it is rebased. git-submodule.sh | 10 ++++++++++ 1 files changed, 10 insertions(+), 0 deletions(-) diff --git a/git-submodule.sh b/git-submodule.sh index c2ce2fb..9228f56 100755 --- a/git-submodule.sh +++ b/git-submodule.sh @@ -172,6 +172,16 @@ cmd_add() else die "'$path' already exists and is not a valid git repo" fi + + case "$repo" in + ./*|../*) + url=$(resolve_relative_url "$repo") || exit + ;; + *) + url="$repo" + ;; + esac + git config submodule."$path".url "$url" else module_clone "$path" "$realrepo" || exit -- 1.5.6.2.271.g73ad8 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html