tests: demonstrate how evolve loses transitive copies when interrupted
Let's say `b` has been renamed to `c` in commit A and then renamed
to `d` in commit B. We now modify A in a way that will cause a
conflict when we evolve B. `hg evolve` will now stop and let the user
resolve the conflicts, but it will have lost the copy information in
the working copy (should still be c->d).
--- a/tests/test-evolve-continue.t Mon Dec 09 10:36:11 2019 -0800
+++ b/tests/test-evolve-continue.t Tue Nov 19 14:24:31 2019 -0800
@@ -434,3 +434,31 @@
M c
A d
? c.orig
+
+ $ cd ..
+ $ hg init transitive-renames
+ $ cd transitive-renames
+ $ echo 1 > a
+ $ echo 1 > b
+ $ hg ci -Aqm initial
+ $ echo 2 > a
+ $ hg mv b c
+ $ hg ci -m 'rename b to c'
+ $ echo 3 > a
+ $ hg mv c d
+ $ hg ci -m 'rename c to d'
+ $ hg prev -q
+ $ echo 2b > a
+ $ hg amend -q
+ 1 new orphan changesets
+ $ hg ev -q
+ warning: conflicts while merging a! (edit, then use 'hg resolve --mark')
+ unresolved merge conflicts
+ (see 'hg help evolve.interrupted')
+ [1]
+BROKEN: 'd' should be marked as a copy
+ $ hg st -C
+ M a
+ A d
+ R c
+ ? a.orig