Mercurial > evolve
changeset 6434:e5e78734dcdd mercurial-4.8
test-compat: merge mercurial-4.9 into mercurial-4.8
author | Anton Shestakov <av6@dwimlabs.net> |
---|---|
date | Sat, 25 Feb 2023 22:16:18 +0400 |
parents | 567cc86f2d01 (current diff) 421993efcd69 (diff) |
children | 5f77d112be57 |
files | tests/test-split.t |
diffstat | 11 files changed, 231 insertions(+), 49 deletions(-) [+] |
line wrap: on
line diff
--- a/.gitlab/issue_templates/new-version.md Tue Feb 07 15:07:02 2023 +0400 +++ b/.gitlab/issue_templates/new-version.md Sat Feb 25 22:16:18 2023 +0400 @@ -20,7 +20,7 @@ * [ ] move the `@` bookmark to the new tag * [ ] push/publish the tag to the main repository * [ ] upload the tarball to PyPI -* [ ] add `.dev` to the `__version__` field +* [ ] add `.dev0` to the `__version__` field * [ ] merge stable into default * [ ] push the result to https://www.mercurial-scm.org/repo/evolve/ * [ ] send the announcement by email to evolve-testers@mercurial-scm.org
--- a/.hgtags Tue Feb 07 15:07:02 2023 +0400 +++ b/.hgtags Sat Feb 25 22:16:18 2023 +0400 @@ -102,3 +102,4 @@ 62f31db544594837a71cb91a7c1e8e515c5a52e9 10.5.1 7a7da643a6e302f524e3c96c084e16db371dea90 10.5.2 569e09c61c4f0f78b5bb581b02583fc7139470d7 10.5.3 +6b128ae8e2ade0b781eb8c0f7411db3f090d26f7 11.0.0rc0
--- a/CHANGELOG Tue Feb 07 15:07:02 2023 +0400 +++ b/CHANGELOG Sat Feb 25 22:16:18 2023 +0400 @@ -4,23 +4,44 @@ 11.0.0 - in progress -------------------- + * packaging: list all contributors in debian/copyright + * packaging: run lintian on .deb packages built on our CI + +topic (1.0.0) + + * topic: make hg split preserve topic namespace + +11.0.0rc0 -- 2023-02-07 +----------------------- + * deprecate evolve.serveronly extension, evolve extension is recommended for all users, clients and servers * fixup: support `hg abort` * evolve, pick, fixup: support `hg continue` + * evolve: stop preserving all of {extras} for uninterrupted evolve operations + * evolve: don't embed graft data when completing interrupted evolve + operations + * prune: pruning (without any successors) an already obsolete revision will no longer give a false warning about divergence * evolve: use detailed exit codes for most commands (enabled with `ui.detailed-exit-code=yes`) -topic (1.0.0) +topic (1.0.0rc0) * deprecate serverminitopic extension, topic extension is recommended for all users, clients and servers + * topic namespaces: introduce `hg debug-topic-namespace`, `hg + debug-topic-namespaces`, `hg debug-parse-fqbn`, `hg debug-format-fqbn` + commands, `{topic_namespace}` and `{fqbn}` template keywords, + `topicnamespace()` revset predicate + * topic namespaces: implement exchange, including limited compatibility with + older versions of hg and topic extension + * topic: allow Unicode word characters in topic names * topic: use detailed exit codes for most commands (enabled with
--- a/README.rst Tue Feb 07 15:07:02 2023 +0400 +++ b/README.rst Sat Feb 25 22:16:18 2023 +0400 @@ -227,7 +227,7 @@ * make sure there is no code difference between the compatibility branches and stable (no diff within hgext3rd/), -* update the ``testedwith`` variable for all extensions (remove '.dev'): +* update the ``testedwith`` variable for all extensions (remove '.dev0'): - hgext3rd/evolve/metadata.py - hgext3rd/topic/__init__.py @@ -264,7 +264,7 @@ * make an announcement on evolve-testers@mercurial-scm.org and mercurial@mercurial-scm.org, -* bump versions of all extensions and add ``.dev`` (see existing commits as an +* bump versions of all extensions and add ``.dev0`` (see existing commits as an example): - hgext3rd/evolve/metadata.py @@ -273,7 +273,7 @@ Version bump rules: - - stable branch x.y.z+1.dev - - default branch x.y+1.0.dev + - stable branch x.y.z+1.dev0 + - default branch x.y+1.0.dev0 * merge stable into default.
--- a/debian/changelog Tue Feb 07 15:07:02 2023 +0400 +++ b/debian/changelog Sat Feb 25 22:16:18 2023 +0400 @@ -1,3 +1,9 @@ +mercurial-evolve (11.0.0rc0-1) unstable; urgency=medium + + * new upstream release + + -- Anton Shestakov <av6@dwimlabs.net> Tue, 07 Feb 2023 17:50:03 +0400 + mercurial-evolve (10.5.3-1) unstable; urgency=medium * new upstream release
--- a/debian/copyright Tue Feb 07 15:07:02 2023 +0400 +++ b/debian/copyright Sat Feb 25 22:16:18 2023 +0400 @@ -6,7 +6,93 @@ Copyright: 2011—2022 Pierre-Yves David <pierre-yves.david@octobus.net> Anton Shestakov <av6@dwimlabs.net> - and others + Pulkit Goyal <7895pulkit@gmail.com> + Boris Feld <boris.feld@octobus.net> + Greg Ward <greg@gerg.ca> + Sushil khanchi <sushilkhanchi97@gmail.com> + Martin von Zweigbergk <martinvonz@google.com> + Raphaël Gomès <rgomes@octobus.net> + Laurent Charignon <lcharignon@fb.com> + Augie Fackler <raf@durin42.com> + Matt Harbison <matt_harbison@yahoo.com> + Patrick Mezard <patrick@mezard.eu> + Alain Leufroy <alain.leufroy@logilab.fr> + Manuel Jacob <me@manueljacob.de> + Jordi Gutiérrez Hermoso <jordigh@octave.org> + Arne Babenhauserheide <bab@draketo.de> + Kyle Lippincott <spectral@google.com> + Nicolas Chauvat <nicolas.chauvat@logilab.fr> + Denis Laxalde <denis.laxalde@logilab.fr> + Taapas Agrawal <taapas2897@gmail.com> + David Douard <david.douard@logilab.fr> + Aurelien Campeas <aurelien.campeas@logilab.fr> + FUJIWARA Katsunori <foozy@lares.dti.ne.jp> + Ryan McElroy <rmcelroy@fb.com> + Joerg Sonnenberger <joerg@bec.de> + Philippe Pepiot <phil@philpep.org> + Durham Goode <durham@fb.com> + Sean Farley <sean@farley.io> + Chuck Tuffli <chuck@tuffli.net> + James Reynolds <james.glenn.reynolds@gmail.com> + Siddharth Agarwal <sid0@fb.com> + Kostia Balytskyi <ikostia@fb.com> + Simon Sapin <simon.sapin@octobus.net> + Ian Moody <moz-ian@perix.co.uk> + Josef 'Jeff' Sipek <jeffpc@josefsipek.net> + Juntao Li <juntaoli@fb.com> + Levi Bard <levi@unity3d.com> + Rodrigo Damazio <rdamazio@google.com> + Yuya Nishihara <yuya@tcha.org> + Shubhanshu Agrawal <agrawal.shubhanshu@gmail.com> + Olivia Mackall <mpm@selenic.com> + Simon Farnsworth <simonfar@fb.com> + James Reynolds <jreynolds@backstage.com> + timeless@gmail.com + Olle Lundberg <geek@nerd.sh> + Martijn Pieters <mj@octobus.net> + willstott101@gmail.com + Julien Cristau <julien.cristau@logilab.fr> + Dan Villiom Podlaski Christiansen <danchr@gmail.com> + Andrew Halberstadt <ahalberstadt@mozilla.com> + Georges Racinet <georges.racinet@octobus.net> + Tyrone Nicholas <tnicholas@fb.com> + David Soria Parra <davidsp@fb.com> + Brendan Cully <brendan@kublai.com> + Jun Wu <quark@fb.com> + Yohann Rebattu <yohann@rebattu.fr> + timeless@mozdev.org + Sangeet Kumar Mishra <mail2sangeetmishra@gmail.com> + anatoly techtonik <techtonik@gmail.com> + Jeroen Vaelen <jeroen@fb.com> + Sietse Brouwer <sbbrouwer@gmail.com> + Faheem Mitha <faheem@faheem.info> + Stanislau Hlebik <stash@fb.com> + Benoit Allard <benoit@aeteurope.nl> + kevpeng@google.com + Gregory Szorc <gregory.szorc@gmail.com> + Denis Laxalde <denis@laxalde.org> + Eric Spishak-Thomas <emspishak@gmail.com> + Rodrigo Damazio Bovendorp <rdamazio@google.com> + André Sintzoff <andre.sintzoff@gmail.com> + Damien Garaud <damien.garaud@logilab.fr> + Gerald Squelart <gsquelart@mozilla.com> + Valentin Gatien-Baron <vgatien-baron@janestreet.com> + Matt DeVore <matvore@google.com> + Nathan Goldbaum <ngoldbau@ucsc.edu> + Aay Jay Chan <aayjaychan@itopia.com.hk> + Luke Granger-Brown <hg@lukegb.com> + Ludovic Chabant <ludovic@chabant.com> + Andrew Fischer <andrew@apastron.co> + Angel Ezquerra <angel.ezquerra@gmail.com> + Arun Kulshreshtha <kulshrax@fb.com> + Eric Spishak-Thomas <spishak@google.com> + Pacien Tran-Girard <pacien.trangirard@pacien.net> + Octobus SCOP RL <contact@octobus.net> + . + 2010-2011 Benoit Boissinot <bboissin@gmail.com> + Peter Arrenbrecht <peter.arrenbrecht@gmail.com> + Patrick Mezard <patrick@mezard.eu> + Logilab SA <contact@logilab.fr> License: GPL-2+ Files: debian/* @@ -24,6 +110,27 @@ Logilab SA <contact@logilab.fr> License: GPL-2+ +Files: docs/static/logo-evolve.svg +Copyright: + 2008 Cali Mastny and Olivia Mackall +License: GPL-2.0 + +Files: hgext3rd/evolve/thirdparty/cbor.py +Copyright: + 2014-2015 Brian Olson +License: Apache-2.0 + +Files: docs/tutorial/uikit.js +Copyright: + 2013-2020 YOOtheme GmbH, getuikit.com +License: Expat + +Files: docs/tutorial/jquery.sticky-kit.js +Copyright: + 2013—2015 Leaf Corcoran +Comment: The next upstream version has been relicensed as MIT/Expat +License: WTFPL + License: GPL-2+ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -42,8 +149,42 @@ On Debian systems, the complete text of the GNU General Public License version 2 can be found in ‘/usr/share/common-licenses/GPL-2’. -This software may be used and distributed according to the terms of the GNU -General Public License version 2 or any later version. +License: Expat + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + . + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + . + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. -On Debian systems, the complete text of the GNU General Public License version -2 can be found in `/usr/share/common-licenses/GPL-2'. +License: WTFPL + DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE + Version 2, December 2004 + . + Copyright (C) 2004 Sam Hocevar <sam@hocevar.net> + . + Everyone is permitted to copy and distribute verbatim or modified + copies of this license document, and changing it is allowed as long + as the name is changed. + . + DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + . + 0. You just DO WHAT THE FUCK YOU WANT TO. + +License: GPL-2.0 + See /usr/share/common-licenses/GPL-2. + +License: Apache-2.0 + See /usr/share/common-licenses/Apache-2.0
--- a/hgext3rd/evolve/metadata.py Tue Feb 07 15:07:02 2023 +0400 +++ b/hgext3rd/evolve/metadata.py Sat Feb 25 22:16:18 2023 +0400 @@ -5,7 +5,7 @@ # This software may be used and distributed according to the terms of the # GNU General Public License version 2 or any later version. -__version__ = b'11.0.0.dev' +__version__ = b'11.0.0.dev0' testedwith = b'4.8 4.9 5.0 5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 5.9 6.0 6.1 6.2 6.3' minimumhgversion = b'4.8' buglink = b'https://bz.mercurial-scm.org/'
--- a/hgext3rd/topic/__init__.py Tue Feb 07 15:07:02 2023 +0400 +++ b/hgext3rd/topic/__init__.py Sat Feb 25 22:16:18 2023 +0400 @@ -233,7 +233,7 @@ b'log.topic': b'green_background', } -__version__ = b'1.0.0.dev' +__version__ = b'1.0.0.dev0' testedwith = b'4.8 4.9 5.0 5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 5.9 6.0 6.1 6.2 6.3' minimumhgversion = b'4.8' @@ -470,7 +470,7 @@ try: evolve = extensions.find(b'evolve') extensions.wrapfunction(evolve.rewriteutil, "presplitupdate", - presplitupdatetopic) + wrappresplitupdate) except (KeyError, AttributeError): pass @@ -786,25 +786,25 @@ @templatekeyword(b'topic', requires={b'ctx'}) def topickw(context, mapping): - """:topic: String. The topic of the changeset""" + """String. The topic of the changeset""" ctx = context.resource(mapping, b'ctx') return ctx.topic() @templatekeyword(b'topicidx', requires={b'ctx'}) def topicidxkw(context, mapping): - """:topicidx: Integer. Index of the changeset as a stack alias""" + """Integer. Index of the changeset as a stack alias""" ctx = context.resource(mapping, b'ctx') return ctx.topicidx() @templatekeyword(b'topic_namespace', requires={b'ctx'}) def topicnamespacekw(context, mapping): - """:topic_namespace: String. The topic namespace of the changeset""" + """String. The topic namespace of the changeset""" ctx = context.resource(mapping, b'ctx') return ctx.topic_namespace() @templatekeyword(b'fqbn', requires={b'ctx'}) def fqbnkw(context, mapping): - """:fqbn: String. The branch//namespace/topic of the changeset""" + """String. The branch//namespace/topic of the changeset""" ctx = context.resource(mapping, b'ctx') return ctx.fqbn() @@ -1604,9 +1604,12 @@ ## preserve topic during split -def presplitupdatetopic(original, repo, ui, prev, ctx): +def wrappresplitupdate(original, repo, ui, prev, ctx): # Save topic of revision + tns = None topic = None + if util.safehasattr(ctx, 'topic_namespace'): + tns = ctx.topic_namespace() if util.safehasattr(ctx, 'topic'): topic = ctx.topic() @@ -1614,6 +1617,8 @@ original(repo, ui, prev, ctx) # Restore the topic if need + if tns: + _changecurrenttns(repo, tns) if topic: _changecurrenttopic(repo, topic)
--- a/hgext3rd/topic/revset.py Tue Feb 07 15:07:02 2023 +0400 +++ b/hgext3rd/topic/revset.py Sat Feb 25 22:16:18 2023 +0400 @@ -27,7 +27,7 @@ namespaces of the given changesets. Without the argument, all changesets with any non-default topic namespace. - Pattern matching is supported for `string`. See + Pattern matching is supported for `string`. See :hg:`help revisions.patterns`. """ args = revset.getargs(x, 0, 1, b'topicnamespace takes one or no arguments') @@ -73,7 +73,7 @@ """All changesets with the specified topic or the topics of the given changesets. Without the argument, all changesets with any topic specified. - Pattern matching is supported for `string`. See + Pattern matching is supported for `string`. See :hg:`help revisions.patterns`. """ args = revset.getargs(x, 0, 1, b'topic takes one or no arguments')
--- a/tests/test-split.t Tue Feb 07 15:07:02 2023 +0400 +++ b/tests/test-split.t Sat Feb 25 22:16:18 2023 +0400 @@ -395,6 +395,8 @@ $ echo "[extensions]" >> $HGRCPATH $ echo "topic=$(echo $(dirname $TESTDIR))/hgext3rd/topic/" >> $HGRCPATH + $ hg debug-topic-namespace mynamespace + marked working directory as topic namespace: mynamespace $ hg topic mytopic marked working directory as topic: mytopic $ echo babar > babar @@ -403,8 +405,8 @@ $ hg commit -m "Works on mytopic" babar celeste --user victor active topic 'mytopic' grew its first changeset (see 'hg help topics' for more information) - $ hg log -r . - changeset: 18:cdda6d69812b + $ hg log -r . + changeset: 18:4f0e158045aa branch: double//slash tag: tip topic: mytopic @@ -413,14 +415,17 @@ summary: Works on mytopic $ hg summary - parent: 18:cdda6d69812b tip + parent: 18:4f0e158045aa tip Works on mytopic - branch: double//slash//mytopic + branch: double//slash//mynamespace/mytopic commit: (clean) update: (current) phases: 9 draft topic: mytopic + $ hg log -r . -T '{rev}: {fqbn}\n' + 18: double//slash//mynamespace/mytopic + Split it $ hg split -U << EOF @@ -451,7 +456,7 @@ Check that the topic is still here $ hg log -r "tip~1::" - changeset: 19:a12d854b94a2 + changeset: 19:d8d795e8424a branch: double//slash topic: mytopic parent: 17:db45bd0f0e52 @@ -459,7 +464,7 @@ date: Thu Jan 01 00:00:00 1970 +0000 summary: split7 - changeset: 20:98274aae3990 + changeset: 20:d6d47657e765 branch: double//slash tag: tip topic: mytopic @@ -470,11 +475,15 @@ $ hg topic * mytopic (2 changesets) + $ hg log -r "tip~1::" -T '{rev}: {fqbn}\n' + 19: double//slash//mynamespace/mytopic + 20: double//slash//mynamespace/mytopic + Check commit extras $ hg log -r "tip~1::" -T '{rev}: {join(extras, " ")}\n' - 19: branch=double//slash topic=mytopic - 20: branch=double//slash topic=mytopic + 19: branch=double//slash topic=mytopic topic-namespace=mynamespace + 20: branch=double//slash topic=mytopic topic-namespace=mynamespace Test split the first commit on a branch @@ -484,7 +493,7 @@ marked working directory as branch another-branch $ hg commit -m "To be split" $ hg log -G -l 3 - @ changeset: 21:1b89fbf4d770 + @ changeset: 21:94981e5d988e | branch: another-branch | tag: tip | topic: mytopic @@ -492,14 +501,14 @@ | date: Thu Jan 01 00:00:00 1970 +0000 | summary: To be split | - o changeset: 20:98274aae3990 + o changeset: 20:d6d47657e765 | branch: double//slash | topic: mytopic | user: test | date: Thu Jan 01 00:00:00 1970 +0000 | summary: split8 | - o changeset: 19:a12d854b94a2 + o changeset: 19:d8d795e8424a | branch: double//slash ~ topic: mytopic parent: 17:db45bd0f0e52 @@ -513,8 +522,8 @@ # Date 0 0 # Thu Jan 01 00:00:00 1970 +0000 # Branch another-branch - # Node ID 1b89fbf4d770c8fad85b73aada92425c00ad3a58 - # Parent 98274aae39908fc11c1cf42c381935cfbe94695e + # Node ID 94981e5d988ea23cf2b17f6c07c39edc0f174b01 + # Parent d6d47657e765570283ec03fc68836d9eb297c4b3 # EXP-Topic mytopic To be split @@ -549,7 +558,7 @@ The split changesets should be on the 'another-branch' $ hg log -G -l 3 - @ changeset: 23:492ea8acc08d + @ changeset: 23:61661257a937 | branch: another-branch | tag: tip | topic: mytopic @@ -557,15 +566,15 @@ | date: Thu Jan 01 00:00:00 1970 +0000 | summary: split10 | - o changeset: 22:35c3b7b7f830 + o changeset: 22:a05395d0b421 | branch: another-branch | topic: mytopic - | parent: 20:98274aae3990 + | parent: 20:d6d47657e765 | user: test | date: Thu Jan 01 00:00:00 1970 +0000 | summary: split9 | - o changeset: 20:98274aae3990 + o changeset: 20:d6d47657e765 | branch: double//slash ~ topic: mytopic user: test @@ -585,7 +594,7 @@ 0 files updated, 0 files merged, 2 files removed, 0 files unresolved $ hg log -G -l 2 - o changeset: 24:5e7c5b766d1e + o changeset: 24:cffbaf700768 | branch: yet-another-branch | tag: tip | topic: mytopic @@ -593,7 +602,7 @@ | date: Thu Jan 01 00:00:00 1970 +0000 | summary: To be split again | - @ changeset: 23:492ea8acc08d + @ changeset: 23:61661257a937 | branch: another-branch ~ topic: mytopic user: test @@ -625,7 +634,7 @@ another-branch $ hg log -G -l 2 - o changeset: 24:5e7c5b766d1e + o changeset: 24:cffbaf700768 | branch: yet-another-branch | tag: tip | topic: mytopic @@ -633,7 +642,7 @@ | date: Thu Jan 01 00:00:00 1970 +0000 | summary: To be split again | - @ changeset: 23:492ea8acc08d + @ changeset: 23:61661257a937 | branch: another-branch ~ topic: mytopic user: test @@ -701,8 +710,8 @@ # Date 0 0 # Thu Jan 01 00:00:00 1970 +0000 # Branch another-branch - # Node ID 492ea8acc08dae0fce72cc459218dba9043e0481 - # Parent 35c3b7b7f83057a63307bb44ec59aebbba33c0f1 + # Node ID 61661257a93759374255a4c05fcd9b8a78bbe399 + # Parent a05395d0b42120af8bfb222d19f01008b1342c15 # EXP-Topic mytopic split10 @@ -717,8 +726,8 @@ # Date 0 0 # Thu Jan 01 00:00:00 1970 +0000 # Branch another-branch - # Node ID 1110f02dec0746d3b0493e7a09051816f7bc3179 - # Parent 35c3b7b7f83057a63307bb44ec59aebbba33c0f1 + # Node ID e6ca7ba1372dc452769c51a56d853c8ede26d9fa + # Parent a05395d0b42120af8bfb222d19f01008b1342c15 # EXP-Topic mytopic split10 @@ -751,8 +760,8 @@ # Date 0 0 # Thu Jan 01 00:00:00 1970 +0000 # Branch another-branch - # Node ID 5aa51c542c1b03435a7b5b602a4953bbe3321511 - # Parent 35c3b7b7f83057a63307bb44ec59aebbba33c0f1 + # Node ID bb8f1c282ddf89515bd07bd63a84962ab51ac277 + # Parent a05395d0b42120af8bfb222d19f01008b1342c15 # EXP-Topic mytopic split12
--- a/tests/test-topic-debugcb.t Tue Feb 07 15:07:02 2023 +0400 +++ b/tests/test-topic-debugcb.t Sat Feb 25 22:16:18 2023 +0400 @@ -5,7 +5,6 @@ $ . "$TESTDIR/testlib/topic_setup.sh" $ cat << EOF >> $HGRCPATH - > drawdag=$RUNTESTDIR/drawdag.py > [ui] > logtemplate = [{rev}:{node|short}] {desc|firstline}\n\ > {if(bookmarks, " bookmark: {join(bookmarks,"\n bookmark:")}\n")}\