tests: add more test of resolution of content-divergent changesets
authorPulkit Goyal <7895pulkit@gmail.com>
Thu, 07 Jun 2018 22:45:54 +0530
changeset 3810 04fe01b0c0d0
parent 3809 f06ff8fee2f6
child 3811 3273b178c202
tests: add more test of resolution of content-divergent changesets This patch adds test of resolution of content-divergent changesets when relocation is required and it leads to conflicts. The test shows that we are not doing the right thing. This will be fixed in upcoming patches.
tests/test-evolve-content-divergence.t
--- a/tests/test-evolve-content-divergence.t	Thu Jun 07 18:18:10 2018 +0530
+++ b/tests/test-evolve-content-divergence.t	Thu Jun 07 22:45:54 2018 +0530
@@ -593,3 +593,121 @@
   +++ b/y	Thu Jan 01 00:00:00 1970 +0000
   @@ -0,0 +1,1 @@
   +bar
+
+Testing when the relocation will result in conflicts and merging wont
+----------------------------------------------------------------------
+
+  $ hg glog
+  @  20:bbaca013758a added y
+  |   () [bar] draft
+  o  14:be41fdcd0ee1 added foo to x
+  |   () [bar] draft
+  o  9:b6b20b8eefdc added d
+  |   () [default] draft
+  o  8:7c46f743e62f added c
+  |   () [default] draft
+  o  5:7ed0642d644b added b
+  |   () [default] draft
+  o  1:c7586e2a9264 added a
+  |   () [default] draft
+  o  0:8fa14d15e168 added hgignore
+      () [default] draft
+
+  $ hg up .^^^^
+  0 files updated, 0 files merged, 4 files removed, 0 files unresolved
+
+  $ echo z > z
+  $ hg ci -Aqm "added z"
+  $ hg glog -r .
+  @  21:884c9d1a1a84 added z
+  |   () [default] draft
+  ~
+
+  $ echo foo > y
+  $ hg add y
+  $ hg amend
+
+  $ hg up 884c9d1a1a84 --hidden
+  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
+  updated to hidden changeset 884c9d1a1a84
+  (hidden revision '884c9d1a1a84' was rewritten as: 3e22a949fe7d)
+  working directory parent is obsolete! (884c9d1a1a84)
+  (use 'hg evolve' to update to its successor: 3e22a949fe7d)
+  $ hg rebase -r . -d bbaca013758a --config experimental.evolution.allowdivergence=True
+  rebasing 21:884c9d1a1a84 "added z"
+  2 new content-divergent changesets
+
+  $ hg glog
+  @  23:478a0057fd1a added z
+  |   () [bar] draft
+  | *  22:3e22a949fe7d added z
+  | |   () [default] draft
+  o |  20:bbaca013758a added y
+  | |   () [bar] draft
+  o |  14:be41fdcd0ee1 added foo to x
+  | |   () [bar] draft
+  o |  9:b6b20b8eefdc added d
+  | |   () [default] draft
+  o |  8:7c46f743e62f added c
+  |/    () [default] draft
+  o  5:7ed0642d644b added b
+  |   () [default] draft
+  o  1:c7586e2a9264 added a
+  |   () [default] draft
+  o  0:8fa14d15e168 added hgignore
+      () [default] draft
+
+  $ hg evolve --content-divergent
+  merge:[23] added z
+  with: [22] added z
+  base: [21] added z
+  rebasing "other" content-divergent changeset 3e22a949fe7d on bbaca013758a
+  merging y
+  warning: conflicts while merging y! (edit, then use 'hg resolve --mark')
+  abort: unresolved merge conflicts (see hg help resolve)
+  [255]
+
+  $ hg diff
+  diff -r bbaca013758a y
+  --- a/y	Thu Jan 01 00:00:00 1970 +0000
+  +++ b/y	Thu Jan 01 00:00:00 1970 +0000
+  @@ -1,1 +1,5 @@
+  +<<<<<<< destination: bbaca013758a bar - test: added y
+   watbar
+  +=======
+  +foo
+  +>>>>>>> evolving:    3e22a949fe7d - test: added z
+  diff -r bbaca013758a z
+  --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+  +++ b/z	Thu Jan 01 00:00:00 1970 +0000
+  @@ -0,0 +1,1 @@
+  +z
+
+  $ echo foo > y
+  $ hg resolve -m
+  (no more unresolved files)
+
+XXX: wat?
+  $ hg evolve --continue
+  abort: no interrupted evolve to continue
+  [255]
+
+  $ hg glog
+  *  23:478a0057fd1a added z
+  |   () [bar] draft
+  | *  22:3e22a949fe7d added z
+  | |   () [default] draft
+  @ |  20:bbaca013758a added y
+  | |   () [bar] draft
+  o |  14:be41fdcd0ee1 added foo to x
+  | |   () [bar] draft
+  o |  9:b6b20b8eefdc added d
+  | |   () [default] draft
+  o |  8:7c46f743e62f added c
+  |/    () [default] draft
+  o  5:7ed0642d644b added b
+  |   () [default] draft
+  o  1:c7586e2a9264 added a
+  |   () [default] draft
+  o  0:8fa14d15e168 added hgignore
+      () [default] draft