Merge branch 'master' of github.com:git/git
[alt-git.git] / t / t3202-show-branch.sh
blobad9902a06b9f20d9e4d86b676e30fdd906835e67
1 #!/bin/sh
3 test_description='test show-branch'
5 . ./test-lib.sh
7 test_expect_success 'setup' '
8 test_commit initial &&
9 for i in $(test_seq 1 10)
11 git checkout -b branch$i initial &&
12 test_commit --no-tag branch$i
13 done &&
14 git for-each-ref \
15 --sort=version:refname \
16 --format="%(refname:strip=2)" \
17 "refs/heads/branch*" >branches.sorted &&
18 sed "s/^> //" >expect <<-\EOF
19 > ! [branch1] branch1
20 > ! [branch2] branch2
21 > ! [branch3] branch3
22 > ! [branch4] branch4
23 > ! [branch5] branch5
24 > ! [branch6] branch6
25 > ! [branch7] branch7
26 > ! [branch8] branch8
27 > ! [branch9] branch9
28 > * [branch10] branch10
29 > ----------
30 > * [branch10] branch10
31 > + [branch9] branch9
32 > + [branch8] branch8
33 > + [branch7] branch7
34 > + [branch6] branch6
35 > + [branch5] branch5
36 > + [branch4] branch4
37 > + [branch3] branch3
38 > + [branch2] branch2
39 > + [branch1] branch1
40 > +++++++++* [branch10^] initial
41 EOF
44 test_expect_success 'show-branch with more than 8 branches' '
45 git show-branch $(cat branches.sorted) >actual &&
46 test_cmp expect actual
49 test_expect_success 'show-branch with showbranch.default' '
50 for branch in $(cat branches.sorted)
52 test_config showbranch.default $branch --add
53 done &&
54 git show-branch >actual &&
55 test_cmp expect actual
58 test_expect_success 'show-branch --color output' '
59 sed "s/^> //" >expect <<-\EOF &&
60 > <RED>!<RESET> [branch1] branch1
61 > <GREEN>!<RESET> [branch2] branch2
62 > <YELLOW>!<RESET> [branch3] branch3
63 > <BLUE>!<RESET> [branch4] branch4
64 > <MAGENTA>!<RESET> [branch5] branch5
65 > <CYAN>!<RESET> [branch6] branch6
66 > <BOLD;RED>!<RESET> [branch7] branch7
67 > <BOLD;GREEN>!<RESET> [branch8] branch8
68 > <BOLD;YELLOW>!<RESET> [branch9] branch9
69 > <BOLD;BLUE>*<RESET> [branch10] branch10
70 > ----------
71 > <BOLD;BLUE>*<RESET> [branch10] branch10
72 > <BOLD;YELLOW>+<RESET> [branch9] branch9
73 > <BOLD;GREEN>+<RESET> [branch8] branch8
74 > <BOLD;RED>+<RESET> [branch7] branch7
75 > <CYAN>+<RESET> [branch6] branch6
76 > <MAGENTA>+<RESET> [branch5] branch5
77 > <BLUE>+<RESET> [branch4] branch4
78 > <YELLOW>+<RESET> [branch3] branch3
79 > <GREEN>+<RESET> [branch2] branch2
80 > <RED>+<RESET> [branch1] branch1
81 > <RED>+<RESET><GREEN>+<RESET><YELLOW>+<RESET><BLUE>+<RESET><MAGENTA>+<RESET><CYAN>+<RESET><BOLD;RED>+<RESET><BOLD;GREEN>+<RESET><BOLD;YELLOW>+<RESET><BOLD;BLUE>*<RESET> [branch10^] initial
82 EOF
83 git show-branch --color=always $(cat branches.sorted) >actual.raw &&
84 test_decode_color <actual.raw >actual &&
85 test_cmp expect actual
88 test_expect_success 'show branch --remotes' '
89 cat >expect.err <<-\EOF &&
90 No revs to be shown.
91 EOF
92 git show-branch -r 2>actual.err >actual.out &&
93 test_cmp expect.err actual.err &&
94 test_must_be_empty actual.out
97 test_expect_success 'setup show branch --list' '
98 sed "s/^> //" >expect <<-\EOF
99 > [branch1] branch1
100 > [branch2] branch2
101 > [branch3] branch3
102 > [branch4] branch4
103 > [branch5] branch5
104 > [branch6] branch6
105 > [branch7] branch7
106 > [branch8] branch8
107 > [branch9] branch9
108 > * [branch10] branch10
112 test_expect_success 'show branch --list' '
113 git show-branch --list $(cat branches.sorted) >actual &&
114 test_cmp expect actual
117 test_expect_success 'show branch --list has no --color output' '
118 git show-branch --color=always --list $(cat branches.sorted) >actual &&
119 test_cmp expect actual
122 test_expect_success 'show branch --merge-base with one argument' '
123 for branch in $(cat branches.sorted)
125 git rev-parse $branch >expect &&
126 git show-branch --merge-base $branch >actual &&
127 test_cmp expect actual
128 done
131 test_expect_success 'show branch --merge-base with two arguments' '
132 for branch in $(cat branches.sorted)
134 git rev-parse initial >expect &&
135 git show-branch --merge-base initial $branch >actual &&
136 test_cmp expect actual
137 done
140 test_expect_success 'show branch --merge-base with N arguments' '
141 git rev-parse initial >expect &&
142 git show-branch --merge-base $(cat branches.sorted) >actual &&
143 test_cmp expect actual &&
145 git merge-base $(cat branches.sorted) >actual &&
146 test_cmp expect actual
149 test_done