Mercurial > evolve
changeset 5010:effce0a1f5bd
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).
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Tue, 19 Nov 2019 14:24:31 -0800 |
parents | 0ab3b94562ab |
children | 04104042c6ad |
files | tests/test-evolve-continue.t |
diffstat | 1 files changed, 28 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- 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