# HG changeset patch # User Pulkit Goyal <7895pulkit@gmail.com> # Date 1527161660 -19800 # Node ID 63d6d024dfb2d6621f6162771241fa41f7a400d3 # Parent 5b9e3aaa6da8b4952c2893329ac036853e04c48b tests: add more test of --abort flag for content-divergence resolution This patch adds test when we resolve multiple content-divergence changesets at once and resolution fo first content-divergence does not form new commits, resolution of second one leads to conflicts. As the output shows, we are wrongly stripping a changeset here, which should be fixed in next patch. diff -r 5b9e3aaa6da8 -r 63d6d024dfb2 tests/test-evolve-abort-contentdiv.t --- a/tests/test-evolve-abort-contentdiv.t Mon Jun 04 04:03:02 2018 +0530 +++ b/tests/test-evolve-abort-contentdiv.t Thu May 24 17:04:20 2018 +0530 @@ -100,3 +100,95 @@ | () draft o 0:8fa14d15e168 added hgignore () draft + +Creating multiple content-divergence where resolution of last one results in +conflicts and resolution of first one resulted in no new commit +----------------------------------------------------------------------------- + + $ echo watbar > d + $ hg amend + $ hg up .^ + 0 files updated, 0 files merged, 1 files removed, 0 files unresolved + $ echo bar > c + $ hg amend + 2 new orphan changesets + $ hg up ca1b80f7960a --hidden + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + working directory parent is obsolete! (ca1b80f7960a) + (use 'hg evolve' to update to its successor: 2ba73e31f264) + $ echo foobar > c + $ hg amend + 2 new content-divergent changesets + $ echo bar > c + $ hg amend + + $ hg glog --hidden + @ 10:491e10505bae added c + | () draft + | x 9:7398f702a162 added c + |/ () draft + | * 8:2ba73e31f264 added c + |/ () draft + | * 7:f0f1694f123e added d + | | () draft + | | x 6:9c1631e352d9 added d + | |/ () draft + | | * 5:e49523854bc8 added d + | |/ () draft + | | x 4:c41c793e0ef1 added d + | |/ () draft + | x 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 --all --content-divergent + merge:[8] added c + with: [10] added c + base: [3] added c + updating to "local" side of the conflict: 2ba73e31f264 + merging "other" content-divergent changeset '491e10505bae' + 0 files updated, 0 files merged, 0 files removed, 0 files unresolved + nothing changed + merge:[5] added d + with: [7] added d + base: [4] added d + updating to "local" side of the conflict: e49523854bc8 + merging "other" content-divergent changeset 'f0f1694f123e' + 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] + +XXX: this went wrong and stripped rev 10 also + $ hg evolve --abort + warning: ignoring unknown working parent 491e10505bae! + evolve aborted + working directory is now at 491e10505bae + + $ hg glog --hidden + @ 9:491e10505bae added c + | () draft + | x 8:7398f702a162 added c + |/ () draft + | * 7:f0f1694f123e added d + | | () draft + | | x 6:9c1631e352d9 added d + | |/ () draft + | | * 5:e49523854bc8 added d + | |/ () draft + | | x 4:c41c793e0ef1 added d + | |/ () draft + | x 3:ca1b80f7960a added c + |/ () draft + o 2:b1661037fa25 added b + | () draft + o 1:c7586e2a9264 added a + | () draft + o 0:8fa14d15e168 added hgignore + () draft