]>
Commit | Line | Data |
---|---|---|
6fa92bf3 AR |
1 | #!/bin/sh |
2 | ||
3 | test_description='tracking branch update checks for git push' | |
4 | ||
5 | . ./test-lib.sh | |
6 | ||
7 | test_expect_success 'setup' ' | |
8 | echo 1 >file && | |
9 | git add file && | |
10 | git commit -m 1 && | |
11 | git branch b1 && | |
12 | git branch b2 && | |
0b294c0a | 13 | git branch b3 && |
6fa92bf3 AR |
14 | git clone . aa && |
15 | git checkout b1 && | |
16 | echo b1 >>file && | |
17 | git commit -a -m b1 && | |
18 | git checkout b2 && | |
19 | echo b2 >>file && | |
20 | git commit -a -m b2 | |
21 | ' | |
22 | ||
8736a848 | 23 | test_expect_success 'prepare pushable branches' ' |
6fa92bf3 AR |
24 | cd aa && |
25 | b1=$(git rev-parse origin/b1) && | |
26 | b2=$(git rev-parse origin/b2) && | |
27 | git checkout -b b1 origin/b1 && | |
28 | echo aa-b1 >>file && | |
29 | git commit -a -m aa-b1 && | |
30 | git checkout -b b2 origin/b2 && | |
31 | echo aa-b2 >>file && | |
32 | git commit -a -m aa-b2 && | |
33 | git checkout master && | |
34 | echo aa-master >>file && | |
8736a848 JK |
35 | git commit -a -m aa-master |
36 | ' | |
37 | ||
d492b31c | 38 | test_expect_success 'mixed-success push returns error' ' |
2f9ae5fc | 39 | test_must_fail git push origin : |
d492b31c | 40 | ' |
8736a848 JK |
41 | |
42 | test_expect_success 'check tracking branches updated correctly after push' ' | |
43 | test "$(git rev-parse origin/master)" = "$(git rev-parse master)" | |
44 | ' | |
45 | ||
46 | test_expect_success 'check tracking branches not updated for failed refs' ' | |
6fa92bf3 AR |
47 | test "$(git rev-parse origin/b1)" = "$b1" && |
48 | test "$(git rev-parse origin/b2)" = "$b2" | |
49 | ' | |
50 | ||
1f0e2a1a JK |
51 | test_expect_success 'deleted branches have their tracking branches removed' ' |
52 | git push origin :b1 && | |
53 | test "$(git rev-parse origin/b1)" = "origin/b1" | |
54 | ' | |
55 | ||
0b294c0a JK |
56 | test_expect_success 'already deleted tracking branches ignored' ' |
57 | git branch -d -r origin/b3 && | |
58 | git push origin :b3 >output 2>&1 && | |
43b44ccf | 59 | ! grep "^error: " output |
0b294c0a JK |
60 | ' |
61 | ||
6fa92bf3 | 62 | test_done |