]> git.ipfire.org Git - thirdparty/git.git/blob - t/t7419-submodule-set-branch.sh
t7419: change test_must_fail to ! for grep
[thirdparty/git.git] / t / t7419-submodule-set-branch.sh
1 #!/bin/sh
2 #
3 # Copyright (c) 2019 Denton Liu
4 #
5
6 test_description='Test submodules set-branch subcommand
7
8 This test verifies that the set-branch subcommand of git-submodule is working
9 as expected.
10 '
11
12 TEST_NO_CREATE_REPO=1
13 . ./test-lib.sh
14
15 test_expect_success 'submodule config cache setup' '
16 mkdir submodule &&
17 (cd submodule &&
18 git init &&
19 echo a >a &&
20 git add . &&
21 git commit -ma &&
22 git checkout -b topic &&
23 echo b >a &&
24 git add . &&
25 git commit -mb
26 ) &&
27 mkdir super &&
28 (cd super &&
29 git init &&
30 git submodule add ../submodule &&
31 git commit -m "add submodule"
32 )
33 '
34
35 test_expect_success 'ensure submodule branch is unset' '
36 (cd super &&
37 ! grep branch .gitmodules
38 )
39 '
40
41 test_expect_success 'test submodule set-branch --branch' '
42 (cd super &&
43 git submodule set-branch --branch topic submodule &&
44 grep "branch = topic" .gitmodules &&
45 git submodule update --remote &&
46 cat <<-\EOF >expect &&
47 b
48 EOF
49 git -C submodule show -s --pretty=%s >actual &&
50 test_cmp expect actual
51 )
52 '
53
54 test_expect_success 'test submodule set-branch --default' '
55 (cd super &&
56 git submodule set-branch --default submodule &&
57 ! grep branch .gitmodules &&
58 git submodule update --remote &&
59 cat <<-\EOF >expect &&
60 a
61 EOF
62 git -C submodule show -s --pretty=%s >actual &&
63 test_cmp expect actual
64 )
65 '
66
67 test_expect_success 'test submodule set-branch -b' '
68 (cd super &&
69 git submodule set-branch -b topic submodule &&
70 grep "branch = topic" .gitmodules &&
71 git submodule update --remote &&
72 cat <<-\EOF >expect &&
73 b
74 EOF
75 git -C submodule show -s --pretty=%s >actual &&
76 test_cmp expect actual
77 )
78 '
79
80 test_expect_success 'test submodule set-branch -d' '
81 (cd super &&
82 git submodule set-branch -d submodule &&
83 ! grep branch .gitmodules &&
84 git submodule update --remote &&
85 cat <<-\EOF >expect &&
86 a
87 EOF
88 git -C submodule show -s --pretty=%s >actual &&
89 test_cmp expect actual
90 )
91 '
92
93 test_done