merge with default to prepare the next version stable
authorPierre-Yves David <pierre-yves.david@ens-lyon.org>
Wed, 01 Feb 2017 15:04:54 +0100
branchstable
changeset 1788 0303bb24f673
parent 1786 b674277ea4ef (current diff)
parent 1787 e553fc96447d (diff)
child 1789 0b67eff25139
merge with default to prepare the next version
--- a/MANIFEST.in	Tue Jan 31 12:32:45 2017 -0800
+++ b/MANIFEST.in	Wed Feb 01 15:04:54 2017 +0100
@@ -1,21 +1,29 @@
-recursive-include docs/figures *.svg
+exclude contrib/nopushpublish.py
+exclude hgext/directaccess.py
+exclude hgext/drophack.py
+exclude hgext/inhibit.py
+exclude hgext/obsolete.py
+exclude Makefile
+exclude tests/test-drop.t
+exclude tests/test-inhibit.t
+exclude tests/test-oldconvert.t
+include COPYING
 include docs/figures/hgview-example.png
+include docs/makefile
+include docs/*.py
+include docs/README
 include docs/*.rst
-include docs/*.py
+include docs/static/*.svg
 include docs/tutorials/*.t
-include docs/makefile
-include docs/static/*.svg
+include hgext/evolve.py
 include hgext/__init__.py
-include hgext/evolve.py
 include hgext/pushexperiment.py
 include hgext/simple4server.py
-include setup.py
+include MANIFEST.in
 include README
-include COPYING
-include tests/*.t
+include setup.py
 include tests/*.py
-include tests/_exc-util.sh
-include tests/dummyssh
-exclude tests/test-oldconvert.t
-exclude tests/test-qsync.t
-exclude tests/test-drop.t
+include tests/*.sh
+include tests/*.t
+prune debian
+recursive-include docs/figures *.svg
--- a/Makefile	Tue Jan 31 12:32:45 2017 -0800
+++ b/Makefile	Wed Feb 01 15:04:54 2017 +0100
@@ -3,9 +3,7 @@
 
 help:
 	@echo 'Commonly used make targets:'
-	@echo '  tests              - run all tests in the automatic test suite'
-	@echo '  all-version-tests - run all tests against many hg versions'
-	@echo '  tests-%s           - run all tests in the specified hg version'
+	@echo '  deb-prepare - prepare the build of a debian package'
 
 all: help
 
--- a/README	Tue Jan 31 12:32:45 2017 -0800
+++ b/README	Wed Feb 01 15:04:54 2017 +0100
@@ -56,6 +56,12 @@
 Changelog
 =========
 
+5.6.0 --
+
+ - compatibility with Mercurial 4.1.
+ - improvement of prune error message.
+ - fold: require --from flag for folding revisions to working copy
+
 5.5.1 --
 
  - fix crash when trying to fold an empty revision set (issue5453)
--- a/hgext/evolve.py	Tue Jan 31 12:32:45 2017 -0800
+++ b/hgext/evolve.py	Wed Feb 01 15:04:54 2017 +0100
@@ -2514,7 +2514,8 @@
             raise error.Abort('nothing to prune')
 
         if _disallowednewunstable(repo, revs):
-            raise error.Abort(_("cannot prune in the middle of a stack"))
+            raise error.Abort(_("cannot prune in the middle of a stack"),
+                        hint = _("new unstable changesets are not allowed"))
 
         # defines successors changesets
         sucs = scmutil.revrange(repo, succs)
@@ -3067,16 +3068,17 @@
 
 @command('^fold|squash',
     [('r', 'rev', [], _("revision to fold")),
-     ('', 'exact', None, _("only fold specified revisions"))
+     ('', 'exact', None, _("only fold specified revisions")),
+     ('', 'from', None, _("fold revisions linearly to working copy parent"))
     ] + commitopts + commitopts2,
     _('hg fold [OPTION]... [-r] REV'))
 def fold(ui, repo, *revs, **opts):
     """fold multiple revisions into a single one
 
-    By default, folds all the revisions linearly between the given revisions
+    With --from, folds all the revisions linearly between the given revisions
     and the parent of the working directory.
 
-    Use --exact for folding only the specified revisions while ignoring the
+    With --exact, folds only the specified revisions while ignoring the
     parent of the working directory. In this case, the given revisions must
     form a linear unbroken chain.
 
@@ -3086,18 +3088,18 @@
 
      - Fold the current revision with its parent::
 
-         hg fold .^
+         hg fold --from .^
 
      - Fold all draft revisions with working directory parent::
 
-         hg fold 'draft()'
+         hg fold --from 'draft()'
 
        See :hg:`help phases` for more about draft revisions and
        :hg:`help revsets` for more about the `draft()` keyword
 
      - Fold revisions between 3 and 6 with the working directory parent::
 
-         hg fold 3::6
+         hg fold --from 3::6
 
      - Fold revisions 3 and 4:
 
@@ -3114,7 +3116,9 @@
 
     revs = scmutil.revrange(repo, revs)
 
-    if not opts['exact']:
+    if opts['from'] and opts['exact']:
+        raise error.Abort(_('cannot use both --from and --exact'))
+    elif opts['from']:
         # Try to extend given revision starting from the working directory
         extrevs = repo.revs('(%ld::.) or (.::%ld)', revs, revs)
         discardedrevs = [r for r in revs if r not in extrevs]
@@ -3123,6 +3127,11 @@
                                hint=_("given revisions are unrelated to parent "
                                       "of working directory"))
         revs = extrevs
+    elif opts['exact']:
+        # Nothing to do; "revs" is already set correctly
+        pass
+    else:
+        raise error.Abort(_('must specify either --from or --exact'))
 
     if not revs:
         raise error.Abort(_('specified revisions evaluate to an empty set'),
@@ -3138,7 +3147,7 @@
 
         root, head = _foldcheck(repo, revs)
 
-        tr = repo.transaction('touch')
+        tr = repo.transaction('fold')
         try:
             commitopts = opts.copy()
             allctx = [repo[r] for r in revs]
@@ -3237,8 +3246,9 @@
             newunstable = _disallowednewunstable(repo, revs)
             if newunstable:
                 raise error.Abort(
-                    _('cannot edit commit information in the middle of a stack'),
-                    hint=_('%s will be affected') % repo[newunstable.first()])
+                    _('cannot edit commit information in the middle of a '\
+                    'stack'), hint=_('%s will become unstable and new unstable'\
+                    ' changes are not allowed') % repo[newunstable.first()])
             root = head = repo[revs.first()]
 
         wctx = repo[None]
@@ -3302,7 +3312,8 @@
     head = repo[heads.first()]
     if _disallowednewunstable(repo, revs):
         raise error.Abort(_("cannot fold chain not ending with a head "\
-                            "or with branching"))
+                            "or with branching"), hint = _("new unstable"\
+                            " changesets are not allowed"))
     return root, head
 
 def _disallowednewunstable(repo, revs):
@@ -3840,6 +3851,17 @@
 def local_pullobsmarkers(self, heads=None, common=None):
     return _getobsmarkersstream(self._repo, heads=heads, common=common)
 
+# The wireproto.streamres API changed, handling chunking and compression
+# directly. Handle either case.
+if util.safehasattr(wireproto.abstractserverproto, 'groupchunks'):
+    # We need to handle chunking and compression directly
+    def streamres(d, proto):
+        wireproto.streamres(proto.groupchunks(d))
+else:
+    # Leave chunking and compression to streamres
+    def streamres(d, proto):
+        wireproto.streamres(reader=d, v1compressible=True)
+
 def srv_pullobsmarkers(repo, proto, others):
     opts = wireproto.options('', ['heads', 'common'], others)
     for k, v in opts.iteritems():
@@ -3851,7 +3873,7 @@
     finaldata.write('%20i' % len(obsdata))
     finaldata.write(obsdata)
     finaldata.seek(0)
-    return wireproto.streamres(proto.groupchunks(finaldata))
+    return streamres(finaldata, proto)
 
 def _obsrelsethashtreefm0(repo):
     return _obsrelsethashtree(repo, obsolete._fm0encodeonemarker)
--- a/hgext/simple4server.py	Tue Jan 31 12:32:45 2017 -0800
+++ b/hgext/simple4server.py	Wed Feb 01 15:04:54 2017 +0100
@@ -158,6 +158,17 @@
             seennodes |= pendingnodes
         return seenmarkers
 
+# The wireproto.streamres API changed, handling chunking and compression
+# directly. Handle either case.
+if util.safehasattr(wireproto.abstractserverproto, 'groupchunks'):
+    # We need to handle chunking and compression directly
+    def streamres(d, proto):
+        return wireproto.streamres(proto.groupchunks(d))
+else:
+    # Leave chunking and compression to streamres
+    def streamres(d, proto):
+        return wireproto.streamres(reader=d, v1compressible=True)
+
 # from evolve extension: cf35f38d6a10
 def srv_pullobsmarkers(repo, proto, others):
     """serves a binary stream of markers.
@@ -175,7 +186,7 @@
     finaldata.write('%20i' % len(obsdata))
     finaldata.write(obsdata)
     finaldata.seek(0)
-    return wireproto.streamres(proto.groupchunks(finaldata))
+    return streamres(finaldata, proto)
 
 
 # from evolve extension: 3249814dabd1
--- a/tests/test-evolve.t	Tue Jan 31 12:32:45 2017 -0800
+++ b/tests/test-evolve.t	Wed Feb 01 15:04:54 2017 +0100
@@ -679,7 +679,16 @@
   $ hg fold
   abort: no revisions specified
   [255]
+  $ hg fold --from
+  abort: no revisions specified
+  [255]
   $ hg fold .
+  abort: must specify either --from or --exact
+  [255]
+  $ hg fold --from . --exact
+  abort: cannot use both --from and --exact
+  [255]
+  $ hg fold --from .
   single revision specified, nothing to fold
   [1]
   $ hg fold 0::10 --rev 1 --exact
@@ -688,22 +697,22 @@
   $ hg fold -r 4 -r 6 --exact
   abort: cannot fold non-linear revisions (multiple roots given)
   [255]
+  $ hg fold --from 10 1
+  abort: cannot fold non-linear revisions
+  (given revisions are unrelated to parent of working directory)
+  [255]
   $ hg fold --exact -r "4 and not 4"
   abort: specified revisions evaluate to an empty set
   (use different revision arguments)
   [255]
-  $ hg fold 10 1
-  abort: cannot fold non-linear revisions
-  (given revisions are unrelated to parent of working directory)
-  [255]
   $ hg phase --public 0
-  $ hg fold -r 0
+  $ hg fold --from -r 0
   abort: cannot fold public revisions
   [255]
-  $ hg fold -r 5
+  $ hg fold --from -r 5
   3 changesets folded
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
-  $ hg fold 6 # want to run hg fold 6
+  $ hg fold --from 6 # want to run hg fold 6
   abort: hidden revision '6'!
   (use --hidden to access hidden revisions)
   [255]
@@ -810,7 +819,7 @@
 Test fold with commit messages
 
   $ cd ../work
-  $ hg fold .^ --message "Folding with custom commit message"
+  $ hg fold --from .^ --message "Folding with custom commit message"
   2 changesets folded
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   $ glog
@@ -829,7 +838,7 @@
   >                   commit message
   > EOF
 
-  $ hg fold .^ --logfile commit-message
+  $ hg fold --from .^ --logfile commit-message
   2 changesets folded
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   $ hg qlog
@@ -1305,9 +1314,11 @@
   created new head
   $ hg prune '26 + 27'
   abort: cannot prune in the middle of a stack
+  (new unstable changesets are not allowed)
   [255]
   $ hg prune '19::28'
   abort: cannot prune in the middle of a stack
+  (new unstable changesets are not allowed)
   [255]
   $ hg prune '26::'
   3 changesets pruned
@@ -1342,9 +1353,11 @@
 
   $ hg fold --exact "19 + 18"
   abort: cannot fold chain not ending with a head or with branching
+  (new unstable changesets are not allowed)
   [255]
   $ hg fold --exact "18::29"
   abort: cannot fold chain not ending with a head or with branching
+  (new unstable changesets are not allowed)
   [255]
   $ hg fold --exact "19::"
   2 changesets folded
@@ -1487,10 +1500,11 @@
 check that metaedit respects allowunstable
   $ hg metaedit '.^' --config 'experimental.evolution=createmarkers, allnewcommands'
   abort: cannot edit commit information in the middle of a stack
-  (c904da5245b0 will be affected)
+  (c904da5245b0 will become unstable and new unstable changes are not allowed)
   [255]
   $ hg metaedit '18::20' --fold --config 'experimental.evolution=createmarkers, allnewcommands'
   abort: cannot fold chain not ending with a head or with branching
+  (new unstable changesets are not allowed)
   [255]
   $ hg metaedit --user foobar
   0 files updated, 0 files merged, 0 files removed, 0 files unresolved
--- a/tests/test-obsolete.t	Tue Jan 31 12:32:45 2017 -0800
+++ b/tests/test-obsolete.t	Wed Feb 01 15:04:54 2017 +0100
@@ -580,6 +580,7 @@
   parent:      10:2033b4e49474
   user:        test
   date:        Thu Jan 01 00:00:00 1970 +0000
+  trouble:     bumped
   summary:     add obsol_d'''
   
   $ hg push ../other-new/
@@ -609,6 +610,7 @@
   |/   parent:      10:2033b4e49474
   |    user:        test
   |    date:        Thu Jan 01 00:00:00 1970 +0000
+  |    trouble:     bumped
   |    summary:     add obsol_d'''
   |
   | o  changeset:   11:9468a5f5d8b2
@@ -672,6 +674,7 @@
   parent:      10:2033b4e49474
   user:        test
   date:        Thu Jan 01 00:00:00 1970 +0000
+  trouble:     bumped, divergent
   summary:     add obsol_d'''
   
   changeset:   16:50f11e5e3a63
@@ -679,6 +682,7 @@
   parent:      11:9468a5f5d8b2
   user:        test
   date:        Thu Jan 01 00:00:00 1970 +0000
+  trouble:     divergent
   summary:     add obsolet_conflicting_d
   
 
@@ -716,12 +720,14 @@
   |  parent:      2:4538525df7e2
   |  user:        test
   |  date:        Thu Jan 01 00:00:00 1970 +0000
+  |  trouble:     unstable
   |  summary:     add obsol_d''
   |
   | o  changeset:   16:50f11e5e3a63
   | |  parent:      11:9468a5f5d8b2
   | |  user:        test
   | |  date:        Thu Jan 01 00:00:00 1970 +0000
+  | |  trouble:     divergent
   | |  summary:     add obsolet_conflicting_d
   | |
   | | o  changeset:   15:705ab2a6b72e
@@ -745,6 +751,7 @@
   | | |/   parent:      10:2033b4e49474
   | | |    user:        test
   | | |    date:        Thu Jan 01 00:00:00 1970 +0000
+  | | |    trouble:     bumped, divergent
   | | |    summary:     add obsol_d'''
   | | |
   | o |  changeset:   11:9468a5f5d8b2
--- a/tests/test-simple4server-bundle2.t	Tue Jan 31 12:32:45 2017 -0800
+++ b/tests/test-simple4server-bundle2.t	Wed Feb 01 15:04:54 2017 +0100
@@ -71,12 +71,12 @@
 Capacity testing
 ===================
 
-  $ wget -q -O - http://localhost:$HGPORT/?cmd=hello
+  $ curl -s http://localhost:$HGPORT/?cmd=hello
   capabilities: * _evoext_pushobsmarkers_0 _evoext_pullobsmarkers_0 _evoext_obshash_0 _evoext_obshash_1 _evoext_getbundle_obscommon (glob)
-  $ wget -q -O - http://localhost:$HGPORT/?cmd=capabilities
+  $ curl -s http://localhost:$HGPORT/?cmd=capabilities
   * _evoext_pushobsmarkers_0 _evoext_pullobsmarkers_0 _evoext_obshash_0 _evoext_obshash_1 _evoext_getbundle_obscommon (no-eol) (glob)
 
-  $ wget -q -O - "http://localhost:$HGPORT/?cmd=listkeys&namespace=namespaces" | sort
+  $ curl -s "http://localhost:$HGPORT/?cmd=listkeys&namespace=namespaces" | sort
   bookmarks	
   namespaces	
   obsolete	
@@ -128,14 +128,14 @@
 ===========================================
 (used by bitbucket to select which repo use evolve)
 
-  $ wget -q -O - "http://localhost:$HGPORT/?cmd=listkeys&namespace=namespaces" | sort
+  $ curl -s "http://localhost:$HGPORT/?cmd=listkeys&namespace=namespaces" | sort
   bookmarks	
   namespaces	
   obsolete	
   phases	
-  $ wget -q -O - http://localhost:$HGPORT/?cmd=hello
+  $ curl -s http://localhost:$HGPORT/?cmd=hello
   capabilities: * _evoext_pushobsmarkers_0 _evoext_pullobsmarkers_0 _evoext_obshash_0 _evoext_obshash_1 _evoext_getbundle_obscommon (glob)
-  $ wget -q -O - http://localhost:$HGPORT/?cmd=capabilities
+  $ curl -s http://localhost:$HGPORT/?cmd=capabilities
   * _evoext_pushobsmarkers_0 _evoext_pullobsmarkers_0 _evoext_obshash_0 _evoext_obshash_1 _evoext_getbundle_obscommon (no-eol) (glob)
 
   $ echo '[__temporary__]' >> server/.hg/hgrc
@@ -144,7 +144,7 @@
   $ hg serve -R server -n test -p $HGPORT -d --pid-file=hg.pid -A access.log -E errors.log
   $ cat hg.pid >> $DAEMON_PIDS
 
-  $ wget -q -O - "http://localhost:$HGPORT/?cmd=listkeys&namespace=namespaces" | sort
+  $ curl -s "http://localhost:$HGPORT/?cmd=listkeys&namespace=namespaces" | sort
   bookmarks	
   namespaces	
   phases	
@@ -154,13 +154,13 @@
   $ hg serve -R server -n test -p $HGPORT -d --pid-file=hg.pid -A access.log -E errors.log
   $ cat hg.pid >> $DAEMON_PIDS
 
-  $ wget -q -O - "http://localhost:$HGPORT/?cmd=listkeys&namespace=namespaces" | sort
+  $ curl -s "http://localhost:$HGPORT/?cmd=listkeys&namespace=namespaces" | sort
   bookmarks	
   namespaces	
   obsolete	
   phases	
 
-  $ wget -q -O - http://localhost:$HGPORT/?cmd=hello
+  $ curl -s http://localhost:$HGPORT/?cmd=hello
   capabilities: * _evoext_pushobsmarkers_0 _evoext_pullobsmarkers_0 _evoext_obshash_0 _evoext_obshash_1 _evoext_getbundle_obscommon (glob)
-  $ wget -q -O - http://localhost:$HGPORT/?cmd=capabilities
+  $ curl -s http://localhost:$HGPORT/?cmd=capabilities
   * _evoext_pushobsmarkers_0 _evoext_pullobsmarkers_0 _evoext_obshash_0 _evoext_obshash_1 _evoext_getbundle_obscommon (no-eol) (glob)
--- a/tests/test-simple4server.t	Tue Jan 31 12:32:45 2017 -0800
+++ b/tests/test-simple4server.t	Wed Feb 01 15:04:54 2017 +0100
@@ -75,12 +75,12 @@
 Capacity testing
 ===================
 
-  $ wget -q -O - http://localhost:$HGPORT/?cmd=hello
+  $ curl -s http://localhost:$HGPORT/?cmd=hello
   capabilities: * _evoext_pushobsmarkers_0 _evoext_pullobsmarkers_0 _evoext_obshash_0 _evoext_obshash_1 _evoext_getbundle_obscommon (glob)
-  $ wget -q -O - http://localhost:$HGPORT/?cmd=capabilities
+  $ curl -s http://localhost:$HGPORT/?cmd=capabilities
   * _evoext_pushobsmarkers_0 _evoext_pullobsmarkers_0 _evoext_obshash_0 _evoext_obshash_1 _evoext_getbundle_obscommon (no-eol) (glob)
 
-  $ wget -q -O - "http://localhost:$HGPORT/?cmd=listkeys&namespace=namespaces" | sort
+  $ curl -s "http://localhost:$HGPORT/?cmd=listkeys&namespace=namespaces" | sort
   bookmarks	
   namespaces	
   obsolete	
@@ -133,14 +133,14 @@
 ===========================================
 (used by bitbucket to select which repo use evolve)
 
-  $ wget -q -O - "http://localhost:$HGPORT/?cmd=listkeys&namespace=namespaces" | sort
+  $ curl -s "http://localhost:$HGPORT/?cmd=listkeys&namespace=namespaces" | sort
   bookmarks	
   namespaces	
   obsolete	
   phases	
-  $ wget -q -O - http://localhost:$HGPORT/?cmd=hello
+  $ curl -s http://localhost:$HGPORT/?cmd=hello
   capabilities: * _evoext_pushobsmarkers_0 _evoext_pullobsmarkers_0 _evoext_obshash_0 _evoext_obshash_1 _evoext_getbundle_obscommon (glob)
-  $ wget -q -O - http://localhost:$HGPORT/?cmd=capabilities
+  $ curl -s http://localhost:$HGPORT/?cmd=capabilities
   * _evoext_pushobsmarkers_0 _evoext_pullobsmarkers_0 _evoext_obshash_0 _evoext_obshash_1 _evoext_getbundle_obscommon (no-eol) (glob)
 
   $ echo '[__temporary__]' >> server/.hg/hgrc
@@ -149,13 +149,13 @@
   $ hg serve -R server -n test -p $HGPORT -d --pid-file=hg.pid -A access.log -E errors.log
   $ cat hg.pid >> $DAEMON_PIDS
 
-  $ wget -q -O - "http://localhost:$HGPORT/?cmd=listkeys&namespace=namespaces" | sort
+  $ curl -s "http://localhost:$HGPORT/?cmd=listkeys&namespace=namespaces" | sort
   bookmarks	
   namespaces	
   phases	
-  $ wget -q -O - http://localhost:$HGPORT/?cmd=hello | grep _evoext_pushobsmarkers_0
+  $ curl -s http://localhost:$HGPORT/?cmd=hello | grep _evoext_pushobsmarkers_0
   [1]
-  $ wget -q -O - http://localhost:$HGPORT/?cmd=capabilities | grep _evoext_pushobsmarkers_0
+  $ curl -s http://localhost:$HGPORT/?cmd=capabilities | grep _evoext_pushobsmarkers_0
   [1]
 
   $ echo 'advertiseobsolete=True' >> server/.hg/hgrc
@@ -163,12 +163,12 @@
   $ hg serve -R server -n test -p $HGPORT -d --pid-file=hg.pid -A access.log -E errors.log
   $ cat hg.pid >> $DAEMON_PIDS
 
-  $ wget -q -O - "http://localhost:$HGPORT/?cmd=listkeys&namespace=namespaces" | sort
+  $ curl -s "http://localhost:$HGPORT/?cmd=listkeys&namespace=namespaces" | sort
   bookmarks	
   namespaces	
   obsolete	
   phases	
-  $ wget -q -O - http://localhost:$HGPORT/?cmd=hello
+  $ curl -s http://localhost:$HGPORT/?cmd=hello
   capabilities: * _evoext_pushobsmarkers_0 _evoext_pullobsmarkers_0 _evoext_obshash_0 _evoext_obshash_1 _evoext_getbundle_obscommon (glob)
-  $ wget -q -O - http://localhost:$HGPORT/?cmd=capabilities
+  $ curl -s http://localhost:$HGPORT/?cmd=capabilities
   * _evoext_pushobsmarkers_0 _evoext_pullobsmarkers_0 _evoext_obshash_0 _evoext_obshash_1 _evoext_getbundle_obscommon (no-eol) (glob)
--- a/tests/test-stabilize-conflict.t	Tue Jan 31 12:32:45 2017 -0800
+++ b/tests/test-stabilize-conflict.t	Wed Feb 01 15:04:54 2017 +0100
@@ -145,6 +145,7 @@
   | o  changeset:   5:71c18f70c34f
   | |  user:        test
   | |  date:        Thu Jan 01 00:00:00 1970 +0000
+  | |  trouble:     unstable
   | |  summary:     babar count up to fifteen
   | |
   | x  changeset:   4:5977072d13c5
@@ -235,6 +236,7 @@
   | o  changeset:   8:1836b91c6c1d
   | |  user:        test
   | |  date:        Thu Jan 01 00:00:00 1970 +0000
+  | |  trouble:     unstable
   | |  summary:     babar count up to fifteen
   | |
   | x  changeset:   7:e04690b09bc6
--- a/tests/test-stabilize-order.t	Tue Jan 31 12:32:45 2017 -0800
+++ b/tests/test-stabilize-order.t	Wed Feb 01 15:04:54 2017 +0100
@@ -209,11 +209,13 @@
   | |  parent:      12:2256dae6521f
   | |  user:        test
   | |  date:        Thu Jan 01 00:00:00 1970 +0000
+  | |  trouble:     unstable
   | |  summary:     secondambiguous
   | |
   | | o  changeset:   13:bdc003b6eec2
   | |/   user:        test
   | |    date:        Thu Jan 01 00:00:00 1970 +0000
+  | |    trouble:     unstable
   | |    summary:     firstambiguous
   | |
   | x  changeset:   12:2256dae6521f
--- a/tests/test-tutorial.t	Tue Jan 31 12:32:45 2017 -0800
+++ b/tests/test-tutorial.t	Wed Feb 01 15:04:54 2017 +0100
@@ -480,17 +480,18 @@
   
   fold multiple revisions into a single one
   
-      By default, folds all the revisions linearly between the given revisions
+      With --from, folds all the revisions linearly between the given revisions
       and the parent of the working directory.
   
-      Use --exact for folding only the specified revisions while ignoring the
-      parent of the working directory. In this case, the given revisions must
-      form a linear unbroken chain.
+      With --exact, folds only the specified revisions while ignoring the parent
+      of the working directory. In this case, the given revisions must form a
+      linear unbroken chain.
   
   options ([+] can be repeated):
   
    -r --rev VALUE [+] revision to fold
       --exact         only fold specified revisions
+      --from          fold revisions linearly to working copy parent
    -m --message TEXT  use text as commit message
    -l --logfile FILE  read commit message from file
    -d --date DATE     record the specified date as commit date
--- a/tests/test-userguide.t	Tue Jan 31 12:32:45 2017 -0800
+++ b/tests/test-userguide.t	Wed Feb 01 15:04:54 2017 +0100
@@ -109,7 +109,7 @@
   7:05e61aab8294  step 1
   8:be6d5bc8e4cc  step 2
   9:35f432d9f7c1  step 3
-  $ hg fold -d '0 0' -m 'fix bug 64' -r 7::
+  $ hg fold -d '0 0' -m 'fix bug 64' --from -r 7::
   3 changesets folded
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   $ hg --hidden shortlog -G -r 6::