tests: add test for --stop flag when resolving multiparents content-div
This patch adds a test for --stop flag when we are in an interrupted
content-divergent resolution which have multiple parents. Conflicts happen we
merge the divergent changesets after relocation. The test shows that we
need to strip the relocated changeset.
--- a/tests/test-evolve-stop-contentdiv.t Sun Jun 10 20:35:48 2018 +0530
+++ b/tests/test-evolve-stop-contentdiv.t Sun Jun 10 22:38:08 2018 +0530
@@ -97,3 +97,56 @@
| () draft
o 0:8fa14d15e168 added hgignore
() draft
+
+Content divergence with parent change which will result in conflicts while
+merging
+---------------------------------------------------------------------------
+
+ $ hg rebase -r . -d .^^^ --config extensions.rebase=
+ rebasing 6:9c1631e352d9 "added d" (tip)
+
+ $ hg glog
+ @ 7:517d4375cb72 added d
+ | () draft
+ | * 5:e49523854bc8 added d
+ | | () draft
+ | o 3:ca1b80f7960a added c
+ | | () draft
+ | o 2:b1661037fa25 added b
+ |/ () draft
+ o 1:c7586e2a9264 added a
+ | () draft
+ o 0:8fa14d15e168 added hgignore
+ () draft
+
+ $ hg evolve --content-divergent
+ merge:[5] added d
+ with: [7] added d
+ base: [4] added d
+ rebasing "other" content-divergent changeset 517d4375cb72 on ca1b80f7960a
+ updating to "local" side of the conflict: e49523854bc8
+ merging "other" content-divergent changeset '606ad96040fc'
+ merging d
+ warning: conflicts while merging d! (edit, then use 'hg resolve --mark')
+ 0 files updated, 0 files merged, 0 files removed, 1 files unresolved
+ abort: fix conflicts and run 'hg evolve --continue' or use 'hg update -C .' to abort
+ [255]
+
+ $ hg evolve --stop
+ stopped the interrupted evolve
+ working directory is now at e49523854bc8
+
+XXX: we need to strip the relocated commit
+ $ hg glog
+ * 8:606ad96040fc added d
+ | () draft
+ | @ 5:e49523854bc8 added d
+ |/ () draft
+ o 3:ca1b80f7960a added c
+ | () draft
+ o 2:b1661037fa25 added b
+ | () draft
+ o 1:c7586e2a9264 added a
+ | () draft
+ o 0:8fa14d15e168 added hgignore
+ () draft