1788 $ hg amend -n 'Testing::Obsstore2' --config extensions.amend= |
1788 $ hg amend -n 'Testing::Obsstore2' --config extensions.amend= |
1789 $ hg debugobsolete |
1789 $ hg debugobsolete |
1790 d1b09fe3ad2b2a03e23a72f0c582e29a49570145 1a1a11184d2588af24e767e5335d5d9d07e8c550 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '8', 'note': 'Testing::Obsstore', 'operation': 'amend', 'user': 'test'} |
1790 d1b09fe3ad2b2a03e23a72f0c582e29a49570145 1a1a11184d2588af24e767e5335d5d9d07e8c550 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '8', 'note': 'Testing::Obsstore', 'operation': 'amend', 'user': 'test'} |
1791 1bfd8e3868f641e048b6667cd672c68932f26d00 79959ca316d5b27ac6be1dd0cfd0843a5b5412eb 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '8', 'note': 'Testing::Obsstore2', 'operation': 'amend', 'user': 'test'} |
1791 1bfd8e3868f641e048b6667cd672c68932f26d00 79959ca316d5b27ac6be1dd0cfd0843a5b5412eb 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '8', 'note': 'Testing::Obsstore2', 'operation': 'amend', 'user': 'test'} |
1792 $ cd .. |
1792 $ cd .. |
|
1793 |
|
1794 Test that pinning of revisions in broken mergestate doesn't cause crash |
|
1795 |
|
1796 $ hg init pinning-broken-mergestate |
|
1797 $ cd pinning-broken-mergestate |
|
1798 $ echo a > file |
|
1799 $ hg ci -Aqm first |
|
1800 Create a pruned commit so pinning comes into play |
|
1801 $ echo pruned > pruned |
|
1802 $ hg ci -Aqm pruned |
|
1803 $ hg co -q 0 |
|
1804 $ hg debugobsolete $(getid pruned) |
|
1805 1 new obsolescence markers |
|
1806 obsoleted 1 changesets |
|
1807 Back up changelog, so we can restore it later after causing merge conflicts |
|
1808 with it, thus ending up with mergestate that points to a non-existent commit |
|
1809 $ cp .hg/store/00changelog.i .hg/store/00changelog.i.first |
|
1810 $ echo b > file |
|
1811 $ hg ci -qm second |
|
1812 $ echo c > file |
|
1813 $ hg co -m 0 |
|
1814 merging file |
|
1815 warning: conflicts while merging file! (edit, then use 'hg resolve --mark') |
|
1816 0 files updated, 0 files merged, 0 files removed, 1 files unresolved |
|
1817 use 'hg resolve' to retry unresolved file merges |
|
1818 [1] |
|
1819 $ mv -f .hg/store/00changelog.i.first .hg/store/00changelog.i |
|
1820 The local node should now point to a non-existent commit |
|
1821 $ hg debugmergestate |
|
1822 local (working copy): b73b8c9a4ab4da89a5a35a6f10dfb13edc84ca37 |
|
1823 other (destination): f53e9479dce52f79c923908241fa54f7da90a7ad |
|
1824 file: file (state "u") |
|
1825 local path: file (hash 971c419dd609331343dee105fffd0f4608dc0bf2, flags "") |
|
1826 ancestor path: file (node bc7ebe2d260cff30d2a39a130d84add36216f791) |
|
1827 other path: file (node b789fdd96dc2f3bd229c1dd8eedf0fc60e2b68e3) |
|
1828 extra: ancestorlinknode = b73b8c9a4ab4da89a5a35a6f10dfb13edc84ca37 |
|
1829 BROKEN: We should be able to see the log (without the deleted commit, of course) |
|
1830 $ hg log -G |
|
1831 abort: unknown revision 'b73b8c9a4ab4da89a5a35a6f10dfb13edc84ca37'! |
|
1832 [255] |
|
1833 $ cd .. |