3 # Copyright (c) 2019 Denton Liu
6 test_description
='Test submodules set-branch subcommand
8 This test verifies that the set-branch subcommand of git-submodule is working
15 test_expect_success
'submodule config cache setup' '
22 git checkout -b topic &&
30 git submodule add ../submodule &&
31 git commit -m "add submodule"
35 test_expect_success
'ensure submodule branch is unset' '
37 ! grep branch .gitmodules
41 test_expect_success
'test submodule set-branch --branch' '
43 git submodule set-branch --branch topic submodule &&
44 grep "branch = topic" .gitmodules &&
45 git submodule update --remote &&
46 cat <<-\EOF >expect &&
49 git -C submodule show -s --pretty=%s >actual &&
50 test_cmp expect actual
54 test_expect_success
'test submodule set-branch --default' '
55 test_commit -C submodule c &&
57 git submodule set-branch --default submodule &&
58 ! grep branch .gitmodules &&
59 git submodule update --remote &&
60 cat <<-\EOF >expect &&
63 git -C submodule show -s --pretty=%s >actual &&
64 test_cmp expect actual
68 test_expect_success
'test submodule set-branch -b' '
69 test_commit -C submodule b &&
71 git submodule set-branch -b topic submodule &&
72 grep "branch = topic" .gitmodules &&
73 git submodule update --remote &&
74 cat <<-\EOF >expect &&
77 git -C submodule show -s --pretty=%s >actual &&
78 test_cmp expect actual
82 test_expect_success
'test submodule set-branch -d' '
83 test_commit -C submodule d &&
85 git submodule set-branch -d submodule &&
86 ! grep branch .gitmodules &&
87 git submodule update --remote &&
88 cat <<-\EOF >expect &&
91 git -C submodule show -s --pretty=%s >actual &&
92 test_cmp expect actual