615 $ hg debugsuccessorssets 'desc('A_0')' --closest --hidden |
617 $ hg debugsuccessorssets 'desc('A_0')' --closest --hidden |
616 007dc284c1f8 |
618 007dc284c1f8 |
617 82623d38b9ba 392fd25390da |
619 82623d38b9ba 392fd25390da |
618 |
620 |
619 $ cd .. |
621 $ cd .. |
|
622 |
|
623 Use scmutil.cleanupnodes API to create divergence |
|
624 |
|
625 $ hg init cleanupnodes |
|
626 $ cd cleanupnodes |
|
627 $ hg debugdrawdag <<'EOS' |
|
628 > B1 B3 B4 |
|
629 > | \| |
|
630 > A Z |
|
631 > EOS |
|
632 |
|
633 $ hg update -q B1 |
|
634 $ echo 3 >> B |
|
635 $ hg commit --amend -m B2 |
|
636 $ cat > $TESTTMP/scmutilcleanup.py <<EOF |
|
637 > from mercurial import registrar, scmutil |
|
638 > cmdtable = {} |
|
639 > command = registrar.command(cmdtable) |
|
640 > @command('cleanup') |
|
641 > def cleanup(ui, repo): |
|
642 > def node(expr): |
|
643 > unfi = repo.unfiltered() |
|
644 > rev = unfi.revs(expr).first() |
|
645 > return unfi.changelog.node(rev) |
|
646 > with repo.wlock(), repo.lock(), repo.transaction('delayedstrip'): |
|
647 > mapping = {node('desc(B1)'): [node('desc(B3)')], |
|
648 > node('desc(B3)'): [node('desc(B4)')]} |
|
649 > scmutil.cleanupnodes(repo, mapping, 'test') |
|
650 > EOF |
|
651 |
|
652 $ rm .hg/localtags |
|
653 $ hg cleanup --config extensions.t=$TESTTMP/scmutilcleanup.py |
|
654 $ hg log -G -T '{rev}:{node|short} {desc} {troubles}' -r 'sort(all(), topo)' |
|
655 @ 5:1a2a9b5b0030 B2 divergent |
|
656 | |
|
657 | o 4:70d5a63ca112 B4 divergent |
|
658 | | |
|
659 | o 1:48b9aae0607f Z |
|
660 | |
|
661 o 0:426bada5c675 A |
|
662 |
|
663 $ hg debugobsolete |
|
664 a178212c3433c4e77b573f6011e29affb8aefa33 1a2a9b5b0030632400aa78e00388c20f99d3ec44 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} |
|
665 a178212c3433c4e77b573f6011e29affb8aefa33 ad6478fb94ecec98b86daae98722865d494ac561 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} |
|
666 ad6478fb94ecec98b86daae98722865d494ac561 70d5a63ca112acb3764bc1d7320ca90ea688d671 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} |