When adding a submodule via "git submodule add <relative url>", the relative url applies to the superprojects remote. When the superproject was cloned via "git clone . super", the remote url is ending with '/.'. The logic to construct the relative urls is not smart enough to detect that the ending /. is referring to the directory itself but rather treats it like any other relative path, i.e. path/to/dir/. + ../relative/path/to/submodule would result in path/to/dir/relative/path/to/submodule and not omit the "dir" as you may expect. As in a later patch we'll normalize the remote url before the computation of relative urls takes place, we need to first get our test suite in a shape with normalized urls only, which is why we should refrain from cloning from '.' Signed-off-by: Stefan Beller <sbeller@xxxxxxxxxx> --- t/t7064-wtstatus-pv2.sh | 9 ++++++--- t/t7403-submodule-sync.sh | 3 ++- t/t7406-submodule-update.sh | 6 ++++-- t/t7407-submodule-foreach.sh | 3 ++- t/t7506-status-submodule.sh | 3 ++- 5 files changed, 16 insertions(+), 8 deletions(-) diff --git a/t/t7064-wtstatus-pv2.sh b/t/t7064-wtstatus-pv2.sh index 3012a4d..95514bb 100755 --- a/t/t7064-wtstatus-pv2.sh +++ b/t/t7064-wtstatus-pv2.sh @@ -330,7 +330,8 @@ test_expect_success 'verify UU (edit-edit) conflict' ' test_expect_success 'verify upstream fields in branch header' ' git checkout master && test_when_finished "rm -rf sub_repo" && - git clone . sub_repo && + git clone "$(pwd)" sub_repo && + git -C sub_repo config --unset remote.origin.url && ( ## Confirm local master tracks remote master. cd sub_repo && @@ -392,8 +393,10 @@ test_expect_success 'verify upstream fields in branch header' ' test_expect_success 'create and add submodule, submodule appears clean (A. S...)' ' git checkout master && - git clone . sub_repo && - git clone . super_repo && + git clone "$(pwd)" sub_repo && + git -C sub_repo config --unset remote.origin.url && + git clone "$(pwd)" super_repo && + git -C super_repo config --unset remote.origin.url && ( cd super_repo && git submodule add ../sub_repo sub1 && diff --git a/t/t7403-submodule-sync.sh b/t/t7403-submodule-sync.sh index 0726799..6d85391 100755 --- a/t/t7403-submodule-sync.sh +++ b/t/t7403-submodule-sync.sh @@ -15,7 +15,8 @@ test_expect_success setup ' git add file && test_tick && git commit -m upstream && - git clone . super && + git clone "$(pwd)" super && + git -C super config --unset remote.origin.url && git clone super submodule && ( cd submodule && diff --git a/t/t7406-submodule-update.sh b/t/t7406-submodule-update.sh index 64f322c..9430c2a 100755 --- a/t/t7406-submodule-update.sh +++ b/t/t7406-submodule-update.sh @@ -26,7 +26,8 @@ test_expect_success 'setup a submodule tree' ' git add file && test_tick && git commit -m upstream && - git clone . super && + git clone "$(pwd)" super && + git -C super config --unset remote.origin.url && git clone super submodule && git clone super rebasing && git clone super merging && @@ -64,7 +65,8 @@ test_expect_success 'setup a submodule tree' ' test_tick && git commit -m "none" ) && - git clone . recursivesuper && + git clone "$(pwd)" recursivesuper && + git -C recursivesuper config --unset remote.origin.url && ( cd recursivesuper git submodule add ../super super ) diff --git a/t/t7407-submodule-foreach.sh b/t/t7407-submodule-foreach.sh index 6ba5daf..257e817 100755 --- a/t/t7407-submodule-foreach.sh +++ b/t/t7407-submodule-foreach.sh @@ -17,7 +17,8 @@ test_expect_success 'setup a submodule tree' ' git add file && test_tick && git commit -m upstream && - git clone . super && + git clone "$(pwd)" super && + git -C super config --unset remote.origin.url && git clone super submodule && ( cd super && diff --git a/t/t7506-status-submodule.sh b/t/t7506-status-submodule.sh index 74cb6b8..62a99bc 100755 --- a/t/t7506-status-submodule.sh +++ b/t/t7506-status-submodule.sh @@ -197,7 +197,8 @@ A sub1 EOF test_expect_success 'status with merge conflict in .gitmodules' ' - git clone . super && + git clone "$(pwd)" super && + git -C super config --unset remote.origin.url && test_create_repo_with_commit sub1 && test_tick && test_create_repo_with_commit sub2 && -- 2.10.1.507.g2a9098a