diff options
| author | Jan Alexander Steffens (heftig) <heftig@archlinux.org> | 2023-10-03 20:50:47 +0200 |
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2023-10-03 15:32:37 -0700 |
| commit | bd1c20ccd70d7452566bbc56ca2cf1fbb73d747c (patch) | |
| tree | 4f30a4583c4a55cc890d32466760e740771c72db | |
| parent | t7419: test that we correctly handle renamed submodules (diff) | |
| download | git-bd1c20ccd70d7452566bbc56ca2cf1fbb73d747c.tar.gz git-bd1c20ccd70d7452566bbc56ca2cf1fbb73d747c.zip | |
t7420: test that we correctly handle renamed submodules
Create a second submodule with a name that differs from its path. Test
that calling set-url modifies the correct .gitmodules entries. Make sure
we don't create a section named after the path instead of the name.
Signed-off-by: Jan Alexander Steffens (heftig) <heftig@archlinux.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
| -rwxr-xr-x | t/t7420-submodule-set-url.sh | 26 |
1 files changed, 24 insertions, 2 deletions
diff --git a/t/t7420-submodule-set-url.sh b/t/t7420-submodule-set-url.sh index aa63d806fe..bf7f15ee79 100755 --- a/t/t7420-submodule-set-url.sh +++ b/t/t7420-submodule-set-url.sh @@ -25,17 +25,26 @@ test_expect_success 'submodule config cache setup' ' git add file && git commit -ma ) && + mkdir namedsubmodule && + ( + cd namedsubmodule && + git init && + echo 1 >file && + git add file && + git commit -m1 + ) && mkdir super && ( cd super && git init && git submodule add ../submodule && - git commit -m "add submodule" + git submodule add --name thename ../namedsubmodule thepath && + git commit -m "add submodules" ) ' test_expect_success 'test submodule set-url' ' - # add a commit and move the submodule (change the url) + # add commits and move the submodules (change the urls) ( cd submodule && echo b >>file && @@ -44,15 +53,28 @@ test_expect_success 'test submodule set-url' ' ) && mv submodule newsubmodule && + ( + cd namedsubmodule && + echo 2 >>file && + git add file && + git commit -m2 + ) && + mv namedsubmodule newnamedsubmodule && + git -C newsubmodule show >expect && + git -C newnamedsubmodule show >>expect && ( cd super && test_must_fail git submodule update --remote && git submodule set-url submodule ../newsubmodule && test_cmp_config ../newsubmodule -f .gitmodules submodule.submodule.url && + git submodule set-url thepath ../newnamedsubmodule && + test_cmp_config ../newnamedsubmodule -f .gitmodules submodule.thename.url && + test_cmp_config "" -f .gitmodules --default "" submodule.thepath.url && git submodule update --remote ) && git -C super/submodule show >actual && + git -C super/thepath show >>actual && test_cmp expect actual ' |
