diff -r b302066725c3 -r f1e90ce1d372 tests/test-evolve-content-divergent-stack.t --- a/tests/test-evolve-content-divergent-stack.t Wed Nov 27 19:50:33 2019 +0530 +++ b/tests/test-evolve-content-divergent-stack.t Wed Nov 27 20:54:48 2019 +0530 @@ -432,6 +432,74 @@ o 0:8fa14d15e168 added hgignore () [default] draft +when relocating "other" hit merge conflict but not "divergent" +-------------------------------------------------------------- + $ hg strip 14: --hidden + 0 files updated, 0 files merged, 2 files removed, 0 files unresolved + saved backup bundle to $TESTTMP/stackrepo1/.hg/strip-backup/74fbf3e6a0b6-15474722-backup.hg + 8 new content-divergent changesets + +Insert conflicting changes in between the stack of content-div csets + $ hg up -r "max(desc('added b'))" + 2 files updated, 0 files merged, 0 files removed, 0 files unresolved + $ echo b_diverging_local > b + $ hg amend + 2 new orphan changesets + $ hg evolve + move:[12] added c + atop:[14] added b + move:[13] added d + $ hg up -r d5f148423c16 + 2 files updated, 0 files merged, 1 files removed, 0 files unresolved + $ echo b_diverging_other > b + $ hg amend + 2 new orphan changesets + $ hg evolve + move:[7] added c + atop:[17] added b + move:[8] added d + +Now let's try to evolve stack + $ hg evolve --content-divergent + merge:[10] added a + with: [5] watbar to a + base: [1] added a + rebasing "other" content-divergent changeset 8e222f257bbf on 2228e3b74514 + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + merge:[14] added b + with: [17] added b + base: [2] added b + rebasing "divergent" content-divergent changeset 2a955e808c53 on 74fbf3e6a0b6 + rebasing "other" content-divergent changeset 509103439e5e on 74fbf3e6a0b6 + merging b + warning: conflicts while merging b! (edit, then use 'hg resolve --mark') + 0 files updated, 0 files merged, 0 files removed, 1 files unresolved + 4 new orphan changesets + unresolved merge conflicts + (see 'hg help evolve.interrupted') + [1] + + $ echo foo > b + $ hg res -m + (no more unresolved files) + continue: hg evolve --continue + $ hg evolve --continue + merge:[15] added c + with: [18] added c + base: [3] added c + rebasing "divergent" content-divergent changeset 48b0f803817a on 4e29776e83a5 + rebasing "other" content-divergent changeset eaf34afe4df3 on 4e29776e83a5 + 0 files updated, 0 files merged, 0 files removed, 0 files unresolved + merge:[16] added d + with: [19] added d + base: [4] added d + rebasing "divergent" content-divergent changeset 91c8ccb9c241 on 77126af93a25 + rebasing "other" content-divergent changeset c351be27f199 on 77126af93a25 + 0 files updated, 0 files merged, 0 files removed, 0 files unresolved + working directory is now at 4e29776e83a5 + + $ hg evolve -l + $ cd .. Make sure that content-divergent resolution doesn't undo a change (issue6203)