tests: add test for --stop flag when resolving multiparents content-div
authorPulkit Goyal <7895pulkit@gmail.com>
Sun, 10 Jun 2018 22:38:08 +0530
changeset 3823 7b33a6ed0539
parent 3822 cb060c408b41
child 3824 a8f509981d30
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.
tests/test-evolve-stop-contentdiv.t
--- 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