From: Stefan Beller <sbeller@google.com>
To: gitster@pobox.com, j6t@kdbg.org, Johannes.Schindelin@gmx.de
Cc: git@vger.kernel.org, venv21@gmail.com, dennis@kaarsemaker.net,
jrnieder@gmail.com, Stefan Beller <sbeller@google.com>
Subject: [PATCH 2/3] submodule tests: replace cloning from . by "$(pwd)"
Date: Fri, 21 Oct 2016 16:59:38 -0700 [thread overview]
Message-ID: <20161021235939.20792-3-sbeller@google.com> (raw)
In-Reply-To: <20161021235939.20792-1-sbeller@google.com>
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@google.com>
---
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
next prev parent reply other threads:[~2016-10-22 0:00 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-10-21 23:59 [PATCH 0/3] Fix submodule url issues Stefan Beller
2016-10-21 23:59 ` [PATCH 1/3] t7506: fix diff order arguments in test_cmp Stefan Beller
2016-10-21 23:59 ` Stefan Beller [this message]
2016-10-22 7:09 ` [PATCH 2/3] submodule tests: replace cloning from . by "$(pwd)" Johannes Sixt
2016-10-22 7:33 ` Junio C Hamano
2016-10-22 20:46 ` Stefan Beller
2016-10-23 10:14 ` Johannes Sixt
2016-10-24 17:46 ` Junio C Hamano
2016-10-24 19:10 ` Stefan Beller
2016-10-24 19:47 ` Johannes Sixt
2016-10-21 23:59 ` [PATCH 3/3] submodule--helper: normalize funny urls Stefan Beller
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20161021235939.20792-3-sbeller@google.com \
--to=sbeller@google.com \
--cc=Johannes.Schindelin@gmx.de \
--cc=dennis@kaarsemaker.net \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=j6t@kdbg.org \
--cc=jrnieder@gmail.com \
--cc=venv21@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).