Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 01 Dec 2020 22:37:34 +0100] rev 46056
upgrade: start moving the "to be happening" data in a dedicated object
The upgrade code has a lot of logic to determine which action needs to be
performed depending of various element (sometimes depending from each other). It
would be nice to have a consistent object representing this. That could be
cleanly passed and avoid some logic duplication.
So we create this object as a start.
Differential Revision: https://phab.mercurial-scm.org/D9487
Matt Harbison <matt_harbison@yahoo.com> [Sun, 06 Dec 2020 20:38:01 -0500] rev 46055
hg: add user-site to `sys.path` on Windows to allow pip-installed extensions
This has been in the TortoiseHg builds for several cycles now on Windows, and
even longer on macOS. It allows an extension to be configured with `ext =`
syntax, instead of requiring the full path to be specified. It's confusing for
a user to be hit with messages about not being able to load extensions, based
solely on which `hg.exe` is being run.
This only applies to py2exe binaries, since wrapper.exe already sees into the
user site area. There are no frozen binaries on other platforms (that I'm aware
of), and an equivalent change will need to be made to `dispatch.py` in order to
work with PyOxidizer, since it bypasses this module completely. (It also has
the ability to use the `site` module, so it will look completely different.)
Differential Revision: https://phab.mercurial-scm.org/D9531
Simon Sapin <simon-commits@exyr.org> [Mon, 30 Nov 2020 17:13:07 +0100] rev 46054
rust: use crossbeam-channel crate directly
… instead of its reexport in the crossbeam crate.
This removes two crates from the dependency graph.
Differential Revision: https://phab.mercurial-scm.org/D9521
Raphaël Gomès <rgomes@octobus.net> [Fri, 04 Dec 2020 12:42:23 +0100] rev 46053
wireprotov2: re-add tuple around `bundle2` check
I stumbled upon this while looking for the current (v1) `capable` method. It
looks like
9c2c77c73f23 accidentally removed the comma, turning the tuple into
a simple parenthesis expression.
This has not been detected since wireproto2 is not in use AFAIK.
Differential Revision: https://phab.mercurial-scm.org/D9518
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 01 Dec 2020 20:35:19 +0100] rev 46052
upgrade: gather code about requirement checking together
They just moved in the same file, now they are grouped together and documented.
Differential Revision: https://phab.mercurial-scm.org/D9486
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 01 Dec 2020 20:24:38 +0100] rev 46051
upgrade: extract the checking of target requirements change
This logic is fairly independant, lets move it out of the main function.
Differential Revision: https://phab.mercurial-scm.org/D9485
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 01 Dec 2020 15:50:12 +0100] rev 46050
upgrade: drop an outdated comment
We can control the added/removed requirement through config for multiple years.
Differential Revision: https://phab.mercurial-scm.org/D9484
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 01 Dec 2020 15:54:38 +0100] rev 46049
upgrade: gather code about source checking together
They just moved in the same file, now they are grouped together and documented.
Differential Revision: https://phab.mercurial-scm.org/D9483
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 01 Dec 2020 15:45:23 +0100] rev 46048
upgrade: move requirements checking in a dedicated function
This is a simple an isolated check that can go next to the associated code.
Differential Revision: https://phab.mercurial-scm.org/D9482
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 01 Dec 2020 15:11:06 +0100] rev 46047
upgrade: split definition and management of the actions from the main code
This is a second step to clarify and clean up this code. The code responsible
for definition which action exist, are possible and their compatibility if moved
into a sub module.
This clarify the main code and prepare further cleanup.
Differential Revision: https://phab.mercurial-scm.org/D9477
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 01 Dec 2020 09:13:08 +0100] rev 46046
upgrade: split actual upgrade code away from the main module
The main module is getting big and hard to follow. So we are splitting all the
logic to actually run an upgrade in a sub module. It nicely highlight that there
are very few actual call point to the code we just moved.
Differential Revision: https://phab.mercurial-scm.org/D9476
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 05 Dec 2020 23:11:49 +0100] rev 46045
phab-refresh: add an explanatory message
This serve two purposes:
- clarify why a bot just touched this diff,
- explicit the fact the tests have been run, and are passing on this version.
Differential Revision: https://phab.mercurial-scm.org/D9527
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 05 Dec 2020 23:32:11 +0100] rev 46044
phab-refresh: allow passing additional argument to the phabsend
This will be useful to pass a custom message.
Differential Revision: https://phab.mercurial-scm.org/D9526
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 05 Dec 2020 23:27:57 +0100] rev 46043
phab-refresh: do not pick draft changeset from the bare "default" branch
My initial test overlooked a common case: draft changeset on the default branch.
So right now, heptapod is doing a final refresh of the patch with the landed
version. This is not a bit problem except for the extra noise. However we would
be better without the noise.
Differential Revision: https://phab.mercurial-scm.org/D9522
Yuya Nishihara <yuya@tcha.org> [Tue, 01 Dec 2020 20:22:24 +0900] rev 46042
log: do not accept string-matcher pattern as -u/-b/-B parameter
I'm pretty sure this is a bug introduced after we've switched the filtering
backend to revset matcher.
Yuya Nishihara <yuya@tcha.org> [Tue, 01 Dec 2020 19:32:36 +0900] rev 46041
log: do not override other filtering and sorting options by --bookmark
This basically reimplements
0aa118f18d4b 'log: add bookmark option to
"hg log"'. Before, any other filtering options but --rev were ignored.
-G didn't work either since the ordering constraint wasn't enforced.
Yuya Nishihara <yuya@tcha.org> [Tue, 01 Dec 2020 19:23:23 +0900] rev 46040
scmutil: extract function that builds revset expr to select bookmark branch
This is needed to process "log -B" option properly. "log" options have to
be translated to a revset expression, not to an evaluated set.
Yuya Nishihara <yuya@tcha.org> [Tue, 01 Dec 2020 19:46:01 +0900] rev 46039
scmutil: document that bookmarkrevs() ignores non-head bookmark branch
"- ancestors(head() and not bookmark(%s))" excludes the bookmarked branch
itself if bookmark(%s) is not a head. I'm a bit surprised by this behavior
while writing "log -B" tests, so let's document it.
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 07 Nov 2020 16:28:30 -0800] rev 46038
cext: add .pyi files for C extensions
I'm unsure if all the annotations are completely accurate. But having
these helps type checkers reason about our C extensions.
Differential Revision: https://phab.mercurial-scm.org/D9281
Matt Harbison <matt_harbison@yahoo.com> [Sat, 21 Nov 2020 00:10:36 -0500] rev 46037
phabricator: allow local revisions to be specified with `phabupdate`
It's way easier and less error prone to specify a revset after importing a
series than to manually type in a series of Differentials.
Unlike most revision oriented commands, this requires the `--rev` option
explicitly because the existing `DREVSPEC` doesn't need to have the leading 'D',
and therefore the meaning is ambiguous. I wouldn't have a problem giving
precedence to the local revnum, but `phabread` and `phabimport` also use
DREVSPEC, and local revisions make no sense there. I would be fine with
modifying that definition to require the leading 'D', but I'm not sure how many
people are used to not specifying it.
Differential Revision: https://phab.mercurial-scm.org/D9356
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 20 Nov 2020 10:51:07 +0100] rev 46036
copies: properly copies parent dictionary before updating it
This enforces the copy on write logic. Otherwise independant unrelated branches
could affected each other.
More testing of these case are coming, but I need that code landed to unlock
other performance work in parallel.
Differential Revision: https://phab.mercurial-scm.org/D9419
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 30 Nov 2020 14:07:23 +0100] rev 46035
upgrade: display the list of processed revlog before proceeding
This help to make sure we don't wrongly skip some in the test and to make sure
the user is aware of the amount of processing they is signing up for.
Differential Revision: https://phab.mercurial-scm.org/D9469
Simon Sapin <simon-commits@exyr.org> [Wed, 02 Dec 2020 08:23:31 +0100] rev 46034
rhg: add a test with persistent-nodemap
Differential Revision: https://phab.mercurial-scm.org/D9519
Simon Sapin <simon-commits@exyr.org> [Wed, 02 Dec 2020 15:00:49 +0100] rev 46033
rust: use NodePrefix::from_hex instead of hex::decode directly
This adds support for prefixes with an odd number of hex digits.
Differential Revision: https://phab.mercurial-scm.org/D9490
Simon Sapin <simon-commits@exyr.org> [Mon, 30 Nov 2020 19:34:49 +0100] rev 46032
rhg: allow specifying a changeset ID prefix
Differential Revision: https://phab.mercurial-scm.org/D9479
Martin von Zweigbergk <martinvonz@google.com> [Thu, 03 Dec 2020 13:23:59 -0800] rev 46031
tests: update test-releasenotes-formatting.t with new exit codes
I didn't have the fuzzywuzzy package installed before, so I didn't
notice this test fail earlier (probably when I made
`check_incompatible_arguments` return `InputError`).
Differential Revision: https://phab.mercurial-scm.org/D9514
Augie Fackler <augie@google.com> [Thu, 03 Dec 2020 14:15:39 -0500] rev 46030
merge with stable
Augie Fackler <raf@durin42.com> [Thu, 03 Dec 2020 13:36:24 -0500] rev 46029
Added signature for changeset
1d5189a57405
Augie Fackler <raf@durin42.com> [Thu, 03 Dec 2020 13:36:23 -0500] rev 46028
Added tag 5.6.1 for changeset
1d5189a57405
Martin von Zweigbergk <martinvonz@google.com> [Wed, 02 Dec 2020 15:39:01 -0800] rev 46027
rebase: clear merge state when aborting in-memory merge on dirty working copy
Differential Revision: https://phab.mercurial-scm.org/D9509