phase: report number of non-public changeset alongside the new range
authorBoris Feld <boris.feld@octobus.net>
Thu, 30 Aug 2018 01:53:21 +0200
changeset 49384 89630d0b3e23305d5b667c6f507706b4e208bf32
parent 49383 3ba87d5b9ad3f4fda6c5d952aba02b01670dad0f
child 49385 b6a0e06b0f7d6884e743fef61fd53b44507daed3
push id910
push usergszorc@mozilla.com
push dateMon, 10 Sep 2018 16:58:43 +0000
phase: report number of non-public changeset alongside the new range When interacting with non-publishing repository or bundle, it is useful to have some information about the phase of the changeset we just pulled. This changeset updates the "new changesets MIN:MAX" output to also includes phases information for non-public changesets. Displaying extra data about non-public changesets means the output for exchange with publishing repository (the default) is unaffected.
mercurial/scmutil.py
tests/test-audit-path.t
tests/test-bookmarks-pushpull.t
tests/test-bookmarks.t
tests/test-branches.t
tests/test-bundle-r.t
tests/test-bundle-type.t
tests/test-bundle.t
tests/test-bundle2-exchange.t
tests/test-bundle2-format.t
tests/test-bundle2-remote-changegroup.t
tests/test-censor.t
tests/test-encoding.t
tests/test-exchange-obsmarkers-case-A1.t
tests/test-exchange-obsmarkers-case-A2.t
tests/test-exchange-obsmarkers-case-A3.t
tests/test-exchange-obsmarkers-case-A4.t
tests/test-exchange-obsmarkers-case-A5.t
tests/test-exchange-obsmarkers-case-B3.t
tests/test-exchange-obsmarkers-case-B5.t
tests/test-exchange-obsmarkers-case-C2.t
tests/test-exchange-obsmarkers-case-D1.t
tests/test-exchange-obsmarkers-case-D4.t
tests/test-glog-topological.t
tests/test-graft.t
tests/test-histedit-base.t
tests/test-histedit-commute.t
tests/test-http-clone-r.t
tests/test-incoming-outgoing.t
tests/test-infinitepush-bundlestore.t
tests/test-infinitepush-ci.t
tests/test-infinitepush.t
tests/test-keyword.t
tests/test-largefiles-misc.t
tests/test-largefiles-update.t
tests/test-largefiles-wireproto.t
tests/test-largefiles.t
tests/test-manifest.t
tests/test-mq-pull-from-bundle.t
tests/test-mq.t
tests/test-notify-changegroup.t
tests/test-obsmarker-template.t
tests/test-obsolete-bundle-strip.t
tests/test-obsolete-distributed.t
tests/test-obsolete.t
tests/test-phases-exchange.t
tests/test-pull-bundle.t
tests/test-push-checkheads-partial-C1.t
tests/test-push-checkheads-partial-C2.t
tests/test-push-checkheads-partial-C3.t
tests/test-push-checkheads-partial-C4.t
tests/test-push-checkheads-pruned-B2.t
tests/test-push-checkheads-pruned-B3.t
tests/test-push-checkheads-pruned-B4.t
tests/test-push-checkheads-pruned-B5.t
tests/test-push-checkheads-pruned-B8.t
tests/test-push-checkheads-superceed-A2.t
tests/test-push-checkheads-superceed-A3.t
tests/test-push-checkheads-superceed-A6.t
tests/test-push-checkheads-superceed-A7.t
tests/test-push-checkheads-unpushed-D2.t
tests/test-push-checkheads-unpushed-D3.t
tests/test-push-checkheads-unpushed-D4.t
tests/test-push-checkheads-unpushed-D5.t
tests/test-push-race.t
tests/test-push.t
tests/test-rebase-collapse.t
tests/test-rebase-conflicts.t
tests/test-rebase-named-branches.t
tests/test-rebase-obsolete.t
tests/test-rebase-parameters.t
tests/test-rebase-scenario-global.t
tests/test-ssh-clone-r.t
tests/test-strip.t
tests/test-symlink-os-yes-fs-no.py.out
tests/test-treemanifest.t
tests/test-unionrepo.t
--- a/mercurial/scmutil.py
+++ b/mercurial/scmutil.py
@@ -1629,17 +1629,32 @@ def registersummarycallback(repo, otr, t
                 # Got only obsoletes.
                 return
             minrev, maxrev = repo[revs.min()], repo[revs.max()]
 
             if minrev == maxrev:
                 revrange = minrev
             else:
                 revrange = '%s:%s' % (minrev, maxrev)
-            repo.ui.status(_('new changesets %s\n') % revrange)
+            draft = len(repo.revs('%ld and draft()', revs))
+            secret = len(repo.revs('%ld and secret()', revs))
+            if not (draft or secret):
+                msg = _('new changesets %s\n') % revrange
+            elif draft and secret:
+                msg = _('new changesets %s (%d drafts, %d secrets)\n')
+                msg %= (revrange, draft, secret)
+            elif draft:
+                msg = _('new changesets %s (%d drafts)\n')
+                msg %= (revrange, draft)
+            elif secret:
+                msg = _('new changesets %s (%d secrets)\n')
+                msg %= (revrange, secret)
+            else:
+                raise error.ProgrammingError('entered unreachable condition')
+            repo.ui.status(msg)
 
         @reportsummary
         def reportphasechanges(repo, tr):
             """Report statistics of phase changes for changesets pre-existing
             pull/unbundle.
             """
             origrepolen = tr.changes.get('origrepolen', len(repo))
             phasetracking = tr.changes.get('phases', {})
--- a/tests/test-audit-path.t
+++ b/tests/test-audit-path.t
@@ -77,17 +77,17 @@ unbundle tampered bundle
 
   $ hg init target
   $ cd target
   $ hg unbundle "$TESTDIR/bundles/tampered.hg"
   adding changesets
   adding manifests
   adding file changes
   added 5 changesets with 6 changes to 6 files (+4 heads)
-  new changesets b7da9bf6b037:fc1393d727bc
+  new changesets b7da9bf6b037:fc1393d727bc (5 drafts)
   (run 'hg heads' to see heads, 'hg merge' to merge)
 
 attack .hg/test
 
   $ hg manifest -r0
   .hg/test
   $ hg update -Cr0
   abort: path contains illegal component: .hg/test
--- a/tests/test-bookmarks-pushpull.t
+++ b/tests/test-bookmarks-pushpull.t
@@ -50,17 +50,17 @@ import bookmark by name
   requesting all changes
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
   adding remote bookmark X
   updating bookmark Y
   adding remote bookmark Z
-  new changesets 4e3505fd9583
+  new changesets 4e3505fd9583 (1 drafts)
   test-hook-bookmark: X:   -> 4e3505fd95835d721066b76e75dbb8cc554d7f77
   test-hook-bookmark: Y:  0000000000000000000000000000000000000000 -> 4e3505fd95835d721066b76e75dbb8cc554d7f77
   test-hook-bookmark: Z:   -> 4e3505fd95835d721066b76e75dbb8cc554d7f77
   (run 'hg update' to get a working copy)
   $ hg bookmarks
      X                         0:4e3505fd9583
    * Y                         0:4e3505fd9583
      Z                         0:4e3505fd9583
@@ -413,17 +413,17 @@ divergent bookmarks
   searching for changes
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files (+1 heads)
   divergent bookmark @ stored as @foo
   divergent bookmark X stored as X@foo
   updating bookmark Z
-  new changesets 0d2164f0ce0d
+  new changesets 0d2164f0ce0d (1 drafts)
   test-hook-bookmark: @foo:   -> 0d2164f0ce0d8f1d6f94351eba04b794909be66c
   test-hook-bookmark: X@foo:   -> 0d2164f0ce0d8f1d6f94351eba04b794909be66c
   test-hook-bookmark: Z:  4e3505fd95835d721066b76e75dbb8cc554d7f77 -> 0d2164f0ce0d8f1d6f94351eba04b794909be66c
   (run 'hg heads' to see heads, 'hg merge' to merge)
   $ hg book
      @                         1:9b140be10808
      @foo                      2:0d2164f0ce0d
      X                         1:9b140be10808
@@ -577,17 +577,17 @@ race conditions
   $ hg pull
   pulling from http://localhost:$HGPORT/
   searching for changes
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
   updating bookmark Y
-  new changesets b0a5eff05604
+  new changesets b0a5eff05604 (1 drafts)
   (run 'hg update' to get a working copy)
   $ hg book
    * @                         1:0d2164f0ce0d
      X                         1:0d2164f0ce0d
      Y                         4:b0a5eff05604
      Z                         1:0d2164f0ce0d
 
 Update a bookmark right after the initial lookup -B (issue4689)
@@ -627,17 +627,17 @@ Update a bookmark right after the initia
   $ hg pull -B .
   pulling from http://localhost:$HGPORT/
   searching for changes
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
   updating bookmark Y
-  new changesets 35d1ef0a8d1b
+  new changesets 35d1ef0a8d1b (1 drafts)
   (run 'hg update' to get a working copy)
   $ hg book
      @                         1:0d2164f0ce0d
      X                         1:0d2164f0ce0d
    * Y                         5:35d1ef0a8d1b
      Z                         1:0d2164f0ce0d
 
 (done with this section of the test)
@@ -791,17 +791,17 @@ hgweb
   adding remote bookmark foobar
   $ hg clone http://localhost:$HGPORT/ cloned-bookmarks
   requesting all changes
   adding changesets
   adding manifests
   adding file changes
   added 5 changesets with 5 changes to 3 files (+2 heads)
   2 new obsolescence markers
-  new changesets 4e3505fd9583:c922c0139ca0
+  new changesets 4e3505fd9583:c922c0139ca0 (5 drafts)
   updating to bookmark @
   2 files updated, 0 files merged, 0 files removed, 0 files unresolved
   $ hg -R cloned-bookmarks bookmarks
    * @                         1:9b140be10808
      X                         1:9b140be10808
      Y                         4:c922c0139ca0
      Z                         2:0d2164f0ce0d
      foo                       -1:000000000000
@@ -928,17 +928,17 @@ Pushing a bookmark should only push the 
 bookmark, not all outgoing changes:
   $ hg clone http://localhost:$HGPORT/ addmarks
   requesting all changes
   adding changesets
   adding manifests
   adding file changes
   added 5 changesets with 5 changes to 3 files (+2 heads)
   2 new obsolescence markers
-  new changesets 4e3505fd9583:c922c0139ca0
+  new changesets 4e3505fd9583:c922c0139ca0 (5 drafts)
   updating to bookmark @
   2 files updated, 0 files merged, 0 files removed, 0 files unresolved
   $ cd addmarks
   $ echo foo > foo
   $ hg add foo
   $ hg commit -m 'add foo'
   $ echo bar > bar
   $ hg add bar
@@ -1220,17 +1220,17 @@ Test that pre-pushkey compat for bookmar
   $ hg -R server commit -Am a
   adding a
   $ hg clone ssh://user@dummy/server client
   requesting all changes
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
-  new changesets 79513d0d7716
+  new changesets 79513d0d7716 (1 drafts)
   updating to branch default
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
 
 Forbid bookmark move on the server
 
   $ cat << EOF >> $TESTDIR/no-bm-move.sh
   > #!/bin/sh
   > echo \$HG_NAMESPACE | grep -v bookmarks
--- a/tests/test-bookmarks.t
+++ b/tests/test-bookmarks.t
@@ -689,17 +689,17 @@ create bundle with two heads
   $ hg -R tobundle bundle tobundle.hg
   searching for changes
   2 changesets found
   $ hg unbundle tobundle.hg
   adding changesets
   adding manifests
   adding file changes
   added 2 changesets with 2 changes to 2 files (+1 heads)
-  new changesets 125c9a1d6df6:9ba5f110a0b3
+  new changesets 125c9a1d6df6:9ba5f110a0b3 (2 drafts)
   (run 'hg heads' to see heads, 'hg merge' to merge)
 
 update to active bookmark if it's not the parent
 
 (it is known issue that fsmonitor can't handle nested repositories. In
 this test scenario, cloned-bookmark-default and tobundle exist in the
 working directory of current repository)
 
--- a/tests/test-branches.t
+++ b/tests/test-branches.t
@@ -86,17 +86,17 @@ verify update will accept invalid legacy
 
   $ hg init test-invalid-branch-name
   $ cd test-invalid-branch-name
   $ hg unbundle -u "$TESTDIR"/bundles/test-invalid-branch-name.hg
   adding changesets
   adding manifests
   adding file changes
   added 3 changesets with 3 changes to 2 files
-  new changesets f0e4c7f04036:33c2ceb9310b
+  new changesets f0e4c7f04036:33c2ceb9310b (3 drafts)
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
 
   $ hg update '"colon:test"'
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   $ cd ..
 
   $ echo 'd' >d
   $ hg add d
--- a/tests/test-bundle-r.t
+++ b/tests/test-bundle-r.t
@@ -1,16 +1,16 @@
   $ hg init test
   $ cd test
   $ hg unbundle "$TESTDIR/bundles/remote.hg"
   adding changesets
   adding manifests
   adding file changes
   added 9 changesets with 7 changes to 4 files (+1 heads)
-  new changesets bfaf4b5cbf01:916f1afdef90
+  new changesets bfaf4b5cbf01:916f1afdef90 (9 drafts)
   (run 'hg heads' to see heads, 'hg merge' to merge)
   $ hg up tip
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   $ cd ..
 
   $ for i in 0 1 2 3 4 5 6 7 8; do
   >    mkdir test-"$i"
   >    hg --cwd test-"$i" init
@@ -22,129 +22,129 @@
   >    cd ..
   > done
   searching for changes
   1 changesets found
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
-  new changesets bfaf4b5cbf01
+  new changesets bfaf4b5cbf01 (1 drafts)
   (run 'hg update' to get a working copy)
   checking changesets
   checking manifests
   crosschecking files in changesets and manifests
   checking files
   1 files, 1 changesets, 1 total revisions
   0:bfaf4b5cbf01
   searching for changes
   2 changesets found
   adding changesets
   adding manifests
   adding file changes
   added 2 changesets with 2 changes to 1 files
-  new changesets bfaf4b5cbf01:21f32785131f
+  new changesets bfaf4b5cbf01:21f32785131f (2 drafts)
   (run 'hg update' to get a working copy)
   checking changesets
   checking manifests
   crosschecking files in changesets and manifests
   checking files
   1 files, 2 changesets, 2 total revisions
   1:21f32785131f
   searching for changes
   3 changesets found
   adding changesets
   adding manifests
   adding file changes
   added 3 changesets with 3 changes to 1 files
-  new changesets bfaf4b5cbf01:4ce51a113780
+  new changesets bfaf4b5cbf01:4ce51a113780 (3 drafts)
   (run 'hg update' to get a working copy)
   checking changesets
   checking manifests
   crosschecking files in changesets and manifests
   checking files
   1 files, 3 changesets, 3 total revisions
   2:4ce51a113780
   searching for changes
   4 changesets found
   adding changesets
   adding manifests
   adding file changes
   added 4 changesets with 4 changes to 1 files
-  new changesets bfaf4b5cbf01:93ee6ab32777
+  new changesets bfaf4b5cbf01:93ee6ab32777 (4 drafts)
   (run 'hg update' to get a working copy)
   checking changesets
   checking manifests
   crosschecking files in changesets and manifests
   checking files
   1 files, 4 changesets, 4 total revisions
   3:93ee6ab32777
   searching for changes
   2 changesets found
   adding changesets
   adding manifests
   adding file changes
   added 2 changesets with 2 changes to 1 files
-  new changesets bfaf4b5cbf01:c70afb1ee985
+  new changesets bfaf4b5cbf01:c70afb1ee985 (2 drafts)
   (run 'hg update' to get a working copy)
   checking changesets
   checking manifests
   crosschecking files in changesets and manifests
   checking files
   1 files, 2 changesets, 2 total revisions
   1:c70afb1ee985
   searching for changes
   3 changesets found
   adding changesets
   adding manifests
   adding file changes
   added 3 changesets with 3 changes to 1 files
-  new changesets bfaf4b5cbf01:f03ae5a9b979
+  new changesets bfaf4b5cbf01:f03ae5a9b979 (3 drafts)
   (run 'hg update' to get a working copy)
   checking changesets
   checking manifests
   crosschecking files in changesets and manifests
   checking files
   1 files, 3 changesets, 3 total revisions
   2:f03ae5a9b979
   searching for changes
   4 changesets found
   adding changesets
   adding manifests
   adding file changes
   added 4 changesets with 5 changes to 2 files
-  new changesets bfaf4b5cbf01:095cb14b1b4d
+  new changesets bfaf4b5cbf01:095cb14b1b4d (4 drafts)
   (run 'hg update' to get a working copy)
   checking changesets
   checking manifests
   crosschecking files in changesets and manifests
   checking files
   2 files, 4 changesets, 5 total revisions
   3:095cb14b1b4d
   searching for changes
   5 changesets found
   adding changesets
   adding manifests
   adding file changes
   added 5 changesets with 6 changes to 3 files
-  new changesets bfaf4b5cbf01:faa2e4234c7a
+  new changesets bfaf4b5cbf01:faa2e4234c7a (5 drafts)
   (run 'hg update' to get a working copy)
   checking changesets
   checking manifests
   crosschecking files in changesets and manifests
   checking files
   3 files, 5 changesets, 6 total revisions
   4:faa2e4234c7a
   searching for changes
   5 changesets found
   adding changesets
   adding manifests
   adding file changes
   added 5 changesets with 5 changes to 2 files
-  new changesets bfaf4b5cbf01:916f1afdef90
+  new changesets bfaf4b5cbf01:916f1afdef90 (5 drafts)
   (run 'hg update' to get a working copy)
   checking changesets
   checking manifests
   crosschecking files in changesets and manifests
   checking files
   2 files, 5 changesets, 5 total revisions
   4:916f1afdef90
   $ cd test-8
@@ -230,17 +230,17 @@ revision 2
 
   $ hg tip -q
   2:4ce51a113780
   $ hg unbundle ../test-bundle-all.hg
   adding changesets
   adding manifests
   adding file changes
   added 6 changesets with 4 changes to 4 files (+1 heads)
-  new changesets 93ee6ab32777:916f1afdef90
+  new changesets 93ee6ab32777:916f1afdef90 (6 drafts)
   (run 'hg heads' to see heads, 'hg merge' to merge)
 
 revision 8
 
   $ hg tip -q
   8:916f1afdef90
   $ hg verify
   checking changesets
@@ -255,17 +255,17 @@ revision 2
 
   $ hg tip -q
   2:4ce51a113780
   $ hg unbundle ../test-bundle-branch1.hg
   adding changesets
   adding manifests
   adding file changes
   added 2 changesets with 2 changes to 2 files
-  new changesets 93ee6ab32777:916f1afdef90
+  new changesets 93ee6ab32777:916f1afdef90 (2 drafts)
   (run 'hg update' to get a working copy)
 
 revision 4
 
   $ hg tip -q
   4:916f1afdef90
   $ hg verify
   checking changesets
@@ -275,17 +275,17 @@ revision 4
   2 files, 5 changesets, 5 total revisions
   $ hg rollback
   repository tip rolled back to revision 2 (undo unbundle)
   $ hg unbundle ../test-bundle-branch2.hg
   adding changesets
   adding manifests
   adding file changes
   added 4 changesets with 3 changes to 3 files (+1 heads)
-  new changesets c70afb1ee985:faa2e4234c7a
+  new changesets c70afb1ee985:faa2e4234c7a (4 drafts)
   (run 'hg heads' to see heads, 'hg merge' to merge)
 
 revision 6
 
   $ hg tip -q
   6:faa2e4234c7a
   $ hg verify
   checking changesets
@@ -295,17 +295,17 @@ revision 6
   3 files, 7 changesets, 6 total revisions
   $ hg rollback
   repository tip rolled back to revision 2 (undo unbundle)
   $ hg unbundle ../test-bundle-cset-7.hg
   adding changesets
   adding manifests
   adding file changes
   added 2 changesets with 2 changes to 2 files
-  new changesets 93ee6ab32777:916f1afdef90
+  new changesets 93ee6ab32777:916f1afdef90 (2 drafts)
   (run 'hg update' to get a working copy)
 
 revision 4
 
   $ hg tip -q
   4:916f1afdef90
   $ hg verify
   checking changesets
@@ -329,17 +329,17 @@ revision 4
   updating to branch default
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   $ cd test-10
   $ hg unbundle ../test-bundle-head.hg
   adding changesets
   adding manifests
   adding file changes
   added 7 changesets with 4 changes to 4 files
-  new changesets 93ee6ab32777:03fc0b0e347c
+  new changesets 93ee6ab32777:03fc0b0e347c (7 drafts)
   (run 'hg update' to get a working copy)
 
 revision 9
 
   $ hg tip -q
   9:03fc0b0e347c
   $ hg verify
   checking changesets
--- a/tests/test-bundle-type.t
+++ b/tests/test-bundle-type.t
@@ -13,17 +13,17 @@ bundle w/o type option
   1 changesets found
 
   $ cd ../t2
   $ hg unbundle ../b1
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
-  new changesets c35a0f9217e6
+  new changesets c35a0f9217e6 (1 drafts)
   (run 'hg update' to get a working copy)
   $ hg up
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   $ hg log | grep summary
   summary:     a
   $ cd ..
 
 Unknown compression type is rejected
--- a/tests/test-bundle.t
+++ b/tests/test-bundle.t
@@ -95,34 +95,34 @@ Pull full.hg into empty (using --cwd)
 
   $ hg --cwd empty pull ../full.hg
   pulling from ../full.hg
   requesting all changes
   adding changesets
   adding manifests
   adding file changes
   added 9 changesets with 7 changes to 4 files (+1 heads)
-  new changesets f9ee2f85a263:aa35859c02ea
+  new changesets f9ee2f85a263:aa35859c02ea (9 drafts)
   (run 'hg heads' to see heads, 'hg merge' to merge)
 
 Rollback empty
 
   $ hg -R empty rollback
   repository tip rolled back to revision -1 (undo pull)
 
 Pull full.hg into empty again (using --cwd)
 
   $ hg --cwd empty pull ../full.hg
   pulling from ../full.hg
   requesting all changes
   adding changesets
   adding manifests
   adding file changes
   added 9 changesets with 7 changes to 4 files (+1 heads)
-  new changesets f9ee2f85a263:aa35859c02ea
+  new changesets f9ee2f85a263:aa35859c02ea (9 drafts)
   (run 'hg heads' to see heads, 'hg merge' to merge)
 
 Pull full.hg into test (using -R)
 
   $ hg -R test pull full.hg
   pulling from full.hg
   searching for changes
   no changes found
@@ -143,17 +143,17 @@ Pull full.hg into empty again (using -R)
 
   $ hg -R empty pull full.hg
   pulling from full.hg
   requesting all changes
   adding changesets
   adding manifests
   adding file changes
   added 9 changesets with 7 changes to 4 files (+1 heads)
-  new changesets f9ee2f85a263:aa35859c02ea
+  new changesets f9ee2f85a263:aa35859c02ea (9 drafts)
   (run 'hg heads' to see heads, 'hg merge' to merge)
 
 Log -R full.hg in fresh empty
 
   $ rm -r empty
   $ hg init empty
   $ cd empty
   $ hg -R bundle://../full.hg log
@@ -226,17 +226,17 @@ hg -R bundle://../full.hg verify
 
   $ hg pull bundle://../full.hg
   pulling from bundle:../full.hg
   requesting all changes
   adding changesets
   adding manifests
   adding file changes
   added 9 changesets with 7 changes to 4 files (+1 heads)
-  new changesets f9ee2f85a263:aa35859c02ea
+  new changesets f9ee2f85a263:aa35859c02ea (9 drafts)
   changegroup hook: HG_HOOKNAME=changegroup HG_HOOKTYPE=changegroup HG_NODE=f9ee2f85a263049e9ae6d37a0e67e96194ffb735 HG_NODE_LAST=aa35859c02ea8bd48da5da68cd2740ac71afcbaf HG_SOURCE=pull HG_TXNID=TXN:$ID$ HG_URL=bundle*../full.hg (glob)
   (run 'hg heads' to see heads, 'hg merge' to merge)
 
 Rollback empty
 
   $ hg rollback
   repository tip rolled back to revision -1 (undo pull)
   $ cd ..
@@ -250,17 +250,17 @@ Pull full.hg into empty again (using -R;
 
   $ hg -R empty pull full.hg
   pulling from full.hg
   requesting all changes
   adding changesets
   adding manifests
   adding file changes
   added 9 changesets with 7 changes to 4 files (+1 heads)
-  new changesets f9ee2f85a263:aa35859c02ea
+  new changesets f9ee2f85a263:aa35859c02ea (9 drafts)
   changegroup hook: HG_HOOKNAME=changegroup HG_HOOKTYPE=changegroup HG_NODE=f9ee2f85a263049e9ae6d37a0e67e96194ffb735 HG_NODE_LAST=aa35859c02ea8bd48da5da68cd2740ac71afcbaf HG_SOURCE=pull HG_TXNID=TXN:$ID$ HG_URL=bundle:empty+full.hg
   (run 'hg heads' to see heads, 'hg merge' to merge)
 
 #endif
 
 Cannot produce streaming clone bundles with "hg bundle"
 
   $ hg -R test bundle -t packed1 packed.hg
@@ -551,17 +551,17 @@ Direct clone from bundle (all-history)
 #if repobundlerepo
 
   $ hg clone full.hg full-clone
   requesting all changes
   adding changesets
   adding manifests
   adding file changes
   added 9 changesets with 7 changes to 4 files (+1 heads)
-  new changesets f9ee2f85a263:aa35859c02ea
+  new changesets f9ee2f85a263:aa35859c02ea (9 drafts)
   updating to branch default
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   $ hg -R full-clone heads
   changeset:   8:aa35859c02ea
   tag:         tip
   parent:      3:eebf5a27f8ca
   user:        test
   date:        Thu Jan 01 00:00:00 1970 +0000
@@ -591,22 +591,22 @@ Unbundle incremental bundles into fresh 
   1 changesets found
   $ hg -R test bundle --base 0    -r 1 ../1.hg
   1 changesets found
   $ hg -R empty unbundle -u ../0.hg ../1.hg
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
-  new changesets f9ee2f85a263
+  new changesets f9ee2f85a263 (1 drafts)
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
-  new changesets 34c2bf6b0626
+  new changesets 34c2bf6b0626 (1 drafts)
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
 
 View full contents of the bundle
   $ hg -R test bundle --base null -r 3  ../partial.hg
   4 changesets found
   $ cd test
   $ hg -R ../../partial.hg log -r "bundle()"
   changeset:   0:f9ee2f85a263
--- a/tests/test-bundle2-exchange.t
+++ b/tests/test-bundle2-exchange.t
@@ -55,17 +55,17 @@ The extension requires a repo (currently
   txnclose hook: HG_HOOKNAME=txnclose.env HG_HOOKTYPE=txnclose HG_PHASES_MOVED=1 HG_TXNID=TXN:$ID$ HG_TXNNAME=commit
 
   $ hg unbundle $TESTDIR/bundles/rebase.hg
   adding changesets
   adding manifests
   adding file changes
   added 8 changesets with 7 changes to 7 files (+3 heads)
   pre-close-tip:02de42196ebe draft 
-  new changesets cd010b8cd998:02de42196ebe
+  new changesets cd010b8cd998:02de42196ebe (8 drafts)
   postclose-tip:02de42196ebe draft 
   txnclose hook: HG_HOOKNAME=txnclose.env HG_HOOKTYPE=txnclose HG_NODE=cd010b8cd998f3981a5a8115f94f8da4ab506089 HG_NODE_LAST=02de42196ebee42ef284b6780a87cdc96e8eaab6 HG_PHASES_MOVED=1 HG_SOURCE=unbundle HG_TXNID=TXN:$ID$ HG_TXNNAME=unbundle
   bundle:*/tests/bundles/rebase.hg HG_URL=bundle:*/tests/bundles/rebase.hg (glob)
   (run 'hg heads' to see heads, 'hg merge' to merge)
 
   $ cd ..
 
 Real world exchange
@@ -90,17 +90,17 @@ clone --pull
   txnclose hook: HG_HOOKNAME=txnclose.env HG_HOOKTYPE=txnclose HG_PHASES_MOVED=1 HG_TXNID=TXN:$ID$ HG_TXNNAME=phase
   $ hg clone main other --pull --rev 9520eea781bc
   adding changesets
   adding manifests
   adding file changes
   added 2 changesets with 2 changes to 2 files
   1 new obsolescence markers
   pre-close-tip:9520eea781bc draft 
-  new changesets cd010b8cd998:9520eea781bc
+  new changesets cd010b8cd998:9520eea781bc (1 drafts)
   postclose-tip:9520eea781bc draft 
   txnclose hook: HG_HOOKNAME=txnclose.env HG_HOOKTYPE=txnclose HG_NEW_OBSMARKERS=1 HG_NODE=cd010b8cd998f3981a5a8115f94f8da4ab506089 HG_NODE_LAST=9520eea781bcca16c1e15acc0ba14335a0e8e5ba HG_PHASES_MOVED=1 HG_SOURCE=pull HG_TXNID=TXN:$ID$ HG_TXNNAME=pull
   file:/*/$TESTTMP/main HG_URL=file:$TESTTMP/main (glob)
   updating to branch default
   2 files updated, 0 files merged, 0 files removed, 0 files unresolved
   $ hg -R other log -G
   @  1:9520eea781bc draft Nicolas Dumazet <nicdumz.commits@gmail.com>  E
   |
@@ -119,17 +119,17 @@ pull
   pulling from $TESTTMP/main
   searching for changes
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files (+1 heads)
   1 new obsolescence markers
   pre-close-tip:24b6387c8c8c draft 
-  new changesets 24b6387c8c8c
+  new changesets 24b6387c8c8c (1 drafts)
   postclose-tip:24b6387c8c8c draft 
   txnclose hook: HG_HOOKNAME=txnclose.env HG_HOOKTYPE=txnclose HG_NEW_OBSMARKERS=1 HG_NODE=24b6387c8c8cae37178880f3fa95ded3cb1cf785 HG_NODE_LAST=24b6387c8c8cae37178880f3fa95ded3cb1cf785 HG_PHASES_MOVED=1 HG_SOURCE=pull HG_TXNID=TXN:$ID$ HG_TXNNAME=pull
   file:/*/$TESTTMP/main HG_URL=file:$TESTTMP/main (glob)
   (run 'hg heads' to see heads, 'hg merge' to merge)
   $ hg -R other log -G
   o  2:24b6387c8c8c draft Nicolas Dumazet <nicdumz.commits@gmail.com>  F
   |
   | @  1:9520eea781bc draft Nicolas Dumazet <nicdumz.commits@gmail.com>  E
@@ -295,17 +295,17 @@ pull over ssh
   searching for changes
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files (+1 heads)
   1 new obsolescence markers
   updating bookmark book_02de
   pre-close-tip:02de42196ebe draft book_02de
-  new changesets 02de42196ebe
+  new changesets 02de42196ebe (1 drafts)
   postclose-tip:02de42196ebe draft book_02de
   txnclose hook: HG_BOOKMARK_MOVED=1 HG_HOOKNAME=txnclose.env HG_HOOKTYPE=txnclose HG_NEW_OBSMARKERS=1 HG_NODE=02de42196ebee42ef284b6780a87cdc96e8eaab6 HG_NODE_LAST=02de42196ebee42ef284b6780a87cdc96e8eaab6 HG_PHASES_MOVED=1 HG_SOURCE=pull HG_TXNID=TXN:$ID$ HG_TXNNAME=pull
   ssh://user@dummy/main HG_URL=ssh://user@dummy/main
   (run 'hg heads' to see heads, 'hg merge' to merge)
   $ hg -R other debugobsolete
   1111111111111111111111111111111111111111 9520eea781bcca16c1e15acc0ba14335a0e8e5ba 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
   2222222222222222222222222222222222222222 24b6387c8c8cae37178880f3fa95ded3cb1cf785 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
   3333333333333333333333333333333333333333 eea13746799a9e0bfd88f29d3c2e9dc9389f524f 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
@@ -321,17 +321,17 @@ pull over http
   searching for changes
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files (+1 heads)
   1 new obsolescence markers
   updating bookmark book_42cc
   pre-close-tip:42ccdea3bb16 draft book_42cc
-  new changesets 42ccdea3bb16
+  new changesets 42ccdea3bb16 (1 drafts)
   postclose-tip:42ccdea3bb16 draft book_42cc
   txnclose hook: HG_BOOKMARK_MOVED=1 HG_HOOKNAME=txnclose.env HG_HOOKTYPE=txnclose HG_NEW_OBSMARKERS=1 HG_NODE=42ccdea3bb16d28e1848c95fe2e44c000f3f21b1 HG_NODE_LAST=42ccdea3bb16d28e1848c95fe2e44c000f3f21b1 HG_PHASES_MOVED=1 HG_SOURCE=pull HG_TXNID=TXN:$ID$ HG_TXNNAME=pull
   http://localhost:$HGPORT/ HG_URL=http://localhost:$HGPORT/
   (run 'hg heads .' to see heads, 'hg merge' to merge)
   $ cat main-error.log
   $ hg -R other debugobsolete
   1111111111111111111111111111111111111111 9520eea781bcca16c1e15acc0ba14335a0e8e5ba 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
   2222222222222222222222222222222222222222 24b6387c8c8cae37178880f3fa95ded3cb1cf785 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
--- a/tests/test-bundle2-format.t
+++ b/tests/test-bundle2-format.t
@@ -830,17 +830,17 @@ Test push race detection
 Support for changegroup
 ===================================
 
   $ hg unbundle $TESTDIR/bundles/rebase.hg
   adding changesets
   adding manifests
   adding file changes
   added 8 changesets with 7 changes to 7 files (+3 heads)
-  new changesets cd010b8cd998:02de42196ebe
+  new changesets cd010b8cd998:02de42196ebe (8 drafts)
   (run 'hg heads' to see heads, 'hg merge' to merge)
 
   $ hg log -G
   o  8:02de42196ebe draft Nicolas Dumazet <nicdumz.commits@gmail.com>  H
   |
   | o  7:eea13746799a draft Nicolas Dumazet <nicdumz.commits@gmail.com>  G
   |/|
   o |  6:24b6387c8c8c draft Nicolas Dumazet <nicdumz.commits@gmail.com>  F
--- a/tests/test-bundle2-remote-changegroup.t
+++ b/tests/test-bundle2-remote-changegroup.t
@@ -101,17 +101,17 @@ Start a simple HTTP server to serve bund
 
   $ hg init repo
 
   $ hg -R repo unbundle $TESTDIR/bundles/rebase.hg
   adding changesets
   adding manifests
   adding file changes
   added 8 changesets with 7 changes to 7 files (+2 heads)
-  new changesets cd010b8cd998:02de42196ebe
+  new changesets cd010b8cd998:02de42196ebe (8 drafts)
   (run 'hg heads' to see heads, 'hg merge' to merge)
 
   $ hg -R repo log -G
   o  7:02de42196ebe draft Nicolas Dumazet <nicdumz.commits@gmail.com>  H
   |
   | o  6:eea13746799a draft Nicolas Dumazet <nicdumz.commits@gmail.com>  G
   |/|
   o |  5:24b6387c8c8c draft Nicolas Dumazet <nicdumz.commits@gmail.com>  F
--- a/tests/test-censor.t
+++ b/tests/test-censor.t
@@ -421,17 +421,17 @@ Censored nodes can be bundled up and unb
   $ hg bundle --base 0 ../pwbundle
   13 changesets found
   $ cd ../rclone
   $ hg unbundle ../pwbundle
   adding changesets
   adding manifests
   adding file changes
   added 2 changesets with 2 changes to 2 files (+1 heads)
-  new changesets 075be80ac777:dcbaf17bf3a1
+  new changesets 075be80ac777:dcbaf17bf3a1 (2 drafts)
   (run 'hg heads .' to see heads, 'hg merge' to merge)
   $ hg cat -r $REV target
   $ hg cat -r $CLEANREV target
   Re-sanitized; nothing to see here
   $ hg update $CLEANREV
   2 files updated, 0 files merged, 0 files removed, 0 files unresolved
   $ cat target
   Re-sanitized; nothing to see here
@@ -456,17 +456,17 @@ Censored nodes can be imported on top of
   added 8 changesets with 10 changes to 2 files (+1 heads)
   new changesets e97f55b2665a:dcbaf17bf3a1
   (run 'hg heads' to see heads, 'hg merge' to merge)
   $ hg unbundle splitbundle
   adding changesets
   adding manifests
   adding file changes
   added 6 changesets with 5 changes to 2 files (+1 heads)
-  new changesets efbe78065929:683e4645fded
+  new changesets efbe78065929:683e4645fded (6 drafts)
   (run 'hg heads .' to see heads, 'hg merge' to merge)
   $ hg update $H2
   2 files updated, 0 files merged, 0 files removed, 0 files unresolved
   $ cat target
   Re-sanitized; nothing to see here
   $ hg verify
   checking changesets
   checking manifests
@@ -482,11 +482,11 @@ Can import bundle where first revision o
   $ hg bundle -r 0 --base null ../rinit/initbundle
   1 changesets found
   $ cd ../rinit
   $ hg unbundle initbundle
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 2 changes to 2 files
-  new changesets e97f55b2665a
+  new changesets e97f55b2665a (1 drafts)
   (run 'hg update' to get a working copy)
   $ hg cat -r 0 target
--- a/tests/test-encoding.t
+++ b/tests/test-encoding.t
@@ -5,17 +5,17 @@ Test character encoding
 
 we need a repo with some legacy latin-1 changesets
 
   $ hg unbundle "$TESTDIR/bundles/legacy-encoding.hg"
   adding changesets
   adding manifests
   adding file changes
   added 2 changesets with 2 changes to 1 files
-  new changesets 1e78a93102a3:0e5b7e3f9c4a
+  new changesets 1e78a93102a3:0e5b7e3f9c4a (2 drafts)
   (run 'hg update' to get a working copy)
   $ hg co
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   $ $PYTHON << EOF
   > f = open('latin-1', 'wb'); f.write(b"latin-1 e' encoded: \xe9"); f.close()
   > f = open('utf-8', 'wb'); f.write(b"utf-8 e' encoded: \xc3\xa9"); f.close()
   > f = open('latin-1-tag', 'wb'); f.write(b"\xe9"); f.close()
   > EOF
--- a/tests/test-exchange-obsmarkers-case-A1.t
+++ b/tests/test-exchange-obsmarkers-case-A1.t
@@ -98,17 +98,17 @@ Variant a: push -r A
   ## pulling "f5bc6836db60" from main into pulldest
   pulling from main
   searching for changes
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
   1 new obsolescence markers
-  new changesets f5bc6836db60
+  new changesets f5bc6836db60 (1 drafts)
   (run 'hg update' to get a working copy)
   ## post pull state
   # obstore: main
   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
   # obstore: pushdest
   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
   # obstore: pulldest
   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
@@ -140,17 +140,17 @@ Variant b: push
   ## pulling from main into pulldest
   pulling from main
   searching for changes
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
   1 new obsolescence markers
-  new changesets f5bc6836db60
+  new changesets f5bc6836db60 (1 drafts)
   (run 'hg update' to get a working copy)
   ## post pull state
   # obstore: main
   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
   # obstore: pushdest
   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
   # obstore: pulldest
   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
@@ -241,17 +241,17 @@ Variant a: push -r A
   ## pulling "f6fbb35d8ac9" from main into pulldest
   pulling from main
   searching for changes
   adding changesets
   adding manifests
   adding file changes
   added 2 changesets with 2 changes to 2 files
   1 new obsolescence markers
-  new changesets f5bc6836db60:f6fbb35d8ac9
+  new changesets f5bc6836db60:f6fbb35d8ac9 (2 drafts)
   (run 'hg update' to get a working copy)
   ## post pull state
   # obstore: main
   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
   # obstore: pushdest
   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
   # obstore: pulldest
   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
@@ -283,17 +283,17 @@ Variant b: push
   ## pulling from main into pulldest
   pulling from main
   searching for changes
   adding changesets
   adding manifests
   adding file changes
   added 2 changesets with 2 changes to 2 files
   1 new obsolescence markers
-  new changesets f5bc6836db60:f6fbb35d8ac9
+  new changesets f5bc6836db60:f6fbb35d8ac9 (2 drafts)
   (run 'hg update' to get a working copy)
   ## post pull state
   # obstore: main
   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
   # obstore: pushdest
   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
   # obstore: pulldest
   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
--- a/tests/test-exchange-obsmarkers-case-A2.t
+++ b/tests/test-exchange-obsmarkers-case-A2.t
@@ -106,17 +106,17 @@ Actual Test
   ## pulling "f5bc6836db60" from main into pulldest
   pulling from main
   searching for changes
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
   1 new obsolescence markers
-  new changesets f5bc6836db60
+  new changesets f5bc6836db60 (1 drafts)
   (run 'hg update' to get a working copy)
   ## post pull state
   # obstore: main
   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
   bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb 35b1839966785d5703a01607229eea932db42f87 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
   # obstore: pushdest
   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa f5bc6836db60e308a17ba08bf050154ba9c4fad7 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
   # obstore: pulldest
--- a/tests/test-exchange-obsmarkers-case-A3.t
+++ b/tests/test-exchange-obsmarkers-case-A3.t
@@ -126,17 +126,17 @@ Actual Test for first version (changeset
   ## pulling "e5ea8f9c7314" from main into pulldest
   pulling from main
   searching for changes
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
   1 new obsolescence markers
-  new changesets e5ea8f9c7314
+  new changesets e5ea8f9c7314 (1 drafts)
   (run 'hg update' to get a working copy)
   ## post pull state
   # obstore: main
   28b51eb45704506b5c603decd6bf7ac5e0f6a52f e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
   6e72f0a95b5e01a7504743aa941f69cb1fbef8b0 f6298a8ac3a4b78bbeae5f1d3dc5bc3c3812f0f3 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
   # obstore: pushdest
   28b51eb45704506b5c603decd6bf7ac5e0f6a52f e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
   # obstore: pulldest
@@ -233,17 +233,17 @@ test obsmarkers exchange.
   searching for changes
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files (+1 heads)
   1 new obsolescence markers
   obsoleted 1 changesets
   1 new orphan changesets
-  new changesets e5ea8f9c7314
+  new changesets e5ea8f9c7314 (1 drafts)
   (run 'hg heads' to see heads, 'hg merge' to merge)
   ## post pull state
   # obstore: main
   28b51eb45704506b5c603decd6bf7ac5e0f6a52f e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
   6e72f0a95b5e01a7504743aa941f69cb1fbef8b0 f6298a8ac3a4b78bbeae5f1d3dc5bc3c3812f0f3 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
   # obstore: pushdest
   28b51eb45704506b5c603decd6bf7ac5e0f6a52f e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
   # obstore: pulldest
--- a/tests/test-exchange-obsmarkers-case-A4.t
+++ b/tests/test-exchange-obsmarkers-case-A4.t
@@ -113,17 +113,17 @@ Actual Test for first version
   ## pulling "06055a7959d4" from main into pulldest
   pulling from main
   searching for changes
   adding changesets
   adding manifests
   adding file changes
   added 2 changesets with 2 changes to 2 files
   1 new obsolescence markers
-  new changesets 28b51eb45704:06055a7959d4
+  new changesets 28b51eb45704:06055a7959d4 (2 drafts)
   (run 'hg update' to get a working copy)
   ## post pull state
   # obstore: main
   28b51eb45704506b5c603decd6bf7ac5e0f6a52f e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 28b51eb45704506b5c603decd6bf7ac5e0f6a52f 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
   # obstore: pushdest
   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 28b51eb45704506b5c603decd6bf7ac5e0f6a52f 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
   # obstore: pulldest
--- a/tests/test-exchange-obsmarkers-case-A5.t
+++ b/tests/test-exchange-obsmarkers-case-A5.t
@@ -121,17 +121,17 @@ Actual Test
   ## pulling "f6298a8ac3a4" from main into pulldest
   pulling from main
   searching for changes
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
   1 new obsolescence markers
-  new changesets f6298a8ac3a4
+  new changesets f6298a8ac3a4 (1 drafts)
   (run 'hg update' to get a working copy)
   ## post pull state
   # obstore: main
   28b51eb45704506b5c603decd6bf7ac5e0f6a52f 8c0a98c8372212c6efde4bfdcef006f27ff759d3 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
   6e72f0a95b5e01a7504743aa941f69cb1fbef8b0 f6298a8ac3a4b78bbeae5f1d3dc5bc3c3812f0f3 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 28b51eb45704506b5c603decd6bf7ac5e0f6a52f 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
   # obstore: pushdest
   6e72f0a95b5e01a7504743aa941f69cb1fbef8b0 f6298a8ac3a4b78bbeae5f1d3dc5bc3c3812f0f3 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
--- a/tests/test-exchange-obsmarkers-case-B3.t
+++ b/tests/test-exchange-obsmarkers-case-B3.t
@@ -101,16 +101,16 @@ Actual Test
   # obstore: pulldest
   ## pulling "f5bc6836db60" from main into pulldest
   pulling from main
   searching for changes
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
-  new changesets f5bc6836db60
+  new changesets f5bc6836db60 (1 drafts)
   (run 'hg update' to get a working copy)
   ## post pull state
   # obstore: main
   e56289ab6378dc752fd7965f8bf66b58bda740bd 0 {35b1839966785d5703a01607229eea932db42f87} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
   # obstore: pushdest
   # obstore: pulldest
 
--- a/tests/test-exchange-obsmarkers-case-B5.t
+++ b/tests/test-exchange-obsmarkers-case-B5.t
@@ -133,17 +133,17 @@ Actual Test (explicit push version)
   ## pulling "1d0f3cd25300" from main into pulldest
   pulling from main
   searching for changes
   adding changesets
   adding manifests
   adding file changes
   added 3 changesets with 3 changes to 3 files
   1 new obsolescence markers
-  new changesets 28b51eb45704:1d0f3cd25300
+  new changesets 28b51eb45704:1d0f3cd25300 (3 drafts)
   (run 'hg update' to get a working copy)
   ## post pull state
   # obstore: main
   069b05c3876d56f62895e853a501ea58ea85f68d 0 {e5ea8f9c73143125d36658e90ef70c6d2027a5b7} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
   28b51eb45704506b5c603decd6bf7ac5e0f6a52f e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
   6e72f0a95b5e01a7504743aa941f69cb1fbef8b0 069b05c3876d56f62895e853a501ea58ea85f68d 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 6e72f0a95b5e01a7504743aa941f69cb1fbef8b0 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
   # obstore: pushdest
--- a/tests/test-exchange-obsmarkers-case-C2.t
+++ b/tests/test-exchange-obsmarkers-case-C2.t
@@ -114,17 +114,17 @@ Actual Test (explicit push)
   ## pulling "e5ea8f9c7314" from main into pulldest
   pulling from main
   searching for changes
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
   2 new obsolescence markers
-  new changesets e5ea8f9c7314
+  new changesets e5ea8f9c7314 (1 drafts)
   (run 'hg update' to get a working copy)
   ## post pull state
   # obstore: main
   06055a7959d4128e6e3bccfd01482e83a2db8a3a 0 {28b51eb45704506b5c603decd6bf7ac5e0f6a52f} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
   28b51eb45704506b5c603decd6bf7ac5e0f6a52f e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
   # obstore: pushdest
   06055a7959d4128e6e3bccfd01482e83a2db8a3a 0 {28b51eb45704506b5c603decd6bf7ac5e0f6a52f} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
   28b51eb45704506b5c603decd6bf7ac5e0f6a52f e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
@@ -162,17 +162,17 @@ Actual Test (bare push)
   ## pulling from main into pulldest
   pulling from main
   searching for changes
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
   2 new obsolescence markers
-  new changesets e5ea8f9c7314
+  new changesets e5ea8f9c7314 (1 drafts)
   (run 'hg update' to get a working copy)
   ## post pull state
   # obstore: main
   06055a7959d4128e6e3bccfd01482e83a2db8a3a 0 {28b51eb45704506b5c603decd6bf7ac5e0f6a52f} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
   28b51eb45704506b5c603decd6bf7ac5e0f6a52f e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
   # obstore: pushdest
   06055a7959d4128e6e3bccfd01482e83a2db8a3a 0 {28b51eb45704506b5c603decd6bf7ac5e0f6a52f} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
   28b51eb45704506b5c603decd6bf7ac5e0f6a52f e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
--- a/tests/test-exchange-obsmarkers-case-D1.t
+++ b/tests/test-exchange-obsmarkers-case-D1.t
@@ -113,17 +113,17 @@ Actual Test (explicit push)
   ## pulling "e5ea8f9c7314" from main into pulldest
   pulling from main
   searching for changes
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
   2 new obsolescence markers
-  new changesets e5ea8f9c7314
+  new changesets e5ea8f9c7314 (1 drafts)
   (run 'hg update' to get a working copy)
   ## post pull state
   # obstore: main
   06055a7959d4128e6e3bccfd01482e83a2db8a3a 0 {28b51eb45704506b5c603decd6bf7ac5e0f6a52f} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
   28b51eb45704506b5c603decd6bf7ac5e0f6a52f e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
   # obstore: pushdest
   06055a7959d4128e6e3bccfd01482e83a2db8a3a 0 {28b51eb45704506b5c603decd6bf7ac5e0f6a52f} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
   28b51eb45704506b5c603decd6bf7ac5e0f6a52f e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
@@ -161,17 +161,17 @@ Actual Test (base push)
   ## pulling from main into pulldest
   pulling from main
   searching for changes
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
   2 new obsolescence markers
-  new changesets e5ea8f9c7314
+  new changesets e5ea8f9c7314 (1 drafts)
   (run 'hg update' to get a working copy)
   ## post pull state
   # obstore: main
   06055a7959d4128e6e3bccfd01482e83a2db8a3a 0 {28b51eb45704506b5c603decd6bf7ac5e0f6a52f} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
   28b51eb45704506b5c603decd6bf7ac5e0f6a52f e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
   # obstore: pushdest
   06055a7959d4128e6e3bccfd01482e83a2db8a3a 0 {28b51eb45704506b5c603decd6bf7ac5e0f6a52f} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
   28b51eb45704506b5c603decd6bf7ac5e0f6a52f e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
--- a/tests/test-exchange-obsmarkers-case-D4.t
+++ b/tests/test-exchange-obsmarkers-case-D4.t
@@ -121,17 +121,17 @@ Actual Test
   ## pulling "e5ea8f9c7314" from main into pulldest
   pulling from main
   searching for changes
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
   2 new obsolescence markers
-  new changesets e5ea8f9c7314
+  new changesets e5ea8f9c7314 (1 drafts)
   (run 'hg update' to get a working copy)
   ## post pull state
   # obstore: main
   28b51eb45704506b5c603decd6bf7ac5e0f6a52f aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
   6e72f0a95b5e01a7504743aa941f69cb1fbef8b0 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
   bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb 069b05c3876d56f62895e853a501ea58ea85f68d 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
   # obstore: pushdest
--- a/tests/test-glog-topological.t
+++ b/tests/test-glog-topological.t
@@ -11,17 +11,17 @@ later.
 
   $ hg init test01
   $ cd test01
   $ hg unbundle $TESTDIR/bundles/remote.hg
   adding changesets
   adding manifests
   adding file changes
   added 9 changesets with 7 changes to 4 files (+1 heads)
-  new changesets bfaf4b5cbf01:916f1afdef90
+  new changesets bfaf4b5cbf01:916f1afdef90 (9 drafts)
   (run 'hg heads' to see heads, 'hg merge' to merge)
 
   $ hg log -G
   o  8
   |
   | o  7
   | |
   | o  6
--- a/tests/test-graft.t
+++ b/tests/test-graft.t
@@ -1874,32 +1874,32 @@ when we created new changesets on top of
   > EOF
   $ hg pull ../abortgraft --config phases.publish=False
   pulling from ../abortgraft
   requesting all changes
   adding changesets
   adding manifests
   adding file changes
   added 11 changesets with 9 changes to 8 files (+4 heads)
-  new changesets 9092f1db7931:6b98ff0062dd
+  new changesets 9092f1db7931:6b98ff0062dd (6 drafts)
   (run 'hg heads' to see heads, 'hg merge' to merge)
   $ hg up 9
   5 files updated, 0 files merged, 0 files removed, 0 files unresolved
   $ echo w > w
   $ hg ci -Aqm "added w" --config phases.publish=False
 
   $ cd ../abortgraft
   $ hg pull ../pullrepo
   pulling from ../pullrepo
   searching for changes
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files (+1 heads)
-  new changesets 311dfc6cf3bf
+  new changesets 311dfc6cf3bf (1 drafts)
   (run 'hg heads .' to see heads, 'hg merge' to merge)
 
   $ hg graft --abort
   new changesets detected on destination branch, can't strip
   graft aborted
   working directory is now at 6b98ff0062dd
 
   $ cd ..
--- a/tests/test-histedit-base.t
+++ b/tests/test-histedit-base.t
@@ -11,17 +11,17 @@ Create repo a:
 
   $ hg init a
   $ cd a
   $ hg unbundle "$TESTDIR/bundles/rebase.hg"
   adding changesets
   adding manifests
   adding file changes
   added 8 changesets with 7 changes to 7 files (+2 heads)
-  new changesets cd010b8cd998:02de42196ebe
+  new changesets cd010b8cd998:02de42196ebe (8 drafts)
   (run 'hg heads' to see heads, 'hg merge' to merge)
   $ hg up tip
   3 files updated, 0 files merged, 0 files removed, 0 files unresolved
 
   $ hg tglog
   @  7:02de42196ebee42ef284b6780a87cdc96e8eaab6:draft 'H'
   |
   | o  6:eea13746799a9e0bfd88f29d3c2e9dc9389f524f:draft 'G'
--- a/tests/test-histedit-commute.t
+++ b/tests/test-histedit-commute.t
@@ -359,17 +359,17 @@ should also work if a commit message is 
   $ BUNDLE="$TESTDIR/missing-comment.hg"
   $ hg init missing
   $ cd missing
   $ hg unbundle $BUNDLE
   adding changesets
   adding manifests
   adding file changes
   added 3 changesets with 3 changes to 1 files
-  new changesets 141947992243:bd22688093b3
+  new changesets 141947992243:bd22688093b3 (3 drafts)
   (run 'hg update' to get a working copy)
   $ hg co tip
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   $ hg log --graph
   @  changeset:   2:bd22688093b3
   |  tag:         tip
   |  user:        Robert Altman <robert.altman@telventDTN.com>
   |  date:        Mon Nov 28 16:40:04 2011 +0000
--- a/tests/test-http-clone-r.t
+++ b/tests/test-http-clone-r.t
@@ -4,17 +4,17 @@ creating 'remote
 
   $ hg init remote
   $ cd remote
   $ hg unbundle "$TESTDIR/bundles/remote.hg"
   adding changesets
   adding manifests
   adding file changes
   added 9 changesets with 7 changes to 4 files (+1 heads)
-  new changesets bfaf4b5cbf01:916f1afdef90
+  new changesets bfaf4b5cbf01:916f1afdef90 (9 drafts)
   (run 'hg heads' to see heads, 'hg merge' to merge)
   $ hg up tip
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
 
 Starting server
 
   $ hg serve -p $HGPORT -E ../error.log -d --pid-file=../hg1.pid
   $ cd ..
--- a/tests/test-incoming-outgoing.t
+++ b/tests/test-incoming-outgoing.t
@@ -324,24 +324,24 @@ test the resulting bundles
 
   $ hg init temp
   $ hg init temp2
   $ hg -R temp unbundle test.hg
   adding changesets
   adding manifests
   adding file changes
   added 9 changesets with 9 changes to 1 files
-  new changesets 00a43fa82f62:e4feb4ac9035
+  new changesets 00a43fa82f62:e4feb4ac9035 (9 drafts)
   (run 'hg update' to get a working copy)
   $ hg -R temp2 unbundle test2.hg
   adding changesets
   adding manifests
   adding file changes
   added 9 changesets with 9 changes to 1 files
-  new changesets 00a43fa82f62:e4feb4ac9035
+  new changesets 00a43fa82f62:e4feb4ac9035 (9 drafts)
   (run 'hg update' to get a working copy)
   $ hg -R temp tip
   changeset:   8:e4feb4ac9035
   tag:         tip
   user:        test
   date:        Thu Jan 01 00:00:00 1970 +0000
   summary:     8
   
--- a/tests/test-infinitepush-bundlestore.t
+++ b/tests/test-infinitepush-bundlestore.t
@@ -72,17 +72,17 @@ From another client we can get the scrat
   $ cd client2
   $ hg pull -B scratch/mybranch --traceback
   pulling from ssh://user@dummy/repo
   searching for changes
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
-  new changesets 20759b6926ce
+  new changesets 20759b6926ce (1 drafts)
   (run 'hg update' to get a working copy)
   $ hg log -G
   o  changeset:   1:20759b6926ce
   |  bookmark:    scratch/mybranch
   |  tag:         tip
   |  user:        test
   |  date:        Thu Jan 01 00:00:00 1970 +0000
   |  summary:     scratchcommit
@@ -165,17 +165,17 @@ Pull scratch and non-scratch bookmark at
   $ hg pull -B newbook -B scratch/mybranch --traceback
   pulling from ssh://user@dummy/repo
   searching for changes
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 2 files
   adding remote bookmark newbook
-  new changesets 1de1d7d92f89
+  new changesets 1de1d7d92f89 (1 drafts)
   (run 'hg update' to get a working copy)
   $ hg log -G -T '{desc} {phase} {bookmarks}'
   o  new scratch commit draft scratch/mybranch
   |
   | @  newcommit public
   | |
   o |  scratchcommit draft
   |/
--- a/tests/test-infinitepush-ci.t
+++ b/tests/test-infinitepush-ci.t
@@ -316,17 +316,17 @@ applying the bundle on the server to che
   bf8a6e3011b345146bbbedbcb1ebd4837571492a 0a6e70ecd5b98d22382f69b93909f557ac6a9927
   eaba929e866c59bc9a6aada5a9dd2f6990db83c0 0a6e70ecd5b98d22382f69b93909f557ac6a9927
 
   $ hg unbundle .hg/scratchbranches/filebundlestore/0a/6e/0a6e70ecd5b98d22382f69b93909f557ac6a9927
   adding changesets
   adding manifests
   adding file changes
   added 5 changesets with 5 changes to 5 files
-  new changesets eaba929e866c:9b42578d4447
+  new changesets eaba929e866c:9b42578d4447 (1 drafts)
   (run 'hg update' to get a working copy)
 
   $ hg glog
   o  6:9b42578d4447 added f
   |  draft
   o  5:b4e4bce66051 added e
   |  public
   o  4:1bb96358eda2 added d
@@ -418,17 +418,17 @@ Unbundling on server to see obsmarkers b
 
   $ hg unbundle .hg/scratchbranches/filebundlestore/09/0a/090a24fe63f31d3b4bee714447f835c8c362ff57
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 0 changes to 1 files (+1 heads)
   1 new obsolescence markers
   obsoleted 1 changesets
-  new changesets 99949238d9ac
+  new changesets 99949238d9ac (1 drafts)
   (run 'hg heads' to see heads, 'hg merge' to merge)
 
   $ hg glog
   o  7:99949238d9ac added f
   |  draft
   | o  5:b4e4bce66051 added e
   | |  public
   | o  4:1bb96358eda2 added d
--- a/tests/test-infinitepush.t
+++ b/tests/test-infinitepush.t
@@ -107,17 +107,17 @@ Make sure testpullbycommithash2 has not 
   $ cd client3
   $ hg pull -r `cat ../testpullbycommithash1`
   pulling from ssh://user@dummy/repo
   searching for changes
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
-  new changesets 33910bfe6ffe
+  new changesets 33910bfe6ffe (1 drafts)
   (run 'hg update' to get a working copy)
   $ hg log -G -T '{desc} {phase} {bookmarks}'
   o  testpullbycommithash1 draft
   |
   @  initialcommit public
   
 Make public commit in the repo and pull it.
 Make sure phase on the client is public.
@@ -158,12 +158,12 @@ Make sure phase on the client is public.
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files (+1 heads)
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
-  new changesets a79b6597f322:c70aee6da07d
+  new changesets a79b6597f322:c70aee6da07d (1 drafts)
   (run 'hg heads .' to see heads, 'hg merge' to merge)
   $ hg log -r scratch/scratchontopofpublic -T '{phase}'
   draft (no-eol)
--- a/tests/test-keyword.t
+++ b/tests/test-keyword.t
@@ -120,17 +120,17 @@ A bundle to test this was made with:
  hg ci -m addsym -u mercurial
  hg bundle --base null ../test-keyword.hg
 
   $ hg unbundle "$TESTDIR"/bundles/test-keyword.hg
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
-  new changesets a2392c293916
+  new changesets a2392c293916 (1 drafts)
   (run 'hg update' to get a working copy)
   $ hg up a2392c293916
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
 
   $ echo 'expand $Id$' > a
   $ echo 'do not process $Id:' >> a
   $ echo 'xxx $' >> a
   $ echo 'ignore $Id$' > b
@@ -258,17 +258,17 @@ Pull from bundle and trigger notify
 
   $ hg pull -u ../kw.hg
   pulling from ../kw.hg
   requesting all changes
   adding changesets
   adding manifests
   adding file changes
   added 2 changesets with 3 changes to 3 files
-  new changesets a2392c293916:ef63ca68695b
+  new changesets a2392c293916:ef63ca68695b (2 drafts)
   3 files updated, 0 files merged, 0 files removed, 0 files unresolved
   MIME-Version: 1.0
   Content-Type: text/plain; charset="us-ascii"
   Content-Transfer-Encoding: 7bit
   Date: * (glob)
   Subject: changeset in...
   From: mercurial
   X-Hg-Notification: changeset a2392c293916
--- a/tests/test-largefiles-misc.t
+++ b/tests/test-largefiles-misc.t
@@ -106,17 +106,17 @@ We have to simulate that here by setting
   $ HOME="`pwd`/bob"
   $ cd bob
   $ hg clone --pull ../alice/pubrepo pubrepo
   requesting all changes
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
-  new changesets 09a186cfa6da
+  new changesets 09a186cfa6da (1 drafts)
   updating to branch default
   getting changed largefiles
   1 largefiles updated, 0 removed
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   $ cd ..
   $ chmod -R u+w alice/pubrepo
   $ HOME="$ORIGHOME"
 
@@ -1258,13 +1258,13 @@ Test "pull --rebase" when rebase is enab
   > EOF
   $ hg -R dst pull --rebase
   pulling from $TESTTMP/issue3861/src
   requesting all changes
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
-  new changesets bf5e395ced2c
+  new changesets bf5e395ced2c (1 drafts)
   nothing to rebase - updating instead
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
 
   $ cd ..
--- a/tests/test-largefiles-update.t
+++ b/tests/test-largefiles-update.t
@@ -451,17 +451,17 @@ Test that the internal linear merging wo
   $ echo 'large2 for linear merge (conflict with normal file)' > large2
   $ hg pull --update --config debug.dirstate.delaywrite=2 $TESTTMP/9530e27857f7-2e7b195d-backup.hg
   pulling from $TESTTMP/9530e27857f7-2e7b195d-backup.hg
   searching for changes
   adding changesets
   adding manifests
   adding file changes
   added 3 changesets with 5 changes to 5 files
-  new changesets 9530e27857f7:d65e59e952a9
+  new changesets 9530e27857f7:d65e59e952a9 (3 drafts)
   remote turned local largefile large2 into a normal file
   keep (l)argefile or use (n)ormal file? l
   largefile large1 has a merge conflict
   ancestor was 4669e532d5b2c093a78eca010077e708a071bb64
   keep (l)ocal ba94c2efe5b7c5e0af8d189295ce00553b0612b7 or
   take (o)ther e5bb990443d6a92aaf7223813720f7566c9dd05b? l
   2 files updated, 1 files merged, 0 files removed, 0 files unresolved
   updated to "d65e59e952a9: #5"
@@ -487,17 +487,17 @@ Test that the internal linear merging wo
 
   $ echo 'large1 for linear merge (conflict)' > large1
   $ echo 'large2 for linear merge (conflict with normal file)' > large2
   $ hg unbundle --update --config debug.dirstate.delaywrite=2 $TESTTMP/9530e27857f7-2e7b195d-backup.hg
   adding changesets
   adding manifests
   adding file changes
   added 3 changesets with 5 changes to 5 files
-  new changesets 9530e27857f7:d65e59e952a9
+  new changesets 9530e27857f7:d65e59e952a9 (3 drafts)
   remote turned local largefile large2 into a normal file
   keep (l)argefile or use (n)ormal file? l
   largefile large1 has a merge conflict
   ancestor was 4669e532d5b2c093a78eca010077e708a071bb64
   keep (l)ocal ba94c2efe5b7c5e0af8d189295ce00553b0612b7 or
   take (o)ther e5bb990443d6a92aaf7223813720f7566c9dd05b? l
   2 files updated, 1 files merged, 0 files removed, 0 files unresolved
   updated to "d65e59e952a9: #5"
--- a/tests/test-largefiles-wireproto.t
+++ b/tests/test-largefiles-wireproto.t
@@ -46,30 +46,30 @@ vanilla clients not locked out from larg
   $ hg serve -R r1 -d -p $HGPORT --pid-file hg.pid
   $ cat hg.pid >> $DAEMON_PIDS
   $ hg --config extensions.largefiles=! clone http://localhost:$HGPORT r2
   requesting all changes
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
-  new changesets b6eb3a2e2efe
+  new changesets b6eb3a2e2efe (1 drafts)
   updating to branch default
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
 
 largefiles clients still work with vanilla servers
   $ hg serve --config extensions.largefiles=! -R r1 -d -p $HGPORT1 --pid-file hg.pid
   $ cat hg.pid >> $DAEMON_PIDS
   $ hg clone http://localhost:$HGPORT1 r3
   requesting all changes
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
-  new changesets b6eb3a2e2efe
+  new changesets b6eb3a2e2efe (1 drafts)
   updating to branch default
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
 #endif
 
 vanilla clients locked out from largefiles http repos
   $ mkdir r4
   $ cd r4
   $ hg init
@@ -231,17 +231,17 @@ Push a largefiles repository to a served
 
 Clone over http, no largefiles pulled on clone.
 
   $ hg clone http://localhost:$HGPORT2/#default http-clone -U
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
-  new changesets cf03e5bb9936
+  new changesets cf03e5bb9936 (1 drafts)
 
 Archive contains largefiles
   >>> import os
   >>> import urllib2
   >>> u = 'http://localhost:%s/archive/default.zip' % os.environ['HGPORT2']
   >>> with open('archive.zip', 'w') as f:
   ...     f.write(urllib2.urlopen(u).read())
   $ unzip -t archive.zip
@@ -347,17 +347,17 @@ largefiles should batch verify remote ca
   > -A access.log
   $ cat hg.pid >> $DAEMON_PIDS
   $ hg clone --noupdate http://localhost:$HGPORT batchverifyclone
   requesting all changes
   adding changesets
   adding manifests
   adding file changes
   added 2 changesets with 2 changes to 2 files
-  new changesets 567253b0f523:04d19c27a332
+  new changesets 567253b0f523:04d19c27a332 (2 drafts)
   $ hg -R batchverifyclone verify --large --lfa
   checking changesets
   checking manifests
   crosschecking files in changesets and manifests
   checking files
   2 files, 2 changesets, 2 total revisions
   searching 2 changesets for largefiles
   verified existence of 2 revisions of 2 largefiles
@@ -384,17 +384,17 @@ available locally.
   A c
   $ hg -R batchverifyclone pull
   pulling from http://localhost:$HGPORT/
   searching for changes
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
-  new changesets 6bba8cb6935d
+  new changesets 6bba8cb6935d (1 drafts)
   (run 'hg update' to get a working copy)
   $ hg -R batchverifyclone verify --lfa
   checking changesets
   checking manifests
   crosschecking files in changesets and manifests
   checking files
   3 files, 3 changesets, 3 total revisions
   searching 3 changesets for largefiles
@@ -447,17 +447,17 @@ a large file from the server rather than
   http authorization required for http://localhost:$HGPORT/
   realm: mercurial
   user: user
   password: requesting all changes
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
-  new changesets 567253b0f523
+  new changesets 567253b0f523 (1 drafts)
   updating to branch default
   getting changed largefiles
   1 largefiles updated, 0 removed
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
 
   $ killdaemons.py
   $ rm hg.pid access.log
 
--- a/tests/test-largefiles.t
+++ b/tests/test-largefiles.t
@@ -956,17 +956,17 @@ Test log from outside repo
 
 Test clone at revision
 
   $ hg clone a -r 3 c
   adding changesets
   adding manifests
   adding file changes
   added 4 changesets with 10 changes to 4 files
-  new changesets 30d30fe6a5be:9e8fbc4bce62
+  new changesets 30d30fe6a5be:9e8fbc4bce62 (4 drafts)
   updating to branch default
   getting changed largefiles
   2 largefiles updated, 0 removed
   4 files updated, 0 files merged, 0 files removed, 0 files unresolved
   $ cd c
   $ hg log --template '{rev}:{node|short}  {desc|firstline}\n'
   3:9e8fbc4bce62  copy files
   2:51a0ae4d5864  remove files
@@ -1085,31 +1085,31 @@ downloaded from 'default' instead of 'de
 (issue3584)
 
   $ rm -Rf a-backup
   $ hg clone -r 1 a a-backup
   adding changesets
   adding manifests
   adding file changes
   added 2 changesets with 8 changes to 4 files
-  new changesets 30d30fe6a5be:ce8896473775
+  new changesets 30d30fe6a5be:ce8896473775 (2 drafts)
   updating to branch default
   getting changed largefiles
   2 largefiles updated, 0 removed
   4 files updated, 0 files merged, 0 files removed, 0 files unresolved
   $ rm "${USERCACHE}"/*
   $ cd a-backup
   $ hg pull --all-largefiles --config paths.default-push=bogus/path
   pulling from $TESTTMP/a
   searching for changes
   adding changesets
   adding manifests
   adding file changes
   added 6 changesets with 16 changes to 8 files
-  new changesets 51a0ae4d5864:daea875e9014
+  new changesets 51a0ae4d5864:daea875e9014 (6 drafts)
   (run 'hg update' to get a working copy)
   6 largefiles cached
 
 redo pull with --lfrev and check it pulls largefiles for the right revs
 
   $ hg rollback
   repository tip rolled back to revision 1 (undo pull)
   $ hg pull -v --lfrev 'heads(pulled())+min(pulled())'
@@ -1127,17 +1127,17 @@ redo pull with --lfrev and check it pull
        182  .hglf/sub2/large7
        212  normal1
        457  normal3
        465  sub/normal4
   adding changesets
   adding manifests
   adding file changes
   added 6 changesets with 16 changes to 8 files
-  new changesets 51a0ae4d5864:daea875e9014
+  new changesets 51a0ae4d5864:daea875e9014 (6 drafts)
   calling hook changegroup.lfiles: hgext.largefiles.reposetup.checkrequireslfiles
   (run 'hg update' to get a working copy)
   pulling largefiles for revision 7
   found 971fb41e78fea4f8e0ba5244784239371cb00591 in store
   found 0d6d75887db61b2c7e6c74b5dd8fc6ad50c0cc30 in store
   found bb3151689acb10f0c3125c560d5e63df914bc1af in store
   pulling largefiles for revision 2
   found eb7338044dc27f9bc59b8dd5a246b065ead7a9c4 in store
@@ -1200,17 +1200,17 @@ rebased or not.
   $ [ ! -f .hg/largefiles/e166e74c7303192238d60af5a9c4ce9bef0b7928 ]
   $ hg pull --rebase --all-largefiles --config paths.default-push=bogus/path --config paths.default=../b
   pulling from $TESTTMP/b
   searching for changes
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 2 changes to 2 files (+1 heads)
-  new changesets a381d2c8c80e
+  new changesets a381d2c8c80e (1 drafts)
   rebasing 8:f574fb32bb45 "modify normal file largefile in repo d"
   Invoking status precommit hook
   M sub/normal4
   M sub2/large6
   saved backup bundle to $TESTTMP/d/.hg/strip-backup/f574fb32bb45-dd1d9f80-rebase.hg
   0 largefiles cached
   $ [ -f .hg/largefiles/e166e74c7303192238d60af5a9c4ce9bef0b7928 ]
   $ hg log --template '{rev}:{node|short}  {desc|firstline}\n'
@@ -1258,17 +1258,17 @@ rebased or not.
   $ cd ../e
   $ hg pull ../b
   pulling from ../b
   searching for changes
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 2 changes to 2 files (+1 heads)
-  new changesets a381d2c8c80e
+  new changesets a381d2c8c80e (1 drafts)
   (run 'hg heads' to see heads, 'hg merge' to merge)
   $ hg rebase
   rebasing 8:f574fb32bb45 "modify normal file largefile in repo d"
   Invoking status precommit hook
   M sub/normal4
   M sub2/large6
   saved backup bundle to $TESTTMP/e/.hg/strip-backup/f574fb32bb45-dd1d9f80-rebase.hg
   $ hg log --template '{rev}:{node|short}  {desc|firstline}\n'
@@ -1664,17 +1664,17 @@ that merging after having pulled from a 
 correctly.
 
   $ cd ..
   $ hg clone -r 7 e temp
   adding changesets
   adding manifests
   adding file changes
   added 8 changesets with 24 changes to 10 files
-  new changesets 30d30fe6a5be:daea875e9014
+  new changesets 30d30fe6a5be:daea875e9014 (8 drafts)
   updating to branch default
   getting changed largefiles
   3 largefiles updated, 0 removed
   5 files updated, 0 files merged, 0 files removed, 0 files unresolved
   $ hg clone temp f
   updating to branch default
   getting changed largefiles
   3 largefiles updated, 0 removed
@@ -1690,17 +1690,17 @@ correctly.
 # Test --cache-largefiles flag
   $ hg pull --lfrev 'heads(pulled())' ../e
   pulling from ../e
   searching for changes
   adding changesets
   adding manifests
   adding file changes
   added 2 changesets with 4 changes to 4 files (+1 heads)
-  new changesets a381d2c8c80e:598410d3eb9a
+  new changesets a381d2c8c80e:598410d3eb9a (2 drafts)
   (run 'hg heads' to see heads, 'hg merge' to merge)
   2 largefiles cached
   $ hg merge
   largefile sub/large4 has a merge conflict
   ancestor was 971fb41e78fea4f8e0ba5244784239371cb00591
   keep (l)ocal d846f26643bfa8ec210be40cc93cc6b7ff1128ea or
   take (o)ther e166e74c7303192238d60af5a9c4ce9bef0b7928? l
   getting changed largefiles
@@ -1766,30 +1766,30 @@ coexist.
 Test that transplanting a largefile change works correctly.
 
   $ cd ..
   $ hg clone -r 8 d g
   adding changesets
   adding manifests
   adding file changes
   added 9 changesets with 26 changes to 10 files
-  new changesets 30d30fe6a5be:a381d2c8c80e
+  new changesets 30d30fe6a5be:a381d2c8c80e (9 drafts)
   updating to branch default
   getting changed largefiles
   3 largefiles updated, 0 removed
   5 files updated, 0 files merged, 0 files removed, 0 files unresolved
   $ cd g
   $ hg transplant -s ../d 598410d3eb9a
   searching for changes
   searching for changes
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 2 changes to 2 files
-  new changesets 598410d3eb9a
+  new changesets 598410d3eb9a (1 drafts)
   $ hg log --template '{rev}:{node|short}  {desc|firstline}\n'
   9:598410d3eb9a  modify normal file largefile in repo d
   8:a381d2c8c80e  modify normal file and largefile in repo b
   7:daea875e9014  add/edit more largefiles
   6:4355d653f84f  edit files yet again
   5:9d5af5072dbd  edit files again
   4:74c02385b94c  move files
   3:9e8fbc4bce62  copy files
--- a/tests/test-manifest.t
+++ b/tests/test-manifest.t
@@ -10,17 +10,17 @@ Source bundle was generated with the fol
 # hg ci -Amb -d'1 0'
 
   $ hg init
   $ hg unbundle "$TESTDIR/bundles/test-manifest.hg"
   adding changesets
   adding manifests
   adding file changes
   added 2 changesets with 3 changes to 3 files
-  new changesets b73562a03cfe:5bdc995175ba
+  new changesets b73562a03cfe:5bdc995175ba (2 drafts)
   (run 'hg update' to get a working copy)
 
 The next call is expected to return nothing:
 
   $ hg manifest
 
   $ hg co
   3 files updated, 0 files merged, 0 files removed, 0 files unresolved
--- a/tests/test-mq-pull-from-bundle.t
+++ b/tests/test-mq-pull-from-bundle.t
@@ -85,17 +85,17 @@ Pull queue bundle:
 
   $ hg -R .hg/patches pull --update ../queue.hgq
   pulling from ../queue.hgq
   requesting all changes
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 3 changes to 3 files
-  new changesets d7553909353d
+  new changesets d7553909353d (1 drafts)
   merging series
   2 files updated, 1 files merged, 0 files removed, 0 files unresolved
   $ test -f .hg/patches/hg-bundle* && echo 'temp. bundle file remained' || true
 
   $ hg -R .hg/patches theads
   0: queue: two.patch added
 
   $ hg -R .hg/patches tlog
@@ -117,17 +117,17 @@ Clone base again:
 
 Unbundle queue bundle:
 
   $ hg -R .hg/patches unbundle --update ../queue.hgq
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 3 changes to 3 files
-  new changesets d7553909353d
+  new changesets d7553909353d (1 drafts)
   merging series
   2 files updated, 1 files merged, 0 files removed, 0 files unresolved
 
   $ hg -R .hg/patches theads
   0: queue: two.patch added
 
   $ hg -R .hg/patches tlog
   0: d7553909353d queue: two.patch added
--- a/tests/test-mq.t
+++ b/tests/test-mq.t
@@ -777,17 +777,17 @@ strip
   $ hg strip tip
   0 files updated, 0 files merged, 1 files removed, 0 files unresolved
   saved backup bundle to $TESTTMP/b/.hg/strip-backup/*-backup.hg (glob)
   $ hg unbundle .hg/strip-backup/*
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
-  new changesets 770eb8fce608
+  new changesets 770eb8fce608 (1 drafts)
   (run 'hg update' to get a working copy)
 
 
 strip with local changes, should complain
 
   $ hg up
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   $ echo y>y
--- a/tests/test-notify-changegroup.t
+++ b/tests/test-notify-changegroup.t
@@ -80,30 +80,30 @@ unbundle with unrelated source
   $ hg --cwd b bundle ../test.hg ../a
   searching for changes
   2 changesets found
   $ hg --cwd a unbundle ../test.hg
   adding changesets
   adding manifests
   adding file changes
   added 2 changesets with 2 changes to 1 files
-  new changesets cb9a9f314b8b:ba677d0156c1
+  new changesets cb9a9f314b8b:ba677d0156c1 (2 drafts)
   (run 'hg update' to get a working copy)
   $ hg --cwd a rollback
   repository tip rolled back to revision -1 (undo unbundle)
 
 unbundle with correct source
 
   $ hg --config notify.sources=unbundle --cwd a unbundle ../test.hg 2>&1 |
   >     $PYTHON -c 'from __future__ import print_function ; import sys,re; print(re.sub("\n\t", " ", sys.stdin.read()), end="")'
   adding changesets
   adding manifests
   adding file changes
   added 2 changesets with 2 changes to 1 files
-  new changesets cb9a9f314b8b:ba677d0156c1
+  new changesets cb9a9f314b8b:ba677d0156c1 (2 drafts)
   MIME-Version: 1.0
   Content-Type: text/plain; charset="us-ascii"
   Content-Transfer-Encoding: 7bit
   Date: * (glob)
   Subject: * (glob)
   From: test
   X-Hg-Notification: changeset cb9a9f314b8b
   Message-Id: <*> (glob)
--- a/tests/test-obsmarker-template.t
+++ b/tests/test-obsmarker-template.t
@@ -1445,17 +1445,17 @@ Test setup
   pulling from $TESTTMP/templates-local-remote-markers-1
   searching for changes
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 0 changes to 1 files (+1 heads)
   2 new obsolescence markers
   obsoleted 1 changesets
-  new changesets 7a230b46bf61
+  new changesets 7a230b46bf61 (1 drafts)
   (run 'hg heads' to see heads, 'hg merge' to merge)
   $ hg log --hidden -G
   o  changeset:   2:7a230b46bf61
   |  tag:         tip
   |  parent:      0:ea207398892e
   |  user:        test
   |  date:        Thu Jan 01 00:00:00 1970 +0000
   |  summary:     A2
--- a/tests/test-obsolete-bundle-strip.t
+++ b/tests/test-obsolete-bundle-strip.t
@@ -202,17 +202,17 @@ Actual testing
   ### diff <exclusive> <stripped> ###
   #################################
   # unbundling: adding changesets
   # unbundling: adding manifests
   # unbundling: adding file changes
   # unbundling: added 1 changesets with 1 changes to 1 files (+1 heads)
   # unbundling: 2 new obsolescence markers
   # unbundling: obsoleted 1 changesets
-  # unbundling: new changesets cf2c22470d67
+  # unbundling: new changesets cf2c22470d67 (1 drafts)
   # unbundling: (run 'hg heads' to see heads)
 
   $ testrevs 'desc("C-A")'
   ### Matched revisions###
   84fcb0dfe17b: C-A0
   cf2c22470d67: C-A1
   ### Relevant markers ###
       84fcb0dfe17b256ebae52e05572993b9194c018a a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
@@ -242,17 +242,17 @@ Actual testing
       a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1 cf2c22470d67233004e934a31184ac2b35389914 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
   ### diff <exclusive> <stripped> ###
   #################################
   # unbundling: adding changesets
   # unbundling: adding manifests
   # unbundling: adding file changes
   # unbundling: added 2 changesets with 2 changes to 2 files (+1 heads)
   # unbundling: 3 new obsolescence markers
-  # unbundling: new changesets cf2c22470d67
+  # unbundling: new changesets cf2c22470d67 (1 drafts)
   # unbundling: (run 'hg heads' to see heads)
 
 chain with prune children
 =========================
 
 .  ⇠⊗ B0
 .   |
 .  ⇠ø⇠◔ A1
@@ -369,17 +369,17 @@ problematic)
   ### diff <exclusive> <stripped> ###
   #################################
   # unbundling: adding changesets
   # unbundling: adding manifests
   # unbundling: adding file changes
   # unbundling: added 1 changesets with 1 changes to 1 files (+1 heads)
   # unbundling: 1 new obsolescence markers
   # unbundling: obsoleted 1 changesets
-  # unbundling: new changesets cf2c22470d67
+  # unbundling: new changesets cf2c22470d67 (1 drafts)
   # unbundling: (run 'hg heads' to see heads)
 
 bundling multiple revisions
 
   $ testrevs 'desc("C-A")'
   ### Matched revisions###
   84fcb0dfe17b: C-A0
   cf2c22470d67: C-A1
@@ -431,17 +431,17 @@ bundling multiple revisions
       a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0 84fcb0dfe17b256ebae52e05572993b9194c018a 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
   ### diff <exclusive> <stripped> ###
   #################################
   # unbundling: adding changesets
   # unbundling: adding manifests
   # unbundling: adding file changes
   # unbundling: added 3 changesets with 3 changes to 3 files (+1 heads)
   # unbundling: 3 new obsolescence markers
-  # unbundling: new changesets cf2c22470d67
+  # unbundling: new changesets cf2c22470d67 (1 drafts)
   # unbundling: (run 'hg heads' to see heads)
 
 chain with precursors also pruned
 =================================
 
 .   A0 (also pruned)
 .  ⇠ø⇠◔ A1
 .     |
@@ -532,17 +532,17 @@ Actual testing
       84fcb0dfe17b256ebae52e05572993b9194c018a cf2c22470d67233004e934a31184ac2b35389914 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
   ### diff <exclusive> <stripped> ###
   #################################
   # unbundling: adding changesets
   # unbundling: adding manifests
   # unbundling: adding file changes
   # unbundling: added 1 changesets with 1 changes to 1 files (+1 heads)
   # unbundling: 1 new obsolescence markers
-  # unbundling: new changesets cf2c22470d67
+  # unbundling: new changesets cf2c22470d67 (1 drafts)
   # unbundling: (run 'hg heads' to see heads)
 
   $ testrevs 'desc("C-A")'
   ### Matched revisions###
   84fcb0dfe17b: C-A0
   cf2c22470d67: C-A1
   ### Relevant markers ###
       84fcb0dfe17b256ebae52e05572993b9194c018a 0 {ea207398892eb49e06441f10dda2a731f0450f20} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
@@ -572,17 +572,17 @@ Actual testing
       a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0 84fcb0dfe17b256ebae52e05572993b9194c018a 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
   ### diff <exclusive> <stripped> ###
   #################################
   # unbundling: adding changesets
   # unbundling: adding manifests
   # unbundling: adding file changes
   # unbundling: added 2 changesets with 2 changes to 2 files (+1 heads)
   # unbundling: 3 new obsolescence markers
-  # unbundling: new changesets cf2c22470d67
+  # unbundling: new changesets cf2c22470d67 (1 drafts)
   # unbundling: (run 'hg heads' to see heads)
 
 chain with missing prune
 ========================
 
 .   ⊗ B
 .   |
 .  ⇠◌⇠◔ A1
@@ -656,17 +656,17 @@ Actual testing
       a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0 84fcb0dfe17b256ebae52e05572993b9194c018a 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
   ### diff <exclusive> <stripped> ###
   #################################
   # unbundling: adding changesets
   # unbundling: adding manifests
   # unbundling: adding file changes
   # unbundling: added 1 changesets with 1 changes to 1 files
   # unbundling: 3 new obsolescence markers
-  # unbundling: new changesets cf2c22470d67
+  # unbundling: new changesets cf2c22470d67 (1 drafts)
   # unbundling: (run 'hg update' to get a working copy)
 
 chain with precursors also pruned
 =================================
 
 .   A0 (also pruned)
 .  ⇠◌⇠◔ A1
 .     |
@@ -736,17 +736,17 @@ Actual testing
       a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0 84fcb0dfe17b256ebae52e05572993b9194c018a 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
   ### diff <exclusive> <stripped> ###
   #################################
   # unbundling: adding changesets
   # unbundling: adding manifests
   # unbundling: adding file changes
   # unbundling: added 1 changesets with 1 changes to 1 files
   # unbundling: 3 new obsolescence markers
-  # unbundling: new changesets cf2c22470d67
+  # unbundling: new changesets cf2c22470d67 (1 drafts)
   # unbundling: (run 'hg update' to get a working copy)
 
 Chain with fold and split
 =========================
 
 setup
 -----
 
@@ -979,17 +979,17 @@ Actual testing
   ### diff <exclusive> <stripped> ###
   #################################
   # unbundling: adding changesets
   # unbundling: adding manifests
   # unbundling: adding file changes
   # unbundling: added 1 changesets with 1 changes to 1 files (+1 heads)
   # unbundling: 6 new obsolescence markers
   # unbundling: obsoleted 3 changesets
-  # unbundling: new changesets 2f20ff6509f0
+  # unbundling: new changesets 2f20ff6509f0 (1 drafts)
   # unbundling: (run 'hg heads' to see heads)
 
 Bundle multiple revisions
 
 * each part of the split
 
   $ testrevs 'desc("C-B") + desc("C-C")'
   ### Matched revisions###
@@ -1081,17 +1081,17 @@ Bundle multiple revisions
   ### diff <exclusive> <stripped> ###
   #################################
   # unbundling: adding changesets
   # unbundling: adding manifests
   # unbundling: adding file changes
   # unbundling: added 2 changesets with 2 changes to 2 files (+2 heads)
   # unbundling: 7 new obsolescence markers
   # unbundling: obsoleted 2 changesets
-  # unbundling: new changesets 2f20ff6509f0
+  # unbundling: new changesets 2f20ff6509f0 (1 drafts)
   # unbundling: (run 'hg heads' to see heads)
 
 * top one and initial precursors
 
   $ testrevs 'desc("C-E") + desc("C-A")'
   ### Matched revisions###
   2f20ff6509f0: C-E
   9ac430e15fca: C-A
@@ -1149,17 +1149,17 @@ Bundle multiple revisions
   ### diff <exclusive> <stripped> ###
   #################################
   # unbundling: adding changesets
   # unbundling: adding manifests
   # unbundling: adding file changes
   # unbundling: added 2 changesets with 2 changes to 2 files (+2 heads)
   # unbundling: 6 new obsolescence markers
   # unbundling: obsoleted 3 changesets
-  # unbundling: new changesets 2f20ff6509f0
+  # unbundling: new changesets 2f20ff6509f0 (1 drafts)
   # unbundling: (run 'hg heads' to see heads)
 
 * top one and one of the split
 
   $ testrevs 'desc("C-E") + desc("C-C")'
   ### Matched revisions###
   27ec657ca21d: C-C
   2f20ff6509f0: C-E
@@ -1218,17 +1218,17 @@ Bundle multiple revisions
   ### diff <exclusive> <stripped> ###
   #################################
   # unbundling: adding changesets
   # unbundling: adding manifests
   # unbundling: adding file changes
   # unbundling: added 2 changesets with 2 changes to 2 files (+2 heads)
   # unbundling: 7 new obsolescence markers
   # unbundling: obsoleted 2 changesets
-  # unbundling: new changesets 2f20ff6509f0
+  # unbundling: new changesets 2f20ff6509f0 (1 drafts)
   # unbundling: (run 'hg heads' to see heads)
 
 * all
 
   $ testrevs 'desc("C-")'
   ### Matched revisions###
   06dc9da25ef0: C-D
   27ec657ca21d: C-C
@@ -1293,17 +1293,17 @@ Bundle multiple revisions
       c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0 2f20ff6509f0e013e90c5c8efd996131c918b0ca 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
   ### diff <exclusive> <stripped> ###
   #################################
   # unbundling: adding changesets
   # unbundling: adding manifests
   # unbundling: adding file changes
   # unbundling: added 5 changesets with 5 changes to 5 files (+4 heads)
   # unbundling: 9 new obsolescence markers
-  # unbundling: new changesets 2f20ff6509f0
+  # unbundling: new changesets 2f20ff6509f0 (1 drafts)
   # unbundling: (run 'hg heads' to see heads)
 
 changeset pruned on its own
 ===========================
 
 . ⊗ B
 . |
 . ◕ A
@@ -1395,10 +1395,10 @@ Actual testing
       cefb651fc2fdc7bb75e588781de5e432c134e8a5 0 {9ac430e15fca923b0ba027ca85d4d75c5c9cb73c} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
   ### diff <exclusive> <stripped> ###
   #################################
   # unbundling: adding changesets
   # unbundling: adding manifests
   # unbundling: adding file changes
   # unbundling: added 2 changesets with 2 changes to 2 files
   # unbundling: 1 new obsolescence markers
-  # unbundling: new changesets 9ac430e15fca
+  # unbundling: new changesets 9ac430e15fca (1 drafts)
   # unbundling: (run 'hg update' to get a working copy)
--- a/tests/test-obsolete-distributed.t
+++ b/tests/test-obsolete-distributed.t
@@ -139,17 +139,17 @@ client side: pull from the server
   pulling from $TESTTMP/distributed-chain-building/server
   searching for changes
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files (+1 heads)
   1 new obsolescence markers
   obsoleted 1 changesets
-  new changesets 391a2bf12b1b
+  new changesets 391a2bf12b1b (1 drafts)
   (run 'hg heads' to see heads)
   $ hg log -G
   o  4:391a2bf12b1b c_B1
   |
   @  0:e82fb8d02bbf ROOT
   
   $ hg log -G --hidden -v
   o  4:391a2bf12b1b c_B1
@@ -266,17 +266,17 @@ Bob pulls from Alice and rewrites them
   $ cd repo-Bob
   $ hg pull ../repo-Alice
   pulling from ../repo-Alice
   searching for changes
   adding changesets
   adding manifests
   adding file changes
   added 2 changesets with 2 changes to 2 files
-  new changesets d33b0a3a6464:ef908e42ce65
+  new changesets d33b0a3a6464:ef908e42ce65 (2 drafts)
   (run 'hg update' to get a working copy)
   $ hg up 'desc("c_A")'
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   $ hg commit --amend -m 'c_A1'
   1 new orphan changesets
   $ hg rebase -r 'desc("c_B0")' -d . # no easy way to rewrite the message with the rebase
   rebasing 2:ef908e42ce65 "c_B0"
   $ hg up
@@ -314,17 +314,17 @@ Celeste pulls from Bob and rewrites them
   $ hg pull ../repo-Bob
   pulling from ../repo-Bob
   searching for changes
   adding changesets
   adding manifests
   adding file changes
   added 2 changesets with 2 changes to 2 files
   3 new obsolescence markers
-  new changesets 5b5708a437f2:956063ac4557
+  new changesets 5b5708a437f2:956063ac4557 (2 drafts)
   (run 'hg update' to get a working copy)
   $ hg up 'desc("c_A")'
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   $ hg commit --amend -m 'c_A2'
   1 new orphan changesets
   $ hg rebase -r 'desc("c_B1")' -d . # no easy way to rewrite the message with the rebase
   rebasing 2:956063ac4557 "c_B1"
   $ hg up
@@ -385,17 +385,17 @@ from the server (note: could be from Cel
   pulling from $TESTTMP/distributed-chain-building/distributed-chain-building/server
   searching for changes
   adding changesets
   adding manifests
   adding file changes
   added 2 changesets with 0 changes to 2 files (+1 heads)
   6 new obsolescence markers
   obsoleted 2 changesets
-  new changesets 9866d64649a5:77ae25d99ff0
+  new changesets 9866d64649a5:77ae25d99ff0 (2 drafts)
   (run 'hg heads' to see heads)
   $ hg debugobsolete
   3cf8de21cc2282186857d2266eb6b1f9cb85ecf3 77ae25d99ff07889e181126b1171b94bec8e5227 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '1', 'operation': 'amend', 'user': 'celeste'}
   5b5708a437f27665db42c5a261a539a1bcb2a8c2 9866d64649a5d9c5991fe119c7b2c33898114e10 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '1', 'operation': 'amend', 'user': 'celeste'}
   5ffb9e311b35f6ab6f76f667ca5d6e595645481b 956063ac4557828781733b2d5677a351ce856f59 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '1', 'operation': 'amend', 'user': 'bob'}
   956063ac4557828781733b2d5677a351ce856f59 3cf8de21cc2282186857d2266eb6b1f9cb85ecf3 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '4', 'operation': 'rebase', 'user': 'celeste'}
   d33b0a3a64647d79583526be8107802b1f9fedfa 5b5708a437f27665db42c5a261a539a1bcb2a8c2 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '1', 'operation': 'amend', 'user': 'bob'}
   ef908e42ce65ef57f970d799acaddde26f58a4cc 5ffb9e311b35f6ab6f76f667ca5d6e595645481b 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '4', 'operation': 'rebase', 'user': 'bob'}
--- a/tests/test-obsolete.t
+++ b/tests/test-obsolete.t
@@ -375,17 +375,17 @@ Try to pull markers
   $ hg pull ../tmpb
   pulling from ../tmpb
   requesting all changes
   adding changesets
   adding manifests
   adding file changes
   added 4 changesets with 4 changes to 4 files (+1 heads)
   5 new obsolescence markers
-  new changesets 1f0dee641bb7:6f9641995072
+  new changesets 1f0dee641bb7:6f9641995072 (1 drafts)
   (run 'hg heads' to see heads, 'hg merge' to merge)
   $ hg debugobsolete
   1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
   245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
   5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
   ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
   cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
 
@@ -481,17 +481,17 @@ On pull
   $ hg pull ../tmpb
   pulling from ../tmpb
   requesting all changes
   adding changesets
   adding manifests
   adding file changes
   added 4 changesets with 4 changes to 4 files (+1 heads)
   5 new obsolescence markers
-  new changesets 1f0dee641bb7:6f9641995072
+  new changesets 1f0dee641bb7:6f9641995072 (1 drafts)
   (run 'hg heads' to see heads, 'hg merge' to merge)
   $ hg debugobsolete
   1339133913391339133913391339133913391339 ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
   1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
   245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
   5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
   ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
   cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
@@ -800,17 +800,17 @@ Test the debug output for exchange
 check hgweb does not explode
 ====================================
 
   $ hg unbundle $TESTDIR/bundles/hgweb+obs.hg
   adding changesets
   adding manifests
   adding file changes
   added 62 changesets with 63 changes to 9 files (+60 heads)
-  new changesets 50c51b361e60:c15e9edfca13
+  new changesets 50c51b361e60:c15e9edfca13 (62 drafts)
   (run 'hg heads .' to see heads, 'hg merge' to merge)
   $ for node in `hg log -r 'desc(babar_)' --template '{node}\n'`;
   > do
   >    hg debugobsolete $node
   > done
   obsoleted 1 changesets
   obsoleted 1 changesets
   obsoleted 1 changesets
@@ -1239,17 +1239,17 @@ Test bundle overlay onto hidden revision
   o  0:4b34ecfb0d56 (draft) [ ] A
   
 
   $ hg clone -r1 . ../other-bundleoverlay
   adding changesets
   adding manifests
   adding file changes
   added 2 changesets with 2 changes to 1 files
-  new changesets 4b34ecfb0d56:44526ebb0f98
+  new changesets 4b34ecfb0d56:44526ebb0f98 (2 drafts)
   updating to branch default
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   $ cd ../other-bundleoverlay
   $ echo "B+" >> foo
   $ hg ci --amend -m "B+"
   $ hg log -G --hidden
   @  2:b7d587542d40 (draft) [tip ] B+
   |
@@ -1508,17 +1508,17 @@ Testing that strip remove markers:
       b0551702f918510f01ae838ab03a463054c67b46 draft
 
   $ hg unbundle .hg/strip-backup/e016b03fd86f-*-backup.hg
   adding changesets
   adding manifests
   adding file changes
   added 2 changesets with 2 changes to 2 files
   1 new obsolescence markers
-  new changesets e016b03fd86f:b0551702f918
+  new changesets e016b03fd86f:b0551702f918 (2 drafts)
   (run 'hg update' to get a working copy)
   $ hg debugobsolete | sort
   e008cf2834908e5d6b0f792a9d4b0e2272260fb8 b0551702f918510f01ae838ab03a463054c67b46 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '8', 'operation': 'amend', 'user': 'test'}
   $ hg log -G
   o  2:b0551702f918 (draft) [tip ] 2
   |
   o  1:e016b03fd86f (draft) [ ] 1
   |
--- a/tests/test-phases-exchange.t
+++ b/tests/test-phases-exchange.t
@@ -199,17 +199,17 @@ changegroup are added without phase move
   > [phases]
   > publish=0
   > EOF
   $ hg unbundle ../base.bundle
   adding changesets
   adding manifests
   adding file changes
   added 5 changesets with 5 changes to 5 files (+1 heads)
-  new changesets 054250a37db4:b555f63b6063
+  new changesets 054250a37db4:b555f63b6063 (5 drafts)
   test-debug-phase: new rev 0:  x -> 1
   test-debug-phase: new rev 1:  x -> 1
   test-debug-phase: new rev 2:  x -> 1
   test-debug-phase: new rev 3:  x -> 1
   test-debug-phase: new rev 4:  x -> 1
   (run 'hg heads' to see heads, 'hg merge' to merge)
   $ hgph
   o  4 draft a-D - b555f63b6063
@@ -233,17 +233,17 @@ Pulling from publish=False to publish=Fa
   > publish=0
   > EOF
   $ hg pull ../mu -r 54acac6f23ab
   pulling from ../mu
   adding changesets
   adding manifests
   adding file changes
   added 3 changesets with 3 changes to 3 files
-  new changesets 054250a37db4:54acac6f23ab
+  new changesets 054250a37db4:54acac6f23ab (3 drafts)
   test-debug-phase: new rev 0:  x -> 1
   test-debug-phase: new rev 1:  x -> 1
   test-debug-phase: new rev 2:  x -> 1
   (run 'hg update' to get a working copy)
   $ hgph
   o  2 draft a-C - 54acac6f23ab
   |
   o  1 draft a-B - 548a3d25dbf0
@@ -255,17 +255,17 @@ Even for common
 
   $ hg pull ../mu -r f54f1bb90ff3
   pulling from ../mu
   searching for changes
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files (+1 heads)
-  new changesets f54f1bb90ff3
+  new changesets f54f1bb90ff3 (1 drafts)
   test-debug-phase: new rev 3:  x -> 1
   (run 'hg heads' to see heads, 'hg merge' to merge)
   $ hgph
   o  3 draft b-A - f54f1bb90ff3
   |
   | o  2 draft a-C - 54acac6f23ab
   |/
   o  1 draft a-B - 548a3d25dbf0
@@ -328,17 +328,17 @@ pulling from Publish=False to publish=Fa
   $ cd ../mu
   $ hg pull ../nu
   pulling from ../nu
   searching for changes
   adding changesets
   adding manifests
   adding file changes
   added 2 changesets with 2 changes to 2 files
-  new changesets d6bcb4f74035:145e75495359
+  new changesets d6bcb4f74035:145e75495359 (2 drafts)
   4 local changesets published
   test-debug-phase: move rev 0: 1 -> 0
   test-debug-phase: move rev 1: 1 -> 0
   test-debug-phase: move rev 3: 1 -> 0
   test-debug-phase: move rev 4: 1 -> 0
   test-debug-phase: new rev 5:  x -> 1
   test-debug-phase: new rev 6:  x -> 1
   (run 'hg update' to get a working copy)
@@ -375,17 +375,17 @@ pulling into publish=True
   
   $ hg pull ../mu
   pulling from ../mu
   searching for changes
   adding changesets
   adding manifests
   adding file changes
   added 2 changesets with 2 changes to 2 files
-  new changesets d6bcb4f74035:145e75495359
+  new changesets d6bcb4f74035:145e75495359 (2 drafts)
   test-debug-phase: new rev 5:  x -> 1
   test-debug-phase: new rev 6:  x -> 1
   (run 'hg update' to get a working copy)
   $ hgph
   o  6 draft n-B - 145e75495359
   |
   o  5 draft n-A - d6bcb4f74035
   |
@@ -938,17 +938,17 @@ Discovery locally secret changeset on a 
   
   $ hg bundle --base 'parents(.)' -r . ../secret-bundle.hg
   1 changesets found
   $ hg -R ../mu unbundle ../secret-bundle.hg
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
-  new changesets 435b5d83910c
+  new changesets 435b5d83910c (1 drafts)
   test-debug-phase: new rev 10:  x -> 1
   (run 'hg update' to get a working copy)
   $ hgph -R ../mu
   o  10 draft A-secret - 435b5d83910c
   |
   o  9 public a-H - 967b449fbc94
   |
   | o  8 public a-F - b740e3e5c05d
@@ -1068,17 +1068,17 @@ pull new changeset with common draft loc
   $ cd ../alpha
   $ hg pull ../mu
   pulling from ../mu
   searching for changes
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
-  new changesets 5237fb433fc8
+  new changesets 5237fb433fc8 (1 drafts)
   test-debug-phase: new rev 13:  x -> 1
   (run 'hg update' to get a working copy)
   $ hgph
   o  13 draft mu-more - 5237fb433fc8
   |
   | @  12 draft alpha-more - 1c5cfd894796
   | |
   o |  11 draft A-secret - 435b5d83910c
@@ -1443,17 +1443,17 @@ Works with default settings
   $ cat hg.pid >> $DAEMON_PIDS
 
   $ hg clone -U http://localhost:$HGPORT mergetest-normal
   requesting all changes
   adding changesets
   adding manifests
   adding file changes
   added 8 changesets with 7 changes to 7 files (+1 heads)
-  new changesets 426bada5c675:bb94757e651a
+  new changesets 426bada5c675:bb94757e651a (4 drafts)
   test-debug-phase: new rev 0:  x -> 0
   test-debug-phase: new rev 1:  x -> 0
   test-debug-phase: new rev 2:  x -> 0
   test-debug-phase: new rev 3:  x -> 1
   test-debug-phase: new rev 4:  x -> 0
   test-debug-phase: new rev 5:  x -> 1
   test-debug-phase: new rev 6:  x -> 1
   test-debug-phase: new rev 7:  x -> 1
@@ -1485,17 +1485,17 @@ of phase heads computation)
   $ cat hg.pid >> $DAEMON_PIDS
 
   $ hg clone -U http://localhost:$HGPORT mergetest-nobinarypart
   requesting all changes
   adding changesets
   adding manifests
   adding file changes
   added 8 changesets with 7 changes to 7 files (+1 heads)
-  new changesets 426bada5c675:bb94757e651a
+  new changesets 426bada5c675:bb94757e651a (4 drafts)
   test-debug-phase: new rev 0:  x -> 0
   test-debug-phase: new rev 1:  x -> 0
   test-debug-phase: new rev 2:  x -> 0
   test-debug-phase: new rev 3:  x -> 1
   test-debug-phase: new rev 4:  x -> 0
   test-debug-phase: new rev 5:  x -> 1
   test-debug-phase: new rev 6:  x -> 1
   test-debug-phase: new rev 7:  x -> 1
@@ -1527,17 +1527,17 @@ of phase heads computation)
   $ cat hg.pid >> $DAEMON_PIDS
 
   $ hg --config devel.legacy.exchange=bundle1 clone -U http://localhost:$HGPORT mergetest-bundle1
   requesting all changes
   adding changesets
   adding manifests
   adding file changes
   added 8 changesets with 7 changes to 7 files (+1 heads)
-  new changesets 426bada5c675:bb94757e651a
+  new changesets 426bada5c675:bb94757e651a (4 drafts)
   test-debug-phase: new rev 0:  x -> 0
   test-debug-phase: new rev 1:  x -> 0
   test-debug-phase: new rev 2:  x -> 0
   test-debug-phase: new rev 3:  x -> 1
   test-debug-phase: new rev 4:  x -> 0
   test-debug-phase: new rev 5:  x -> 1
   test-debug-phase: new rev 6:  x -> 1
   test-debug-phase: new rev 7:  x -> 1
--- a/tests/test-pull-bundle.t
+++ b/tests/test-pull-bundle.t
@@ -54,37 +54,37 @@ Test pullbundle functionality
   listening at http://*:$HGPORT2/ (bound to $LOCALIP:$HGPORT2) (glob) (?)
   $ cat ../repo.pid >> $DAEMON_PIDS
   $ cd ..
   $ hg clone -r 0 http://localhost:$HGPORT2/ repo.pullbundle
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
-  new changesets bbd179dfa0a7
+  new changesets bbd179dfa0a7 (1 drafts)
   updating to branch default
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   $ cd repo.pullbundle
   $ hg pull -r 1
   pulling from http://localhost:$HGPORT2/
   searching for changes
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
-  new changesets ed1b79f46b9a
+  new changesets ed1b79f46b9a (1 drafts)
   (run 'hg update' to get a working copy)
   $ hg pull -r 2
   pulling from http://localhost:$HGPORT2/
   searching for changes
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files (+1 heads)
-  new changesets effea6de0384
+  new changesets effea6de0384 (1 drafts)
   (run 'hg heads' to see heads, 'hg merge' to merge)
   $ cd ..
   $ killdaemons.py
   $ grep 'sending pullbundle ' repo/.hg/blackbox.log
   * sending pullbundle "0.hg" (glob)
   * sending pullbundle "1.hg" (glob)
   * sending pullbundle "2.hg" (glob)
   $ rm repo/.hg/blackbox.log
@@ -105,17 +105,17 @@ Test pullbundle functionality for increm
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files (+1 heads)
-  new changesets bbd179dfa0a7:ed1b79f46b9a
+  new changesets bbd179dfa0a7:ed1b79f46b9a (3 drafts)
   updating to branch default
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   $ killdaemons.py
   $ grep 'sending pullbundle ' repo/.hg/blackbox.log
   * sending pullbundle "0.hg" (glob)
   * sending pullbundle "2.hg" (glob)
   * sending pullbundle "1.hg" (glob)
   $ rm repo/.hg/blackbox.log
@@ -131,17 +131,17 @@ Test recovery from misconfigured server 
   listening at http://*:$HGPORT2/ (bound to $LOCALIP:$HGPORT2) (glob) (?)
   $ cat ../repo.pid >> $DAEMON_PIDS
   $ cd ..
   $ hg clone -r 0 http://localhost:$HGPORT2/ repo.pullbundle3
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
-  new changesets bbd179dfa0a7
+  new changesets bbd179dfa0a7 (1 drafts)
   updating to branch default
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   $ cd repo.pullbundle3
   $ hg pull -r 1
   pulling from http://localhost:$HGPORT2/
   searching for changes
   adding changesets
   adding manifests
--- a/tests/test-push-checkheads-partial-C1.t
+++ b/tests/test-push-checkheads-partial-C1.t
@@ -48,17 +48,17 @@ Test setup
   $ cd ../client
   $ hg pull
   pulling from $TESTTMP/C1/server
   searching for changes
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
-  new changesets d73caddc5533
+  new changesets d73caddc5533 (1 drafts)
   (run 'hg update' to get a working copy)
   $ hg up 0
   0 files updated, 0 files merged, 1 files removed, 0 files unresolved
   $ mkcommit B1
   created new head
   $ hg debugobsolete `getid "desc(B0)" ` `getid "desc(B1)"`
   obsoleted 1 changesets
   $ hg log -G --hidden
--- a/tests/test-push-checkheads-partial-C2.t
+++ b/tests/test-push-checkheads-partial-C2.t
@@ -48,17 +48,17 @@ Test setup
   $ cd ../client
   $ hg pull
   pulling from $TESTTMP/C2/server
   searching for changes
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
-  new changesets d73caddc5533
+  new changesets d73caddc5533 (1 drafts)
   (run 'hg update' to get a working copy)
   $ hg up 0
   0 files updated, 0 files merged, 1 files removed, 0 files unresolved
   $ mkcommit A1
   created new head
   $ hg debugobsolete `getid "desc(A0)" ` `getid "desc(A1)"`
   obsoleted 1 changesets
   1 new orphan changesets
--- a/tests/test-push-checkheads-partial-C3.t
+++ b/tests/test-push-checkheads-partial-C3.t
@@ -48,17 +48,17 @@ Test setup
   $ cd ../client
   $ hg pull
   pulling from $TESTTMP/C3/server
   searching for changes
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
-  new changesets d73caddc5533
+  new changesets d73caddc5533 (1 drafts)
   (run 'hg update' to get a working copy)
   $ hg up 0
   0 files updated, 0 files merged, 1 files removed, 0 files unresolved
   $ mkcommit C0
   created new head
   $ hg debugobsolete --record-parents `getid "desc(B0)"`
   obsoleted 1 changesets
   $ hg log -G --hidden
--- a/tests/test-push-checkheads-partial-C4.t
+++ b/tests/test-push-checkheads-partial-C4.t
@@ -48,17 +48,17 @@ Test setup
   $ cd ../client
   $ hg pull
   pulling from $TESTTMP/C4/server
   searching for changes
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
-  new changesets d73caddc5533
+  new changesets d73caddc5533 (1 drafts)
   (run 'hg update' to get a working copy)
   $ hg up 0
   0 files updated, 0 files merged, 1 files removed, 0 files unresolved
   $ mkcommit C0
   created new head
   $ hg debugobsolete --record-parents `getid "desc(A0)"`
   obsoleted 1 changesets
   1 new orphan changesets
--- a/tests/test-push-checkheads-pruned-B2.t
+++ b/tests/test-push-checkheads-pruned-B2.t
@@ -48,17 +48,17 @@ Test setup
   $ cd ../client
   $ hg pull
   pulling from $TESTTMP/B2/server
   searching for changes
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
-  new changesets d73caddc5533
+  new changesets d73caddc5533 (1 drafts)
   (run 'hg update' to get a working copy)
   $ hg up 0
   0 files updated, 0 files merged, 1 files removed, 0 files unresolved
   $ mkcommit A1
   created new head
   $ hg debugobsolete `getid "desc(A0)" ` `getid "desc(A1)"`
   obsoleted 1 changesets
   1 new orphan changesets
--- a/tests/test-push-checkheads-pruned-B3.t
+++ b/tests/test-push-checkheads-pruned-B3.t
@@ -48,17 +48,17 @@ Test setup
   $ cd ../client
   $ hg pull
   pulling from $TESTTMP/B3/server
   searching for changes
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
-  new changesets d73caddc5533
+  new changesets d73caddc5533 (1 drafts)
   (run 'hg update' to get a working copy)
   $ hg up 0
   0 files updated, 0 files merged, 1 files removed, 0 files unresolved
   $ mkcommit B1
   created new head
   $ hg debugobsolete --record-parents `getid "desc(A0)"`
   obsoleted 1 changesets
   1 new orphan changesets
--- a/tests/test-push-checkheads-pruned-B4.t
+++ b/tests/test-push-checkheads-pruned-B4.t
@@ -49,17 +49,17 @@ Test setup
   $ cd ../client
   $ hg pull
   pulling from $TESTTMP/B4/server
   searching for changes
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
-  new changesets d73caddc5533
+  new changesets d73caddc5533 (1 drafts)
   (run 'hg update' to get a working copy)
   $ hg up 0
   0 files updated, 0 files merged, 1 files removed, 0 files unresolved
   $ mkcommit C0
   created new head
   $ hg debugobsolete --record-parents `getid "desc(A0)"`
   obsoleted 1 changesets
   1 new orphan changesets
--- a/tests/test-push-checkheads-pruned-B5.t
+++ b/tests/test-push-checkheads-pruned-B5.t
@@ -52,17 +52,17 @@ Test setup
   $ cd ../client
   $ hg pull
   pulling from $TESTTMP/B5/server
   searching for changes
   adding changesets
   adding manifests
   adding file changes
   added 2 changesets with 2 changes to 2 files
-  new changesets d73caddc5533:821fb21d0dd2
+  new changesets d73caddc5533:821fb21d0dd2 (2 drafts)
   (run 'hg update' to get a working copy)
   $ hg up 0
   0 files updated, 0 files merged, 1 files removed, 0 files unresolved
   $ mkcommit B1
   created new head
   $ hg debugobsolete --record-parents `getid "desc(A0)"`
   obsoleted 1 changesets
   2 new orphan changesets
--- a/tests/test-push-checkheads-pruned-B8.t
+++ b/tests/test-push-checkheads-pruned-B8.t
@@ -50,17 +50,17 @@ Test setup
   $ cd ../client
   $ hg pull
   pulling from $TESTTMP/B8/server
   searching for changes
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
-  new changesets d73caddc5533
+  new changesets d73caddc5533 (1 drafts)
   (run 'hg update' to get a working copy)
   $ hg up 0
   0 files updated, 0 files merged, 1 files removed, 0 files unresolved
   $ mkcommit A1
   created new head
   $ mkcommit B1
   $ hg up 0
   0 files updated, 0 files merged, 2 files removed, 0 files unresolved
--- a/tests/test-push-checkheads-superceed-A2.t
+++ b/tests/test-push-checkheads-superceed-A2.t
@@ -47,17 +47,17 @@ Test setup
   $ cd ../client
   $ hg pull
   pulling from $TESTTMP/A2/server
   searching for changes
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
-  new changesets d73caddc5533
+  new changesets d73caddc5533 (1 drafts)
   (run 'hg update' to get a working copy)
   $ hg up 0
   0 files updated, 0 files merged, 1 files removed, 0 files unresolved
   $ mkcommit A1
   created new head
   $ mkcommit B1
   $ hg debugobsolete `getid "desc(A0)" ` `getid "desc(A1)"`
   obsoleted 1 changesets
--- a/tests/test-push-checkheads-superceed-A3.t
+++ b/tests/test-push-checkheads-superceed-A3.t
@@ -50,17 +50,17 @@ Test setup
   $ cd ../client
   $ hg pull
   pulling from $TESTTMP/A3/server
   searching for changes
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
-  new changesets d73caddc5533
+  new changesets d73caddc5533 (1 drafts)
   (run 'hg update' to get a working copy)
   $ hg up 0
   0 files updated, 0 files merged, 1 files removed, 0 files unresolved
   $ mkcommit B1
   created new head
   $ mkcommit A1
   $ hg debugobsolete `getid "desc(A0)" ` `getid "desc(A1)"`
   obsoleted 1 changesets
--- a/tests/test-push-checkheads-superceed-A6.t
+++ b/tests/test-push-checkheads-superceed-A6.t
@@ -54,17 +54,17 @@ Test setup
   $ cd ../client
   $ hg pull
   pulling from $TESTTMP/A6/server
   searching for changes
   adding changesets
   adding manifests
   adding file changes
   added 2 changesets with 2 changes to 2 files (+1 heads)
-  new changesets d73caddc5533:0f88766e02d6
+  new changesets d73caddc5533:0f88766e02d6 (2 drafts)
   (run 'hg heads' to see heads, 'hg merge' to merge)
   $ hg up 0
   0 files updated, 0 files merged, 1 files removed, 0 files unresolved
   $ mkcommit A1
   created new head
   $ hg up 'desc(C0)'
   1 files updated, 0 files merged, 1 files removed, 0 files unresolved
   $ mkcommit B1
--- a/tests/test-push-checkheads-superceed-A7.t
+++ b/tests/test-push-checkheads-superceed-A7.t
@@ -54,17 +54,17 @@ Test setup
   $ cd ../client
   $ hg pull
   pulling from $TESTTMP/A7/server
   searching for changes
   adding changesets
   adding manifests
   adding file changes
   added 2 changesets with 2 changes to 2 files (+1 heads)
-  new changesets d73caddc5533:0f88766e02d6
+  new changesets d73caddc5533:0f88766e02d6 (2 drafts)
   (run 'hg heads' to see heads, 'hg merge' to merge)
   $ hg up 'desc(C0)'
   1 files updated, 0 files merged, 1 files removed, 0 files unresolved
   $ mkcommit A1
   $ hg up 0
   0 files updated, 0 files merged, 2 files removed, 0 files unresolved
   $ mkcommit B1
   created new head
--- a/tests/test-push-checkheads-unpushed-D2.t
+++ b/tests/test-push-checkheads-unpushed-D2.t
@@ -52,17 +52,17 @@ Test setup
   $ cd ../client
   $ hg pull
   pulling from $TESTTMP/D2/server
   searching for changes
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
-  new changesets d73caddc5533
+  new changesets d73caddc5533 (1 drafts)
   (run 'hg update' to get a working copy)
   $ hg up 0
   0 files updated, 0 files merged, 1 files removed, 0 files unresolved
   $ mkcommit A1
   created new head
   $ hg debugobsolete `getid "desc(A0)" ` `getid "desc(A1)"`
   obsoleted 1 changesets
   1 new orphan changesets
--- a/tests/test-push-checkheads-unpushed-D3.t
+++ b/tests/test-push-checkheads-unpushed-D3.t
@@ -51,17 +51,17 @@ Test setup
   $ cd ../client
   $ hg pull
   pulling from $TESTTMP/D3/server
   searching for changes
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
-  new changesets d73caddc5533
+  new changesets d73caddc5533 (1 drafts)
   (run 'hg update' to get a working copy)
   $ hg up 0
   0 files updated, 0 files merged, 1 files removed, 0 files unresolved
   $ mkcommit A1
   created new head
   $ hg up '0'
   0 files updated, 0 files merged, 1 files removed, 0 files unresolved
   $ mkcommit B1
--- a/tests/test-push-checkheads-unpushed-D4.t
+++ b/tests/test-push-checkheads-unpushed-D4.t
@@ -68,17 +68,17 @@ Test setup
   $ cd ../client
   $ hg pull
   pulling from $TESTTMP/D4/server
   searching for changes
   adding changesets
   adding manifests
   adding file changes
   added 2 changesets with 2 changes to 2 files (+1 heads)
-  new changesets d73caddc5533:0f88766e02d6
+  new changesets d73caddc5533:0f88766e02d6 (2 drafts)
   (run 'hg heads' to see heads, 'hg merge' to merge)
   $ hg up 0
   0 files updated, 0 files merged, 1 files removed, 0 files unresolved
   $ mkcommit A1
   created new head
   $ hg up 'desc(C0)'
   1 files updated, 0 files merged, 1 files removed, 0 files unresolved
   $ mkcommit B1
--- a/tests/test-push-checkheads-unpushed-D5.t
+++ b/tests/test-push-checkheads-unpushed-D5.t
@@ -57,17 +57,17 @@ Test setup
   $ cd ../client
   $ hg pull
   pulling from $TESTTMP/D5/server
   searching for changes
   adding changesets
   adding manifests
   adding file changes
   added 2 changesets with 2 changes to 2 files (+1 heads)
-  new changesets d73caddc5533:0f88766e02d6
+  new changesets d73caddc5533:0f88766e02d6 (2 drafts)
   (run 'hg heads' to see heads, 'hg merge' to merge)
   $ hg up 'desc(C0)'
   1 files updated, 0 files merged, 1 files removed, 0 files unresolved
   $ mkcommit A1
   $ hg up 0
   0 files updated, 0 files merged, 2 files removed, 0 files unresolved
   $ mkcommit B1
   created new head
--- a/tests/test-push-race.t
+++ b/tests/test-push-race.t
@@ -143,26 +143,26 @@ create a repo with one root
 clone it in two clients
 
   $ hg clone ssh://user@dummy/server client-racy
   requesting all changes
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
-  new changesets 842e2fac6304
+  new changesets 842e2fac6304 (1 drafts)
   updating to branch default
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   $ hg clone ssh://user@dummy/server client-other
   requesting all changes
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
-  new changesets 842e2fac6304
+  new changesets 842e2fac6304 (1 drafts)
   updating to branch default
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
 
 setup one to allow race on push
 
   $ cat >> client-racy/.hg/hgrc << EOF
   > [extensions]
   > delaypush = $TESTTMP/delaypush.py
@@ -237,35 +237,35 @@ Both try to replace a different head
 
   $ hg -R ./server pull ./client-racy
   pulling from ./client-racy
   searching for changes
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files (+1 heads)
-  new changesets a9149a1428e2
+  new changesets a9149a1428e2 (1 drafts)
   (run 'hg heads' to see heads, 'hg merge' to merge)
   $ hg -R ./client-other pull
   pulling from ssh://user@dummy/server
   searching for changes
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files (+1 heads)
-  new changesets a9149a1428e2
+  new changesets a9149a1428e2 (1 drafts)
   (run 'hg heads' to see heads, 'hg merge' to merge)
   $ hg -R ./client-racy pull
   pulling from ssh://user@dummy/server
   searching for changes
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files (+1 heads)
-  new changesets 98217d5a1659
+  new changesets 98217d5a1659 (1 drafts)
   (run 'hg heads' to see heads, 'hg merge' to merge)
 
   $ hg -R server graph
   o  a9149a1428e2 C-B (default)
   |
   | o  98217d5a1659 C-A (default)
   |/
   @  842e2fac6304 C-ROOT (default)
@@ -359,17 +359,17 @@ Pushing a new changeset while someone cr
 
   $ hg -R ./server pull ./client-racy
   pulling from ./client-racy
   searching for changes
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
-  new changesets 59e76faf78bd
+  new changesets 59e76faf78bd (1 drafts)
   (run 'hg update' to get a working copy)
 
 #endif
 #if unrelated
 
   $ hg -R ./server pull ./client-racy
   pulling from ./client-racy
   searching for changes
@@ -379,26 +379,26 @@ Pushing a new changeset while someone cr
 
   $ hg -R ./client-other pull
   pulling from ssh://user@dummy/server
   searching for changes
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
-  new changesets 59e76faf78bd
+  new changesets 59e76faf78bd (1 drafts)
   (run 'hg update' to get a working copy)
   $ hg -R ./client-racy pull
   pulling from ssh://user@dummy/server
   searching for changes
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
-  new changesets 51c544a58128
+  new changesets 51c544a58128 (1 drafts)
   (run 'hg update' to get a working copy)
 
   $ hg -R server graph
   o  59e76faf78bd C-D (default)
   |
   o  a9149a1428e2 C-B (default)
   |
   | o  51c544a58128 C-C (default)
@@ -517,17 +517,17 @@ Pushing two children on the same head, o
 
   $ hg -R ./server pull ./client-racy
   pulling from ./client-racy
   searching for changes
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
-  new changesets d9e379a8c432
+  new changesets d9e379a8c432 (1 drafts)
   (run 'hg update' to get a working copy)
 
 #endif
 #if unrelated
 
   $ hg -R ./server pull ./client-racy
   pulling from ./client-racy
   searching for changes
@@ -537,26 +537,26 @@ Pushing two children on the same head, o
 
   $ hg -R ./client-other pull
   pulling from ssh://user@dummy/server
   searching for changes
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
-  new changesets d9e379a8c432
+  new changesets d9e379a8c432 (1 drafts)
   (run 'hg update' to get a working copy)
   $ hg -R ./client-racy pull
   pulling from ssh://user@dummy/server
   searching for changes
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files (+1 heads)
-  new changesets d603e2c0cdd7
+  new changesets d603e2c0cdd7 (1 drafts)
   (run 'hg heads .' to see heads, 'hg merge' to merge)
 
   $ hg -R server graph
   o  d9e379a8c432 C-F (default)
   |
   o  51c544a58128 C-C (default)
   |
   | o  d603e2c0cdd7 C-E (default)
@@ -688,17 +688,17 @@ Pushing two children on the same head, o
 
   $ hg -R ./server pull ./client-racy
   pulling from ./client-racy
   searching for changes
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files (+1 heads)
-  new changesets 833be552cfe6
+  new changesets 833be552cfe6 (1 drafts)
   (run 'hg heads .' to see heads, 'hg merge' to merge)
 
 #endif
 #if unrelated
 
   $ hg -R ./server pull ./client-racy
   pulling from ./client-racy
   searching for changes
@@ -708,26 +708,26 @@ Pushing two children on the same head, o
 
   $ hg -R ./client-other pull
   pulling from ssh://user@dummy/server
   searching for changes
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files (+1 heads)
-  new changesets 833be552cfe6
+  new changesets 833be552cfe6 (1 drafts)
   (run 'hg heads .' to see heads, 'hg merge' to merge)
   $ hg -R ./client-racy pull
   pulling from ssh://user@dummy/server
   searching for changes
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files (+1 heads)
-  new changesets 75d69cba5402
+  new changesets 75d69cba5402 (1 drafts)
   (run 'hg heads' to see heads)
 
   $ hg -R server graph
   o  833be552cfe6 C-H (my-first-test-branch)
   |
   | o  75d69cba5402 C-G (default)
   |/
   o  d9e379a8c432 C-F (default)
@@ -873,17 +873,17 @@ There are multiple heads, but the racing
 
   $ hg -R ./server pull ./client-racy
   pulling from ./client-racy
   searching for changes
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files (+1 heads)
-  new changesets 89420bf00fae
+  new changesets 89420bf00fae (1 drafts)
   (run 'hg heads .' to see heads, 'hg merge' to merge)
 
 #endif
 
 #if unrelated
 
   $ hg -R ./server pull ./client-racy
   pulling from ./client-racy
@@ -894,26 +894,26 @@ There are multiple heads, but the racing
 
   $ hg -R ./client-other pull
   pulling from ssh://user@dummy/server
   searching for changes
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files (+1 heads)
-  new changesets 89420bf00fae
+  new changesets 89420bf00fae (1 drafts)
   (run 'hg heads' to see heads)
   $ hg -R ./client-racy pull
   pulling from ssh://user@dummy/server
   searching for changes
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files (+1 heads)
-  new changesets b35ed749f288
+  new changesets b35ed749f288 (1 drafts)
   (run 'hg heads .' to see heads, 'hg merge' to merge)
 
   $ hg -R server graph
   o  89420bf00fae C-J (default)
   |
   | o  b35ed749f288 C-I (my-second-test-branch)
   |/
   o  75d69cba5402 C-G (default)
@@ -1021,35 +1021,35 @@ There are multiple heads, the raced push
 
   $ hg -R ./server pull ./client-racy
   pulling from ./client-racy
   searching for changes
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files (+1 heads)
-  new changesets cac2cead0ff0
+  new changesets cac2cead0ff0 (1 drafts)
   (run 'hg heads .' to see heads, 'hg merge' to merge)
   $ hg -R ./client-other pull
   pulling from ssh://user@dummy/server
   searching for changes
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files (+1 heads)
-  new changesets cac2cead0ff0
+  new changesets cac2cead0ff0 (1 drafts)
   (run 'hg heads .' to see heads, 'hg merge' to merge)
   $ hg -R ./client-racy pull
   pulling from ssh://user@dummy/server
   searching for changes
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 0 changes to 0 files
-  new changesets be705100c623
+  new changesets be705100c623 (1 drafts)
   (run 'hg update' to get a working copy)
 
   $ hg -R server graph
   o  cac2cead0ff0 C-L (default)
   |
   | o  be705100c623 C-K (default)
   |/|
   | o  d603e2c0cdd7 C-E (default)
@@ -1164,17 +1164,17 @@ non-continuous branch are valid case, we
 
   $ hg -R ./server pull ./client-racy
   pulling from ./client-racy
   searching for changes
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 0 changes to 0 files
-  new changesets 866a66e18630
+  new changesets 866a66e18630 (1 drafts)
   (run 'hg update' to get a working copy)
 
 (creates named branch on head)
 
   $ hg -R ./server/ up 'desc("C-N")'
   2 files updated, 0 files merged, 0 files removed, 0 files unresolved
   $ hg -R ./server/ branch other
   marked working directory as branch other
@@ -1186,26 +1186,26 @@ non-continuous branch are valid case, we
 
   $ hg -R ./client-other pull
   pulling from ssh://user@dummy/server
   searching for changes
   adding changesets
   adding manifests
   adding file changes
   added 2 changesets with 0 changes to 0 files
-  new changesets 866a66e18630:55a6f1c01b48
+  new changesets 866a66e18630:55a6f1c01b48 (2 drafts)
   (run 'hg update' to get a working copy)
   $ hg -R ./client-racy pull
   pulling from ssh://user@dummy/server
   searching for changes
   adding changesets
   adding manifests
   adding file changes
   added 2 changesets with 1 changes to 1 files (+1 heads)
-  new changesets 6fd3090135df:55a6f1c01b48
+  new changesets 6fd3090135df:55a6f1c01b48 (2 drafts)
   (run 'hg heads .' to see heads, 'hg merge' to merge)
 
   $ hg -R server graph
   o  55a6f1c01b48 C-Z (other)
   |
   o    866a66e18630 C-N (default)
   |\
   +---o  6fd3090135df C-M (default)
@@ -1344,35 +1344,35 @@ non-continuous branch are valid case, we
 
   $ hg -R ./server pull ./client-racy
   pulling from ./client-racy
   searching for changes
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 0 changes to 0 files (+1 heads)
-  new changesets b0ee3d6f51bc
+  new changesets b0ee3d6f51bc (1 drafts)
   (run 'hg heads .' to see heads, 'hg merge' to merge)
   $ hg -R ./client-other pull
   pulling from ssh://user@dummy/server
   searching for changes
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 0 changes to 0 files (+1 heads)
-  new changesets b0ee3d6f51bc
+  new changesets b0ee3d6f51bc (1 drafts)
   (run 'hg heads .' to see heads, 'hg merge' to merge)
   $ hg -R ./client-racy pull
   pulling from ssh://user@dummy/server
   searching for changes
   adding changesets
   adding manifests
   adding file changes
   added 2 changesets with 1 changes to 1 files (+1 heads)
-  new changesets d0a85b2252a9:1b58ee3f79e5
+  new changesets d0a85b2252a9:1b58ee3f79e5 (2 drafts)
   (run 'hg heads .' to see heads, 'hg merge' to merge)
 
   $ hg -R server graph
   o  b0ee3d6f51bc C-Q (default)
   |
   | o  1b58ee3f79e5 C-P (default)
   | |
   | o  d0a85b2252a9 C-O (other)
@@ -1515,35 +1515,35 @@ raced commit push a new head obsoleting 
 
   $ hg -R ./server pull ./client-racy
   pulling from ./client-racy
   searching for changes
   adding changesets
   adding manifests
   adding file changes
   added 2 changesets with 2 changes to 1 files (+1 heads)
-  new changesets 2efd43f7b5ba:3d57ed3c1091
+  new changesets 2efd43f7b5ba:3d57ed3c1091 (2 drafts)
   (run 'hg heads .' to see heads, 'hg merge' to merge)
   $ hg -R ./client-other pull
   pulling from ssh://user@dummy/server
   searching for changes
   adding changesets
   adding manifests
   adding file changes
   added 2 changesets with 2 changes to 1 files (+1 heads)
-  new changesets 2efd43f7b5ba:3d57ed3c1091
+  new changesets 2efd43f7b5ba:3d57ed3c1091 (2 drafts)
   (run 'hg heads' to see heads, 'hg merge' to merge)
   $ hg -R ./client-racy pull
   pulling from ssh://user@dummy/server
   searching for changes
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files (+1 heads)
-  new changesets de7b9e2ba3f6
+  new changesets de7b9e2ba3f6 (1 drafts)
   (run 'hg heads' to see heads, 'hg merge' to merge)
 
   $ hg -R server graph
   o  3d57ed3c1091 C-T (other)
   |
   o  2efd43f7b5ba C-S (default)
   |
   | o  de7b9e2ba3f6 C-R (other)
@@ -1703,39 +1703,39 @@ racing commit push a new head obsoleting
   searching for changes
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files (+1 heads)
   1 new obsolescence markers
   obsoleted 1 changesets
   1 new orphan changesets
-  new changesets 720c5163ecf6
+  new changesets 720c5163ecf6 (1 drafts)
   (run 'hg heads .' to see heads, 'hg merge' to merge)
   $ hg -R ./client-other pull
   pulling from ssh://user@dummy/server
   searching for changes
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files (+1 heads)
   1 new obsolescence markers
   obsoleted 1 changesets
   1 new orphan changesets
-  new changesets 720c5163ecf6
+  new changesets 720c5163ecf6 (1 drafts)
   (run 'hg heads .' to see heads, 'hg merge' to merge)
   $ hg -R ./client-racy pull
   pulling from ssh://user@dummy/server
   searching for changes
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 0 changes to 0 files
   1 new orphan changesets
-  new changesets a98a47d8b85b
+  new changesets a98a47d8b85b (1 drafts)
   (run 'hg update' to get a working copy)
 
   $ hg -R server debugobsolete
   b0ee3d6f51bc4c0ca6d4f2907708027a6c376233 720c5163ecf64dcc6216bee2d62bf3edb1882499 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
   $ hg -R server graph
   o  720c5163ecf6 C-V (default)
   |
   | *  a98a47d8b85b C-U (default)
--- a/tests/test-push.t
+++ b/tests/test-push.t
@@ -6,17 +6,17 @@ Testing of the '--rev' flag
 ===========================
 
   $ hg init test-revflag
   $ hg -R test-revflag unbundle "$TESTDIR/bundles/remote.hg"
   adding changesets
   adding manifests
   adding file changes
   added 9 changesets with 7 changes to 4 files (+1 heads)
-  new changesets bfaf4b5cbf01:916f1afdef90
+  new changesets bfaf4b5cbf01:916f1afdef90 (9 drafts)
   (run 'hg heads' to see heads, 'hg merge' to merge)
 
   $ for i in 0 1 2 3 4 5 6 7 8; do
   >    echo
   >    hg init test-revflag-"$i"
   >    hg -R test-revflag push -r "$i" test-revflag-"$i"
   >    hg -R test-revflag-"$i" verify
   > done
--- a/tests/test-rebase-collapse.t
+++ b/tests/test-rebase-collapse.t
@@ -535,17 +535,17 @@ Rebase, collapse and copies
 
   $ hg init copies
   $ cd copies
   $ hg unbundle "$TESTDIR/bundles/renames.hg"
   adding changesets
   adding manifests
   adding file changes
   added 4 changesets with 11 changes to 7 files (+1 heads)
-  new changesets f447d5abf5ea:338e84e2e558
+  new changesets f447d5abf5ea:338e84e2e558 (4 drafts)
   (run 'hg heads' to see heads, 'hg merge' to merge)
   $ hg up -q tip
   $ hg tglog
   @  3: 338e84e2e558 'move2'
   |
   o  2: 6e7340ee38c0 'move1'
   |
   | o  1: 1352765a01d4 'change'
--- a/tests/test-rebase-conflicts.t
+++ b/tests/test-rebase-conflicts.t
@@ -150,17 +150,17 @@ Check that the right ancestors is used w
 
   $ hg init issue4041
   $ cd issue4041
   $ hg unbundle "$TESTDIR/bundles/issue4041.hg"
   adding changesets
   adding manifests
   adding file changes
   added 11 changesets with 8 changes to 3 files (+1 heads)
-  new changesets 24797d4f68de:2f2496ddf49d
+  new changesets 24797d4f68de:2f2496ddf49d (11 drafts)
   (run 'hg heads' to see heads)
   $ hg up default
   2 files updated, 0 files merged, 0 files removed, 0 files unresolved
   $ hg log -G
   o    changeset:   10:2f2496ddf49d
   |\   branch:      f1
   | |  tag:         tip
   | |  parent:      7:4c9fbe56a16f
--- a/tests/test-rebase-named-branches.t
+++ b/tests/test-rebase-named-branches.t
@@ -11,17 +11,17 @@
 
   $ hg init a
   $ cd a
   $ hg unbundle "$TESTDIR/bundles/rebase.hg"
   adding changesets
   adding manifests
   adding file changes
   added 8 changesets with 7 changes to 7 files (+2 heads)
-  new changesets cd010b8cd998:02de42196ebe
+  new changesets cd010b8cd998:02de42196ebe (8 drafts)
   (run 'hg heads' to see heads, 'hg merge' to merge)
   $ hg up tip
   3 files updated, 0 files merged, 0 files removed, 0 files unresolved
   $ cd ..
 
   $ hg clone -q -u . a a1
 
   $ cd a1
--- a/tests/test-rebase-obsolete.t
+++ b/tests/test-rebase-obsolete.t
@@ -22,17 +22,17 @@ Setup rebase canonical repo
 
   $ hg init base
   $ cd base
   $ hg unbundle "$TESTDIR/bundles/rebase.hg"
   adding changesets
   adding manifests
   adding file changes
   added 8 changesets with 7 changes to 7 files (+2 heads)
-  new changesets cd010b8cd998:02de42196ebe
+  new changesets cd010b8cd998:02de42196ebe (8 drafts)
   (run 'hg heads' to see heads, 'hg merge' to merge)
   $ hg up tip
   3 files updated, 0 files merged, 0 files removed, 0 files unresolved
   $ hg log -G
   @  7:02de42196ebe H
   |
   | o  6:eea13746799a G
   |/|
@@ -570,17 +570,17 @@ test on rebase dropping a merge
 
   $ hg init dropmerge
   $ cd dropmerge
   $ hg unbundle "$TESTDIR/bundles/rebase.hg"
   adding changesets
   adding manifests
   adding file changes
   added 8 changesets with 7 changes to 7 files (+2 heads)
-  new changesets cd010b8cd998:02de42196ebe
+  new changesets cd010b8cd998:02de42196ebe (8 drafts)
   (run 'hg heads' to see heads, 'hg merge' to merge)
   $ hg up 3
   4 files updated, 0 files merged, 0 files removed, 0 files unresolved
   $ hg merge 7
   2 files updated, 0 files merged, 0 files removed, 0 files unresolved
   (branch merge, don't forget to commit)
   $ hg ci -m 'M'
   $ echo I > I
--- a/tests/test-rebase-parameters.t
+++ b/tests/test-rebase-parameters.t
@@ -12,17 +12,17 @@
 
   $ hg init a
   $ cd a
   $ hg unbundle "$TESTDIR/bundles/rebase.hg"
   adding changesets
   adding manifests
   adding file changes
   added 8 changesets with 7 changes to 7 files (+2 heads)
-  new changesets cd010b8cd998:02de42196ebe
+  new changesets cd010b8cd998:02de42196ebe (8 drafts)
   (run 'hg heads' to see heads, 'hg merge' to merge)
   $ hg up tip
   3 files updated, 0 files merged, 0 files removed, 0 files unresolved
 
   $ echo I > I
   $ hg ci -AmI
   adding I
 
--- a/tests/test-rebase-scenario-global.t
+++ b/tests/test-rebase-scenario-global.t
@@ -13,17 +13,17 @@
 
   $ hg init a
   $ cd a
   $ hg unbundle "$TESTDIR/bundles/rebase.hg"
   adding changesets
   adding manifests
   adding file changes
   added 8 changesets with 7 changes to 7 files (+2 heads)
-  new changesets cd010b8cd998:02de42196ebe
+  new changesets cd010b8cd998:02de42196ebe (8 drafts)
   (run 'hg heads' to see heads, 'hg merge' to merge)
   $ hg up tip
   3 files updated, 0 files merged, 0 files removed, 0 files unresolved
   $ cd ..
 
 
 Rebasing
 D onto H - simple rebase:
@@ -416,17 +416,17 @@ All destination are B
 
   $ hg init ah
   $ cd ah
   $ hg unbundle "$TESTDIR/bundles/rebase-revset.hg"
   adding changesets
   adding manifests
   adding file changes
   added 9 changesets with 9 changes to 9 files (+2 heads)
-  new changesets 9ae2ed22e576:479ddb54a924
+  new changesets 9ae2ed22e576:479ddb54a924 (9 drafts)
   (run 'hg heads' to see heads, 'hg merge' to merge)
   $ hg tglog
   o  8: 479ddb54a924 'I'
   |
   o  7: 72434a4e60b0 'H'
   |
   o  6: 3d8a618087a7 'G'
   |
--- a/tests/test-ssh-clone-r.t
+++ b/tests/test-ssh-clone-r.t
@@ -14,17 +14,17 @@ creating 'remote' repo
 
   $ hg init remote
   $ cd remote
   $ hg unbundle "$TESTDIR/bundles/remote.hg"
   adding changesets
   adding manifests
   adding file changes
   added 9 changesets with 7 changes to 4 files (+1 heads)
-  new changesets bfaf4b5cbf01:916f1afdef90
+  new changesets bfaf4b5cbf01:916f1afdef90 (9 drafts)
   (run 'hg heads' to see heads, 'hg merge' to merge)
   $ hg up tip
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   $ cd ..
 
 clone remote via stream
 
   $ for i in 0 1 2 3 4 5 6 7 8; do
--- a/tests/test-strip.t
+++ b/tests/test-strip.t
@@ -215,17 +215,17 @@
   cache:rev-branch-cache -- {} (mandatory: False)
   phase-heads -- {} (mandatory: True)
       264128213d290d868c54642d13aeaa3675551a78 draft
   $ hg unbundle .hg/strip-backup/*
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 0 changes to 1 files (+1 heads)
-  new changesets 264128213d29
+  new changesets 264128213d29 (1 drafts)
   (run 'hg heads' to see heads, 'hg merge' to merge)
   $ rm .hg/strip-backup/*
   $ hg log --graph
   o  changeset:   4:264128213d29
   |  tag:         tip
   |  parent:      1:ef3a871183d7
   |  user:        test
   |  date:        Thu Jan 01 00:00:00 1970 +0000
@@ -1118,17 +1118,17 @@ test stripping a working directory paren
      summary:     commitA
   
 
   $ hg unbundle -u $TESTTMP/issue4736/.hg/strip-backup/35358f982181-a6f020aa-backup.hg
   adding changesets
   adding manifests
   adding file changes
   added 2 changesets with 1 changes to 1 files
-  new changesets 35358f982181:4cf5e92caec2
+  new changesets 35358f982181:4cf5e92caec2 (2 drafts)
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
 
   $ hg strip -k -r 35358f982181
   saved backup bundle to $TESTTMP/issue4736/.hg/strip-backup/35358f982181-a6f020aa-backup.hg
   $ hg log -G
   @  changeset:   3:f62c6c09b707
   |  branch:      new-branch
   |  tag:         tip
--- a/tests/test-symlink-os-yes-fs-no.py.out
+++ b/tests/test-symlink-os-yes-fs-no.py.out
@@ -1,12 +1,12 @@
 adding changesets
 adding manifests
 adding file changes
 added 1 changesets with 4 changes to 4 files
-new changesets d326ae2d01ee
+new changesets d326ae2d01ee (1 drafts)
 4 files updated, 0 files merged, 0 files removed, 0 files unresolved
 adding changesets
 adding manifests
 adding file changes
 added 1 changesets with 4 changes to 4 files
-new changesets d326ae2d01ee
+new changesets d326ae2d01ee (1 drafts)
 4 files updated, 0 files merged, 0 files removed, 0 files unresolved
--- a/tests/test-treemanifest.t
+++ b/tests/test-treemanifest.t
@@ -336,17 +336,17 @@ Stripping and recovering changes should 
   
 #endif
 
   $ hg unbundle .hg/strip-backup/*
   adding changesets
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
-  new changesets 51cfd7b1e13b
+  new changesets 51cfd7b1e13b (1 drafts)
   (run 'hg update' to get a working copy)
   $ hg --config extensions.strip= strip tip
   saved backup bundle to $TESTTMP/repo-mixed/.hg/strip-backup/*-backup.hg (glob)
   $ hg unbundle -q .hg/strip-backup/*
   $ hg debugindex --dir dir1
      rev linkrev nodeid       p1           p2
        0       4 064927a0648a 000000000000 000000000000
        1       5 25ecb8cb8618 000000000000 000000000000
--- a/tests/test-unionrepo.t
+++ b/tests/test-unionrepo.t
@@ -123,17 +123,17 @@ annotate works - an indication that link
 union repos can be cloned ... and clones works correctly
 
   $ hg clone -U union:repo1+repo2 repo3
   requesting all changes
   adding changesets
   adding manifests
   adding file changes
   added 6 changesets with 11 changes to 6 files (+1 heads)
-  new changesets f093fec0529b:2f0d178c469c
+  new changesets f093fec0529b:2f0d178c469c (6 drafts)
 
   $ hg -R repo3 paths
   default = union:repo1+repo2
 
   $ hg -R repo3 verify
   checking changesets
   checking manifests
   crosschecking files in changesets and manifests