Am 22.10.2016 um 01:59 schrieb Stefan Beller:
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 '.'
But you are removing a valid use case from the tests. Aren't you sweeping something under the rug with this patch?
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 &&
Why is it necessary to remove this configuration? Is it because when it is present, the submodule does not construct its own reference? And if so, should it not be sufficient to only remove the configuration (without changing 'git clone' command), but move this patch after the patch that fixes the /. treatment?
( ## Confirm local master tracks remote master. cd sub_repo &&
...