diff tests/test-evolve-content-divergence.t @ 3882:55b8c7e7e352

compat: temporarily move copies fix to compat.py This patch moves a fixed version of copies._fullcopytracing() to compat.py as this was not fixed in core before release and also we need to do this anyway for the older versions of mercurial. This fix is that when base changeset is not ancestor of any of the merging commits, we don't throw an error. The phabricator differential which will fix this in core is https://phab.mercurial-scm.org/D3896. This fixes the traceback we get in previous changeset while relocating one of the content-divergent changeset.
author Pulkit Goyal <7895pulkit@gmail.com>
date Sat, 21 Jul 2018 02:42:29 +0530
parents 9cf45b94f977
children f7afd3a158e3 ef22eef37ecc
line wrap: on
line diff
--- a/tests/test-evolve-content-divergence.t	Thu Jun 07 18:18:30 2018 +0530
+++ b/tests/test-evolve-content-divergence.t	Sat Jul 21 02:42:29 2018 +0530
@@ -696,144 +696,41 @@
   evolving 23:3f7a1f693080 "added z"
   updating to "local" side of the conflict: 53242575ffa9
   merging "other" content-divergent changeset 'cdb0643c69fc'
-  transaction abort!
-  rollback completed
-  ** Unknown exception encountered with possibly-broken third-party extension evolve
-  ** which supports versions 4.6 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.7rc0+2-10d40c83205b)
-  ** Extensions loaded: rebase, evolve
-  Traceback (most recent call last):
-    File "/tmp/hgtests.rpfl6k/install/bin/hg", line 41, in <module>
-      dispatch.run()
-    File "/tmp/hgtests.rpfl6k/install/lib/python/mercurial/dispatch.py", line 90, in run
-      status = dispatch(req)
-    File "/tmp/hgtests.rpfl6k/install/lib/python/mercurial/dispatch.py", line 213, in dispatch
-      ret = _runcatch(req) or 0
-    File "/tmp/hgtests.rpfl6k/install/lib/python/mercurial/dispatch.py", line 354, in _runcatch
-      return _callcatch(ui, _runcatchfunc)
-    File "/tmp/hgtests.rpfl6k/install/lib/python/mercurial/dispatch.py", line 362, in _callcatch
-      return scmutil.callcatch(ui, func)
-    File "/tmp/hgtests.rpfl6k/install/lib/python/mercurial/scmutil.py", line 161, in callcatch
-      return func()
-    File "/tmp/hgtests.rpfl6k/install/lib/python/mercurial/dispatch.py", line 344, in _runcatchfunc
-      return _dispatch(req)
-    File "/tmp/hgtests.rpfl6k/install/lib/python/mercurial/dispatch.py", line 984, in _dispatch
-      cmdpats, cmdoptions)
-    File "/tmp/hgtests.rpfl6k/install/lib/python/mercurial/dispatch.py", line 730, in runcommand
-      ret = _runcommand(ui, options, cmd, d)
-    File "/tmp/hgtests.rpfl6k/install/lib/python/mercurial/dispatch.py", line 992, in _runcommand
-      return cmdfunc()
-    File "/tmp/hgtests.rpfl6k/install/lib/python/mercurial/dispatch.py", line 981, in <lambda>
-      d = lambda: util.checksignature(func)(ui, *args, **strcmdopt)
-    File "/tmp/hgtests.rpfl6k/install/lib/python/mercurial/util.py", line 1528, in check
-      return func(*args, **kwargs)
-    File "/home/foobar/repo/mutable-history/hgext3rd/evolve/evolvecmd.py", line 1519, in evolve
-      continueevolve(ui, repo, evolvestate, progresscb)
-    File "/home/foobar/repo/mutable-history/hgext3rd/evolve/evolvecmd.py", line 1706, in continueevolve
-      _continuecontentdivergent(ui, repo, evolvestate, progresscb)
-    File "/home/foobar/repo/mutable-history/hgext3rd/evolve/evolvecmd.py", line 1752, in _continuecontentdivergent
-      evolvestate)
-    File "/home/foobar/repo/mutable-history/hgext3rd/evolve/evolvecmd.py", line 512, in _mergecontentdivergents
-      mergeancestor=True)
-    File "/tmp/hgtests.rpfl6k/install/lib/python/mercurial/merge.py", line 2052, in update
-      followcopies, matcher=matcher, mergeforce=mergeforce)
-    File "/tmp/hgtests.rpfl6k/install/lib/python/mercurial/merge.py", line 1337, in calculateupdates
-      acceptremote, followcopies)
-    File "/tmp/hgtests.rpfl6k/install/lib/python/mercurial/merge.py", line 1138, in manifestmerge
-      ret = copies.mergecopies(repo, wctx, p2, pa)
-    File "/tmp/hgtests.rpfl6k/install/lib/python/mercurial/copies.py", line 383, in mergecopies
-      return _fullcopytracing(repo, c1, c2, base)
-    File "/tmp/hgtests.rpfl6k/install/lib/python/mercurial/copies.py", line 537, in _fullcopytracing
-      assert not both2['incomplete']
-  AssertionError
+  merging y
+  warning: conflicts while merging y! (edit, then use 'hg resolve --mark')
+  0 files updated, 0 files merged, 0 files removed, 1 files unresolved
+  fix conflicts and see `hg help evolve.interrupted`
   [1]
 
   $ hg diff
-  diff -r 7bbcf24ddecf z
-  --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-  +++ b/z	Thu Jan 01 00:00:00 1970 +0000
-  @@ -0,0 +1,1 @@
-  +bar
+  diff -r 53242575ffa9 y
+  --- a/y	Thu Jan 01 00:00:00 1970 +0000
+  +++ b/y	Thu Jan 01 00:00:00 1970 +0000
+  @@ -1,1 +1,5 @@
+  +<<<<<<< local: 53242575ffa9 bar - test: added z
+   watbar
+  +=======
+  +foo
+  +>>>>>>> other: cdb0643c69fc - test: added z
 
   $ echo foo > y
   $ hg resolve -m
-  abort: resolve command not applicable when not merging
-  [255]
+  (no more unresolved files)
+  continue: hg evolve --continue
   $ hg evolve --continue
-  evolving 23:3f7a1f693080 "added z"
-  updating to "local" side of the conflict: 53242575ffa9
-  merging "other" content-divergent changeset '4954f28e111b'
-  transaction abort!
-  rollback completed
-  ** Unknown exception encountered with possibly-broken third-party extension evolve
-  ** which supports versions 4.6 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.7rc0+2-10d40c83205b)
-  ** Extensions loaded: rebase, evolve
-  Traceback (most recent call last):
-    File "/tmp/hgtests.rpfl6k/install/bin/hg", line 41, in <module>
-      dispatch.run()
-    File "/tmp/hgtests.rpfl6k/install/lib/python/mercurial/dispatch.py", line 90, in run
-      status = dispatch(req)
-    File "/tmp/hgtests.rpfl6k/install/lib/python/mercurial/dispatch.py", line 213, in dispatch
-      ret = _runcatch(req) or 0
-    File "/tmp/hgtests.rpfl6k/install/lib/python/mercurial/dispatch.py", line 354, in _runcatch
-      return _callcatch(ui, _runcatchfunc)
-    File "/tmp/hgtests.rpfl6k/install/lib/python/mercurial/dispatch.py", line 362, in _callcatch
-      return scmutil.callcatch(ui, func)
-    File "/tmp/hgtests.rpfl6k/install/lib/python/mercurial/scmutil.py", line 161, in callcatch
-      return func()
-    File "/tmp/hgtests.rpfl6k/install/lib/python/mercurial/dispatch.py", line 344, in _runcatchfunc
-      return _dispatch(req)
-    File "/tmp/hgtests.rpfl6k/install/lib/python/mercurial/dispatch.py", line 984, in _dispatch
-      cmdpats, cmdoptions)
-    File "/tmp/hgtests.rpfl6k/install/lib/python/mercurial/dispatch.py", line 730, in runcommand
-      ret = _runcommand(ui, options, cmd, d)
-    File "/tmp/hgtests.rpfl6k/install/lib/python/mercurial/dispatch.py", line 992, in _runcommand
-      return cmdfunc()
-    File "/tmp/hgtests.rpfl6k/install/lib/python/mercurial/dispatch.py", line 981, in <lambda>
-      d = lambda: util.checksignature(func)(ui, *args, **strcmdopt)
-    File "/tmp/hgtests.rpfl6k/install/lib/python/mercurial/util.py", line 1528, in check
-      return func(*args, **kwargs)
-    File "/home/foobar/repo/mutable-history/hgext3rd/evolve/evolvecmd.py", line 1519, in evolve
-      continueevolve(ui, repo, evolvestate, progresscb)
-    File "/home/foobar/repo/mutable-history/hgext3rd/evolve/evolvecmd.py", line 1706, in continueevolve
-      _continuecontentdivergent(ui, repo, evolvestate, progresscb)
-    File "/home/foobar/repo/mutable-history/hgext3rd/evolve/evolvecmd.py", line 1752, in _continuecontentdivergent
-      evolvestate)
-    File "/home/foobar/repo/mutable-history/hgext3rd/evolve/evolvecmd.py", line 512, in _mergecontentdivergents
-      mergeancestor=True)
-    File "/tmp/hgtests.rpfl6k/install/lib/python/mercurial/merge.py", line 2052, in update
-      followcopies, matcher=matcher, mergeforce=mergeforce)
-    File "/tmp/hgtests.rpfl6k/install/lib/python/mercurial/merge.py", line 1337, in calculateupdates
-      acceptremote, followcopies)
-    File "/tmp/hgtests.rpfl6k/install/lib/python/mercurial/merge.py", line 1138, in manifestmerge
-      ret = copies.mergecopies(repo, wctx, p2, pa)
-    File "/tmp/hgtests.rpfl6k/install/lib/python/mercurial/copies.py", line 383, in mergecopies
-      return _fullcopytracing(repo, c1, c2, base)
-    File "/tmp/hgtests.rpfl6k/install/lib/python/mercurial/copies.py", line 537, in _fullcopytracing
-      assert not both2['incomplete']
-  AssertionError
-  [1]
+  working directory is now at 6fc7d9682de6
 
   $ hg glog
-  *  25:53242575ffa9 added z
+  @  27:6fc7d9682de6 added z
+  |   () [bar] draft
+  o  21:7bbcf24ddecf added y
   |   () [bar] draft
-  | *  23:3f7a1f693080 added z
-  | |   () [default] draft
-  @ |  21:7bbcf24ddecf added y
-  | |   () [bar] draft
-  o |  15:b006cf317e0e added foo to x
-  | |   () [bar] draft
-  o |  10:4ae4427ee9f8 added d
-  | |   () [default] draft
-  o |  9:917281f93fcb added c
-  |/    () [default] draft
+  o  15:b006cf317e0e added foo to x
+  |   () [bar] draft
+  o  10:4ae4427ee9f8 added d
+  |   () [default] draft
+  o  9:917281f93fcb added c
+  |   () [default] draft
   o  8:171614c9a791 added b
   |   () [default] draft
   o  1:c7586e2a9264 added a
@@ -847,15 +744,21 @@
   # Date 0 0
   #      Thu Jan 01 00:00:00 1970 +0000
   # Branch bar
-  # Node ID 7bbcf24ddecfe97d7c2ac6fa8c07c155c8fda47b
-  # Parent  b006cf317e0ed16dbe786c439577475580f645f1
-  added y
+  # Node ID 6fc7d9682de6e3bee6c8b1266b756ed7d522b7e4
+  # Parent  7bbcf24ddecfe97d7c2ac6fa8c07c155c8fda47b
+  added z
   
-  diff -r b006cf317e0e -r 7bbcf24ddecf y
-  --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+  diff -r 7bbcf24ddecf -r 6fc7d9682de6 y
+  --- a/y	Thu Jan 01 00:00:00 1970 +0000
   +++ b/y	Thu Jan 01 00:00:00 1970 +0000
+  @@ -1,1 +1,1 @@
+  -watbar
+  +foo
+  diff -r 7bbcf24ddecf -r 6fc7d9682de6 z
+  --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+  +++ b/z	Thu Jan 01 00:00:00 1970 +0000
   @@ -0,0 +1,1 @@
-  +watbar
+  +bar
 
   $ cd ..