Mercurial > evolve
changeset 1794:e35667b01e1e mercurial-4.0
merge with future 5.6.0
There is only minor test output change, 4.0 do not have the "trouble:" wording
in there.
author | Pierre-Yves David <pierre-yves.david@ens-lyon.org> |
---|---|
date | Wed, 01 Feb 2017 15:15:34 +0100 |
parents | 12a0805fca23 (diff) 2fbc0f52aa44 (current diff) |
children | 8e276bf812b1 ee2d5716ef0a |
files | tests/test-obsolete.t tests/test-stabilize-conflict.t tests/test-stabilize-order.t |
diffstat | 12 files changed, 135 insertions(+), 71 deletions(-) [+] |
line wrap: on
line diff
--- a/.hgtags Wed Feb 01 15:09:06 2017 +0100 +++ b/.hgtags Wed Feb 01 15:15:34 2017 +0100 @@ -42,3 +42,4 @@ b21ce82e6f7640c2b38506545968650227d67e9b 5.4.0 2ad40d972a740a613c4c559104166a015b37cac2 5.4.1 727c7211c810d304ebf92b32db7ecf697ce46ac6 5.5.0 +99ede2d775458a236a46ad25a93aca473b676eee 5.6.0
--- a/MANIFEST.in Wed Feb 01 15:09:06 2017 +0100 +++ b/MANIFEST.in Wed Feb 01 15:15:34 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 Wed Feb 01 15:09:06 2017 +0100 +++ b/Makefile Wed Feb 01 15:15:34 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 Wed Feb 01 15:09:06 2017 +0100 +++ b/README Wed Feb 01 15:15:34 2017 +0100 @@ -56,8 +56,11 @@ Changelog ========= -5.5.1 -- +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)
--- a/debian/changelog Wed Feb 01 15:09:06 2017 +0100 +++ b/debian/changelog Wed Feb 01 15:15:34 2017 +0100 @@ -1,4 +1,10 @@ -mercurial-evolve (5.5.0) unstable; urgency=medium +mercurial-evolve (5.6.0-1) UNRELEASED; urgency=medium + + * New Upstream Release + + -- Pierre-Yves David <marmoute@nodosa.octopoid.net> Wed, 01 Feb 2017 15:06:21 +0100 + +mercurial-evolve (5.5.0-1) unstable; urgency=medium * new upstream release
--- a/hgext/evolve.py Wed Feb 01 15:09:06 2017 +0100 +++ b/hgext/evolve.py Wed Feb 01 15:15:34 2017 +0100 @@ -19,8 +19,8 @@ - improves some aspect of the early implementation in Mercurial core ''' -__version__ = '5.5.0' -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) @@ -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): + 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(): @@ -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 Wed Feb 01 15:09:06 2017 +0100 +++ b/hgext/simple4server.py Wed Feb 01 15:15:34 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 Wed Feb 01 15:09:06 2017 +0100 +++ b/tests/test-evolve.t Wed Feb 01 15:15:34 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-simple4server-bundle2.t Wed Feb 01 15:09:06 2017 +0100 +++ b/tests/test-simple4server-bundle2.t Wed Feb 01 15:15:34 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 Wed Feb 01 15:09:06 2017 +0100 +++ b/tests/test-simple4server.t Wed Feb 01 15:15:34 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-tutorial.t Wed Feb 01 15:09:06 2017 +0100 +++ b/tests/test-tutorial.t Wed Feb 01 15:15:34 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 Wed Feb 01 15:09:06 2017 +0100 +++ b/tests/test-userguide.t Wed Feb 01 15:15:34 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::