# HG changeset patch # User Pierre-Yves David # Date 1485960051 -3600 # Node ID 4de90774eade98d2d00fc70a4cb017cb98fd1606 # Parent 2be05515b142af31a42c6abde41c934bc89e6963# Parent 147aa58d8962417881bc39d676ff708ff1f9a079 merge with 5.6.0 Not extra change were needed from the mercurial-3.8 branch diff -r 147aa58d8962 -r 4de90774eade .hgtags --- a/.hgtags Sat Oct 29 14:55:57 2016 +0200 +++ b/.hgtags Wed Feb 01 15:40:51 2017 +0100 @@ -41,3 +41,5 @@ bd59cc2ee2039c370a0343f683488cde2a106565 5.3.0 b21ce82e6f7640c2b38506545968650227d67e9b 5.4.0 2ad40d972a740a613c4c559104166a015b37cac2 5.4.1 +727c7211c810d304ebf92b32db7ecf697ce46ac6 5.5.0 +99ede2d775458a236a46ad25a93aca473b676eee 5.6.0 diff -r 147aa58d8962 -r 4de90774eade MANIFEST.in --- a/MANIFEST.in Sat Oct 29 14:55:57 2016 +0200 +++ b/MANIFEST.in Wed Feb 01 15:40:51 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 diff -r 147aa58d8962 -r 4de90774eade Makefile --- a/Makefile Sat Oct 29 14:55:57 2016 +0200 +++ b/Makefile Wed Feb 01 15:40:51 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 diff -r 147aa58d8962 -r 4de90774eade README --- a/README Sat Oct 29 14:55:57 2016 +0200 +++ b/README Wed Feb 01 15:40:51 2017 +0100 @@ -46,7 +46,7 @@ say in $HGSRC: cd tests - python $HGSRC/tests/run-tests.py --with-hg=$HGSRC/hg + python $HGSRC/tests/run-tests.py (evolve's stable and default branches correspond to Mercurial's stable and default branches. So to test evolve from default, you need @@ -56,12 +56,18 @@ Changelog ========= -5.5.0 -- +5.6.0 -- 2016-10-30 + + - compatibility with Mercurial 4.1. + - improvement of prune error message. + - fold: require --from flag for folding revisions to working copy + - fix crash when trying to fold an empty revision set (issue5453) + - uncommit: preserve copy information of remaining files (issue5403) + +5.5.0 -- 2016-10-30 - The {obsolete} template now yield "obsolete" or "". - -5.4.2 -- - + - compatibility with Mercurial 4.0 - Fix erroneous manifest computation when solving 'bumped' changeset. - split: avoid crash on empty commit (issue5191), - next: improve locking to avoid issue with working copy parent (issue5244) diff -r 147aa58d8962 -r 4de90774eade debian/changelog --- a/debian/changelog Sat Oct 29 14:55:57 2016 +0200 +++ b/debian/changelog Wed Feb 01 15:40:51 2017 +0100 @@ -1,3 +1,15 @@ +mercurial-evolve (5.6.0-1) UNRELEASED; urgency=medium + + * New Upstream Release + + -- Pierre-Yves David Wed, 01 Feb 2017 15:06:21 +0100 + +mercurial-evolve (5.5.0-1) unstable; urgency=medium + + * new upstream release + + -- Pierre-Yves David Sun, 30 Oct 2016 23:27:14 +0100 + mercurial-evolve (5.2.1-1) unstable; urgency=medium * New upstream release. diff -r 147aa58d8962 -r 4de90774eade hgext/evolve.py --- a/hgext/evolve.py Sat Oct 29 14:55:57 2016 +0200 +++ b/hgext/evolve.py Wed Feb 01 15:40:51 2017 +0100 @@ -19,8 +19,8 @@ - improves some aspect of the early implementation in Mercurial core ''' -__version__ = '5.4.1' -testedwith = '3.4.3 3.5.2 3.6.2 3.7.3 3.8.1 3.9 4.0' +__version__ = '5.6.0' +testedwith = '3.4.3 3.5.2 3.6.2 3.7.3 3.8.1 3.9 4.0 4.1' buglink = 'https://bz.mercurial-scm.org/' @@ -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) @@ -2687,7 +2688,7 @@ # Filter copies copied = copies.pathcopies(target, ctx) - copied = dict((src, dst) for src, dst in copied.iteritems() + copied = dict((dst, src) for dst, src in copied.iteritems() if dst in files) def filectxfn(repo, memctx, path, contentctx=ctx, redirect=newcontent): if path in redirect: @@ -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,8 +3127,16 @@ hint=_("given revisions are unrelated to parent " "of working directory")) revs = extrevs - - if len(revs) == 1: + 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'), + hint=_('use different revision arguments')) + elif len(revs) == 1: ui.write_err(_('single revision specified, nothing to fold\n')) return 1 @@ -3135,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] @@ -3234,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] @@ -3299,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): @@ -3837,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): + return wireproto.streamres(proto.groupchunks(d)) +else: + # Leave chunking and compression to streamres + def streamres(d, proto): + return wireproto.streamres(reader=d, v1compressible=True) + def srv_pullobsmarkers(repo, proto, others): opts = wireproto.options('', ['heads', 'common'], others) for k, v in opts.iteritems(): @@ -3848,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) diff -r 147aa58d8962 -r 4de90774eade hgext/simple4server.py --- a/hgext/simple4server.py Sat Oct 29 14:55:57 2016 +0200 +++ b/hgext/simple4server.py Wed Feb 01 15:40:51 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 diff -r 147aa58d8962 -r 4de90774eade tests/test-evolve.t --- a/tests/test-evolve.t Sat Oct 29 14:55:57 2016 +0200 +++ b/tests/test-evolve.t Wed Feb 01 15:40:51 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,18 +697,22 @@ $ hg fold -r 4 -r 6 --exact abort: cannot fold non-linear revisions (multiple roots given) [255] - $ hg fold 10 1 + $ 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 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] @@ -806,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 @@ -825,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 @@ -1298,9 +1311,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 @@ -1333,9 +1348,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 @@ -1475,10 +1492,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 diff -r 147aa58d8962 -r 4de90774eade tests/test-obsolete.t diff -r 147aa58d8962 -r 4de90774eade tests/test-simple4server-bundle2.t --- a/tests/test-simple4server-bundle2.t Sat Oct 29 14:55:57 2016 +0200 +++ b/tests/test-simple4server-bundle2.t Wed Feb 01 15:40:51 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) diff -r 147aa58d8962 -r 4de90774eade tests/test-simple4server.t --- a/tests/test-simple4server.t Sat Oct 29 14:55:57 2016 +0200 +++ b/tests/test-simple4server.t Wed Feb 01 15:40:51 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) diff -r 147aa58d8962 -r 4de90774eade tests/test-stabilize-conflict.t diff -r 147aa58d8962 -r 4de90774eade tests/test-stabilize-order.t diff -r 147aa58d8962 -r 4de90774eade tests/test-tutorial.t --- a/tests/test-tutorial.t Sat Oct 29 14:55:57 2016 +0200 +++ b/tests/test-tutorial.t Wed Feb 01 15:40:51 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 diff -r 147aa58d8962 -r 4de90774eade tests/test-uncommit.t --- a/tests/test-uncommit.t Sat Oct 29 14:55:57 2016 +0200 +++ b/tests/test-uncommit.t Wed Feb 01 15:40:51 2017 +0100 @@ -252,6 +252,7 @@ M j M o A aa + a A ff f A h @@ -264,7 +265,7 @@ R m R n $ glog --hidden - @ 5:c706fe2c12f8@bar(/draft) touncommit + @ 5:a1d4c1ad76cc@bar(/draft) touncommit | | o 4:e8db4aa611f6@bar(/draft) touncommit |/ @@ -278,12 +279,12 @@ $ hg debugobsolete 5eb72dbe0cb409d094e3b4ae8eaa30071c1b8730 e8db4aa611f6d5706374288e6898e498f5c44098 0 (*) {'user': 'test'} (glob) - 5eb72dbe0cb409d094e3b4ae8eaa30071c1b8730 c706fe2c12f83ba5010cb60ea6af3bd1f0c2d6d3 0 (*) {'user': 'test'} (glob) + 5eb72dbe0cb409d094e3b4ae8eaa30071c1b8730 a1d4c1ad76cc7eb5e8a36ef52396da334b6d59c5 0 (*) {'user': 'test'} (glob) Test --all $ hg up -C 3 --hidden - 2 files updated, 0 files merged, 0 files removed, 0 files unresolved + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved working directory parent is obsolete! (use 'hg evolve' to update to its successor) $ hg --config extensions.purge= purge @@ -312,7 +313,7 @@ $ hg debugobsolete 5eb72dbe0cb409d094e3b4ae8eaa30071c1b8730 e8db4aa611f6d5706374288e6898e498f5c44098 0 (*) {'user': 'test'} (glob) - 5eb72dbe0cb409d094e3b4ae8eaa30071c1b8730 c706fe2c12f83ba5010cb60ea6af3bd1f0c2d6d3 0 (*) {'user': 'test'} (glob) + 5eb72dbe0cb409d094e3b4ae8eaa30071c1b8730 a1d4c1ad76cc7eb5e8a36ef52396da334b6d59c5 0 (*) {'user': 'test'} (glob) 5eb72dbe0cb409d094e3b4ae8eaa30071c1b8730 c4cbebac3751269bdf12d1466deabcc78521d272 0 (*) {'user': 'test'} (glob) Display a warning if nothing left @@ -322,7 +323,7 @@ (use 'hg prune .' to remove it) $ hg debugobsolete 5eb72dbe0cb409d094e3b4ae8eaa30071c1b8730 e8db4aa611f6d5706374288e6898e498f5c44098 0 (*) {'user': 'test'} (glob) - 5eb72dbe0cb409d094e3b4ae8eaa30071c1b8730 c706fe2c12f83ba5010cb60ea6af3bd1f0c2d6d3 0 (*) {'user': 'test'} (glob) + 5eb72dbe0cb409d094e3b4ae8eaa30071c1b8730 a1d4c1ad76cc7eb5e8a36ef52396da334b6d59c5 0 (*) {'user': 'test'} (glob) 5eb72dbe0cb409d094e3b4ae8eaa30071c1b8730 c4cbebac3751269bdf12d1466deabcc78521d272 0 (*) {'user': 'test'} (glob) c4cbebac3751269bdf12d1466deabcc78521d272 4f1c269eab68720f54e88ce3c1dc02b2858b6b89 0 (*) {'user': 'test'} (glob) diff -r 147aa58d8962 -r 4de90774eade tests/test-userguide.t --- a/tests/test-userguide.t Sat Oct 29 14:55:57 2016 +0200 +++ b/tests/test-userguide.t Wed Feb 01 15:40:51 2017 +0100 @@ -107,7 +107,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::