Mercurial > evolve
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 |