# HG changeset patch # User Pulkit Goyal <7895pulkit@gmail.com> # Date 1518023490 -19800 # Node ID 8cf1020bd4f98bf8a426473f5acdd7ce026b3c46 # Parent 7c81506978101575fef91d488500f750f4a1b129 tests: add test showing `evolve --continue` after `next --evolve` is broken Recent series fixing `hg evolve --continue` break the continue functionality after a conflicting `hg next --evolve`. This patch adds a test to demonstrate that. It will be fixed in the upcoming patch. diff -r 7c8150697810 -r 8cf1020bd4f9 tests/test-evolve-continue.t --- a/tests/test-evolve-continue.t Wed May 17 09:39:15 2017 +0200 +++ b/tests/test-evolve-continue.t Wed Feb 07 22:41:30 2018 +0530 @@ -349,3 +349,65 @@ | () draft o 0:8fa14d15e168 added hgignore () draft + +Testing `evolve --continue` after `hg next --evolve` + + $ hg up .^^ + 2 files updated, 0 files merged, 0 files removed, 0 files unresolved + $ echo foobar > g + $ hg amend + 2 new orphan changesets + + $ hg next --evolve + move:[22] added g + atop:[24] added f + merging g + warning: conflicts while merging g! (edit, then use 'hg resolve --mark') + evolve failed! + fix conflict and run 'hg evolve --continue' or use 'hg update -C .' to abort + abort: unresolved merge conflicts (see hg help resolve) + [255] + $ echo foo > g + $ hg resolve -m + (no more unresolved files) + continue: hg evolve --continue + $ hg evolve --continue + evolving 22:d2c94a8f44bd "added g" + ** Unknown exception encountered with possibly-broken third-party extension evolve + ** which supports versions 4.4 of Mercurial. + ** Please disable evolve and try your action again. + ** If that fixes the bug please report it to https://bz.mercurial-scm.org/ + ** Python 2.7.12 (default, Dec 4 2017, 14:50:18) [GCC 5.4.0 20160609] + ** Mercurial Distributed SCM (version 4.5+71-2e11b6cd6953) + ** Extensions loaded: rebase, evolve + Traceback (most recent call last): + File "/tmp/hgtests.NSvQmE/install/bin/hg", line 41, in + dispatch.run() + File "/tmp/hgtests.NSvQmE/install/lib/python/mercurial/dispatch.py", line 88, in run + status = (dispatch(req) or 0) & 255 + File "/tmp/hgtests.NSvQmE/install/lib/python/mercurial/dispatch.py", line 183, in dispatch + ret = _runcatch(req) + File "/tmp/hgtests.NSvQmE/install/lib/python/mercurial/dispatch.py", line 324, in _runcatch + return _callcatch(ui, _runcatchfunc) + File "/tmp/hgtests.NSvQmE/install/lib/python/mercurial/dispatch.py", line 332, in _callcatch + return scmutil.callcatch(ui, func) + File "/tmp/hgtests.NSvQmE/install/lib/python/mercurial/scmutil.py", line 154, in callcatch + return func() + File "/tmp/hgtests.NSvQmE/install/lib/python/mercurial/dispatch.py", line 314, in _runcatchfunc + return _dispatch(req) + File "/tmp/hgtests.NSvQmE/install/lib/python/mercurial/dispatch.py", line 918, in _dispatch + cmdpats, cmdoptions) + File "/tmp/hgtests.NSvQmE/install/lib/python/mercurial/dispatch.py", line 673, in runcommand + ret = _runcommand(ui, options, cmd, d) + File "/tmp/hgtests.NSvQmE/install/lib/python/mercurial/dispatch.py", line 926, in _runcommand + return cmdfunc() + File "/tmp/hgtests.NSvQmE/install/lib/python/mercurial/dispatch.py", line 915, in + d = lambda: util.checksignature(func)(ui, *args, **strcmdopt) + File "/tmp/hgtests.NSvQmE/install/lib/python/mercurial/util.py", line 1195, in check + return func(*args, **kwargs) + File "/home/foobar/repo/mutable-history/hgext3rd/evolve/evolvecmd.py", line 1147, in evolve + evolvestate['replacements'][ctx.node()] = node + File "/home/foobar/repo/mutable-history/hgext3rd/evolve/state.py", line 49, in __getitem__ + return self.opts[key] + KeyError: 'replacements' + [1]