]>
Commit | Line | Data |
---|---|---|
cf7f929a SP |
1 | #!/bin/sh |
2 | ||
3 | test_description='test automatic tag following' | |
4 | ||
5 | . ./test-lib.sh | |
6 | ||
7 | # End state of the repository: | |
8 | # | |
9 | # T - tag1 S - tag2 | |
10 | # / / | |
11 | # L - A ------ O ------ B | |
12 | # \ \ \ | |
13 | # \ C - origin/cat \ | |
14 | # origin/master master | |
15 | ||
16 | test_expect_success setup ' | |
17 | test_tick && | |
18 | echo ichi >file && | |
19 | git add file && | |
20 | git commit -m L && | |
21 | L=$(git rev-parse --verify HEAD) && | |
22 | ||
23 | ( | |
24 | mkdir cloned && | |
25 | cd cloned && | |
26 | git init-db && | |
27 | git remote add -f origin .. | |
28 | ) && | |
29 | ||
30 | test_tick && | |
31 | echo A >file && | |
32 | git add file && | |
33 | git commit -m A && | |
34 | A=$(git rev-parse --verify HEAD) | |
35 | ' | |
36 | ||
37 | U=UPLOAD_LOG | |
38 | ||
39 | cat - <<EOF >expect | |
40 | #S | |
41 | want $A | |
42 | #E | |
43 | EOF | |
44 | test_expect_success 'fetch A (new commit : 1 connection)' ' | |
45 | rm -f $U | |
46 | ( | |
47 | cd cloned && | |
48 | GIT_DEBUG_SEND_PACK=3 git fetch 3>../$U && | |
49 | test $A = $(git rev-parse --verify origin/master) | |
50 | ) && | |
51 | test -s $U && | |
52 | cut -d" " -f1,2 $U >actual && | |
53 | git diff expect actual | |
54 | ' | |
55 | ||
56 | test_expect_success "create tag T on A, create C on branch cat" ' | |
57 | git tag -a -m tag1 tag1 $A && | |
58 | T=$(git rev-parse --verify tag1) && | |
59 | ||
60 | git checkout -b cat && | |
61 | echo C >file && | |
62 | git add file && | |
63 | git commit -m C && | |
64 | C=$(git rev-parse --verify HEAD) && | |
65 | git checkout master | |
66 | ' | |
67 | ||
68 | cat - <<EOF >expect | |
69 | #S | |
70 | want $C | |
71 | want $T | |
72 | #E | |
73 | EOF | |
74 | test_expect_success 'fetch C, T (new branch, tag : 1 connection)' ' | |
75 | rm -f $U | |
76 | ( | |
77 | cd cloned && | |
78 | GIT_DEBUG_SEND_PACK=3 git fetch 3>../$U && | |
79 | test $C = $(git rev-parse --verify origin/cat) && | |
80 | test $T = $(git rev-parse --verify tag1) && | |
81 | test $A = $(git rev-parse --verify tag1^0) | |
82 | ) && | |
83 | test -s $U && | |
84 | cut -d" " -f1,2 $U >actual && | |
85 | git diff expect actual | |
86 | ' | |
87 | ||
88 | test_expect_success "create commits O, B, tag S on B" ' | |
89 | test_tick && | |
90 | echo O >file && | |
91 | git add file && | |
92 | git commit -m O && | |
93 | ||
94 | test_tick && | |
95 | echo B >file && | |
96 | git add file && | |
97 | git commit -m B && | |
98 | B=$(git rev-parse --verify HEAD) && | |
99 | ||
100 | git tag -a -m tag2 tag2 $B && | |
101 | S=$(git rev-parse --verify tag2) | |
102 | ' | |
103 | ||
104 | cat - <<EOF >expect | |
105 | #S | |
106 | want $B | |
107 | want $S | |
108 | #E | |
109 | EOF | |
110 | test_expect_success 'fetch B, S (commit and tag : 1 connection)' ' | |
111 | rm -f $U | |
112 | ( | |
113 | cd cloned && | |
114 | GIT_DEBUG_SEND_PACK=3 git fetch 3>../$U && | |
115 | test $B = $(git rev-parse --verify origin/master) && | |
116 | test $B = $(git rev-parse --verify tag2^0) && | |
117 | test $S = $(git rev-parse --verify tag2) | |
118 | ) && | |
119 | test -s $U && | |
120 | cut -d" " -f1,2 $U >actual && | |
121 | git diff expect actual | |
122 | ' | |
123 | ||
41fa7d2e SP |
124 | cat - <<EOF >expect |
125 | #S | |
126 | want $B | |
127 | want $S | |
128 | #E | |
129 | EOF | |
130 | test_expect_success 'new clone fetch master and tags' ' | |
131 | git branch -D cat | |
132 | rm -f $U | |
133 | ( | |
134 | mkdir clone2 && | |
135 | cd clone2 && | |
136 | git init && | |
137 | git remote add origin .. && | |
138 | GIT_DEBUG_SEND_PACK=3 git fetch 3>../$U && | |
139 | test $B = $(git rev-parse --verify origin/master) && | |
140 | test $S = $(git rev-parse --verify tag2) && | |
141 | test $B = $(git rev-parse --verify tag2^0) && | |
142 | test $T = $(git rev-parse --verify tag1) && | |
143 | test $A = $(git rev-parse --verify tag1^0) | |
144 | ) && | |
145 | test -s $U && | |
146 | cut -d" " -f1,2 $U >actual && | |
147 | git diff expect actual | |
148 | ' | |
149 | ||
cf7f929a | 150 | test_done |