1 $ . "$TESTDIR/testlib/topic_setup.sh" |
|
2 |
|
3 $ hg init jungle |
|
4 $ cd jungle |
|
5 $ cat <<EOF >> .hg/hgrc |
|
6 > [extensions] |
|
7 > rebase= |
|
8 > histedit= |
|
9 > [phases] |
|
10 > publish=false |
|
11 > EOF |
|
12 $ cat <<EOF >> $HGRCPATH |
|
13 > [ui] |
|
14 > logtemplate = '{rev} ({topics}) {desc}\n' |
|
15 > EOF |
|
16 |
|
17 $ for x in alpha beta gamma delta ; do |
|
18 > echo file $x >> $x |
|
19 > hg add $x |
|
20 > hg ci -m "c_$x" |
|
21 > done |
|
22 |
|
23 Test NGTip feature |
|
24 ================== |
|
25 |
|
26 Simple linear case |
|
27 |
|
28 $ echo babar >> jungle |
|
29 $ hg add jungle |
|
30 $ hg ci -t elephant -m babar |
|
31 |
|
32 $ hg log -G |
|
33 @ 4 (elephant) babar |
|
34 | |
|
35 o 3 () c_delta |
|
36 | |
|
37 o 2 () c_gamma |
|
38 | |
|
39 o 1 () c_beta |
|
40 | |
|
41 o 0 () c_alpha |
|
42 |
|
43 $ hg log -r 'ngtip(.)' |
|
44 3 () c_delta |
|
45 $ hg log -r 'default' |
|
46 3 () c_delta |
|
47 |
|
48 |
|
49 multiple heads with topic |
|
50 |
|
51 $ hg up "desc('c_beta')" |
|
52 0 files updated, 0 files merged, 3 files removed, 0 files unresolved |
|
53 $ echo zephir >> jungle |
|
54 $ hg add jungle |
|
55 $ hg ci -t monkey -m zephir |
|
56 $ hg log -G |
|
57 @ 5 (monkey) zephir |
|
58 | |
|
59 | o 4 (elephant) babar |
|
60 | | |
|
61 | o 3 () c_delta |
|
62 | | |
|
63 | o 2 () c_gamma |
|
64 |/ |
|
65 o 1 () c_beta |
|
66 | |
|
67 o 0 () c_alpha |
|
68 |
|
69 $ hg log -r 'ngtip(.)' |
|
70 3 () c_delta |
|
71 $ hg log -r 'default' |
|
72 3 () c_delta |
|
73 |
|
74 one of the head is a valid tip |
|
75 |
|
76 $ hg up "desc('c_delta')" |
|
77 2 files updated, 0 files merged, 1 files removed, 0 files unresolved |
|
78 $ echo epsilon >> epsilon |
|
79 $ hg add epsilon |
|
80 $ hg ci -m "c_epsilon" |
|
81 $ hg log -G |
|
82 @ 6 () c_epsilon |
|
83 | |
|
84 | o 5 (monkey) zephir |
|
85 | | |
|
86 +---o 4 (elephant) babar |
|
87 | | |
|
88 o | 3 () c_delta |
|
89 | | |
|
90 o | 2 () c_gamma |
|
91 |/ |
|
92 o 1 () c_beta |
|
93 | |
|
94 o 0 () c_alpha |
|
95 |
|
96 $ hg log -r 'ngtip(.)' |
|
97 6 () c_epsilon |
|
98 $ hg log -r 'default' |
|
99 6 () c_epsilon |
|
100 |
|
101 rebase destination |
|
102 ================== |
|
103 |
|
104 rebase on branch ngtip |
|
105 |
|
106 $ hg up elephant |
|
107 switching to topic elephant |
|
108 1 files updated, 0 files merged, 1 files removed, 0 files unresolved |
|
109 $ hg rebase |
|
110 rebasing 4:cb7ae72f4a80 "babar" |
|
111 $ hg log -G |
|
112 @ 7 (elephant) babar |
|
113 | |
|
114 o 6 () c_epsilon |
|
115 | |
|
116 | o 5 (monkey) zephir |
|
117 | | |
|
118 o | 3 () c_delta |
|
119 | | |
|
120 o | 2 () c_gamma |
|
121 |/ |
|
122 o 1 () c_beta |
|
123 | |
|
124 o 0 () c_alpha |
|
125 |
|
126 $ hg up monkey |
|
127 switching to topic monkey |
|
128 1 files updated, 0 files merged, 3 files removed, 0 files unresolved |
|
129 $ hg rebase |
|
130 rebasing 5:d832ddc604ec "zephir" |
|
131 $ hg log -G |
|
132 @ 8 (monkey) zephir |
|
133 | |
|
134 | o 7 (elephant) babar |
|
135 |/ |
|
136 o 6 () c_epsilon |
|
137 | |
|
138 o 3 () c_delta |
|
139 | |
|
140 o 2 () c_gamma |
|
141 | |
|
142 o 1 () c_beta |
|
143 | |
|
144 o 0 () c_alpha |
|
145 |
|
146 |
|
147 Rebase on other topic heads if any |
|
148 |
|
149 $ hg up 'desc(c_delta)' |
|
150 0 files updated, 0 files merged, 2 files removed, 0 files unresolved |
|
151 $ echo "General Huc" >> monkeyville |
|
152 $ hg add monkeyville |
|
153 $ hg ci -t monkey -m Huc |
|
154 $ hg log -G |
|
155 @ 9 (monkey) Huc |
|
156 | |
|
157 | o 8 (monkey) zephir |
|
158 | | |
|
159 | | o 7 (elephant) babar |
|
160 | |/ |
|
161 | o 6 () c_epsilon |
|
162 |/ |
|
163 o 3 () c_delta |
|
164 | |
|
165 o 2 () c_gamma |
|
166 | |
|
167 o 1 () c_beta |
|
168 | |
|
169 o 0 () c_alpha |
|
170 |
|
171 $ hg rebase |
|
172 rebasing 9:d79a104e2902 "Huc" (tip) |
|
173 $ hg log -G |
|
174 @ 10 (monkey) Huc |
|
175 | |
|
176 o 8 (monkey) zephir |
|
177 | |
|
178 | o 7 (elephant) babar |
|
179 |/ |
|
180 o 6 () c_epsilon |
|
181 | |
|
182 o 3 () c_delta |
|
183 | |
|
184 o 2 () c_gamma |
|
185 | |
|
186 o 1 () c_beta |
|
187 | |
|
188 o 0 () c_alpha |
|
189 |
|
190 |
|
191 merge destination |
|
192 ================= |
|
193 |
|
194 $ hg up 'ngtip(default)' |
|
195 0 files updated, 0 files merged, 2 files removed, 0 files unresolved |
|
196 $ hg up default |
|
197 0 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
198 $ echo zeta >> zeta |
|
199 $ hg add zeta |
|
200 $ hg ci -m "c_zeta" |
|
201 $ hg log -G |
|
202 @ 11 () c_zeta |
|
203 | |
|
204 | o 10 (monkey) Huc |
|
205 | | |
|
206 | o 8 (monkey) zephir |
|
207 |/ |
|
208 | o 7 (elephant) babar |
|
209 |/ |
|
210 o 6 () c_epsilon |
|
211 | |
|
212 o 3 () c_delta |
|
213 | |
|
214 o 2 () c_gamma |
|
215 | |
|
216 o 1 () c_beta |
|
217 | |
|
218 o 0 () c_alpha |
|
219 |
|
220 $ hg up elephant |
|
221 switching to topic elephant |
|
222 1 files updated, 0 files merged, 1 files removed, 0 files unresolved |
|
223 $ hg rebase -d 'desc(c_zeta)' # make sure tip is elsewhere |
|
224 rebasing 7:8d0b77140b05 "babar" |
|
225 $ hg up monkey |
|
226 switching to topic monkey |
|
227 2 files updated, 0 files merged, 1 files removed, 0 files unresolved |
|
228 $ hg merge |
|
229 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
230 (branch merge, don't forget to commit) |
|
231 $ hg topic |
|
232 elephant |
|
233 * monkey |
|
234 $ hg ci -m 'merge with default' |
|
235 $ hg topic |
|
236 elephant |
|
237 * monkey |
|
238 $ hg log -G |
|
239 @ 13 (monkey) merge with default |
|
240 |\ |
|
241 | | o 12 (elephant) babar |
|
242 | |/ |
|
243 | o 11 () c_zeta |
|
244 | | |
|
245 o | 10 (monkey) Huc |
|
246 | | |
|
247 o | 8 (monkey) zephir |
|
248 |/ |
|
249 o 6 () c_epsilon |
|
250 | |
|
251 o 3 () c_delta |
|
252 | |
|
253 o 2 () c_gamma |
|
254 | |
|
255 o 1 () c_beta |
|
256 | |
|
257 o 0 () c_alpha |
|
258 |
|
259 |
|
260 |
|
261 Check pull --rebase |
|
262 ------------------- |
|
263 |
|
264 (we broke it a some point) |
|
265 |
|
266 $ cd .. |
|
267 $ hg clone jungle other --rev '2' |
|
268 adding changesets |
|
269 adding manifests |
|
270 adding file changes |
|
271 added 3 changesets with 3 changes to 3 files |
|
272 updating to branch default |
|
273 3 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
274 $ cd other |
|
275 $ echo other > other |
|
276 $ hg add other |
|
277 $ hg ci -m 'c_other' |
|
278 $ hg pull -r default --rebase |
|
279 pulling from $TESTTMP/jungle (glob) |
|
280 searching for changes |
|
281 adding changesets |
|
282 adding manifests |
|
283 adding file changes |
|
284 added 3 changesets with 3 changes to 3 files (+1 heads) |
|
285 rebasing 3:dbc48dd9e743 "c_other" |
|
286 $ hg log -G |
|
287 @ 7 () c_other |
|
288 | |
|
289 o 6 () c_zeta |
|
290 | |
|
291 o 5 () c_epsilon |
|
292 | |
|
293 o 4 () c_delta |
|
294 | |
|
295 o 2 () c_gamma |
|
296 | |
|
297 o 1 () c_beta |
|
298 | |
|
299 o 0 () c_alpha |
|
300 |
|
301 $ cd ../jungle |
|
302 |
|
303 |
|
304 Default destination for update |
|
305 =============================== |
|
306 |
|
307 initial setup |
|
308 |
|
309 $ hg up elephant |
|
310 switching to topic elephant |
|
311 1 files updated, 0 files merged, 1 files removed, 0 files unresolved |
|
312 $ echo arthur >> jungle |
|
313 $ hg ci -m arthur |
|
314 $ echo pompadour >> jungle |
|
315 $ hg ci -m pompadour |
|
316 $ hg up 'roots(all())' |
|
317 0 files updated, 0 files merged, 6 files removed, 0 files unresolved |
|
318 $ hg log -G |
|
319 o 15 (elephant) pompadour |
|
320 | |
|
321 o 14 (elephant) arthur |
|
322 | |
|
323 | o 13 (monkey) merge with default |
|
324 | |\ |
|
325 o---+ 12 (elephant) babar |
|
326 / / |
|
327 | o 11 () c_zeta |
|
328 | | |
|
329 o | 10 (monkey) Huc |
|
330 | | |
|
331 o | 8 (monkey) zephir |
|
332 |/ |
|
333 o 6 () c_epsilon |
|
334 | |
|
335 o 3 () c_delta |
|
336 | |
|
337 o 2 () c_gamma |
|
338 | |
|
339 o 1 () c_beta |
|
340 | |
|
341 @ 0 () c_alpha |
|
342 |
|
343 |
|
344 testing default destination on a branch |
|
345 |
|
346 $ hg up |
|
347 5 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
348 $ hg log -G |
|
349 o 15 (elephant) pompadour |
|
350 | |
|
351 o 14 (elephant) arthur |
|
352 | |
|
353 | o 13 (monkey) merge with default |
|
354 | |\ |
|
355 o---+ 12 (elephant) babar |
|
356 / / |
|
357 | @ 11 () c_zeta |
|
358 | | |
|
359 o | 10 (monkey) Huc |
|
360 | | |
|
361 o | 8 (monkey) zephir |
|
362 |/ |
|
363 o 6 () c_epsilon |
|
364 | |
|
365 o 3 () c_delta |
|
366 | |
|
367 o 2 () c_gamma |
|
368 | |
|
369 o 1 () c_beta |
|
370 | |
|
371 o 0 () c_alpha |
|
372 |
|
373 |
|
374 extra setup for topic |
|
375 (making sure tip is not the topic) |
|
376 |
|
377 $ hg up 'desc(c_zeta)' |
|
378 0 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
379 $ echo 'eta' >> 'eta' |
|
380 $ hg add 'eta' |
|
381 $ hg commit -m 'c_eta' |
|
382 $ hg log -G |
|
383 @ 16 () c_eta |
|
384 | |
|
385 | o 15 (elephant) pompadour |
|
386 | | |
|
387 | o 14 (elephant) arthur |
|
388 | | |
|
389 +---o 13 (monkey) merge with default |
|
390 | | | |
|
391 | o | 12 (elephant) babar |
|
392 |/ / |
|
393 o | 11 () c_zeta |
|
394 | | |
|
395 | o 10 (monkey) Huc |
|
396 | | |
|
397 | o 8 (monkey) zephir |
|
398 |/ |
|
399 o 6 () c_epsilon |
|
400 | |
|
401 o 3 () c_delta |
|
402 | |
|
403 o 2 () c_gamma |
|
404 | |
|
405 o 1 () c_beta |
|
406 | |
|
407 o 0 () c_alpha |
|
408 |
|
409 |
|
410 Testing default destination for topic |
|
411 |
|
412 $ hg up 'roots(topic(elephant))' |
|
413 switching to topic elephant |
|
414 1 files updated, 0 files merged, 1 files removed, 0 files unresolved |
|
415 $ hg up |
|
416 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
417 $ hg log -G |
|
418 o 16 () c_eta |
|
419 | |
|
420 | @ 15 (elephant) pompadour |
|
421 | | |
|
422 | o 14 (elephant) arthur |
|
423 | | |
|
424 +---o 13 (monkey) merge with default |
|
425 | | | |
|
426 | o | 12 (elephant) babar |
|
427 |/ / |
|
428 o | 11 () c_zeta |
|
429 | | |
|
430 | o 10 (monkey) Huc |
|
431 | | |
|
432 | o 8 (monkey) zephir |
|
433 |/ |
|
434 o 6 () c_epsilon |
|
435 | |
|
436 o 3 () c_delta |
|
437 | |
|
438 o 2 () c_gamma |
|
439 | |
|
440 o 1 () c_beta |
|
441 | |
|
442 o 0 () c_alpha |
|
443 |
|
444 |
|
445 Testing default destination for topic |
|
446 |
|
447 $ hg up 'p1(roots(topic(elephant)))' |
|
448 0 files updated, 0 files merged, 1 files removed, 0 files unresolved |
|
449 $ hg topic elephant |
|
450 $ hg up |
|
451 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
452 $ hg log -G |
|
453 o 16 () c_eta |
|
454 | |
|
455 | @ 15 (elephant) pompadour |
|
456 | | |
|
457 | o 14 (elephant) arthur |
|
458 | | |
|
459 +---o 13 (monkey) merge with default |
|
460 | | | |
|
461 | o | 12 (elephant) babar |
|
462 |/ / |
|
463 o | 11 () c_zeta |
|
464 | | |
|
465 | o 10 (monkey) Huc |
|
466 | | |
|
467 | o 8 (monkey) zephir |
|
468 |/ |
|
469 o 6 () c_epsilon |
|
470 | |
|
471 o 3 () c_delta |
|
472 | |
|
473 o 2 () c_gamma |
|
474 | |
|
475 o 1 () c_beta |
|
476 | |
|
477 o 0 () c_alpha |
|
478 |
|
479 |
|
480 Default destination for histedit |
|
481 ================================ |
|
482 |
|
483 By default histedit should edit with the current topic only |
|
484 (even when based on other draft |
|
485 |
|
486 $ hg phase 'desc(c_zeta)' |
|
487 11: draft |
|
488 $ HGEDITOR=cat hg histedit | grep pick |
|
489 pick e44744d9ad73 12 babar |
|
490 pick 38eea8439aee 14 arthur |
|
491 pick 411315c48bdc 15 pompadour |
|
492 # p, pick = use commit |
|