comparison tests/test-evolve-phase-divergence.t @ 4207:3d917da5bd95 mercurial-4.3

test-compat: merge mercurial-4.4 into mercurial-4.3
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Thu, 25 Oct 2018 16:33:10 +0200
parents e07e764c0f48 04aeaec6ec07
children
comparison
equal deleted inserted replaced
4206:04aeaec6ec07 4207:3d917da5bd95
78 searching for changes 78 searching for changes
79 adding changesets 79 adding changesets
80 adding manifests 80 adding manifests
81 adding file changes 81 adding file changes
82 added 1 changesets with 1 changes to 1 files 82 added 1 changesets with 1 changes to 1 files
83 new changesets 4d1169d82e47
84 (run 'hg update' to get a working copy) 83 (run 'hg update' to get a working copy)
85 84
86 $ hg glog 85 $ hg glog
87 o 1:4d1169d82e47 modify a 86 o 1:4d1169d82e47 modify a
88 | () draft 87 | () draft
112 XXX: pull should tell us how to see what is the new phase-divergent changeset 111 XXX: pull should tell us how to see what is the new phase-divergent changeset
113 $ hg pull ../public 112 $ hg pull ../public
114 pulling from ../public 113 pulling from ../public
115 searching for changes 114 searching for changes
116 no changes found 115 no changes found
117 1 new phase-divergent changesets 116 1 new bumped changesets
118 117
119 $ hg glog 118 $ hg glog
120 @ 2:98bb3a6cfe1a tweak a 119 @ 2:98bb3a6cfe1a tweak a
121 | () draft 120 | () draft
122 | o 1:4d1169d82e47 modify a 121 | o 1:4d1169d82e47 modify a
127 Using evolve --list to list phase-divergent changesets 126 Using evolve --list to list phase-divergent changesets
128 ------------------------------------------------------ 127 ------------------------------------------------------
129 128
130 $ hg evolve --list 129 $ hg evolve --list
131 98bb3a6cfe1a: tweak a 130 98bb3a6cfe1a: tweak a
132 phase-divergent: 4d1169d82e47 (immutable precursor) 131 bumped: 4d1169d82e47 (immutable precursor)
133 132
134 133
135 134
136 XXX-Pulkit: Trying to see instability on public changeset 135 XXX-Pulkit: Trying to see instability on public changeset
137 136
150 XXX: There must be mention of phase-divergence here 149 XXX: There must be mention of phase-divergence here
151 $ hg obslog -r . --all 150 $ hg obslog -r . --all
152 @ 98bb3a6cfe1a (2) tweak a 151 @ 98bb3a6cfe1a (2) tweak a
153 | 152 |
154 o 4d1169d82e47 (1) modify a 153 o 4d1169d82e47 (1) modify a
155 rewritten(description) as 98bb3a6cfe1a using amend by test (Thu Jan 01 00:00:00 1970 +0000) 154 rewritten(description) as 98bb3a6cfe1a by test (Thu Jan 01 00:00:00 1970 +0000)
156 155
157 Solving the phase divergence using evolve command 156 Solving the phase divergence using evolve command
158 -------------------------------------------------- 157 --------------------------------------------------
159 158
160 (We do not solve evolution other than orphan by default because it turned out 159 (We do not solve evolution other than orphan by default because it turned out
182 recreate:[2] tweak a 181 recreate:[2] tweak a
183 atop:[1] modify a 182 atop:[1] modify a
184 hg rebase --rev 98bb3a6cfe1a --dest d3873e73d99e; 183 hg rebase --rev 98bb3a6cfe1a --dest d3873e73d99e;
185 hg update 4d1169d82e47; 184 hg update 4d1169d82e47;
186 hg revert --all --rev 98bb3a6cfe1a; 185 hg revert --all --rev 98bb3a6cfe1a;
187 hg commit --msg "phase-divergent update to 98bb3a6cfe1a" 186 hg commit --msg "bumped update to 98bb3a6cfe1a"
188 187
189 XXX: evolve should have mentioned that draft commit is just obsoleted in favour 188 XXX: evolve should have mentioned that draft commit is just obsoleted in favour
190 of public one. From the message it looks like a new commit is created. 189 of public one. From the message it looks like a new commit is created.
191 190
192 $ hg evolve --phase-divergent 191 $ hg evolve --phase-divergent
257 searching for changes 256 searching for changes
258 adding changesets 257 adding changesets
259 adding manifests 258 adding manifests
260 adding file changes 259 adding file changes
261 added 1 changesets with 1 changes to 1 files 260 added 1 changesets with 1 changes to 1 files
262 new changesets aa071e5554e3
263 (run 'hg update' to get a working copy) 261 (run 'hg update' to get a working copy)
264 262
265 $ hg push ../public 263 $ hg push ../public
266 pushing to ../public 264 pushing to ../public
267 searching for changes 265 searching for changes
280 278
281 $ hg pull ../public 279 $ hg pull ../public
282 pulling from ../public 280 pulling from ../public
283 searching for changes 281 searching for changes
284 no changes found 282 no changes found
285 1 new phase-divergent changesets 283 1 new bumped changesets
286 284
287 $ hg glog 285 $ hg glog
288 @ 4:d47f2b37ed82 added bar to foo 286 @ 5:d47f2b37ed82 added bar to foo
289 | (bm) draft 287 | (bm) draft
290 | o 3:aa071e5554e3 added foo to foo 288 | o 3:aa071e5554e3 added foo to foo
291 |/ () public 289 |/ () public
292 o 1:4d1169d82e47 modify a 290 o 1:4d1169d82e47 modify a
293 | () public 291 | () public
302 300
303 XXX: we should document what should user expect where running this, writing this 301 XXX: we should document what should user expect where running this, writing this
304 test I have to go through code base to understand what will be the behavior 302 test I have to go through code base to understand what will be the behavior
305 303
306 $ hg evolve --phase-divergent 304 $ hg evolve --phase-divergent
307 recreate:[4] added bar to foo 305 recreate:[5] added bar to foo
308 atop:[3] added foo to foo 306 atop:[3] added foo to foo
309 computing new diff 307 computing new diff
310 committed as 3d62500c673d 308 committed as bdf645eb43bb
311 working directory is now at 3d62500c673d 309 working directory is now at bdf645eb43bb
312 310
313 $ hg exp 311 $ hg exp
314 # HG changeset patch 312 # HG changeset patch
315 # User test 313 # User test
316 # Date 0 0 314 # Date 0 0
317 # Thu Jan 01 00:00:00 1970 +0000 315 # Thu Jan 01 00:00:00 1970 +0000
318 # Node ID 3d62500c673dd1c88bb09a73e86d0210aed6fcb6 316 # Node ID bdf645eb43bb0c9f180cd17d109bb359ce1571b2
319 # Parent aa071e5554e36080a36cfd24accd5a71e3320f1e 317 # Parent aa071e5554e36080a36cfd24accd5a71e3320f1e
320 phase-divergent update to aa071e5554e3: 318 bumped update to aa071e5554e3:
321 319
322 added bar to foo 320 added bar to foo
323 321
324 diff -r aa071e5554e3 -r 3d62500c673d foo 322 diff -r aa071e5554e3 -r bdf645eb43bb foo
325 --- a/foo Thu Jan 01 00:00:00 1970 +0000 323 --- a/foo Thu Jan 01 00:00:00 1970 +0000
326 +++ b/foo Thu Jan 01 00:00:00 1970 +0000 324 +++ b/foo Thu Jan 01 00:00:00 1970 +0000
327 @@ -1,1 +1,2 @@ 325 @@ -1,1 +1,2 @@
328 foo 326 foo
329 +bar 327 +bar
330 328
331 XXX: the commit message is not best one, we should give option to user to modify 329 XXX: the commit message is not best one, we should give option to user to modify
332 the commit message 330 the commit message
333 331
334 $ hg glog 332 $ hg glog
335 @ 5:3d62500c673d phase-divergent update to aa071e5554e3: 333 @ 6:bdf645eb43bb bumped update to aa071e5554e3:
336 | (bm) draft 334 | (bm) draft
337 o 3:aa071e5554e3 added foo to foo 335 o 3:aa071e5554e3 added foo to foo
338 | () public 336 | () public
339 o 1:4d1169d82e47 modify a 337 o 1:4d1169d82e47 modify a
340 | () public 338 | () public
341 o 0:d3873e73d99e init 339 o 0:d3873e73d99e init
342 () public 340 () public
343 341
344 $ hg obslog -r . --all 342 $ hg obslog -r . --all
345 @ 3d62500c673d (5) phase-divergent update to aa071e5554e3: 343 @ bdf645eb43bb (6) bumped update to aa071e5554e3:
346 | 344 |
347 x d47f2b37ed82 (4) added bar to foo 345 x d47f2b37ed82 (5) added bar to foo
348 | rewritten(description, parent, content) as 3d62500c673d using evolve by test (Thu Jan 01 00:00:00 1970 +0000) 346 | rewritten(description, parent, content) as bdf645eb43bb by test (Thu Jan 01 00:00:00 1970 +0000)
349 | 347 |
350 o aa071e5554e3 (3) added foo to foo 348 o aa071e5554e3 (3) added foo to foo
351 rewritten(description, content) as d47f2b37ed82 using amend by test (Thu Jan 01 00:00:00 1970 +0000) 349 rewritten(description, content) as d47f2b37ed82 by test (Thu Jan 01 00:00:00 1970 +0000)
352 350
353 351
354 Syncing all other repositories 352 Syncing all other repositories
355 ------------------------------ 353 ------------------------------
356 354
362 searching for changes 360 searching for changes
363 adding changesets 361 adding changesets
364 adding manifests 362 adding manifests
365 adding file changes 363 adding file changes
366 added 1 changesets with 1 changes to 1 files 364 added 1 changesets with 1 changes to 1 files
367 2 new obsolescence markers 365 3 new obsolescence markers
368 366
369 $ hg push ../private 367 $ hg push ../private
370 pushing to ../private 368 pushing to ../private
371 searching for changes 369 searching for changes
372 adding changesets 370 adding changesets
373 adding manifests 371 adding manifests
374 adding file changes 372 adding file changes
375 added 1 changesets with 1 changes to 1 files 373 added 1 changesets with 1 changes to 1 files
376 2 new obsolescence markers 374 3 new obsolescence markers
377 375
378 $ hg push ../public 376 $ hg push ../public
379 pushing to ../public 377 pushing to ../public
380 searching for changes 378 searching for changes
381 adding changesets 379 adding changesets
382 adding manifests 380 adding manifests
383 adding file changes 381 adding file changes
384 added 1 changesets with 1 changes to 1 files 382 added 1 changesets with 1 changes to 1 files
385 2 new obsolescence markers 383 3 new obsolescence markers
386 384
387 Creating a phasedivergence changeset where the divergent changeset changed in a 385 Creating a phasedivergence changeset where the divergent changeset changed in a
388 way that we rebase that on old public changeset, there will be conflicts, but 386 way that we rebase that on old public changeset, there will be conflicts, but
389 the `hg evolve` command handles it very well and uses `hg revert` logic to 387 the `hg evolve` command handles it very well and uses `hg revert` logic to
390 prevent any conflicts 388 prevent any conflicts
410 searching for changes 408 searching for changes
411 adding changesets 409 adding changesets
412 adding manifests 410 adding manifests
413 adding file changes 411 adding file changes
414 added 1 changesets with 1 changes to 1 files 412 added 1 changesets with 1 changes to 1 files
415 new changesets b756eb10ea73
416 (run 'hg update' to get a working copy) 413 (run 'hg update' to get a working copy)
417 414
418 $ hg push ../public 415 $ hg push ../public
419 pushing to ../public 416 pushing to ../public
420 searching for changes 417 searching for changes
431 428
432 $ hg pull ../public 429 $ hg pull ../public
433 pulling from ../public 430 pulling from ../public
434 searching for changes 431 searching for changes
435 no changes found 432 no changes found
436 1 new phase-divergent changesets 433 1 new bumped changesets
437 434
438 $ hg glog 435 $ hg glog
439 @ 7:2c3560aedead foo to bar 436 @ 9:d529f41744b3 foo to bar
440 | (bm) draft 437 | (bm) draft
441 | o 6:b756eb10ea73 added bar to bar 438 | o 7:6176b60d16d2 added bar to bar
442 |/ () public 439 |/ () public
443 o 5:3d62500c673d phase-divergent update to aa071e5554e3: 440 o 6:bdf645eb43bb bumped update to aa071e5554e3:
444 | () public 441 | () public
445 o 3:aa071e5554e3 added foo to foo 442 o 3:aa071e5554e3 added foo to foo
446 | () public 443 | () public
447 o 1:4d1169d82e47 modify a 444 o 1:4d1169d82e47 modify a
448 | () public 445 | () public
451 448
452 Resolving the new phase-divergence changeset using `hg evolve` 449 Resolving the new phase-divergence changeset using `hg evolve`
453 --------------------------------------------------------------- 450 ---------------------------------------------------------------
454 451
455 $ hg evolve --phase-divergent 452 $ hg evolve --phase-divergent
456 recreate:[7] foo to bar 453 recreate:[9] foo to bar
457 atop:[6] added bar to bar 454 atop:[7] added bar to bar
458 computing new diff 455 computing new diff
459 committed as 502e73736632 456 committed as 73f67b6cf2c4
460 working directory is now at 502e73736632 457 working directory is now at 73f67b6cf2c4
461 458
462 $ hg exp 459 $ hg exp
463 # HG changeset patch 460 # HG changeset patch
464 # User test 461 # User test
465 # Date 0 0 462 # Date 0 0
466 # Thu Jan 01 00:00:00 1970 +0000 463 # Thu Jan 01 00:00:00 1970 +0000
467 # Node ID 502e737366322886cf628276aa0a2796904453b4 464 # Node ID 73f67b6cf2c428075c41d377f8651912e0d8cae2
468 # Parent b756eb10ea73ee4ba69c998e64a5c6e1005d74b5 465 # Parent 6176b60d16d20d69c77bb27c2a1b79caec671612
469 phase-divergent update to b756eb10ea73: 466 bumped update to 6176b60d16d2:
470 467
471 foo to bar 468 foo to bar
472 469
473 diff -r b756eb10ea73 -r 502e73736632 bar 470 diff -r 6176b60d16d2 -r 73f67b6cf2c4 bar
474 --- a/bar Thu Jan 01 00:00:00 1970 +0000 471 --- a/bar Thu Jan 01 00:00:00 1970 +0000
475 +++ b/bar Thu Jan 01 00:00:00 1970 +0000 472 +++ b/bar Thu Jan 01 00:00:00 1970 +0000
476 @@ -1,1 +1,1 @@ 473 @@ -1,1 +1,1 @@
477 -bar 474 -bar
478 +foo 475 +foo
479 476
480 $ hg glog 477 $ hg glog
481 @ 8:502e73736632 phase-divergent update to b756eb10ea73: 478 @ 10:73f67b6cf2c4 bumped update to 6176b60d16d2:
482 | (bm) draft 479 | (bm) draft
483 o 6:b756eb10ea73 added bar to bar 480 o 7:6176b60d16d2 added bar to bar
484 | () public 481 | () public
485 o 5:3d62500c673d phase-divergent update to aa071e5554e3: 482 o 6:bdf645eb43bb bumped update to aa071e5554e3:
486 | () public 483 | () public
487 o 3:aa071e5554e3 added foo to foo 484 o 3:aa071e5554e3 added foo to foo
488 | () public 485 | () public
489 o 1:4d1169d82e47 modify a 486 o 1:4d1169d82e47 modify a
490 | () public 487 | () public
499 searching for changes 496 searching for changes
500 adding changesets 497 adding changesets
501 adding manifests 498 adding manifests
502 adding file changes 499 adding file changes
503 added 1 changesets with 1 changes to 1 files 500 added 1 changesets with 1 changes to 1 files
504 2 new obsolescence markers 501 3 new obsolescence markers
505 $ hg push ../public 502 $ hg push ../public
506 pushing to ../public 503 pushing to ../public
507 searching for changes 504 searching for changes
508 adding changesets 505 adding changesets
509 adding manifests 506 adding manifests
510 adding file changes 507 adding file changes
511 added 1 changesets with 1 changes to 1 files 508 added 1 changesets with 1 changes to 1 files
512 2 new obsolescence markers 509 3 new obsolescence markers
513 510
514 Creating phase-divergence with divergent changeset and precursor having 511 Creating phase-divergence with divergent changeset and precursor having
515 different parents 512 different parents
516 ----------------------------------------------------------------------- 513 -----------------------------------------------------------------------
517 514
538 searching for changes 535 searching for changes
539 adding changesets 536 adding changesets
540 adding manifests 537 adding manifests
541 adding file changes 538 adding file changes
542 added 2 changesets with 2 changes to 2 files 539 added 2 changesets with 2 changes to 2 files
543 2 new obsolescence markers 540 3 new obsolescence markers
544 new changesets 502e73736632:2352021b3785
545 (run 'hg update' to get a working copy) 541 (run 'hg update' to get a working copy)
546 $ hg push ../public 542 $ hg push ../public
547 pushing to ../public 543 pushing to ../public
548 searching for changes 544 searching for changes
549 adding changesets 545 adding changesets
554 Alice like always dont care about Bob existence and rebases her changeset and 550 Alice like always dont care about Bob existence and rebases her changeset and
555 then pull from public repo creating phase divergence 551 then pull from public repo creating phase divergence
556 552
557 $ cd ../alice 553 $ cd ../alice
558 $ hg rebase -r . -d .^^^ 554 $ hg rebase -r . -d .^^^
559 rebasing 9:2352021b3785 "added x to x" (bm tip) 555 rebasing 11:ae81846887bc "added x to x" (tip bm)
560 556
561 $ hg pull ../public 557 $ hg pull ../public
562 pulling from ../public 558 pulling from ../public
563 searching for changes 559 searching for changes
564 no changes found 560 no changes found
565 1 new phase-divergent changesets 561 1 new bumped changesets
566 562
567 $ hg obslog -r . 563 $ hg obslog -r .
568 @ 334e300d6db5 (10) added x to x 564 @ 5cc37876a882 (12) added x to x
569 | 565 |
570 o 2352021b3785 (9) added x to x 566 o ae81846887bc (11) added x to x
571 rewritten(parent) as 334e300d6db5 using rebase by test (Thu Jan 01 00:00:00 1970 +0000) 567 rewritten(parent) as 5cc37876a882 by test (Thu Jan 01 00:00:00 1970 +0000)
572 568
573 $ hg glog -r .^:: 569 $ hg glog -r .^::
574 hg: parse error at 4: not a prefix: end 570 hg: parse error at 4: not a prefix: end
575 [255] 571 [255]
576 572
577 Using `hg evolve` to resolve phase-divergence 573 Using `hg evolve` to resolve phase-divergence
578 --------------------------------------------- 574 ---------------------------------------------
579 575
580 $ hg evolve --phase-divergent 576 $ hg evolve --phase-divergent
581 recreate:[10] added x to x 577 recreate:[12] added x to x
582 atop:[9] added x to x 578 atop:[11] added x to x
583 rebasing to destination parent: 502e73736632 579 rebasing to destination parent: 73f67b6cf2c4
584 (leaving bookmark bm) 580 (leaving bookmark bm)
585 computing new diff 581 computing new diff
586 committed as 2352021b3785 582 committed as ae81846887bc
587 working directory is now at 2352021b3785 583 working directory is now at ae81846887bc
588 584
589 XXX: we should move bookmark here 585 XXX: we should move bookmark here
590 $ hg glog 586 $ hg glog
591 @ 9:2352021b3785 added x to x 587 @ 11:ae81846887bc added x to x
592 | (bm) public 588 | (bm) public
593 o 8:502e73736632 phase-divergent update to b756eb10ea73: 589 o 10:73f67b6cf2c4 bumped update to 6176b60d16d2:
594 | () public 590 | () public
595 o 6:b756eb10ea73 added bar to bar 591 o 7:6176b60d16d2 added bar to bar
596 | () public 592 | () public
597 o 5:3d62500c673d phase-divergent update to aa071e5554e3: 593 o 6:bdf645eb43bb bumped update to aa071e5554e3:
598 | () public 594 | () public
599 o 3:aa071e5554e3 added foo to foo 595 o 3:aa071e5554e3 added foo to foo
600 | () public 596 | () public
601 o 1:4d1169d82e47 modify a 597 o 1:4d1169d82e47 modify a
602 | () public 598 | () public
603 o 0:d3873e73d99e init 599 o 0:d3873e73d99e init
604 () public 600 () public
605 601
606 $ hg obslog -r . b1a0e143e32b --all --hidden 602 $ hg obslog -r ae81846887bc --all --hidden
607 x b1a0e143e32b (11) added x to x 603 x 14c7c60e138f (13) added x to x
608 | pruned using evolve by test (Thu Jan 01 00:00:00 1970 +0000) 604 | pruned by test (Thu Jan 01 00:00:00 1970 +0000)
609 | 605 |
610 x 334e300d6db5 (10) added x to x 606 x 5cc37876a882 (12) added x to x
611 | rewritten(parent) as b1a0e143e32b using evolve by test (Thu Jan 01 00:00:00 1970 +0000) 607 | rewritten(parent) as 14c7c60e138f by test (Thu Jan 01 00:00:00 1970 +0000)
612 | 608 |
613 @ 2352021b3785 (9) added x to x 609 @ ae81846887bc (11) added x to x
614 rewritten(parent) as 334e300d6db5 using rebase by test (Thu Jan 01 00:00:00 1970 +0000) 610 rewritten(parent) as 5cc37876a882 by test (Thu Jan 01 00:00:00 1970 +0000)
615 611
616 612
617 $ hg exp 613 $ hg exp
618 # HG changeset patch 614 # HG changeset patch
619 # User test 615 # User test
620 # Date 0 0 616 # Date 0 0
621 # Thu Jan 01 00:00:00 1970 +0000 617 # Thu Jan 01 00:00:00 1970 +0000
622 # Node ID 2352021b37851be226ebed109b0eb6eada918566 618 # Node ID ae81846887bc53e9ba17ea2172950677d1ba3a1d
623 # Parent 502e737366322886cf628276aa0a2796904453b4 619 # Parent 73f67b6cf2c428075c41d377f8651912e0d8cae2
624 added x to x 620 added x to x
625 621
626 diff -r 502e73736632 -r 2352021b3785 x 622 diff -r 73f67b6cf2c4 -r ae81846887bc x
627 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 623 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
628 +++ b/x Thu Jan 01 00:00:00 1970 +0000 624 +++ b/x Thu Jan 01 00:00:00 1970 +0000
629 @@ -0,0 +1,1 @@ 625 @@ -0,0 +1,1 @@
630 +x 626 +x
631 627
634 ----------------------------------------------------------------------------- 630 -----------------------------------------------------------------------------
635 631
636 Alice is tired of pushing and pulling and will create phase-divergence locally 632 Alice is tired of pushing and pulling and will create phase-divergence locally
637 633
638 $ hg glog 634 $ hg glog
639 @ 9:2352021b3785 added x to x 635 @ 11:ae81846887bc added x to x
640 | (bm) public 636 | (bm) public
641 o 8:502e73736632 phase-divergent update to b756eb10ea73: 637 o 10:73f67b6cf2c4 bumped update to 6176b60d16d2:
642 | () public 638 | () public
643 o 6:b756eb10ea73 added bar to bar 639 o 7:6176b60d16d2 added bar to bar
644 | () public 640 | () public
645 o 5:3d62500c673d phase-divergent update to aa071e5554e3: 641 o 6:bdf645eb43bb bumped update to aa071e5554e3:
646 | () public 642 | () public
647 o 3:aa071e5554e3 added foo to foo 643 o 3:aa071e5554e3 added foo to foo
648 | () public 644 | () public
649 o 1:4d1169d82e47 modify a 645 o 1:4d1169d82e47 modify a
650 | () public 646 | () public
654 $ echo y > y 650 $ echo y > y
655 $ echo foobar >> foo 651 $ echo foobar >> foo
656 $ hg add y 652 $ hg add y
657 $ hg ci -m "y to y and foobar to foo" 653 $ hg ci -m "y to y and foobar to foo"
658 $ hg rebase -r . -d .^^^ 654 $ hg rebase -r . -d .^^^
659 rebasing 12:dc88f5aa9bc9 "y to y and foobar to foo" (tip) 655 rebasing 14:43dd61d1a393 "y to y and foobar to foo" (tip)
660 656
661 $ echo foo > y 657 $ echo foo > y
662 $ hg amend 658 $ hg amend
663 659
664 Alice making the old changeset public to have content-divergence 660 Alice making the old changeset public to have content-divergence
665 661
666 $ hg phase -r dc88f5aa9bc9 --public --hidden 662 $ hg phase -r 43dd61d1a393 --public --hidden
667 1 new phase-divergent changesets 663 1 new bumped changesets
668 $ hg glog 664 $ hg glog
669 @ 14:13015a180eee y to y and foobar to foo 665 @ 17:694790041d7d y to y and foobar to foo
670 | () draft 666 | () draft
671 | o 12:dc88f5aa9bc9 y to y and foobar to foo 667 | o 14:43dd61d1a393 y to y and foobar to foo
672 | | () public 668 | | () public
673 | o 9:2352021b3785 added x to x 669 | o 11:ae81846887bc added x to x
674 | | (bm) public 670 | | (bm) public
675 | o 8:502e73736632 phase-divergent update to b756eb10ea73: 671 | o 10:73f67b6cf2c4 bumped update to 6176b60d16d2:
676 |/ () public 672 |/ () public
677 o 6:b756eb10ea73 added bar to bar 673 o 7:6176b60d16d2 added bar to bar
678 | () public 674 | () public
679 o 5:3d62500c673d phase-divergent update to aa071e5554e3: 675 o 6:bdf645eb43bb bumped update to aa071e5554e3:
680 | () public 676 | () public
681 o 3:aa071e5554e3 added foo to foo 677 o 3:aa071e5554e3 added foo to foo
682 | () public 678 | () public
683 o 1:4d1169d82e47 modify a 679 o 1:4d1169d82e47 modify a
684 | () public 680 | () public
685 o 0:d3873e73d99e init 681 o 0:d3873e73d99e init
686 () public 682 () public
687 683
688 $ hg obslog -r . 684 $ hg obslog -r .
689 @ 13015a180eee (14) y to y and foobar to foo 685 @ 694790041d7d (17) y to y and foobar to foo
690 | 686 |
691 x 211ab84d1689 (13) y to y and foobar to foo 687 x 9195657992dd (15) y to y and foobar to foo
692 | rewritten(content) as 13015a180eee using amend by test (Thu Jan 01 00:00:00 1970 +0000) 688 | rewritten(content) as 694790041d7d by test (Thu Jan 01 00:00:00 1970 +0000)
693 | 689 |
694 o dc88f5aa9bc9 (12) y to y and foobar to foo 690 o 43dd61d1a393 (14) y to y and foobar to foo
695 rewritten(parent) as 211ab84d1689 using rebase by test (Thu Jan 01 00:00:00 1970 +0000) 691 rewritten(parent) as 9195657992dd by test (Thu Jan 01 00:00:00 1970 +0000)
696 692
697 Resolving divergence using `hg evolve` 693 Resolving divergence using `hg evolve`
698 ------------------------------------- 694 -------------------------------------
699 695
700 $ hg evolve --phase-divergent 696 $ hg evolve --phase-divergent
701 recreate:[14] y to y and foobar to foo 697 recreate:[17] y to y and foobar to foo
702 atop:[12] y to y and foobar to foo 698 atop:[14] y to y and foobar to foo
703 rebasing to destination parent: 2352021b3785 699 rebasing to destination parent: ae81846887bc
704 computing new diff 700 computing new diff
705 committed as 8c2bb6fb44e9 701 committed as 8da44ebfc416
706 working directory is now at 8c2bb6fb44e9 702 working directory is now at 8da44ebfc416
707 703
708 $ hg exp 704 $ hg exp
709 # HG changeset patch 705 # HG changeset patch
710 # User test 706 # User test
711 # Date 0 0 707 # Date 0 0
712 # Thu Jan 01 00:00:00 1970 +0000 708 # Thu Jan 01 00:00:00 1970 +0000
713 # Node ID 8c2bb6fb44e9443c64b3a2a3d061272c8e25e6ce 709 # Node ID 8da44ebfc416e3a6fc52c29f3a78e1d87c0d492e
714 # Parent dc88f5aa9bc90a6418899d267d9524205dfb429b 710 # Parent 43dd61d1a393577a202514a924148969b8f74db8
715 phase-divergent update to dc88f5aa9bc9: 711 bumped update to 43dd61d1a393:
716 712
717 y to y and foobar to foo 713 y to y and foobar to foo
718 714
719 diff -r dc88f5aa9bc9 -r 8c2bb6fb44e9 y 715 diff -r 43dd61d1a393 -r 8da44ebfc416 y
720 --- a/y Thu Jan 01 00:00:00 1970 +0000 716 --- a/y Thu Jan 01 00:00:00 1970 +0000
721 +++ b/y Thu Jan 01 00:00:00 1970 +0000 717 +++ b/y Thu Jan 01 00:00:00 1970 +0000
722 @@ -1,1 +1,1 @@ 718 @@ -1,1 +1,1 @@
723 -y 719 -y
724 +foo 720 +foo
725 721
726 $ hg glog 722 $ hg glog
727 @ 16:8c2bb6fb44e9 phase-divergent update to dc88f5aa9bc9: 723 @ 19:8da44ebfc416 bumped update to 43dd61d1a393:
728 | () draft 724 | () draft
729 o 12:dc88f5aa9bc9 y to y and foobar to foo 725 o 14:43dd61d1a393 y to y and foobar to foo
730 | () public 726 | () public
731 o 9:2352021b3785 added x to x 727 o 11:ae81846887bc added x to x
732 | (bm) public 728 | (bm) public
733 o 8:502e73736632 phase-divergent update to b756eb10ea73: 729 o 10:73f67b6cf2c4 bumped update to 6176b60d16d2:
734 | () public 730 | () public
735 o 6:b756eb10ea73 added bar to bar 731 o 7:6176b60d16d2 added bar to bar
736 | () public 732 | () public
737 o 5:3d62500c673d phase-divergent update to aa071e5554e3: 733 o 6:bdf645eb43bb bumped update to aa071e5554e3:
738 | () public 734 | () public
739 o 3:aa071e5554e3 added foo to foo 735 o 3:aa071e5554e3 added foo to foo
740 | () public 736 | () public
741 o 1:4d1169d82e47 modify a 737 o 1:4d1169d82e47 modify a
742 | () public 738 | () public
748 ----------------------------------------------------------------------------- 744 -----------------------------------------------------------------------------
749 745
750 $ echo l > l 746 $ echo l > l
751 $ hg ci -Aqm "added l to l" 747 $ hg ci -Aqm "added l to l"
752 $ hg rebase -r . -d .^^^^ 748 $ hg rebase -r . -d .^^^^
753 rebasing 17:f3794e5a91dc "added l to l" (tip) 749 rebasing 20:515507bedb51 "added l to l" (tip)
754 $ echo kl > l 750 $ echo kl > l
755 $ echo foo > x 751 $ echo foo > x
756 $ hg add x 752 $ hg add x
757 $ hg amend 753 $ hg amend
758 754
759 $ hg obslog -r . 755 $ hg obslog -r .
760 @ 5fd38c0de46e (19) added l to l 756 @ e3c208c26c0c (23) added l to l
761 | 757 |
762 x 2bfd56949cf0 (18) added l to l 758 x c114000165ef (21) added l to l
763 | rewritten(content) as 5fd38c0de46e using amend by test (Thu Jan 01 00:00:00 1970 +0000) 759 | rewritten(content) as e3c208c26c0c by test (Thu Jan 01 00:00:00 1970 +0000)
764 | 760 |
765 x f3794e5a91dc (17) added l to l 761 x 515507bedb51 (20) added l to l
766 rewritten(parent) as 2bfd56949cf0 using rebase by test (Thu Jan 01 00:00:00 1970 +0000) 762 rewritten(parent) as c114000165ef by test (Thu Jan 01 00:00:00 1970 +0000)
767 763
768 764
769 $ hg phase -r f3794e5a91dc --public --hidden 765 $ hg phase -r 515507bedb51 --public --hidden
770 1 new phase-divergent changesets 766 1 new bumped changesets
771 767
772 Resolution using `hg evolve --phase-divergent` 768 Resolution using `hg evolve --phase-divergent`
773 ---------------------------------------------- 769 ----------------------------------------------
774 770
775 $ hg evolve --phase-divergent 771 $ hg evolve --phase-divergent
776 recreate:[19] added l to l 772 recreate:[23] added l to l
777 atop:[17] added l to l 773 atop:[20] added l to l
778 rebasing to destination parent: 8c2bb6fb44e9 774 rebasing to destination parent: 8da44ebfc416
779 merging x 775 merging x
780 warning: conflicts while merging x! (edit, then use 'hg resolve --mark') 776 warning: conflicts while merging x! (edit, then use 'hg resolve --mark')
781 fix conflicts and see `hg help evolve.interrupted` 777 fix conflicts and see `hg help evolve.interrupted`
782 [1] 778 [1]
783 779
784 $ hg diff 780 $ hg diff
785 diff -r 8c2bb6fb44e9 l 781 diff -r 8da44ebfc416 l
786 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 782 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
787 +++ b/l Thu Jan 01 00:00:00 1970 +0000 783 +++ b/l Thu Jan 01 00:00:00 1970 +0000
788 @@ -0,0 +1,1 @@ 784 @@ -0,0 +1,1 @@
789 +kl 785 +kl
790 diff -r 8c2bb6fb44e9 x 786 diff -r 8da44ebfc416 x
791 --- a/x Thu Jan 01 00:00:00 1970 +0000 787 --- a/x Thu Jan 01 00:00:00 1970 +0000
792 +++ b/x Thu Jan 01 00:00:00 1970 +0000 788 +++ b/x Thu Jan 01 00:00:00 1970 +0000
793 @@ -1,1 +1,5 @@ 789 @@ -1,1 +1,5 @@
794 +<<<<<<< destination: 8c2bb6fb44e9 - test: phase-divergent update to dc88f5aa9... 790 +<<<<<<< destination: 8da44ebfc416 - test: bumped update to 43dd61d1a393:
795 x 791 x
796 +======= 792 +=======
797 +foo 793 +foo
798 +>>>>>>> evolving: 5fd38c0de46e - test: added l to l 794 +>>>>>>> evolving: e3c208c26c0c - test: added l to l
799 795
800 $ echo foo > x 796 $ echo foo > x
801 797
802 $ hg resolve -m 798 $ hg resolve -m
803 (no more unresolved files) 799 (no more unresolved files)
804 continue: hg evolve --continue 800 continue: hg evolve --continue
805 801
806 $ hg evolve --continue 802 $ hg evolve --continue
807 evolving 19:5fd38c0de46e "added l to l" 803 evolving 23:e3c208c26c0c "added l to l"
808 computing new diff 804 computing new diff
809 committed as e3090241a10c 805 committed as 01e0d829c156
810 working directory is now at e3090241a10c 806 working directory is now at 01e0d829c156
811 807
812 $ hg glog 808 $ hg glog
813 @ 21:e3090241a10c phase-divergent update to f3794e5a91dc: 809 @ 25:01e0d829c156 bumped update to 515507bedb51:
814 | () draft 810 | () draft
815 o 17:f3794e5a91dc added l to l 811 o 20:515507bedb51 added l to l
816 | () public 812 | () public
817 o 16:8c2bb6fb44e9 phase-divergent update to dc88f5aa9bc9: 813 o 19:8da44ebfc416 bumped update to 43dd61d1a393:
818 | () public 814 | () public
819 o 12:dc88f5aa9bc9 y to y and foobar to foo 815 o 14:43dd61d1a393 y to y and foobar to foo
820 | () public 816 | () public
821 o 9:2352021b3785 added x to x 817 o 11:ae81846887bc added x to x
822 | (bm) public 818 | (bm) public
823 o 8:502e73736632 phase-divergent update to b756eb10ea73: 819 o 10:73f67b6cf2c4 bumped update to 6176b60d16d2:
824 | () public 820 | () public
825 o 6:b756eb10ea73 added bar to bar 821 o 7:6176b60d16d2 added bar to bar
826 | () public 822 | () public
827 o 5:3d62500c673d phase-divergent update to aa071e5554e3: 823 o 6:bdf645eb43bb bumped update to aa071e5554e3:
828 | () public 824 | () public
829 o 3:aa071e5554e3 added foo to foo 825 o 3:aa071e5554e3 added foo to foo
830 | () public 826 | () public
831 o 1:4d1169d82e47 modify a 827 o 1:4d1169d82e47 modify a
832 | () public 828 | () public
836 $ hg exp 832 $ hg exp
837 # HG changeset patch 833 # HG changeset patch
838 # User test 834 # User test
839 # Date 0 0 835 # Date 0 0
840 # Thu Jan 01 00:00:00 1970 +0000 836 # Thu Jan 01 00:00:00 1970 +0000
841 # Node ID e3090241a10c320b6132e4673915fd6b19c0de39 837 # Node ID 01e0d829c1560d8297062062dff671e272439e38
842 # Parent f3794e5a91dc1d4d36fee5c423386b19433a1f48 838 # Parent 515507bedb512ac15258c2ab44809645139055ef
843 phase-divergent update to f3794e5a91dc: 839 bumped update to 515507bedb51:
844 840
845 added l to l 841 added l to l
846 842
847 diff -r f3794e5a91dc -r e3090241a10c l 843 diff -r 515507bedb51 -r 01e0d829c156 l
848 --- a/l Thu Jan 01 00:00:00 1970 +0000 844 --- a/l Thu Jan 01 00:00:00 1970 +0000
849 +++ b/l Thu Jan 01 00:00:00 1970 +0000 845 +++ b/l Thu Jan 01 00:00:00 1970 +0000
850 @@ -1,1 +1,1 @@ 846 @@ -1,1 +1,1 @@
851 -l 847 -l
852 +kl 848 +kl
853 diff -r f3794e5a91dc -r e3090241a10c x 849 diff -r 515507bedb51 -r 01e0d829c156 x
854 --- a/x Thu Jan 01 00:00:00 1970 +0000 850 --- a/x Thu Jan 01 00:00:00 1970 +0000
855 +++ b/x Thu Jan 01 00:00:00 1970 +0000 851 +++ b/x Thu Jan 01 00:00:00 1970 +0000
856 @@ -1,1 +1,1 @@ 852 @@ -1,1 +1,1 @@
857 -x 853 -x
858 +foo 854 +foo
859 855
860 Creating phase divergence when couple of changesets are folded into one 856 Creating phase divergence when couple of changesets are folded into one
861 ------------------------------------------------------------------------ 857 ------------------------------------------------------------------------
862 858
863 $ hg glog -r . 859 $ hg glog -r .
864 @ 21:e3090241a10c phase-divergent update to f3794e5a91dc: 860 @ 25:01e0d829c156 bumped update to 515507bedb51:
865 | () draft 861 | () draft
866 ~ 862 ~
867 $ echo f > f 863 $ echo f > f
868 $ hg ci -Aqm "added f" 864 $ hg ci -Aqm "added f"
869 $ echo g > g 865 $ echo g > g
873 2 changesets folded 869 2 changesets folded
874 0 files updated, 0 files merged, 0 files removed, 0 files unresolved 870 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
875 871
876 $ hg evolve --list 872 $ hg evolve --list
877 873
878 $ hg phase -r 428f7900a969 --public --hidden 874 $ hg phase -r e86ee52bfd76 --public --hidden
879 1 new phase-divergent changesets 875 1 new bumped changesets
880 876
881 $ hg glog -r f3794e5a91dc:: 877 $ hg glog -r 515507bedb51::
882 @ 24:e450d05b7d27 added g 878 @ 28:d83c51bdc098 added g
883 | () draft 879 | () draft
884 | o 23:428f7900a969 added g 880 | o 27:e86ee52bfd76 added g
885 | | () public 881 | | () public
886 | o 22:21ae52e414e6 added f 882 | o 26:d3c143cd906e added f
887 |/ () public 883 |/ () public
888 o 21:e3090241a10c phase-divergent update to f3794e5a91dc: 884 o 25:01e0d829c156 bumped update to 515507bedb51:
889 | () public 885 | () public
890 o 17:f3794e5a91dc added l to l 886 o 20:515507bedb51 added l to l
891 | () public 887 | () public
892 ~ 888 ~
893 889
894 $ hg evolve --list 890 $ hg evolve --list
895 e450d05b7d27: added g 891 d83c51bdc098: added g
896 phase-divergent: 21ae52e414e6 (immutable precursor) 892 bumped: d3c143cd906e (immutable precursor)
897 phase-divergent: 428f7900a969 (immutable precursor) 893 bumped: e86ee52bfd76 (immutable precursor)
898 894
899 Resolving phase divergence using `hg evolve` 895 Resolving phase divergence using `hg evolve`
900 896
901 $ hg evolve --phase-divergent --all 897 $ hg evolve --phase-divergent --all
902 recreate:[24] added g 898 recreate:[28] added g
903 atop:[23] added g 899 atop:[27] added g
904 rebasing to destination parent: 21ae52e414e6 900 rebasing to destination parent: d3c143cd906e
905 computing new diff 901 computing new diff
906 committed as 428f7900a969 902 committed as e86ee52bfd76
907 working directory is now at 428f7900a969 903 working directory is now at e86ee52bfd76
908 904
909 $ hg glog -r f3794e5a91dc:: 905 $ hg glog -r 515507bedb51::
910 @ 23:428f7900a969 added g 906 @ 27:e86ee52bfd76 added g
911 | () public 907 | () public
912 o 22:21ae52e414e6 added f 908 o 26:d3c143cd906e added f
913 | () public 909 | () public
914 o 21:e3090241a10c phase-divergent update to f3794e5a91dc: 910 o 25:01e0d829c156 bumped update to 515507bedb51:
915 | () public 911 | () public
916 o 17:f3794e5a91dc added l to l 912 o 20:515507bedb51 added l to l
917 | () public 913 | () public
918 ~ 914 ~
919 915
920 When the public changesets is splitted causing phase-divergence 916 When the public changesets is splitted causing phase-divergence
921 --------------------------------------------------------------- 917 ---------------------------------------------------------------
922 918
923 $ echo m > m 919 $ echo m > m
924 $ echo n > n 920 $ echo n > n
925 $ hg ci -Aqm "added m and n" 921 $ hg ci -Aqm "added m and n"
926 922
927 $ hg glog -r 21ae52e414e6:: 923 $ hg glog -r d3c143cd906e::
928 @ 26:849cee0a874b added m and n 924 @ 30:bbb1ce6e7cb5 added m and n
929 | () draft 925 | () draft
930 o 23:428f7900a969 added g 926 o 27:e86ee52bfd76 added g
931 | () public 927 | () public
932 o 22:21ae52e414e6 added f 928 o 26:d3c143cd906e added f
933 | () public 929 | () public
934 ~ 930 ~
935 931
936 $ hg prev 932 $ hg prev
937 0 files updated, 0 files merged, 2 files removed, 0 files unresolved 933 0 files updated, 0 files merged, 2 files removed, 0 files unresolved
938 [23] added g 934 [27] added g
939 $ echo m > m 935 $ echo m > m
940 $ hg ci -Aqm "added m" 936 $ hg ci -Aqm "added m"
941 $ echo n > n 937 $ echo n > n
942 $ hg ci -Aqm "added n" 938 $ hg ci -Aqm "added n"
943 939
944 $ hg glog -r 428f7900a969:: 940 $ hg glog -r e86ee52bfd76::
945 @ 28:63ccb8ea7cae added n 941 @ 32:e1e84fb7bd8c added n
946 | () draft 942 | () draft
947 o 27:f313e2b90e70 added m 943 o 31:38f8157363bc added m
948 | () draft 944 | () draft
949 | o 26:849cee0a874b added m and n 945 | o 30:bbb1ce6e7cb5 added m and n
950 |/ () draft 946 |/ () draft
951 o 23:428f7900a969 added g 947 o 27:e86ee52bfd76 added g
952 | () public 948 | () public
953 ~ 949 ~
954 950
955 $ hg prune -r 849cee0a874b --succ f313e2b90e70 --succ 63ccb8ea7cae --split 951 $ hg prune -r bbb1ce6e7cb5 --succ 38f8157363bc --succ e1e84fb7bd8c --split
956 1 changesets pruned 952 1 changesets pruned
957 953
958 $ hg phase -r 849cee0a874b --hidden --public 954 $ hg phase -r bbb1ce6e7cb5 --hidden --public
959 2 new phase-divergent changesets 955 2 new bumped changesets
960 956
961 $ hg glog -r 428f7900a969:: 957 $ hg glog -r e86ee52bfd76::
962 @ 28:63ccb8ea7cae added n 958 @ 32:e1e84fb7bd8c added n
963 | () draft 959 | () draft
964 o 27:f313e2b90e70 added m 960 o 31:38f8157363bc added m
965 | () draft 961 | () draft
966 | o 26:849cee0a874b added m and n 962 | o 30:bbb1ce6e7cb5 added m and n
967 |/ () public 963 |/ () public
968 o 23:428f7900a969 added g 964 o 27:e86ee52bfd76 added g
969 | () public 965 | () public
970 ~ 966 ~
971 967
972 $ hg evolve --all --phase-divergent 968 $ hg evolve --all --phase-divergent
973 recreate:[27] added m 969 recreate:[31] added m
974 atop:[26] added m and n 970 atop:[30] added m and n
975 computing new diff 971 computing new diff
976 committed as 870e1c3eddc3 972 committed as 26c0e0acbf58
977 recreate:[28] added n 973 recreate:[32] added n
978 atop:[26] added m and n 974 atop:[30] added m and n
979 rebasing to destination parent: 428f7900a969 975 rebasing to destination parent: e86ee52bfd76
980 computing new diff 976 computing new diff
981 committed as 154b0179fb9b 977 committed as 167994483a30
982 working directory is now at 154b0179fb9b 978 working directory is now at 167994483a30
983 979
984 XXX: this is messy, we should solve things in better way 980 XXX: this is messy, we should solve things in better way
985 $ hg glog -r 428f7900a969:: --hidden 981 $ hg glog -r e86ee52bfd76:: --hidden
986 @ 31:154b0179fb9b phase-divergent update to 849cee0a874b: 982 @ 35:167994483a30 bumped update to bbb1ce6e7cb5:
987 | () draft 983 | () draft
988 | x 30:1ebf33547a82 added n 984 | x 34:ebca40be1c77 added n
989 | | () draft 985 | | () draft
990 +---o 29:870e1c3eddc3 phase-divergent update to 849cee0a874b: 986 +---o 33:26c0e0acbf58 bumped update to bbb1ce6e7cb5:
991 | | () draft 987 | | () draft
992 | | x 28:63ccb8ea7cae added n 988 | | x 32:e1e84fb7bd8c added n
993 | | | () draft 989 | | | () draft
994 | | x 27:f313e2b90e70 added m 990 | | x 31:38f8157363bc added m
995 | |/ () draft 991 | |/ () draft
996 o | 26:849cee0a874b added m and n 992 o | 30:bbb1ce6e7cb5 added m and n
997 |/ () public 993 |/ () public
998 o 23:428f7900a969 added g 994 o 27:e86ee52bfd76 added g
999 | () public 995 | () public
1000 ~ 996 ~
1001 997
1002 XXX: not sure this is the correct 998 XXX: not sure this is the correct
1003 $ hg exp 154b0179fb9b 999 $ hg exp 167994483a30
1004 # HG changeset patch 1000 # HG changeset patch
1005 # User test 1001 # User test
1006 # Date 0 0 1002 # Date 0 0
1007 # Thu Jan 01 00:00:00 1970 +0000 1003 # Thu Jan 01 00:00:00 1970 +0000
1008 # Node ID 154b0179fb9b53d2f853d6ba04740bb3d7a5cabe 1004 # Node ID 167994483a3052f6ea76aa4ba54bd0d6ecd03506
1009 # Parent 849cee0a874be7c4e75dfacb5ad72aa5696951ba 1005 # Parent bbb1ce6e7cb56a4d0ddd9b602492c1e79f2beaf5
1010 phase-divergent update to 849cee0a874b: 1006 bumped update to bbb1ce6e7cb5:
1011 1007
1012 added n 1008 added n
1013 1009
1014 diff -r 849cee0a874b -r 154b0179fb9b m 1010 diff -r bbb1ce6e7cb5 -r 167994483a30 m
1015 --- a/m Thu Jan 01 00:00:00 1970 +0000 1011 --- a/m Thu Jan 01 00:00:00 1970 +0000
1016 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 1012 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
1017 @@ -1,1 +0,0 @@ 1013 @@ -1,1 +0,0 @@
1018 -m 1014 -m
1019 1015
1020 XXX: not sure this is correct 1016 XXX: not sure this is correct
1021 $ hg exp 870e1c3eddc3 1017 $ hg exp 26c0e0acbf58 --hidden
1022 # HG changeset patch 1018 # HG changeset patch
1023 # User test 1019 # User test
1024 # Date 0 0 1020 # Date 0 0
1025 # Thu Jan 01 00:00:00 1970 +0000 1021 # Thu Jan 01 00:00:00 1970 +0000
1026 # Node ID 870e1c3eddc34cc475e8e13d2fe1934210c1937e 1022 # Node ID 26c0e0acbf58e4bd2a2414e43b7d2d8aefdbba60
1027 # Parent 849cee0a874be7c4e75dfacb5ad72aa5696951ba 1023 # Parent bbb1ce6e7cb56a4d0ddd9b602492c1e79f2beaf5
1028 phase-divergent update to 849cee0a874b: 1024 bumped update to bbb1ce6e7cb5:
1029 1025
1030 added m 1026 added m
1031 1027
1032 diff -r 849cee0a874b -r 870e1c3eddc3 n 1028 diff -r bbb1ce6e7cb5 -r 26c0e0acbf58 n
1033 --- a/n Thu Jan 01 00:00:00 1970 +0000 1029 --- a/n Thu Jan 01 00:00:00 1970 +0000
1034 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 1030 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
1035 @@ -1,1 +0,0 @@ 1031 @@ -1,1 +0,0 @@
1036 -n 1032 -n
1037 1033
1042 $ echo q > q 1038 $ echo q > q
1043 $ hg ci -Aqm "added p and q" 1039 $ hg ci -Aqm "added p and q"
1044 1040
1045 $ hg prev 1041 $ hg prev
1046 0 files updated, 0 files merged, 2 files removed, 0 files unresolved 1042 0 files updated, 0 files merged, 2 files removed, 0 files unresolved
1047 [31] phase-divergent update to 849cee0a874b: 1043 [35] bumped update to bbb1ce6e7cb5:
1048 $ echo p > p 1044 $ echo p > p
1049 $ hg ci -Aqm "added p" 1045 $ hg ci -Aqm "added p"
1050 $ hg prev 1046 $ hg prev
1051 0 files updated, 0 files merged, 1 files removed, 0 files unresolved 1047 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
1052 [31] phase-divergent update to 849cee0a874b: 1048 [35] bumped update to bbb1ce6e7cb5:
1053 $ echo q > q 1049 $ echo q > q
1054 $ hg ci -Aqm "added q" 1050 $ hg ci -Aqm "added q"
1055 1051
1056 $ hg glog -r 154b0179fb9b:: 1052 $ hg glog -r 167994483a30::
1057 @ 34:e046341aa97c added q 1053 @ 38:25009377929c added q
1058 | () draft 1054 | () draft
1059 | o 33:6f8c250eecff added p 1055 | o 37:a27f3cc92c8f added p
1060 |/ () draft 1056 |/ () draft
1061 | o 32:8a70f55b2af3 added p and q 1057 | o 36:f695c2c8812d added p and q
1062 |/ () draft 1058 |/ () draft
1063 o 31:154b0179fb9b phase-divergent update to 849cee0a874b: 1059 o 35:167994483a30 bumped update to bbb1ce6e7cb5:
1064 | () draft 1060 | () draft
1065 ~ 1061 ~
1066 1062
1067 $ hg prune -r 8a70f55b2af3 --succ 6f8c250eecff --succ e046341aa97c --split 1063 $ hg prune -r f695c2c8812d --succ a27f3cc92c8f --succ 25009377929c --split
1068 1 changesets pruned 1064 1 changesets pruned
1069 1065
1070 $ hg phase -r 8a70f55b2af3 --public --hidden 1066 $ hg phase -r f695c2c8812d --public --hidden
1071 2 new phase-divergent changesets 1067 2 new bumped changesets
1072 1068
1073 $ hg glog -r 154b0179fb9b:: 1069 $ hg glog -r 167994483a30::
1074 @ 34:e046341aa97c added q 1070 @ 38:25009377929c added q
1075 | () draft 1071 | () draft
1076 | o 33:6f8c250eecff added p 1072 | o 37:a27f3cc92c8f added p
1077 |/ () draft 1073 |/ () draft
1078 | o 32:8a70f55b2af3 added p and q 1074 | o 36:f695c2c8812d added p and q
1079 |/ () public 1075 |/ () public
1080 o 31:154b0179fb9b phase-divergent update to 849cee0a874b: 1076 o 35:167994483a30 bumped update to bbb1ce6e7cb5:
1081 | () public 1077 | () public
1082 ~ 1078 ~
1083 1079
1084 $ hg evolve --list 1080 $ hg evolve --list
1085 6f8c250eecff: added p 1081 a27f3cc92c8f: added p
1086 phase-divergent: 8a70f55b2af3 (immutable precursor) 1082 bumped: f695c2c8812d (immutable precursor)
1087 1083
1088 e046341aa97c: added q 1084 25009377929c: added q
1089 phase-divergent: 8a70f55b2af3 (immutable precursor) 1085 bumped: f695c2c8812d (immutable precursor)
1090 1086
1091 $ hg evolve --all --phase-divergent 1087 $ hg evolve --all --phase-divergent
1092 recreate:[33] added p 1088 recreate:[37] added p
1093 atop:[32] added p and q 1089 atop:[36] added p and q
1094 computing new diff 1090 computing new diff
1095 committed as f3e41d89b3c5 1091 committed as abd19926ab01
1096 recreate:[34] added q 1092 recreate:[38] added q
1097 atop:[32] added p and q 1093 atop:[36] added p and q
1098 computing new diff 1094 computing new diff
1099 committed as 605c306d4f87 1095 committed as 12c31db4edf9
1100 working directory is now at 605c306d4f87 1096 working directory is now at 12c31db4edf9
1101 1097
1102 $ hg glog -r 154b0179fb9b:: --hidden 1098 $ hg glog -r 167994483a30:: --hidden
1103 @ 36:605c306d4f87 phase-divergent update to 8a70f55b2af3: 1099 @ 40:12c31db4edf9 bumped update to f695c2c8812d:
1104 | () draft 1100 | () draft
1105 | o 35:f3e41d89b3c5 phase-divergent update to 8a70f55b2af3: 1101 | o 39:abd19926ab01 bumped update to f695c2c8812d:
1106 |/ () draft 1102 |/ () draft
1107 | x 34:e046341aa97c added q 1103 | x 38:25009377929c added q
1108 | | () draft 1104 | | () draft
1109 | | x 33:6f8c250eecff added p 1105 | | x 37:a27f3cc92c8f added p
1110 | |/ () draft 1106 | |/ () draft
1111 o | 32:8a70f55b2af3 added p and q 1107 o | 36:f695c2c8812d added p and q
1112 |/ () public 1108 |/ () public
1113 o 31:154b0179fb9b phase-divergent update to 849cee0a874b: 1109 o 35:167994483a30 bumped update to bbb1ce6e7cb5:
1114 | () public 1110 | () public
1115 ~ 1111 ~
1116 1112
1117 XXX: not sure this is correct 1113 XXX: not sure this is correct
1118 $ hg exp 605c306d4f87 1114 $ hg exp 12c31db4edf9
1119 # HG changeset patch 1115 # HG changeset patch
1120 # User test 1116 # User test
1121 # Date 0 0 1117 # Date 0 0
1122 # Thu Jan 01 00:00:00 1970 +0000 1118 # Thu Jan 01 00:00:00 1970 +0000
1123 # Node ID 605c306d4f87fccfdb5e7dd1c750b6d4f813defb 1119 # Node ID 12c31db4edf9a889e3ce9986f484bbf939f4fb42
1124 # Parent 8a70f55b2af35452916dc89401a5ecf6553646a5 1120 # Parent f695c2c8812d12a910a47440ee189e553326a1c8
1125 phase-divergent update to 8a70f55b2af3: 1121 bumped update to f695c2c8812d:
1126 1122
1127 added q 1123 added q
1128 1124
1129 diff -r 8a70f55b2af3 -r 605c306d4f87 p 1125 diff -r f695c2c8812d -r 12c31db4edf9 p
1130 --- a/p Thu Jan 01 00:00:00 1970 +0000 1126 --- a/p Thu Jan 01 00:00:00 1970 +0000
1131 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 1127 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
1132 @@ -1,1 +0,0 @@ 1128 @@ -1,1 +0,0 @@
1133 -p 1129 -p
1134 1130
1135 XXX: not sure this is correct 1131 XXX: not sure this is correct
1136 $ hg exp f3e41d89b3c5 1132 $ hg exp abd19926ab01
1137 # HG changeset patch 1133 # HG changeset patch
1138 # User test 1134 # User test
1139 # Date 0 0 1135 # Date 0 0
1140 # Thu Jan 01 00:00:00 1970 +0000 1136 # Thu Jan 01 00:00:00 1970 +0000
1141 # Node ID f3e41d89b3c5f6ee49ccc734045856d7b025f048 1137 # Node ID abd19926ab0109f43f38e732cfa8ae747e2e4187
1142 # Parent 8a70f55b2af35452916dc89401a5ecf6553646a5 1138 # Parent f695c2c8812d12a910a47440ee189e553326a1c8
1143 phase-divergent update to 8a70f55b2af3: 1139 bumped update to f695c2c8812d:
1144 1140
1145 added p 1141 added p
1146 1142
1147 diff -r 8a70f55b2af3 -r f3e41d89b3c5 q 1143 diff -r f695c2c8812d -r abd19926ab01 q
1148 --- a/q Thu Jan 01 00:00:00 1970 +0000 1144 --- a/q Thu Jan 01 00:00:00 1970 +0000
1149 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 1145 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
1150 @@ -1,1 +0,0 @@ 1146 @@ -1,1 +0,0 @@
1151 -q 1147 -q
1152 1148
1153 Testing the evolution of a phase-divergent merge with no conflicts 1149 Testing the evolution of a phase-divergent merge with no conflicts
1154 ------------------------------------------------------------------ 1150 ------------------------------------------------------------------
1155 1151
1156 $ hg glog -r 154b0179fb9b:: 1152 $ hg glog -r 167994483a30::
1157 @ 36:605c306d4f87 phase-divergent update to 8a70f55b2af3: 1153 @ 40:12c31db4edf9 bumped update to f695c2c8812d:
1158 | () draft 1154 | () draft
1159 | o 35:f3e41d89b3c5 phase-divergent update to 8a70f55b2af3: 1155 | o 39:abd19926ab01 bumped update to f695c2c8812d:
1160 |/ () draft 1156 |/ () draft
1161 o 32:8a70f55b2af3 added p and q 1157 o 36:f695c2c8812d added p and q
1162 | () public 1158 | () public
1163 o 31:154b0179fb9b phase-divergent update to 849cee0a874b: 1159 o 35:167994483a30 bumped update to bbb1ce6e7cb5:
1164 | () public 1160 | () public
1165 ~ 1161 ~
1166 1162
1167 $ echo h > h 1163 $ echo h > h
1168 $ hg ci -Aqm "added h" 1164 $ hg ci -Aqm "added h"
1169 $ hg prev 1165 $ hg prev
1170 0 files updated, 0 files merged, 1 files removed, 0 files unresolved 1166 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
1171 [36] phase-divergent update to 8a70f55b2af3: 1167 [40] bumped update to f695c2c8812d:
1172 $ echo i > i 1168 $ echo i > i
1173 $ hg ci -Aqm "added i" 1169 $ hg ci -Aqm "added i"
1174 $ hg merge -r ef8c23f37b55 1170 $ hg merge -r 'desc("added h")'
1175 1 files updated, 0 files merged, 0 files removed, 0 files unresolved 1171 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1176 (branch merge, don't forget to commit) 1172 (branch merge, don't forget to commit)
1177 $ hg ci -m "merge h and i" 1173 $ hg ci -m "merge h and i"
1178 1174
1179 $ hg glog -r 605c306d4f87:: 1175 $ hg glog -r 12c31db4edf9::
1180 @ 39:12ebe0d625d7 merge h and i 1176 @ 43:98ce636fa344 merge h and i
1181 |\ () draft 1177 |\ () draft
1182 | o 38:9bb561db4230 added i 1178 | o 42:c13ebd59dd4e added i
1183 | | () draft 1179 | | () draft
1184 o | 37:ef8c23f37b55 added h 1180 o | 41:10bb6c8a838f added h
1185 |/ () draft 1181 |/ () draft
1186 o 36:605c306d4f87 phase-divergent update to 8a70f55b2af3: 1182 o 40:12c31db4edf9 bumped update to f695c2c8812d:
1187 | () draft 1183 | () draft
1188 ~ 1184 ~
1189 1185
1190 $ hg up ef8c23f37b55 1186 $ hg up 10bb6c8a838f
1191 0 files updated, 0 files merged, 1 files removed, 0 files unresolved 1187 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
1192 $ hg merge -r 9bb561db4230 1188 $ hg merge -r c13ebd59dd4e
1193 1 files updated, 0 files merged, 0 files removed, 0 files unresolved 1189 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1194 (branch merge, don't forget to commit) 1190 (branch merge, don't forget to commit)
1195 $ hg ci -m "merge h and i successor" 1191 $ hg ci -m "merge h and i successor"
1196 created new head 1192 created new head
1197 $ hg glog -r 605c306d4f87:: 1193 $ hg glog -r 12c31db4edf9::
1198 @ 40:d2aeda868461 merge h and i successor 1194 @ 44:57c7c43469f2 merge h and i successor
1199 |\ () draft 1195 |\ () draft
1200 +---o 39:12ebe0d625d7 merge h and i 1196 +---o 43:98ce636fa344 merge h and i
1201 | |/ () draft 1197 | |/ () draft
1202 | o 38:9bb561db4230 added i 1198 | o 42:c13ebd59dd4e added i
1203 | | () draft 1199 | | () draft
1204 o | 37:ef8c23f37b55 added h 1200 o | 41:10bb6c8a838f added h
1205 |/ () draft 1201 |/ () draft
1206 o 36:605c306d4f87 phase-divergent update to 8a70f55b2af3: 1202 o 40:12c31db4edf9 bumped update to f695c2c8812d:
1207 | () draft 1203 | () draft
1208 ~ 1204 ~
1209 1205
1210 $ hg prune -r 12ebe0d625d7 --succ . 1206 $ hg prune -r 98ce636fa344 --succ .
1211 1 changesets pruned 1207 1 changesets pruned
1212 1208
1213 $ hg phase 12ebe0d625d7 --hidden --public 1209 $ hg phase 98ce636fa344 --hidden --public
1214 1 new phase-divergent changesets 1210 1 new bumped changesets
1215 1211
1216 Resolution of phase-divergent merge commit using `hg evolve` 1212 Resolution of phase-divergent merge commit using `hg evolve`
1217 1213
1218 XXX: we should handle phase-divergent merges 1214 XXX: we should handle phase-divergent merges
1219 $ hg evolve --phase-divergent 1215 $ hg evolve --phase-divergent
1220 skipping d2aeda868461 : we do not handle merge yet 1216 skipping 57c7c43469f2 : we do not handle merge yet