Mercurial > hg
comparison tests/test-newbranch.t @ 12279:28e2e3804f2e
combine tests
author | Adrian Buehlmann <adrian@cadifra.com> |
---|---|
date | Tue, 14 Sep 2010 12:20:51 +0200 |
parents | tests/test-newbranch@4c94b6d0fb1c |
children | 4134686b83e1 |
comparison
equal
deleted
inserted
replaced
12278:c4c2ba553401 | 12279:28e2e3804f2e |
---|---|
1 $ branchcache=.hg/branchheads.cache | |
2 | |
3 $ hg init t | |
4 $ cd t | |
5 | |
6 $ hg branches | |
7 $ echo foo > a | |
8 $ hg add a | |
9 $ hg ci -m "initial" | |
10 $ hg branch foo | |
11 marked working directory as branch foo | |
12 $ hg branch | |
13 foo | |
14 $ hg ci -m "add branch name" | |
15 $ hg branch bar | |
16 marked working directory as branch bar | |
17 $ hg ci -m "change branch name" | |
18 | |
19 Branch shadowing: | |
20 | |
21 $ hg branch default | |
22 abort: a branch of the same name already exists (use 'hg update' to switch to it) | |
23 | |
24 $ hg branch -f default | |
25 marked working directory as branch default | |
26 | |
27 $ hg ci -m "clear branch name" | |
28 created new head | |
29 | |
30 There should be only one default branch head | |
31 | |
32 $ hg heads . | |
33 changeset: 3:9d567d0b51f9 | |
34 tag: tip | |
35 user: test | |
36 date: Thu Jan 01 00:00:00 1970 +0000 | |
37 summary: clear branch name | |
38 | |
39 | |
40 $ hg co foo | |
41 0 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
42 $ hg branch | |
43 foo | |
44 $ echo bleah > a | |
45 $ hg ci -m "modify a branch" | |
46 | |
47 $ hg merge default | |
48 0 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
49 (branch merge, don't forget to commit) | |
50 | |
51 $ hg branch | |
52 foo | |
53 $ hg ci -m "merge" | |
54 | |
55 $ hg log | |
56 changeset: 5:dc140083783b | |
57 branch: foo | |
58 tag: tip | |
59 parent: 4:98d14f698afe | |
60 parent: 3:9d567d0b51f9 | |
61 user: test | |
62 date: Thu Jan 01 00:00:00 1970 +0000 | |
63 summary: merge | |
64 | |
65 changeset: 4:98d14f698afe | |
66 branch: foo | |
67 parent: 1:0079f24813e2 | |
68 user: test | |
69 date: Thu Jan 01 00:00:00 1970 +0000 | |
70 summary: modify a branch | |
71 | |
72 changeset: 3:9d567d0b51f9 | |
73 user: test | |
74 date: Thu Jan 01 00:00:00 1970 +0000 | |
75 summary: clear branch name | |
76 | |
77 changeset: 2:ed2bbf4e0102 | |
78 branch: bar | |
79 user: test | |
80 date: Thu Jan 01 00:00:00 1970 +0000 | |
81 summary: change branch name | |
82 | |
83 changeset: 1:0079f24813e2 | |
84 branch: foo | |
85 user: test | |
86 date: Thu Jan 01 00:00:00 1970 +0000 | |
87 summary: add branch name | |
88 | |
89 changeset: 0:db01e8ea3388 | |
90 user: test | |
91 date: Thu Jan 01 00:00:00 1970 +0000 | |
92 summary: initial | |
93 | |
94 $ hg branches | |
95 foo 5:dc140083783b | |
96 default 3:9d567d0b51f9 (inactive) | |
97 bar 2:ed2bbf4e0102 (inactive) | |
98 | |
99 $ hg branches -q | |
100 foo | |
101 default | |
102 bar | |
103 | |
104 Test for invalid branch cache: | |
105 | |
106 $ hg rollback | |
107 rolling back to revision 4 (undo commit) | |
108 | |
109 $ cp $branchcache .hg/bc-invalid | |
110 | |
111 $ hg log -r foo | |
112 changeset: 4:98d14f698afe | |
113 branch: foo | |
114 tag: tip | |
115 parent: 1:0079f24813e2 | |
116 user: test | |
117 date: Thu Jan 01 00:00:00 1970 +0000 | |
118 summary: modify a branch | |
119 | |
120 $ cp .hg/bc-invalid $branchcache | |
121 | |
122 $ hg --debug log -r foo | |
123 invalidating branch cache (tip differs) | |
124 changeset: 4:98d14f698afeaff8cb612dcf215ce95e639effc3 | |
125 branch: foo | |
126 tag: tip | |
127 parent: 1:0079f24813e2b73a891577c243684c5066347bc8 | |
128 parent: -1:0000000000000000000000000000000000000000 | |
129 manifest: 4:d01b250baaa05909152f7ae07d7a649deea0df9a | |
130 user: test | |
131 date: Thu Jan 01 00:00:00 1970 +0000 | |
132 files: a | |
133 extra: branch=foo | |
134 description: | |
135 modify a branch | |
136 | |
137 | |
138 $ rm $branchcache | |
139 $ echo corrupted > $branchcache | |
140 | |
141 $ hg log -qr foo | |
142 4:98d14f698afe | |
143 | |
144 $ cat $branchcache | |
145 98d14f698afeaff8cb612dcf215ce95e639effc3 4 | |
146 9d567d0b51f9e2068b054e1948e1a927f99b5874 default | |
147 98d14f698afeaff8cb612dcf215ce95e639effc3 foo | |
148 ed2bbf4e01029020711be82ca905283e883f0e11 bar | |
149 | |
150 Push should update the branch cache: | |
151 | |
152 $ hg init ../target | |
153 | |
154 Pushing just rev 0: | |
155 | |
156 $ hg push -qr 0 ../target | |
157 | |
158 $ cat ../target/$branchcache | |
159 db01e8ea3388fd3c7c94e1436ea2bd6a53d581c5 0 | |
160 db01e8ea3388fd3c7c94e1436ea2bd6a53d581c5 default | |
161 | |
162 Pushing everything: | |
163 | |
164 $ hg push -qf ../target | |
165 | |
166 $ cat ../target/$branchcache | |
167 98d14f698afeaff8cb612dcf215ce95e639effc3 4 | |
168 9d567d0b51f9e2068b054e1948e1a927f99b5874 default | |
169 98d14f698afeaff8cb612dcf215ce95e639effc3 foo | |
170 ed2bbf4e01029020711be82ca905283e883f0e11 bar | |
171 | |
172 Update with no arguments: tipmost revision of the current branch: | |
173 | |
174 $ hg up -q -C 0 | |
175 $ hg up -q | |
176 $ hg id | |
177 9d567d0b51f9 | |
178 | |
179 $ hg up -q 1 | |
180 $ hg up -q | |
181 $ hg id | |
182 98d14f698afe (foo) tip | |
183 | |
184 $ hg branch foobar | |
185 marked working directory as branch foobar | |
186 | |
187 $ hg up | |
188 abort: branch foobar not found | |
189 | |
190 Fastforward merge: | |
191 | |
192 $ hg branch ff | |
193 marked working directory as branch ff | |
194 | |
195 $ echo ff > ff | |
196 $ hg ci -Am'fast forward' | |
197 adding ff | |
198 | |
199 $ hg up foo | |
200 0 files updated, 0 files merged, 1 files removed, 0 files unresolved | |
201 | |
202 $ hg merge ff | |
203 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
204 (branch merge, don't forget to commit) | |
205 | |
206 $ hg branch | |
207 foo | |
208 $ hg commit -m'Merge ff into foo' | |
209 $ hg parents | |
210 changeset: 6:917eb54e1b4b | |
211 branch: foo | |
212 tag: tip | |
213 parent: 4:98d14f698afe | |
214 parent: 5:6683a60370cb | |
215 user: test | |
216 date: Thu Jan 01 00:00:00 1970 +0000 | |
217 summary: Merge ff into foo | |
218 | |
219 $ hg manifest | |
220 a | |
221 ff | |
222 | |
223 | |
224 Test merging, add 3 default heads and one test head: | |
225 | |
226 $ cd .. | |
227 $ hg init merges | |
228 $ cd merges | |
229 $ echo a > a | |
230 $ hg ci -Ama | |
231 adding a | |
232 | |
233 $ echo b > b | |
234 $ hg ci -Amb | |
235 adding b | |
236 | |
237 $ hg up 0 | |
238 0 files updated, 0 files merged, 1 files removed, 0 files unresolved | |
239 $ echo c > c | |
240 $ hg ci -Amc | |
241 adding c | |
242 created new head | |
243 | |
244 $ hg up 0 | |
245 0 files updated, 0 files merged, 1 files removed, 0 files unresolved | |
246 $ echo d > d | |
247 $ hg ci -Amd | |
248 adding d | |
249 created new head | |
250 | |
251 $ hg up 0 | |
252 0 files updated, 0 files merged, 1 files removed, 0 files unresolved | |
253 $ hg branch test | |
254 marked working directory as branch test | |
255 $ echo e >> e | |
256 $ hg ci -Ame | |
257 adding e | |
258 | |
259 $ hg log | |
260 changeset: 4:3a1e01ed1df4 | |
261 branch: test | |
262 tag: tip | |
263 parent: 0:cb9a9f314b8b | |
264 user: test | |
265 date: Thu Jan 01 00:00:00 1970 +0000 | |
266 summary: e | |
267 | |
268 changeset: 3:980f7dc84c29 | |
269 parent: 0:cb9a9f314b8b | |
270 user: test | |
271 date: Thu Jan 01 00:00:00 1970 +0000 | |
272 summary: d | |
273 | |
274 changeset: 2:d36c0562f908 | |
275 parent: 0:cb9a9f314b8b | |
276 user: test | |
277 date: Thu Jan 01 00:00:00 1970 +0000 | |
278 summary: c | |
279 | |
280 changeset: 1:d2ae7f538514 | |
281 user: test | |
282 date: Thu Jan 01 00:00:00 1970 +0000 | |
283 summary: b | |
284 | |
285 changeset: 0:cb9a9f314b8b | |
286 user: test | |
287 date: Thu Jan 01 00:00:00 1970 +0000 | |
288 summary: a | |
289 | |
290 Implicit merge with test branch as parent: | |
291 | |
292 $ hg merge | |
293 abort: branch 'test' has one head - please merge with an explicit rev | |
294 (run 'hg heads' to see all heads) | |
295 $ hg up -C default | |
296 1 files updated, 0 files merged, 1 files removed, 0 files unresolved | |
297 | |
298 Implicit merge with default branch as parent: | |
299 | |
300 $ hg merge | |
301 abort: branch 'default' has 3 heads - please merge with an explicit rev | |
302 (run 'hg heads .' to see heads) | |
303 | |
304 3 branch heads, explicit merge required: | |
305 | |
306 $ hg merge 2 | |
307 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
308 (branch merge, don't forget to commit) | |
309 $ hg ci -m merge | |
310 | |
311 2 branch heads, implicit merge works: | |
312 | |
313 $ hg merge | |
314 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
315 (branch merge, don't forget to commit) | |
316 |