Mercurial > evolve
changeset 4470:046dd7718845
test: apply unstability resolution to `test-unstability-resolution-result.t`
The test cases in this file probably deserved to be dispatched in other more
thematic test file.
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Thu, 04 Apr 2019 12:24:28 +0200 |
parents | be2614d257ca |
children | 3caa4a459439 |
files | tests/test-stabilize-result.t tests/test-unstability-resolution-result.t |
diffstat | 2 files changed, 457 insertions(+), 445 deletions(-) [+] |
line wrap: on
line diff
--- a/tests/test-stabilize-result.t Thu Apr 04 12:06:33 2019 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,445 +0,0 @@ - $ cat >> $HGRCPATH <<EOF - > [defaults] - > amend=-d "0 0" - > [extensions] - > hgext.rebase= - > EOF - $ echo "evolve=$(echo $(dirname $TESTDIR))/hgext3rd/evolve/" >> $HGRCPATH - - $ glog() { - > hg log -G --template \ - > '{rev}:{node|short}@{branch}({phase}) bk:[{bookmarks}] {desc|firstline}\n' "$@" - > } - -Test evolve removing the changeset being evolved - - $ hg init empty - $ cd empty - $ echo a > a - $ hg ci -Am adda a - $ echo b > b - $ hg ci -Am addb b - $ echo a >> a - $ hg ci -m changea - $ hg bookmark changea - $ hg up 1 - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved - (leaving bookmark changea) - $ echo a >> a - $ hg amend -m changea - 1 new orphan changesets - $ hg evolve -v --confirm - move:[2] changea - atop:[3] changea - perform evolve? [Ny] n - abort: evolve aborted by user - [255] - $ echo y | hg evolve -v --confirm --config ui.interactive=True - move:[2] changea - atop:[3] changea - perform evolve? [Ny] y - hg rebase -r cce2c55b8965 -d fb9d051ec0a4 - resolving manifests - evolution of 2:cce2c55b8965 created no changes to commit - - $ glog --hidden - @ 3:fb9d051ec0a4@default(draft) bk:[changea] changea - | - | x 2:cce2c55b8965@default(draft) bk:[] changea - | | - | x 1:102a90ea7b4a@default(draft) bk:[] addb - |/ - o 0:07f494440405@default(draft) bk:[] adda - - $ hg debugobsolete - 102a90ea7b4a3361e4082ed620918c261189a36a fb9d051ec0a450a4aa2ffc8c324979832ef88065 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '9', 'operation': 'amend', 'user': 'test'} - cce2c55b896511e0b6e04173c9450ba822ebc740 0 {102a90ea7b4a3361e4082ed620918c261189a36a} (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '0', 'operation': 'evolve', 'user': 'test'} - -Test evolve with conflict - - $ ls - a - b - $ hg pdiff a - diff -r 07f494440405 a - --- a/a Thu Jan 01 00:00:00 1970 +0000 - +++ b/a Thu Jan 01 00:00:00 1970 +0000 - @@ -1,1 +1,2 @@ - a - +a - $ echo 'newer a' >> a - $ hg ci -m 'newer a' - $ hg gdown - gdown have been deprecated in favor of previous - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved - [3] changea - $ echo 'a' > a - $ hg amend - 1 new orphan changesets - $ hg evolve - move:[4] newer a - atop:[5] changea - merging a - warning: conflicts while merging a! (edit, then use 'hg resolve --mark') - fix conflicts and see `hg help evolve.interrupted` - [1] - $ hg revert -r "orphan()" a - $ hg diff - diff -r 66719795a494 a - --- a/a Thu Jan 01 00:00:00 1970 +0000 - +++ b/a Thu Jan 01 00:00:00 1970 +0000 - @@ -1,1 +1,3 @@ - a - +a - +newer a - $ hg evolve --continue - abort: unresolved merge conflicts (see 'hg help resolve') - [255] - $ hg resolve -m a - (no more unresolved files) - continue: hg evolve --continue - $ hg evolve --continue - evolving 4:3655f0f50885 "newer a" - working directory is now at 1cf0aacfd363 - -Stabilize latecomer with different parent -========================================= - -(the same-parent case is handled in test-evolve.t) - - $ glog - @ 6:1cf0aacfd363@default(draft) bk:[] newer a - | - o 5:66719795a494@default(draft) bk:[changea] changea - | - o 0:07f494440405@default(draft) bk:[] adda - -Add another commit - - $ hg gdown - gdown have been deprecated in favor of previous - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved - [5] changea - $ echo 'c' > c - $ hg add c - $ hg commit -m 'add c' - created new head - -Get a successors of 8 on it - - $ hg pick 1cf0aacfd363 - picking 6:1cf0aacfd363 "newer a" - -Add real change to the successors - - $ echo 'babar' >> a - $ hg amend - -Make precursors public - - $ hg phase --hidden --public 1cf0aacfd363 - 1 new phase-divergent changesets - $ glog - @ 9:99c21c89bcef@default(draft) bk:[] newer a - | - o 7:7bc2f5967f5e@default(draft) bk:[] add c - | - | o 6:1cf0aacfd363@default(public) bk:[] newer a - |/ - o 5:66719795a494@default(public) bk:[changea] changea - | - o 0:07f494440405@default(public) bk:[] adda - - -Stabilize! - - $ hg evolve --any --dry-run --phase-divergent - recreate:[9] newer a - atop:[6] newer a - hg rebase --rev 99c21c89bcef --dest 66719795a494; - hg update 1cf0aacfd363; - hg revert --all --rev 99c21c89bcef; - hg commit --msg "phase-divergent update to 99c21c89bcef" - $ hg evolve --any --confirm --phase-divergent - recreate:[9] newer a - atop:[6] newer a - perform evolve? [Ny] n - abort: evolve aborted by user - [255] - $ echo y | hg evolve --any --confirm --config ui.interactive=True --phase-divergent - recreate:[9] newer a - atop:[6] newer a - perform evolve? [Ny] y - rebasing to destination parent: 66719795a494 - committed as 8fc63fe1f297 - working directory is now at 8fc63fe1f297 - $ glog - @ 11:8fc63fe1f297@default(draft) bk:[] phase-divergent update to 1cf0aacfd363: - | - | o 7:7bc2f5967f5e@default(draft) bk:[] add c - | | - o | 6:1cf0aacfd363@default(public) bk:[] newer a - |/ - o 5:66719795a494@default(public) bk:[changea] changea - | - o 0:07f494440405@default(public) bk:[] adda - - $ hg exp - # HG changeset patch - # User test - # Date 0 0 - # Thu Jan 01 00:00:00 1970 +0000 - # Node ID 8fc63fe1f297f356d1156bbbbe865b9911efad74 - # Parent 1cf0aacfd36310b18e403e1594871187e0364a82 - phase-divergent update to 1cf0aacfd363: - - newer a - - diff -r 1cf0aacfd363 -r 8fc63fe1f297 a - --- a/a Thu Jan 01 00:00:00 1970 +0000 - +++ b/a Thu Jan 01 00:00:00 1970 +0000 - @@ -1,3 +1,4 @@ - a - a - newer a - +babar - -Stabilize divergent changesets with same parent -=============================================== - - $ rm a.orig - $ hg up 7bc2f5967f5e - 2 files updated, 0 files merged, 0 files removed, 0 files unresolved - $ cat << EOF >> a - > flore - > arthur - > zephir - > some - > less - > conflict - > EOF - $ hg ci -m 'More addition' - $ glog - @ 12:3932c176bbaa@default(draft) bk:[] More addition - | - | o 11:8fc63fe1f297@default(draft) bk:[] phase-divergent update to 1cf0aacfd363: - | | - o | 7:7bc2f5967f5e@default(draft) bk:[] add c - | | - | o 6:1cf0aacfd363@default(public) bk:[] newer a - |/ - o 5:66719795a494@default(public) bk:[changea] changea - | - o 0:07f494440405@default(public) bk:[] adda - - $ echo 'babar' >> a - $ hg amend - $ hg up --hidden 3932c176bbaa - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved - updated to hidden changeset 3932c176bbaa - (hidden revision '3932c176bbaa' was rewritten as: d2f173e25686) - working directory parent is obsolete! (3932c176bbaa) - (use 'hg evolve' to update to its successor: d2f173e25686) - $ mv a a.old - $ echo 'jungle' > a - $ cat a.old >> a - $ rm a.old - $ hg amend - 2 new content-divergent changesets - $ glog - @ 14:eacc9c8240fe@default(draft) bk:[] More addition - | - | * 13:d2f173e25686@default(draft) bk:[] More addition - |/ - | o 11:8fc63fe1f297@default(draft) bk:[] phase-divergent update to 1cf0aacfd363: - | | - o | 7:7bc2f5967f5e@default(draft) bk:[] add c - | | - | o 6:1cf0aacfd363@default(public) bk:[] newer a - |/ - o 5:66719795a494@default(public) bk:[changea] changea - | - o 0:07f494440405@default(public) bk:[] adda - - -Stabilize it - - $ hg evolve -qn --confirm --content-divergent - merge:[14] More addition - with: [13] More addition - base: [12] More addition - perform evolve? [Ny] n - abort: evolve aborted by user - [255] - $ echo y | hg evolve -qn --confirm --config ui.interactive=True --content-divergent - merge:[14] More addition - with: [13] More addition - base: [12] More addition - perform evolve? [Ny] y - hg update -c eacc9c8240fe && - hg merge d2f173e25686 && - hg commit -m "auto merge resolving conflict between eacc9c8240fe and d2f173e25686"&& - hg up -C 3932c176bbaa && - hg revert --all --rev tip && - hg commit -m "`hg log -r eacc9c8240fe --template={desc}`"; - $ hg evolve -v --content-divergent - merge:[14] More addition - with: [13] More addition - base: [12] More addition - merging "other" content-divergent changeset 'd2f173e25686' - resolving manifests - merging a - 0 files updated, 1 files merged, 0 files removed, 0 files unresolved - committing files: - a - committing manifest - committing changelog - working directory is now at 4d6ed26797bc - $ hg st - $ glog - @ 15:4d6ed26797bc@default(draft) bk:[] More addition - | - | o 11:8fc63fe1f297@default(draft) bk:[] phase-divergent update to 1cf0aacfd363: - | | - o | 7:7bc2f5967f5e@default(draft) bk:[] add c - | | - | o 6:1cf0aacfd363@default(public) bk:[] newer a - |/ - o 5:66719795a494@default(public) bk:[changea] changea - | - o 0:07f494440405@default(public) bk:[] adda - - $ hg summary - parent: 15:4d6ed26797bc tip - More addition - branch: default - commit: (clean) - update: 2 new changesets, 2 branch heads (merge) - phases: 3 draft - $ hg export . - # HG changeset patch - # User test - # Date 0 0 - # Thu Jan 01 00:00:00 1970 +0000 - # Node ID 4d6ed26797bc392c0099e48402a5134e669f1a60 - # Parent 7bc2f5967f5e4ed277f60a89b7b04cc5d6407ced - More addition - - diff -r 7bc2f5967f5e -r 4d6ed26797bc a - --- a/a Thu Jan 01 00:00:00 1970 +0000 - +++ b/a Thu Jan 01 00:00:00 1970 +0000 - @@ -1,1 +1,9 @@ - +jungle - a - +flore - +arthur - +zephir - +some - +less - +conflict - +babar - -Check conflict during divergence resolution -------------------------------------------------- - - $ hg up --hidden 3932c176bbaa - 1 files updated, 0 files merged, 0 files removed, 0 files unresolved - updated to hidden changeset 3932c176bbaa - (hidden revision '3932c176bbaa' was rewritten as: 4d6ed26797bc) - working directory parent is obsolete! (3932c176bbaa) - (use 'hg evolve' to update to its successor: 4d6ed26797bc) - $ echo 'gotta break' >> a - $ hg amend - 2 new content-divergent changesets -# reamend so that the case is not the first precursor. - $ hg amend -m "More addition (2)" - $ hg phase 'contentdivergent()' - 15: draft - 17: draft - - $ glog - @ 17:0b336205a5d0@default(draft) bk:[] More addition (2) - | - | * 15:4d6ed26797bc@default(draft) bk:[] More addition - |/ - | o 11:8fc63fe1f297@default(draft) bk:[] phase-divergent update to 1cf0aacfd363: - | | - o | 7:7bc2f5967f5e@default(draft) bk:[] add c - | | - | o 6:1cf0aacfd363@default(public) bk:[] newer a - |/ - o 5:66719795a494@default(public) bk:[changea] changea - | - o 0:07f494440405@default(public) bk:[] adda - - - $ hg evolve -qn --content-divergent - hg update -c 0b336205a5d0 && - hg merge 4d6ed26797bc && - hg commit -m "auto merge resolving conflict between 0b336205a5d0 and 4d6ed26797bc"&& - hg up -C 3932c176bbaa && - hg revert --all --rev tip && - hg commit -m "`hg log -r 0b336205a5d0 --template={desc}`"; - $ hg evolve --content-divergent - merge:[17] More addition (2) - with: [15] More addition - base: [12] More addition - merging "other" content-divergent changeset '4d6ed26797bc' - merging a - warning: conflicts while merging a! (edit, then use 'hg resolve --mark') - 0 files updated, 0 files merged, 0 files removed, 1 files unresolved - fix conflicts and see `hg help evolve.interrupted` - [1] - - $ cat > a <<EOF - > jungle - > a - > flore - > arthur - > zephir - > some - > less - > conflict - > babar - > EOF - - $ hg resolve -m - (no more unresolved files) - continue: hg evolve --continue - $ hg evolve --continue - working directory is now at e8746835a2a1 - $ glog - @ 18:e8746835a2a1@default(draft) bk:[] More addition (2) - | - | o 11:8fc63fe1f297@default(draft) bk:[] phase-divergent update to 1cf0aacfd363: - | | - o | 7:7bc2f5967f5e@default(draft) bk:[] add c - | | - | o 6:1cf0aacfd363@default(public) bk:[] newer a - |/ - o 5:66719795a494@default(public) bk:[changea] changea - | - o 0:07f494440405@default(public) bk:[] adda - - $ hg exp - # HG changeset patch - # User test - # Date 0 0 - # Thu Jan 01 00:00:00 1970 +0000 - # Node ID e8746835a2a13122bc8c0ed84fe4ee35649af25d - # Parent 7bc2f5967f5e4ed277f60a89b7b04cc5d6407ced - More addition (2) - - diff -r 7bc2f5967f5e -r e8746835a2a1 a - --- a/a Thu Jan 01 00:00:00 1970 +0000 - +++ b/a Thu Jan 01 00:00:00 1970 +0000 - @@ -1,1 +1,9 @@ - +jungle - a - +flore - +arthur - +zephir - +some - +less - +conflict - +babar
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-unstability-resolution-result.t Thu Apr 04 12:24:28 2019 +0200 @@ -0,0 +1,457 @@ +================================================================= +Test automatic unstability resolution for multiple advanced cases +================================================================= + +There are dedicated test case for each instability, but this file check some +basic case for each type. + +XXX dispatching each these test case in appropriate file would make sense. + + $ cat >> $HGRCPATH <<EOF + > [defaults] + > amend=-d "0 0" + > [extensions] + > hgext.rebase= + > EOF + $ echo "evolve=$(echo $(dirname $TESTDIR))/hgext3rd/evolve/" >> $HGRCPATH + + $ glog() { + > hg log -G --template \ + > '{rev}:{node|short}@{branch}({phase}) bk:[{bookmarks}] {desc|firstline}\n' "$@" + > } + +Test evolve removing the orphan changeset being evolved + + $ hg init empty + $ cd empty + $ echo a > a + $ hg ci -Am adda a + $ echo b > b + $ hg ci -Am addb b + $ echo a >> a + $ hg ci -m changea + $ hg bookmark changea + $ hg up 1 + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + (leaving bookmark changea) + $ echo a >> a + $ hg amend -m changea + 1 new orphan changesets + $ hg evolve -v --confirm + move:[2] changea + atop:[3] changea + perform evolve? [Ny] n + abort: evolve aborted by user + [255] + $ echo y | hg evolve -v --confirm --config ui.interactive=True + move:[2] changea + atop:[3] changea + perform evolve? [Ny] y + hg rebase -r cce2c55b8965 -d fb9d051ec0a4 + resolving manifests + evolution of 2:cce2c55b8965 created no changes to commit + + $ glog --hidden + @ 3:fb9d051ec0a4@default(draft) bk:[changea] changea + | + | x 2:cce2c55b8965@default(draft) bk:[] changea + | | + | x 1:102a90ea7b4a@default(draft) bk:[] addb + |/ + o 0:07f494440405@default(draft) bk:[] adda + + $ hg debugobsolete + 102a90ea7b4a3361e4082ed620918c261189a36a fb9d051ec0a450a4aa2ffc8c324979832ef88065 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '9', 'operation': 'amend', 'user': 'test'} + cce2c55b896511e0b6e04173c9450ba822ebc740 0 {102a90ea7b4a3361e4082ed620918c261189a36a} (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '0', 'operation': 'evolve', 'user': 'test'} + +Test evolve of orphan that run into conflict + + $ ls + a + b + $ hg pdiff a + diff -r 07f494440405 a + --- a/a Thu Jan 01 00:00:00 1970 +0000 + +++ b/a Thu Jan 01 00:00:00 1970 +0000 + @@ -1,1 +1,2 @@ + a + +a + $ echo 'newer a' >> a + $ hg ci -m 'newer a' + $ hg gdown + gdown have been deprecated in favor of previous + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + [3] changea + $ echo 'a' > a + $ hg amend + 1 new orphan changesets + $ hg evolve + move:[4] newer a + atop:[5] changea + merging a + warning: conflicts while merging a! (edit, then use 'hg resolve --mark') + fix conflicts and see `hg help evolve.interrupted` + [1] + $ hg revert -r "orphan()" a + $ hg diff + diff -r 66719795a494 a + --- a/a Thu Jan 01 00:00:00 1970 +0000 + +++ b/a Thu Jan 01 00:00:00 1970 +0000 + @@ -1,1 +1,3 @@ + a + +a + +newer a + $ hg evolve --continue + abort: unresolved merge conflicts (see 'hg help resolve') + [255] + $ hg resolve -m a + (no more unresolved files) + continue: hg evolve --continue + $ hg evolve --continue + evolving 4:3655f0f50885 "newer a" + working directory is now at 1cf0aacfd363 + +Stabilize phase-divergent changesets with a different parent +============================================================ + +(the same-parent case is handled in test-evolve.t) + + $ glog + @ 6:1cf0aacfd363@default(draft) bk:[] newer a + | + o 5:66719795a494@default(draft) bk:[changea] changea + | + o 0:07f494440405@default(draft) bk:[] adda + + +Add another commit + + $ hg gdown + gdown have been deprecated in favor of previous + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + [5] changea + $ echo 'c' > c + $ hg add c + $ hg commit -m 'add c' + created new head + +Get a successors of 8 on it + + $ hg pick 1cf0aacfd363 + picking 6:1cf0aacfd363 "newer a" + +Add real change to the successors + + $ echo 'babar' >> a + $ hg amend + +Make precursors public + + $ hg phase --hidden --public 1cf0aacfd363 + 1 new phase-divergent changesets + $ glog + @ 9:99c21c89bcef@default(draft) bk:[] newer a + | + o 7:7bc2f5967f5e@default(draft) bk:[] add c + | + | o 6:1cf0aacfd363@default(public) bk:[] newer a + |/ + o 5:66719795a494@default(public) bk:[changea] changea + | + o 0:07f494440405@default(public) bk:[] adda + + +Stabilize! + + $ hg evolve --any --dry-run --phase-divergent + recreate:[9] newer a + atop:[6] newer a + hg rebase --rev 99c21c89bcef --dest 66719795a494; + hg update 1cf0aacfd363; + hg revert --all --rev 99c21c89bcef; + hg commit --msg "phase-divergent update to 99c21c89bcef" + $ hg evolve --any --confirm --phase-divergent + recreate:[9] newer a + atop:[6] newer a + perform evolve? [Ny] n + abort: evolve aborted by user + [255] + $ echo y | hg evolve --any --confirm --config ui.interactive=True --phase-divergent + recreate:[9] newer a + atop:[6] newer a + perform evolve? [Ny] y + rebasing to destination parent: 66719795a494 + committed as 8fc63fe1f297 + working directory is now at 8fc63fe1f297 + $ glog + @ 11:8fc63fe1f297@default(draft) bk:[] phase-divergent update to 1cf0aacfd363: + | + | o 7:7bc2f5967f5e@default(draft) bk:[] add c + | | + o | 6:1cf0aacfd363@default(public) bk:[] newer a + |/ + o 5:66719795a494@default(public) bk:[changea] changea + | + o 0:07f494440405@default(public) bk:[] adda + + $ hg exp + # HG changeset patch + # User test + # Date 0 0 + # Thu Jan 01 00:00:00 1970 +0000 + # Node ID 8fc63fe1f297f356d1156bbbbe865b9911efad74 + # Parent 1cf0aacfd36310b18e403e1594871187e0364a82 + phase-divergent update to 1cf0aacfd363: + + newer a + + diff -r 1cf0aacfd363 -r 8fc63fe1f297 a + --- a/a Thu Jan 01 00:00:00 1970 +0000 + +++ b/a Thu Jan 01 00:00:00 1970 +0000 + @@ -1,3 +1,4 @@ + a + a + newer a + +babar + +Stabilize content-divergent changesets with same parent +======================================================= + + $ rm a.orig + $ hg up 7bc2f5967f5e + 2 files updated, 0 files merged, 0 files removed, 0 files unresolved + $ cat << EOF >> a + > flore + > arthur + > zephir + > some + > less + > conflict + > EOF + $ hg ci -m 'More addition' + $ glog + @ 12:3932c176bbaa@default(draft) bk:[] More addition + | + | o 11:8fc63fe1f297@default(draft) bk:[] phase-divergent update to 1cf0aacfd363: + | | + o | 7:7bc2f5967f5e@default(draft) bk:[] add c + | | + | o 6:1cf0aacfd363@default(public) bk:[] newer a + |/ + o 5:66719795a494@default(public) bk:[changea] changea + | + o 0:07f494440405@default(public) bk:[] adda + + $ echo 'babar' >> a + $ hg amend + $ hg up --hidden 3932c176bbaa + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + updated to hidden changeset 3932c176bbaa + (hidden revision '3932c176bbaa' was rewritten as: d2f173e25686) + working directory parent is obsolete! (3932c176bbaa) + (use 'hg evolve' to update to its successor: d2f173e25686) + $ mv a a.old + $ echo 'jungle' > a + $ cat a.old >> a + $ rm a.old + $ hg amend + 2 new content-divergent changesets + $ glog + @ 14:eacc9c8240fe@default(draft) bk:[] More addition + | + | * 13:d2f173e25686@default(draft) bk:[] More addition + |/ + | o 11:8fc63fe1f297@default(draft) bk:[] phase-divergent update to 1cf0aacfd363: + | | + o | 7:7bc2f5967f5e@default(draft) bk:[] add c + | | + | o 6:1cf0aacfd363@default(public) bk:[] newer a + |/ + o 5:66719795a494@default(public) bk:[changea] changea + | + o 0:07f494440405@default(public) bk:[] adda + + +Stabilize it + + $ hg evolve -qn --confirm --content-divergent + merge:[14] More addition + with: [13] More addition + base: [12] More addition + perform evolve? [Ny] n + abort: evolve aborted by user + [255] + $ echo y | hg evolve -qn --confirm --config ui.interactive=True --content-divergent + merge:[14] More addition + with: [13] More addition + base: [12] More addition + perform evolve? [Ny] y + hg update -c eacc9c8240fe && + hg merge d2f173e25686 && + hg commit -m "auto merge resolving conflict between eacc9c8240fe and d2f173e25686"&& + hg up -C 3932c176bbaa && + hg revert --all --rev tip && + hg commit -m "`hg log -r eacc9c8240fe --template={desc}`"; + $ hg evolve -v --content-divergent + merge:[14] More addition + with: [13] More addition + base: [12] More addition + merging "other" content-divergent changeset 'd2f173e25686' + resolving manifests + merging a + 0 files updated, 1 files merged, 0 files removed, 0 files unresolved + committing files: + a + committing manifest + committing changelog + working directory is now at 4d6ed26797bc + $ hg st + $ glog + @ 15:4d6ed26797bc@default(draft) bk:[] More addition + | + | o 11:8fc63fe1f297@default(draft) bk:[] phase-divergent update to 1cf0aacfd363: + | | + o | 7:7bc2f5967f5e@default(draft) bk:[] add c + | | + | o 6:1cf0aacfd363@default(public) bk:[] newer a + |/ + o 5:66719795a494@default(public) bk:[changea] changea + | + o 0:07f494440405@default(public) bk:[] adda + + $ hg summary + parent: 15:4d6ed26797bc tip + More addition + branch: default + commit: (clean) + update: 2 new changesets, 2 branch heads (merge) + phases: 3 draft + $ hg export . + # HG changeset patch + # User test + # Date 0 0 + # Thu Jan 01 00:00:00 1970 +0000 + # Node ID 4d6ed26797bc392c0099e48402a5134e669f1a60 + # Parent 7bc2f5967f5e4ed277f60a89b7b04cc5d6407ced + More addition + + diff -r 7bc2f5967f5e -r 4d6ed26797bc a + --- a/a Thu Jan 01 00:00:00 1970 +0000 + +++ b/a Thu Jan 01 00:00:00 1970 +0000 + @@ -1,1 +1,9 @@ + +jungle + a + +flore + +arthur + +zephir + +some + +less + +conflict + +babar + +Check conflict during content-divergence resolution +--------------------------------------------------- + + $ hg up --hidden 3932c176bbaa + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + updated to hidden changeset 3932c176bbaa + (hidden revision '3932c176bbaa' was rewritten as: 4d6ed26797bc) + working directory parent is obsolete! (3932c176bbaa) + (use 'hg evolve' to update to its successor: 4d6ed26797bc) + $ echo 'gotta break' >> a + $ hg amend + 2 new content-divergent changesets + +# reamend so that the case is not the first precursor. + + $ hg amend -m "More addition (2)" + $ hg phase 'contentdivergent()' + 15: draft + 17: draft + + $ glog + @ 17:0b336205a5d0@default(draft) bk:[] More addition (2) + | + | * 15:4d6ed26797bc@default(draft) bk:[] More addition + |/ + | o 11:8fc63fe1f297@default(draft) bk:[] phase-divergent update to 1cf0aacfd363: + | | + o | 7:7bc2f5967f5e@default(draft) bk:[] add c + | | + | o 6:1cf0aacfd363@default(public) bk:[] newer a + |/ + o 5:66719795a494@default(public) bk:[changea] changea + | + o 0:07f494440405@default(public) bk:[] adda + + + $ hg evolve -qn --content-divergent + hg update -c 0b336205a5d0 && + hg merge 4d6ed26797bc && + hg commit -m "auto merge resolving conflict between 0b336205a5d0 and 4d6ed26797bc"&& + hg up -C 3932c176bbaa && + hg revert --all --rev tip && + hg commit -m "`hg log -r 0b336205a5d0 --template={desc}`"; + $ hg evolve --content-divergent + merge:[17] More addition (2) + with: [15] More addition + base: [12] More addition + merging "other" content-divergent changeset '4d6ed26797bc' + merging a + warning: conflicts while merging a! (edit, then use 'hg resolve --mark') + 0 files updated, 0 files merged, 0 files removed, 1 files unresolved + fix conflicts and see `hg help evolve.interrupted` + [1] + + $ cat > a <<EOF + > jungle + > a + > flore + > arthur + > zephir + > some + > less + > conflict + > babar + > EOF + + $ hg resolve -m + (no more unresolved files) + continue: hg evolve --continue + $ hg evolve --continue + working directory is now at e8746835a2a1 + $ glog + @ 18:e8746835a2a1@default(draft) bk:[] More addition (2) + | + | o 11:8fc63fe1f297@default(draft) bk:[] phase-divergent update to 1cf0aacfd363: + | | + o | 7:7bc2f5967f5e@default(draft) bk:[] add c + | | + | o 6:1cf0aacfd363@default(public) bk:[] newer a + |/ + o 5:66719795a494@default(public) bk:[changea] changea + | + o 0:07f494440405@default(public) bk:[] adda + + $ hg exp + # HG changeset patch + # User test + # Date 0 0 + # Thu Jan 01 00:00:00 1970 +0000 + # Node ID e8746835a2a13122bc8c0ed84fe4ee35649af25d + # Parent 7bc2f5967f5e4ed277f60a89b7b04cc5d6407ced + More addition (2) + + diff -r 7bc2f5967f5e -r e8746835a2a1 a + --- a/a Thu Jan 01 00:00:00 1970 +0000 + +++ b/a Thu Jan 01 00:00:00 1970 +0000 + @@ -1,1 +1,9 @@ + +jungle + a + +flore + +arthur + +zephir + +some + +less + +conflict + +babar