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.
--- 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