# HG changeset patch # User Martin von Zweigbergk # Date 1574202271 28800 # Node ID effce0a1f5bd5ade7c107e0b62d8cdf28a781351 # Parent 0ab3b94562abcce8456614fcfb8dca658d75f403 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). diff -r 0ab3b94562ab -r effce0a1f5bd tests/test-evolve-continue.t --- 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