tests/test-obsolete.t
branchstable
changeset 45522 5a555d6e0d90
parent 45214 6063c1857d0a
child 45523 5ed6efedc457
equal deleted inserted replaced
45509:2bc978921e8a 45522:5a555d6e0d90
  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 ..