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
--- 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