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 <[email protected]>
---
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 &&
...