]> git.ipfire.org Git - thirdparty/git.git/commitdiff
t7419: test that we correctly handle renamed submodules
authorJan Alexander Steffens (heftig) <heftig@archlinux.org>
Tue, 3 Oct 2023 18:50:46 +0000 (20:50 +0200)
committerJunio C Hamano <gitster@pobox.com>
Tue, 3 Oct 2023 22:32:34 +0000 (15:32 -0700)
Add the submodule again with an explicitly different name and path. Test
that calling set-branch 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>
t/t7419-submodule-set-branch.sh

index 3cd30865a74196bf954825e70a15d55e60414f10..a5d1bc5c54ae095f79bf9b3ee420ba004bb18a88 100755 (executable)
@@ -38,7 +38,8 @@ test_expect_success 'submodule config cache setup' '
        (cd super &&
                git init &&
                git submodule add ../submodule &&
-               git commit -m "add submodule"
+               git submodule add --name thename ../submodule thepath &&
+               git commit -m "add submodules"
        )
 '
 
@@ -100,4 +101,31 @@ test_expect_success 'test submodule set-branch -d' '
        )
 '
 
+test_expect_success 'test submodule set-branch --branch with named submodule' '
+       (cd super &&
+               git submodule set-branch --branch topic thepath &&
+               test_cmp_config topic -f .gitmodules submodule.thename.branch &&
+               test_cmp_config "" -f .gitmodules --default "" submodule.thepath.branch &&
+               git submodule update --remote &&
+               cat <<-\EOF >expect &&
+               b
+               EOF
+               git -C thepath show -s --pretty=%s >actual &&
+               test_cmp expect actual
+       )
+'
+
+test_expect_success 'test submodule set-branch --default with named submodule' '
+       (cd super &&
+               git submodule set-branch --default thepath &&
+               test_cmp_config "" -f .gitmodules --default "" submodule.thename.branch &&
+               git submodule update --remote &&
+               cat <<-\EOF >expect &&
+               a
+               EOF
+               git -C thepath show -s --pretty=%s >actual &&
+               test_cmp expect actual
+       )
+'
+
 test_done