Mercurial > evolve
comparison tests/test-evolve-public-content-divergent-corner-cases.t @ 4660:b62ed7c69561
branching: merge with stable
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Tue, 04 Jun 2019 11:08:44 +0200 |
parents | tests/test-evolve-public-content-divergent.t@14437b18b024 tests/test-evolve-public-content-divergent.t@61c2518cd6d2 |
children | 653c42af172e b6c819facbe8 |
comparison
equal
deleted
inserted
replaced
4659:4d2f8c99f23a | 4660:b62ed7c69561 |
---|---|
1 =============================================================== | |
2 Tests the resolution of public content divergence: corner cases | |
3 =============================================================== | |
4 | |
5 This file intend to cover cases that are specific enough to not fit in the | |
6 other cases. | |
7 | |
8 Setup | |
9 ===== | |
10 $ cat >> $HGRCPATH <<EOF | |
11 > [alias] | |
12 > glog = log -GT "{rev}:{node|short} {desc|firstline}\n {phase} {instabilities}\n\n" | |
13 > [phases] | |
14 > publish = False | |
15 > [extensions] | |
16 > rebase = | |
17 > EOF | |
18 $ echo "evolve=$(echo $(dirname $TESTDIR))/hgext3rd/evolve/" >> $HGRCPATH | |
19 | |
20 Testing when divergence is not created by actual diff change, but because of rebasing: | |
21 -------------------------------------------------------------------------------------- | |
22 | |
23 Prepare the repo: | |
24 | |
25 $ hg init rebasediv | |
26 $ cd rebasediv | |
27 $ for ch in a b c; do | |
28 > echo $ch > $ch; | |
29 > hg ci -Am "added "$ch; | |
30 > done; | |
31 adding a | |
32 adding b | |
33 adding c | |
34 | |
35 $ hg glog | |
36 @ 2:155349b645be added c | |
37 | draft | |
38 | | |
39 o 1:5f6d8a4bf34a added b | |
40 | draft | |
41 | | |
42 o 0:9092f1db7931 added a | |
43 draft | |
44 | |
45 | |
46 On server side: a new cset is added based on rev 1 and rev 2 is rebased on newly added cset: | |
47 | |
48 $ hg up .^ -q | |
49 $ echo d > d | |
50 $ hg ci -Am "added d" | |
51 adding d | |
52 created new head | |
53 | |
54 $ hg rebase -r 2 -d . | |
55 rebasing 2:155349b645be "added c" | |
56 | |
57 $ hg glog | |
58 o 4:c0d7ee6604ea added c | |
59 | draft | |
60 | | |
61 @ 3:c9241b0f2d5b added d | |
62 | draft | |
63 | | |
64 o 1:5f6d8a4bf34a added b | |
65 | draft | |
66 | | |
67 o 0:9092f1db7931 added a | |
68 draft | |
69 | |
70 | |
71 On user side: user has not pulled yet and amended the rev 2 which created the divergence after pull: | |
72 $ hg up 2 --hidden -q | |
73 updated to hidden changeset 155349b645be | |
74 (hidden revision '155349b645be' was rewritten as: c0d7ee6604ea) | |
75 working directory parent is obsolete! (155349b645be) | |
76 | |
77 $ echo cc >> c | |
78 $ hg ci --amend -m "updated c" | |
79 2 new content-divergent changesets | |
80 | |
81 Lets change the phase to --public of branch which is pulled from server: | |
82 $ hg phase --public -r 4 | |
83 $ hg glog -p | |
84 @ 5:f5f9b4fc8b77 updated c | |
85 | draft content-divergent | |
86 | | |
87 | diff -r 5f6d8a4bf34a -r f5f9b4fc8b77 c | |
88 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
89 | +++ b/c Thu Jan 01 00:00:00 1970 +0000 | |
90 | @@ -0,0 +1,2 @@ | |
91 | +c | |
92 | +cc | |
93 | | |
94 | o 4:c0d7ee6604ea added c | |
95 | | public | |
96 | | | |
97 | | diff -r c9241b0f2d5b -r c0d7ee6604ea c | |
98 | | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
99 | | +++ b/c Thu Jan 01 00:00:00 1970 +0000 | |
100 | | @@ -0,0 +1,1 @@ | |
101 | | +c | |
102 | | | |
103 | o 3:c9241b0f2d5b added d | |
104 |/ public | |
105 | | |
106 | diff -r 5f6d8a4bf34a -r c9241b0f2d5b d | |
107 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
108 | +++ b/d Thu Jan 01 00:00:00 1970 +0000 | |
109 | @@ -0,0 +1,1 @@ | |
110 | +d | |
111 | | |
112 o 1:5f6d8a4bf34a added b | |
113 | public | |
114 | | |
115 | diff -r 9092f1db7931 -r 5f6d8a4bf34a b | |
116 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
117 | +++ b/b Thu Jan 01 00:00:00 1970 +0000 | |
118 | @@ -0,0 +1,1 @@ | |
119 | +b | |
120 | | |
121 o 0:9092f1db7931 added a | |
122 public | |
123 | |
124 diff -r 000000000000 -r 9092f1db7931 a | |
125 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
126 +++ b/a Thu Jan 01 00:00:00 1970 +0000 | |
127 @@ -0,0 +1,1 @@ | |
128 +a | |
129 | |
130 | |
131 Evolve: | |
132 $ hg evolve --content-divergent | |
133 merge:[4] added c | |
134 with: [5] updated c | |
135 base: [2] added c | |
136 rebasing "other" content-divergent changeset f5f9b4fc8b77 on c9241b0f2d5b | |
137 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
138 committed as 3b336cbee992 | |
139 working directory is now at 3b336cbee992 | |
140 | |
141 $ hg glog -p | |
142 @ 8:3b336cbee992 phase-divergent update to c0d7ee6604ea: | |
143 | draft | |
144 | | |
145 | diff -r c0d7ee6604ea -r 3b336cbee992 c | |
146 | --- a/c Thu Jan 01 00:00:00 1970 +0000 | |
147 | +++ b/c Thu Jan 01 00:00:00 1970 +0000 | |
148 | @@ -1,1 +1,2 @@ | |
149 | c | |
150 | +cc | |
151 | | |
152 o 4:c0d7ee6604ea added c | |
153 | public | |
154 | | |
155 | diff -r c9241b0f2d5b -r c0d7ee6604ea c | |
156 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
157 | +++ b/c Thu Jan 01 00:00:00 1970 +0000 | |
158 | @@ -0,0 +1,1 @@ | |
159 | +c | |
160 | | |
161 o 3:c9241b0f2d5b added d | |
162 | public | |
163 | | |
164 | diff -r 5f6d8a4bf34a -r c9241b0f2d5b d | |
165 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
166 | +++ b/d Thu Jan 01 00:00:00 1970 +0000 | |
167 | @@ -0,0 +1,1 @@ | |
168 | +d | |
169 | | |
170 o 1:5f6d8a4bf34a added b | |
171 | public | |
172 | | |
173 | diff -r 9092f1db7931 -r 5f6d8a4bf34a b | |
174 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
175 | +++ b/b Thu Jan 01 00:00:00 1970 +0000 | |
176 | @@ -0,0 +1,1 @@ | |
177 | +b | |
178 | | |
179 o 0:9092f1db7931 added a | |
180 public | |
181 | |
182 diff -r 000000000000 -r 9092f1db7931 a | |
183 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
184 +++ b/a Thu Jan 01 00:00:00 1970 +0000 | |
185 @@ -0,0 +1,1 @@ | |
186 +a | |
187 | |
188 Check that we don't have any unstable cset now: | |
189 $ hg evolve -l | |
190 $ cd .. | |
191 | |
192 Different parent, simple conflict on relocate, deleted file on actual merge | |
193 --------------------------------------------------------------------------- | |
194 | |
195 Changeset "added c e" is also removing 'd'. This should conflict with the update | |
196 to 'd' in the successors of 'adding d' when solving the content divergence. | |
197 | |
198 $ hg init pubdiv-parent-deleted-file | |
199 $ cd pubdiv-parent-deleted-file | |
200 $ for ch in a b c d; do | |
201 > echo $ch > $ch; | |
202 > hg ci -Aqm "added "$ch; | |
203 > done; | |
204 | |
205 $ hg up 'desc("added b")' | |
206 0 files updated, 0 files merged, 2 files removed, 0 files unresolved | |
207 $ echo cfoo > c | |
208 $ echo e > e | |
209 $ hg add c e | |
210 $ hg ci -m "added c e" | |
211 created new head | |
212 | |
213 $ hg up 'desc("re:added c$")' | |
214 1 files updated, 0 files merged, 1 files removed, 0 files unresolved | |
215 $ echo dd > d | |
216 $ hg add d | |
217 $ hg ci -m "added d" | |
218 created new head | |
219 | |
220 $ hg glog --patch --rev 'sort(all(), "topo")' | |
221 @ 5:93cd84bbdaca added d | |
222 | draft | |
223 | | |
224 | diff -r 155349b645be -r 93cd84bbdaca d | |
225 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
226 | +++ b/d Thu Jan 01 00:00:00 1970 +0000 | |
227 | @@ -0,0 +1,1 @@ | |
228 | +dd | |
229 | | |
230 | o 3:9150fe93bec6 added d | |
231 |/ draft | |
232 | | |
233 | diff -r 155349b645be -r 9150fe93bec6 d | |
234 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
235 | +++ b/d Thu Jan 01 00:00:00 1970 +0000 | |
236 | @@ -0,0 +1,1 @@ | |
237 | +d | |
238 | | |
239 o 2:155349b645be added c | |
240 | draft | |
241 | | |
242 | diff -r 5f6d8a4bf34a -r 155349b645be c | |
243 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
244 | +++ b/c Thu Jan 01 00:00:00 1970 +0000 | |
245 | @@ -0,0 +1,1 @@ | |
246 | +c | |
247 | | |
248 | o 4:e568fd1029bb added c e | |
249 |/ draft | |
250 | | |
251 | diff -r 5f6d8a4bf34a -r e568fd1029bb c | |
252 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
253 | +++ b/c Thu Jan 01 00:00:00 1970 +0000 | |
254 | @@ -0,0 +1,1 @@ | |
255 | +cfoo | |
256 | diff -r 5f6d8a4bf34a -r e568fd1029bb e | |
257 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
258 | +++ b/e Thu Jan 01 00:00:00 1970 +0000 | |
259 | @@ -0,0 +1,1 @@ | |
260 | +e | |
261 | | |
262 o 1:5f6d8a4bf34a added b | |
263 | draft | |
264 | | |
265 | diff -r 9092f1db7931 -r 5f6d8a4bf34a b | |
266 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
267 | +++ b/b Thu Jan 01 00:00:00 1970 +0000 | |
268 | @@ -0,0 +1,1 @@ | |
269 | +b | |
270 | | |
271 o 0:9092f1db7931 added a | |
272 draft | |
273 | |
274 diff -r 000000000000 -r 9092f1db7931 a | |
275 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
276 +++ b/a Thu Jan 01 00:00:00 1970 +0000 | |
277 @@ -0,0 +1,1 @@ | |
278 +a | |
279 | |
280 $ hg prune 'min(desc("added d"))' -s 'max(desc("added d"))' | |
281 1 changesets pruned | |
282 $ hg prune 'min(desc("added d"))' -s 'desc("added c e")' --hidden | |
283 1 changesets pruned | |
284 2 new content-divergent changesets | |
285 | |
286 Change phase to public for one head: | |
287 $ hg phase --public -r 'max(desc("added d"))' | |
288 | |
289 $ hg glog | |
290 @ 5:93cd84bbdaca added d | |
291 | public | |
292 | | |
293 | * 4:e568fd1029bb added c e | |
294 | | draft content-divergent | |
295 | | | |
296 o | 2:155349b645be added c | |
297 |/ public | |
298 | | |
299 o 1:5f6d8a4bf34a added b | |
300 | public | |
301 | | |
302 o 0:9092f1db7931 added a | |
303 public | |
304 | |
305 | |
306 $ hg glog --patch --rev 'sort(all(), "topo")' --hidden | |
307 @ 5:93cd84bbdaca added d | |
308 | public | |
309 | | |
310 | diff -r 155349b645be -r 93cd84bbdaca d | |
311 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
312 | +++ b/d Thu Jan 01 00:00:00 1970 +0000 | |
313 | @@ -0,0 +1,1 @@ | |
314 | +dd | |
315 | | |
316 | x 3:9150fe93bec6 added d | |
317 |/ draft | |
318 | | |
319 | diff -r 155349b645be -r 9150fe93bec6 d | |
320 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
321 | +++ b/d Thu Jan 01 00:00:00 1970 +0000 | |
322 | @@ -0,0 +1,1 @@ | |
323 | +d | |
324 | | |
325 o 2:155349b645be added c | |
326 | public | |
327 | | |
328 | diff -r 5f6d8a4bf34a -r 155349b645be c | |
329 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
330 | +++ b/c Thu Jan 01 00:00:00 1970 +0000 | |
331 | @@ -0,0 +1,1 @@ | |
332 | +c | |
333 | | |
334 | * 4:e568fd1029bb added c e | |
335 |/ draft content-divergent | |
336 | | |
337 | diff -r 5f6d8a4bf34a -r e568fd1029bb c | |
338 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
339 | +++ b/c Thu Jan 01 00:00:00 1970 +0000 | |
340 | @@ -0,0 +1,1 @@ | |
341 | +cfoo | |
342 | diff -r 5f6d8a4bf34a -r e568fd1029bb e | |
343 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
344 | +++ b/e Thu Jan 01 00:00:00 1970 +0000 | |
345 | @@ -0,0 +1,1 @@ | |
346 | +e | |
347 | | |
348 o 1:5f6d8a4bf34a added b | |
349 | public | |
350 | | |
351 | diff -r 9092f1db7931 -r 5f6d8a4bf34a b | |
352 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
353 | +++ b/b Thu Jan 01 00:00:00 1970 +0000 | |
354 | @@ -0,0 +1,1 @@ | |
355 | +b | |
356 | | |
357 o 0:9092f1db7931 added a | |
358 public | |
359 | |
360 diff -r 000000000000 -r 9092f1db7931 a | |
361 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
362 +++ b/a Thu Jan 01 00:00:00 1970 +0000 | |
363 @@ -0,0 +1,1 @@ | |
364 +a | |
365 | |
366 | |
367 $ hg obslog --all --rev tip --patch | |
368 @ 93cd84bbdaca (5) added d | |
369 | | |
370 | * e568fd1029bb (4) added c e | |
371 |/ | |
372 x 9150fe93bec6 (3) added d | |
373 rewritten(content) as 93cd84bbdaca using prune by test (Thu Jan 01 00:00:00 1970 +0000) | |
374 diff -r 9150fe93bec6 -r 93cd84bbdaca d | |
375 --- a/d Thu Jan 01 00:00:00 1970 +0000 | |
376 +++ b/d Thu Jan 01 00:00:00 1970 +0000 | |
377 @@ -1,1 +1,1 @@ | |
378 -d | |
379 +dd | |
380 | |
381 rewritten(description, parent, content) as e568fd1029bb using prune by test (Thu Jan 01 00:00:00 1970 +0000) | |
382 (No patch available, changesets rebased) | |
383 | |
384 | |
385 $ hg evolve --content-divergent --any --update | |
386 merge:[5] added d | |
387 with: [4] added c e | |
388 base: [3] added d | |
389 rebasing "other" content-divergent changeset e568fd1029bb on 155349b645be | |
390 merging c | |
391 warning: conflicts while merging c! (edit, then use 'hg resolve --mark') | |
392 fix conflicts and see `hg help evolve.interrupted` | |
393 [1] | |
394 | |
395 $ hg diff | |
396 diff -r 155349b645be c | |
397 --- a/c Thu Jan 01 00:00:00 1970 +0000 | |
398 +++ b/c Thu Jan 01 00:00:00 1970 +0000 | |
399 @@ -1,1 +1,5 @@ | |
400 +<<<<<<< destination: 155349b645be - test: added c | |
401 c | |
402 +======= | |
403 +cfoo | |
404 +>>>>>>> evolving: e568fd1029bb - test: added c e | |
405 diff -r 155349b645be e | |
406 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
407 +++ b/e Thu Jan 01 00:00:00 1970 +0000 | |
408 @@ -0,0 +1,1 @@ | |
409 +e | |
410 | |
411 $ echo c > c | |
412 $ hg res -m | |
413 (no more unresolved files) | |
414 continue: hg evolve --continue | |
415 | |
416 $ hg evolve --continue | |
417 evolving 4:e568fd1029bb "added c e" | |
418 file 'd' was deleted in other but was modified in local. | |
419 What do you want to do? | |
420 use (c)hanged version, (d)elete, or leave (u)nresolved? u | |
421 1 files updated, 0 files merged, 0 files removed, 1 files unresolved | |
422 fix conflicts and see `hg help evolve.interrupted` | |
423 [1] | |
424 | |
425 $ hg sum | |
426 parent: 5:93cd84bbdaca | |
427 added d | |
428 parent: 6:2af3359250d3 tip (content-divergent) | |
429 added c e | |
430 branch: default | |
431 commit: 1 modified, 1 unknown, 1 unresolved (merge) | |
432 update: (current) | |
433 phases: 1 draft | |
434 content-divergent: 1 changesets | |
435 evolve: (evolve --continue) | |
436 | |
437 $ echo resolved > d | |
438 $ hg resolve -m d | |
439 (no more unresolved files) | |
440 continue: hg evolve --continue | |
441 | |
442 $ hg evolve --continue | |
443 committed as bc1f4610744c | |
444 working directory is now at bc1f4610744c | |
445 | |
446 $ hg export | |
447 # HG changeset patch | |
448 # User test | |
449 # Date 0 0 | |
450 # Thu Jan 01 00:00:00 1970 +0000 | |
451 # Node ID bc1f4610744c6aa0e851d3876a61bfff6243b31c | |
452 # Parent 93cd84bbdacaeb8f881c29a609dbdd30c38cbc57 | |
453 phase-divergent update to 93cd84bbdaca: | |
454 | |
455 added c e | |
456 | |
457 diff -r 93cd84bbdaca -r bc1f4610744c d | |
458 --- a/d Thu Jan 01 00:00:00 1970 +0000 | |
459 +++ b/d Thu Jan 01 00:00:00 1970 +0000 | |
460 @@ -1,1 +1,1 @@ | |
461 -dd | |
462 +resolved | |
463 diff -r 93cd84bbdaca -r bc1f4610744c e | |
464 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
465 +++ b/e Thu Jan 01 00:00:00 1970 +0000 | |
466 @@ -0,0 +1,1 @@ | |
467 +e | |
468 | |
469 $ hg evolve -l | |
470 $ cd .. | |
471 | |
472 Test a pratical "rebase" case | |
473 ============================= | |
474 | |
475 Initial setup | |
476 | |
477 $ hg init rebase-divergence | |
478 $ cd rebase-divergence | |
479 $ echo root >> root | |
480 $ hg add root | |
481 $ hg commit -m root | |
482 $ for x in c_A c_B c_C c_D; do | |
483 > echo $x >> $x | |
484 > hg add $x | |
485 > hg commit -m $x | |
486 > done | |
487 | |
488 $ hg up 'desc("c_A")' | |
489 0 files updated, 0 files merged, 3 files removed, 0 files unresolved | |
490 | |
491 $ for x in c_E c_F; do | |
492 > echo $x >> $x | |
493 > hg add $x | |
494 > hg commit -m $x | |
495 > done | |
496 created new head | |
497 | |
498 (creating divergence locally for simplicity) | |
499 | |
500 $ node=`hg log --rev 'desc("c_E")' -T '{node}'` | |
501 $ hg rebase -s $node -d 'desc("c_B")' | |
502 rebasing 5:4ab2719bbab9 "c_E" | |
503 rebasing 6:77ccbf8d837e "c_F" (tip) | |
504 $ hg phase --public tip | |
505 $ hg rebase --hidden -s $node -d 'desc("c_C")' --config experimental.evolution.allowdivergence=yes | |
506 rebasing 5:4ab2719bbab9 "c_E" | |
507 rebasing 6:77ccbf8d837e "c_F" | |
508 2 new content-divergent changesets | |
509 | |
510 $ hg sum | |
511 parent: 8:a52ac76b45f5 | |
512 c_F | |
513 branch: default | |
514 commit: (clean) | |
515 update: 4 new changesets, 3 branch heads (merge) | |
516 phases: 4 draft | |
517 content-divergent: 2 changesets | |
518 $ hg evolve --list | |
519 b4a584aea4bd: c_E | |
520 content-divergent: c7d2d47c7240 (public) (precursor 4ab2719bbab9) | |
521 | |
522 8ae8db670b4a: c_F | |
523 content-divergent: a52ac76b45f5 (public) (precursor 77ccbf8d837e) | |
524 | |
525 $ hg log -G --patch | |
526 * changeset: 10:8ae8db670b4a | |
527 | tag: tip | |
528 | user: test | |
529 | date: Thu Jan 01 00:00:00 1970 +0000 | |
530 | instability: content-divergent | |
531 | summary: c_F | |
532 | | |
533 | diff -r b4a584aea4bd -r 8ae8db670b4a c_F | |
534 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
535 | +++ b/c_F Thu Jan 01 00:00:00 1970 +0000 | |
536 | @@ -0,0 +1,1 @@ | |
537 | +c_F | |
538 | | |
539 * changeset: 9:b4a584aea4bd | |
540 | parent: 3:abb77b893f28 | |
541 | user: test | |
542 | date: Thu Jan 01 00:00:00 1970 +0000 | |
543 | instability: content-divergent | |
544 | summary: c_E | |
545 | | |
546 | diff -r abb77b893f28 -r b4a584aea4bd c_E | |
547 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
548 | +++ b/c_E Thu Jan 01 00:00:00 1970 +0000 | |
549 | @@ -0,0 +1,1 @@ | |
550 | +c_E | |
551 | | |
552 | @ changeset: 8:a52ac76b45f5 | |
553 | | user: test | |
554 | | date: Thu Jan 01 00:00:00 1970 +0000 | |
555 | | summary: c_F | |
556 | | | |
557 | | diff -r c7d2d47c7240 -r a52ac76b45f5 c_F | |
558 | | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
559 | | +++ b/c_F Thu Jan 01 00:00:00 1970 +0000 | |
560 | | @@ -0,0 +1,1 @@ | |
561 | | +c_F | |
562 | | | |
563 | o changeset: 7:c7d2d47c7240 | |
564 | | parent: 2:eb1b4e1205b8 | |
565 | | user: test | |
566 | | date: Thu Jan 01 00:00:00 1970 +0000 | |
567 | | summary: c_E | |
568 | | | |
569 | | diff -r eb1b4e1205b8 -r c7d2d47c7240 c_E | |
570 | | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
571 | | +++ b/c_E Thu Jan 01 00:00:00 1970 +0000 | |
572 | | @@ -0,0 +1,1 @@ | |
573 | | +c_E | |
574 | | | |
575 +---o changeset: 4:dbb960d6c97c | |
576 | | user: test | |
577 | | date: Thu Jan 01 00:00:00 1970 +0000 | |
578 | | summary: c_D | |
579 | | | |
580 | | diff -r abb77b893f28 -r dbb960d6c97c c_D | |
581 | | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
582 | | +++ b/c_D Thu Jan 01 00:00:00 1970 +0000 | |
583 | | @@ -0,0 +1,1 @@ | |
584 | | +c_D | |
585 | | | |
586 o | changeset: 3:abb77b893f28 | |
587 |/ user: test | |
588 | date: Thu Jan 01 00:00:00 1970 +0000 | |
589 | summary: c_C | |
590 | | |
591 | diff -r eb1b4e1205b8 -r abb77b893f28 c_C | |
592 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
593 | +++ b/c_C Thu Jan 01 00:00:00 1970 +0000 | |
594 | @@ -0,0 +1,1 @@ | |
595 | +c_C | |
596 | | |
597 o changeset: 2:eb1b4e1205b8 | |
598 | user: test | |
599 | date: Thu Jan 01 00:00:00 1970 +0000 | |
600 | summary: c_B | |
601 | | |
602 | diff -r e31751786014 -r eb1b4e1205b8 c_B | |
603 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
604 | +++ b/c_B Thu Jan 01 00:00:00 1970 +0000 | |
605 | @@ -0,0 +1,1 @@ | |
606 | +c_B | |
607 | | |
608 o changeset: 1:e31751786014 | |
609 | user: test | |
610 | date: Thu Jan 01 00:00:00 1970 +0000 | |
611 | summary: c_A | |
612 | | |
613 | diff -r 1e4be0697311 -r e31751786014 c_A | |
614 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
615 | +++ b/c_A Thu Jan 01 00:00:00 1970 +0000 | |
616 | @@ -0,0 +1,1 @@ | |
617 | +c_A | |
618 | | |
619 o changeset: 0:1e4be0697311 | |
620 user: test | |
621 date: Thu Jan 01 00:00:00 1970 +0000 | |
622 summary: root | |
623 | |
624 diff -r 000000000000 -r 1e4be0697311 root | |
625 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
626 +++ b/root Thu Jan 01 00:00:00 1970 +0000 | |
627 @@ -0,0 +1,1 @@ | |
628 +root | |
629 | |
630 | |
631 Run automatic evolution | |
632 | |
633 $ hg evolve --content-divergent --rev 'not public() and desc("c_E")::' | |
634 merge:[7] c_E | |
635 with: [9] c_E | |
636 base: [5] c_E | |
637 rebasing "other" content-divergent changeset b4a584aea4bd on eb1b4e1205b8 | |
638 0 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
639 content divergence resolution between c7d2d47c7240 (public) and 0773642cfa95 has same content as c7d2d47c7240, discarding 0773642cfa95 | |
640 merge:[8] c_F | |
641 with: [10] c_F | |
642 base: [6] c_F | |
643 rebasing "other" content-divergent changeset 8ae8db670b4a on c7d2d47c7240 | |
644 0 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
645 content divergence resolution between a52ac76b45f5 (public) and 6a87ed4aa317 has same content as a52ac76b45f5, discarding 6a87ed4aa317 | |
646 $ hg sum | |
647 parent: 8:a52ac76b45f5 tip | |
648 c_F | |
649 branch: default | |
650 commit: (clean) | |
651 update: 2 new changesets, 2 branch heads (merge) | |
652 phases: 2 draft | |
653 | |
654 $ hg evolve --list | |
655 | |
656 $ hg log -G --patch | |
657 @ changeset: 8:a52ac76b45f5 | |
658 | tag: tip | |
659 | user: test | |
660 | date: Thu Jan 01 00:00:00 1970 +0000 | |
661 | summary: c_F | |
662 | | |
663 | diff -r c7d2d47c7240 -r a52ac76b45f5 c_F | |
664 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
665 | +++ b/c_F Thu Jan 01 00:00:00 1970 +0000 | |
666 | @@ -0,0 +1,1 @@ | |
667 | +c_F | |
668 | | |
669 o changeset: 7:c7d2d47c7240 | |
670 | parent: 2:eb1b4e1205b8 | |
671 | user: test | |
672 | date: Thu Jan 01 00:00:00 1970 +0000 | |
673 | summary: c_E | |
674 | | |
675 | diff -r eb1b4e1205b8 -r c7d2d47c7240 c_E | |
676 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
677 | +++ b/c_E Thu Jan 01 00:00:00 1970 +0000 | |
678 | @@ -0,0 +1,1 @@ | |
679 | +c_E | |
680 | | |
681 | o changeset: 4:dbb960d6c97c | |
682 | | user: test | |
683 | | date: Thu Jan 01 00:00:00 1970 +0000 | |
684 | | summary: c_D | |
685 | | | |
686 | | diff -r abb77b893f28 -r dbb960d6c97c c_D | |
687 | | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
688 | | +++ b/c_D Thu Jan 01 00:00:00 1970 +0000 | |
689 | | @@ -0,0 +1,1 @@ | |
690 | | +c_D | |
691 | | | |
692 | o changeset: 3:abb77b893f28 | |
693 |/ user: test | |
694 | date: Thu Jan 01 00:00:00 1970 +0000 | |
695 | summary: c_C | |
696 | | |
697 | diff -r eb1b4e1205b8 -r abb77b893f28 c_C | |
698 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
699 | +++ b/c_C Thu Jan 01 00:00:00 1970 +0000 | |
700 | @@ -0,0 +1,1 @@ | |
701 | +c_C | |
702 | | |
703 o changeset: 2:eb1b4e1205b8 | |
704 | user: test | |
705 | date: Thu Jan 01 00:00:00 1970 +0000 | |
706 | summary: c_B | |
707 | | |
708 | diff -r e31751786014 -r eb1b4e1205b8 c_B | |
709 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
710 | +++ b/c_B Thu Jan 01 00:00:00 1970 +0000 | |
711 | @@ -0,0 +1,1 @@ | |
712 | +c_B | |
713 | | |
714 o changeset: 1:e31751786014 | |
715 | user: test | |
716 | date: Thu Jan 01 00:00:00 1970 +0000 | |
717 | summary: c_A | |
718 | | |
719 | diff -r 1e4be0697311 -r e31751786014 c_A | |
720 | --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
721 | +++ b/c_A Thu Jan 01 00:00:00 1970 +0000 | |
722 | @@ -0,0 +1,1 @@ | |
723 | +c_A | |
724 | | |
725 o changeset: 0:1e4be0697311 | |
726 user: test | |
727 date: Thu Jan 01 00:00:00 1970 +0000 | |
728 summary: root | |
729 | |
730 diff -r 000000000000 -r 1e4be0697311 root | |
731 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
732 +++ b/root Thu Jan 01 00:00:00 1970 +0000 | |
733 @@ -0,0 +1,1 @@ | |
734 +root | |
735 | |
736 $ hg export tip | |
737 # HG changeset patch | |
738 # User test | |
739 # Date 0 0 | |
740 # Thu Jan 01 00:00:00 1970 +0000 | |
741 # Node ID a52ac76b45f523a039fc4a938d79874f4bdb1a85 | |
742 # Parent c7d2d47c7240562be5cbd1a24080dd0396178709 | |
743 c_F | |
744 | |
745 diff -r c7d2d47c7240 -r a52ac76b45f5 c_F | |
746 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | |
747 +++ b/c_F Thu Jan 01 00:00:00 1970 +0000 | |
748 @@ -0,0 +1,1 @@ | |
749 +c_F | |
750 | |
751 $ hg obslog --rev a52ac76b45f5 | |
752 @ a52ac76b45f5 (8) c_F | |
753 |\ | |
754 x | 6a87ed4aa317 (12) c_F | |
755 | | rewritten as a52ac76b45f5 using evolve by test (Thu Jan 01 00:00:00 1970 +0000) | |
756 | | | |
757 x | 8ae8db670b4a (10) c_F | |
758 |/ rewritten(parent) as 6a87ed4aa317 using evolve by test (Thu Jan 01 00:00:00 1970 +0000) | |
759 | | |
760 x 77ccbf8d837e (6) c_F | |
761 rewritten(parent) as 8ae8db670b4a using rebase by test (Thu Jan 01 00:00:00 1970 +0000) | |
762 rewritten(parent) as a52ac76b45f5 using rebase by test (Thu Jan 01 00:00:00 1970 +0000) | |
763 |