# HG changeset patch # User Martin von Zweigbergk # Date 2017-09-14 18:16:47 # Node ID b5d7e7d5c573a0b45668acdeb62694dd18ddaf22 # Parent 987a85c42b08ab2a82cce39b004e00b708320d0e tests: add test for issue5678 In addition to a test case for the direct problem described in the bug report, this also adds a test case showing how obsmarkers can also get lost when not using generaldelta. Differential Revision: https://phab.mercurial-scm.org/D714 diff --git a/tests/test-rebase-scenario-global.t b/tests/test-rebase-scenario-global.t --- a/tests/test-rebase-scenario-global.t +++ b/tests/test-rebase-scenario-global.t @@ -375,6 +375,40 @@ Source phase lower than destination phas $ cd .. +Check that temporary bundle doesn't lose phase when not using generaldelta + + $ hg --config format.usegeneraldelta=no init issue5678 + $ cd issue5678 + $ grep generaldelta .hg/requires + [1] + $ echo a > a + $ hg ci -Aqm a + $ echo b > b + $ hg ci -Aqm b + $ hg co -q '.^' + $ echo c > c + $ hg ci -Aqm c + $ hg phase --public + $ hg log -G -T '{rev}:{node|shortest} {phase} {desc}\n' + @ 2:d36c public c + | + | o 1:d2ae draft b + |/ + o 0:cb9a public a + + $ hg rebase -s 1 -d 2 + rebasing 1:d2ae7f538514 "b" + saved backup bundle to $TESTTMP/issue5678/.hg/strip-backup/d2ae7f538514-2953539b-rebase.hg (glob) +BROKEN: d36c should remain public + $ hg log -G -T '{rev}:{node|shortest} {phase} {desc}\n' + o 2:c882 draft b + | + @ 1:d36c draft c + | + o 0:cb9a public a + + $ cd .. + Test for revset We need a bit different graph diff --git a/tests/test-strip.t b/tests/test-strip.t --- a/tests/test-strip.t +++ b/tests/test-strip.t @@ -1097,3 +1097,25 @@ we have reusable code here 112478962961147124edd43549aedd1a335e44bf 0 {426bada5c67598ca65036d57d9e4b64b0c1ce7a0} (Thu Jan 01 00:00:00 1970 +0000) {'operation': 'replace', 'user': 'test'} 08ebfeb61bac6e3f12079de774d285a0d6689eba 0 {426bada5c67598ca65036d57d9e4b64b0c1ce7a0} (Thu Jan 01 00:00:00 1970 +0000) {'operation': 'replace', 'user': 'test'} 26805aba1e600a82e93661149f2313866a221a7b 0 {112478962961147124edd43549aedd1a335e44bf} (Thu Jan 01 00:00:00 1970 +0000) {'operation': 'replace', 'user': 'test'} + $ cd .. + +Test that obsmarkers are restored even when not using generaldelta + + $ hg --config format.usegeneraldelta=no init issue5678 + $ cd issue5678 + $ cat >> .hg/hgrc < [experimental] + > evolution=all + > EOF + $ echo a > a + $ hg ci -Aqm a + $ hg ci --amend -m a2 + $ hg debugobsolete + cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b 489bac576828490c0bb8d45eac9e5e172e4ec0a8 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} + $ hg strip . + 0 files updated, 0 files merged, 1 files removed, 0 files unresolved + saved backup bundle to $TESTTMP/issue5678/.hg/strip-backup/489bac576828-bef27e14-backup.hg (glob) + $ hg unbundle -q .hg/strip-backup/* +BROKEN: obsmarker got lost + $ hg debugobsolete + $ cd ..