Mercurial > evolve
comparison docs/user-guide.rst @ 4920:d1066fb2c95a stable
docs: remove --all from hg evolve, since it's been the default for some time
author | Anton Shestakov <av6@dwimlabs.net> |
---|---|
date | Sat, 26 Oct 2019 22:44:06 +0700 |
parents | 8beb44234b33 |
children |
comparison
equal
deleted
inserted
replaced
4919:8beb44234b33 | 4920:d1066fb2c95a |
---|---|
401 still visible, even though it is obsolete. Obsolete changesets with | 401 still visible, even though it is obsolete. Obsolete changesets with |
402 non-obsolete descendants are not hidden. | 402 non-obsolete descendants are not hidden. |
403 | 403 |
404 The fix is to *evolve* history:: | 404 The fix is to *evolve* history:: |
405 | 405 |
406 $ hg evolve --all | 406 $ hg evolve |
407 | 407 |
408 This is a separate step, not automatically part of ``hg amend``, | 408 This is a separate step, not automatically part of ``hg amend``, |
409 because there might be conflicts. If your amended changeset modifies a | 409 because there might be conflicts. If your amended changeset modifies a |
410 file that one of its descendants also modified, Mercurial has to fire | 410 file that one of its descendants also modified, Mercurial has to fire |
411 up your merge tool to resolve the conflict. More importantly, you have | 411 up your merge tool to resolve the conflict. More importantly, you have |
416 revisions (11-13) are obsolete and hidden. Their successor revisions | 416 revisions (11-13) are obsolete and hidden. Their successor revisions |
417 (14-16) replace them. | 417 (14-16) replace them. |
418 | 418 |
419 .. figure:: figures/figure-ug07.svg | 419 .. figure:: figures/figure-ug07.svg |
420 | 420 |
421 Figure 7: evolve your repository (``hg evolve --all``) to take care | 421 Figure 7: evolve your repository (``hg evolve``) to take care |
422 of instability. Orphan changesets become obsolete, and are | 422 of instability. Orphan changesets become obsolete, and are |
423 replaced by successors just like the amended changeset was. | 423 replaced by successors just like the amended changeset was. |
424 | 424 |
425 Example 8: Prune an older changeset | 425 Example 8: Prune an older changeset |
426 =================================== | 426 =================================== |
448 of the pruned changeset are now orphans. | 448 of the pruned changeset are now orphans. |
449 | 449 |
450 As before, the solution to orphan changesets is to evolve your | 450 As before, the solution to orphan changesets is to evolve your |
451 repository:: | 451 repository:: |
452 | 452 |
453 $ hg evolve --all | 453 $ hg evolve |
454 | 454 |
455 This rebases revision 20 on top of 18 as the new revision 21, leaving | 455 This rebases revision 20 on top of 18 as the new revision 21, leaving |
456 19 and 20 obsolete and hidden: | 456 19 and 20 obsolete and hidden: |
457 | 457 |
458 .. figure:: figures/figure-ug09.svg | 458 .. figure:: figures/figure-ug09.svg |
459 | 459 |
460 Figure 9: once again, ``hg evolve --all`` takes care of instability. | 460 Figure 9: once again, ``hg evolve`` takes care of instability. |
461 | 461 |
462 Example 9: Uncommit files from an older changeset (discard changes) | 462 Example 9: Uncommit files from an older changeset (discard changes) |
463 ======================================================================= | 463 ======================================================================= |
464 | 464 |
465 As in example 5, let's say you accidentally commit some unrelated | 465 As in example 5, let's say you accidentally commit some unrelated |
489 | 489 |
490 In this case, the change to ``file2.c`` was a temporary debugging | 490 In this case, the change to ``file2.c`` was a temporary debugging |
491 hack, so we can discard it and immediately evolve the instability away:: | 491 hack, so we can discard it and immediately evolve the instability away:: |
492 | 492 |
493 $ hg revert file2.c | 493 $ hg revert file2.c |
494 $ hg evolve --all | 494 $ hg evolve |
495 move:[23] fix bug 67 | 495 move:[23] fix bug 67 |
496 atop:[24] fix bug 53 | 496 atop:[24] fix bug 53 |
497 | 497 |
498 Figure 10 illustrates the whole process. | 498 Figure 10 illustrates the whole process. |
499 | 499 |
543 separately will soon result in a two-headed repository. | 543 separately will soon result in a two-headed repository. |
544 | 544 |
545 This is where things get tricky. As usual when a repository has | 545 This is where things get tricky. As usual when a repository has |
546 orphan changesets, we want to evolve it:: | 546 orphan changesets, we want to evolve it:: |
547 | 547 |
548 $ hg evolve --all | 548 $ hg evolve |
549 | 549 |
550 The problem is that ``hg evolve`` rebases revision 27 onto revision | 550 The problem is that ``hg evolve`` rebases revision 27 onto revision |
551 28, creating 30 (the successor of 27). This is entirely logical: 27 | 551 28, creating 30 (the successor of 27). This is entirely logical: 27 |
552 was the child of 26, and 26's successor is 28. So of course 27's | 552 was the child of 26, and 26's successor is 28. So of course 27's |
553 successor (30) should be the child of 26's successor (28). | 553 successor (30) should be the child of 26's successor (28). |