tests: demonstrate another failure with in-memory rebase and copies
authorMartin von Zweigbergk <martinvonz@google.com>
Fri, 10 May 2019 10:23:08 -0700
changeset 42287 5265c7d47213
parent 42286 8988e640a8ac
child 42288 cdcebc897529
tests: demonstrate another failure with in-memory rebase and copies This is a similar to dd1ab72be983 (test: demonstrate crash with in-memory rebase and copies, 2019-03-14). The new failure started with 57203e0210f8 (copies: calculate mergecopies() based on pathcopies(), 2019-04-11). It happens in the call to mergemod.update() on rebase.py:1268 where we call mergemod.update() to graft a node. Since the mergecopies() rewrite, that calls _related() with the filectx from the overlaywctx instead of a filectx from the changectx where the file was last modified. Either should be fine, so I don't think that's a bug. Differential Revision: https://phab.mercurial-scm.org/D6357
tests/test-rebase-inmemory.t
--- a/tests/test-rebase-inmemory.t	Tue May 14 16:40:49 2019 -0700
+++ b/tests/test-rebase-inmemory.t	Fri May 10 10:23:08 2019 -0700
@@ -763,6 +763,21 @@
 
   $ cd ..
 
+Test rebasing a commit with copy information
+
+  $ hg init rebase-rename
+  $ cd rebase-rename
+  $ echo a > a
+  $ hg ci -Aqm 'add a'
+  $ echo a2 > a
+  $ hg ci -m 'modify a'
+  $ hg co -q 0
+  $ hg mv a b
+  $ hg ci -qm 'rename a to b'
+  $ hg rebase -d 1 2>&1 | grep '** ProgrammingError'
+  ** ProgrammingError: copydata() called on clean context
+  $ cd ..
+
 Test rebasing when the file we are merging in destination is empty
 
   $ hg init test