merge with stable
authorPierre-Yves David <pierre-yves.david@octobus.net>
Sat, 30 Sep 2017 11:38:08 +0100
changeset 3018 d9e998120771
parent 3016 d12c82fd1143 (diff)
parent 3017 0884856a4143 (current diff)
child 3019 dd3eda2f7a89
merge with stable
tests/test-topic-stack.t
--- a/hgext3rd/evolve/metadata.py	Sat Sep 30 11:11:04 2017 +0100
+++ b/hgext3rd/evolve/metadata.py	Sat Sep 30 11:38:08 2017 +0100
@@ -5,7 +5,7 @@
 # This software may be used and distributed according to the terms of the
 # GNU General Public License version 2 or any later version.
 
-__version__ = '6.7.1.dev'
+__version__ = '6.8.0.dev'
 testedwith = '3.8.4 3.9.2 4.0.2 4.1.3 4.2.3 4.3.2'
 minimumhgversion = '3.8'
 buglink = 'https://bz.mercurial-scm.org/'
--- a/hgext3rd/topic/__init__.py	Sat Sep 30 11:11:04 2017 +0100
+++ b/hgext3rd/topic/__init__.py	Sat Sep 30 11:38:08 2017 +0100
@@ -122,7 +122,7 @@
               'topic.active': 'green',
              }
 
-__version__ = '0.3.1.dev'
+__version__ = '0.4.0.dev'
 testedwith = '4.0.2 4.1.3 4.2.3 4.3.3'
 minimumhgversion = '4.0'
 buglink = 'https://bz.mercurial-scm.org/'
--- a/tests/test-amend.t	Sat Sep 30 11:11:04 2017 +0100
+++ b/tests/test-amend.t	Sat Sep 30 11:38:08 2017 +0100
@@ -21,13 +21,12 @@
   $ hg amend -d '0 0'
   $ hg debugobsolete
   07f4944404050f47db2e5c5071e0e84e7a27bba9 6a022cbb61d5ba0f03f98ff2d36319dfea1034ae 0 (*) {'ef1': '*', 'user': 'test'} (glob)
-  b2e32ffb533cbe1d5759638c0cd4e8abc43b2738 0 {07f4944404050f47db2e5c5071e0e84e7a27bba9} (*) {'ef1': '*', 'user': 'test'} (glob)
   $ hg branch
   foo
   $ hg branches
-  foo                            2:6a022cbb61d5
+  foo                            1:6a022cbb61d5
   $ glog
-  @  2@foo(draft) adda
+  @  1@foo(draft) adda
   
 Test no-op
 
@@ -35,7 +34,7 @@
   nothing changed
   [1]
   $ glog
-  @  2@foo(draft) adda
+  @  1@foo(draft) adda
   
 
 Test forcing the message to the same value, no intermediate revision.
@@ -44,7 +43,7 @@
   nothing changed
   [1]
   $ glog
-  @  2@foo(draft) adda
+  @  1@foo(draft) adda
   
 
 Test collapsing into an existing revision, no intermediate revision.
@@ -66,20 +65,19 @@
   $ hg ci -m reseta
   $ hg debugobsolete
   07f4944404050f47db2e5c5071e0e84e7a27bba9 6a022cbb61d5ba0f03f98ff2d36319dfea1034ae 0 (*) {'ef1': '*', 'user': 'test'} (glob)
-  b2e32ffb533cbe1d5759638c0cd4e8abc43b2738 0 {07f4944404050f47db2e5c5071e0e84e7a27bba9} (*) {'ef1': '*', 'user': 'test'} (glob)
   $ hg phase 2
   2: draft
   $ glog
-  @  4@foo(draft) reseta
+  @  3@foo(draft) reseta
   |
-  o  3@foo(draft) changea
+  o  2@foo(draft) changea
   |
-  o  2@foo(draft) adda
+  o  1@foo(draft) adda
   
 Specify precise commit date with -d
   $ hg amend -d '2001-02-03 04:05:06 +0700'
   $ hg parents --template '{rev}  {date|date}\n'
-  5  Sat Feb 03 04:05:06 2001 +0700
+  4  Sat Feb 03 04:05:06 2001 +0700
 
 Specify "now" as commit date with -D
   $ before=`date +%s`
@@ -88,13 +86,13 @@
   $ after=`date +%s`
   $ (echo $before ; echo $commit; echo $after) | sort -k1 -n -s
   \d+ (re)
-  \d+ 0 rev6 (re)
+  \d+ 0 rev5 (re)
   \d+ (re)
 
 Specify current user as committer with -U
   $ HGUSER=newbie hg amend -U
   $ hg parents --template '{rev}  {author}\n'
-  7  newbie
+  6  newbie
 
 Check that --logfile works
   $ echo "logfile message" > logfile.txt
@@ -109,7 +107,7 @@
   (use 'hg config --edit' to set your username)
   [255]
   $ hg sum
-  parent: 8:* tip (glob)
+  parent: 7:* tip (glob)
    logfile message
   branch: foo
   commit: 1 unknown (clean)
--- a/tests/test-discovery-obshashrange.t	Sat Sep 30 11:11:04 2017 +0100
+++ b/tests/test-discovery-obshashrange.t	Sat Sep 30 11:38:08 2017 +0100
@@ -31,6 +31,7 @@
   $ cd server
   $ hg debugbuilddag '.+7'
   $ hg blackbox
+  * @0000000000000000000000000000000000000000 (*)> init server exited 0 after *.?? seconds (glob)
   * @0000000000000000000000000000000000000000 (*)> serve --stdio (glob)
   * @0000000000000000000000000000000000000000 (*)> -R server serve --stdio exited 0 after *.?? seconds (glob)
   * @0000000000000000000000000000000000000000 (*)> debugbuilddag .+7 (glob)
@@ -151,6 +152,7 @@
   cccccccccccccccccccccccccccccccccccccccc bebd167eb94d257ace0e814aeb98e6972ed2970d 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
   $ rm ../server/.hg/blackbox.log
   $ hg blackbox
+  * @0000000000000000000000000000000000000000 (*)> clone 'ssh://user@dummy/server' client exited 0 after *.?? seconds (glob)
   * @0000000000000000000000000000000000000000 (*)> pull --rev 4 (glob)
   * @0000000000000000000000000000000000000000 (*)> updated stablerange cache in *.???? seconds (glob)
   * @0000000000000000000000000000000000000000 (*)> updated evo-ext-obshashrange in *.???? seconds (5r, 3o) (glob)
--- a/tests/test-divergent.t	Sat Sep 30 11:11:04 2017 +0100
+++ b/tests/test-divergent.t	Sat Sep 30 11:38:08 2017 +0100
@@ -45,7 +45,7 @@
   1 changesets pruned
   $ hg prune -s "desc(bdivergent2)" "desc(_b)" --hidden
   1 changesets pruned
-  2 new divergent changesets
+  2 new content-divergent changesets
   $ hg log -G
   @  3:e708fd28d5cf@default(draft) add bdivergent2 [content-divergent]
   |
@@ -62,7 +62,7 @@
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   working directory is now at c26f1d3baed2
   $ hg log -G
-  @  5:c26f1d3baed2@default(draft) add bdivergent1 []
+  @  4:c26f1d3baed2@default(draft) add bdivergent1 []
   |
   o  0:135f39f4bd78@default(draft) add _a []
   
@@ -88,24 +88,25 @@
   1 changesets pruned
   $ hg prune -s "desc(cdivergent2)" "desc(_c)" --hidden
   1 changesets pruned
-  2 new divergent changesets
+  2 new content-divergent changesets
   $ hg log -G
-  @  8:0a768ef678d9@default(draft) cdivergent2 [content-divergent]
+  @  7:0a768ef678d9@default(draft) cdivergent2 [content-divergent]
   |
-  | o  7:26c7705fee96@default(draft) add cdivergent1 [content-divergent]
+  | o  6:26c7705fee96@default(draft) add cdivergent1 [content-divergent]
   |/
-  | o  5:c26f1d3baed2@default(draft) add bdivergent1 []
+  | o  4:c26f1d3baed2@default(draft) add bdivergent1 []
   |/
   o  0:135f39f4bd78@default(draft) add _a []
   
   $ hg evolve --all --any --contentdivergent
-  merge:[7] add cdivergent1
-  with: [8] cdivergent2
-  base: [6] add _c
+  merge:[6] add cdivergent1
+  with: [7] cdivergent2
+  base: [5] add _c
   updating to "local" conflict
   0 files updated, 0 files merged, 0 files removed, 0 files unresolved
   0 files updated, 0 files merged, 0 files removed, 0 files unresolved
-  working directory is now at 6602ff5a79dc
+  nothing changed
+  working directory is now at 26c7705fee96
 
 Test None docstring issue of evolve divergent, which caused hg crush
 
@@ -124,7 +125,7 @@
   1 changesets pruned
   $ hg prune -s "desc(bdivergent2)" "desc(_b)" --hidden
   1 changesets pruned
-  2 new divergent changesets
+  2 new content-divergent changesets
   $ hg log -G
   @  3:e708fd28d5cf@default(draft) add bdivergent2 [content-divergent]
   |
--- a/tests/test-drop.t	Sat Sep 30 11:11:04 2017 +0100
+++ b/tests/test-drop.t	Sat Sep 30 11:38:08 2017 +0100
@@ -178,7 +178,7 @@
   $ hg commit --amend
   $ summary
   ============ graph ==============
-  @  changeset:   4:a2c06c884bfe
+  @  changeset:   3:a2c06c884bfe
   |  tag:         tip
   |  parent:      1:19509a42b0d0
   |  user:        test
@@ -196,19 +196,13 @@
      summary:     add base
   
   ============ hidden =============
-  @  changeset:   4:a2c06c884bfe
+  @  changeset:   3:a2c06c884bfe
   |  tag:         tip
   |  parent:      1:19509a42b0d0
   |  user:        test
   |  date:        Thu Jan 01 00:00:00 1970 +0000
   |  summary:     add child
   |
-  | x  changeset:   3:87ea30a976fd
-  | |  user:        test
-  | |  date:        Thu Jan 01 00:00:00 1970 +0000
-  | |  obsolete:    pruned
-  | |  summary:     temporary amend commit for 34b6c051bf1f
-  | |
   | x  changeset:   2:34b6c051bf1f
   |/   user:        test
   |    date:        Thu Jan 01 00:00:00 1970 +0000
@@ -227,7 +221,6 @@
   
   ============ obsmark ============
   34b6c051bf1f78db6aef400776de5cb964470207 a2c06c884bfe53d3840026248bd8a7eafa152df8 0 (*) {'ef1': '*', 'user': 'test'} (glob)
-  87ea30a976fdf235bf096f04899cb02a903873e2 0 {34b6c051bf1f78db6aef400776de5cb964470207} (*) {'ef1': '*', 'user': 'test'} (glob)
   $ hg drop .
   0 files updated, 0 files merged, 1 files removed, 0 files unresolved
   working directory now at 19509a42b0d0
--- a/tests/test-evolve-bumped.t	Sat Sep 30 11:11:04 2017 +0100
+++ b/tests/test-evolve-bumped.t	Sat Sep 30 11:38:08 2017 +0100
@@ -67,7 +67,7 @@
   pulling from ../public
   searching for changes
   no changes found
-  1 new bumped changesets
+  1 new phase-divergent changesets
 
   $ hg evolve -a -A --phasedivergent
   recreate:[2] tweak a
@@ -105,7 +105,7 @@
   $ hg commit -m "merge"
   $ hg commit --amend -m "New message"
   $ hg phase --public 551127da2a8a --hidden
-  1 new bumped changesets
+  1 new phase-divergent changesets
   $ hg log -G
   @    7:b28e84916d8c@default(draft) New message
   |\
--- a/tests/test-evolve-cycles.t	Sat Sep 30 11:11:04 2017 +0100
+++ b/tests/test-evolve-cycles.t	Sat Sep 30 11:38:08 2017 +0100
@@ -50,7 +50,7 @@
 Create a cycle
   $ hg prune -s "desc(B)" "desc(A)"
   1 changesets pruned
-  2 new unstable changesets
+  2 new orphan changesets
   $ hg prune -s "desc(C)" "desc(B)"
   1 changesets pruned
   $ hg prune -s "desc(A)" "desc(C)"
@@ -89,48 +89,48 @@
 
   $ hg obslog "desc(A)" --hidden
   @  2a34000d3544 (1) A
-  |    rewritten(description, parent, content) as c473644ee0e9 by test (Thu Jan 01 00:00:00 1970 +0000)
+  |    rewritten(description, parent, content) as c473644ee0e9 by test (*) (glob)
   |
   x  a8df460dbbfe (3) C
-  |    rewritten(description, parent, content) as 2a34000d3544 by test (Thu Jan 01 00:00:00 1970 +0000)
+  |    rewritten(description, parent, content) as 2a34000d3544 by test (*) (glob)
   |
   x  c473644ee0e9 (2) B
-  |    rewritten(description, parent, content) as a8df460dbbfe by test (Thu Jan 01 00:00:00 1970 +0000)
+  |    rewritten(description, parent, content) as a8df460dbbfe by test (*) (glob)
   |
 
   $ hg obslog "desc(B)" --hidden
   @  2a34000d3544 (1) A
-  |    rewritten(description, parent, content) as c473644ee0e9 by test (Thu Jan 01 00:00:00 1970 +0000)
+  |    rewritten(description, parent, content) as c473644ee0e9 by test (*) (glob)
   |
   x  a8df460dbbfe (3) C
-  |    rewritten(description, parent, content) as 2a34000d3544 by test (Thu Jan 01 00:00:00 1970 +0000)
+  |    rewritten(description, parent, content) as 2a34000d3544 by test (*) (glob)
   |
   x  c473644ee0e9 (2) B
-  |    rewritten(description, parent, content) as a8df460dbbfe by test (Thu Jan 01 00:00:00 1970 +0000)
+  |    rewritten(description, parent, content) as a8df460dbbfe by test (*) (glob)
   |
 
   $ hg obslog "desc(C)" --hidden
   @  2a34000d3544 (1) A
-  |    rewritten(description, parent, content) as c473644ee0e9 by test (Thu Jan 01 00:00:00 1970 +0000)
+  |    rewritten(description, parent, content) as c473644ee0e9 by test (*) (glob)
   |
   x  a8df460dbbfe (3) C
-  |    rewritten(description, parent, content) as 2a34000d3544 by test (Thu Jan 01 00:00:00 1970 +0000)
+  |    rewritten(description, parent, content) as 2a34000d3544 by test (*) (glob)
   |
   x  c473644ee0e9 (2) B
-  |    rewritten(description, parent, content) as a8df460dbbfe by test (Thu Jan 01 00:00:00 1970 +0000)
+  |    rewritten(description, parent, content) as a8df460dbbfe by test (*) (glob)
   |
 
 Check that all option don't crash on a cycle either
 
   $ hg obslog "desc(C)" --hidden --all
   @  2a34000d3544 (1) A
-  |    rewritten(description, parent, content) as c473644ee0e9 by test (Thu Jan 01 00:00:00 1970 +0000)
+  |    rewritten(description, parent, content) as c473644ee0e9 by test (*) (glob)
   |
   x  a8df460dbbfe (3) C
-  |    rewritten(description, parent, content) as 2a34000d3544 by test (Thu Jan 01 00:00:00 1970 +0000)
+  |    rewritten(description, parent, content) as 2a34000d3544 by test (*) (glob)
   |
   x  c473644ee0e9 (2) B
-  |    rewritten(description, parent, content) as a8df460dbbfe by test (Thu Jan 01 00:00:00 1970 +0000)
+  |    rewritten(description, parent, content) as a8df460dbbfe by test (*) (glob)
   |
 
 Test with multiple cyles
@@ -188,7 +188,7 @@
 Create a first cycle
   $ hg prune -s "desc(B)" "desc(A)"
   1 changesets pruned
-  5 new unstable changesets
+  5 new orphan changesets
   $ hg prune -s "desc(C)" "desc(B)"
   1 changesets pruned
   $ hg prune --split -s "desc(A)" -s "desc(D)" "desc(C)"
@@ -252,42 +252,42 @@
 
   $ hg obslog "desc(D)" --hidden
   x  0da815c333f6 (5) E
-  |    rewritten(description, parent, content) as d9f908fde1a1 by test (Thu Jan 01 00:00:00 1970 +0000)
+  |    rewritten(description, parent, content) as d9f908fde1a1 by test (*) (glob)
   |
   @    868d2e0eb19c (4) D
-  |\     rewritten(description, parent, content) as 0da815c333f6 by test (Thu Jan 01 00:00:00 1970 +0000)
+  |\     rewritten(description, parent, content) as 0da815c333f6 by test (*) (glob)
   | |
   | x  d9f908fde1a1 (6) F
-  | |    rewritten(description, parent, content) as 868d2e0eb19c by test (Thu Jan 01 00:00:00 1970 +0000)
+  | |    rewritten(description, parent, content) as 868d2e0eb19c by test (*) (glob)
   | |
   +---x  2a34000d3544 (1) A
-  | |      rewritten(description, parent, content) as c473644ee0e9 by test (Thu Jan 01 00:00:00 1970 +0000)
+  | |      rewritten(description, parent, content) as c473644ee0e9 by test (*) (glob)
   | |
   x |  a8df460dbbfe (3) C
-  | |    rewritten(description, parent, content) as 2a34000d3544, 868d2e0eb19c by test (Thu Jan 01 00:00:00 1970 +0000)
+  | |    rewritten(description, parent, content) as 2a34000d3544, 868d2e0eb19c by test (*) (glob)
   | |
   x |  c473644ee0e9 (2) B
-  | |    rewritten(description, parent, content) as a8df460dbbfe by test (Thu Jan 01 00:00:00 1970 +0000)
+  | |    rewritten(description, parent, content) as a8df460dbbfe by test (*) (glob)
   | |
 Check that all option don't crash either on a cycle
   $ hg obslog --all --hidden "desc(F)"
   x  0da815c333f6 (5) E
-  |    rewritten(description, parent, content) as d9f908fde1a1 by test (Thu Jan 01 00:00:00 1970 +0000)
+  |    rewritten(description, parent, content) as d9f908fde1a1 by test (*) (glob)
   |
   @    868d2e0eb19c (4) D
-  |\     rewritten(description, parent, content) as 0da815c333f6 by test (Thu Jan 01 00:00:00 1970 +0000)
+  |\     rewritten(description, parent, content) as 0da815c333f6 by test (*) (glob)
   | |
   | x  d9f908fde1a1 (6) F
-  | |    rewritten(description, parent, content) as 868d2e0eb19c by test (Thu Jan 01 00:00:00 1970 +0000)
+  | |    rewritten(description, parent, content) as 868d2e0eb19c by test (*) (glob)
   | |
   +---x  2a34000d3544 (1) A
-  | |      rewritten(description, parent, content) as c473644ee0e9 by test (Thu Jan 01 00:00:00 1970 +0000)
+  | |      rewritten(description, parent, content) as c473644ee0e9 by test (*) (glob)
   | |
   x |  a8df460dbbfe (3) C
-  | |    rewritten(description, parent, content) as 2a34000d3544, 868d2e0eb19c by test (Thu Jan 01 00:00:00 1970 +0000)
+  | |    rewritten(description, parent, content) as 2a34000d3544, 868d2e0eb19c by test (*) (glob)
   | |
   x |  c473644ee0e9 (2) B
-  | |    rewritten(description, parent, content) as a8df460dbbfe by test (Thu Jan 01 00:00:00 1970 +0000)
+  | |    rewritten(description, parent, content) as a8df460dbbfe by test (*) (glob)
   | |
 Check the json output is valid in this case
 
@@ -301,7 +301,7 @@
                       0
                   ],
                   "effect": [
-                      *, (glob)
+                      "description",
                       "parent",
                       "content"
                   ],
@@ -413,7 +413,7 @@
           "markers": [
               {
                   "date": [
-                      0.0,
+                      *, (glob)
                       0
                   ],
                   "effect": [
--- a/tests/test-evolve-effectflags.t	Sat Sep 30 11:11:04 2017 +0100
+++ b/tests/test-evolve-effectflags.t	Sat Sep 30 11:38:08 2017 +0100
@@ -29,12 +29,12 @@
 check result
 
   $ hg debugobsolete --rev .
-  471f378eab4c5e25f6c77f785b27c936efb22874 fdf9bde5129a28d4548fadd3f62b265cdd3b7a2e 0 (*) {'ef1': '1', 'user': 'test'} (glob)
+  471f378eab4c5e25f6c77f785b27c936efb22874 fdf9bde5129a28d4548fadd3f62b265cdd3b7a2e 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '1', 'operation': 'amend', 'user': 'test'}
   $ hg obslog .
   @  fdf9bde5129a (2) A1
   |
   x  471f378eab4c (1) A0
-       rewritten(description) as fdf9bde5129a by test (Thu Jan 01 00:00:00 1970 +0000)
+       rewritten(description) as fdf9bde5129a by test (*) (glob)
   
   $ hg log --hidden -r "desc(A0)"
   changeset:   1:471f378eab4c
@@ -53,12 +53,12 @@
 check result
 
   $ hg debugobsolete --rev .
-  ef4a313b1e0ade55718395d80e6b88c5ccd875eb 5485c92d34330dac9d7a63dc07e1e3373835b964 0 (*) {'ef1': '16', 'user': 'test'} (glob)
+  ef4a313b1e0ade55718395d80e6b88c5ccd875eb 5485c92d34330dac9d7a63dc07e1e3373835b964 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '16', 'operation': 'amend', 'user': 'test'}
   $ hg obslog .
   @  5485c92d3433 (4) B0
   |
   x  ef4a313b1e0a (3) B0
-       rewritten(user) as 5485c92d3433 by test (Thu Jan 01 00:00:00 1970 +0000)
+       rewritten(user) as 5485c92d3433 by test (*) (glob)
   
   $ hg log --hidden -r "ef4a313b1e0a"
   changeset:   3:ef4a313b1e0a
@@ -77,12 +77,12 @@
 check result
 
   $ hg debugobsolete --rev .
-  2ef0680ff45038ac28c9f1ff3644341f54487280 4dd84345082e9e5291c2e6b3f335bbf8bf389378 0 (*) {'ef1': '32', 'user': 'test'} (glob)
+  2ef0680ff45038ac28c9f1ff3644341f54487280 4dd84345082e9e5291c2e6b3f335bbf8bf389378 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '32', 'operation': 'amend', 'user': 'test'}
   $ hg obslog .
   @  4dd84345082e (6) B1
   |
   x  2ef0680ff450 (5) B1
-       rewritten(date) as 4dd84345082e by test (Thu Jan 01 00:00:00 1970 +0000)
+       rewritten(date) as 4dd84345082e by test (*) (glob)
   
   $ hg log --hidden -r "2ef0680ff450"
   changeset:   5:2ef0680ff450
@@ -104,13 +104,12 @@
 check result
 
   $ hg debugobsolete --rev .
-  4d1430a201c1ffbd8465dec75edd4a691a2d97ec 0 {bd3db8264ceebf1966319f5df3be7aac6acd1a8e} (*) {'ef1': '0', 'user': 'test'} (glob)
-  bd3db8264ceebf1966319f5df3be7aac6acd1a8e 14a01456e0574f0e0a0b15b2345486a6364a8d79 0 (*) {'ef1': '64', 'user': 'test'} (glob)
+  bd3db8264ceebf1966319f5df3be7aac6acd1a8e 14a01456e0574f0e0a0b15b2345486a6364a8d79 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '64', 'operation': 'amend', 'user': 'test'}
   $ hg obslog .
-  @  14a01456e057 (9) B2
+  @  14a01456e057 (8) B2
   |
   x  bd3db8264cee (7) B2
-       rewritten(branch) as 14a01456e057 by test (Thu Jan 01 00:00:00 1970 +0000)
+       rewritten(branch) as 14a01456e057 by test (*) (glob)
   
   $ hg log --hidden -r "bd3db8264cee"
   changeset:   7:bd3db8264cee
@@ -129,20 +128,20 @@
   $ mkcommit C0
   $ mkcommit D0
   $ hg rebase -r . -d 'desc(B0)'
-  rebasing 11:c85eff83a034 "D0" (tip)
+  rebasing 10:c85eff83a034 "D0" (tip)
 
 check result
 
   $ hg debugobsolete --rev .
-  c85eff83a0340efd9da52b806a94c350222f3371 da86aa2f19a30d6686b15cae15c7b6c908ec9699 0 (*) {'ef1': '4', 'user': 'test'} (glob)
+  c85eff83a0340efd9da52b806a94c350222f3371 da86aa2f19a30d6686b15cae15c7b6c908ec9699 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '4', 'operation': 'rebase', 'user': 'test'}
   $ hg obslog .
-  @  da86aa2f19a3 (12) D0
+  @  da86aa2f19a3 (11) D0
   |
-  x  c85eff83a034 (11) D0
-       rewritten(parent) as da86aa2f19a3 by test (Thu Jan 01 00:00:00 1970 +0000)
+  x  c85eff83a034 (10) D0
+       rewritten(parent) as da86aa2f19a3 by test (*) (glob)
   
   $ hg log --hidden -r "c85eff83a034"
-  changeset:   11:c85eff83a034
+  changeset:   10:c85eff83a034
   user:        test
   date:        Thu Jan 01 00:00:00 1970 +0000
   obsolete:    rebased as da86aa2f19a3
@@ -159,16 +158,15 @@
 check result
 
   $ hg debugobsolete --rev .
-  d6f4d8b8d3c8cde990f13915bced7f92ce1cc54f 0 {ebfe0333e0d96f68a917afd97c0a0af87f1c3b5f} (*) {'ef1': '0', 'user': 'test'} (glob)
-  ebfe0333e0d96f68a917afd97c0a0af87f1c3b5f 75781fdbdbf58a987516b00c980bccda1e9ae588 0 (*) {'ef1': '8', 'user': 'test'} (glob)
+  ebfe0333e0d96f68a917afd97c0a0af87f1c3b5f 75781fdbdbf58a987516b00c980bccda1e9ae588 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '8', 'operation': 'amend', 'user': 'test'}
   $ hg obslog .
-  @  75781fdbdbf5 (15) E0
+  @  75781fdbdbf5 (13) E0
   |
-  x  ebfe0333e0d9 (13) E0
-       rewritten(content) as 75781fdbdbf5 by test (Thu Jan 01 00:00:00 1970 +0000)
+  x  ebfe0333e0d9 (12) E0
+       rewritten(content) as 75781fdbdbf5 by test (*) (glob)
   
   $ hg log --hidden -r "ebfe0333e0d9"
-  changeset:   13:ebfe0333e0d9
+  changeset:   12:ebfe0333e0d9
   user:        test
   date:        Thu Jan 01 00:00:00 1970 +0000
   obsolete:    amended as 75781fdbdbf5
@@ -186,16 +184,15 @@
 check result
 
   $ hg debugobsolete --rev .
-  3b12912003b4e7aa6df6cded86255006c3c29d27 0 {fad47e5bd78e6aa4db1b5a0a1751bc12563655ff} (*) {'ef1': '0', 'user': 'test'} (glob)
-  fad47e5bd78e6aa4db1b5a0a1751bc12563655ff a94e0fd5f1c81d969381a76eb0d37ce499a44fae 0 (*) {'ef1': '113', 'user': 'test'} (glob)
+  fad47e5bd78e6aa4db1b5a0a1751bc12563655ff a94e0fd5f1c81d969381a76eb0d37ce499a44fae 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '113', 'operation': 'amend', 'user': 'test'}
   $ hg obslog .
-  @  a94e0fd5f1c8 (18) F1
+  @  a94e0fd5f1c8 (15) F1
   |
-  x  fad47e5bd78e (16) F0
-       rewritten(description, user, date, branch) as a94e0fd5f1c8 by test (Thu Jan 01 00:00:00 1970 +0000)
+  x  fad47e5bd78e (14) F0
+       rewritten(description, user, date, branch) as a94e0fd5f1c8 by test (*) (glob)
   
   $ hg log --hidden -r "fad47e5bd78e"
-  changeset:   16:fad47e5bd78e
+  changeset:   14:fad47e5bd78e
   user:        test
   date:        Thu Jan 01 00:00:00 1970 +0000
   obsolete:    rewritten as a94e0fd5f1c8
@@ -241,16 +238,16 @@
   $ hg commit -m "H2"
   created new head
   $ hg rebase -s "desc(H1)" -d "desc(H2)" -t :merge3
-  rebasing 20:b57fed8d8322 "H1"
+  rebasing 17:b57fed8d8322 "H1"
   merging H0
   $ hg obslog tip
-  o  e509e2eb3df5 (22) H1
+  o  e509e2eb3df5 (19) H1
   |
-  x  b57fed8d8322 (20) H1
-       rewritten(parent) as e509e2eb3df5 by test (Thu Jan 01 00:00:00 1970 +0000)
+  x  b57fed8d8322 (17) H1
+       rewritten(parent) as e509e2eb3df5 by test (*) (glob)
   
   $ hg log --hidden -r "b57fed8d8322"
-  changeset:   20:b57fed8d8322
+  changeset:   17:b57fed8d8322
   branch:      my-other-branch
   user:        test
   date:        Thu Jan 01 00:00:00 1970 +0000
@@ -269,13 +266,13 @@
 check result
 
   $ hg obslog .
-  @  12c6238b5e37 (26) I0
+  @  12c6238b5e37 (22) I0
   |
-  x  2f599e54c1c6 (24) I0
-       rewritten(meta) as 12c6238b5e37 by test (Thu Jan 01 00:00:00 1970 +0000)
+  x  2f599e54c1c6 (21) I0
+       rewritten(meta) as 12c6238b5e37 by test (*) (glob)
   
   $ hg log --hidden -r "2f599e54c1c6"
-  changeset:   24:2f599e54c1c6
+  changeset:   21:2f599e54c1c6
   branch:      closedbranch
   user:        test
   date:        Thu Jan 01 00:00:00 1970 +0000
--- a/tests/test-evolve-list.t	Sat Sep 30 11:11:04 2017 +0100
+++ b/tests/test-evolve-list.t	Sat Sep 30 11:38:08 2017 +0100
@@ -17,7 +17,7 @@
   $ hg up 0
   0 files updated, 0 files merged, 2 files removed, 0 files unresolved
   $ echo a >> a && hg ci --amend -m a
-  2 new unstable changesets
+  2 new orphan changesets
   $ hg evolve --list
   d2ae7f538514: b
     unstable: cb9a9f314b8b (obsolete parent)
@@ -34,7 +34,7 @@
   adding a
   $ echo b > b && hg ci --amend -m ab
   $ hg phase --public --rev 0 --hidden
-  1 new bumped changesets
+  1 new phase-divergent changesets
   $ hg evolve --list
   88cc282e27fc: ab
     bumped: cb9a9f314b8b (immutable precursor)
@@ -64,7 +64,7 @@
   rebasing 1:d2ae7f538514 "b"
   $ hg rebase -s 1 -d 3 --hidden --config experimental.allowdivergence=True
   rebasing 1:d2ae7f538514 "b"
-  2 new divergent changesets
+  2 new content-divergent changesets
   $ hg evolve --list
   c882616e9d84: b
     divergent: a922b3733e98 (draft) (precursor d2ae7f538514)
--- a/tests/test-evolve-obshistory-complex.t	Sat Sep 30 11:11:04 2017 +0100
+++ b/tests/test-evolve-obshistory-complex.t	Sat Sep 30 11:38:08 2017 +0100
@@ -68,7 +68,7 @@
 
   $ hg fold --exact -r 1 -r 2 --date "0 0" -m "fold0"
   2 changesets folded
-  4 new unstable changesets
+  4 new orphan changesets
   $ hg fold --exact -r 3 -r 4 --date "0 0" -m "fold1"
   2 changesets folded
   $ hg fold --exact -r 5 -r 6 --date "0 0" -m "fold2"
@@ -80,14 +80,14 @@
   |  parent:      4:868d2e0eb19c
   |  user:        test
   |  date:        Thu Jan 01 00:00:00 1970 +0000
-  |  trouble:     unstable
+  |  instability: orphan
   |  summary:     fold2
   |
   | o  changeset:   8:d15d0ffc75f6
   | |  parent:      2:c473644ee0e9
   | |  user:        test
   | |  date:        Thu Jan 01 00:00:00 1970 +0000
-  | |  trouble:     unstable
+  | |  instability: orphan
   | |  summary:     fold1
   | |
   | | o  changeset:   7:b868bc49b0a4
@@ -236,27 +236,27 @@
   |  tag:         tip
   |  user:        test
   |  date:        Thu Jan 01 00:00:00 1970 +0000
-  |  trouble:     unstable
+  |  instability: orphan
   |  summary:     fold2
   |
   o  changeset:   14:ec31316faa9d
   |  parent:      4:868d2e0eb19c
   |  user:        test
   |  date:        Thu Jan 01 00:00:00 1970 +0000
-  |  trouble:     unstable
+  |  instability: orphan
   |  summary:     fold2
   |
   | o  changeset:   13:d0f33db50670
   | |  user:        test
   | |  date:        Thu Jan 01 00:00:00 1970 +0000
-  | |  trouble:     unstable
+  | |  instability: orphan
   | |  summary:     fold1
   | |
   | o  changeset:   12:7b3290f6e0a0
   | |  parent:      2:c473644ee0e9
   | |  user:        test
   | |  date:        Thu Jan 01 00:00:00 1970 +0000
-  | |  trouble:     unstable
+  | |  instability: orphan
   | |  summary:     fold1
   | |
   | | o  changeset:   11:e036916b63ea
@@ -312,21 +312,21 @@
   |  tag:         tip
   |  user:        test
   |  date:        Thu Jan 01 00:00:00 1970 +0000
-  |  trouble:     unstable
+  |  instability: orphan
   |  summary:     fold2
   |
   o  changeset:   14:ec31316faa9d
   |  parent:      4:868d2e0eb19c
   |  user:        test
   |  date:        Thu Jan 01 00:00:00 1970 +0000
-  |  trouble:     unstable
+  |  instability: orphan
   |  summary:     fold2
   |
   | o  changeset:   12:7b3290f6e0a0
   | |  parent:      2:c473644ee0e9
   | |  user:        test
   | |  date:        Thu Jan 01 00:00:00 1970 +0000
-  | |  trouble:     unstable
+  | |  instability: orphan
   | |  summary:     fold1
   | |
   | | o  changeset:   10:19e14c8397fc
@@ -374,25 +374,25 @@
   o    7b3290f6e0a0 (12) fold1
   |\
   x |    d15d0ffc75f6 (8) fold1
-  |\ \     rewritten(parent, content) as 7b3290f6e0a0, d0f33db50670 by test (Thu Jan 01 00:00:00 1970 +0000)
+  |\ \     rewritten(parent, content) as 7b3290f6e0a0, d0f33db50670 by test (*) (glob)
   | | |
   | | x  e036916b63ea (11) fold0
-  | | |    rewritten(description, parent, content) as 7b3290f6e0a0 by test (Thu Jan 01 00:00:00 1970 +0000)
+  | | |    rewritten(description, parent, content) as 7b3290f6e0a0 by test (*) (glob)
   | | |
   x | |  868d2e0eb19c (4) D
-   / /     rewritten(description, parent, content) as d15d0ffc75f6 by test (Thu Jan 01 00:00:00 1970 +0000)
+   / /     rewritten(description, parent, content) as d15d0ffc75f6 by test (*) (glob)
   | |
   x |  a8df460dbbfe (3) C
-   /     rewritten(description, content) as d15d0ffc75f6 by test (Thu Jan 01 00:00:00 1970 +0000)
+   /     rewritten(description, content) as d15d0ffc75f6 by test (*) (glob)
   |
   x    b868bc49b0a4 (7) fold0
-  |\     rewritten(parent, content) as 19e14c8397fc, e036916b63ea by test (Thu Jan 01 00:00:00 1970 +0000)
+  |\     rewritten(parent, content) as 19e14c8397fc, e036916b63ea by test (*) (glob)
   | |
   x |  2a34000d3544 (1) A
-   /     rewritten(description, content) as b868bc49b0a4 by test (Thu Jan 01 00:00:00 1970 +0000)
+   /     rewritten(description, content) as b868bc49b0a4 by test (*) (glob)
   |
   x  c473644ee0e9 (2) B
-       rewritten(description, parent, content) as b868bc49b0a4 by test (Thu Jan 01 00:00:00 1970 +0000)
+       rewritten(description, parent, content) as b868bc49b0a4 by test (*) (glob)
   
 While with all option, we should see 15 changesets
 
@@ -406,35 +406,35 @@
   | | | | o  ec31316faa9d (14) fold2
   | | | |/|
   | | | x |    100cc25b765f (9) fold2
-  | | | |\ \     rewritten(parent, content) as d4a000f63ee9, ec31316faa9d by test (Thu Jan 01 00:00:00 1970 +0000)
+  | | | |\ \     rewritten(parent, content) as d4a000f63ee9, ec31316faa9d by test (*) (glob)
   | | | | | |
   | +-------x  d0f33db50670 (13) fold1
-  | | | | |      rewritten(description, parent, content) as ec31316faa9d by test (Thu Jan 01 00:00:00 1970 +0000)
+  | | | | |      rewritten(description, parent, content) as ec31316faa9d by test (*) (glob)
   | | | | |
   +---x | |  e036916b63ea (11) fold0
-  | |  / /     rewritten(description, parent, content) as 7b3290f6e0a0 by test (Thu Jan 01 00:00:00 1970 +0000)
+  | |  / /     rewritten(description, parent, content) as 7b3290f6e0a0 by test (*) (glob)
   | | | |
   | | x |  0da815c333f6 (5) E
-  | |  /     rewritten(description, content) as 100cc25b765f by test (Thu Jan 01 00:00:00 1970 +0000)
+  | |  /     rewritten(description, content) as 100cc25b765f by test (*) (glob)
   | | |
   x | |    b868bc49b0a4 (7) fold0
-  |\ \ \     rewritten(parent, content) as 19e14c8397fc, e036916b63ea by test (Thu Jan 01 00:00:00 1970 +0000)
+  |\ \ \     rewritten(parent, content) as 19e14c8397fc, e036916b63ea by test (*) (glob)
   | | | |
   | | x |    d15d0ffc75f6 (8) fold1
-  | | |\ \     rewritten(parent, content) as 7b3290f6e0a0, d0f33db50670 by test (Thu Jan 01 00:00:00 1970 +0000)
+  | | |\ \     rewritten(parent, content) as 7b3290f6e0a0, d0f33db50670 by test (*) (glob)
   | | | | |
   | | | | x  d9f908fde1a1 (6) F
-  | | | |      rewritten(description, parent, content) as 100cc25b765f by test (Thu Jan 01 00:00:00 1970 +0000)
+  | | | |      rewritten(description, parent, content) as 100cc25b765f by test (*) (glob)
   | | | |
   x | | |  2a34000d3544 (1) A
-   / / /     rewritten(description, content) as b868bc49b0a4 by test (Thu Jan 01 00:00:00 1970 +0000)
+   / / /     rewritten(description, content) as b868bc49b0a4 by test (*) (glob)
   | | |
   | x |  868d2e0eb19c (4) D
-  |  /     rewritten(description, parent, content) as d15d0ffc75f6 by test (Thu Jan 01 00:00:00 1970 +0000)
+  |  /     rewritten(description, parent, content) as d15d0ffc75f6 by test (*) (glob)
   | |
   | x  a8df460dbbfe (3) C
-  |      rewritten(description, content) as d15d0ffc75f6 by test (Thu Jan 01 00:00:00 1970 +0000)
+  |      rewritten(description, content) as d15d0ffc75f6 by test (*) (glob)
   |
   x  c473644ee0e9 (2) B
-       rewritten(description, parent, content) as b868bc49b0a4 by test (Thu Jan 01 00:00:00 1970 +0000)
+       rewritten(description, parent, content) as b868bc49b0a4 by test (*) (glob)
   
--- a/tests/test-evolve-obshistory.t	Sat Sep 30 11:11:04 2017 +0100
+++ b/tests/test-evolve-obshistory.t	Sat Sep 30 11:38:08 2017 +0100
@@ -31,19 +31,13 @@
   > 
   > Better commit message"
   $ hg log --hidden -G
-  @  changeset:   3:4ae3a4151de9
+  @  changeset:   2:4ae3a4151de9
   |  tag:         tip
   |  parent:      0:ea207398892e
   |  user:        test
   |  date:        Thu Jan 01 00:00:00 1970 +0000
   |  summary:     A1
   |
-  | x  changeset:   2:f137d23bb3e1
-  | |  user:        test
-  | |  date:        Thu Jan 01 00:00:00 1970 +0000
-  | |  obsolete:    pruned
-  | |  summary:     temporary amend commit for 471f378eab4c
-  | |
   | x  changeset:   1:471f378eab4c
   |/   user:        test
   |    date:        Thu Jan 01 00:00:00 1970 +0000
@@ -58,10 +52,10 @@
 Actual test
 -----------
   $ hg obslog --patch 4ae3a4151de9
-  @  4ae3a4151de9 (3) A1
+  @  4ae3a4151de9 (2) A1
   |
   x  471f378eab4c (1) A0
-       rewritten(description, content) as 4ae3a4151de9 by test (Thu Jan 01 00:00:00 1970 +0000)
+       rewritten(description, content) as 4ae3a4151de9 by test (*) (glob)
          --- a/471f378eab4c-changeset-description
          +++ b/4ae3a4151de9-changeset-description
          @@ -1,1 +1,3 @@
@@ -80,7 +74,7 @@
   
 
   $ hg obslog --no-graph --patch 4ae3a4151de9
-  4ae3a4151de9 (3) A1
+  4ae3a4151de9 (2) A1
   471f378eab4c (1) A0
     rewritten(description, content) as 4ae3a4151de9 by test (Thu Jan 01 00:00:00 1970 +0000)
       --- a/471f378eab4c-changeset-description	
@@ -109,7 +103,7 @@
       {
           "markers": [],
           "node": "4ae3a4151de9",
-          "rev": 3,
+          "rev": 2,
           "shortdescription": "A1"
       },
       {
@@ -137,7 +131,7 @@
   ]
   $ hg obslog --hidden --patch 471f378eab4c
   x  471f378eab4c (1) A0
-       rewritten(description, content) as 4ae3a4151de9 by test (Thu Jan 01 00:00:00 1970 +0000)
+       rewritten(description, content) as 4ae3a4151de9 by test (*) (glob)
          --- a/471f378eab4c-changeset-description
          +++ b/4ae3a4151de9-changeset-description
          @@ -1,1 +1,3 @@
@@ -379,7 +373,7 @@
 Check that debugobshistory on splitted commit show both targets
   $ hg obslog 471597cad322 --hidden --patch
   x  471597cad322 (1) A0
-       rewritten(parent, content) as 337fec4d2edc, f257fde29c7a by test (Thu Jan 01 00:00:00 1970 +0000)
+       rewritten(parent, content) as 337fec4d2edc, f257fde29c7a by test (*) (glob)
          (No patch available yet, too many successors (2))
   
   $ hg obslog 471597cad322 --hidden --no-graph -Tjson | python -m json.tool
@@ -414,7 +408,7 @@
   o  337fec4d2edc (2) A0
   |
   x  471597cad322 (1) A0
-       rewritten(parent, content) as 337fec4d2edc, f257fde29c7a by test (Thu Jan 01 00:00:00 1970 +0000)
+       rewritten(parent, content) as 337fec4d2edc, f257fde29c7a by test (*) (glob)
          (No patch available yet, too many successors (2))
   
 With the all option, it should show the three changesets
@@ -424,7 +418,7 @@
   | @  f257fde29c7a (3) A0
   |/
   x  471597cad322 (1) A0
-       rewritten(parent, content) as 337fec4d2edc, f257fde29c7a by test (Thu Jan 01 00:00:00 1970 +0000)
+       rewritten(parent, content) as 337fec4d2edc, f257fde29c7a by test (*) (glob)
          (No patch available yet, too many successors (2))
   
 Check that debugobshistory on the second successor after split show
@@ -433,7 +427,7 @@
   @  f257fde29c7a (3) A0
   |
   x  471597cad322 (1) A0
-       rewritten(parent, content) as 337fec4d2edc, f257fde29c7a by test (Thu Jan 01 00:00:00 1970 +0000)
+       rewritten(parent, content) as 337fec4d2edc, f257fde29c7a by test (*) (glob)
          (No patch available yet, too many successors (2))
   
 With the all option, it should show the three changesets
@@ -443,7 +437,7 @@
   | @  f257fde29c7a (3) A0
   |/
   x  471597cad322 (1) A0
-       rewritten(parent, content) as 337fec4d2edc, f257fde29c7a by test (Thu Jan 01 00:00:00 1970 +0000)
+       rewritten(parent, content) as 337fec4d2edc, f257fde29c7a by test (*) (glob)
          (No patch available yet, too many successors (2))
   
 Obslog with all option all should also works on the splitted commit
@@ -453,7 +447,7 @@
   | @  f257fde29c7a (3) A0
   |/
   x  471597cad322 (1) A0
-       rewritten(parent, content) as 337fec4d2edc, f257fde29c7a by test (Thu Jan 01 00:00:00 1970 +0000)
+       rewritten(parent, content) as 337fec4d2edc, f257fde29c7a by test (*) (glob)
          (No patch available yet, too many successors (2))
   
 Check that debugobshistory on both successors after split show
@@ -464,7 +458,7 @@
   | @  f257fde29c7a (3) A0
   |/
   x  471597cad322 (1) A0
-       rewritten(parent, content) as 337fec4d2edc, f257fde29c7a by test (Thu Jan 01 00:00:00 1970 +0000)
+       rewritten(parent, content) as 337fec4d2edc, f257fde29c7a by test (*) (glob)
          (No patch available yet, too many successors (2))
   
   $ hg update 471597cad322
@@ -632,7 +626,7 @@
 
   $ hg obslog de7290d8b885 --hidden --patch
   x  de7290d8b885 (1) A0
-       rewritten(parent, content) as 1ae8bc733a14, 337fec4d2edc, c7f044602e9b, f257fde29c7a by test (Thu Jan 01 00:00:00 1970 +0000)
+       rewritten(parent, content) as 1ae8bc733a14, 337fec4d2edc, c7f044602e9b, f257fde29c7a by test (*) (glob)
          (No patch available yet, too many successors (4))
   
   $ hg obslog de7290d8b885 --hidden --all --patch
@@ -645,7 +639,7 @@
   | o  f257fde29c7a (3) A0
   |/
   x  de7290d8b885 (1) A0
-       rewritten(parent, content) as 1ae8bc733a14, 337fec4d2edc, c7f044602e9b, f257fde29c7a by test (Thu Jan 01 00:00:00 1970 +0000)
+       rewritten(parent, content) as 1ae8bc733a14, 337fec4d2edc, c7f044602e9b, f257fde29c7a by test (*) (glob)
          (No patch available yet, too many successors (4))
   
   $ hg obslog de7290d8b885 --hidden --no-graph -Tjson | python -m json.tool
@@ -680,7 +674,7 @@
   @  c7f044602e9b (5) A0
   |
   x  de7290d8b885 (1) A0
-       rewritten(parent, content) as 1ae8bc733a14, 337fec4d2edc, c7f044602e9b, f257fde29c7a by test (Thu Jan 01 00:00:00 1970 +0000)
+       rewritten(parent, content) as 1ae8bc733a14, 337fec4d2edc, c7f044602e9b, f257fde29c7a by test (*) (glob)
          (No patch available yet, too many successors (4))
   
   $ hg obslog c7f044602e9b --no-graph -Tjson | python -m json.tool
@@ -728,7 +722,7 @@
   | o  f257fde29c7a (3) A0
   |/
   x  de7290d8b885 (1) A0
-       rewritten(parent, content) as 1ae8bc733a14, 337fec4d2edc, c7f044602e9b, f257fde29c7a by test (Thu Jan 01 00:00:00 1970 +0000)
+       rewritten(parent, content) as 1ae8bc733a14, 337fec4d2edc, c7f044602e9b, f257fde29c7a by test (*) (glob)
          (No patch available yet, too many successors (4))
   
   $ hg obslog 5 --all --patch
@@ -741,7 +735,7 @@
   | o  f257fde29c7a (3) A0
   |/
   x  de7290d8b885 (1) A0
-       rewritten(parent, content) as 1ae8bc733a14, 337fec4d2edc, c7f044602e9b, f257fde29c7a by test (Thu Jan 01 00:00:00 1970 +0000)
+       rewritten(parent, content) as 1ae8bc733a14, 337fec4d2edc, c7f044602e9b, f257fde29c7a by test (*) (glob)
          (No patch available yet, too many successors (4))
   
   $ hg update de7290d8b885
@@ -816,7 +810,7 @@
 the revision with the target
   $ hg obslog --hidden 471f378eab4c --patch
   x  471f378eab4c (1) A0
-       rewritten(description, content) as eb5a0daa2192 by test (Thu Jan 01 00:00:00 1970 +0000)
+       rewritten(description, content) as eb5a0daa2192 by test (*) (glob)
          --- a/471f378eab4c-changeset-description
          +++ b/eb5a0daa2192-changeset-description
          @@ -1,1 +1,1 @@
@@ -835,11 +829,11 @@
   @    eb5a0daa2192 (3) C0
   |\
   x |  0dec01379d3b (2) B0
-   /     rewritten(description, parent, content) as eb5a0daa2192 by test (Thu Jan 01 00:00:00 1970 +0000)
+   /     rewritten(description, parent, content) as eb5a0daa2192 by test (*) (glob)
   |        (No patch available yet, changesets rebased)
   |
   x  471f378eab4c (1) A0
-       rewritten(description, content) as eb5a0daa2192 by test (Thu Jan 01 00:00:00 1970 +0000)
+       rewritten(description, content) as eb5a0daa2192 by test (*) (glob)
          --- a/471f378eab4c-changeset-description
          +++ b/eb5a0daa2192-changeset-description
          @@ -1,1 +1,1 @@
@@ -857,7 +851,7 @@
 the revision with the target
   $ hg obslog --hidden 0dec01379d3b --patch
   x  0dec01379d3b (2) B0
-       rewritten(description, parent, content) as eb5a0daa2192 by test (Thu Jan 01 00:00:00 1970 +0000)
+       rewritten(description, parent, content) as eb5a0daa2192 by test (*) (glob)
          (No patch available yet, changesets rebased)
   
 Check that with all option, all changesets are shown
@@ -865,11 +859,11 @@
   @    eb5a0daa2192 (3) C0
   |\
   x |  0dec01379d3b (2) B0
-   /     rewritten(description, parent, content) as eb5a0daa2192 by test (Thu Jan 01 00:00:00 1970 +0000)
+   /     rewritten(description, parent, content) as eb5a0daa2192 by test (*) (glob)
   |        (No patch available yet, changesets rebased)
   |
   x  471f378eab4c (1) A0
-       rewritten(description, content) as eb5a0daa2192 by test (Thu Jan 01 00:00:00 1970 +0000)
+       rewritten(description, content) as eb5a0daa2192 by test (*) (glob)
          --- a/471f378eab4c-changeset-description
          +++ b/eb5a0daa2192-changeset-description
          @@ -1,1 +1,1 @@
@@ -889,11 +883,11 @@
   @    eb5a0daa2192 (3) C0
   |\
   x |  0dec01379d3b (2) B0
-   /     rewritten(description, parent, content) as eb5a0daa2192 by test (Thu Jan 01 00:00:00 1970 +0000)
+   /     rewritten(description, parent, content) as eb5a0daa2192 by test (*) (glob)
   |        (No patch available yet, changesets rebased)
   |
   x  471f378eab4c (1) A0
-       rewritten(description, content) as eb5a0daa2192 by test (Thu Jan 01 00:00:00 1970 +0000)
+       rewritten(description, content) as eb5a0daa2192 by test (*) (glob)
          --- a/471f378eab4c-changeset-description
          +++ b/eb5a0daa2192-changeset-description
          @@ -1,1 +1,1 @@
@@ -923,7 +917,7 @@
                       0 (glob)
                   ],
                   "effect": [
-                      *, (glob)
+                      "description",
                       "content"
                   ],
                   "succnodes": [
@@ -941,7 +935,7 @@
           "markers": [
               {
                   "date": [
-                      0.0,
+                      *, (glob)
                       0 (glob)
                   ],
                   "effect": [
@@ -1015,21 +1009,21 @@
   working directory parent is obsolete! (471f378eab4c)
   (use 'hg evolve' to update to its successor: fdf9bde5129a)
   $ hg amend -m "A2"
-  2 new divergent changesets
+  2 new content-divergent changesets
   $ hg log --hidden -G
   @  changeset:   3:65b757b745b9
   |  tag:         tip
   |  parent:      0:ea207398892e
   |  user:        test
   |  date:        Thu Jan 01 00:00:00 1970 +0000
-  |  trouble:     divergent
+  |  instability: content-divergent
   |  summary:     A2
   |
   | o  changeset:   2:fdf9bde5129a
   |/   parent:      0:ea207398892e
   |    user:        test
   |    date:        Thu Jan 01 00:00:00 1970 +0000
-  |    trouble:     divergent
+  |    instability: content-divergent
   |    summary:     A1
   |
   | x  changeset:   1:471f378eab4c
@@ -1050,14 +1044,14 @@
 Check that debugobshistory on the divergent revision show both destinations
   $ hg obslog --hidden 471f378eab4c --patch
   x  471f378eab4c (1) A0
-       rewritten(description) as 65b757b745b9 by test (Thu Jan 01 00:00:00 1970 +0000)
+       rewritten(description) as 65b757b745b9 by test (*) (glob)
          --- a/471f378eab4c-changeset-description
          +++ b/65b757b745b9-changeset-description
          @@ -1,1 +1,1 @@
          -A0
          +A2
   
-       rewritten(description) as fdf9bde5129a by test (Thu Jan 01 00:00:00 1970 +0000)
+       rewritten(description) as fdf9bde5129a by test (*) (glob)
          --- a/471f378eab4c-changeset-description
          +++ b/fdf9bde5129a-changeset-description
          @@ -1,1 +1,1 @@
@@ -1073,14 +1067,14 @@
   | o  fdf9bde5129a (2) A1
   |/
   x  471f378eab4c (1) A0
-       rewritten(description) as 65b757b745b9 by test (Thu Jan 01 00:00:00 1970 +0000)
+       rewritten(description) as 65b757b745b9 by test (*) (glob)
          --- a/471f378eab4c-changeset-description
          +++ b/65b757b745b9-changeset-description
          @@ -1,1 +1,1 @@
          -A0
          +A2
   
-       rewritten(description) as fdf9bde5129a by test (Thu Jan 01 00:00:00 1970 +0000)
+       rewritten(description) as fdf9bde5129a by test (*) (glob)
          --- a/471f378eab4c-changeset-description
          +++ b/fdf9bde5129a-changeset-description
          @@ -1,1 +1,1 @@
@@ -1132,14 +1126,14 @@
   o  fdf9bde5129a (2) A1
   |
   x  471f378eab4c (1) A0
-       rewritten(description) as 65b757b745b9 by test (Thu Jan 01 00:00:00 1970 +0000)
+       rewritten(description) as 65b757b745b9 by test (*) (glob)
          --- a/471f378eab4c-changeset-description
          +++ b/65b757b745b9-changeset-description
          @@ -1,1 +1,1 @@
          -A0
          +A2
   
-       rewritten(description) as fdf9bde5129a by test (Thu Jan 01 00:00:00 1970 +0000)
+       rewritten(description) as fdf9bde5129a by test (*) (glob)
          --- a/471f378eab4c-changeset-description
          +++ b/fdf9bde5129a-changeset-description
          @@ -1,1 +1,1 @@
@@ -1155,14 +1149,14 @@
   | o  fdf9bde5129a (2) A1
   |/
   x  471f378eab4c (1) A0
-       rewritten(description) as 65b757b745b9 by test (Thu Jan 01 00:00:00 1970 +0000)
+       rewritten(description) as 65b757b745b9 by test (*) (glob)
          --- a/471f378eab4c-changeset-description
          +++ b/65b757b745b9-changeset-description
          @@ -1,1 +1,1 @@
          -A0
          +A2
   
-       rewritten(description) as fdf9bde5129a by test (Thu Jan 01 00:00:00 1970 +0000)
+       rewritten(description) as fdf9bde5129a by test (*) (glob)
          --- a/471f378eab4c-changeset-description
          +++ b/fdf9bde5129a-changeset-description
          @@ -1,1 +1,1 @@
@@ -1176,14 +1170,14 @@
   @  65b757b745b9 (3) A2
   |
   x  471f378eab4c (1) A0
-       rewritten(description) as 65b757b745b9 by test (Thu Jan 01 00:00:00 1970 +0000)
+       rewritten(description) as 65b757b745b9 by test (*) (glob)
          --- a/471f378eab4c-changeset-description
          +++ b/65b757b745b9-changeset-description
          @@ -1,1 +1,1 @@
          -A0
          +A2
   
-       rewritten(description) as fdf9bde5129a by test (Thu Jan 01 00:00:00 1970 +0000)
+       rewritten(description) as fdf9bde5129a by test (*) (glob)
          --- a/471f378eab4c-changeset-description
          +++ b/fdf9bde5129a-changeset-description
          @@ -1,1 +1,1 @@
@@ -1198,14 +1192,14 @@
   | o  fdf9bde5129a (2) A1
   |/
   x  471f378eab4c (1) A0
-       rewritten(description) as 65b757b745b9 by test (Thu Jan 01 00:00:00 1970 +0000)
+       rewritten(description) as 65b757b745b9 by test (*) (glob)
          --- a/471f378eab4c-changeset-description
          +++ b/65b757b745b9-changeset-description
          @@ -1,1 +1,1 @@
          -A0
          +A2
   
-       rewritten(description) as fdf9bde5129a by test (Thu Jan 01 00:00:00 1970 +0000)
+       rewritten(description) as fdf9bde5129a by test (*) (glob)
          --- a/471f378eab4c-changeset-description
          +++ b/fdf9bde5129a-changeset-description
          @@ -1,1 +1,1 @@
@@ -1221,14 +1215,14 @@
   | o  fdf9bde5129a (2) A1
   |/
   x  471f378eab4c (1) A0
-       rewritten(description) as 65b757b745b9 by test (Thu Jan 01 00:00:00 1970 +0000)
+       rewritten(description) as 65b757b745b9 by test (*) (glob)
          --- a/471f378eab4c-changeset-description
          +++ b/65b757b745b9-changeset-description
          @@ -1,1 +1,1 @@
          -A0
          +A2
   
-       rewritten(description) as fdf9bde5129a by test (Thu Jan 01 00:00:00 1970 +0000)
+       rewritten(description) as fdf9bde5129a by test (*) (glob)
          --- a/471f378eab4c-changeset-description
          +++ b/fdf9bde5129a-changeset-description
          @@ -1,1 +1,1 @@
@@ -1374,7 +1368,7 @@
   @    eb5a0daa2192 (4) C0
   |\
   x |  471f378eab4c (1) A0
-   /     rewritten(description, content) as eb5a0daa2192 by test (Thu Jan 01 00:00:00 1970 +0000)
+   /     rewritten(description, content) as eb5a0daa2192 by test (*) (glob)
   |        --- a/471f378eab4c-changeset-description
   |        +++ b/eb5a0daa2192-changeset-description
   |        @@ -1,1 +1,1 @@
@@ -1389,11 +1383,11 @@
   |
   |
   x  b7ea6d14e664 (3) B1
-  |    rewritten(description, parent, content) as eb5a0daa2192 by test (Thu Jan 01 00:00:00 1970 +0000)
+  |    rewritten(description, parent, content) as eb5a0daa2192 by test (*) (glob)
   |      (No patch available yet, changesets rebased)
   |
   x  0dec01379d3b (2) B0
-       rewritten(description) as b7ea6d14e664 by test (Thu Jan 01 00:00:00 1970 +0000)
+       rewritten(description) as b7ea6d14e664 by test (*) (glob)
          --- a/0dec01379d3b-changeset-description
          +++ b/b7ea6d14e664-changeset-description
          @@ -1,1 +1,1 @@
@@ -1406,7 +1400,7 @@
   @    eb5a0daa2192 (4) C0
   |\
   x |  471f378eab4c (1) A0
-   /     rewritten(description, content) as eb5a0daa2192 by test (Thu Jan 01 00:00:00 1970 +0000)
+   /     rewritten(description, content) as eb5a0daa2192 by test (*) (glob)
   |        --- a/471f378eab4c-changeset-description
   |        +++ b/eb5a0daa2192-changeset-description
   |        @@ -1,1 +1,1 @@
@@ -1421,11 +1415,11 @@
   |
   |
   x  b7ea6d14e664 (3) B1
-  |    rewritten(description, parent, content) as eb5a0daa2192 by test (Thu Jan 01 00:00:00 1970 +0000)
+  |    rewritten(description, parent, content) as eb5a0daa2192 by test (*) (glob)
   |      (No patch available yet, changesets rebased)
   |
   x  0dec01379d3b (2) B0
-       rewritten(description) as b7ea6d14e664 by test (Thu Jan 01 00:00:00 1970 +0000)
+       rewritten(description) as b7ea6d14e664 by test (*) (glob)
          --- a/0dec01379d3b-changeset-description
          +++ b/b7ea6d14e664-changeset-description
          @@ -1,1 +1,1 @@
@@ -1603,7 +1597,7 @@
   @  7a230b46bf61 (3) A2
   |
   x  fdf9bde5129a (2) A1
-  |    rewritten(description) as 7a230b46bf61 by test (Thu Jan 01 00:00:00 1970 +0000)
+  |    rewritten(description) as 7a230b46bf61 by test (*) (glob)
   |      --- a/fdf9bde5129a-changeset-description
   |      +++ b/7a230b46bf61-changeset-description
   |      @@ -1,1 +1,1 @@
@@ -1612,7 +1606,7 @@
   |
   |
   x  471f378eab4c (1) A0
-       rewritten(description) as fdf9bde5129a by test (Thu Jan 01 00:00:00 1970 +0000)
+       rewritten(description) as fdf9bde5129a by test (*) (glob)
          --- a/471f378eab4c-changeset-description
          +++ b/fdf9bde5129a-changeset-description
          @@ -1,1 +1,1 @@
@@ -1639,21 +1633,21 @@
   o  7a230b46bf61 (2) A2
   |
   x  fdf9bde5129a
-  |    rewritten(description) as 7a230b46bf61 by test (Thu Jan 01 00:00:00 1970 +0000)
+  |    rewritten(description) as 7a230b46bf61 by test (*) (glob)
   |      (No patch available yet, context is not local)
   |
   @  471f378eab4c (1) A0
-       rewritten(description) as fdf9bde5129a by test (Thu Jan 01 00:00:00 1970 +0000)
+       rewritten(description) as fdf9bde5129a by test (*) (glob)
          (No patch available yet, succ is unknown locally)
   
   $ hg obslog 7a230b46bf61 --color=debug --patch
   o  [evolve.node|7a230b46bf61] [evolve.rev|(2)] [evolve.short_description|A2]
   |
   x  [evolve.node evolve.missing_change_ctx|fdf9bde5129a]
-  |    [evolve.verb|rewritten](description) as [evolve.node|7a230b46bf61] by [evolve.user|test] [evolve.date|(Thu Jan 01 00:00:00 1970 +0000)]
+  |    [evolve.verb|rewritten](description) as [evolve.node|7a230b46bf61] by [evolve.user|test] [evolve.date|(*)] (glob)
   |      (No patch available yet, context is not local)
   |
   @  [evolve.node|471f378eab4c] [evolve.rev|(1)] [evolve.short_description|A0]
-       [evolve.verb|rewritten](description) as [evolve.node|fdf9bde5129a] by [evolve.user|test] [evolve.date|(Thu Jan 01 00:00:00 1970 +0000)]
+       [evolve.verb|rewritten](description) as [evolve.node|fdf9bde5129a] by [evolve.user|test] [evolve.date|(*)] (glob)
          (No patch available yet, succ is unknown locally)
   
--- a/tests/test-evolve-order.t	Sat Sep 30 11:11:04 2017 +0100
+++ b/tests/test-evolve-order.t	Sat Sep 30 11:38:08 2017 +0100
@@ -44,9 +44,9 @@
   0 files updated, 0 files merged, 2 files removed, 0 files unresolved
   $ echo "aaa" > _a
   $ hg amend
-  2 new unstable changesets
+  2 new orphan changesets
   $ hg log -G
-  @  5:12d519679175@default(draft) add _a
+  @  4:12d519679175@default(draft) add _a
   |
   | o  3:4d156641b718@default(draft) add _c
   | |
@@ -60,9 +60,9 @@
 evolve --rev reorders the rev to solve instability, trivial case 2 revs wrong order
   $ hg evolve --rev 'desc(_c) + desc(_b)'
   move:[2] add _b
-  atop:[5] add _a
+  atop:[4] add _a
   move:[3] add _c
-  atop:[6] add _b
+  atop:[5] add _b
   working directory is now at 52b8f9b04f83
 
 evolve --rev reorders the rev to solve instability. Harder case, obsolescence
@@ -73,10 +73,10 @@
   $ hg up "desc(_a)"
   0 files updated, 0 files merged, 3 files removed, 0 files unresolved
   $ hg amend -m "aprime"
-  3 new unstable changesets
+  3 new orphan changesets
   $ hg evolve --rev "desc(_b)"
-  move:[6] add _b
-  atop:[9] aprime
+  move:[5] add _b
+  atop:[8] aprime
   working directory is now at 476c9c052aae
   $ hg up "desc(_b) - obsolete()"
   0 files updated, 0 files merged, 0 files removed, 0 files unresolved
@@ -84,40 +84,40 @@
   $ hg up "desc(aprime)"
   0 files updated, 0 files merged, 1 files removed, 0 files unresolved
   $ hg amend -m "asecond"
-  1 new unstable changesets
+  1 new orphan changesets
   $ hg log -G
-  @  12:9a584314f3f3@default(draft) asecond
+  @  11:9a584314f3f3@default(draft) asecond
   |
-  | o  11:a59c79776f7c@default(draft) bprime
+  | o  10:a59c79776f7c@default(draft) bprime
   | |
-  | x  9:81a687b96d4d@default(draft) aprime
+  | x  8:81a687b96d4d@default(draft) aprime
   |/
-  | o  8:464731bc0ed0@default(draft) add _d
+  | o  7:464731bc0ed0@default(draft) add _d
   | |
-  | o  7:52b8f9b04f83@default(draft) add _c
+  | o  6:52b8f9b04f83@default(draft) add _c
   | |
-  | x  6:59476c3836ef@default(draft) add _b
+  | x  5:59476c3836ef@default(draft) add _b
   | |
-  | x  5:12d519679175@default(draft) add _a
+  | x  4:12d519679175@default(draft) add _a
   |/
   o  0:f92638be10c7@default(public) add p
   
-  $ hg evolve --rev "unstable()"
-  move:[11] bprime
-  atop:[12] asecond
-  move:[7] add _c
-  atop:[13] bprime
-  move:[8] add _d
-  atop:[14] add _c
+  $ hg evolve --rev "orphan()"
+  move:[10] bprime
+  atop:[11] asecond
+  move:[6] add _c
+  atop:[12] bprime
+  move:[7] add _d
+  atop:[13] add _c
   working directory is now at 739f18ac1d03
   $ hg log -G
-  @  15:739f18ac1d03@default(draft) add _d
+  @  14:739f18ac1d03@default(draft) add _d
   |
-  o  14:e5960578d158@default(draft) add _c
+  o  13:e5960578d158@default(draft) add _c
   |
-  o  13:4ad33fa88946@default(draft) bprime
+  o  12:4ad33fa88946@default(draft) bprime
   |
-  o  12:9a584314f3f3@default(draft) asecond
+  o  11:9a584314f3f3@default(draft) asecond
   |
   o  0:f92638be10c7@default(public) add p
   
@@ -131,28 +131,28 @@
   $ mkstack "desc(_d)" c1second >/dev/null
   $ hg prune "desc(c1_)" -s "desc(c1prime)"
   1 changesets pruned
-  3 new unstable changesets
+  3 new orphan changesets
   $ hg prune "desc(c2_)" -s "desc(c2prime)"
   1 changesets pruned
   $ hg prune "desc(c1prime)" -s "desc(c1second)"
   1 changesets pruned
-  1 new unstable changesets
+  1 new orphan changesets
   $ hg log -G -r "desc(_d)::"
-  @  22:dcf786e878fd@default(draft) add c1second
+  @  21:dcf786e878fd@default(draft) add c1second
   |
-  | o  21:507d52d715f6@default(draft) add c2prime
+  | o  20:507d52d715f6@default(draft) add c2prime
   | |
-  | x  20:c995cb124ddc@default(draft) add c1prime
+  | x  19:c995cb124ddc@default(draft) add c1prime
   |/
-  | o  19:d096a2437fd0@default(draft) add c4_
+  | o  18:d096a2437fd0@default(draft) add c4_
   | |
-  | o  18:cde95c6cba7a@default(draft) add c3_
+  | o  17:cde95c6cba7a@default(draft) add c3_
   | |
-  | x  17:e0d9f7a099fe@default(draft) add c2_
+  | x  16:e0d9f7a099fe@default(draft) add c2_
   | |
-  | x  16:43b7c338b1f8@default(draft) add c1_
+  | x  15:43b7c338b1f8@default(draft) add c1_
   |/
-  o  15:739f18ac1d03@default(draft) add _d
+  o  14:739f18ac1d03@default(draft) add _d
   |
   ~
 
@@ -161,40 +161,40 @@
   $ mkstack "desc(_d)" b1prime b3prime >/dev/null
   $ hg prune "desc(b1_)" -s "desc(b1prime)"
   1 changesets pruned
-  3 new unstable changesets
+  3 new orphan changesets
   $ hg prune "desc(b3_)" -s "desc(b3prime)"
   1 changesets pruned
   $ hg prune "desc(b2_)"
   1 changesets pruned
 
   $ hg log -G -r "desc(_d)::"
-  @  28:b253ff5b65d1@default(draft) add b3prime
+  @  27:b253ff5b65d1@default(draft) add b3prime
   |
-  o  27:4acf61f11dfb@default(draft) add b1prime
+  o  26:4acf61f11dfb@default(draft) add b1prime
   |
-  | o  26:594e1fbbd61f@default(draft) add b4_
+  | o  25:594e1fbbd61f@default(draft) add b4_
   | |
-  | x  25:be27500cfc76@default(draft) add b3_
+  | x  24:be27500cfc76@default(draft) add b3_
   | |
-  | x  24:b54f77dc5831@default(draft) add b2_
+  | x  23:b54f77dc5831@default(draft) add b2_
   | |
-  | x  23:0e1eba27e9aa@default(draft) add b1_
+  | x  22:0e1eba27e9aa@default(draft) add b1_
   |/
-  | o  22:dcf786e878fd@default(draft) add c1second
+  | o  21:dcf786e878fd@default(draft) add c1second
   |/
-  | o  21:507d52d715f6@default(draft) add c2prime
+  | o  20:507d52d715f6@default(draft) add c2prime
   | |
-  | x  20:c995cb124ddc@default(draft) add c1prime
+  | x  19:c995cb124ddc@default(draft) add c1prime
   |/
-  | o  19:d096a2437fd0@default(draft) add c4_
+  | o  18:d096a2437fd0@default(draft) add c4_
   | |
-  | o  18:cde95c6cba7a@default(draft) add c3_
+  | o  17:cde95c6cba7a@default(draft) add c3_
   | |
-  | x  17:e0d9f7a099fe@default(draft) add c2_
+  | x  16:e0d9f7a099fe@default(draft) add c2_
   | |
-  | x  16:43b7c338b1f8@default(draft) add c1_
+  | x  15:43b7c338b1f8@default(draft) add c1_
   |/
-  o  15:739f18ac1d03@default(draft) add _d
+  o  14:739f18ac1d03@default(draft) add _d
   |
   ~
 
@@ -203,35 +203,35 @@
   (desc(_d)::) - desc(c3_)
   $ hg evolve --rev "(desc(_d)::) - desc(c3_)"
   cannot solve instability of d096a2437fd0, skipping
-  move:[21] add c2prime
-  atop:[22] add c1second
-  move:[26] add b4_
-  atop:[28] add b3prime
+  move:[20] add c2prime
+  atop:[21] add c1second
+  move:[25] add b4_
+  atop:[27] add b3prime
   working directory is now at ea93190a9cd1
 
 Cleanup
   $ hg evolve --rev "(desc(_d)::)"
-  move:[18] add c3_
-  atop:[29] add c2prime
-  move:[19] add c4_
-  atop:[31] add c3_
+  move:[17] add c3_
+  atop:[28] add c2prime
+  move:[18] add c4_
+  atop:[30] add c3_
   working directory is now at 35e7b797ace5
   $ hg log -G -r "desc(_d)::"
-  @  32:35e7b797ace5@default(draft) add c4_
+  @  31:35e7b797ace5@default(draft) add c4_
   |
-  o  31:0b9488394e89@default(draft) add c3_
+  o  30:0b9488394e89@default(draft) add c3_
   |
-  | o  30:ea93190a9cd1@default(draft) add b4_
+  | o  29:ea93190a9cd1@default(draft) add b4_
   | |
-  o |  29:881b9c092e53@default(draft) add c2prime
+  o |  28:881b9c092e53@default(draft) add c2prime
   | |
-  | o  28:b253ff5b65d1@default(draft) add b3prime
+  | o  27:b253ff5b65d1@default(draft) add b3prime
   | |
-  | o  27:4acf61f11dfb@default(draft) add b1prime
+  | o  26:4acf61f11dfb@default(draft) add b1prime
   | |
-  o |  22:dcf786e878fd@default(draft) add c1second
+  o |  21:dcf786e878fd@default(draft) add c1second
   |/
-  o  15:739f18ac1d03@default(draft) add _d
+  o  14:739f18ac1d03@default(draft) add _d
   |
   ~
 
@@ -244,22 +244,22 @@
   created new head
   $ hg prev
   0 files updated, 0 files merged, 1 files removed, 0 files unresolved
-  [29] add c2prime
+  [28] add c2prime
   $ mkcommit c3part2
   created new head
   $ hg prune -s 'desc(c3part1)' 'desc(c3_)'
   1 changesets pruned
-  1 new unstable changesets
+  1 new orphan changesets
   $ hg prune -s 'desc(c3part2)' 'desc(c3_)'
   1 changesets pruned
-  2 new divergent changesets
+  2 new content-divergent changesets
   $ hg up 'desc(b3prime)'
   2 files updated, 0 files merged, 3 files removed, 0 files unresolved
   $ hg amend -m 'b3second'
-  1 new unstable changesets
-  $ hg evolve --rev 'unstable()'
-  move:[30] add b4_
-  atop:[35] b3second
+  1 new orphan changesets
+  $ hg evolve --rev "orphan()"
+  move:[29] add b4_
+  atop:[34] b3second
   skipping 0b9488394e89: divergent rewriting. can't choose destination
   working directory is now at 31809a198477
 
--- a/tests/test-evolve-serveronly-bundle2.t	Sat Sep 30 11:11:04 2017 +0100
+++ b/tests/test-evolve-serveronly-bundle2.t	Sat Sep 30 11:38:08 2017 +0100
@@ -107,7 +107,7 @@
   remote: adding manifests
   remote: adding file changes
   remote: added 1 changesets with 1 changes to 1 files (+1 heads)
-  remote: 2 new obsolescence markers
+  remote: 1 new obsolescence markers
   remote: obsoleted 1 changesets
   $ cat ../errors.log
   $ hg push
@@ -127,7 +127,7 @@
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to [12] files \(\+1 heads\) (re)
-  2 new obsolescence markers
+  1 new obsolescence markers
   obsoleted 1 changesets
   (run 'hg heads' to see heads)
   $ cat ../errors.log
--- a/tests/test-evolve-serveronly.t	Sat Sep 30 11:11:04 2017 +0100
+++ b/tests/test-evolve-serveronly.t	Sat Sep 30 11:38:08 2017 +0100
@@ -114,8 +114,8 @@
   the remote repository use years old versions of Mercurial and evolve
   pushing obsmarker using legacy method
   (please upgrade your server)
-  pushing 2 obsolescence markers (* bytes) (glob)
-  remote: 2 obsolescence markers added
+  pushing 1 obsolescence markers (* bytes) (glob)
+  remote: 1 obsolescence markers added
   remote: obsoleted 1 changesets
   $ cat ../errors.log
   $ hg push
@@ -139,7 +139,7 @@
   the remote repository use years old versions of Mercurial and evolve
   pulling obsmarker using legacy method
   (please upgrade your server)
-  2 obsolescence markers added
+  1 obsolescence markers added
   obsoleted 1 changesets
   (run 'hg heads' to see heads)
   $ cat ../errors.log
--- a/tests/test-evolve-split.t	Sat Sep 30 11:11:04 2017 +0100
+++ b/tests/test-evolve-split.t	Sat Sep 30 11:38:08 2017 +0100
@@ -44,7 +44,7 @@
   $ hg commit -m "_pp"
   $ hg prune --succ "desc(_oo) + desc(_pp)" -r "desc('oo+pp')" --split
   1 changesets pruned
-  1 new unstable changesets
+  1 new orphan changesets
   $ hg log -G
   @  4:d0dcf24cddd3@default(draft) _pp
   |
--- a/tests/test-evolve-templates.t	Sat Sep 30 11:11:04 2017 +0100
+++ b/tests/test-evolve-templates.t	Sat Sep 30 11:38:08 2017 +0100
@@ -36,26 +36,20 @@
   $ HGUSER=test1 hg amend -m "A1" --config devel.default-date="1234567890 0"
   $ HGUSER=test2 hg amend -m "A2" --config devel.default-date="987654321 0"
   $ hg log --hidden -G
-  @  changeset:   4:d004c8f274b9
+  @  changeset:   3:d004c8f274b9
   |  tag:         tip
   |  parent:      0:ea207398892e
   |  user:        test
   |  date:        Thu Jan 01 00:00:00 1970 +0000
   |  summary:     A2
   |
-  | x  changeset:   3:a468dc9b3633
+  | x  changeset:   2:a468dc9b3633
   |/   parent:      0:ea207398892e
   |    user:        test
   |    date:        Thu Jan 01 00:00:00 1970 +0000
   |    obsolete:    reworded by test2 as d004c8f274b9
   |    summary:     A1
   |
-  | x  changeset:   2:f137d23bb3e1
-  | |  user:        test
-  | |  date:        Thu Jan 01 00:00:00 1970 +0000
-  | |  obsolete:    pruned by test1
-  | |  summary:     temporary amend commit for 471f378eab4c
-  | |
   | x  changeset:   1:471f378eab4c
   |/   user:        test
   |    date:        Thu Jan 01 00:00:00 1970 +0000
@@ -76,9 +70,9 @@
 
 Precursors template should show current revision as it is the working copy
   $ hg olog tip
-  o  d004c8f274b9 (4) A2
+  o  d004c8f274b9 (3) A2
   |
-  x  a468dc9b3633 (3) A1
+  x  a468dc9b3633 (2) A1
   |    rewritten(description) as d004c8f274b9 by test2 (Thu Apr 19 04:25:21 2001 +0000)
   |
   @  471f378eab4c (1) A0
@@ -169,9 +163,6 @@
   |      semi-colon: [d004c8f274b9]
   |      Fate: reworded as d004c8f274b9 by test2
   |
-  | x  f137d23bb3e1
-  | |    Fate: pruned by test1
-  | |
   | x  471f378eab4c
   |/     Successors: [a468dc9b3633]
   |      semi-colon: [a468dc9b3633]
@@ -205,9 +196,6 @@
   |      semi-colon: [d004c8f274b9]
   |      Fate: reworded as d004c8f274b9 by test2
   |
-  | x  f137d23bb3e1
-  | |    Fate: pruned by test1
-  | |
   | x  471f378eab4c
   |/     Successors: [a468dc9b3633]
   |      semi-colon: [a468dc9b3633]
@@ -227,9 +215,6 @@
   | x  a468dc9b3633
   |/     Obsfate: reworded as d004c8f274b9 by test2 (at 2001-04-19 04:25 +0000)
   |
-  | x  f137d23bb3e1
-  | |    Obsfate: pruned by test1 (at 2009-02-13 23:31 +0000)
-  | |
   | x  471f378eab4c
   |/     Obsfate: rewritten as a468dc9b3633 by test1 (at 2009-02-13 23:31 +0000)
   |
@@ -239,11 +224,9 @@
   $ hg fatelogjson --hidden
   @  d004c8f274b9 ""
   |
-  | x  a468dc9b3633 [{"markers": [["a468dc9b36338b14fdb7825f55ce3df4e71517ad", ["d004c8f274b9ec480a47a93c10dac5eee63adb78"], 0, [["ef1", "1"], ["user", "test2"]], [987654321.0, 0], null]], "max_date": [987654321.0, 0], "min_date": [987654321.0, 0], "successors": ["d004c8f274b9ec480a47a93c10dac5eee63adb78"], "users": ["test2"], "verb": "reworded"}]
+  | x  a468dc9b3633 [{"markers": [["a468dc9b36338b14fdb7825f55ce3df4e71517ad", ["d004c8f274b9ec480a47a93c10dac5eee63adb78"], 0, [["ef1", "1"], ["operation", "amend"], ["user", "test2"]], [987654321.0, 0], null]], "max_date": [987654321.0, 0], "min_date": [987654321.0, 0], "successors": ["d004c8f274b9ec480a47a93c10dac5eee63adb78"], "users": ["test2"], "verb": "reworded"}]
   |/
-  | x  f137d23bb3e1 [{"markers": [["f137d23bb3e11dc1daeb6264fac9cb2433782e15", [], 0, [["ef1", "0"], ["user", "test1"]], [1234567890.0, 0], ["471f378eab4c5e25f6c77f785b27c936efb22874"]]], "max_date": [1234567890.0, 0], "min_date": [1234567890.0, 0], "successors": [], "users": ["test1"], "verb": "pruned"}]
-  | |
-  | x  471f378eab4c [{"markers": [["471f378eab4c5e25f6c77f785b27c936efb22874", ["a468dc9b36338b14fdb7825f55ce3df4e71517ad"], 0, [["ef1", "9"], ["user", "test1"]], [1234567890.0, 0], null]], "max_date": [1234567890.0, 0], "min_date": [1234567890.0, 0], "successors": ["a468dc9b36338b14fdb7825f55ce3df4e71517ad"], "users": ["test1"], "verb": "rewritten"}]
+  | x  471f378eab4c [{"markers": [["471f378eab4c5e25f6c77f785b27c936efb22874", ["a468dc9b36338b14fdb7825f55ce3df4e71517ad"], 0, [["ef1", "9"], ["operation", "amend"], ["user", "test1"]], [1234567890.0, 0], null]], "max_date": [1234567890.0, 0], "min_date": [1234567890.0, 0], "successors": ["a468dc9b36338b14fdb7825f55ce3df4e71517ad"], "users": ["test1"], "verb": "rewritten"}]
   |/
   o  ea207398892e ""
   
@@ -618,21 +601,21 @@
   working directory parent is obsolete! (471f378eab4c)
   (use 'hg evolve' to update to its successor: fdf9bde5129a)
   $ hg amend -m "A2"
-  2 new divergent changesets
+  2 new content-divergent changesets
   $ hg log --hidden -G
   @  changeset:   3:65b757b745b9
   |  tag:         tip
   |  parent:      0:ea207398892e
   |  user:        test
   |  date:        Thu Jan 01 00:00:00 1970 +0000
-  |  trouble:     divergent
+  |  instability: content-divergent
   |  summary:     A2
   |
   | o  changeset:   2:fdf9bde5129a
   |/   parent:      0:ea207398892e
   |    user:        test
   |    date:        Thu Jan 01 00:00:00 1970 +0000
-  |    trouble:     divergent
+  |    instability: content-divergent
   |    summary:     A1
   |
   | x  changeset:   1:471f378eab4c
@@ -743,11 +726,11 @@
   $ hg fatelogjson --hidden
   o  019fadeab383 ""
   |
-  | x  65b757b745b9 [{"markers": [["65b757b745b935093c87a2bccd877521cccffcbd", ["019fadeab383f6699fa83ad7bdb4d82ed2c0e5ab"], 0, [["ef1", "1"], ["user", "test"]], [0.0, 0], null]], "max_date": [0.0, 0], "min_date": [0.0, 0], "successors": ["019fadeab383f6699fa83ad7bdb4d82ed2c0e5ab"], "users": ["test"], "verb": "reworded"}]
+  | x  65b757b745b9 [{"markers": [["65b757b745b935093c87a2bccd877521cccffcbd", ["019fadeab383f6699fa83ad7bdb4d82ed2c0e5ab"], 0, [["ef1", "1"], ["operation", "amend"], ["user", "test"]], [0.0, 0], null]], "max_date": [0.0, 0], "min_date": [0.0, 0], "successors": ["019fadeab383f6699fa83ad7bdb4d82ed2c0e5ab"], "users": ["test"], "verb": "reworded"}]
   |/
   | @  fdf9bde5129a ""
   |/
-  | x  471f378eab4c [{"markers": [["471f378eab4c5e25f6c77f785b27c936efb22874", ["fdf9bde5129a28d4548fadd3f62b265cdd3b7a2e"], 0, [["ef1", "1"], ["user", "test"]], [0.0, 0], null]], "max_date": [0.0, 0], "min_date": [0.0, 0], "successors": ["fdf9bde5129a28d4548fadd3f62b265cdd3b7a2e"], "users": ["test"], "verb": "reworded"}, {"markers": [["471f378eab4c5e25f6c77f785b27c936efb22874", ["65b757b745b935093c87a2bccd877521cccffcbd"], 0, [["ef1", "1"], ["user", "test"]], [0.0, 0], null]], "max_date": [0.0, 0], "min_date": [0.0, 0], "successors": ["65b757b745b935093c87a2bccd877521cccffcbd"], "users": ["test"], "verb": "reworded"}]
+  | x  471f378eab4c [{"markers": [["471f378eab4c5e25f6c77f785b27c936efb22874", ["fdf9bde5129a28d4548fadd3f62b265cdd3b7a2e"], 0, [["ef1", "1"], ["operation", "amend"], ["user", "test"]], [0.0, 0], null]], "max_date": [0.0, 0], "min_date": [0.0, 0], "successors": ["fdf9bde5129a28d4548fadd3f62b265cdd3b7a2e"], "users": ["test"], "verb": "reworded"}, {"markers": [["471f378eab4c5e25f6c77f785b27c936efb22874", ["65b757b745b935093c87a2bccd877521cccffcbd"], 0, [["ef1", "1"], ["operation", "amend"], ["user", "test"]], [0.0, 0], null]], "max_date": [0.0, 0], "min_date": [0.0, 0], "successors": ["65b757b745b935093c87a2bccd877521cccffcbd"], "users": ["test"], "verb": "reworded"}]
   |/
   o  ea207398892e ""
   
@@ -962,7 +945,7 @@
   |
   | x  b7ea6d14e664 [{"markers": [["b7ea6d14e664bdc8922221f7992631b50da3fb07", ["eb5a0daa21923bbf8caeb2c42085b9e463861fd0"], 0, [["ef1", "13"], ["user", "test"]], [0.0, 0], null]], "max_date": [0.0, 0], "min_date": [0.0, 0], "successors": ["eb5a0daa21923bbf8caeb2c42085b9e463861fd0"], "users": ["test"], "verb": "rewritten"}]
   | |
-  | | x  0dec01379d3b [{"markers": [["0dec01379d3be6318c470ead31b1fe7ae7cb53d5", ["b7ea6d14e664bdc8922221f7992631b50da3fb07"], 0, [["ef1", "1"], ["user", "test"]], [0.0, 0], null]], "max_date": [0.0, 0], "min_date": [0.0, 0], "successors": ["b7ea6d14e664bdc8922221f7992631b50da3fb07"], "users": ["test"], "verb": "reworded"}]
+  | | x  0dec01379d3b [{"markers": [["0dec01379d3be6318c470ead31b1fe7ae7cb53d5", ["b7ea6d14e664bdc8922221f7992631b50da3fb07"], 0, [["ef1", "1"], ["operation", "amend"], ["user", "test"]], [0.0, 0], null]], "max_date": [0.0, 0], "min_date": [0.0, 0], "successors": ["b7ea6d14e664bdc8922221f7992631b50da3fb07"], "users": ["test"], "verb": "reworded"}]
   | |/
   | x  471f378eab4c [{"markers": [["471f378eab4c5e25f6c77f785b27c936efb22874", ["eb5a0daa21923bbf8caeb2c42085b9e463861fd0"], 0, [["ef1", "9"], ["user", "test"]], [0.0, 0], null]], "max_date": [0.0, 0], "min_date": [0.0, 0], "successors": ["eb5a0daa21923bbf8caeb2c42085b9e463861fd0"], "users": ["test"], "verb": "rewritten"}]
   |/
@@ -1113,7 +1096,7 @@
   $ hg fatelogjson --hidden
   @  7a230b46bf61 ""
   |
-  | x  471f378eab4c [{"markers": [["471f378eab4c5e25f6c77f785b27c936efb22874", ["fdf9bde5129a28d4548fadd3f62b265cdd3b7a2e"], 0, [["ef1", "1"], ["user", "test"]], [0.0, 0], null], ["fdf9bde5129a28d4548fadd3f62b265cdd3b7a2e", ["7a230b46bf61e50b30308c6cfd7bd1269ef54702"], 0, [["ef1", "1"], ["user", "test"]], [0.0, 0], null]], "max_date": [0.0, 0], "min_date": [0.0, 0], "successors": ["7a230b46bf61e50b30308c6cfd7bd1269ef54702"], "users": ["test"], "verb": "reworded"}]
+  | x  471f378eab4c [{"markers": [["471f378eab4c5e25f6c77f785b27c936efb22874", ["fdf9bde5129a28d4548fadd3f62b265cdd3b7a2e"], 0, [["ef1", "1"], ["operation", "amend"], ["user", "test"]], [0.0, 0], null], ["fdf9bde5129a28d4548fadd3f62b265cdd3b7a2e", ["7a230b46bf61e50b30308c6cfd7bd1269ef54702"], 0, [["ef1", "1"], ["operation", "amend"], ["user", "test"]], [0.0, 0], null]], "max_date": [0.0, 0], "min_date": [0.0, 0], "successors": ["7a230b46bf61e50b30308c6cfd7bd1269ef54702"], "users": ["test"], "verb": "reworded"}]
   |/
   o  ea207398892e ""
   
--- a/tests/test-evolve-topic.t	Sat Sep 30 11:11:04 2017 +0100
+++ b/tests/test-evolve-topic.t	Sat Sep 30 11:38:08 2017 +0100
@@ -87,16 +87,16 @@
   0 files updated, 0 files merged, 2 files removed, 0 files unresolved
   $ echo ddd >> ddd
   $ hg amend
-  6 new unstable changesets
+  6 new orphan changesets
   $ hg up 'desc(fff)'
   3 files updated, 0 files merged, 0 files removed, 0 files unresolved
   $ echo fff >> fff
   $ hg amend
 
   $ hg log -G
-  @  13 - {foo} e104f49bab28 add fff (draft)
+  @  11 - {foo} e104f49bab28 add fff (draft)
   |
-  | o  11 - {foo} d9cacd156ffc add ddd (draft)
+  | o  10 - {foo} d9cacd156ffc add ddd (draft)
   | |
   | | o  9 - {bar} 1d964213b023 add jjj (draft)
   | | |
@@ -123,16 +123,16 @@
 
   $ hg evolve --all
   move:[4] add eee
-  atop:[11] add ddd
-  move:[13] add fff
-  atop:[14] add eee
+  atop:[10] add ddd
+  move:[11] add fff
+  atop:[12] add eee
   working directory is now at 070c5573d8f9
   $ hg log -G
-  @  15 - {foo} 070c5573d8f9 add fff (draft)
+  @  13 - {foo} 070c5573d8f9 add fff (draft)
   |
-  o  14 - {foo} 42b49017ff90 add eee (draft)
+  o  12 - {foo} 42b49017ff90 add eee (draft)
   |
-  o  11 - {foo} d9cacd156ffc add ddd (draft)
+  o  10 - {foo} d9cacd156ffc add ddd (draft)
   |
   | o  9 - {bar} 1d964213b023 add jjj (draft)
   | |
@@ -160,28 +160,28 @@
 
   $ hg evolve --rev 'topic(bar)'
   move:[6] add ggg
-  atop:[15] add fff
+  atop:[13] add fff
   move:[7] add hhh
-  atop:[16] add ggg
+  atop:[14] add ggg
   move:[8] add iii
-  atop:[17] add hhh
+  atop:[15] add hhh
   move:[9] add jjj
-  atop:[18] add iii
+  atop:[16] add iii
   working directory is now at 9bf430c106b7
   $ hg log -G
-  @  19 - {bar} 9bf430c106b7 add jjj (draft)
+  @  17 - {bar} 9bf430c106b7 add jjj (draft)
   |
-  o  18 - {bar} d2dc89c57700 add iii (draft)
+  o  16 - {bar} d2dc89c57700 add iii (draft)
   |
-  o  17 - {bar} 20bc4d02aa62 add hhh (draft)
+  o  15 - {bar} 20bc4d02aa62 add hhh (draft)
   |
-  o  16 - {bar} 16d6f664b17c add ggg (draft)
+  o  14 - {bar} 16d6f664b17c add ggg (draft)
   |
-  o  15 - {foo} 070c5573d8f9 add fff (draft)
+  o  13 - {foo} 070c5573d8f9 add fff (draft)
   |
-  o  14 - {foo} 42b49017ff90 add eee (draft)
+  o  12 - {foo} 42b49017ff90 add eee (draft)
   |
-  o  11 - {foo} d9cacd156ffc add ddd (draft)
+  o  10 - {foo} d9cacd156ffc add ddd (draft)
   |
   o  2 - {foo} cced9bac76e3 add ccc (draft)
   |
@@ -200,10 +200,10 @@
   0 files updated, 0 files merged, 4 files removed, 0 files unresolved
   $ hg prev
   0 files updated, 0 files merged, 1 files removed, 0 files unresolved
-  [14] add eee
+  [12] add eee
   $ hg next
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
-  [15] add fff
+  [13] add fff
   $ hg next
   no children on topic "foo"
   do you want --no-topic
@@ -211,11 +211,11 @@
   $ hg next --no-topic
   switching to topic bar
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
-  [16] add ggg
+  [14] add ggg
   $ hg prev
   preserving the current topic 'bar'
   0 files updated, 0 files merged, 1 files removed, 0 files unresolved
-  [15] add fff
+  [13] add fff
   $ hg prev
   no parent in topic "bar"
   (do you want --no-topic)
@@ -223,4 +223,4 @@
   $ hg prev --no-topic
   switching to topic foo
   0 files updated, 0 files merged, 1 files removed, 0 files unresolved
-  [14] add eee
+  [12] add eee
--- a/tests/test-evolve.t	Sat Sep 30 11:11:04 2017 +0100
+++ b/tests/test-evolve.t	Sat Sep 30 11:38:08 2017 +0100
@@ -327,7 +327,7 @@
 changeset plus the updating changeset are hidden from view by default::
 
   $ hg log
-  4	feature-B: another feature (child of 568a468b60fc) - test
+  3	feature-B: another feature (child of 568a468b60fc) - test
   1	feature-A: a nifty feature - test
   0	: base - test
 
@@ -344,22 +344,18 @@
 (amend of on ancestors)
 
   $ hg amend
-  1 new unstable changesets
+  1 new orphan changesets
   $ hg log
-  6	feature-A: a nifty feature - test
-  4	feature-B: another feature (child of 568a468b60fc) - test
+  4	feature-A: a nifty feature - test
+  3	feature-B: another feature (child of 568a468b60fc) - test
   1	: a nifty feature - test
   0	: base - test
   $ hg up -q 0
   $ glog --hidden
-  o  6:ba0ec09b1bab@default(draft) a nifty feature
+  o  4:ba0ec09b1bab@default(draft) a nifty feature
   |
-  | x  5:c296b79833d1@default(draft) temporary amend commit for 568a468b60fc
+  | o  3:6992c59c6b06@default(draft) another feature (child of 568a468b60fc)
   | |
-  | | o  4:6992c59c6b06@default(draft) another feature (child of 568a468b60fc)
-  | |/
-  | | x  3:c97947cdc7a2@default(draft) temporary amend commit for 73296a82292a
-  | | |
   | | x  2:73296a82292a@default(draft) another feature (child of 568a468b60fc)
   | |/
   | x  1:568a468b60fc@default(draft) a nifty feature
@@ -367,101 +363,99 @@
   @  0:e55e0562ee93@default(public) base
   
   $ hg debugobsolete
-  73296a82292a76fb8a7061969d2489ec0d84cd5e 6992c59c6b06a1b4a92e24ff884829ae026d018b 0 (*) {'ef1': '8', 'user': 'test'} (glob)
-  c97947cdc7a2a11cf78419f5c2c3dd3944ec79e8 0 {73296a82292a76fb8a7061969d2489ec0d84cd5e} (*) {'ef1': '0', 'user': 'test'} (glob)
-  568a468b60fc99a42d5d4ddbe181caff1eef308d ba0ec09b1babf3489b567853807f452edd46704f 0 (*) {'ef1': '8', 'user': 'test'} (glob)
-  c296b79833d1d497f33144786174bf35e04e44a3 0 {568a468b60fc99a42d5d4ddbe181caff1eef308d} (*) {'ef1': '0', 'user': 'test'} (glob)
+  73296a82292a76fb8a7061969d2489ec0d84cd5e 6992c59c6b06a1b4a92e24ff884829ae026d018b 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '8', 'operation': 'amend', 'user': 'test'}
+  568a468b60fc99a42d5d4ddbe181caff1eef308d ba0ec09b1babf3489b567853807f452edd46704f 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '8', 'operation': 'amend', 'user': 'test'}
   $ hg evolve
-  move:[4] another feature (child of 568a468b60fc)
-  atop:[6] a nifty feature
+  move:[3] another feature (child of 568a468b60fc)
+  atop:[4] a nifty feature
   merging main-file-1
   working directory is now at 99833d22b0c6
   $ hg log
-  7	feature-B: another feature (child of ba0ec09b1bab) - test
-  6	feature-A: a nifty feature - test
+  5	feature-B: another feature (child of ba0ec09b1bab) - test
+  4	feature-A: a nifty feature - test
   0	: base - test
 
 Test commit -o options
 
-  $ hg up 6
+  $ hg up -r "desc('a nifty feature')"
   1 files updated, 0 files merged, 1 files removed, 0 files unresolved
-  $ hg revert -r 7 --all
+  $ hg revert -r "desc('another feature')" --all
   adding file-from-B
   reverting main-file-1
   $ sed -i'' -e s/Zwei/deux/ main-file-1
-  $ hg commit -m 'another feature that rox' -o 7
+  $ hg commit -m 'another feature that rox' -o 5
   created new head
   $ hg log
-  8	feature-B: another feature that rox - test
-  6	feature-A: a nifty feature - test
+  6	feature-B: another feature that rox - test
+  4	feature-A: a nifty feature - test
   0	: base - test
 
 phase change turning obsolete changeset public issue a bumped warning
 
-  $ hg phase --hidden --public 7
-  1 new bumped changesets
+  $ hg phase --hidden --public 99833d22b0c6
+  1 new phase-divergent changesets
 
 all solving bumped troubled
 
-  $ hg log -G
-  @  8	feature-B: another feature that rox - test
+  $ glog
+  @  6:47d52a103155@default(draft) another feature that rox
   |
-  | o  7	: another feature (child of ba0ec09b1bab) - test
+  | o  5:99833d22b0c6@default(public) another feature (child of ba0ec09b1bab)
   |/
-  o  6	feature-A: a nifty feature - test
+  o  4:ba0ec09b1bab@default(public) a nifty feature
   |
-  o  0	: base - test
+  o  0:e55e0562ee93@default(public) base
   
   $ hg evolve --any --traceback --phasedivergent
-  recreate:[8] another feature that rox
-  atop:[7] another feature (child of ba0ec09b1bab)
+  recreate:[6] another feature that rox
+  atop:[5] another feature (child of ba0ec09b1bab)
   computing new diff
   committed as 6707c5e1c49d
   working directory is now at 6707c5e1c49d
-  $ hg log -G
-  @  9	feature-B: bumped update to 99833d22b0c6: - test
+  $ glog
+  @  7:6707c5e1c49d@default(draft) bumped update to 99833d22b0c6:
   |
-  o  7	: another feature (child of ba0ec09b1bab) - test
+  o  5:99833d22b0c6@default(public) another feature (child of ba0ec09b1bab)
   |
-  o  6	feature-A: a nifty feature - test
+  o  4:ba0ec09b1bab@default(public) a nifty feature
   |
-  o  0	: base - test
+  o  0:e55e0562ee93@default(public) base
   
-  $ hg diff --hidden -r 9 -r 8
-  $ hg diff -r 9^ -r 9
+  $ hg diff --hidden -r 6707c5e1c49d -r 47d52a103155
+  $ hg diff -r 6707c5e1c49d^ -r 6707c5e1c49d
   diff --git a/main-file-1 b/main-file-1
   --- a/main-file-1
   +++ b/main-file-1
   @@ -3,1 +3,1 @@
   -Zwei
   +deux
-  $ hg log -r 'bumped()' # no more bumped
+  $ hg log -r 'phasedivergent()' # no more bumped
 
 test evolve --all
   $ sed -i'' -e s/deux/to/ main-file-1
   $ hg commit -m 'dansk 2!'
   $ sed -i'' -e s/Three/tre/ main-file-1
   $ hg commit -m 'dansk 3!'
-  $ hg update 9
+  $ hg update 6707c5e1c49d
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   $ sed -i'' -e s/Un/Én/ main-file-1
   $ hg commit --amend -m 'dansk!'
-  2 new unstable changesets
+  2 new orphan changesets
 
 (ninja test for the {trouble} template:
 
   $ hg log -G --template '{rev} {troubles}\n'
-  @  13
+  @  10
   |
-  | o  11 orphan
+  | o  9 orphan
   | |
-  | o  10 orphan
+  | o  8 orphan
   | |
-  | x  9
+  | x  7
   |/
-  o  7
+  o  5
   |
-  o  6
+  o  4
   |
   o  0
   
@@ -470,23 +464,23 @@
 (/ninja)
 
   $ hg evolve --all --traceback
-  move:[10] dansk 2!
-  atop:[13] dansk!
+  move:[8] dansk 2!
+  atop:[10] dansk!
   merging main-file-1
-  move:[11] dansk 3!
-  atop:[14] dansk 2!
+  move:[9] dansk 3!
+  atop:[11] dansk 2!
   merging main-file-1
   working directory is now at 68557e4f0048
   $ hg log -G
-  @  15	: dansk 3! - test
+  @  12	: dansk 3! - test
   |
-  o  14	: dansk 2! - test
+  o  11	: dansk 2! - test
   |
-  o  13	feature-B: dansk! - test
+  o  10	feature-B: dansk! - test
   |
-  o  7	: another feature (child of ba0ec09b1bab) - test
+  o  5	: another feature (child of ba0ec09b1bab) - test
   |
-  o  6	feature-A: a nifty feature - test
+  o  4	feature-A: a nifty feature - test
   |
   o  0	: base - test
   
@@ -546,13 +540,13 @@
   checking manifests
   crosschecking files in changesets and manifests
   checking files
-  3 files, 4 changesets, 4 total revisions
+  3 files, 3 changesets, 3 total revisions
   $ hg --config extensions.hgext.mq= strip 'extinct()'
   abort: empty revision set
   [255]
 (do some garbare collection)
   $ hg --config extensions.hgext.mq= strip --hidden 'extinct()'  --config devel.strip-obsmarkers=no
-  saved backup bundle to $TESTTMP/alpha/.hg/strip-backup/e87767087a57-d7bd82e9-backup.hg (glob)
+  saved backup bundle to $TESTTMP/alpha/.hg/strip-backup/e87767087a57-a365b072-backup.hg (glob)
   $ hg verify
   checking changesets
   checking manifests
@@ -571,7 +565,7 @@
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
-  2 new obsolescence markers
+  1 new obsolescence markers
   (run 'hg update' to get a working copy)
   $ hg up
   2 files updated, 0 files merged, 0 files removed, 0 files unresolved
@@ -770,12 +764,12 @@
   @    d26d339c513f (12) add 4
   |\
   x |    af636757ce3b (11) add 3
-  |\ \     rewritten(description, user, parent, content) as d26d339c513f by test (Thu Jan 01 00:00:00 1970 +0000)
+  |\ \     rewritten(description, user, parent, content) as d26d339c513f by test (*) (glob)
   | | |
   | \ \
   | |\ \
   | | | x  ce341209337f (4) add 4
-  | | |      rewritten(description, user, content) as d26d339c513f by test (Thu Jan 01 00:00:00 1970 +0000)
+  | | |      rewritten(description, user, content) as d26d339c513f by test (*) (glob)
   | | |
 
 Test obsstore stat
@@ -831,7 +825,7 @@
   $ hg ci -m c
   $ hg prune .^
   1 changesets pruned
-  1 new unstable changesets
+  1 new orphan changesets
   $ hg stab --any
   move:[15] c
   atop:[13] a
@@ -848,13 +842,13 @@
   2 changesets folded
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   $ glog
-  @  16:98cb758db56d@default(draft) Folding with custom commit message
+  @  13:98cb758db56d@default(draft) Folding with custom commit message
   |
-  o  13:0a2f9b959bb4@default(draft) dansk!
+  o  10:0a2f9b959bb4@default(draft) dansk!
   |
-  o  7:99833d22b0c6@default(public) another feature (child of ba0ec09b1bab)
+  o  5:99833d22b0c6@default(public) another feature (child of ba0ec09b1bab)
   |
-  o  6:ba0ec09b1bab@default(public) a nifty feature
+  o  4:ba0ec09b1bab@default(public) a nifty feature
   |
   o  0:e55e0562ee93@default(public) base
   
@@ -867,10 +861,10 @@
   2 changesets folded
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   $ hg qlog
-  17 - a00182c58888 A longer
+  14 - a00182c58888 A longer
                     commit message (draft)
-  7 - 99833d22b0c6 another feature (child of ba0ec09b1bab) (public)
-  6 - ba0ec09b1bab a nifty feature (public)
+  5 - 99833d22b0c6 another feature (child of ba0ec09b1bab) (public)
+  4 - ba0ec09b1bab a nifty feature (public)
   0 - e55e0562ee93 base (public)
 
   $ cd ..
@@ -908,17 +902,17 @@
   marked working directory as branch mybranch
   (branches are permanent and global, did you want a bookmark?)
   $ hg amend
-  1 new unstable changesets
+  1 new orphan changesets
 
   $ hg evolve
   move:[3] a3
-  atop:[5] a2
+  atop:[4] a2
   working directory is now at 7c5649f73d11
 
   $ hg log -G --template '{rev} [{branch}] {desc|firstline}\n'
-  @  6 [mybranch] a3
+  @  5 [mybranch] a3
   |
-  o  5 [mybranch] a2
+  o  4 [mybranch] a2
   |
   o  1 [default] a1
   |
@@ -930,42 +924,42 @@
   $ hg up 'desc(a1)'
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   $ hg amend -m 'a1_'
-  2 new unstable changesets
+  2 new orphan changesets
   $ hg evolve
-  move:[5] a2
-  atop:[7] a1_
+  move:[4] a2
+  atop:[6] a1_
   working directory is now at eb07e22a0e63
   $ hg evolve
-  move:[6] a3
-  atop:[8] a2
+  move:[5] a3
+  atop:[7] a2
   working directory is now at 777c26ca5e78
   $ hg log -G --template '{rev} [{branch}] {desc|firstline}\n'
-  @  9 [mybranch] a3
+  @  8 [mybranch] a3
   |
-  o  8 [mybranch] a2
+  o  7 [mybranch] a2
   |
-  o  7 [default] a1_
+  o  6 [default] a1_
   |
   o  0 [default] a0
   
 
 Evolve from the middle of a stack pick the right changesets.
 
-  $ hg up 7
+  $ hg up -r "desc('a1_')"
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   $ hg ci --amend -m 'a1__'
-  2 new unstable changesets
+  2 new orphan changesets
 
-  $ hg up 8
+  $ hg up -r "desc('a2')"
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   $ hg log -G --template '{rev} [{branch}] {desc|firstline}\n'
-  o  10 [default] a1__
+  o  9 [default] a1__
   |
-  | o  9 [mybranch] a3
+  | o  8 [mybranch] a3
   | |
-  | @  8 [mybranch] a2
+  | @  7 [mybranch] a2
   | |
-  | x  7 [default] a1_
+  | x  6 [default] a1_
   |/
   o  0 [default] a0
   
@@ -977,69 +971,69 @@
 
 Evolve disables active bookmarks.
 
-  $ hg up 10
+  $ hg up -r "desc('a1__')"
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   $ hg bookmark testbookmark
   $ ls .hg/bookmarks*
   .hg/bookmarks
   .hg/bookmarks.* (glob)
   $ hg evolve
-  move:[8] a2
-  atop:[10] a1__
+  move:[7] a2
+  atop:[9] a1__
   (leaving bookmark testbookmark)
   working directory is now at d952e93add6f
   $ ls .hg/bookmarks*
   .hg/bookmarks
-  $ hg log -G
-  @  11	: a2 - test
+  $ glog
+  @  10:d952e93add6f@mybranch(draft) a2
   |
-  o  10	testbookmark: a1__ - test
+  o  9:9f8b83c2e7f3@default(draft) a1__
   |
-  | o  9	: a3 - test
+  | o  8:777c26ca5e78@mybranch(draft) a3
   | |
-  | x  8	: a2 - test
+  | x  7:eb07e22a0e63@mybranch(draft) a2
   | |
-  | x  7	: a1_ - test
+  | x  6:faafc6cea0ba@default(draft) a1_
   |/
-  o  0	: a0 - test
+  o  0:07c1c36d9ef0@default(draft) a0
   
 
 Possibility to select what trouble to solve first, asking for bumped before
 divergent
-  $ hg up 10
+  $ hg up -r "desc('a1__')"
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
-  $ hg revert -r 11 --all
+  $ hg revert -r d952e93add6f --all
   reverting a
   $ hg log -G --template '{rev} [{branch}] {desc|firstline}\n'
-  o  11 [mybranch] a2
+  o  10 [mybranch] a2
   |
-  @  10 [default] a1__
+  @  9 [default] a1__
   |
-  | o  9 [mybranch] a3
+  | o  8 [mybranch] a3
   | |
-  | x  8 [mybranch] a2
+  | x  7 [mybranch] a2
   | |
-  | x  7 [default] a1_
+  | x  6 [default] a1_
   |/
   o  0 [default] a0
   
   $ echo "hello world" > newfile
   $ hg add newfile
-  $ hg commit -m "add new file bumped" -o 11
-  $ hg phase --public --hidden 11
-  1 new bumped changesets
+  $ hg commit -m "add new file bumped" -o 10
+  $ hg phase --public --hidden d952e93add6f
+  1 new phase-divergent changesets
   $ hg log -G
-  @  12	: add new file bumped - test
+  @  11	: add new file bumped - test
   |
-  | o  11	: a2 - test
+  | o  10	: a2 - test
   |/
-  o  10	testbookmark: a1__ - test
+  o  9	testbookmark: a1__ - test
   |
-  | o  9	: a3 - test
+  | o  8	: a3 - test
   | |
-  | x  8	: a2 - test
+  | x  7	: a2 - test
   | |
-  | x  7	: a1_ - test
+  | x  6	: a1_ - test
   |/
   o  0	: a0 - test
   
@@ -1048,38 +1042,38 @@
 normally the unstable changeset would be solve first
 
   $ hg log -G
-  @  12	: add new file bumped - test
+  @  11	: add new file bumped - test
   |
-  | o  11	: a2 - test
+  | o  10	: a2 - test
   |/
-  o  10	testbookmark: a1__ - test
+  o  9	testbookmark: a1__ - test
   |
-  | o  9	: a3 - test
+  | o  8	: a3 - test
   | |
-  | x  8	: a2 - test
+  | x  7	: a2 - test
   | |
-  | x  7	: a1_ - test
+  | x  6	: a1_ - test
   |/
   o  0	: a0 - test
   
-  $ hg evolve -r 12 --phasedivergent
-  recreate:[12] add new file bumped
-  atop:[11] a2
+  $ hg evolve -r "desc('add new file bumped')" --phasedivergent
+  recreate:[11] add new file bumped
+  atop:[10] a2
   computing new diff
   committed as f15d32934071
   working directory is now at f15d32934071
   $ hg evolve --any
-  move:[9] a3
-  atop:[13] bumped update to d952e93add6f:
+  move:[8] a3
+  atop:[12] bumped update to d952e93add6f:
   working directory is now at cce26b684bfe
   $ glog
-  @  14:cce26b684bfe@default(draft) a3
+  @  13:cce26b684bfe@default(draft) a3
   |
-  o  13:f15d32934071@default(draft) bumped update to d952e93add6f:
+  o  12:f15d32934071@default(draft) bumped update to d952e93add6f:
   |
-  o  11:d952e93add6f@mybranch(public) a2
+  o  10:d952e93add6f@mybranch(public) a2
   |
-  o  10:9f8b83c2e7f3@default(public) a1__
+  o  9:9f8b83c2e7f3@default(public) a1__
   |
   o  0:07c1c36d9ef0@default(public) a0
   
@@ -1096,69 +1090,69 @@
   0 files updated, 0 files merged, 1 files removed, 0 files unresolved
   $ printf "newline\nnewline\n" >> a
   $ hg log -G
-  o  16	: add gh - test
+  o  15	: add gh - test
   |
-  | o  15	: add gg - test
+  | o  14	: add gg - test
   |/
-  @  14	: a3 - test
+  @  13	: a3 - test
   |
-  o  13	: bumped update to d952e93add6f: - test
+  o  12	: bumped update to d952e93add6f: - test
   |
-  o  11	: a2 - test
+  o  10	: a2 - test
   |
-  o  10	testbookmark: a1__ - test
+  o  9	testbookmark: a1__ - test
   |
   o  0	: a0 - test
   
   $ hg amend
-  2 new unstable changesets
-  $ hg log -G
-  @  18	: a3 - test
+  2 new orphan changesets
+  $ glog
+  @  16:edc3c9de504e@default(draft) a3
   |
-  | o  16	: add gh - test
+  | o  15:beb41503aa3e@default(draft) add gh
   | |
-  | | o  15	: add gg - test
+  | | o  14:27247fcb2df6@default(draft) add gg
   | |/
-  | x  14	: a3 - test
+  | x  13:cce26b684bfe@default(draft) a3
   |/
-  o  13	: bumped update to d952e93add6f: - test
+  o  12:f15d32934071@default(draft) bumped update to d952e93add6f:
   |
-  o  11	: a2 - test
+  o  10:d952e93add6f@mybranch(public) a2
   |
-  o  10	testbookmark: a1__ - test
+  o  9:9f8b83c2e7f3@default(public) a1__
   |
-  o  0	: a0 - test
+  o  0:07c1c36d9ef0@default(public) a0
   
 
 Evolving an empty revset should do nothing
-  $ hg evolve --rev "16 and 15"
+  $ hg evolve --rev "beb41503aa3e and 27247fcb2df6"
   set of specified revisions is empty
   [1]
 
-  $ hg evolve --rev "14::" --phasedivergent
+  $ hg evolve --rev "cce26b684bfe::" --phasedivergent
   no phasedivergent changesets in specified revisions
   (do you want to use --orphan)
   [2]
-  $ hg evolve --rev "14::" --orphan
-  move:[15] add gg
-  atop:[18] a3
-  move:[16] add gh
-  atop:[18] a3
+  $ hg evolve --rev "cce26b684bfe::" --orphan
+  move:[14] add gg
+  atop:[16] a3
+  move:[15] add gh
+  atop:[16] a3
   working directory is now at e02107f98737
-  $ hg log -G
-  @  20	: add gh - test
+  $ glog
+  @  18:e02107f98737@default(draft) add gh
   |
-  | o  19	: add gg - test
+  | o  17:24e63b319adf@default(draft) add gg
   |/
-  o  18	: a3 - test
+  o  16:edc3c9de504e@default(draft) a3
   |
-  o  13	: bumped update to d952e93add6f: - test
+  o  12:f15d32934071@default(draft) bumped update to d952e93add6f:
   |
-  o  11	: a2 - test
+  o  10:d952e93add6f@mybranch(public) a2
   |
-  o  10	testbookmark: a1__ - test
+  o  9:9f8b83c2e7f3@default(public) a1__
   |
-  o  0	: a0 - test
+  o  0:07c1c36d9ef0@default(public) a0
   
 Enabling commands selectively, no command enabled, next and fold and unknown
   $ cat >> $HGRCPATH <<EOF
@@ -1262,7 +1256,7 @@
   > EOF
 
 Check hg evolve --rev on singled out commit
-  $ hg up 19 -C
+  $ hg up 24e63b319adf -C
   1 files updated, 0 files merged, 1 files removed, 0 files unresolved
   $ mkcommit j1
   $ mkcommit j2
@@ -1272,28 +1266,28 @@
   $ echo "hello" > j4
   $ hg add j4
   $ hg amend
-  2 new unstable changesets
-  $ glog -r "18::"
-  @  25:8dc373be86d9@default(draft) add j1
+  2 new orphan changesets
+  $ glog -r "edc3c9de504e::"
+  @  22:8dc373be86d9@default(draft) add j1
   |
-  | o  23:d7eadcf6eccd@default(draft) add j3
+  | o  21:d7eadcf6eccd@default(draft) add j3
   | |
-  | o  22:2223ea564144@default(draft) add j2
+  | o  20:2223ea564144@default(draft) add j2
   | |
-  | x  21:48490698b269@default(draft) add j1
+  | x  19:48490698b269@default(draft) add j1
   |/
-  | o  20:e02107f98737@default(draft) add gh
+  | o  18:e02107f98737@default(draft) add gh
   | |
-  o |  19:24e63b319adf@default(draft) add gg
+  o |  17:24e63b319adf@default(draft) add gg
   |/
-  o  18:edc3c9de504e@default(draft) a3
+  o  16:edc3c9de504e@default(draft) a3
   |
   ~
 
-  $ hg evolve --rev 23 --any
+  $ hg evolve --rev d7eadcf6eccd --any
   abort: cannot specify both "--rev" and "--any"
   [255]
-  $ hg evolve --rev 23
+  $ hg evolve --rev d7eadcf6eccd
   cannot solve instability of d7eadcf6eccd, skipping
 
 Check that uncommit respects the allowunstable option
@@ -1313,74 +1307,74 @@
   $ hg uncommit --all
   new changeset is empty
   (use 'hg prune .' to remove it)
-  $ glog -r "18::"
-  @  26:044804d0c10d@default(draft) add j1
+  $ glog -r "edc3c9de504e::"
+  @  23:044804d0c10d@default(draft) add j1
   |
-  | o  23:d7eadcf6eccd@default(draft) add j3
+  | o  21:d7eadcf6eccd@default(draft) add j3
   | |
-  | o  22:2223ea564144@default(draft) add j2
+  | o  20:2223ea564144@default(draft) add j2
   | |
-  | x  21:48490698b269@default(draft) add j1
+  | x  19:48490698b269@default(draft) add j1
   |/
-  | o  20:e02107f98737@default(draft) add gh
+  | o  18:e02107f98737@default(draft) add gh
   | |
-  o |  19:24e63b319adf@default(draft) add gg
+  o |  17:24e63b319adf@default(draft) add gg
   |/
-  o  18:edc3c9de504e@default(draft) a3
+  o  16:edc3c9de504e@default(draft) a3
   |
   ~
 
 Check that prune respects the allowunstable option
   $ hg up -C .
   0 files updated, 0 files merged, 0 files removed, 0 files unresolved
-  $ hg up 20
+  $ hg up e02107f98737
   1 files updated, 0 files merged, 1 files removed, 0 files unresolved
   $ hg evolve --all
   nothing to evolve on current working copy parent
   (2 other orphan in the repository, do you want --any or --rev)
   [2]
   $ hg evolve --all --any
-  move:[22] add j2
-  atop:[26] add j1
-  move:[23] add j3
-  atop:[27] add j2
+  move:[20] add j2
+  atop:[23] add j1
+  move:[21] add j3
+  atop:[24] add j2
   working directory is now at c9a20e2d74aa
-  $ glog -r "18::"
-  @  28:c9a20e2d74aa@default(draft) add j3
+  $ glog -r "edc3c9de504e::"
+  @  25:c9a20e2d74aa@default(draft) add j3
   |
-  o  27:b0e3066231e2@default(draft) add j2
+  o  24:b0e3066231e2@default(draft) add j2
   |
-  o  26:044804d0c10d@default(draft) add j1
+  o  23:044804d0c10d@default(draft) add j1
   |
-  | o  20:e02107f98737@default(draft) add gh
+  | o  18:e02107f98737@default(draft) add gh
   | |
-  o |  19:24e63b319adf@default(draft) add gg
+  o |  17:24e63b319adf@default(draft) add gg
   |/
-  o  18:edc3c9de504e@default(draft) a3
+  o  16:edc3c9de504e@default(draft) a3
   |
   ~
-  $ hg up 19
+  $ hg up 24e63b319adf
   0 files updated, 0 files merged, 2 files removed, 0 files unresolved
   $ mkcommit c5_
   created new head
-  $ hg prune '26 + 27'
+  $ hg prune '044804d0c10d + b0e3066231e2'
   abort: touch will orphan 1 descendants
   (see 'hg help evolution.instability')
   [255]
-  $ hg prune '19::28'
+  $ hg prune '24e63b319adf::c9a20e2d74aa'
   abort: touch will orphan 1 descendants
   (see 'hg help evolution.instability')
   [255]
-  $ hg prune '26::'
+  $ hg prune '044804d0c10d::'
   3 changesets pruned
-  $ glog -r "18::"
-  @  29:2251801b6c91@default(draft) add c5_
+  $ glog -r "edc3c9de504e::"
+  @  26:2251801b6c91@default(draft) add c5_
   |
-  | o  20:e02107f98737@default(draft) add gh
+  | o  18:e02107f98737@default(draft) add gh
   | |
-  o |  19:24e63b319adf@default(draft) add gg
+  o |  17:24e63b319adf@default(draft) add gg
   |/
-  o  18:edc3c9de504e@default(draft) a3
+  o  16:edc3c9de504e@default(draft) a3
   |
   ~
 
@@ -1392,20 +1386,20 @@
   0 files updated, 0 files merged, 2 files removed, 0 files unresolved
   $ mkcommit unstableifparentisfolded
   created new head
-  $ glog -r "18::"
-  @  30:68330ac625b8@default(draft) add unstableifparentisfolded
+  $ glog -r "edc3c9de504e::"
+  @  27:68330ac625b8@default(draft) add unstableifparentisfolded
   |
-  | o  29:2251801b6c91@default(draft) add c5_
+  | o  26:2251801b6c91@default(draft) add c5_
   | |
-  +---o  20:e02107f98737@default(draft) add gh
+  +---o  18:e02107f98737@default(draft) add gh
   | |
-  | o  19:24e63b319adf@default(draft) add gg
+  | o  17:24e63b319adf@default(draft) add gg
   |/
-  o  18:edc3c9de504e@default(draft) a3
+  o  16:edc3c9de504e@default(draft) a3
   |
   ~
 
-  $ hg fold --exact "19::"
+  $ hg fold --exact "24e63b319adf::"
   2 changesets folded
 
 Check that evolve shows error while handling split commits
@@ -1416,14 +1410,14 @@
   > evolution=all
   > EOF
 
-  $ glog -r "18::"
-  o  31:580886d07058@default(draft) add gg
+  $ glog -r "edc3c9de504e::"
+  o  28:580886d07058@default(draft) add gg
   |
-  | @  30:68330ac625b8@default(draft) add unstableifparentisfolded
+  | @  27:68330ac625b8@default(draft) add unstableifparentisfolded
   |/
-  | o  20:e02107f98737@default(draft) add gh
+  | o  18:e02107f98737@default(draft) add gh
   |/
-  o  18:edc3c9de504e@default(draft) a3
+  o  16:edc3c9de504e@default(draft) a3
   |
   ~
 
@@ -1444,28 +1438,28 @@
   $ hg commit -m "_pp"
   $ hg prune --succ "desc(_oo) + desc(_pp)" -r "desc('oo+pp')" --split
   1 changesets pruned
-  1 new unstable changesets
-  $ glog -r "18::"
-  @  35:7a555adf2b4a@default(draft) _pp
+  1 new orphan changesets
+  $ glog -r "edc3c9de504e::"
+  @  32:7a555adf2b4a@default(draft) _pp
   |
-  o  34:2be4d2d5bf34@default(draft) _oo
+  o  31:2be4d2d5bf34@default(draft) _oo
   |
-  | o  33:53f0c003e03e@default(draft) add uu
+  | o  30:53f0c003e03e@default(draft) add uu
   | |
-  | x  32:1bf2152f4f82@default(draft) oo+pp
+  | x  29:1bf2152f4f82@default(draft) oo+pp
   |/
-  | o  31:580886d07058@default(draft) add gg
+  | o  28:580886d07058@default(draft) add gg
   | |
-  o |  30:68330ac625b8@default(draft) add unstableifparentisfolded
+  o |  27:68330ac625b8@default(draft) add unstableifparentisfolded
   |/
-  | o  20:e02107f98737@default(draft) add gh
+  | o  18:e02107f98737@default(draft) add gh
   |/
-  o  18:edc3c9de504e@default(draft) a3
+  o  16:edc3c9de504e@default(draft) a3
   |
   ~
-  $ hg evolve --rev "18::"
-  move:[33] add uu
-  atop:[35] _pp
+  $ hg evolve --rev "edc3c9de504e::"
+  move:[30] add uu
+  atop:[32] _pp
   working directory is now at 43c3f5ef149f
 
 
@@ -1475,7 +1469,7 @@
   $ echo "will be amended" > newfile
   $ hg commit -m "will be amended"
   $ hg parents
-  37	: will be amended - test
+  34	: will be amended - test
 
   $ echo "will be evolved safely" >> a
   $ hg commit -m "will be evolved safely"
@@ -1486,38 +1480,38 @@
   $ hg commit -m "will cause conflict at evolve"
 
   $ glog -r "edc3c9de504e::"
-  @  39:02e943732647@default(draft) will cause conflict at evolve
+  @  36:02e943732647@default(draft) will cause conflict at evolve
   |
-  o  38:f8e30e9317aa@default(draft) will be evolved safely
+  o  35:f8e30e9317aa@default(draft) will be evolved safely
   |
-  o  37:36030b147271@default(draft) will be amended
+  o  34:36030b147271@default(draft) will be amended
   |
-  o  36:43c3f5ef149f@default(draft) add uu
+  o  33:43c3f5ef149f@default(draft) add uu
   |
-  o  35:7a555adf2b4a@default(draft) _pp
+  o  32:7a555adf2b4a@default(draft) _pp
   |
-  o  34:2be4d2d5bf34@default(draft) _oo
+  o  31:2be4d2d5bf34@default(draft) _oo
   |
-  | o  31:580886d07058@default(draft) add gg
+  | o  28:580886d07058@default(draft) add gg
   | |
-  o |  30:68330ac625b8@default(draft) add unstableifparentisfolded
+  o |  27:68330ac625b8@default(draft) add unstableifparentisfolded
   |/
-  | o  20:e02107f98737@default(draft) add gh
+  | o  18:e02107f98737@default(draft) add gh
   |/
-  o  18:edc3c9de504e@default(draft) a3
+  o  16:edc3c9de504e@default(draft) a3
   |
   ~
 
   $ hg update -q 36030b147271
   $ echo "amended" > newfile
   $ hg amend -m "amended"
-  2 new unstable changesets
+  2 new orphan changesets
 
-  $ hg evolve --rev "37::"
-  move:[38] will be evolved safely
-  atop:[41] amended
-  move:[39] will cause conflict at evolve
-  atop:[42] will be evolved safely
+  $ hg evolve --rev "36030b147271::"
+  move:[35] will be evolved safely
+  atop:[37] amended
+  move:[36] will cause conflict at evolve
+  atop:[38] will be evolved safely
   merging newfile
   warning: conflicts while merging newfile! (edit, then use 'hg resolve --mark')
   evolve failed!
@@ -1525,20 +1519,18 @@
   abort: unresolved merge conflicts (see hg help resolve)
   [255]
 
-  $ glog -r "36::" --hidden
-  @  42:c904da5245b0@default(draft) will be evolved safely
+  $ glog -r "43c3f5ef149f::" --hidden
+  @  38:c904da5245b0@default(draft) will be evolved safely
   |
-  o  41:34ae045ec400@default(draft) amended
+  o  37:34ae045ec400@default(draft) amended
   |
-  | x  40:e88bee38ffc2@default(draft) temporary amend commit for 36030b147271
+  | o  36:02e943732647@default(draft) will cause conflict at evolve
   | |
-  | | o  39:02e943732647@default(draft) will cause conflict at evolve
-  | | |
-  | | x  38:f8e30e9317aa@default(draft) will be evolved safely
-  | |/
-  | x  37:36030b147271@default(draft) will be amended
+  | x  35:f8e30e9317aa@default(draft) will be evolved safely
+  | |
+  | x  34:36030b147271@default(draft) will be amended
   |/
-  o  36:43c3f5ef149f@default(draft) add uu
+  o  33:43c3f5ef149f@default(draft) add uu
   |
   ~
 
--- a/tests/test-exchange-obsmarkers-case-A3.t	Sat Sep 30 11:11:04 2017 +0100
+++ b/tests/test-exchange-obsmarkers-case-A3.t	Sat Sep 30 11:38:08 2017 +0100
@@ -264,7 +264,7 @@
   1 new obsolescence markers
   obsoleted 1 changesets
   (run 'hg heads' to see heads, 'hg merge' to merge)
-  1 new unstable changesets
+  1 new orphan changesets
   ## post pull state
   # obstore: main
   28b51eb45704506b5c603decd6bf7ac5e0f6a52f e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
--- a/tests/test-exchange-obsmarkers-case-C1.t	Sat Sep 30 11:11:04 2017 +0100
+++ b/tests/test-exchange-obsmarkers-case-C1.t	Sat Sep 30 11:38:08 2017 +0100
@@ -58,7 +58,7 @@
   $ mkcommit A
   $ mkcommit B
   $ hg prune -qd '0 0' '.~1'
-  1 new unstable changesets
+  1 new orphan changesets
   $ hg prune -qd '0 0' .
   $ hg log -G --hidden
   x  f6fbb35d8ac9 (draft): B
--- a/tests/test-inhibit.t	Sat Sep 30 11:11:04 2017 +0100
+++ b/tests/test-inhibit.t	Sat Sep 30 11:38:08 2017 +0100
@@ -100,7 +100,7 @@
   $ echo babar > cJ
   $ hg commit --amend
   $ hg log -G
-  @  9:55c73a90e4b4 add cJ
+  @  8:55c73a90e4b4 add cJ
   |
   o  6:cf5c4f4554ce add cH
   |
@@ -112,7 +112,7 @@
   
   $ hg debugobsinhibit --hidden 18214586bf78
   $ hg log -G
-  @  9:55c73a90e4b4 add cJ
+  @  8:55c73a90e4b4 add cJ
   |
   | o  7:18214586bf78 add cJ
   |/
@@ -128,7 +128,7 @@
 and no divergence
 
   $ hg summary
-  parent: 9:55c73a90e4b4 tip
+  parent: 8:55c73a90e4b4 tip
    add cJ
   branch: default
   commit: (clean)
@@ -146,7 +146,7 @@
   $ wc -m .hg/store/obsinhibit | sed -e 's/^[ \t]*//'
   20 .hg/store/obsinhibit
   $ hg log -G
-  @  9:55c73a90e4b4 add cJ
+  @  8:55c73a90e4b4 add cJ
   |
   | o  7:18214586bf78 add cJ
   |/
@@ -159,8 +159,8 @@
   o  0:54ccbc537fc2 add cA
   
   $ hg phase --public 7
-  1 new bumped changesets
-  $ hg strip 9
+  1 new phase-divergent changesets
+  $ hg strip 8
   0 files updated, 0 files merged, 1 files removed, 0 files unresolved
   working directory now at cf5c4f4554ce
   1 changesets pruned
@@ -179,7 +179,7 @@
   $ wc -m .hg/store/obsinhibit | sed -e 's/^[ \t]*//'
   20 .hg/store/obsinhibit
   $ hg log -G
-  o  9:55c73a90e4b4 add cJ
+  o  8:55c73a90e4b4 add cJ
   |
   | o  7:18214586bf78 add cJ
   |/
@@ -196,7 +196,7 @@
   $ hg update 2 --hidden
   2 files updated, 0 files merged, 3 files removed, 0 files unresolved
   $ hg log -G
-  o  9:55c73a90e4b4 add cJ
+  o  8:55c73a90e4b4 add cJ
   |
   | o  7:18214586bf78 add cJ
   |/
@@ -213,10 +213,10 @@
   o  0:54ccbc537fc2 add cA
   
 
-  $ hg update 9
+  $ hg update 8
   4 files updated, 0 files merged, 2 files removed, 0 files unresolved
   $ hg log -G
-  @  9:55c73a90e4b4 add cJ
+  @  8:55c73a90e4b4 add cJ
   |
   | o  7:18214586bf78 add cJ
   |/
@@ -235,7 +235,7 @@
   $ hg strip --hidden 1::
   3 changesets pruned
   $ hg log -G
-  @  9:55c73a90e4b4 add cJ
+  @  8:55c73a90e4b4 add cJ
   |
   | o  7:18214586bf78 add cJ
   |/
@@ -251,7 +251,7 @@
 Bookmark should inhibit all related unstable commits
   $ hg bookmark -r 2 book1  --hidden
   $ hg log -G
-  @  9:55c73a90e4b4 add cJ
+  @  8:55c73a90e4b4 add cJ
   |
   | o  7:18214586bf78 add cJ
   |/
@@ -276,7 +276,7 @@
   bookmark 'book1' deleted
   1 changesets pruned
   $ hg log -G
-  @  9:55c73a90e4b4 add cJ
+  @  8:55c73a90e4b4 add cJ
   |
   | o  7:18214586bf78 add cJ
   |/
@@ -294,7 +294,7 @@
   bookmark 'book2' deleted
   1 changesets pruned
   $ hg log -G
-  @  9:55c73a90e4b4 add cJ
+  @  8:55c73a90e4b4 add cJ
   |
   | o  7:18214586bf78 add cJ
   |/
@@ -397,14 +397,14 @@
   $ mkcommit cK
   created new head
   $ mkcommit cL
-  $ hg update -C 9
+  $ hg update -C 8
   4 files updated, 0 files merged, 2 files removed, 0 files unresolved
   $ hg log -G
-  o  11:53a94305e133 add cL
+  o  10:53a94305e133 add cL
   |
-  o  10:ad78ff7d621f add cK
+  o  9:ad78ff7d621f add cK
   |
-  | @  9:55c73a90e4b4 add cJ
+  | @  8:55c73a90e4b4 add cJ
   | |
   | | o  7:18214586bf78 add cJ
   | |/
@@ -416,10 +416,10 @@
   |/
   o  0:54ccbc537fc2 add cA
   
-  $ hg strip --hidden 10:
+  $ hg strip --hidden 9:
   2 changesets pruned
   $ hg log -G
-  @  9:55c73a90e4b4 add cJ
+  @  8:55c73a90e4b4 add cJ
   |
   | o  7:18214586bf78 add cJ
   |/
@@ -431,21 +431,21 @@
   |
   o  0:54ccbc537fc2 add cA
   
-  $ hg rebase -s 10 -d 3 
-  abort: hidden revision '3'!
+  $ hg rebase -s 9 -d 3 
+  abort: hidden revision '9'!
   (use --hidden to access hidden revisions; pruned)
   [255]
   $ hg rebase -r ad78ff7d621f -r 53a94305e133 -d  2db36d8066ff --config experimental.rebaseskipobsolete=0
+  Warning: accessing hidden changesets ad78ff7d621f,53a94305e133 for write operation
   Warning: accessing hidden changesets 2db36d8066ff for write operation
-  Warning: accessing hidden changesets ad78ff7d621f,53a94305e133 for write operation
-  rebasing 10:ad78ff7d621f "add cK"
-  rebasing 11:53a94305e133 "add cL"
+  rebasing 9:ad78ff7d621f "add cK"
+  rebasing 10:53a94305e133 "add cL" (tip)
   $ hg log -G
-  o  13:2f7b7704d714 add cL
+  o  12:2f7b7704d714 add cL
   |
-  o  12:fe1634cbe235 add cK
+  o  11:fe1634cbe235 add cK
   |
-  | @  9:55c73a90e4b4 add cJ
+  | @  8:55c73a90e4b4 add cJ
   | |
   | | o  7:18214586bf78 add cJ
   | |/
@@ -476,7 +476,7 @@
   $ hg strip --hidden 1::
   5 changesets pruned
   $ hg log -G
-  @  9:55c73a90e4b4 add cJ
+  @  8:55c73a90e4b4 add cJ
   |
   | o  7:18214586bf78 add cJ
   |/
@@ -494,13 +494,13 @@
   $ mkcommit cM
   $ mkcommit cN
   $ hg log -G
-  @  16:a438c045eb37 add cN
+  @  15:a438c045eb37 add cN
   |
-  o  15:2d66e189f5b5 add cM
+  o  14:2d66e189f5b5 add cM
   |
-  o  14:d66ccb8c5871 add cL
+  o  13:d66ccb8c5871 add cL
   |
-  | o  9:55c73a90e4b4 add cJ
+  | o  8:55c73a90e4b4 add cJ
   | |
   o |  7:18214586bf78 add cJ
   |/
@@ -512,20 +512,20 @@
   |
   o  0:54ccbc537fc2 add cA
   
-  $ hg up 15
+  $ hg up 14
   0 files updated, 0 files merged, 1 files removed, 0 files unresolved
   $ echo "mmm" >> cM
   $ hg amend
   $ hg log -G
-  @  18:210589181b14 add cM
+  @  16:210589181b14 add cM
   |
-  | o  16:a438c045eb37 add cN
+  | o  15:a438c045eb37 add cN
   | |
-  | o  15:2d66e189f5b5 add cM
+  | o  14:2d66e189f5b5 add cM
   |/
-  o  14:d66ccb8c5871 add cL
+  o  13:d66ccb8c5871 add cL
   |
-  | o  9:55c73a90e4b4 add cJ
+  | o  8:55c73a90e4b4 add cJ
   | |
   o |  7:18214586bf78 add cJ
   |/
@@ -539,18 +539,18 @@
   
 Check that rebasing a commit twice makes the commit visible again
 
-  $ hg rebase -d 18 -r 16 --keep
-  rebasing 16:a438c045eb37 "add cN"
-  $ hg log -r 14:: -G
-  o  19:104eed5354c7 add cN
+  $ hg rebase -d 16 -r 15 --keep
+  rebasing 15:a438c045eb37 "add cN"
+  $ hg log -r 13:: -G
+  o  17:104eed5354c7 add cN
   |
-  @  18:210589181b14 add cM
+  @  16:210589181b14 add cM
   |
-  | o  16:a438c045eb37 add cN
+  | o  15:a438c045eb37 add cN
   | |
-  | o  15:2d66e189f5b5 add cM
+  | o  14:2d66e189f5b5 add cM
   |/
-  o  14:d66ccb8c5871 add cL
+  o  13:d66ccb8c5871 add cL
   |
   ~
   $ hg strip -r 210589181b14
@@ -561,18 +561,18 @@
 Using a hash prefix solely made of digits should work
   $ hg update 210589181
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
-  $ hg rebase -d 18 -r 16 --keep
-  rebasing 16:a438c045eb37 "add cN"
-  $ hg log -r 14:: -G
-  o  19:104eed5354c7 add cN
+  $ hg rebase -d 16 -r 15 --keep
+  rebasing 15:a438c045eb37 "add cN"
+  $ hg log -r 13:: -G
+  o  17:104eed5354c7 add cN
   |
-  @  18:210589181b14 add cM
+  @  16:210589181b14 add cM
   |
-  | o  16:a438c045eb37 add cN
+  | o  15:a438c045eb37 add cN
   | |
-  | o  15:2d66e189f5b5 add cM
+  | o  14:2d66e189f5b5 add cM
   |/
-  o  14:d66ccb8c5871 add cL
+  o  13:d66ccb8c5871 add cL
   |
   ~
 
@@ -583,25 +583,25 @@
   0 files updated, 0 files merged, 1 files removed, 0 files unresolved
   working directory now at d66ccb8c5871
   2 changesets pruned
-  $ hg log -r 14:: -G -T '{rev}:{node|short} {desc|firstline} {bookmarks}\n'
-  o  16:a438c045eb37 add cN
+  $ hg log -r 13:: -G -T '{rev}:{node|short} {desc|firstline} {bookmarks}\n'
+  o  15:a438c045eb37 add cN
   |
-  o  15:2d66e189f5b5 add cM
+  o  14:2d66e189f5b5 add cM
   |
-  @  14:d66ccb8c5871 add cL foo
+  @  13:d66ccb8c5871 add cL foo
   |
   ~
 
 Check that --hidden used with inhibit does not hide every obsolete commit
 We show the log before and after a log -G --hidden, they should be the same
   $ hg log -G
-  o  16:a438c045eb37 add cN
+  o  15:a438c045eb37 add cN
   |
-  o  15:2d66e189f5b5 add cM
+  o  14:2d66e189f5b5 add cM
   |
-  @  14:d66ccb8c5871 add cL
+  @  13:d66ccb8c5871 add cL
   |
-  | o  9:55c73a90e4b4 add cJ
+  | o  8:55c73a90e4b4 add cJ
   | |
   o |  7:18214586bf78 add cJ
   |/
@@ -614,29 +614,25 @@
   o  0:54ccbc537fc2 add cA
   
   $ hg log -G --hidden
-  x  19:104eed5354c7 add cN
+  x  17:104eed5354c7 add cN
   |
-  x  18:210589181b14 add cM
+  x  16:210589181b14 add cM
   |
-  | x  17:b3c3274523f9 temporary amend commit for 2d66e189f5b5
+  | o  15:a438c045eb37 add cN
   | |
-  | | o  16:a438c045eb37 add cN
-  | |/
-  | o  15:2d66e189f5b5 add cM
+  | o  14:2d66e189f5b5 add cM
   |/
-  @  14:d66ccb8c5871 add cL
+  @  13:d66ccb8c5871 add cL
   |
-  | x  13:2f7b7704d714 add cL
+  | x  12:2f7b7704d714 add cL
   | |
-  | x  12:fe1634cbe235 add cK
+  | x  11:fe1634cbe235 add cK
   | |
-  | | x  11:53a94305e133 add cL
+  | | x  10:53a94305e133 add cL
   | | |
-  | | x  10:ad78ff7d621f add cK
+  | | x  9:ad78ff7d621f add cK
   | | |
-  | | | o  9:55c73a90e4b4 add cJ
-  | | | |
-  +-------x  8:e84f73d9ad36 temporary amend commit for 18214586bf78
+  | | | o  8:55c73a90e4b4 add cJ
   | | | |
   o-----+  7:18214586bf78 add cJ
    / / /
@@ -656,13 +652,13 @@
   
 
   $ hg log -G
-  o  16:a438c045eb37 add cN
+  o  15:a438c045eb37 add cN
   |
-  o  15:2d66e189f5b5 add cM
+  o  14:2d66e189f5b5 add cM
   |
-  @  14:d66ccb8c5871 add cL
+  @  13:d66ccb8c5871 add cL
   |
-  | o  9:55c73a90e4b4 add cJ
+  | o  8:55c73a90e4b4 add cJ
   | |
   o |  7:18214586bf78 add cJ
   |/
@@ -700,7 +696,7 @@
   > evolution=createmarkers
   > EOF
 
-  $ hg up 15
+  $ hg up 14
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   working directory parent is obsolete! (2d66e189f5b5)
   $ cat >> $HGRCPATH <<EOF
@@ -710,13 +706,13 @@
   $ echo "CM" > cM
   $ hg amend
   $ hg log -G
-  @  21:721c3c279519 add cM
+  @  18:721c3c279519 add cM
   |
-  | o  16:a438c045eb37 add cN
+  | o  15:a438c045eb37 add cN
   | |
-  | x  15:2d66e189f5b5 add cM
+  | x  14:2d66e189f5b5 add cM
   |/
-  o  14:d66ccb8c5871 add cL
+  o  13:d66ccb8c5871 add cL
   |
   o  7:18214586bf78 add cJ
   |
@@ -743,11 +739,11 @@
 
   $ hg up a438c045eb37
   2 files updated, 0 files merged, 0 files removed, 0 files unresolved
-  $ hg rebase -r 15:: -d 21 --config experimental.rebaseskipobsolete=True
-  note: not rebasing 15:2d66e189f5b5 "add cM", already in destination as 21:721c3c279519 "add cM"
-  rebasing 16:a438c045eb37 "add cN"
+  $ hg rebase -r 14:: -d 18 --config experimental.rebaseskipobsolete=True
+  note: not rebasing 14:2d66e189f5b5 "add cM", already in destination as 18:721c3c279519 "add cM" (tip)
+  rebasing 15:a438c045eb37 "add cN"
   $ hg up -q 2d66e189f5b5 # To inhibit it as the rest of test depends on it
-  $ hg up -q 21
+  $ hg up -q 18
 
 Directaccess should load after some extensions precised in the conf
 With no extension specified:
@@ -817,48 +813,73 @@
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files (+1 heads)
-  2 new obsolescence markers
+  1 new obsolescence markers
 
 Create a stack (obsolete with successor in dest) -> (not obsolete) and rebase
 it. We expect to not see the stack at the end of the rebase.
-  $ hg log -G  -r "25::"
-  @  25:71eb4f100663 add pk
+  $ hg log -G  -r "003a4735afde::"
+  x  20:003a4735afde add pk
   |
   ~
-  $ hg up -C 22
+  $ hg log -G
+  @  21:71eb4f100663 add pk
+  |
+  | o  19:46cb6daad392 add cN
+  |/
+  o  18:721c3c279519 add cM
+  |
+  | o  16:210589181b14 add cM
+  |/
+  | o  14:2d66e189f5b5 add cM
+  |/
+  o  13:d66ccb8c5871 add cL
+  |
+  | o  8:55c73a90e4b4 add cJ
+  | |
+  o |  7:18214586bf78 add cJ
+  |/
+  o  6:cf5c4f4554ce add cH
+  |
+  o  5:5419eb264a33 add cG
+  |
+  o  4:98065434e5c6 add cE
+  |
+  o  0:54ccbc537fc2 add cA
+  
+  $ hg up -C 46cb6daad392
   1 files updated, 0 files merged, 1 files removed, 0 files unresolved
   $ mkcommit Dk
-  $ hg prune 22 -s 25
+  $ hg prune 46cb6daad392 -s 71eb4f100663
   1 changesets pruned
-  $ hg rebase -s 22 -d 25 --config experimental.rebaseskipobsolete=True
-  note: not rebasing 22:46cb6daad392 "add cN", already in destination as 25:71eb4f100663 "add pk"
-  rebasing 26:7ad60e760c7b "add Dk" (tip)
-  $ hg log -G  -r "25::"
-  @  27:1192fa9fbc68 add Dk
+  $ hg rebase -s 46cb6daad392 -d 71eb4f100663 --config experimental.rebaseskipobsolete=True
+  note: not rebasing 19:46cb6daad392 "add cN", already in destination as 21:71eb4f100663 "add pk"
+  rebasing 22:7ad60e760c7b "add Dk" (tip)
+  $ hg log -G  -r "71eb4f100663::"
+  @  23:1192fa9fbc68 add Dk
   |
-  o  25:71eb4f100663 add pk
+  o  21:71eb4f100663 add pk
   |
   ~
 
 Create a stack (obsolete with succ in dest) -> (not obsolete) -> (not obsolete).
 Rebase the first two revs of the stack onto dest, we expect to see one new
 revision on the destination and everything visible.
-  $ hg up 25
+  $ hg up 71eb4f100663
   0 files updated, 0 files merged, 1 files removed, 0 files unresolved
   $ mkcommit Dl
   created new head
   $ mkcommit Dp
   $ mkcommit Do
   $ hg log -G -r "71eb4f100663::"
-  @  30:b517facce1ef add Do
+  @  26:b517facce1ef add Do
   |
-  o  29:c5a47ab27c2e add Dp
+  o  25:c5a47ab27c2e add Dp
   |
-  o  28:8c1c2edbaf1b add Dl
+  o  24:8c1c2edbaf1b add Dl
   |
-  | o  27:1192fa9fbc68 add Dk
+  | o  23:1192fa9fbc68 add Dk
   |/
-  o  25:71eb4f100663 add pk
+  o  21:71eb4f100663 add pk
   |
   ~
   $ hg prune 8c1c2edbaf1b -s 1192fa9fbc68
@@ -866,20 +887,20 @@
   $ hg up 71eb4f100663
   0 files updated, 0 files merged, 3 files removed, 0 files unresolved
   $ hg rebase -r "8c1c2edbaf1b + c5a47ab27c2e" --keep -d 1192fa9fbc68 --config experimental.rebaseskipobsolete=True
-  note: not rebasing 28:8c1c2edbaf1b "add Dl", already in destination as 27:1192fa9fbc68 "add Dk"
-  rebasing 29:c5a47ab27c2e "add Dp"
+  note: not rebasing 24:8c1c2edbaf1b "add Dl", already in destination as 23:1192fa9fbc68 "add Dk"
+  rebasing 25:c5a47ab27c2e "add Dp"
   $ hg log -G  -r "71eb4f100663::"
-  o  31:7d8affb1f604 add Dp
+  o  27:7d8affb1f604 add Dp
   |
-  | o  30:b517facce1ef add Do
+  | o  26:b517facce1ef add Do
   | |
-  | o  29:c5a47ab27c2e add Dp
+  | o  25:c5a47ab27c2e add Dp
   | |
-  | o  28:8c1c2edbaf1b add Dl
+  | o  24:8c1c2edbaf1b add Dl
   | |
-  o |  27:1192fa9fbc68 add Dk
+  o |  23:1192fa9fbc68 add Dk
   |/
-  @  25:71eb4f100663 add pk
+  @  21:71eb4f100663 add pk
   |
   ~
 
@@ -887,17 +908,17 @@
 and only see the top revision added to destination. We don\'t expect 29 to be
 skipped as we used --keep before.
   $ hg rebase -s 8c1c2edbaf1b -d 1192fa9fbc68 --config experimental.rebaseskipobsolete=True
-  note: not rebasing 28:8c1c2edbaf1b "add Dl", already in destination as 27:1192fa9fbc68 "add Dk"
-  rebasing 29:c5a47ab27c2e "add Dp"
-  rebasing 30:b517facce1ef "add Do"
+  note: not rebasing 24:8c1c2edbaf1b "add Dl", already in destination as 23:1192fa9fbc68 "add Dk"
+  rebasing 25:c5a47ab27c2e "add Dp"
+  rebasing 26:b517facce1ef "add Do"
   $ hg log -G  -r "71eb4f100663::"
-  o  32:1d43fff9e26f add Do
+  o  28:1d43fff9e26f add Do
   |
-  o  31:7d8affb1f604 add Dp
+  o  27:7d8affb1f604 add Dp
   |
-  o  27:1192fa9fbc68 add Dk
+  o  23:1192fa9fbc68 add Dk
   |
-  @  25:71eb4f100663 add pk
+  @  21:71eb4f100663 add pk
   |
   ~
 
--- a/tests/test-metaedit.t	Sat Sep 30 11:11:04 2017 +0100
+++ b/tests/test-metaedit.t	Sat Sep 30 11:38:08 2017 +0100
@@ -80,11 +80,11 @@
 ----
 
   $ hg log -G
-  @  8	: F - test
+  @  7	: F - test
   |
-  o  7	: E - test
+  o  6	: E - test
   |
-  | o  6	: D2 - test
+  | o  5	: D2 - test
   |/
   o  3	: C - test
   |
@@ -124,13 +124,10 @@
   $ hg metaedit --user foobar
   0 files updated, 0 files merged, 0 files removed, 0 files unresolved
   $ hg log --template '{rev}: {author}\n' -r 'desc(F):' --hidden
-  5: test
-  6: test
   7: test
-  8: test
-  9: foobar
+  8: foobar
   $ hg log --template '{rev}: {author}\n' -r .
-  9: foobar
+  8: foobar
 
 TODO: support this
   $ hg metaedit '.^::.'
@@ -139,11 +136,11 @@
 
   $ HGEDITOR=cat hg metaedit '.^::.' --fold
   HG: This is a fold of 2 changesets.
-  HG: Commit message of changeset 7.
+  HG: Commit message of changeset 6.
   
   E
   
-  HG: Commit message of changeset 9.
+  HG: Commit message of changeset 8.
   
   F
   
@@ -160,7 +157,7 @@
   0 files updated, 0 files merged, 0 files removed, 0 files unresolved
 
   $ glog -r .
-  @  10:a08d35fd7d9d@default(draft) E
+  @  9:a08d35fd7d9d@default(draft) E
   |
   ~
 
@@ -182,7 +179,7 @@
   nothing changed
 
   $ glog -r '.^::.'
-  @  10:a08d35fd7d9d@default(draft) E
+  @  9:a08d35fd7d9d@default(draft) E
   |
   o  3:3260958f1169@default(draft) C
   |
@@ -196,20 +193,20 @@
   0 files updated, 0 files merged, 0 files removed, 0 files unresolved
   $ hg log -r '.^::.' --template '{rev}: {desc|firstline}\n'
   3: C
-  11: E
+  10: E
 
   $ hg up .^
   0 files updated, 0 files merged, 2 files removed, 0 files unresolved
   $ hg metaedit --user foobar2 tip
   $ hg log --template '{rev}: {author}\n' -r "user(foobar):" --hidden
-  9: foobar
+  8: foobar
+  9: test
   10: test
-  11: test
-  12: foobar2
+  11: foobar2
   $ hg diff -r "10" -r "11" --hidden
 
 'fold' one commit
   $ HGUSER=foobar3 hg metaedit "desc(D2)" --fold -U --config
   1 changesets folded
   $ hg log -r "tip" --template '{rev}: {author}\n'
-  13: foobar3
+  12: foobar3
--- a/tests/test-obsconvert.t	Sat Sep 30 11:11:04 2017 +0100
+++ b/tests/test-obsconvert.t	Sat Sep 30 11:38:08 2017 +0100
@@ -16,49 +16,33 @@
 Test conversion between obsolete marker formats
   $ hg debugobsolete
   e63c23eaa88ae77967edcf4ea194d31167c478b0 b81ac6b9d2a55f9a7a6b90a006b1aab0568d6d34 0 (*) {'ef1': '*', 'user': 'test'} (glob)
-  a5b276878fa564da042b4b9efef3713ceea20350 0 {e63c23eaa88ae77967edcf4ea194d31167c478b0} (*) {'ef1': '*', 'user': 'test'} (glob)
   b81ac6b9d2a55f9a7a6b90a006b1aab0568d6d34 384fc811182687231962e486f23ea8c5bab7a2d3 0 (*) {'ef1': '*', 'user': 'test'} (glob)
-  2291082406feb57d0f83b9b0a6777b6074f3fde6 0 {b81ac6b9d2a55f9a7a6b90a006b1aab0568d6d34} (*) {'ef1': '*', 'user': 'test'} (glob)
   384fc811182687231962e486f23ea8c5bab7a2d3 949d379b3c3bf051906bc3528c049cb536e2ec86 0 (*) {'ef1': '*', 'user': 'test'} (glob)
-  1616bdbe82d3fd1fb7c4e068aee277835672ffdc 0 {384fc811182687231962e486f23ea8c5bab7a2d3} (*) {'ef1': '*', 'user': 'test'} (glob)
   949d379b3c3bf051906bc3528c049cb536e2ec86 f2e4c45b2a4a58ccf7ef6825b8fa5685873cd2f7 0 (*) {'ef1': '*', 'user': 'test'} (glob)
-  8668d55aac650158bb510be6d47d21e3db9e5c75 0 {949d379b3c3bf051906bc3528c049cb536e2ec86} (*) {'ef1': '*', 'user': 'test'} (glob)
   $ hg debugobsconvert --new-format 0
   Old store is version 1, will rewrite in version 0
   Done!
   $ hg debugobsolete
   e63c23eaa88ae77967edcf4ea194d31167c478b0 b81ac6b9d2a55f9a7a6b90a006b1aab0568d6d34 0 (*) {'ef1': '*', 'user': 'test'} (glob)
-  a5b276878fa564da042b4b9efef3713ceea20350 0 {e63c23eaa88ae77967edcf4ea194d31167c478b0} (*) {'ef1': '*', 'user': 'test'} (glob)
   b81ac6b9d2a55f9a7a6b90a006b1aab0568d6d34 384fc811182687231962e486f23ea8c5bab7a2d3 0 (*) {'ef1': '*', 'user': 'test'} (glob)
-  2291082406feb57d0f83b9b0a6777b6074f3fde6 0 {b81ac6b9d2a55f9a7a6b90a006b1aab0568d6d34} (*) {'ef1': '*', 'user': 'test'} (glob)
   384fc811182687231962e486f23ea8c5bab7a2d3 949d379b3c3bf051906bc3528c049cb536e2ec86 0 (*) {'ef1': '*', 'user': 'test'} (glob)
-  1616bdbe82d3fd1fb7c4e068aee277835672ffdc 0 {384fc811182687231962e486f23ea8c5bab7a2d3} (*) {'ef1': '*', 'user': 'test'} (glob)
   949d379b3c3bf051906bc3528c049cb536e2ec86 f2e4c45b2a4a58ccf7ef6825b8fa5685873cd2f7 0 (*) {'ef1': '*', 'user': 'test'} (glob)
-  8668d55aac650158bb510be6d47d21e3db9e5c75 0 {949d379b3c3bf051906bc3528c049cb536e2ec86} (*) {'ef1': '*', 'user': 'test'} (glob)
   $ hg debugobsconvert --new-format 0
   abort: New format is the same as the old format, not upgrading!
   [255]
   $ hg debugobsolete
   e63c23eaa88ae77967edcf4ea194d31167c478b0 b81ac6b9d2a55f9a7a6b90a006b1aab0568d6d34 0 (*) {'ef1': '*', 'user': 'test'} (glob)
-  a5b276878fa564da042b4b9efef3713ceea20350 0 {e63c23eaa88ae77967edcf4ea194d31167c478b0} (*) {'ef1': '*', 'user': 'test'} (glob)
   b81ac6b9d2a55f9a7a6b90a006b1aab0568d6d34 384fc811182687231962e486f23ea8c5bab7a2d3 0 (*) {'ef1': '*', 'user': 'test'} (glob)
-  2291082406feb57d0f83b9b0a6777b6074f3fde6 0 {b81ac6b9d2a55f9a7a6b90a006b1aab0568d6d34} (*) {'ef1': '*', 'user': 'test'} (glob)
   384fc811182687231962e486f23ea8c5bab7a2d3 949d379b3c3bf051906bc3528c049cb536e2ec86 0 (*) {'ef1': '*', 'user': 'test'} (glob)
-  1616bdbe82d3fd1fb7c4e068aee277835672ffdc 0 {384fc811182687231962e486f23ea8c5bab7a2d3} (*) {'ef1': '*', 'user': 'test'} (glob)
   949d379b3c3bf051906bc3528c049cb536e2ec86 f2e4c45b2a4a58ccf7ef6825b8fa5685873cd2f7 0 (*) {'ef1': '*', 'user': 'test'} (glob)
-  8668d55aac650158bb510be6d47d21e3db9e5c75 0 {949d379b3c3bf051906bc3528c049cb536e2ec86} (*) {'ef1': '*', 'user': 'test'} (glob)
   $ hg debugobsconvert --new-format 1
   Old store is version 0, will rewrite in version 1
   Done!
   $ hg debugobsolete
   e63c23eaa88ae77967edcf4ea194d31167c478b0 b81ac6b9d2a55f9a7a6b90a006b1aab0568d6d34 0 (*) {'ef1': '*', 'user': 'test'} (glob)
-  a5b276878fa564da042b4b9efef3713ceea20350 0 {e63c23eaa88ae77967edcf4ea194d31167c478b0} (*) {'ef1': '*', 'user': 'test'} (glob)
   b81ac6b9d2a55f9a7a6b90a006b1aab0568d6d34 384fc811182687231962e486f23ea8c5bab7a2d3 0 (*) {'ef1': '*', 'user': 'test'} (glob)
-  2291082406feb57d0f83b9b0a6777b6074f3fde6 0 {b81ac6b9d2a55f9a7a6b90a006b1aab0568d6d34} (*) {'ef1': '*', 'user': 'test'} (glob)
   384fc811182687231962e486f23ea8c5bab7a2d3 949d379b3c3bf051906bc3528c049cb536e2ec86 0 (*) {'ef1': '*', 'user': 'test'} (glob)
-  1616bdbe82d3fd1fb7c4e068aee277835672ffdc 0 {384fc811182687231962e486f23ea8c5bab7a2d3} (*) {'ef1': '*', 'user': 'test'} (glob)
   949d379b3c3bf051906bc3528c049cb536e2ec86 f2e4c45b2a4a58ccf7ef6825b8fa5685873cd2f7 0 (*) {'ef1': '*', 'user': 'test'} (glob)
-  8668d55aac650158bb510be6d47d21e3db9e5c75 0 {949d379b3c3bf051906bc3528c049cb536e2ec86} (*) {'ef1': '*', 'user': 'test'} (glob)
 
 Test that the default is some reasonably modern format (first downgrade)
   $ hg debugobsconvert --new-format 0
@@ -69,10 +53,6 @@
   Done!
   $ hg debugobsolete
   e63c23eaa88ae77967edcf4ea194d31167c478b0 b81ac6b9d2a55f9a7a6b90a006b1aab0568d6d34 0 (*) {'ef1': '*', 'user': 'test'} (glob)
-  a5b276878fa564da042b4b9efef3713ceea20350 0 {e63c23eaa88ae77967edcf4ea194d31167c478b0} (*) {'ef1': '*', 'user': 'test'} (glob)
   b81ac6b9d2a55f9a7a6b90a006b1aab0568d6d34 384fc811182687231962e486f23ea8c5bab7a2d3 0 (*) {'ef1': '*', 'user': 'test'} (glob)
-  2291082406feb57d0f83b9b0a6777b6074f3fde6 0 {b81ac6b9d2a55f9a7a6b90a006b1aab0568d6d34} (*) {'ef1': '*', 'user': 'test'} (glob)
   384fc811182687231962e486f23ea8c5bab7a2d3 949d379b3c3bf051906bc3528c049cb536e2ec86 0 (*) {'ef1': '*', 'user': 'test'} (glob)
-  1616bdbe82d3fd1fb7c4e068aee277835672ffdc 0 {384fc811182687231962e486f23ea8c5bab7a2d3} (*) {'ef1': '*', 'user': 'test'} (glob)
   949d379b3c3bf051906bc3528c049cb536e2ec86 f2e4c45b2a4a58ccf7ef6825b8fa5685873cd2f7 0 (*) {'ef1': '*', 'user': 'test'} (glob)
-  8668d55aac650158bb510be6d47d21e3db9e5c75 0 {949d379b3c3bf051906bc3528c049cb536e2ec86} (*) {'ef1': '*', 'user': 'test'} (glob)
--- a/tests/test-obsolete-push.t	Sat Sep 30 11:11:04 2017 +0100
+++ b/tests/test-obsolete-push.t	Sat Sep 30 11:38:08 2017 +0100
@@ -26,7 +26,7 @@
   $ hg phase --secret --force .
   $ hg prune 0 1
   2 changesets pruned
-  1 new unstable changesets
+  1 new orphan changesets
   $ glog --hidden
   @  2:244232c2222a@default(secret) C
   |
--- a/tests/test-obsolete.t	Sat Sep 30 11:11:04 2017 +0100
+++ b/tests/test-obsolete.t	Sat Sep 30 11:38:08 2017 +0100
@@ -134,7 +134,7 @@
   working directory parent is obsolete! (0d3f46688ccc)
   (use 'hg evolve' to update to its successor: 725c380fe99b)
   $ mkcommit d # 5 (on 3)
-  1 new unstable changesets
+  1 new orphan changesets
   $ qlog -r 'obsolete()'
   3
   - 0d3f46688ccc
@@ -145,7 +145,7 @@
   $ qlog -r 'suspended()'
   3
   - 0d3f46688ccc
-  $ qlog -r 'unstable()'
+  $ qlog -r "orphan()"
   5
   - a7a6f2b5d8a5
 
@@ -175,7 +175,7 @@
   $ hg push ../other-new
   pushing to ../other-new
   searching for changes
-  abort: push includes unstable changeset: a7a6f2b5d8a5!
+  abort: push includes orphan changeset: a7a6f2b5d8a5!
   (use 'hg evolve' to get a stable history or --force to ignore warnings)
   [255]
   $ hg push -f ../other-new
@@ -210,7 +210,7 @@
   working directory parent is obsolete! (0d3f46688ccc)
   $ mkcommit obsol_d # 6
   created new head
-  1 new unstable changesets
+  1 new orphan changesets
   $ hg debugobsolete `getid 5` `getid 6`
   obsoleted 1 changesets
   $ qlog
@@ -230,7 +230,7 @@
   $ hg push ../other-new
   pushing to ../other-new
   searching for changes
-  abort: push includes unstable changeset: 95de7fc6918d!
+  abort: push includes orphan changeset: 95de7fc6918d!
   (use 'hg evolve' to get a stable history or --force to ignore warnings)
   [255]
   $ hg push ../other-new -f # use f because there is unstability
@@ -269,7 +269,7 @@
   working directory parent is obsolete! (0d3f46688ccc)
   $ mkcommit "obsol_d'" # 7
   created new head
-  1 new unstable changesets
+  1 new orphan changesets
   $ hg debugobsolete `getid 6` `getid 7`
   obsoleted 1 changesets
   $ hg pull -R ../other-new .
@@ -359,7 +359,7 @@
   working directory parent is obsolete! (0d3f46688ccc)
   $ mkcommit "obsol_d''"
   created new head
-  1 new unstable changesets
+  1 new orphan changesets
   $ hg debugobsolete `getid 7` `getid 8`
   obsoleted 1 changesets
   $ cd ../other-new
@@ -397,7 +397,7 @@
   commit: 1 deleted, 2 unknown (clean)
   update: 2 new changesets, 2 branch heads (merge)
   phases: 4 draft
-  unstable: 1 changesets
+  orphan: 1 changesets
   $ qlog
   6
   - 909a0fb57e5d
@@ -520,8 +520,8 @@
 #excluded 'whole rebase set is extinct and ignored.' message not in core
   $ hg rebase -b '3' -d 4 --traceback --config experimental.rebaseskipobsolete=0
   rebasing 3:0d3f46688ccc "add obsol_c"
-  rebasing 8:159dfc9fa5d3 "add obsol_d''" (tip)
-  2 new divergent changesets
+  rebasing 8:159dfc9fa5d3 "add obsol_d''"
+  2 new content-divergent changesets
   $ hg --hidden log -q -r 'successors(3)'
   4:725c380fe99b
   10:2033b4e49474
@@ -572,7 +572,7 @@
 
   $ cd local
   $ hg phase --hidden --public 11
-  1 new bumped changesets
+  1 new phase-divergent changesets
   $ hg log -G --template='{rev} - ({phase}) {node|short} {desc}\n'
   @  12 - (draft) 6db5e282cb91 add obsol_d'''
   |
@@ -586,19 +586,19 @@
   |
   o  0 - (public) 1f0dee641bb7 add a
   
-  $ hg log -r 'bumped()'
+  $ hg log -r 'phasedivergent()'
   changeset:   12:6db5e282cb91
   tag:         tip
   parent:      10:2033b4e49474
   user:        test
   date:        Thu Jan 01 00:00:00 1970 +0000
-  trouble:     bumped
+  instability: phase-divergent
   summary:     add obsol_d'''
   
   $ hg push ../other-new/
   pushing to ../other-new/
   searching for changes
-  abort: push includes bumped changeset: 6db5e282cb91!
+  abort: push includes phase-divergent changeset: 6db5e282cb91!
   (use 'hg evolve' to get a stable history or --force to ignore warnings)
   [255]
 
@@ -611,7 +611,7 @@
   $ echo 42 >> f
   $ hg commit --amend --traceback --quiet
   $ hg log -G
-  @  changeset:   15:705ab2a6b72e
+  @  changeset:   14:705ab2a6b72e
   |  tag:         tip
   |  parent:      10:2033b4e49474
   |  user:        test
@@ -622,7 +622,7 @@
   |/   parent:      10:2033b4e49474
   |    user:        test
   |    date:        Thu Jan 01 00:00:00 1970 +0000
-  |    trouble:     bumped
+  |    instability: phase-divergent
   |    summary:     add obsol_d'''
   |
   | o  changeset:   11:9468a5f5d8b2
@@ -673,28 +673,28 @@
   1 files updated, 0 files merged, 1 files removed, 0 files unresolved
   $ mkcommit "obsolet_conflicting_d"
   $ hg summary
-  parent: 1[46]:50f11e5e3a63 tip (re)
+  parent: 15:50f11e5e3a63 tip
    add obsolet_conflicting_d
   branch: default
   commit: (clean)
   update: (2|9|11) new changesets, (3|9|10) branch heads \(merge\) (re)
   phases: 3 draft
-  bumped: 1 changesets
+  phase-divergent: 1 changesets
   $ hg debugobsolete `getid a7a6f2b5d8a5` `getid 50f11e5e3a63`
-  $ hg log -r 'divergent()'
+  $ hg log -r 'contentdivergent()'
   changeset:   12:6db5e282cb91
   parent:      10:2033b4e49474
   user:        test
   date:        Thu Jan 01 00:00:00 1970 +0000
-  trouble:     bumped, divergent
+  instability: phase-divergent, content-divergent
   summary:     add obsol_d'''
   
-  changeset:   16:50f11e5e3a63
+  changeset:   15:50f11e5e3a63
   tag:         tip
   parent:      11:9468a5f5d8b2
   user:        test
   date:        Thu Jan 01 00:00:00 1970 +0000
-  trouble:     divergent
+  instability: content-divergent
   summary:     add obsolet_conflicting_d
   
 
@@ -707,11 +707,11 @@
   [2]
   $ hg olog
   @  0d3f46688ccc (3) add obsol_c
-  |    rewritten(parent) as 2033b4e49474 by test (Thu Jan 01 00:00:00 1970 +0000)
-  |    rewritten as 725c380fe99b by test (Thu Jan 01 00:00:00 1970 +0000)
+  |    rewritten(parent) as 2033b4e49474 by test (*) (glob)
+  |    rewritten as 725c380fe99b by test (*) (glob)
   |
   x  4538525df7e2 (2) add c
-       rewritten as 0d3f46688ccc by test (Thu Jan 01 00:00:00 1970 +0000)
+       rewritten as 0d3f46688ccc by test (*) (glob)
   
 
 Check import reports new unstable changeset:
@@ -722,40 +722,34 @@
   (4538525df7e2 has diverged, use 'hg evolve --list --contentdivergent' to resolve the issue)
   $ hg export 9468a5f5d8b2 | hg import -
   applying patch from stdin
-  1 new unstable changesets
+  1 new orphan changesets
 
 
 Relevant marker computation
 ==============================
 
   $ hg log -G --hidden
-  @  changeset:   17:a5f7a21fe7bc
+  @  changeset:   16:a5f7a21fe7bc
   |  tag:         tip
   |  parent:      2:4538525df7e2
   |  user:        test
   |  date:        Thu Jan 01 00:00:00 1970 +0000
-  |  trouble:     unstable
+  |  instability: orphan
   |  summary:     add obsol_d''
   |
-  | o  changeset:   16:50f11e5e3a63
+  | o  changeset:   15:50f11e5e3a63
   | |  parent:      11:9468a5f5d8b2
   | |  user:        test
   | |  date:        Thu Jan 01 00:00:00 1970 +0000
-  | |  trouble:     divergent
+  | |  instability: content-divergent
   | |  summary:     add obsolet_conflicting_d
   | |
-  | | o  changeset:   15:705ab2a6b72e
+  | | o  changeset:   14:705ab2a6b72e
   | | |  parent:      10:2033b4e49474
   | | |  user:        test
   | | |  date:        Thu Jan 01 00:00:00 1970 +0000
   | | |  summary:     add f
   | | |
-  | | | x  changeset:   14:33d458d86621
-  | | | |  user:        test
-  | | | |  date:        Thu Jan 01 00:00:00 1970 +0000
-  | | | |  obsolete:    pruned
-  | | | |  summary:     temporary amend commit for 0b1b6dd009c0
-  | | | |
   | | | x  changeset:   13:0b1b6dd009c0
   | | |/   parent:      10:2033b4e49474
   | | |    user:        test
@@ -767,7 +761,7 @@
   | | |/   parent:      10:2033b4e49474
   | | |    user:        test
   | | |    date:        Thu Jan 01 00:00:00 1970 +0000
-  | | |    trouble:     bumped, divergent
+  | | |    instability: phase-divergent, content-divergent
   | | |    summary:     add obsol_d'''
   | | |
   | o |  changeset:   11:9468a5f5d8b2
@@ -856,8 +850,7 @@
 simple rewrite with a prune attached to it
 
   $ hg debugobsolete --rev 15
-  0b1b6dd009c037985363e2290a0b579819f659db 705ab2a6b72e2cd86edb799ebe15f2695f86143e 0 (*) {'ef1': '*', 'user': 'test'} (glob)
-  33d458d86621f3186c40bfccd77652f4a122743e 0 {0b1b6dd009c037985363e2290a0b579819f659db} (*) {'ef1': '*', 'user': 'test'} (glob)
+  a7a6f2b5d8a54b81bc7aa2fba2934ad6d700a79e 50f11e5e3a63806e678c734e525502f522d37e38 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
 
 Transitive rewrite
 
--- a/tests/test-prev-next.t	Sat Sep 30 11:11:04 2017 +0100
+++ b/tests/test-prev-next.t	Sat Sep 30 11:38:08 2017 +0100
@@ -169,7 +169,7 @@
 some aspiring children
 
   $ hg amend -m 'added b (2)'
-  1 new unstable changesets
+  1 new orphan changesets
   $ hg next
   no children
   (1 unstable changesets to be evolved here, do you want --evolve?)
@@ -209,7 +209,7 @@
 next with ambiguity in aspiring children
 
   $ hg am -m 'added b (3)'
-  2 new unstable changesets
+  2 new orphan changesets
   $ hg next
   no children
   (2 unstable changesets to be evolved here, do you want --evolve?)
@@ -251,7 +251,7 @@
   $ sleep 1
   $ hg next --evolve
   waiting for lock on working directory of $TESTTMP/repo held by process '*' on host '*' (glob)
-  1 new unstable changesets
+  1 new orphan changesets
   got lock after [4-6] seconds (re)
   move:[2] two
   atop:[3] one
--- a/tests/test-prune.t	Sat Sep 30 11:11:04 2017 +0100
+++ b/tests/test-prune.t	Sat Sep 30 11:38:08 2017 +0100
@@ -63,7 +63,7 @@
 
   $ hg prune 1
   1 changesets pruned
-  2 new unstable changesets
+  2 new orphan changesets
   $ hg book -i BABAR
   $ hg debugobsolete
   9d206ffc875e1bc304590549be293be36821e66c 0 {47d2a3944de8b013de3be9578e8e344ea2e6c097} (Sat Dec 15 00:00:00 1979 +0000) {'ef1': '*', 'user': 'blah'} (glob)
--- a/tests/test-sharing.t	Sat Sep 30 11:11:04 2017 +0100
+++ b/tests/test-sharing.t	Sat Sep 30 11:38:08 2017 +0100
@@ -69,10 +69,8 @@
 
 Figure SG02
   $ hg shortlog --hidden -G
-  @  3:60ffde5765c5  draft  fix bug 37
+  @  2:60ffde5765c5  draft  fix bug 37
   |
-  | x  2:2a039763c0f4  draft  temporary amend commit for f6490818a721
-  | |
   | x  1:f6490818a721  draft  prelim change
   |/
   o  0:0dc9c9f6ab91  public  create new project
@@ -87,7 +85,7 @@
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files (+1 heads)
-  2 new obsolescence markers
+  1 new obsolescence markers
   obsoleted 1 changesets
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   updated to "60ffde5765c5: fix bug 37"
@@ -108,10 +106,8 @@
 
 Figure SG04 (dev-repo)
   $ hg shortlog --hidden -G
-  @  4:de6151c48e1c  draft  fix bug 37
+  @  3:de6151c48e1c  draft  fix bug 37
   |
-  | x  3:ad19d3570adb  draft  temporary amend commit for 60ffde5765c5
-  | |
   | x  2:60ffde5765c5  draft  fix bug 37
   |/
   | x  1:f6490818a721  draft  prelim change
@@ -125,12 +121,10 @@
   updated to "de6151c48e1c: fix bug 37"
   1 other heads for branch "default"
   $ hg shortlog --hidden -G
-  @  4:de6151c48e1c  draft  fix bug 37
+  @  3:de6151c48e1c  draft  fix bug 37
   |
-  | x  3:60ffde5765c5  draft  fix bug 37
+  | x  2:60ffde5765c5  draft  fix bug 37
   |/
-  | x  2:2a039763c0f4  draft  temporary amend commit for f6490818a721
-  | |
   | x  1:f6490818a721  draft  prelim change
   |/
   o  0:0dc9c9f6ab91  public  create new project
@@ -143,7 +137,7 @@
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
-  4 new obsolescence markers
+  2 new obsolescence markers
 
 Now that the fix is public, we cannot amend it any more.
   $ hg amend -m 'fix bug 37'
@@ -159,7 +153,7 @@
   
 Oops, still have draft changesets in dev-repo: push the phase change there.
   $ hg -R ../dev-repo shortlog -r 'draft()'
-  4:de6151c48e1c  draft  fix bug 37
+  3:de6151c48e1c  draft  fix bug 37
   $ hg push ../dev-repo
   pushing to ../dev-repo
   searching for changes
@@ -212,7 +206,7 @@
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files (+1 heads)
-  2 new obsolescence markers
+  1 new obsolescence markers
   obsoleted 1 changesets
   updating bookmark bug15
   $ hg -R ../review bookmarks
@@ -257,7 +251,7 @@
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files (+1 heads)
-  2 new obsolescence markers
+  1 new obsolescence markers
   obsoleted 1 changesets
   updating bookmark featureX
 
@@ -272,7 +266,7 @@
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
-  4 new obsolescence markers
+  2 new obsolescence markers
   $ hg -R ../public bookmarks
   no bookmarks set
   $ hg push ../review
@@ -283,7 +277,7 @@
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files (+1 heads)
-  2 new obsolescence markers
+  1 new obsolescence markers
   obsoleted 1 changesets
   updating bookmark featureX
   $ hg -R ../review bookmarks
@@ -333,17 +327,15 @@
 her change, so now she can publish it.
   $ cd ../alice
   $ hg --hidden shortlog -G -r 1::
-  @  4:cbdfbd5a5db2  draft  fix bug 15 (v2)
+  @  3:cbdfbd5a5db2  draft  fix bug 15 (v2)
   |
-  | x  3:55dd95168a35  draft  temporary amend commit for f91e97234c2b
-  | |
   | x  2:f91e97234c2b  draft  fix bug 15 (v1)
   |/
   o  1:de6151c48e1c  public  fix bug 37
   |
   ~
   $ hg outgoing -q ../public
-  4:cbdfbd5a5db2
+  3:cbdfbd5a5db2
   $ hg push ../public
   pushing to ../public
   searching for changes
@@ -358,22 +350,20 @@
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files (+1 heads)
-  4 new obsolescence markers
+  2 new obsolescence markers
   (run 'hg heads' to see heads, 'hg merge' to merge)
   $ hg log -G -q -r 'head()'
-  o  5:540ba8f317e6
+  o  4:540ba8f317e6
   |
   ~
-  @  4:cbdfbd5a5db2
+  @  3:cbdfbd5a5db2
   |
   ~
   $ hg --hidden shortlog -G -r 1::
-  o  5:540ba8f317e6  public  implement feature X (v3)
+  o  4:540ba8f317e6  public  implement feature X (v3)
   |
-  | @  4:cbdfbd5a5db2  draft  fix bug 15 (v2)
+  | @  3:cbdfbd5a5db2  draft  fix bug 15 (v2)
   |/
-  | x  3:55dd95168a35  draft  temporary amend commit for f91e97234c2b
-  | |
   | x  2:f91e97234c2b  draft  fix bug 15 (v1)
   |/
   o  1:de6151c48e1c  public  fix bug 37
@@ -383,7 +373,7 @@
 Alice rebases her draft changeset on top of Bob's public changeset and
 publishes the result.
   $ hg rebase -d 5
-  rebasing 4:cbdfbd5a5db2 "fix bug 15 (v2)" (bug15)
+  rebasing 3:cbdfbd5a5db2 "fix bug 15 (v2)" (bug15)
   $ hg push ../public
   pushing to ../public
   searching for changes
@@ -391,7 +381,7 @@
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
-  3 new obsolescence markers
+  2 new obsolescence markers
   $ hg push ../review
   pushing to ../review
   searching for changes
@@ -474,10 +464,8 @@
   $ echo 'better fix (bob)' >> file1
   $ hg amend -u bob -m 'fix bug 24 (v2 by bob)'
   $ hg --hidden shortlog -G -r 3::
-  @  6:a360947f6faf  draft  fix bug 24 (v2 by bob)
+  @  5:a360947f6faf  draft  fix bug 24 (v2 by bob)
   |
-  | x  5:3466c7f5a149  draft  temporary amend commit for 2fe6c4bd32d0
-  | |
   | x  4:2fe6c4bd32d0  draft  fix bug 24 (v1)
   |/
   o  3:a06ec1bf97bd  public  fix bug 15 (v2)
@@ -492,56 +480,50 @@
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files (+1 heads)
-  2 new obsolescence markers
+  1 new obsolescence markers
   (run 'hg heads' to see heads, 'hg merge' to merge)
-  2 new divergent changesets
+  2 new content-divergent changesets
 
 Figure SG09: multiple heads! divergence! oh my!
   $ hg --hidden shortlog -G -r 3::
-  o  7:e3f99ce9d9cd  draft  fix bug 24 (v2 by alice)
+  o  6:e3f99ce9d9cd  draft  fix bug 24 (v2 by alice)
   |
-  | @  6:a360947f6faf  draft  fix bug 24 (v2 by bob)
+  | @  5:a360947f6faf  draft  fix bug 24 (v2 by bob)
   |/
-  | x  5:3466c7f5a149  draft  temporary amend commit for 2fe6c4bd32d0
-  | |
   | x  4:2fe6c4bd32d0  draft  fix bug 24 (v1)
   |/
   o  3:a06ec1bf97bd  public  fix bug 15 (v2)
   |
   ~
   $ hg --hidden shortlog -r 'successors(2fe6)'
-  6:a360947f6faf  draft  fix bug 24 (v2 by bob)
-  7:e3f99ce9d9cd  draft  fix bug 24 (v2 by alice)
+  5:a360947f6faf  draft  fix bug 24 (v2 by bob)
+  6:e3f99ce9d9cd  draft  fix bug 24 (v2 by alice)
 
 Use evolve to fix the divergence.
   $ HGMERGE=internal:other hg evolve --contentdivergent
-  merge:[6] fix bug 24 (v2 by bob)
-  with: [7] fix bug 24 (v2 by alice)
+  merge:[5] fix bug 24 (v2 by bob)
+  with: [6] fix bug 24 (v2 by alice)
   base: [4] fix bug 24 (v1)
   0 files updated, 1 files merged, 0 files removed, 0 files unresolved
   working directory is now at 5ad6037c046c
-  $ hg log -q -r 'divergent()'
+  $ hg log -q -r 'contentdivergent()'
 
 Figure SG10: Bob's repository after fixing divergence.
   $ hg --hidden shortlog -G -r 3::
-  @  9:5ad6037c046c  draft  fix bug 24 (v2 by bob)
+  @  7:5ad6037c046c  draft  fix bug 24 (v2 by bob)
   |
-  | x  8:bcfc9a755ac3  draft  temporary amend commit for a360947f6faf
-  | |
-  +---x  7:e3f99ce9d9cd  draft  fix bug 24 (v2 by alice)
-  | |
-  | x  6:a360947f6faf  draft  fix bug 24 (v2 by bob)
+  | x  6:e3f99ce9d9cd  draft  fix bug 24 (v2 by alice)
   |/
-  | x  5:3466c7f5a149  draft  temporary amend commit for 2fe6c4bd32d0
-  | |
+  | x  5:a360947f6faf  draft  fix bug 24 (v2 by bob)
+  |/
   | x  4:2fe6c4bd32d0  draft  fix bug 24 (v1)
   |/
   o  3:a06ec1bf97bd  public  fix bug 15 (v2)
   |
   ~
-  $ hg --hidden shortlog -r 'precursors(9)'
-  6:a360947f6faf  draft  fix bug 24 (v2 by bob)
-  7:e3f99ce9d9cd  draft  fix bug 24 (v2 by alice)
+  $ hg --hidden shortlog -r 'precursors(5ad6037c046c)'
+  5:a360947f6faf  draft  fix bug 24 (v2 by bob)
+  6:e3f99ce9d9cd  draft  fix bug 24 (v2 by alice)
   $ cat file1
   Do stuff.
   pretty good fix
--- a/tests/test-split.t	Sat Sep 30 11:11:04 2017 +0100
+++ b/tests/test-split.t	Sat Sep 30 11:38:08 2017 +0100
@@ -39,8 +39,7 @@
   $ echo "change to a" >> _a
   $ hg amend
   $ hg debugobsolete
-  1334a80b33c3f9873edab728fbbcf500eab61d2e d2fe56e71366c2c5376c89960c281395062c0619 0 (*) {'ef1': '8', 'user': 'test'} (glob)
-  06be89dfe2ae447383f30a2984933352757b6fb4 0 {1334a80b33c3f9873edab728fbbcf500eab61d2e} (*) {'ef1': '0', 'user': 'test'} (glob)
+  1334a80b33c3f9873edab728fbbcf500eab61d2e d2fe56e71366c2c5376c89960c281395062c0619 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '8', 'operation': 'amend', 'user': 'test'}
 
 To create commits with the number of split
   $ echo 0 > num
@@ -92,17 +91,16 @@
   no more change to split
 
   $ hg debugobsolete
-  1334a80b33c3f9873edab728fbbcf500eab61d2e d2fe56e71366c2c5376c89960c281395062c0619 0 (*) {'ef1': '8', 'user': 'test'} (glob)
-  06be89dfe2ae447383f30a2984933352757b6fb4 0 {1334a80b33c3f9873edab728fbbcf500eab61d2e} (*) {'ef1': '0', 'user': 'test'} (glob)
+  1334a80b33c3f9873edab728fbbcf500eab61d2e d2fe56e71366c2c5376c89960c281395062c0619 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '8', 'operation': 'amend', 'user': 'test'}
   d2fe56e71366c2c5376c89960c281395062c0619 2d8abdb827cdf71ca477ef6985d7ceb257c53c1b 033b3f5ae73db67c10de938fb6f26b949aaef172 0 (*) {'ef1': '13', 'user': 'test'} (glob)
   $ hg log -G
-  @  changeset:   7:033b3f5ae73d
+  @  changeset:   6:033b3f5ae73d
   |  tag:         tip
   |  user:        test
   |  date:        Thu Jan 01 00:00:00 1970 +0000
   |  summary:     split2
   |
-  o  changeset:   6:2d8abdb827cd
+  o  changeset:   5:2d8abdb827cd
   |  parent:      2:52149352b372
   |  user:        test
   |  date:        Thu Jan 01 00:00:00 1970 +0000
@@ -148,15 +146,15 @@
 Split a revision specified with -r
   $ echo "change to b" >> _b
   $ hg amend -m "_cprim"
-  2 new unstable changesets
+  2 new orphan changesets
   $ hg evolve --all
-  move:[6] split1
-  atop:[9] _cprim
-  move:[7] split2
-  atop:[10] split1
+  move:[5] split1
+  atop:[7] _cprim
+  move:[6] split2
+  atop:[8] split1
   working directory is now at * (glob)
   $ hg log -r "desc(_cprim)" -v -p
-  changeset:   9:b434287e665c
+  changeset:   7:b434287e665c
   parent:      1:37445b16603b
   user:        other-test-user
   date:        Thu Jan 01 00:00:00 1970 +0000
@@ -210,38 +208,36 @@
 remaining changes
 
   $ hg debugobsolete
-  1334a80b33c3f9873edab728fbbcf500eab61d2e d2fe56e71366c2c5376c89960c281395062c0619 0 (*) {'ef1': '8', 'user': 'test'} (glob)
-  06be89dfe2ae447383f30a2984933352757b6fb4 0 {1334a80b33c3f9873edab728fbbcf500eab61d2e} (*) {'ef1': '0', 'user': 'test'} (glob)
+  1334a80b33c3f9873edab728fbbcf500eab61d2e d2fe56e71366c2c5376c89960c281395062c0619 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '8', 'operation': 'amend', 'user': 'test'}
   d2fe56e71366c2c5376c89960c281395062c0619 2d8abdb827cdf71ca477ef6985d7ceb257c53c1b 033b3f5ae73db67c10de938fb6f26b949aaef172 0 (*) {'ef1': '13', 'user': 'test'} (glob)
-  52149352b372d39b19127d5bd2d488b1b63f9f85 b434287e665ce757ee5463a965cb3d119ca9e893 0 (*) {'ef1': '9', 'user': 'test'} (glob)
-  7a4fc25a48a5797bb069563854455aecf738d8f2 0 {52149352b372d39b19127d5bd2d488b1b63f9f85} (*) {'ef1': '0', 'user': 'test'} (glob)
+  52149352b372d39b19127d5bd2d488b1b63f9f85 b434287e665ce757ee5463a965cb3d119ca9e893 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '9', 'operation': 'amend', 'user': 'test'}
   2d8abdb827cdf71ca477ef6985d7ceb257c53c1b e2b4afde39803bd42bb1374b230fca1b1e8cc868 0 (*) {'ef1': '4', 'user': 'test'} (glob)
   033b3f5ae73db67c10de938fb6f26b949aaef172 bb5e4f6020c74e7961a51fda635ea9df9b04dda8 0 (*) {'ef1': '4', 'user': 'test'} (glob)
   b434287e665ce757ee5463a965cb3d119ca9e893 ead2066d1dbf14833fe1069df1b735e4e9468c40 1188c4216eba37f18a1de6558564601d00ff2143 0 (*) {'ef1': '13', 'user': 'test'} (glob)
   $ hg evolve --all
-  move:[10] split1
-  atop:[13] split4
-  move:[11] split2
-  atop:[14] split1
+  move:[8] split1
+  atop:[11] split4
+  move:[9] split2
+  atop:[12] split1
   working directory is now at d74c6715e706
   $ hg log -G
-  @  changeset:   15:d74c6715e706
+  @  changeset:   13:d74c6715e706
   |  tag:         tip
   |  user:        test
   |  date:        Thu Jan 01 00:00:00 1970 +0000
   |  summary:     split2
   |
-  o  changeset:   14:3f134f739075
+  o  changeset:   12:3f134f739075
   |  user:        test
   |  date:        Thu Jan 01 00:00:00 1970 +0000
   |  summary:     split1
   |
-  o  changeset:   13:1188c4216eba
+  o  changeset:   11:1188c4216eba
   |  user:        other-test-user
   |  date:        Thu Jan 01 00:00:00 1970 +0000
   |  summary:     split4
   |
-  o  changeset:   12:ead2066d1dbf
+  o  changeset:   10:ead2066d1dbf
   |  parent:      1:37445b16603b
   |  user:        other-test-user
   |  date:        Thu Jan 01 00:00:00 1970 +0000
@@ -265,19 +261,19 @@
   $ echo "changetofilea" > _a
   $ hg amend
   $ hg book
-     bookA                     17:7a6b35779b85
-   * bookB                     17:7a6b35779b85
-  $ hg log -G -r "14::"
-  @  changeset:   17:7a6b35779b85
+     bookA                     14:7a6b35779b85
+   * bookB                     14:7a6b35779b85
+  $ hg log -G -r "3f134f739075::"
+  @  changeset:   14:7a6b35779b85
   |  bookmark:    bookA
   |  bookmark:    bookB
   |  tag:         tip
-  |  parent:      14:3f134f739075
+  |  parent:      12:3f134f739075
   |  user:        test
   |  date:        Thu Jan 01 00:00:00 1970 +0000
   |  summary:     split2
   |
-  o  changeset:   14:3f134f739075
+  o  changeset:   12:3f134f739075
   |  user:        test
   ~  date:        Thu Jan 01 00:00:00 1970 +0000
      summary:     split1
@@ -308,8 +304,8 @@
   
   created new head
   Done splitting? [yN] y
-  $ hg log -G -r "14::"
-  @  changeset:   19:452a26648478
+  $ hg log -G -r "3f134f739075::"
+  @  changeset:   16:452a26648478
   |  bookmark:    bookA
   |  bookmark:    bookB
   |  tag:         tip
@@ -317,20 +313,20 @@
   |  date:        Thu Jan 01 00:00:00 1970 +0000
   |  summary:     split6
   |
-  o  changeset:   18:1315679b77dc
-  |  parent:      14:3f134f739075
+  o  changeset:   15:1315679b77dc
+  |  parent:      12:3f134f739075
   |  user:        victor
   |  date:        Thu Jan 01 00:00:00 1970 +0000
   |  summary:     split5
   |
-  o  changeset:   14:3f134f739075
+  o  changeset:   12:3f134f739075
   |  user:        test
   ~  date:        Thu Jan 01 00:00:00 1970 +0000
      summary:     split1
   
   $ hg book
-     bookA                     19:452a26648478
-   * bookB                     19:452a26648478
+     bookA                     16:452a26648478
+   * bookB                     16:452a26648478
  
 Lastest revision is selected if multiple are given to -r
   $ hg split -r "desc(_a)::"
@@ -416,7 +412,7 @@
   $ hg commit -m "Works on mytopic" babar celeste --user victor
   active topic 'mytopic' grew its first changeset
   $ hg log -r . 
-  changeset:   21:26f72cfaf036
+  changeset:   18:26f72cfaf036
   branch:      new-branch
   tag:         tip
   topic:       mytopic
@@ -425,7 +421,7 @@
   summary:     Works on mytopic
   
   $ hg summary
-  parent: 21:26f72cfaf036 tip
+  parent: 18:26f72cfaf036 tip
    Works on mytopic
   branch: new-branch
   commit: 2 unknown (clean)
@@ -472,15 +468,15 @@
 Check that the topic is still here
 
   $ hg log -r "tip~1::"
-  changeset:   22:addcf498f19e
+  changeset:   19:addcf498f19e
   branch:      new-branch
   topic:       mytopic
-  parent:      20:fdb403258632
+  parent:      17:fdb403258632
   user:        test
   date:        Thu Jan 01 00:00:00 1970 +0000
   summary:     split7
   
-  changeset:   23:2532b288af61
+  changeset:   20:2532b288af61
   branch:      new-branch
   tag:         tip
   topic:       mytopic
--- a/tests/test-stabilize-conflict.t	Sat Sep 30 11:11:04 2017 +0100
+++ b/tests/test-stabilize-conflict.t	Sat Sep 30 11:38:08 2017 +0100
@@ -65,7 +65,7 @@
   $ safesed 's/huit/eight/' babar
   $ hg diff
   diff -r 9d5daf8bd956 babar
-  --- a/babar	Thu Jan 01 00:00:00 1970 +0000
+  --- a/babar	* (glob)
   +++ b/babar	* (glob)
   @@ -5,6 +5,6 @@
    cinq
@@ -76,21 +76,21 @@
    neuf
    dix
   $ hg amend
-  1 new unstable changesets
+  1 new orphan changesets
   $ hg evolve
   move:[2] babar count up to fifteen
-  atop:[4] babar count up to ten
+  atop:[3] babar count up to ten
   merging babar
   working directory is now at 71c18f70c34f
   $ hg resolve -l
   $ hg log -G
-  @  changeset:   5:71c18f70c34f
+  @  changeset:   4:71c18f70c34f
   |  tag:         tip
   |  user:        test
   |  date:        Thu Jan 01 00:00:00 1970 +0000
   |  summary:     babar count up to fifteen
   |
-  o  changeset:   4:5977072d13c5
+  o  changeset:   3:5977072d13c5
   |  parent:      0:29ec1554cfaf
   |  user:        test
   |  date:        Thu Jan 01 00:00:00 1970 +0000
@@ -109,12 +109,12 @@
   $ hg gdown
   gdown have been deprecated in favor of previous
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
-  [4] babar count up to ten
+  [3] babar count up to ten
   $ safesed 's/dix/ten/' babar
   $ hg diff
   diff -r 5977072d13c5 babar
   --- a/babar	Thu Jan 01 00:00:00 1970 +0000
-  +++ b/babar	* (glob)
+  +++ b/babar	Thu Jan 01 00:00:00 1970 +0000
   @@ -7,4 +7,4 @@
    sept
    eight
@@ -122,10 +122,10 @@
   -dix
   +ten
   $ hg amend
-  1 new unstable changesets
+  1 new orphan changesets
   $ hg evolve
-  move:[5] babar count up to fifteen
-  atop:[7] babar count up to ten
+  move:[4] babar count up to fifteen
+  atop:[5] babar count up to ten
   merging babar
   warning: conflicts while merging babar! (edit, then use 'hg resolve --mark')
   evolve failed!
@@ -135,20 +135,20 @@
   $ hg resolve -l
   U babar
   $ hg log -G
-  @  changeset:   7:e04690b09bc6
+  @  changeset:   5:e04690b09bc6
   |  tag:         tip
   |  parent:      0:29ec1554cfaf
   |  user:        test
   |  date:        Thu Jan 01 00:00:00 1970 +0000
   |  summary:     babar count up to ten
   |
-  | o  changeset:   5:71c18f70c34f
+  | o  changeset:   4:71c18f70c34f
   | |  user:        test
   | |  date:        Thu Jan 01 00:00:00 1970 +0000
-  | |  trouble:     unstable
+  | |  instability: orphan
   | |  summary:     babar count up to fifteen
   | |
-  | x  changeset:   4:5977072d13c5
+  | x  changeset:   3:5977072d13c5
   |/   parent:      0:29ec1554cfaf
   |    user:        test
   |    date:        Thu Jan 01 00:00:00 1970 +0000
@@ -168,16 +168,16 @@
   $ hg resolve --all -m
   (no more unresolved files)
   $ hg evolve --continue
-  grafting 5:71c18f70c34f "babar count up to fifteen"
+  grafting 4:71c18f70c34f "babar count up to fifteen"
   $ hg resolve -l
   $ hg log -G
-  @  changeset:   8:1836b91c6c1d
+  @  changeset:   6:1836b91c6c1d
   |  tag:         tip
   |  user:        test
   |  date:        Thu Jan 01 00:00:00 1970 +0000
   |  summary:     babar count up to fifteen
   |
-  o  changeset:   7:e04690b09bc6
+  o  changeset:   5:e04690b09bc6
   |  parent:      0:29ec1554cfaf
   |  user:        test
   |  date:        Thu Jan 01 00:00:00 1970 +0000
@@ -196,12 +196,12 @@
   $ hg gdown
   gdown have been deprecated in favor of previous
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
-  [7] babar count up to ten
+  [5] babar count up to ten
   $ safesed 's/ten/zehn/' babar
   $ hg diff
   diff -r e04690b09bc6 babar
   --- a/babar	Thu Jan 01 00:00:00 1970 +0000
-  +++ b/babar	* (glob)
+  +++ b/babar	Thu Jan 01 00:00:00 1970 +0000
   @@ -7,4 +7,4 @@
    sept
    eight
@@ -209,13 +209,13 @@
   -ten
   +zehn
   $ hg amend
-  1 new unstable changesets
+  1 new orphan changesets
   $ safesed 's/interactive=.*/interactive=true/' $HGRCPATH
   $ hg evolve --tool touch <<EOF
   > n
   > EOF
-  move:[8] babar count up to fifteen
-  atop:[10] babar count up to ten
+  move:[6] babar count up to fifteen
+  atop:[7] babar count up to ten
   merging babar
    output file babar appears unchanged
   was merge successful (yn)? n
@@ -227,20 +227,20 @@
   $ hg resolve -l
   U babar
   $ hg log -G
-  @  changeset:   10:b20d08eea373
+  @  changeset:   7:b20d08eea373
   |  tag:         tip
   |  parent:      0:29ec1554cfaf
   |  user:        test
   |  date:        Thu Jan 01 00:00:00 1970 +0000
   |  summary:     babar count up to ten
   |
-  | o  changeset:   8:1836b91c6c1d
+  | o  changeset:   6:1836b91c6c1d
   | |  user:        test
   | |  date:        Thu Jan 01 00:00:00 1970 +0000
-  | |  trouble:     unstable
+  | |  instability: orphan
   | |  summary:     babar count up to fifteen
   | |
-  | x  changeset:   7:e04690b09bc6
+  | x  changeset:   5:e04690b09bc6
   |/   parent:      0:29ec1554cfaf
   |    user:        test
   |    date:        Thu Jan 01 00:00:00 1970 +0000
--- a/tests/test-stabilize-order.t	Sat Sep 30 11:11:04 2017 +0100
+++ b/tests/test-stabilize-order.t	Sat Sep 30 11:38:08 2017 +0100
@@ -38,18 +38,18 @@
   [2] addb
   $ echo b >> b
   $ hg amend
-  1 new unstable changesets
+  1 new orphan changesets
   $ hg gdown
   gdown have been deprecated in favor of previous
   0 files updated, 0 files merged, 1 files removed, 0 files unresolved
   [1] adda
   $ echo a >> a
   $ hg amend
-  1 new unstable changesets
+  1 new orphan changesets
   $ glog
-  @  7:005fe5914f78@default(draft) adda
+  @  5:005fe5914f78@default(draft) adda
   |
-  | o  5:22619daeed78@default(draft) addb
+  | o  4:22619daeed78@default(draft) addb
   | |
   | | o  3:7a7552255fb5@default(draft) addc
   | | |
@@ -63,8 +63,8 @@
 Test stabilizing a predecessor child
 
   $ hg evolve -v
-  move:[5] addb
-  atop:[7] adda
+  move:[4] addb
+  atop:[5] adda
   hg rebase -r 22619daeed78 -d 005fe5914f78
   resolving manifests
   getting b
@@ -74,9 +74,9 @@
   committing changelog
   working directory is now at 81b8bbcd5892
   $ glog
-  @  8:81b8bbcd5892@default(draft) addb
+  @  6:81b8bbcd5892@default(draft) addb
   |
-  o  7:005fe5914f78@default(draft) adda
+  o  5:005fe5914f78@default(draft) adda
   |
   | o  3:7a7552255fb5@default(draft) addc
   | |
@@ -94,7 +94,7 @@
   $ hg debugobsolete > successors.old
   $ hg evolve -v
   move:[3] addc
-  atop:[8] addb
+  atop:[6] addb
   hg rebase -r 7a7552255fb5 -d 81b8bbcd5892
   resolving manifests
   getting b
@@ -109,21 +109,21 @@
   $ diff -u successors.old successors.new
   --- successors.old* (glob)
   +++ successors.new* (glob)
-  @@ -3,3 +3,4 @@
-   93418d2c0979643ad446f621195e78720edb05b4 005fe5914f78e8bc64c7eba28117b0b1fa210d0d 0 (*) {'ef1': '*', 'user': 'test'} (glob)
-   7a7d76dc97c57751de9e80f61ed2a639bd03cd24 0 {93418d2c0979643ad446f621195e78720edb05b4} (*) {'ef1': '*', 'user': 'test'} (glob)
-   22619daeed78036f80fbd326b6852519c4f0c25e 81b8bbcd5892841efed41433d7a5e9df922396cb 0 (*) {'ef1': '*', 'user': 'test'} (glob)
-  +7a7552255fb5f8bd745e46fba6f0ca633a4dd716 0f691739f91762462bf8ba21f35fdf71fe64310e 0 (*) {'ef1': '*', 'user': 'test'} (glob)
+  @@ -1,3 +1,4 @@
+   ef23d6ef94d68dea65d20587dfecc8b33d165617 22619daeed78036f80fbd326b6852519c4f0c25e 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '8', 'operation': 'amend', 'user': 'test'}
+   93418d2c0979643ad446f621195e78720edb05b4 005fe5914f78e8bc64c7eba28117b0b1fa210d0d 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '8', 'operation': 'amend', 'user': 'test'}
+   22619daeed78036f80fbd326b6852519c4f0c25e 81b8bbcd5892841efed41433d7a5e9df922396cb 0 (*) {'ef1': '4', 'user': 'test'} (glob)
+  +7a7552255fb5f8bd745e46fba6f0ca633a4dd716 0f691739f91762462bf8ba21f35fdf71fe64310e 0 (*) {'ef1': '4', 'user': 'test'} (glob)
   [1]
 
 
 
   $ glog
-  @  9:0f691739f917@default(draft) addc
+  @  7:0f691739f917@default(draft) addc
   |
-  o  8:81b8bbcd5892@default(draft) addb
+  o  6:81b8bbcd5892@default(draft) addb
   |
-  o  7:005fe5914f78@default(draft) adda
+  o  5:005fe5914f78@default(draft) adda
   |
   o  0:c471ef929e6a@default(draft) addroot
   
@@ -137,15 +137,15 @@
   0 files updated, 0 files merged, 1 files removed, 0 files unresolved
   $ echo b >> b
   $ hg amend
-  1 new unstable changesets
+  1 new orphan changesets
   $ glog
-  @  11:7a68bc4596ea@default(draft) addb
+  @  8:7a68bc4596ea@default(draft) addb
   |
-  | o  9:0f691739f917@default(draft) addc
+  | o  7:0f691739f917@default(draft) addc
   | |
-  | x  8:81b8bbcd5892@default(draft) addb
+  | x  6:81b8bbcd5892@default(draft) addb
   |/
-  o  7:005fe5914f78@default(draft) adda
+  o  5:005fe5914f78@default(draft) adda
   |
   o  0:c471ef929e6a@default(draft) addroot
   
@@ -156,8 +156,8 @@
   (1 other orphan in the repository, do you want --any or --rev)
   [2]
   $ hg evolve --any -v
-  move:[9] addc
-  atop:[11] addb
+  move:[7] addc
+  atop:[8] addb
   hg rebase -r 0f691739f917 -d 7a68bc4596ea
   resolving manifests
   removing c
@@ -170,11 +170,11 @@
   committing changelog
   working directory is now at 2256dae6521f
   $ glog
-  @  12:2256dae6521f@default(draft) addc
+  @  9:2256dae6521f@default(draft) addc
   |
-  o  11:7a68bc4596ea@default(draft) addb
+  o  8:7a68bc4596ea@default(draft) addb
   |
-  o  7:005fe5914f78@default(draft) adda
+  o  5:005fe5914f78@default(draft) adda
   |
   o  0:c471ef929e6a@default(draft) addroot
   
@@ -195,41 +195,41 @@
   $ hg up .^
   0 files updated, 0 files merged, 1 files removed, 0 files unresolved
   $ hg commit --amend -m "newmessage"
-  2 new unstable changesets
+  2 new orphan changesets
   $ hg log -G
-  @  changeset:   15:f83a0bce03e4
+  @  changeset:   12:f83a0bce03e4
   |  tag:         tip
-  |  parent:      11:7a68bc4596ea
+  |  parent:      8:7a68bc4596ea
   |  user:        test
   |  date:        Thu Jan 01 00:00:00 1970 +0000
   |  summary:     newmessage
   |
-  | o  changeset:   14:fa68011f392e
-  | |  parent:      12:2256dae6521f
+  | o  changeset:   11:fa68011f392e
+  | |  parent:      9:2256dae6521f
   | |  user:        test
   | |  date:        Thu Jan 01 00:00:00 1970 +0000
-  | |  trouble:     unstable
+  | |  instability: orphan
   | |  summary:     secondambiguous
   | |
-  | | o  changeset:   13:bdc003b6eec2
+  | | o  changeset:   10:bdc003b6eec2
   | |/   user:        test
   | |    date:        Thu Jan 01 00:00:00 1970 +0000
-  | |    trouble:     unstable
+  | |    instability: orphan
   | |    summary:     firstambiguous
   | |
-  | x  changeset:   12:2256dae6521f
+  | x  changeset:   9:2256dae6521f
   |/   user:        test
   |    date:        Thu Jan 01 00:00:00 1970 +0000
   |    obsolete:    reworded as f83a0bce03e4
   |    summary:     addc
   |
-  o  changeset:   11:7a68bc4596ea
-  |  parent:      7:005fe5914f78
+  o  changeset:   8:7a68bc4596ea
+  |  parent:      5:005fe5914f78
   |  user:        test
   |  date:        Thu Jan 01 00:00:00 1970 +0000
   |  summary:     addb
   |
-  o  changeset:   7:005fe5914f78
+  o  changeset:   5:005fe5914f78
   |  parent:      0:c471ef929e6a
   |  user:        test
   |  date:        Thu Jan 01 00:00:00 1970 +0000
--- a/tests/test-stabilize-result.t	Sat Sep 30 11:11:04 2017 +0100
+++ b/tests/test-stabilize-result.t	Sat Sep 30 11:38:08 2017 +0100
@@ -27,33 +27,30 @@
   (leaving bookmark changea)
   $ echo a >> a
   $ hg amend -m changea
-  1 new unstable changesets
+  1 new orphan changesets
   $ hg evolve -v --confirm
   move:[2] changea
-  atop:[4] 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:[4] changea
+  atop:[3] changea
   perform evolve? [Ny] y
   hg rebase -r cce2c55b8965 -d fb9d051ec0a4
   resolving manifests
   $ glog --hidden
-  @  4:fb9d051ec0a4@default(draft) bk:[changea] changea
+  @  3:fb9d051ec0a4@default(draft) bk:[changea] changea
   |
-  | x  3:c5727dbded3c@default(draft) bk:[] temporary amend commit for 102a90ea7b4a
+  | x  2:cce2c55b8965@default(draft) bk:[] 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 (*) {'ef1': '*', 'user': 'test'} (glob)
-  c5727dbded3c3a6877cf60d6bb552a76812cb844 0 {102a90ea7b4a3361e4082ed620918c261189a36a} (*) {'ef1': '*', 'user': 'test'} (glob)
   cce2c55b896511e0b6e04173c9450ba822ebc740 0 {102a90ea7b4a3361e4082ed620918c261189a36a} (*) {'ef1': '*', 'user': 'test'} (glob)
 
 Test evolve with conflict
@@ -73,20 +70,20 @@
   $ hg gdown
   gdown have been deprecated in favor of previous
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
-  [4] changea
+  [3] changea
   $ echo 'a' > a
   $ hg amend
-  1 new unstable changesets
+  1 new orphan changesets
   $ hg evolve
-  move:[5] newer a
-  atop:[7] changea
+  move:[4] newer a
+  atop:[5] changea
   merging a
   warning: conflicts while merging a! (edit, then use 'hg resolve --mark')
   evolve failed!
   fix conflict and run 'hg evolve --continue' or use 'hg update -C .' to abort
   abort: unresolved merge conflicts (see hg help resolve)
   [255]
-  $ hg revert -r 'unstable()' a
+  $ hg revert -r "orphan()" a
   $ hg diff
   diff -r 66719795a494 a
   --- a/a	* (glob)
@@ -96,13 +93,13 @@
   +a
   +newer a
   $ hg evolve --continue
-  grafting 5:3655f0f50885 "newer a"
+  grafting 4:3655f0f50885 "newer a"
   abort: unresolved merge conflicts (see 'hg help resolve')
   [255]
   $ hg resolve -m a
   (no more unresolved files)
   $ hg evolve --continue
-  grafting 5:3655f0f50885 "newer a"
+  grafting 4:3655f0f50885 "newer a"
 
 Stabilize latecomer with different parent
 =========================================
@@ -110,9 +107,9 @@
 (the same-parent case is handled in test-evolve.t)
 
   $ glog
-  @  8:1cf0aacfd363@default(draft) bk:[] newer a
+  @  6:1cf0aacfd363@default(draft) bk:[] newer a
   |
-  o  7:66719795a494@default(draft) bk:[changea] changea
+  o  5:66719795a494@default(draft) bk:[changea] changea
   |
   o  0:07f494440405@default(draft) bk:[] adda
   
@@ -121,7 +118,7 @@
   $ hg gdown
   gdown have been deprecated in favor of previous
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
-  [7] changea
+  [5] changea
   $ echo 'c' > c
   $ hg add c
   $ hg commit -m 'add c'
@@ -130,7 +127,7 @@
 Get a successors of 8 on it
 
   $ hg grab 1cf0aacfd363
-  rebasing 8:1cf0aacfd363 "newer a"
+  rebasing 6:1cf0aacfd363 "newer a"
   ? files updated, 0 files merged, 0 files removed, 0 files unresolved (glob)
 
 Add real change to the successors
@@ -141,15 +138,15 @@
 Make precursors public
 
   $ hg phase --hidden --public 1cf0aacfd363
-  1 new bumped changesets
+  1 new phase-divergent changesets
   $ glog
-  @  12:(73b15c7566e9|d5c7ef82d003)@default\(draft\) bk:\[\] newer a (re)
+  @  9:(73b15c7566e9|d5c7ef82d003)@default\(draft\) bk:\[\] newer a (re)
   |
-  o  9:7bc2f5967f5e@default(draft) bk:[] add c
+  o  7:7bc2f5967f5e@default(draft) bk:[] add c
   |
-  | o  8:1cf0aacfd363@default(public) bk:[] newer a
+  | o  6:1cf0aacfd363@default(public) bk:[] newer a
   |/
-  o  7:66719795a494@default(public) bk:[changea] changea
+  o  5:66719795a494@default(public) bk:[changea] changea
   |
   o  0:07f494440405@default(public) bk:[] adda
   
@@ -157,34 +154,34 @@
 Stabilize!
 
   $ hg evolve --any --dry-run --phasedivergent
-  recreate:[12] newer a
-  atop:[8] newer a
-  hg rebase --rev (73b15c7566e9|d5c7ef82d003) --dest 66719795a494; (re)
+  recreate:[9] newer a
+  atop:[6] newer a
+  hg rebase --rev d5c7ef82d003 --dest 66719795a494;
   hg update 1cf0aacfd363;
-  hg revert --all --rev (73b15c7566e9|d5c7ef82d003); (re)
+  hg revert --all --rev d5c7ef82d003;
   hg commit --msg "bumped update to %s" (no-eol)
   $ hg evolve --any --confirm --phasedivergent
-  recreate:[12] newer a
-  atop:[8] newer a
+  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 --phasedivergent
-  recreate:[12] newer a
-  atop:[8] newer a
+  recreate:[9] newer a
+  atop:[6] newer a
   perform evolve? [Ny] y
   rebasing to destination parent: 66719795a494
   computing new diff
   committed as c2c1151aa854
   working directory is now at c2c1151aa854
   $ glog
-  @  14:c2c1151aa854@default(draft) bk:[] bumped update to 1cf0aacfd363:
+  @  11:c2c1151aa854@default(draft) bk:[] bumped update to 1cf0aacfd363:
   |
-  | o  9:7bc2f5967f5e@default(draft) bk:[] add c
+  | o  7:7bc2f5967f5e@default(draft) bk:[] add c
   | |
-  o |  8:1cf0aacfd363@default(public) bk:[] newer a
+  o |  6:1cf0aacfd363@default(public) bk:[] newer a
   |/
-  o  7:66719795a494@default(public) bk:[changea] changea
+  o  5:66719795a494@default(public) bk:[changea] changea
   |
   o  0:07f494440405@default(public) bk:[] adda
   
@@ -205,15 +202,15 @@
   > EOF
   $ hg ci -m 'More addition'
   $ glog
-  @  15:3932c176bbaa@default(draft) bk:[] More addition
+  @  12:3932c176bbaa@default(draft) bk:[] More addition
   |
-  | o  14:(a7cabd7bd9c2|671b9d7eeaec)@default\(draft\) bk:\[\] bumped update to 1cf0aacfd363: (re)
+  | o  11:c2c1151aa854@default(draft) bk:[] bumped update to 1cf0aacfd363:
   | |
-  o |  9:7bc2f5967f5e@default(draft) bk:[] add c
+  o |  7:7bc2f5967f5e@default(draft) bk:[] add c
   | |
-  | o  8:1cf0aacfd363@default(public) bk:[] newer a
+  | o  6:1cf0aacfd363@default(public) bk:[] newer a
   |/
-  o  7:66719795a494@default(public) bk:[changea] changea
+  o  5:66719795a494@default(public) bk:[changea] changea
   |
   o  0:07f494440405@default(public) bk:[] adda
   
@@ -228,19 +225,19 @@
   $ cat a.old >> a
   $ rm a.old
   $ hg amend
-  2 new divergent changesets
+  2 new content-divergent changesets
   $ glog
-  @  19:eacc9c8240fe@default(draft) bk:[] More addition
+  @  14:eacc9c8240fe@default(draft) bk:[] More addition
   |
-  | o  17:d2f173e25686@default(draft) bk:[] More addition
+  | o  13:d2f173e25686@default(draft) bk:[] More addition
   |/
-  | o  14:(a7cabd7bd9c2|671b9d7eeaec)@default\(draft\) bk:\[\] bumped update to 1cf0aacfd363: (re)
+  | o  11:c2c1151aa854@default(draft) bk:[] bumped update to 1cf0aacfd363:
   | |
-  o |  9:7bc2f5967f5e@default(draft) bk:[] add c
+  o |  7:7bc2f5967f5e@default(draft) bk:[] add c
   | |
-  | o  8:1cf0aacfd363@default(public) bk:[] newer a
+  | o  6:1cf0aacfd363@default(public) bk:[] newer a
   |/
-  o  7:66719795a494@default(public) bk:[changea] changea
+  o  5:66719795a494@default(public) bk:[changea] changea
   |
   o  0:07f494440405@default(public) bk:[] adda
   
@@ -248,16 +245,16 @@
 Stabilize it
 
   $ hg evolve -qn --confirm --contentdivergent
-  merge:[19] More addition
-  with: [17] More addition
-  base: [15] More addition
+  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 --contentdivergent
-  merge:[19] More addition
-  with: [17] More addition
-  base: [15] More addition
+  merge:[14] More addition
+  with: [13] More addition
+  base: [12] More addition
   perform evolve? [Ny] y
   hg update -c eacc9c8240fe &&
   hg merge d2f173e25686 &&
@@ -266,9 +263,9 @@
   hg revert --all --rev tip &&
   hg commit -m "`hg log -r eacc9c8240fe --template={desc}`";
   $ hg evolve -v --contentdivergent
-  merge:[19] More addition
-  with: [17] More addition
-  base: [15] More addition
+  merge:[14] More addition
+  with: [13] More addition
+  base: [12] More addition
   merging divergent changeset
   resolving manifests
   merging a
@@ -278,29 +275,24 @@
   a
   committing manifest
   committing changelog
-  copying changeset 283ccd10e2b8 to 7bc2f5967f5e
-  committing files:
-  a
-  committing manifest
-  committing changelog
-  committed changeset 21:f344982e63c4
+  committed changeset 15:f344982e63c4
   working directory is now at f344982e63c4
   $ hg st
   $ glog
-  @  21:f344982e63c4@default(draft) bk:[] More addition
+  @  15:f344982e63c4@default(draft) bk:[] More addition
   |
-  | o  14:(a7cabd7bd9c2|671b9d7eeaec)@default\(draft\) bk:\[\] bumped update to 1cf0aacfd363: (re)
+  | o  11:c2c1151aa854@default(draft) bk:[] bumped update to 1cf0aacfd363:
   | |
-  o |  9:7bc2f5967f5e@default(draft) bk:[] add c
+  o |  7:7bc2f5967f5e@default(draft) bk:[] add c
   | |
-  | o  8:1cf0aacfd363@default(public) bk:[] newer a
+  | o  6:1cf0aacfd363@default(public) bk:[] newer a
   |/
-  o  7:66719795a494@default(public) bk:[changea] changea
+  o  5:66719795a494@default(public) bk:[changea] changea
   |
   o  0:07f494440405@default(public) bk:[] adda
   
   $ hg summary
-  parent: 21:f344982e63c4 tip
+  parent: 15:f344982e63c4 tip
    More addition
   branch: default
   commit: (clean)
@@ -338,12 +330,12 @@
   (use 'hg evolve' to update to its successor: f344982e63c4)
   $ echo 'gotta break' >> a
   $ hg amend
-  2 new divergent changesets
+  2 new content-divergent changesets
 # reamend so that the case is not the first precursor.
   $ hg amend -m "More addition (2)"
-  $ hg phase 'divergent()'
-  21: draft
-  24: draft
+  $ hg phase 'contentdivergent()'
+  15: draft
+  17: draft
   $ hg evolve -qn --contentdivergent
   hg update -c 0b336205a5d0 &&
   hg merge f344982e63c4 &&
@@ -352,9 +344,9 @@
   hg revert --all --rev tip &&
   hg commit -m "`hg log -r 0b336205a5d0 --template={desc}`";
   $ hg evolve --contentdivergent
-  merge:[24] More addition (2)
-  with: [21] More addition
-  base: [15] More addition
+  merge:[17] More addition (2)
+  with: [15] More addition
+  base: [12] More addition
   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
--- a/tests/test-stack-branch.t	Sat Sep 30 11:11:04 2017 +0100
+++ b/tests/test-stack-branch.t	Sat Sep 30 11:38:08 2017 +0100
@@ -110,7 +110,7 @@
   $ echo bbb > ddd
   $ hg commit --amend
   $ hg log -G
-  @  7 foo {} draft c_d
+  @  6 foo {} draft c_d
   |
   | o  5 foo {} draft c_f
   | |
@@ -147,7 +147,7 @@
 
   $ hg log -r 'stack()'
   2 foo {} draft c_c
-  7 foo {} draft c_d
+  6 foo {} draft c_d
   4 foo {} draft c_e
   5 foo {} draft c_f
 
@@ -160,11 +160,11 @@
   rebasing 4:4f2a69f6d380 "c_e"
   rebasing 5:913c298d8b0a "c_f"
   $ hg log -G
-  o  9 foo {} draft c_f
+  o  8 foo {} draft c_f
   |
-  o  8 foo {} draft c_e
+  o  7 foo {} draft c_e
   |
-  @  7 foo {} draft c_d
+  @  6 foo {} draft c_d
   |
   o  2 foo {} draft c_c
   |
@@ -185,15 +185,15 @@
   $ hg add hhh
   $ hg commit -m c_h
   $ hg log -G
-  @  11 foo {} draft c_h
+  @  10 foo {} draft c_h
   |
-  o  10 foo {} draft c_g
+  o  9 foo {} draft c_g
   |
-  | o  9 foo {} draft c_f
+  | o  8 foo {} draft c_f
   | |
-  | o  8 foo {} draft c_e
+  | o  7 foo {} draft c_e
   |/
-  o  7 foo {} draft c_d
+  o  6 foo {} draft c_d
   |
   o  2 foo {} draft c_c
   |
@@ -206,11 +206,11 @@
 
   $ hg stack
   ### target: foo (branch) (2 heads)
-  b6: c_f
-  b5: c_e
+  b6@ c_h (current)
+  b5: c_g
   b2^ c_d (base)
-  b4@ c_h (current)
-  b3: c_g
+  b4: c_f
+  b3: c_e
   b2: c_d
   b1: c_c
   b0^ c_b (base)
@@ -225,20 +225,20 @@
   $ echo ccc > ddd
   $ hg commit --amend -m 'c_D' 
   $ hg rebase -d . -s 'desc(c_g)'
-  rebasing 10:2ebb6e48ab8a "c_g"
-  rebasing 11:634f38e27a1d "c_h"
+  rebasing 9:2ebb6e48ab8a "c_g"
+  rebasing 10:634f38e27a1d "c_h"
   $ hg log -G
-  o  15 foo {} draft c_h
+  o  13 foo {} draft c_h
   |
-  o  14 foo {} draft c_g
+  o  12 foo {} draft c_g
   |
-  @  13 foo {} draft c_D
+  @  11 foo {} draft c_D
   |
-  | o  9 foo {} draft c_f
+  | o  8 foo {} draft c_f
   | |
-  | o  8 foo {} draft c_e
+  | o  7 foo {} draft c_e
   | |
-  | x  7 foo {} draft c_d
+  | x  6 foo {} draft c_d
   |/
   o  2 foo {} draft c_c
   |
@@ -249,11 +249,11 @@
 
   $ hg stack
   ### target: foo (branch) (2 heads)
-  b6$ c_f (unstable)
-  b5$ c_e (unstable)
+  b6: c_h
+  b5: c_g
   b2^ c_D (base)
-  b4: c_h
-  b3: c_g
+  b4$ c_f (unstable)
+  b3$ c_e (unstable)
   b2@ c_D (current)
   b1: c_c
   b0^ c_b (base)
@@ -262,17 +262,17 @@
 ----------------------------------------------------------
 
   $ hg log --graph
-  o  15 foo {} draft c_h
+  o  13 foo {} draft c_h
   |
-  o  14 foo {} draft c_g
+  o  12 foo {} draft c_g
   |
-  @  13 foo {} draft c_D
+  @  11 foo {} draft c_D
   |
-  | o  9 foo {} draft c_f
+  | o  8 foo {} draft c_f
   | |
-  | o  8 foo {} draft c_e
+  | o  7 foo {} draft c_e
   | |
-  | x  7 foo {} draft c_d
+  | x  6 foo {} draft c_d
   |/
   o  2 foo {} draft c_c
   |
@@ -283,22 +283,22 @@
 
   $ hg stack
   ### target: foo (branch) (2 heads)
-  b6$ c_f (unstable)
-  b5$ c_e (unstable)
+  b6: c_h
+  b5: c_g
   b2^ c_D (base)
-  b4: c_h
-  b3: c_g
+  b4$ c_f (unstable)
+  b3$ c_e (unstable)
   b2@ c_D (current)
   b1: c_c
   b0^ c_b (base)
   $ hg phase --public b1
   $ hg stack
   ### target: foo (branch) (2 heads)
-  b5$ c_f (unstable)
-  b4$ c_e (unstable)
+  b5: c_h
+  b4: c_g
   b1^ c_D (base)
-  b3: c_h
-  b2: c_g
+  b3$ c_f (unstable)
+  b2$ c_e (unstable)
   b1@ c_D (current)
   b0^ c_c (base)
 
@@ -309,7 +309,7 @@
   changed topic on 2 changes
   $ hg stack
   ### target: foo (branch)
-  b3: c_h
-  b2: c_g
+  b3$ c_f (unstable)
+  b2$ c_e (unstable)
   b1@ c_D (current)
   b0^ c_c (base)
--- a/tests/test-topic-dest.t	Sat Sep 30 11:11:04 2017 +0100
+++ b/tests/test-topic-dest.t	Sat Sep 30 11:38:08 2017 +0100
@@ -109,7 +109,7 @@
   switching to topic elephant
   1 files updated, 0 files merged, 1 files removed, 0 files unresolved
   $ hg rebase
-  rebasing 4:cb7ae72f4a80 "babar"
+  rebasing 4:cb7ae72f4a80 "babar" (elephant)
   switching to topic elephant
   $ hg log -G
   @  7 (elephant) babar
@@ -130,7 +130,7 @@
   switching to topic monkey
   1 files updated, 0 files merged, 3 files removed, 0 files unresolved
   $ hg rebase
-  rebasing 5:d832ddc604ec "zephir"
+  rebasing 5:d832ddc604ec "zephir" (monkey)
   switching to topic monkey
   $ hg log -G
   @  8 (monkey) zephir
@@ -173,7 +173,7 @@
   o  0 () c_alpha
   
   $ hg rebase
-  rebasing 9:d79a104e2902 "Huc" (tip)
+  rebasing 9:d79a104e2902 "Huc" (tip monkey)
   $ hg log -G
   @  10 (monkey) Huc
   |
@@ -225,7 +225,7 @@
   switching to topic elephant
   1 files updated, 0 files merged, 1 files removed, 0 files unresolved
   $ hg rebase -d 'desc(c_zeta)' # make sure tip is elsewhere
-  rebasing 7:8d0b77140b05 "babar"
+  rebasing 7:8d0b77140b05 "babar" (elephant)
   switching to topic elephant
   $ hg up monkey
   switching to topic monkey
--- a/tests/test-topic-push-concurrent-on.t	Sat Sep 30 11:11:04 2017 +0100
+++ b/tests/test-topic-push-concurrent-on.t	Sat Sep 30 11:38:08 2017 +0100
@@ -93,7 +93,7 @@
   $ hg outgoing -G
   comparing with $TESTTMP/main (glob)
   searching for changes
-  @  4 mountain  draft CC
+  @  3 mountain  draft CC
   
   $ hg push 
   pushing to $TESTTMP/main (glob)
@@ -108,7 +108,7 @@
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files (+1 heads)
-  2 new obsolescence markers
+  1 new obsolescence markers
 
 Including on non-publishing
 
@@ -119,7 +119,7 @@
   adding manifests
   adding file changes
   added 3 changesets with 3 changes to 3 files (+1 heads)
-  2 new obsolescence markers
+  1 new obsolescence markers
 
 Testing topic behavior
 ======================
@@ -136,9 +136,9 @@
   $ hg commit -m 'CD'
   active topic 'babar' grew its first changeset
   $ hg log -G # keep track of phase because I saw some strange bug during developement
-  @  5 default babar draft CD
+  @  4 default babar draft CD
   |
-  | o  4 mountain  public CC
+  | o  3 mountain  public CC
   |/
   | o  1 default  public CB
   |/
@@ -155,9 +155,9 @@
   adding file changes
   added 1 changesets with 1 changes to 1 files (+1 heads)
   $ hg log -G
-  @  5 default babar draft CD
+  @  4 default babar draft CD
   |
-  | o  4 mountain  public CC
+  | o  3 mountain  public CC
   |/
   | o  1 default  public CB
   |/
@@ -173,9 +173,9 @@
   (merge or see 'hg help push' for details about pushing new heads)
   [255]
   $ hg log -G
-  @  5 default babar draft CD
+  @  4 default babar draft CD
   |
-  | o  4 mountain  public CC
+  | o  3 mountain  public CC
   |/
   | o  1 default  public CB
   |/
@@ -194,11 +194,11 @@
   $ hg commit -m 'CE'
   active topic 'celeste' grew its first changeset
   $ hg log -G # keep track of phase because I saw some strange bug during developement
-  @  6 default celeste draft CE
+  @  5 default celeste draft CE
   |
-  | o  5 default babar draft CD
+  | o  4 default babar draft CD
   |/
-  | o  4 mountain  public CC
+  | o  3 mountain  public CC
   |/
   | o  1 default  public CB
   |/
@@ -218,11 +218,11 @@
   (merge or see 'hg help push' for details about pushing new heads)
   [255]
   $ hg log -G
-  @  6 default celeste draft CE
+  @  5 default celeste draft CE
   |
-  | o  5 default babar draft CD
+  | o  4 default babar draft CD
   |/
-  | o  4 mountain  public CC
+  | o  3 mountain  public CC
   |/
   | o  1 default  public CB
   |/
@@ -241,11 +241,11 @@
   remote: adding file changes
   remote: added 1 changesets with 1 changes to 1 files (+1 heads)
   $ hg log -G
-  @  6 default celeste draft CE
+  @  5 default celeste draft CE
   |
-  | o  5 default babar draft CD
+  | o  4 default babar draft CD
   |/
-  | o  4 mountain  public CC
+  | o  3 mountain  public CC
   |/
   | o  1 default  public CB
   |/
@@ -261,11 +261,11 @@
   (merge or see 'hg help push' for details about pushing new heads)
   [255]
   $ hg log -G
-  @  6 default celeste draft CE
+  @  5 default celeste draft CE
   |
-  | o  5 default babar draft CD
+  | o  4 default babar draft CD
   |/
-  | o  4 mountain  public CC
+  | o  3 mountain  public CC
   |/
   | o  1 default  public CB
   |/
@@ -283,13 +283,13 @@
   $ hg add fff
   $ hg commit -m 'CF'
   $ hg log -G
-  @  7 default babar draft CF
+  @  6 default babar draft CF
   |
-  | o  6 default celeste draft CE
+  | o  5 default celeste draft CE
   | |
-  | | o  5 default babar draft CD
+  | | o  4 default babar draft CD
   | |/
-  | | o  4 mountain  public CC
+  | | o  3 mountain  public CC
   | |/
   o |  1 default  public CB
   |/
@@ -321,17 +321,17 @@
   (branch merge, don't forget to commit)
   $ hg commit -m 'CM'
   $ hg log -G
-  @    9 default babar draft CM
+  @    8 default babar draft CM
   |\
-  | o  8 default  draft CG
+  | o  7 default  draft CG
   | |
-  o |  7 default babar draft CF
+  o |  6 default babar draft CF
   | |
-  | | o  6 default celeste draft CE
+  | | o  5 default celeste draft CE
   | |/
-  | | o  5 default babar draft CD
+  | | o  4 default babar draft CD
   | |/
-  | | o  4 mountain  public CC
+  | | o  3 mountain  public CC
   | |/
   o |  1 default  public CB
   |/
--- a/tests/test-topic-push.t	Sat Sep 30 11:11:04 2017 +0100
+++ b/tests/test-topic-push.t	Sat Sep 30 11:38:08 2017 +0100
@@ -89,7 +89,7 @@
   $ hg outgoing -G
   comparing with $TESTTMP/main (glob)
   searching for changes
-  @  4 mountain  draft CC
+  @  3 mountain  draft CC
   
   $ hg push 
   pushing to $TESTTMP/main (glob)
@@ -104,7 +104,7 @@
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files (+1 heads)
-  2 new obsolescence markers
+  1 new obsolescence markers
 
 Including on non-publishing
 
@@ -115,7 +115,7 @@
   adding manifests
   adding file changes
   added 3 changesets with 3 changes to 3 files (+1 heads)
-  2 new obsolescence markers
+  1 new obsolescence markers
 
 Testing topic behavior
 ======================
@@ -132,9 +132,9 @@
   $ hg commit -m 'CD'
   active topic 'babar' grew its first changeset
   $ hg log -G # keep track of phase because I saw some strange bug during developement
-  @  5 default babar draft CD
+  @  4 default babar draft CD
   |
-  | o  4 mountain  public CC
+  | o  3 mountain  public CC
   |/
   | o  1 default  public CB
   |/
@@ -151,9 +151,9 @@
   adding file changes
   added 1 changesets with 1 changes to 1 files (+1 heads)
   $ hg log -G
-  @  5 default babar draft CD
+  @  4 default babar draft CD
   |
-  | o  4 mountain  public CC
+  | o  3 mountain  public CC
   |/
   | o  1 default  public CB
   |/
@@ -178,13 +178,13 @@
   $ echo bbb >> bbb
   $ hg commit -m "C'B"
   $ hg log -G
-  @  7 default  draft C'B
+  @  6 default  draft C'B
   |
-  | o  6 default babar draft C'A
+  | o  5 default babar draft C'A
   | |
-  | o  5 default babar draft CD
+  | o  4 default babar draft CD
   | |
-  | | o  4 mountain  public CC
+  | | o  3 mountain  public CC
   | |/
   o |  1 default  public CB
   |/
@@ -193,7 +193,7 @@
   $ hg outgoing draft --topic babar
   comparing with $TESTTMP/draft
   searching for changes
-  6 default babar draft C'A
+  5 default babar draft C'A
   $ hg push draft --topic babar
   pushing to $TESTTMP/draft
   searching for changes
@@ -212,8 +212,8 @@
   |/
   o  0 default  public CA
   
-  $ hg strip --hidden --config extensions.strip= --no-backup -r 6: --quiet
-  $ hg strip --hidden --config extensions.strip= -R $TESTTMP/draft --no-backup -r 4: --quiet
+  $ hg strip --config extensions.strip= --no-backup -r 5: --quiet
+  $ hg strip --config extensions.strip= -R $TESTTMP/draft --no-backup -r 4: --quiet
 
 Pushing a new topic to a publishing server should be seen as a new head
 
@@ -224,9 +224,9 @@
   (merge or see 'hg help push' for details about pushing new heads)
   [255]
   $ hg log -G
-  @  5 default babar draft CD
+  @  4 default babar draft CD
   |
-  | o  4 mountain  public CC
+  | o  3 mountain  public CC
   |/
   | o  1 default  public CB
   |/
@@ -245,11 +245,11 @@
   $ hg commit -m 'CE'
   active topic 'celeste' grew its first changeset
   $ hg log -G # keep track of phase because I saw some strange bug during developement
-  @  6 default celeste draft CE
+  @  5 default celeste draft CE
   |
-  | o  5 default babar draft CD
+  | o  4 default babar draft CD
   |/
-  | o  4 mountain  public CC
+  | o  3 mountain  public CC
   |/
   | o  1 default  public CB
   |/
@@ -269,11 +269,11 @@
   (merge or see 'hg help push' for details about pushing new heads)
   [255]
   $ hg log -G
-  @  6 default celeste draft CE
+  @  5 default celeste draft CE
   |
-  | o  5 default babar draft CD
+  | o  4 default babar draft CD
   |/
-  | o  4 mountain  public CC
+  | o  3 mountain  public CC
   |/
   | o  1 default  public CB
   |/
@@ -292,11 +292,11 @@
   remote: adding file changes
   remote: added 1 changesets with 1 changes to 1 files (+1 heads)
   $ hg log -G
-  @  6 default celeste draft CE
+  @  5 default celeste draft CE
   |
-  | o  5 default babar draft CD
+  | o  4 default babar draft CD
   |/
-  | o  4 mountain  public CC
+  | o  3 mountain  public CC
   |/
   | o  1 default  public CB
   |/
@@ -312,11 +312,11 @@
   (merge or see 'hg help push' for details about pushing new heads)
   [255]
   $ hg log -G
-  @  6 default celeste draft CE
+  @  5 default celeste draft CE
   |
-  | o  5 default babar draft CD
+  | o  4 default babar draft CD
   |/
-  | o  4 mountain  public CC
+  | o  3 mountain  public CC
   |/
   | o  1 default  public CB
   |/
@@ -334,13 +334,13 @@
   $ hg add fff
   $ hg commit -m 'CF'
   $ hg log -G
-  @  7 default babar draft CF
+  @  6 default babar draft CF
   |
-  | o  6 default celeste draft CE
+  | o  5 default celeste draft CE
   | |
-  | | o  5 default babar draft CD
+  | | o  4 default babar draft CD
   | |/
-  | | o  4 mountain  public CC
+  | | o  3 mountain  public CC
   | |/
   o |  1 default  public CB
   |/
@@ -372,17 +372,17 @@
   (branch merge, don't forget to commit)
   $ hg commit -m 'CM'
   $ hg log -G
-  @    9 default babar draft CM
+  @    8 default babar draft CM
   |\
-  | o  8 default  draft CG
+  | o  7 default  draft CG
   | |
-  o |  7 default babar draft CF
+  o |  6 default babar draft CF
   | |
-  | | o  6 default celeste draft CE
+  | | o  5 default celeste draft CE
   | |/
-  | | o  5 default babar draft CD
+  | | o  4 default babar draft CD
   | |/
-  | | o  4 mountain  public CC
+  | | o  3 mountain  public CC
   | |/
   o |  1 default  public CB
   |/
--- a/tests/test-topic-rebase.t	Sat Sep 30 11:11:04 2017 +0100
+++ b/tests/test-topic-rebase.t	Sat Sep 30 11:38:08 2017 +0100
@@ -71,7 +71,7 @@
   switching to topic myfeature
   1 files updated, 0 files merged, 1 files removed, 0 files unresolved
   $ hg rebase
-  rebasing 1:39e7a938055e "add feature1"
+  rebasing 1:39e7a938055e "add feature1" (myfeature)
   switching to topic myfeature
   $ hg stack
   ### topic: myfeature
@@ -120,7 +120,7 @@
   switching to topic myotherfeature
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   $ hg rebase
-  rebasing 5:81f854012ec5 "myotherfeature1"
+  rebasing 5:81f854012ec5 "myotherfeature1" (myotherfeature)
   merging file
   warning: conflicts while merging file! (edit, then use 'hg resolve --mark')
   switching to topic myotherfeature
@@ -134,7 +134,7 @@
   (no more unresolved files)
   continue: hg rebase --continue
   $ hg rebase --continue
-  rebasing 5:81f854012ec5 "myotherfeature1"
+  rebasing 5:81f854012ec5 "myotherfeature1" (myotherfeature)
 
 Check the the commit has the right topic
 
--- a/tests/test-topic-stack-data.t	Sat Sep 30 11:11:04 2017 +0100
+++ b/tests/test-topic-stack-data.t	Sat Sep 30 11:38:08 2017 +0100
@@ -111,7 +111,7 @@
   commit: (clean)
   update: 2 new changesets (update)
   phases: 22 draft
-  unstable: 3 changesets
+  orphan: 3 changesets
   topic:  foo
   $ hg log --graph -T '{desc} ({branch}) [{topic}]'
   @  add foo_b (lake) []
--- a/tests/test-topic-stack.t	Sat Sep 30 11:11:04 2017 +0100
+++ b/tests/test-topic-stack.t	Sat Sep 30 11:38:08 2017 +0100
@@ -263,7 +263,7 @@
   $ echo bbb > ddd
   $ hg commit --amend
   $ hg log -G
-  @  7 default {foo} draft c_d
+  @  6 default {foo} draft c_d
   |
   | o  5 default {foo} draft c_f
   | |
@@ -310,7 +310,7 @@
 
   $ hg log -r 'stack()'
   2 default {foo} draft c_c
-  7 default {foo} draft c_d
+  6 default {foo} draft c_d
   4 default {foo} draft c_e
   5 default {foo} draft c_f
 
@@ -328,14 +328,14 @@
 Make things linear again
 
   $ hg rebase -s 'desc(c_e)' -d 'desc(c_d) - obsolete()'
-  rebasing 4:0f9ac936c87d "c_e"
-  rebasing 5:6559e6d93aea "c_f"
+  rebasing 4:0f9ac936c87d "c_e" (foo)
+  rebasing 5:6559e6d93aea "c_f" (foo)
   $ hg log -G
-  o  9 default {foo} draft c_f
+  o  8 default {foo} draft c_f
   |
-  o  8 default {foo} draft c_e
+  o  7 default {foo} draft c_e
   |
-  @  7 default {foo} draft c_d
+  @  6 default {foo} draft c_d
   |
   o  2 default {foo} draft c_c
   |
@@ -356,15 +356,15 @@
   $ hg add hhh
   $ hg commit -m c_h
   $ hg log -G
-  @  11 default {foo} draft c_h
+  @  10 default {foo} draft c_h
   |
-  o  10 default {foo} draft c_g
+  o  9 default {foo} draft c_g
   |
-  | o  9 default {foo} draft c_f
+  | o  8 default {foo} draft c_f
   | |
-  | o  8 default {foo} draft c_e
+  | o  7 default {foo} draft c_e
   |/
-  o  7 default {foo} draft c_d
+  o  6 default {foo} draft c_d
   |
   o  2 default {foo} draft c_c
   |
@@ -378,11 +378,11 @@
   $ hg top -l
   ### topic: foo (2 heads)
   ### target: default (branch)
-  t6: c_f
-  t5: c_e
+  t6@ c_h (current)
+  t5: c_g
   t2^ c_d (base)
-  t4@ c_h (current)
-  t3: c_g
+  t4: c_f
+  t3: c_e
   t2: c_d
   t1: c_c
   t0^ c_b (base)
@@ -397,20 +397,20 @@
   $ echo ccc > ddd
   $ hg commit --amend -m 'c_D' 
   $ hg rebase -d . -s 'desc(c_g)'
-  rebasing 10:81264ae8a36a "c_g"
-  rebasing 11:fde5f5941642 "c_h"
+  rebasing 9:81264ae8a36a "c_g" (foo)
+  rebasing 10:fde5f5941642 "c_h" (foo)
   $ hg log -G
-  o  15 default {foo} draft c_h
+  o  13 default {foo} draft c_h
   |
-  o  14 default {foo} draft c_g
+  o  12 default {foo} draft c_g
   |
-  @  13 default {foo} draft c_D
+  @  11 default {foo} draft c_D
   |
-  | o  9 default {foo} draft c_f
+  | o  8 default {foo} draft c_f
   | |
-  | o  8 default {foo} draft c_e
+  | o  7 default {foo} draft c_e
   | |
-  | x  7 default {foo} draft c_d
+  | x  6 default {foo} draft c_d
   |/
   o  2 default {foo} draft c_c
   |
@@ -422,11 +422,11 @@
   $ hg topic --list
   ### topic: foo (2 heads)
   ### target: default (branch)
-  t6$ c_f (unstable)
-  t5$ c_e (unstable)
+  t6: c_h
+  t5: c_g
   t2^ c_D (base)
-  t4: c_h
-  t3: c_g
+  t4$ c_f (unstable)
+  t3$ c_e (unstable)
   t2@ c_D (current)
   t1: c_c
   t0^ c_b (base)
@@ -443,17 +443,17 @@
 ==============================================================================
 
   $ hg log --graph
-  o  15 default {foo} draft c_h
+  o  13 default {foo} draft c_h
   |
-  o  14 default {foo} draft c_g
+  o  12 default {foo} draft c_g
   |
-  @  13 default {foo} draft c_D
+  @  11 default {foo} draft c_D
   |
-  | o  9 default {foo} draft c_f
+  | o  8 default {foo} draft c_f
   | |
-  | o  8 default {foo} draft c_e
+  | o  7 default {foo} draft c_e
   | |
-  | x  7 default {foo} draft c_d
+  | x  6 default {foo} draft c_d
   |/
   o  2 default {foo} draft c_c
   |
@@ -463,19 +463,19 @@
   
 Converting into a linear chain
   $ hg rebase -s 'desc("c_e") - obsolete()' -d 'desc("c_h") - obsolete()'
-  rebasing 8:215bc359096a "c_e"
-  rebasing 9:ec9267b3f33f "c_f"
+  rebasing 7:215bc359096a "c_e" (foo)
+  rebasing 8:ec9267b3f33f "c_f" (foo)
 
   $ hg log -G
-  o  17 default {foo} draft c_f
+  o  15 default {foo} draft c_f
   |
-  o  16 default {foo} draft c_e
+  o  14 default {foo} draft c_e
   |
-  o  15 default {foo} draft c_h
+  o  13 default {foo} draft c_h
   |
-  o  14 default {foo} draft c_g
+  o  12 default {foo} draft c_g
   |
-  @  13 default {foo} draft c_D
+  @  11 default {foo} draft c_D
   |
   o  2 default {foo} draft c_c
   |
@@ -488,19 +488,19 @@
   switching to topic foobar
   changed topic on 2 changes
   $ hg log -G
-  @  19 default {foobar} draft c_D
+  @  17 default {foobar} draft c_D
   |
-  | o  18 default {foobar} draft c_e
+  | o  16 default {foobar} draft c_e
   | |
-  | | o  17 default {foo} draft c_f
+  | | o  15 default {foo} draft c_f
   | | |
-  | | x  16 default {foo} draft c_e
+  | | x  14 default {foo} draft c_e
   | |/
-  | o  15 default {foo} draft c_h
+  | o  13 default {foo} draft c_h
   | |
-  | o  14 default {foo} draft c_g
+  | o  12 default {foo} draft c_g
   | |
-  | x  13 default {foo} draft c_D
+  | x  11 default {foo} draft c_D
   |/
   o  2 default {foo} draft c_c
   |
@@ -509,30 +509,30 @@
   o  0 default {} public c_a
   
   $ hg rebase -s 'desc("c_f") - obsolete()' -d 'desc("c_e") - obsolete()'
-  rebasing 17:77082e55de88 "c_f"
+  rebasing 15:77082e55de88 "c_f" (foo)
   switching to topic foo
   switching to topic foobar
   $ hg rebase -s 'desc("c_g") - obsolete()' -d 'desc("c_D") - obsolete()'
-  rebasing 14:0c3e8aed985d "c_g"
+  rebasing 12:0c3e8aed985d "c_g" (foo)
   switching to topic foo
-  rebasing 15:b9e4f3709bc5 "c_h"
-  rebasing 18:4bc813530301 "c_e"
+  rebasing 13:b9e4f3709bc5 "c_h" (foo)
+  rebasing 16:4bc813530301 "c_e" (foobar)
   switching to topic foobar
-  rebasing 20:4406ea4be852 "c_f" (tip)
+  rebasing 18:4406ea4be852 "c_f" (tip foo)
   switching to topic foo
   switching to topic foobar
   $ hg up
   3 files updated, 0 files merged, 0 files removed, 0 files unresolved
   $ hg log --graph
-  o  24 default {foo} draft c_f
+  o  22 default {foo} draft c_f
   |
-  @  23 default {foobar} draft c_e
+  @  21 default {foobar} draft c_e
   |
-  o  22 default {foo} draft c_h
+  o  20 default {foo} draft c_h
   |
-  o  21 default {foo} draft c_g
+  o  19 default {foo} draft c_g
   |
-  o  19 default {foobar} draft c_D
+  o  17 default {foobar} draft c_D
   |
   o  2 default {foo} draft c_c
   |
@@ -798,12 +798,12 @@
 get things linear again
 
   $ hg rebase -r t1 -d default
-  rebasing 16:1d84ec948370 "c_D" (tip)
+  rebasing 16:1d84ec948370 "c_D" (tip blue)
   switching to topic blue
   $ hg rebase -r t2 -d t1
-  rebasing 13:3ab2eedae500 "c_G"
+  rebasing 13:3ab2eedae500 "c_G" (blue)
   $ hg rebase -r t3 -d t2
-  rebasing 8:3bfe800e0486 "c_I"
+  rebasing 8:3bfe800e0486 "c_I" (blue)
   $ hg stack
   ### topic: blue
   ### target: default (branch)
@@ -856,11 +856,11 @@
   Done splitting? [yN] y
 
   $ hg --config extensions.evolve= obslog --all
-  o  dde94df880e9 (22) c_G
+  o  dde94df880e9 (21) c_G
   |
-  | @  e7ea874afbd5 (23) c_G
+  | @  e7ea874afbd5 (22) c_G
   |/
-  x  b24bab30ac12 (21) c_G
+  x  b24bab30ac12 (20) c_G
   |    rewritten(parent, content) as dde94df880e9, e7ea874afbd5 by test (Thu Jan 01 00:00:00 1970 +0000)
   |
   x  907f7d3c2333 (18) c_G
--- a/tests/test-topic-tutorial.t	Sat Sep 30 11:11:04 2017 +0100
+++ b/tests/test-topic-tutorial.t	Sat Sep 30 11:38:08 2017 +0100
@@ -483,10 +483,10 @@
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
 
   $ hg rebase
-  rebasing 1:13900241408b "adding condiments"
+  rebasing 1:13900241408b "adding condiments" (food)
   merging shopping
   switching to topic food
-  rebasing 2:287de11b401f "adding fruits"
+  rebasing 2:287de11b401f "adding fruits" (food)
   merging shopping
 
   $ hg log --graph
@@ -1034,12 +1034,12 @@
 #endif
 
   $ hg rebase
-  rebasing 6:183984ef46d1 "Adding hammer"
+  rebasing 6:183984ef46d1 "Adding hammer" (tools)
   merging shopping
   switching to topic tools
-  rebasing 7:cffff85af537 "Adding saw"
+  rebasing 7:cffff85af537 "Adding saw" (tools)
   merging shopping
-  rebasing 8:34255b455dac "Adding drill"
+  rebasing 8:34255b455dac "Adding drill" (tools)
   merging shopping
 
 But what about the other topic? You can use 'hg topics --verbose' to see
@@ -1066,10 +1066,10 @@
 multiple *public* heads it would create on that branch:
 
   $ hg rebase -b drinks
-  rebasing 9:8dfa45bd5e0c "Adding apple juice"
+  rebasing 9:8dfa45bd5e0c "Adding apple juice" (drinks)
   merging shopping
   switching to topic drinks
-  rebasing 10:70dfa201ed73 "Adding orange juice"
+  rebasing 10:70dfa201ed73 "Adding orange juice" (drinks)
   merging shopping
   switching to topic tools
 
@@ -1182,7 +1182,7 @@
   t0^ add a pair of shoes (base)
 
   $ hg amend -m "Adding hammer to the shopping list"
-  2 new unstable changesets
+  2 new orphan changesets
 
 Understanding the current situation with hg log is not so easy, because
 it shows too many things:
@@ -1211,14 +1211,14 @@
   | |  topic:       tools
   | |  user:        test
   | |  date:        Thu Jan 01 00:00:00 1970 +0000
-  | |  trouble:     unstable
+  | |  instability: orphan
   | |  summary:     Adding drill
   | |
   | o  changeset:   14:d4f97f32f8a1
   | |  topic:       tools
   | |  user:        test
   | |  date:        Thu Jan 01 00:00:00 1970 +0000
-  | |  trouble:     unstable
+  | |  instability: orphan
   | |  summary:     Adding saw
   | |
   | x  changeset:   13:a8ab3599d53d
@@ -1754,9 +1754,9 @@
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
 
   $ hg rebase
-  rebasing 19:d5c51ee5762a "Adding saw"
+  rebasing 19:d5c51ee5762a "Adding saw" (tools)
   merging shopping
-  rebasing 20:bae3758e46bf "Adding drill"
+  rebasing 20:bae3758e46bf "Adding drill" (tools)
   merging shopping
 
   $ hg stack
--- a/tests/test-topic.t	Sat Sep 30 11:11:04 2017 +0100
+++ b/tests/test-topic.t	Sat Sep 30 11:38:08 2017 +0100
@@ -1,6 +1,6 @@
   $ . "$TESTDIR/testlib/topic_setup.sh"
 
-  $ hg init pinky --traceback
+  $ hg init pinky
   $ cd pinky
   $ cat <<EOF >> .hg/hgrc
   > [phases]
@@ -654,7 +654,7 @@
   | @  changeset:   10:4073470c35e1
   | |  user:        test
   | |  date:        Thu Jan 01 00:00:00 1970 +0000
-  | |  trouble:     unstable
+  | |  instability: orphan
   | |  summary:     fran?
   | |
 
@@ -679,17 +679,17 @@
   changeset:   12:18b70b8de1f0
   user:        test
   date:        Thu Jan 01 00:00:00 1970 +0000
-  trouble:     unstable
+  instability: orphan
   summary:     fran?
   
   $ hg sum
-  parent: 12:18b70b8de1f0  (unstable)
+  parent: 12:18b70b8de1f0  (orphan)
    fran?
   branch: default
   commit: (clean)
   update: 5 new changesets, 2 branch heads (merge)
   phases: 3 draft
-  unstable: 1 changesets
+  orphan: 1 changesets
   $ hg topic
      wat
   $ hg log -Gr 'draft() and not obsolete()'
@@ -704,7 +704,7 @@
   | @  changeset:   12:18b70b8de1f0
   | |  user:        test
   | |  date:        Thu Jan 01 00:00:00 1970 +0000
-  | |  trouble:     unstable
+  | |  instability: orphan
   | |  summary:     fran?
   | |
 
@@ -741,7 +741,7 @@
   $ hg ci --amend
   active topic 'watwat' grew its first changeset
   $ hg log -Gr 'draft()'
-  @  changeset:   16:6c40a4c21bbe
+  @  changeset:   15:6c40a4c21bbe
   |  tag:         tip
   |  topic:       watwat
   |  parent:      13:686a642006db
@@ -762,7 +762,7 @@
   $ hg topic --clear
   $ hg ci --amend
   $ hg log -r .
-  changeset:   18:0f9cd5070654
+  changeset:   16:0f9cd5070654
   tag:         tip
   parent:      13:686a642006db
   user:        test
@@ -775,10 +775,10 @@
   changed topic on 1 changes
 
 Testing issue5441
-  $ hg co 19
+  $ hg co 17
   0 files updated, 0 files merged, 0 files removed, 0 files unresolved
   $ hg log -Gr 'draft()'
-  @  changeset:   19:980a0f608481
+  @  changeset:   17:980a0f608481
   |  tag:         tip
   |  topic:       watwat
   |  parent:      13:686a642006db
@@ -797,19 +797,19 @@
 Using the current flag
 
   $ hg topic changewat
-  $ hg topics --rev '13::19' --current
+  $ hg topics --rev '13::17' --current
   active topic 'changewat' grew its 2 first changesets
   changed topic on 2 changes
 
   $ hg log -Gr 'draft()'
-  @  changeset:   21:56c83be6105f
+  @  changeset:   19:56c83be6105f
   |  tag:         tip
   |  topic:       changewat
   |  user:        test
   |  date:        Thu Jan 01 00:00:00 1970 +0000
   |  summary:     fran?
   |
-  o  changeset:   20:ceba5be9d56f
+  o  changeset:   18:ceba5be9d56f
   |  topic:       changewat
   |  parent:      3:a53952faf762
   |  user:        test
@@ -827,21 +827,21 @@
   $ hg ci -m gamma
 
   $ hg log -Gr 'draft()'
-  @  changeset:   22:0d3d805542b4
+  @  changeset:   20:0d3d805542b4
   |  tag:         tip
   |  topic:       changewat
-  |  parent:      20:ceba5be9d56f
+  |  parent:      18:ceba5be9d56f
   |  user:        test
   |  date:        Thu Jan 01 00:00:00 1970 +0000
   |  summary:     gamma
   |
-  | o  changeset:   21:56c83be6105f
+  | o  changeset:   19:56c83be6105f
   |/   topic:       changewat
   |    user:        test
   |    date:        Thu Jan 01 00:00:00 1970 +0000
   |    summary:     fran?
   |
-  o  changeset:   20:ceba5be9d56f
+  o  changeset:   18:ceba5be9d56f
   |  topic:       changewat
   |  parent:      3:a53952faf762
   |  user:        test
@@ -855,21 +855,21 @@
   changed topic on 3 changes
 
   $ hg log -Gr 'draft()'
-  @  changeset:   25:729ed5717393
+  @  changeset:   23:729ed5717393
   |  tag:         tip
   |  topic:       changewut
-  |  parent:      23:62e49f09f883
+  |  parent:      21:62e49f09f883
   |  user:        test
   |  date:        Thu Jan 01 00:00:00 1970 +0000
   |  summary:     gamma
   |
-  | o  changeset:   24:369c6e2e5474
+  | o  changeset:   22:369c6e2e5474
   |/   topic:       changewut
   |    user:        test
   |    date:        Thu Jan 01 00:00:00 1970 +0000
   |    summary:     fran?
   |
-  o  changeset:   23:62e49f09f883
+  o  changeset:   21:62e49f09f883
   |  topic:       changewut
   |  parent:      3:a53952faf762
   |  user:        test
--- a/tests/test-touch.t	Sat Sep 30 11:11:04 2017 +0100
+++ b/tests/test-touch.t	Sat Sep 30 11:38:08 2017 +0100
@@ -36,7 +36,7 @@
   working directory parent is obsolete! (*) (glob)
   (use 'hg evolve' to update to its successor: *) (glob)
   $ hg log -G
-  o  3:[0-9a-f]{12} ab (re)
+  o  2:[0-9a-f]{12} ab (re)
   
   @  1:[0-9a-f]{12} a (re)
   
@@ -44,13 +44,13 @@
   [1] a
   reviving this changeset will create divergence unless you make a duplicate.
   (a)llow divergence or (d)uplicate the changeset?  a
-  2 new divergent changesets
+  2 new content-divergent changesets
   $ hg log -G
-  @  4:[0-9a-f]{12} a (re)
+  @  3:[0-9a-f]{12} a (re)
   
-  o  3:[0-9a-f]{12} ab (re)
+  o  2:[0-9a-f]{12} ab (re)
   
-  $ hg prune 4
+  $ hg prune 3
   0 files updated, 0 files merged, 1 files removed, 0 files unresolved
   working directory now at 000000000000
   1 changesets pruned
@@ -59,9 +59,9 @@
 
   $ hg touch --duplicate .
   $ hg log -G
-  @  5:[0-9a-f]{12} (re)
+  @  4:[0-9a-f]{12} (re)
   
-  o  3:[0-9a-f]{12} ab (re)
+  o  2:[0-9a-f]{12} ab (re)
   
 
 Multiple touch
@@ -73,23 +73,23 @@
   $ hg add d
   $ hg commit -m d
   $ hg log -G
-  @  7:[0-9a-f]{12} d (re)
+  @  6:[0-9a-f]{12} d (re)
   |
-  o  6:[0-9a-f]{12} c (re)
+  o  5:[0-9a-f]{12} c (re)
   |
-  o  5:[0-9a-f]{12} (re)
+  o  4:[0-9a-f]{12} (re)
   
-  o  3:[0-9a-f]{12} ab (re)
+  o  2:[0-9a-f]{12} ab (re)
   
   $ hg touch .^:.
   $ hg log -G
-  @  9:[0-9a-f]{12} d (re)
+  @  8:[0-9a-f]{12} d (re)
   |
-  o  8:[0-9a-f]{12} c (re)
+  o  7:[0-9a-f]{12} c (re)
   |
-  o  5:[0-9a-f]{12} (re)
+  o  4:[0-9a-f]{12} (re)
   
-  o  3:[0-9a-f]{12} ab (re)
+  o  2:[0-9a-f]{12} ab (re)
   
 
 check move data kept after rebase on touch:
@@ -107,38 +107,36 @@
   1 files updated, 0 files merged, 1 files removed, 0 files unresolved
 
   $ hg touch
-  1 new unstable changesets
+  1 new orphan changesets
 
   $ hg log -G --hidden
-  | o  10:[0-9a-f]{12} move (re)
+  @  11:[0-9a-f]{12} gna1 (re)
   |
-  | x  9:[0-9a-f]{12} gna1 (re)
+  | o  10:[0-9a-f]{12} move (re)
   | |
-  | x  6:[0-9a-f]{12} d (re)
+  | x  9:[0-9a-f]{12} gna1 (re)
   |/
-  | x  5:[0-9a-f]{12} c (re)
+  o  8:[0-9a-f]{12} d (re)
   |
-  o  8:[0-9a-f]{12} c (re)
+  o  7:[0-9a-f]{12} c (re)
   |
-  | x  7:[0-9a-f]{12} d (re)
+  | x  6:[0-9a-f]{12} d (re)
   | |
-  | x  6:[0-9a-f]{12} c (re)
+  | x  5:[0-9a-f]{12} c (re)
   |/
-  o  5:[0-9a-f]{12} (re)
+  o  4:[0-9a-f]{12} (re)
   
-  x  4:[0-9a-f]{12} a (re)
+  x  3:[0-9a-f]{12} a (re)
   
-  o  3:[0-9a-f]{12} ab (re)
+  o  2:[0-9a-f]{12} ab (re)
   
-  x  2:[0-9a-f]{12} temporary amend commit for [0-9a-f]{12} (re)
-  |
   x  1:[0-9a-f]{12} a (re)
   
   x  0:[0-9a-f]{12} a (re)
   
 
-  $ hg rebase -s 11 -d 12
-  rebasing 11:[0-9a-f]{12} "move" (re)
+  $ hg rebase -s 10 -d 11
+  rebasing 10:[0-9a-f]{12} "move" (re)
   $ hg st -C --change=tip
   A gna2
     gna1
@@ -146,12 +144,12 @@
 
 check that the --duplicate option does not create divergence
 
-  $ hg touch --duplicate 11 --hidden
-  1 new unstable changesets
+  $ hg touch --duplicate 10 --hidden
+  1 new orphan changesets
 
 check that reviving a changeset with no successor does not show the prompt
 
-  $ hg prune 14
+  $ hg prune 13
   1 changesets pruned
-  $ hg touch 14 --hidden
-  1 new unstable changesets
+  $ hg touch 13 --hidden
+  1 new orphan changesets
--- a/tests/test-tutorial.t	Sat Sep 30 11:11:04 2017 +0100
+++ b/tests/test-tutorial.t	Sat Sep 30 11:38:08 2017 +0100
@@ -311,17 +311,17 @@
       		width=0.5];
       	0 -> 1	 [arrowhead=none,
       		penwidth=2.0];
-      	4	 [fillcolor="#9999FF",
+      	3	 [fillcolor="#9999FF",
       		fixedsize=true,
       		group=default,
       		height=0.5,
-      		label=4,
+      		label=3,
       		pin=true,
-      		pos="1,4!",
+      		pos="1,3!",
       		shape=pentagon,
       		style=filled,
       		width=0.5];
-      	1 -> 4	 [arrowhead=none,
+      	1 -> 3	 [arrowhead=none,
       		penwidth=2.0];
       }
 #endif
@@ -411,18 +411,6 @@
       		width=0.5];
       	0 -> 1	 [arrowhead=none,
       		penwidth=2.0];
-      	5	 [fillcolor="#9999FF",
-      		fixedsize=true,
-      		group=default,
-      		height=0.5,
-      		label=5,
-      		pin=true,
-      		pos="1,5!",
-      		shape=circle,
-      		style=filled,
-      		width=0.5];
-      	0 -> 5	 [arrowhead=none,
-      		penwidth=2.0];
       	4	 [fillcolor="#9999FF",
       		fixedsize=true,
       		group=default,
@@ -430,10 +418,22 @@
       		label=4,
       		pin=true,
       		pos="1,4!",
+      		shape=circle,
+      		style=filled,
+      		width=0.5];
+      	0 -> 4	 [arrowhead=none,
+      		penwidth=2.0];
+      	3	 [fillcolor="#9999FF",
+      		fixedsize=true,
+      		group=default,
+      		height=0.5,
+      		label=3,
+      		pin=true,
+      		pos="1,3!",
       		shape=pentagon,
       		style=filled,
       		width=0.5];
-      	1 -> 4	 [arrowhead=none,
+      	1 -> 3	 [arrowhead=none,
       		penwidth=2.0];
       }
 #endif
@@ -444,7 +444,7 @@
   $ hg rebase --dest 9ca060c80d74 --source 4d5dc8187023
   rebasing 1:4d5dc8187023 "adding condiment"
   merging shopping
-  rebasing 4:9d0363b81950 "adding fruit"
+  rebasing 3:9d0363b81950 "adding fruit"
   merging shopping
 
 
@@ -478,6 +478,18 @@
       		shape=circle,
       		style=filled,
       		width=0.5];
+      	4	 [fillcolor="#9999FF",
+      		fixedsize=true,
+      		group=default,
+      		height=0.5,
+      		label=4,
+      		pin=true,
+      		pos="1,4!",
+      		shape=circle,
+      		style=filled,
+      		width=0.5];
+      	0 -> 4	 [arrowhead=none,
+      		penwidth=2.0];
       	5	 [fillcolor="#9999FF",
       		fixedsize=true,
       		group=default,
@@ -485,10 +497,10 @@
       		label=5,
       		pin=true,
       		pos="1,5!",
-      		shape=circle,
+      		shape=pentagon,
       		style=filled,
       		width=0.5];
-      	0 -> 5	 [arrowhead=none,
+      	4 -> 5	 [arrowhead=none,
       		penwidth=2.0];
       	6	 [fillcolor="#9999FF",
       		fixedsize=true,
@@ -502,18 +514,6 @@
       		width=0.5];
       	5 -> 6	 [arrowhead=none,
       		penwidth=2.0];
-      	7	 [fillcolor="#9999FF",
-      		fixedsize=true,
-      		group=default,
-      		height=0.5,
-      		label=7,
-      		pin=true,
-      		pos="1,7!",
-      		shape=pentagon,
-      		style=filled,
-      		width=0.5];
-      	6 -> 7	 [arrowhead=none,
-      		penwidth=2.0];
       }
 #endif
 
@@ -580,6 +580,18 @@
       		shape=circle,
       		style=filled,
       		width=0.5];
+      	4	 [fillcolor="#9999FF",
+      		fixedsize=true,
+      		group=default,
+      		height=0.5,
+      		label=4,
+      		pin=true,
+      		pos="1,4!",
+      		shape=circle,
+      		style=filled,
+      		width=0.5];
+      	0 -> 4	 [arrowhead=none,
+      		penwidth=2.0];
       	5	 [fillcolor="#9999FF",
       		fixedsize=true,
       		group=default,
@@ -587,10 +599,10 @@
       		label=5,
       		pin=true,
       		pos="1,5!",
-      		shape=circle,
+      		shape=pentagon,
       		style=filled,
       		width=0.5];
-      	0 -> 5	 [arrowhead=none,
+      	4 -> 5	 [arrowhead=none,
       		penwidth=2.0];
       	6	 [fillcolor="#9999FF",
       		fixedsize=true,
@@ -604,18 +616,6 @@
       		width=0.5];
       	5 -> 6	 [arrowhead=none,
       		penwidth=2.0];
-      	7	 [fillcolor="#9999FF",
-      		fixedsize=true,
-      		group=default,
-      		height=0.5,
-      		label=7,
-      		pin=true,
-      		pos="1,7!",
-      		shape=pentagon,
-      		style=filled,
-      		width=0.5];
-      	6 -> 7	 [arrowhead=none,
-      		penwidth=2.0];
       }
 #endif
 
@@ -664,7 +664,7 @@
   $ hg up 'p1(10b8aeaa8cc8)' # going on "bathroom stuff" parent
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   $ hg grab fac207dec9f5 # moving "SPAM SPAM" to the working directory parent
-  rebasing 10:fac207dec9f5 "SPAM SPAM" (tip)
+  rebasing 9:fac207dec9f5 "SPAM SPAM" (tip)
   merging shopping
   ? files updated, 0 files merged, 0 files removed, 0 files unresolved (glob)
   $ hg log -G
@@ -700,6 +700,18 @@
       		shape=circle,
       		style=filled,
       		width=0.5];
+      	4	 [fillcolor="#9999FF",
+      		fixedsize=true,
+      		group=default,
+      		height=0.5,
+      		label=4,
+      		pin=true,
+      		pos="1,4!",
+      		shape=circle,
+      		style=filled,
+      		width=0.5];
+      	0 -> 4	 [arrowhead=none,
+      		penwidth=2.0];
       	5	 [fillcolor="#9999FF",
       		fixedsize=true,
       		group=default,
@@ -707,10 +719,10 @@
       		label=5,
       		pin=true,
       		pos="1,5!",
-      		shape=circle,
+      		shape=pentagon,
       		style=filled,
       		width=0.5];
-      	0 -> 5	 [arrowhead=none,
+      	4 -> 5	 [arrowhead=none,
       		penwidth=2.0];
       	6	 [fillcolor="#9999FF",
       		fixedsize=true,
@@ -724,41 +736,29 @@
       		width=0.5];
       	5 -> 6	 [arrowhead=none,
       		penwidth=2.0];
-      	7	 [fillcolor="#9999FF",
-      		fixedsize=true,
-      		group=default,
-      		height=0.5,
-      		label=7,
-      		pin=true,
-      		pos="1,7!",
-      		shape=pentagon,
-      		style=filled,
-      		width=0.5];
-      	6 -> 7	 [arrowhead=none,
-      		penwidth=2.0];
-      	9	 [fillcolor="#9999FF",
+      	8	 [fillcolor="#9999FF",
       		fixedsize=true,
       		group=default,
       		height=0.5,
-      		label=9,
+      		label=8,
       		pin=true,
-      		pos="1,9!",
+      		pos="1,8!",
       		shape=pentagon,
       		style=filled,
       		width=0.5];
-      	7 -> 9	 [arrowhead=none,
+      	6 -> 8	 [arrowhead=none,
       		penwidth=2.0];
-      	11	 [fillcolor="#9999FF",
+      	10	 [fillcolor="#9999FF",
       		fixedsize=true,
       		group=default,
       		height=0.5,
-      		label=11,
+      		label=10,
       		pin=true,
-      		pos="1,11!",
+      		pos="1,10!",
       		shape=pentagon,
       		style=filled,
       		width=0.5];
-      	7 -> 11	 [arrowhead=none,
+      	6 -> 10	 [arrowhead=none,
       		penwidth=2.0];
       }
 #endif
@@ -802,12 +802,12 @@
   adding manifests
   adding file changes
   added 3 changesets with 3 changes to 1 files
-  6 new obsolescence markers
+  5 new obsolescence markers
 
 for simplicity sake we get the bathroom change in line again
 
   $ hg grab 10b8aeaa8cc8
-  rebasing 9:10b8aeaa8cc8 "bathroom stuff"
+  rebasing 8:10b8aeaa8cc8 "bathroom stuff"
   merging shopping
   ? files updated, 0 files merged, 0 files removed, 0 files unresolved (glob)
   $ hg phase --draft .
@@ -844,6 +844,18 @@
       		shape=circle,
       		style=filled,
       		width=0.5];
+      	4	 [fillcolor="#9999FF",
+      		fixedsize=true,
+      		group=default,
+      		height=0.5,
+      		label=4,
+      		pin=true,
+      		pos="1,4!",
+      		shape=circle,
+      		style=filled,
+      		width=0.5];
+      	0 -> 4	 [arrowhead=none,
+      		penwidth=2.0];
       	5	 [fillcolor="#9999FF",
       		fixedsize=true,
       		group=default,
@@ -854,7 +866,7 @@
       		shape=circle,
       		style=filled,
       		width=0.5];
-      	0 -> 5	 [arrowhead=none,
+      	4 -> 5	 [arrowhead=none,
       		penwidth=2.0];
       	6	 [fillcolor="#9999FF",
       		fixedsize=true,
@@ -868,17 +880,17 @@
       		width=0.5];
       	5 -> 6	 [arrowhead=none,
       		penwidth=2.0];
-      	7	 [fillcolor="#9999FF",
+      	10	 [fillcolor="#9999FF",
       		fixedsize=true,
       		group=default,
       		height=0.5,
-      		label=7,
+      		label=10,
       		pin=true,
-      		pos="1,7!",
+      		pos="1,10!",
       		shape=circle,
       		style=filled,
       		width=0.5];
-      	6 -> 7	 [arrowhead=none,
+      	6 -> 10	 [arrowhead=none,
       		penwidth=2.0];
       	11	 [fillcolor="#9999FF",
       		fixedsize=true,
@@ -887,22 +899,10 @@
       		label=11,
       		pin=true,
       		pos="1,11!",
-      		shape=circle,
-      		style=filled,
-      		width=0.5];
-      	7 -> 11	 [arrowhead=none,
-      		penwidth=2.0];
-      	12	 [fillcolor="#9999FF",
-      		fixedsize=true,
-      		group=default,
-      		height=0.5,
-      		label=12,
-      		pin=true,
-      		pos="1,12!",
       		shape=pentagon,
       		style=filled,
       		width=0.5];
-      	11 -> 12	 [arrowhead=none,
+      	10 -> 11	 [arrowhead=none,
       		penwidth=2.0];
       }
 #endif
@@ -1135,6 +1135,18 @@
       		shape=circle,
       		style=filled,
       		width=0.5];
+      	4	 [fillcolor="#9999FF",
+      		fixedsize=true,
+      		group=default,
+      		height=0.5,
+      		label=4,
+      		pin=true,
+      		pos="1,4!",
+      		shape=circle,
+      		style=filled,
+      		width=0.5];
+      	0 -> 4	 [arrowhead=none,
+      		penwidth=2.0];
       	5	 [fillcolor="#9999FF",
       		fixedsize=true,
       		group=default,
@@ -1145,7 +1157,7 @@
       		shape=circle,
       		style=filled,
       		width=0.5];
-      	0 -> 5	 [arrowhead=none,
+      	4 -> 5	 [arrowhead=none,
       		penwidth=2.0];
       	6	 [fillcolor="#9999FF",
       		fixedsize=true,
@@ -1159,41 +1171,29 @@
       		width=0.5];
       	5 -> 6	 [arrowhead=none,
       		penwidth=2.0];
-      	7	 [fillcolor="#9999FF",
-      		fixedsize=true,
-      		group=default,
-      		height=0.5,
-      		label=7,
-      		pin=true,
-      		pos="1,7!",
-      		shape=circle,
-      		style=filled,
-      		width=0.5];
-      	6 -> 7	 [arrowhead=none,
-      		penwidth=2.0];
-      	11	 [fillcolor="#9999FF",
+      	10	 [fillcolor="#9999FF",
       		fixedsize=true,
       		group=default,
       		height=0.5,
-      		label=11,
+      		label=10,
       		pin=true,
-      		pos="1,11!",
+      		pos="1,10!",
       		shape=circle,
       		style=filled,
       		width=0.5];
-      	7 -> 11	 [arrowhead=none,
+      	6 -> 10	 [arrowhead=none,
       		penwidth=2.0];
-      	14	 [fillcolor="#9999FF",
+      	12	 [fillcolor="#9999FF",
       		fixedsize=true,
       		group=default,
       		height=0.5,
-      		label=14,
+      		label=12,
       		pin=true,
-      		pos="1,14!",
+      		pos="1,12!",
       		shape=pentagon,
       		style=filled,
       		width=0.5];
-      	11 -> 14	 [arrowhead=none,
+      	10 -> 12	 [arrowhead=none,
       		penwidth=2.0];
       }
 #endif
@@ -1206,9 +1206,9 @@
   adding changesets
   adding manifests
   adding file changes
-  added 1 changesets with 1 changes to 1 files (+1 heads)
-  (run 'hg heads' to see heads, 'hg merge' to merge)
-  1 new unstable changesets
+  added 1 changesets with 1 changes to 1 files
+  (run 'hg update' to get a working copy)
+  1 new orphan changesets
 
 
 The new changeset "animal" is based on an old changeset of "bathroom". You can
@@ -1251,6 +1251,18 @@
       		shape=circle,
       		style=filled,
       		width=0.5];
+      	4	 [fillcolor="#9999FF",
+      		fixedsize=true,
+      		group=default,
+      		height=0.5,
+      		label=4,
+      		pin=true,
+      		pos="1,4!",
+      		shape=circle,
+      		style=filled,
+      		width=0.5];
+      	0 -> 4	 [arrowhead=none,
+      		penwidth=2.0];
       	5	 [fillcolor="#9999FF",
       		fixedsize=true,
       		group=default,
@@ -1261,7 +1273,7 @@
       		shape=circle,
       		style=filled,
       		width=0.5];
-      	0 -> 5	 [arrowhead=none,
+      	4 -> 5	 [arrowhead=none,
       		penwidth=2.0];
       	6	 [fillcolor="#9999FF",
       		fixedsize=true,
@@ -1275,69 +1287,57 @@
       		width=0.5];
       	5 -> 6	 [arrowhead=none,
       		penwidth=2.0];
-      	7	 [fillcolor="#9999FF",
+      	10	 [fillcolor="#9999FF",
       		fixedsize=true,
       		group=default,
       		height=0.5,
-      		label=7,
+      		label=10,
       		pin=true,
-      		pos="1,7!",
+      		pos="1,10!",
       		shape=circle,
       		style=filled,
       		width=0.5];
-      	6 -> 7	 [arrowhead=none,
+      	6 -> 10	 [arrowhead=none,
       		penwidth=2.0];
-      	11	 [fillcolor="#9999FF",
+      	11	 [fillcolor="#DFDFFF",
       		fixedsize=true,
-      		group=default,
+      		group=default_alt,
       		height=0.5,
       		label=11,
       		pin=true,
-      		pos="1,11!",
-      		shape=circle,
-      		style=filled,
+      		pos="2,11!",
+      		shape=pentagon,
+      		style="dotted, filled",
       		width=0.5];
-      	7 -> 11	 [arrowhead=none,
+      	10 -> 11	 [arrowhead=none,
       		penwidth=2.0];
-      	12	 [fillcolor="#DFDFFF",
+      	12	 [fillcolor="#9999FF",
       		fixedsize=true,
-      		group=default_alt,
+      		group=default,
       		height=0.5,
       		label=12,
       		pin=true,
-      		pos="2,12!",
-      		shape=pentagon,
-      		style="dotted, filled",
-      		width=0.5];
-      	11 -> 12	 [arrowhead=none,
-      		penwidth=2.0];
-      	14	 [fillcolor="#9999FF",
-      		fixedsize=true,
-      		group=default,
-      		height=0.5,
-      		label=14,
-      		pin=true,
-      		pos="1,14!",
+      		pos="1,12!",
       		shape=pentagon,
       		style=filled,
       		width=0.5];
-      	11 -> 14	 [arrowhead=none,
+      	10 -> 12	 [arrowhead=none,
       		penwidth=2.0];
-      	12 -> 14	 [arrowhead=none,
+      	11 -> 12	 [arrowhead=none,
       		minlen=0,
       		penwidth=2.0,
       		style=dashed];
-      	15	 [fillcolor="#FF4F4F",
+      	13	 [fillcolor="#FF4F4F",
       		fixedsize=true,
       		group=default_alt,
       		height=0.5,
-      		label=15,
+      		label=13,
       		pin=true,
-      		pos="2,15!",
+      		pos="2,13!",
       		shape=pentagon,
       		style=filled,
       		width=0.5];
-      	12 -> 15	 [arrowhead=none,
+      	11 -> 13	 [arrowhead=none,
       		penwidth=2.0];
       }
 #endif
@@ -1353,7 +1353,7 @@
   $ hg push other
   pushing to $TESTTMP/other (glob)
   searching for changes
-  abort: push includes unstable changeset: bf1b0d202029!
+  abort: push includes orphan changeset: bf1b0d202029!
   (use 'hg evolve' to get a stable history or --force to ignore warnings)
   [255]
  
@@ -1364,15 +1364,15 @@
 It has a --dry-run option to only suggest the next move.
 
   $ hg evolve --dry-run
-  move:[15] animals
-  atop:[14] bathroom stuff
+  move:[13] animals
+  atop:[12] bathroom stuff
   hg rebase -r bf1b0d202029 -d a44c85f957d3
 
 Let's do it
 
   $ hg evolve
-  move:[15] animals
-  atop:[14] bathroom stuff
+  move:[13] animals
+  atop:[12] bathroom stuff
   merging shopping
   working directory is now at ee942144f952
 
@@ -1413,6 +1413,18 @@
       		shape=circle,
       		style=filled,
       		width=0.5];
+      	4	 [fillcolor="#9999FF",
+      		fixedsize=true,
+      		group=default,
+      		height=0.5,
+      		label=4,
+      		pin=true,
+      		pos="1,4!",
+      		shape=circle,
+      		style=filled,
+      		width=0.5];
+      	0 -> 4	 [arrowhead=none,
+      		penwidth=2.0];
       	5	 [fillcolor="#9999FF",
       		fixedsize=true,
       		group=default,
@@ -1423,7 +1435,7 @@
       		shape=circle,
       		style=filled,
       		width=0.5];
-      	0 -> 5	 [arrowhead=none,
+      	4 -> 5	 [arrowhead=none,
       		penwidth=2.0];
       	6	 [fillcolor="#9999FF",
       		fixedsize=true,
@@ -1437,29 +1449,29 @@
       		width=0.5];
       	5 -> 6	 [arrowhead=none,
       		penwidth=2.0];
-      	7	 [fillcolor="#9999FF",
+      	10	 [fillcolor="#9999FF",
       		fixedsize=true,
       		group=default,
       		height=0.5,
-      		label=7,
+      		label=10,
       		pin=true,
-      		pos="1,7!",
+      		pos="1,10!",
       		shape=circle,
       		style=filled,
       		width=0.5];
-      	6 -> 7	 [arrowhead=none,
+      	6 -> 10	 [arrowhead=none,
       		penwidth=2.0];
-      	11	 [fillcolor="#9999FF",
+      	12	 [fillcolor="#9999FF",
       		fixedsize=true,
       		group=default,
       		height=0.5,
-      		label=11,
+      		label=12,
       		pin=true,
-      		pos="1,11!",
-      		shape=circle,
+      		pos="1,12!",
+      		shape=pentagon,
       		style=filled,
       		width=0.5];
-      	7 -> 11	 [arrowhead=none,
+      	10 -> 12	 [arrowhead=none,
       		penwidth=2.0];
       	14	 [fillcolor="#9999FF",
       		fixedsize=true,
@@ -1471,19 +1483,7 @@
       		shape=pentagon,
       		style=filled,
       		width=0.5];
-      	11 -> 14	 [arrowhead=none,
-      		penwidth=2.0];
-      	16	 [fillcolor="#9999FF",
-      		fixedsize=true,
-      		group=default,
-      		height=0.5,
-      		label=16,
-      		pin=true,
-      		pos="1,16!",
-      		shape=pentagon,
-      		style=filled,
-      		width=0.5];
-      	14 -> 16	 [arrowhead=none,
+      	12 -> 14	 [arrowhead=none,
       		penwidth=2.0];
       }
 #endif
@@ -1497,7 +1497,7 @@
   adding manifests
   adding file changes
   added 2 changesets with 2 changes to 1 files (+1 heads)
-  3 new obsolescence markers
+  2 new obsolescence markers
   obsoleted 2 changesets
 
 Remote get a warning that current working directory is based on an obsolete
@@ -1578,6 +1578,18 @@
       		shape=circle,
       		style=filled,
       		width=0.5];
+      	4	 [fillcolor="#9999FF",
+      		fixedsize=true,
+      		group=default,
+      		height=0.5,
+      		label=4,
+      		pin=true,
+      		pos="1,4!",
+      		shape=circle,
+      		style=filled,
+      		width=0.5];
+      	0 -> 4	 [arrowhead=none,
+      		penwidth=2.0];
       	5	 [fillcolor="#9999FF",
       		fixedsize=true,
       		group=default,
@@ -1588,7 +1600,7 @@
       		shape=circle,
       		style=filled,
       		width=0.5];
-      	0 -> 5	 [arrowhead=none,
+      	4 -> 5	 [arrowhead=none,
       		penwidth=2.0];
       	6	 [fillcolor="#9999FF",
       		fixedsize=true,
@@ -1602,29 +1614,29 @@
       		width=0.5];
       	5 -> 6	 [arrowhead=none,
       		penwidth=2.0];
-      	7	 [fillcolor="#9999FF",
+      	10	 [fillcolor="#9999FF",
       		fixedsize=true,
       		group=default,
       		height=0.5,
-      		label=7,
+      		label=10,
       		pin=true,
-      		pos="1,7!",
+      		pos="1,10!",
       		shape=circle,
       		style=filled,
       		width=0.5];
-      	6 -> 7	 [arrowhead=none,
+      	6 -> 10	 [arrowhead=none,
       		penwidth=2.0];
-      	11	 [fillcolor="#9999FF",
+      	12	 [fillcolor="#9999FF",
       		fixedsize=true,
       		group=default,
       		height=0.5,
-      		label=11,
+      		label=12,
       		pin=true,
-      		pos="1,11!",
-      		shape=circle,
+      		pos="1,12!",
+      		shape=pentagon,
       		style=filled,
       		width=0.5];
-      	7 -> 11	 [arrowhead=none,
+      	10 -> 12	 [arrowhead=none,
       		penwidth=2.0];
       	14	 [fillcolor="#9999FF",
       		fixedsize=true,
@@ -1636,31 +1648,19 @@
       		shape=pentagon,
       		style=filled,
       		width=0.5];
-      	11 -> 14	 [arrowhead=none,
+      	12 -> 14	 [arrowhead=none,
       		penwidth=2.0];
-      	16	 [fillcolor="#9999FF",
+      	15	 [fillcolor="#9999FF",
       		fixedsize=true,
       		group=default,
       		height=0.5,
-      		label=16,
+      		label=15,
       		pin=true,
-      		pos="1,16!",
+      		pos="1,15!",
       		shape=pentagon,
       		style=filled,
       		width=0.5];
-      	14 -> 16	 [arrowhead=none,
-      		penwidth=2.0];
-      	17	 [fillcolor="#9999FF",
-      		fixedsize=true,
-      		group=default,
-      		height=0.5,
-      		label=17,
-      		pin=true,
-      		pos="1,17!",
-      		shape=pentagon,
-      		style=filled,
-      		width=0.5];
-      	16 -> 17	 [arrowhead=none,
+      	14 -> 15	 [arrowhead=none,
       		penwidth=2.0];
       }
 #endif
@@ -1671,7 +1671,7 @@
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   working directory now at a44c85f957d3
   1 changesets pruned
-  1 new unstable changesets
+  1 new orphan changesets
 
 
 The animals changeset is still displayed because the "SPAM SPAM SPAM" changeset
@@ -1714,6 +1714,18 @@
       		shape=circle,
       		style=filled,
       		width=0.5];
+      	4	 [fillcolor="#9999FF",
+      		fixedsize=true,
+      		group=default,
+      		height=0.5,
+      		label=4,
+      		pin=true,
+      		pos="1,4!",
+      		shape=circle,
+      		style=filled,
+      		width=0.5];
+      	0 -> 4	 [arrowhead=none,
+      		penwidth=2.0];
       	5	 [fillcolor="#9999FF",
       		fixedsize=true,
       		group=default,
@@ -1724,7 +1736,7 @@
       		shape=circle,
       		style=filled,
       		width=0.5];
-      	0 -> 5	 [arrowhead=none,
+      	4 -> 5	 [arrowhead=none,
       		penwidth=2.0];
       	6	 [fillcolor="#9999FF",
       		fixedsize=true,
@@ -1738,74 +1750,62 @@
       		width=0.5];
       	5 -> 6	 [arrowhead=none,
       		penwidth=2.0];
-      	7	 [fillcolor="#9999FF",
+      	10	 [fillcolor="#9999FF",
       		fixedsize=true,
       		group=default,
       		height=0.5,
-      		label=7,
+      		label=10,
       		pin=true,
-      		pos="1,7!",
+      		pos="1,10!",
       		shape=circle,
       		style=filled,
       		width=0.5];
-      	6 -> 7	 [arrowhead=none,
+      	6 -> 10	 [arrowhead=none,
       		penwidth=2.0];
-      	11	 [fillcolor="#9999FF",
+      	12	 [fillcolor="#9999FF",
       		fixedsize=true,
       		group=default,
       		height=0.5,
-      		label=11,
+      		label=12,
       		pin=true,
-      		pos="1,11!",
-      		shape=circle,
+      		pos="1,12!",
+      		shape=pentagon,
       		style=filled,
       		width=0.5];
-      	7 -> 11	 [arrowhead=none,
+      	10 -> 12	 [arrowhead=none,
       		penwidth=2.0];
-      	14	 [fillcolor="#9999FF",
+      	14	 [fillcolor="#DFDFFF",
       		fixedsize=true,
-      		group=default,
+      		group=default_alt,
       		height=0.5,
       		label=14,
       		pin=true,
-      		pos="1,14!",
+      		pos="2,14!",
       		shape=pentagon,
-      		style=filled,
+      		style="dotted, filled",
       		width=0.5];
-      	11 -> 14	 [arrowhead=none,
+      	12 -> 14	 [arrowhead=none,
       		penwidth=2.0];
-      	16	 [fillcolor="#DFDFFF",
+      	15	 [fillcolor="#FF4F4F",
       		fixedsize=true,
       		group=default_alt,
       		height=0.5,
-      		label=16,
+      		label=15,
       		pin=true,
-      		pos="2,16!",
-      		shape=pentagon,
-      		style="dotted, filled",
-      		width=0.5];
-      	14 -> 16	 [arrowhead=none,
-      		penwidth=2.0];
-      	17	 [fillcolor="#FF4F4F",
-      		fixedsize=true,
-      		group=default_alt,
-      		height=0.5,
-      		label=17,
-      		pin=true,
-      		pos="2,17!",
+      		pos="2,15!",
       		shape=pentagon,
       		style=filled,
       		width=0.5];
-      	16 -> 17	 [arrowhead=none,
+      	14 -> 15	 [arrowhead=none,
       		penwidth=2.0];
       }
 #endif
 
-  $ hg log -r "unstable()"
+  $ hg log -r "orphan()"
   99f039c5ec9e (draft): SPAM SPAM SPAM
 
 #if docgraph-ext
-  $ hg docgraph -r "unstable()" --sphinx-directive --rankdir LR #rest-ignore
+  $ hg docgraph -r "orphan()" --sphinx-directive --rankdir LR #rest-ignore
   .. graphviz::
   
       strict digraph  {
@@ -1813,13 +1813,13 @@
       		splines=polyline
       	];
       	node [label="\N"];
-      	17	 [fillcolor="#FF4F4F",
+      	15	 [fillcolor="#FF4F4F",
       		fixedsize=true,
       		group=default_alt,
       		height=0.5,
-      		label=17,
+      		label=15,
       		pin=true,
-      		pos="1,17!",
+      		pos="1,15!",
       		shape=pentagon,
       		style=filled,
       		width=0.5];
@@ -1827,8 +1827,8 @@
 #endif
 
   $ hg evolve
-  move:[17] SPAM SPAM SPAM
-  atop:[14] bathroom stuff
+  move:[15] SPAM SPAM SPAM
+  atop:[12] bathroom stuff
   merging shopping
   working directory is now at 40aa40daeefb
 
@@ -1867,6 +1867,18 @@
       		shape=circle,
       		style=filled,
       		width=0.5];
+      	4	 [fillcolor="#9999FF",
+      		fixedsize=true,
+      		group=default,
+      		height=0.5,
+      		label=4,
+      		pin=true,
+      		pos="1,4!",
+      		shape=circle,
+      		style=filled,
+      		width=0.5];
+      	0 -> 4	 [arrowhead=none,
+      		penwidth=2.0];
       	5	 [fillcolor="#9999FF",
       		fixedsize=true,
       		group=default,
@@ -1877,7 +1889,7 @@
       		shape=circle,
       		style=filled,
       		width=0.5];
-      	0 -> 5	 [arrowhead=none,
+      	4 -> 5	 [arrowhead=none,
       		penwidth=2.0];
       	6	 [fillcolor="#9999FF",
       		fixedsize=true,
@@ -1891,53 +1903,41 @@
       		width=0.5];
       	5 -> 6	 [arrowhead=none,
       		penwidth=2.0];
-      	7	 [fillcolor="#9999FF",
+      	10	 [fillcolor="#9999FF",
       		fixedsize=true,
       		group=default,
       		height=0.5,
-      		label=7,
+      		label=10,
       		pin=true,
-      		pos="1,7!",
-      		shape=circle,
-      		style=filled,
-      		width=0.5];
-      	6 -> 7	 [arrowhead=none,
-      		penwidth=2.0];
-      	11	 [fillcolor="#9999FF",
-      		fixedsize=true,
-      		group=default,
-      		height=0.5,
-      		label=11,
-      		pin=true,
-      		pos="1,11!",
+      		pos="1,10!",
       		shape=circle,
       		style=filled,
       		width=0.5];
-      	7 -> 11	 [arrowhead=none,
+      	6 -> 10	 [arrowhead=none,
       		penwidth=2.0];
-      	14	 [fillcolor="#9999FF",
+      	12	 [fillcolor="#9999FF",
       		fixedsize=true,
       		group=default,
       		height=0.5,
-      		label=14,
+      		label=12,
       		pin=true,
-      		pos="1,14!",
+      		pos="1,12!",
       		shape=pentagon,
       		style=filled,
       		width=0.5];
-      	11 -> 14	 [arrowhead=none,
+      	10 -> 12	 [arrowhead=none,
       		penwidth=2.0];
-      	18	 [fillcolor="#9999FF",
+      	16	 [fillcolor="#9999FF",
       		fixedsize=true,
       		group=default,
       		height=0.5,
-      		label=18,
+      		label=16,
       		pin=true,
-      		pos="1,18!",
+      		pos="1,16!",
       		shape=pentagon,
       		style=filled,
       		width=0.5];
-      	14 -> 18	 [arrowhead=none,
+      	12 -> 16	 [arrowhead=none,
       		penwidth=2.0];
       }
 #endif
--- a/tests/test-uncommit-interactive.t	Sat Sep 30 11:11:04 2017 +0100
+++ b/tests/test-uncommit-interactive.t	Sat Sep 30 11:38:08 2017 +0100
@@ -302,7 +302,7 @@
 
   $ hg amend
   $ glog
-  @  7:905eb2a23ea2@default(draft) another one
+  @  6:905eb2a23ea2@default(draft) another one
   |
   o  0:7733902a8d94@default(draft) The base commit
   
@@ -445,9 +445,9 @@
   undeleting a
 
   $ glog
-  @  12:42cc15efbec2@default(draft) Added foo
+  @  10:42cc15efbec2@default(draft) Added foo
   |
-  o  7:905eb2a23ea2@default(draft) another one
+  o  6:905eb2a23ea2@default(draft) another one
   |
   o  0:7733902a8d94@default(draft) The base commit
   
@@ -517,15 +517,15 @@
 =====================================================
 
   $ glog
-  @  18:25a080d13cb2@default(draft) Added x
+  @  16:25a080d13cb2@default(draft) Added x
   |
-  o  12:42cc15efbec2@default(draft) Added foo
+  o  10:42cc15efbec2@default(draft) Added foo
   |
-  o  7:905eb2a23ea2@default(draft) another one
+  o  6:905eb2a23ea2@default(draft) another one
   |
   o  0:7733902a8d94@default(draft) The base commit
   
-  $ hg up 7
+  $ hg up 6
   0 files updated, 0 files merged, 2 files removed, 0 files unresolved
 
   $ touch bar
@@ -597,7 +597,7 @@
   
   patching file a
   Hunk #1 succeeded at 1 with fuzz 1 (offset -1 lines).
-  2 new unstable changesets
+  2 new orphan changesets
 
   $ hg diff
   diff -r 676366511f95 a
--- a/tests/test-uncommit.t	Sat Sep 30 11:11:04 2017 +0100
+++ b/tests/test-uncommit.t	Sat Sep 30 11:38:08 2017 +0100
@@ -244,7 +244,7 @@
   (use 'hg evolve' to update to its successor: e8db4aa611f6)
   $ hg --config extensions.purge= purge
   $ hg uncommit -I 'set:added() and e'
-  2 new divergent changesets
+  2 new content-divergent changesets
   $ hg st --copies
   A e
   $ hg st --copies --change .
@@ -290,7 +290,7 @@
   (5eb72dbe0cb4 has diverged, use 'hg evolve --list --contentdivergent' to resolve the issue)
   $ hg --config extensions.purge= purge
   $ hg uncommit --all -X e
-  1 new divergent changesets
+  1 new content-divergent changesets
   $ hg st --copies
   M b
   M d
@@ -337,7 +337,7 @@
   0 files updated, 0 files merged, 1 files removed, 0 files unresolved
   [8] touncommit
   $ hg uncommit aa
-  1 new unstable changesets
+  1 new orphan changesets
 
 Test uncommiting agains a different base
 
--- a/tests/test-unstable.t	Sat Sep 30 11:11:04 2017 +0100
+++ b/tests/test-unstable.t	Sat Sep 30 11:38:08 2017 +0100
@@ -42,7 +42,7 @@
   $ hg up "desc(_b)"
   0 files updated, 0 files merged, 1 files removed, 0 files unresolved
   $ hg amend -m "bprime"
-  1 new unstable changesets
+  1 new orphan changesets
   $ hg log -G
   @  3:36050226a9b9@default(draft) bprime
   |
@@ -86,7 +86,7 @@
   $ hg up "desc(_a)"
   0 files updated, 0 files merged, 1 files removed, 0 files unresolved
   $ hg amend -m "aprime"
-  1 new unstable changesets
+  1 new orphan changesets
   $ hg log -G
   @  4:47127ea62e5f@default(draft) aprime
   |
@@ -134,7 +134,7 @@
   $ hg up "desc(_a)"
   0 files updated, 0 files merged, 1 files removed, 0 files unresolved
   $ hg amend -m "aprime"
-  1 new unstable changesets
+  1 new orphan changesets
   $ hg up "desc(_c)"
   1 files updated, 0 files merged, 1 files removed, 0 files unresolved
   $ hg amend -m "cprime"
@@ -185,7 +185,7 @@
   created new head
   $ hg prune "desc(_b)" -s "desc(bprimesplit1) + desc(bprimesplit2)" --split
   1 changesets pruned
-  1 new unstable changesets
+  1 new orphan changesets
   $ hg log -G
   @  4:2a4ccc0bb20c@default(draft) add bprimesplit2
   |
@@ -230,14 +230,14 @@
   created new head
   $ hg prune "desc(_b)" -s "desc(bprimesplit1) + desc(bprimesplit2)" --split
   1 changesets pruned
-  1 new unstable changesets
+  1 new orphan changesets
   $ hg up "desc(_a)"
   0 files updated, 0 files merged, 2 files removed, 0 files unresolved
   $ mkcommits bsecondsplit1 bsecondsplit2
   created new head
   $ hg prune "desc(bprimesplit1)" -s "desc(bsecondsplit2)"
   1 changesets pruned
-  1 new unstable changesets
+  1 new orphan changesets
   $ hg prune "desc(bprimesplit2)" -s "desc(bsecondsplit1)"
   1 changesets pruned
   $ hg log -G
@@ -288,7 +288,7 @@
   created new head
   $ hg prune "desc(_b)" -s "desc(bprimesplit1) + desc(bprimesplit2)" --split
   1 changesets pruned
-  1 new unstable changesets
+  1 new orphan changesets
   $ hg log -G
   @  4:3c69ea6aa93e@default(draft) add bprimesplit2
   |
--- a/tests/test-userguide.t	Sat Sep 30 11:11:04 2017 +0100
+++ b/tests/test-userguide.t	Sat Sep 30 11:38:08 2017 +0100
@@ -42,10 +42,8 @@
   (use --hidden to access hidden revisions; successor: 934359450037)
   [255]
   $ hg --hidden shortlog -G
-  @  3:934359450037  draft  implement feature Y
+  @  2:934359450037  draft  implement feature Y
   |
-  | x  2:6c5f78d5d467  draft  temporary amend commit for fe0ecd3bd2a4
-  | |
   | x  1:fe0ecd3bd2a4  draft  implement feature Y
   |/
   o  0:08c4b6f4efc8  draft  init
@@ -54,10 +52,8 @@
   $ hg rollback -q
   $ hg amend -u alice -d '2 0' -m 'implement feature Y'
   $ hg --hidden shortlog -G
-  @  3:934359450037  draft  implement feature Y
+  @  2:934359450037  draft  implement feature Y
   |
-  | x  2:6c5f78d5d467  draft  temporary amend commit for fe0ecd3bd2a4
-  | |
   | x  1:fe0ecd3bd2a4  draft  implement feature Y
   |/
   o  0:08c4b6f4efc8  draft  init
@@ -70,11 +66,11 @@
   working directory now at 934359450037
   1 changesets pruned
   $ hg parents --template '{rev}:{node|short}  {desc|firstline}\n'
-  3:934359450037  implement feature Y
-  $ hg --hidden shortlog -G -r 3:
-  x  4:a3e0ef24aaf0  draft  debug hack
+  2:934359450037  implement feature Y
+  $ hg --hidden shortlog -G -r 934359450037:
+  x  3:a3e0ef24aaf0  draft  debug hack
   |
-  @  3:934359450037  draft  implement feature Y
+  @  2:934359450037  draft  implement feature Y
   |
   ~
 
@@ -85,16 +81,16 @@
   $ hg uncommit file2.c
   $ hg status
   M file2.c
-  $ hg --hidden shortlog -G -r 'descendants(3) - 4'
-  @  6:c8defeecf7a4  draft  fix bug 234
+  $ hg --hidden shortlog -G -r 'descendants(934359450037) - a3e0ef24aaf0'
+  @  5:c8defeecf7a4  draft  fix bug 234
   |
-  | x  5:da4331967f5f  draft  fix bug 234
+  | x  4:da4331967f5f  draft  fix bug 234
   |/
-  o  3:934359450037  draft  implement feature Y
+  o  2:934359450037  draft  implement feature Y
   |
   ~
   $ hg parents --template '{rev}:{node|short}  {desc|firstline}\n{files}\n'
-  6:c8defeecf7a4  fix bug 234
+  5:c8defeecf7a4  fix bug 234
   file1.c
   $ hg revert --no-backup file2.c
 
@@ -105,32 +101,32 @@
   $ hg commit -m 'step 2'
   $ echo step3 >> file2.c
   $ hg commit -m 'step 3'
-  $ hg log --template '{rev}:{node|short}  {desc|firstline}\n' -r 7::
-  7:05e61aab8294  step 1
-  8:be6d5bc8e4cc  step 2
-  9:35f432d9f7c1  step 3
-  $ hg fold -d '0 0' -m 'fix bug 64' --from -r 7::
+  $ hg log --template '{rev}:{node|short}  {desc|firstline}\n' -r 05e61aab8294::
+  6:05e61aab8294  step 1
+  7:be6d5bc8e4cc  step 2
+  8:35f432d9f7c1  step 3
+  $ hg fold -d '0 0' -m 'fix bug 64' --from -r 05e61aab8294::
   3 changesets folded
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
-  $ hg --hidden shortlog -G -r 6::
-  @  10:171c6a79a27b  draft  fix bug 64
+  $ hg --hidden shortlog -G -r c8defeecf7a4::
+  @  9:171c6a79a27b  draft  fix bug 64
   |
-  | x  9:35f432d9f7c1  draft  step 3
+  | x  8:35f432d9f7c1  draft  step 3
   | |
-  | x  8:be6d5bc8e4cc  draft  step 2
+  | x  7:be6d5bc8e4cc  draft  step 2
   | |
-  | x  7:05e61aab8294  draft  step 1
+  | x  6:05e61aab8294  draft  step 1
   |/
-  o  6:c8defeecf7a4  draft  fix bug 234
+  o  5:c8defeecf7a4  draft  fix bug 234
   |
   ~
-  $ hg --hidden log -q -r 'successors(7) | successors(8) | successors(9)'
-  10:171c6a79a27b
-  $ hg --hidden log -q -r 'precursors(10)'
-  7:05e61aab8294
-  8:be6d5bc8e4cc
-  9:35f432d9f7c1
-  $ hg diff -c 10 -U 0
+  $ hg --hidden log -q -r 'successors(05e61aab8294) | successors(be6d5bc8e4cc) | successors(35f432d9f7c1)'
+  9:171c6a79a27b
+  $ hg --hidden log -q -r 'precursors(171c6a79a27b)'
+  6:05e61aab8294
+  7:be6d5bc8e4cc
+  8:35f432d9f7c1
+  $ hg diff -c 171c6a79a27b -U 0
   diff -r c8defeecf7a4 -r 171c6a79a27b file1.c
   --- a/file1.c	Thu Jan 01 00:00:10 1970 +0000
   +++ b/file1.c	Thu Jan 01 00:00:00 1970 +0000
@@ -150,50 +146,48 @@
   $ hg commit -u bob -d '4 0' -m 'cleanup'
   $ echo 'new feature' >> file1.c
   $ hg commit -u bob -d '5 0' -m 'feature 23'
-  $ hg --hidden shortlog -G -r 10::
-  @  13:dadcbba2d606  draft  feature 23
+  $ hg --hidden shortlog -G -r 171c6a79a27b::
+  @  12:dadcbba2d606  draft  feature 23
   |
-  o  12:debd46bb29dc  draft  cleanup
+  o  11:debd46bb29dc  draft  cleanup
   |
-  o  11:3e1cb8f70c02  draft  fix bug 17
+  o  10:3e1cb8f70c02  draft  fix bug 17
   |
-  o  10:171c6a79a27b  draft  fix bug 64
+  o  9:171c6a79a27b  draft  fix bug 64
   |
   ~
 
 example 7: amend an older changeset (figures 6, 7)
-  $ hg update -q 11
+  $ hg update -q -r 3e1cb8f70c02
   $ echo 'fix fix fix fix' > file2.c
   $ hg amend -u bob -d '6 0'
-  2 new unstable changesets
+  2 new orphan changesets
   $ hg shortlog -r 'obsolete()'
-  11:3e1cb8f70c02  draft  fix bug 17
-  $ hg shortlog -r 'unstable()'
-  12:debd46bb29dc  draft  cleanup
-  13:dadcbba2d606  draft  feature 23
-  $ hg --hidden shortlog -G -r 10::
-  @  15:395cbeda3a06  draft  fix bug 17
+  10:3e1cb8f70c02  draft  fix bug 17
+  $ hg shortlog -r "orphan()"
+  11:debd46bb29dc  draft  cleanup
+  12:dadcbba2d606  draft  feature 23
+  $ hg --hidden shortlog -G -r 171c6a79a27b::
+  @  13:395cbeda3a06  draft  fix bug 17
   |
-  | x  14:f7fab707e247  draft  temporary amend commit for 3e1cb8f70c02
+  | o  12:dadcbba2d606  draft  feature 23
+  | |
+  | o  11:debd46bb29dc  draft  cleanup
   | |
-  | | o  13:dadcbba2d606  draft  feature 23
-  | | |
-  | | o  12:debd46bb29dc  draft  cleanup
-  | |/
-  | x  11:3e1cb8f70c02  draft  fix bug 17
+  | x  10:3e1cb8f70c02  draft  fix bug 17
   |/
-  o  10:171c6a79a27b  draft  fix bug 64
+  o  9:171c6a79a27b  draft  fix bug 64
   |
   ~
   $ hg evolve -q --all
-  $ hg shortlog -G -r 10::
-  @  17:91b4b0f8b5c5  draft  feature 23
+  $ hg shortlog -G -r 171c6a79a27b::
+  @  15:91b4b0f8b5c5  draft  feature 23
   |
-  o  16:fe8858bd9bc2  draft  cleanup
+  o  14:fe8858bd9bc2  draft  cleanup
   |
-  o  15:395cbeda3a06  draft  fix bug 17
+  o  13:395cbeda3a06  draft  fix bug 17
   |
-  o  10:171c6a79a27b  draft  fix bug 64
+  o  9:171c6a79a27b  draft  fix bug 64
   |
   ~
 
@@ -204,38 +198,36 @@
   $ hg commit -u carl -d '8 0' -m 'debug hack'
   $ echo 'more useful' >> file1.c
   $ hg commit -u carl -d '9 0' -m 'more work'
-  $ hg shortlog -G -r 17::
-  @  20:ea8fafca914b  draft  more work
+  $ hg shortlog -G -r 91b4b0f8b5c5::
+  @  18:ea8fafca914b  draft  more work
   |
-  o  19:b23d06b457a8  draft  debug hack
+  o  17:b23d06b457a8  draft  debug hack
   |
-  o  18:1f33e68b18b9  draft  useful work
+  o  16:1f33e68b18b9  draft  useful work
   |
-  o  17:91b4b0f8b5c5  draft  feature 23
+  o  15:91b4b0f8b5c5  draft  feature 23
   |
   ~
 
 example 8: prune an older changeset (figures 8, 9)
-  $ hg prune 19
+  $ hg prune b23d06b457a8
   1 changesets pruned
-  1 new unstable changesets
-  $ hg --hidden shortlog -G -r 18::
-  @  20:ea8fafca914b  draft  more work
+  1 new orphan changesets
+  $ hg --hidden shortlog -G -r b23d06b457a8::
+  @  18:ea8fafca914b  draft  more work
   |
-  x  19:b23d06b457a8  draft  debug hack
-  |
-  o  18:1f33e68b18b9  draft  useful work
+  x  17:b23d06b457a8  draft  debug hack
   |
   ~
   $ hg evolve -q --all --any
-  $ hg --hidden shortlog -G -r 18::
-  @  21:4393e5877437  draft  more work
+  $ hg --hidden shortlog -G -r 1f33e68b18b9::
+  @  19:4393e5877437  draft  more work
   |
-  | x  20:ea8fafca914b  draft  more work
+  | x  18:ea8fafca914b  draft  more work
   | |
-  | x  19:b23d06b457a8  draft  debug hack
+  | x  17:b23d06b457a8  draft  debug hack
   |/
-  o  18:1f33e68b18b9  draft  useful work
+  o  16:1f33e68b18b9  draft  useful work
   |
   ~
 
@@ -246,35 +238,35 @@
   $ hg commit -u dan -d '11 0' -m 'fix bug 53'
   $ echo 'and this handles bug 67' >> file1.c
   $ hg commit -u dan -d '12 0' -m 'fix bug 67'
-  $ hg update 22
+  $ hg update -r f84357446753
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
-  $ hg shortlog -G -r 21::
-  o  23:4db2428c8ae3  draft  fix bug 67
+  $ hg shortlog -G -r 4393e5877437::
+  o  21:4db2428c8ae3  draft  fix bug 67
   |
-  @  22:f84357446753  draft  fix bug 53
+  @  20:f84357446753  draft  fix bug 53
   |
-  o  21:4393e5877437  draft  more work
+  o  19:4393e5877437  draft  more work
   |
   ~
   $ hg uncommit file2.c
-  1 new unstable changesets
+  1 new orphan changesets
   $ hg status
   M file2.c
   $ hg revert file2.c
   $ hg evolve --all --any
-  move:[23] fix bug 67
-  atop:[24] fix bug 53
+  move:[21] fix bug 67
+  atop:[22] fix bug 53
   working directory is now at 0d972d6888e6
-  $ hg --hidden shortlog -G -r 21::
-  @  25:0d972d6888e6  draft  fix bug 67
+  $ hg --hidden shortlog -G -r 4393e5877437::
+  @  23:0d972d6888e6  draft  fix bug 67
   |
-  o  24:71bb83d674c5  draft  fix bug 53
+  o  22:71bb83d674c5  draft  fix bug 53
   |
-  | x  23:4db2428c8ae3  draft  fix bug 67
+  | x  21:4db2428c8ae3  draft  fix bug 67
   | |
-  | x  22:f84357446753  draft  fix bug 53
+  | x  20:f84357446753  draft  fix bug 53
   |/
-  o  21:4393e5877437  draft  more work
+  o  19:4393e5877437  draft  more work
   |
   ~
   $ rm file2.c.orig
@@ -286,48 +278,48 @@
   $ hg commit -u dan -d '11 0' -m 'fix a bug'
   $ echo 'new feature' >> file1.c
   $ hg commit -u dan -d '12 0' -m 'new feature'
-  $ hg update 26
+  $ hg update 5b31a1239ab9
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
-  $ hg --hidden shortlog -G -r 25::
-  o  27:fbb3c6d50427  draft  new feature
+  $ hg --hidden shortlog -G -r 0d972d6888e6::
+  o  25:fbb3c6d50427  draft  new feature
   |
-  @  26:5b31a1239ab9  draft  fix a bug
+  @  24:5b31a1239ab9  draft  fix a bug
   |
-  o  25:0d972d6888e6  draft  fix bug 67
+  o  23:0d972d6888e6  draft  fix bug 67
   |
   ~
   $ hg uncommit file2.c
-  1 new unstable changesets
+  1 new orphan changesets
   $ hg status
   M file2.c
   $ hg commit -m 'useful tweak'
   $ hg --hidden shortlog -G -r 0d972d6888e6::
-  @  29:51e0d8c0a922  draft  useful tweak
+  @  27:51e0d8c0a922  draft  useful tweak
   |
-  o  28:2594e98553a9  draft  fix a bug
+  o  26:2594e98553a9  draft  fix a bug
   |
-  | o  27:fbb3c6d50427  draft  new feature
+  | o  25:fbb3c6d50427  draft  new feature
   | |
-  | x  26:5b31a1239ab9  draft  fix a bug
+  | x  24:5b31a1239ab9  draft  fix a bug
   |/
-  o  25:0d972d6888e6  draft  fix bug 67
+  o  23:0d972d6888e6  draft  fix bug 67
   |
   ~
   $ hg evolve --all --any
-  move:[27] new feature
-  atop:[28] fix a bug
+  move:[25] new feature
+  atop:[26] fix a bug
   working directory is now at 166c1c368ab6
   $ hg --hidden shortlog -G -r 0d972d6888e6::
-  @  30:166c1c368ab6  draft  new feature
+  @  28:166c1c368ab6  draft  new feature
   |
-  | o  29:51e0d8c0a922  draft  useful tweak
+  | o  27:51e0d8c0a922  draft  useful tweak
   |/
-  o  28:2594e98553a9  draft  fix a bug
+  o  26:2594e98553a9  draft  fix a bug
   |
-  | x  27:fbb3c6d50427  draft  new feature
+  | x  25:fbb3c6d50427  draft  new feature
   | |
-  | x  26:5b31a1239ab9  draft  fix a bug
+  | x  24:5b31a1239ab9  draft  fix a bug
   |/
-  o  25:0d972d6888e6  draft  fix bug 67
+  o  23:0d972d6888e6  draft  fix bug 67
   |
   ~
--- a/tests/test-wireproto-bundle1.t	Sat Sep 30 11:11:04 2017 +0100
+++ b/tests/test-wireproto-bundle1.t	Sat Sep 30 11:38:08 2017 +0100
@@ -69,7 +69,7 @@
   remote: adding manifests
   remote: adding file changes
   remote: added 1 changesets with 1 changes to 1 files (+1 heads)
-  remote: 2 new obsolescence markers
+  remote: 1 new obsolescence markers
   remote: obsoleted 1 changesets
   $ hg push
   pushing to ssh://user@dummy/server
@@ -87,7 +87,7 @@
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to [12] files \(\+1 heads\) (re)
-  2 new obsolescence markers
+  1 new obsolescence markers
   obsoleted 1 changesets
   (run 'hg heads' to see heads)
   $ hg -R ../other pull
--- a/tests/test-wireproto.t	Sat Sep 30 11:11:04 2017 +0100
+++ b/tests/test-wireproto.t	Sat Sep 30 11:38:08 2017 +0100
@@ -72,8 +72,8 @@
   remote: adding manifests
   remote: adding file changes
   remote: added 1 changesets with 1 changes to 1 files (+1 heads)
-  remote: obsmarker-exchange: 151 bytes received
-  remote: 2 new obsolescence markers
+  remote: obsmarker-exchange: 92 bytes received
+  remote: 1 new obsolescence markers
   remote: obsoleted 1 changesets
   $ hg push
   pushing to ssh://user@dummy/server
@@ -91,8 +91,8 @@
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to [12] files \(\+1 heads\) (re)
-  obsmarker-exchange: 151 bytes received
-  2 new obsolescence markers
+  obsmarker-exchange: 92 bytes received
+  1 new obsolescence markers
   obsoleted 1 changesets
   (run 'hg heads' to see heads)
   $ hg -R ../other pull
@@ -115,8 +115,8 @@
   remote: adding manifests
   remote: adding file changes
   remote: added 1 changesets with 1 changes to 1 files
-  remote: obsmarker-exchange: 151 bytes received
-  remote: 2 new obsolescence markers
+  remote: obsmarker-exchange: 92 bytes received
+  remote: 1 new obsolescence markers
   $ hg -R ../other pull
   pulling from ssh://user@dummy/server
   searching for changes
@@ -124,8 +124,8 @@
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
-  obsmarker-exchange: 151 bytes received
-  2 new obsolescence markers
+  obsmarker-exchange: 92 bytes received
+  1 new obsolescence markers
   (run 'hg update' to get a working copy)
 
 some common hidden
@@ -138,7 +138,7 @@
   remote: adding manifests
   remote: adding file changes
   remote: added 1 changesets with 0 changes to 1 files (+1 heads)
-  remote: obsmarker-exchange: 226 bytes received
+  remote: obsmarker-exchange: 167 bytes received
   remote: 1 new obsolescence markers
   remote: obsoleted 1 changesets
   $ hg -R ../other pull
@@ -148,7 +148,7 @@
   adding manifests
   adding file changes
   added 1 changesets with 0 changes to 1 files (+1 heads)
-  obsmarker-exchange: 226 bytes received
+  obsmarker-exchange: 167 bytes received
   1 new obsolescence markers
   obsoleted 1 changesets
   (run 'hg heads' to see heads)
@@ -173,7 +173,7 @@
   (skipping discovery of obsolescence markers, will exchange everything)
   (controled by 'experimental.evolution.obsdiscovery' configuration)
   no changes found
-  remote: obsmarker-exchange: 376 bytes received
+  remote: obsmarker-exchange: 258 bytes received
   [1]
   $ hg -R ../other pull --config experimental.evolution.obsdiscovery=no
   pulling from ssh://user@dummy/server
@@ -181,6 +181,6 @@
   no changes found
   (skipping discovery of obsolescence markers, will exchange everything)
   (controled by 'experimental.evolution.obsdiscovery' configuration)
-  obsmarker-exchange: 376 bytes received
+  obsmarker-exchange: 258 bytes received
 
   $ cd ..