[PATCH v3 1/4] submodule: verify support for superproject origin URLs of the form ./foo/bar or ../foo/bar
These tests are expected to fail, pending a subsequent corrective patch.
Signed-off-by: Jon Seymour <jon.seymour@gmail.com>
---
t/t7400-submodule-basic.sh | 26 ++++++++++++++++++++++++++
t/t7403-submodule-sync.sh | 10 ++++++++++
2 files changed, 36 insertions(+)
diff --git a/t/t7400-submodule-basic.sh b/t/t7400-submodule-basic.sh
index 81827e6..02e6428 100755
--- a/t/t7400-submodule-basic.sh
+++ b/t/t7400-submodule-basic.sh
@@ -507,6 +507,32 @@ test_expect_success 'relative path works with user@host:path' '
)
'
+test_expect_failure 'relative path works with ../relative/repo' '
+ (
+ cd reltest &&
+ cp pristine-.git-config .git/config &&
+ git config remote.origin.url ../relative/repo &&
+ git submodule init &&
+ test "$(git config submodule.sub.url)" = ../../relative/subrepo
+ )
+'
+
+test_expect_failure 'test that submodule add creates the correct url when super origin url is ../relative/repo' '
+ mkdir reladd &&
+ (
+ cd reladd &&
+ git init &&
+ git remote add origin ../relative/repo
+ mkdir sub &&
+ (
+ cd sub &&
+ git init &&
+ test_commit foo
+ ) &&
+ git submodule add ../subrepo ./sub &&
+ test "$(git config submodule.sub.url)" = ../../relative/subrepo
+ )
+'
test_expect_success 'moving the superproject does not break submodules' '
(
cd addtest &&
diff --git a/t/t7403-submodule-sync.sh b/t/t7403-submodule-sync.sh
index 3620215..788bc24 100755
--- a/t/t7403-submodule-sync.sh
+++ b/t/t7403-submodule-sync.sh
@@ -86,4 +86,14 @@ test_expect_success '"git submodule sync" should not vivify uninteresting submod
)
'
+test_expect_failure '"git submodule sync" should handle a super with a relative origin URL' '
+ git clone super relative-clone &&
+ (cd relative-clone &&
+ git submodule update --init &&
+ git remote set-url origin ../relative/super.git &&
+ git submodule sync &&
+ test "$(git config submodule.submodule.url)" == ../../relative/moved-submodule
+ )
+'
+
test_done
--
1.7.10.2.594.g5c52315