Wed, 17 Mar 2021 20:06:35 +0100 revset: introduce a `nodefromfile` revset
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 17 Mar 2021 20:06:35 +0100] rev 46809
revset: introduce a `nodefromfile` revset I though we had one, but actually we don't seem to. So here is a revset to reuse a list of node previously stored. Differential Revision: https://phab.mercurial-scm.org/D10230
Fri, 19 Mar 2021 00:28:30 -0400 commands: necessary annotations and assertions to pass pytype
Matt Harbison <matt_harbison@yahoo.com> [Fri, 19 Mar 2021 00:28:30 -0400] rev 46808
commands: necessary annotations and assertions to pass pytype This is a slightly less forceful incarnation of D7384, where pytype can be appeased with some assertions rather than disabling warnings. Differential Revision: https://phab.mercurial-scm.org/D10236
Thu, 18 Mar 2021 23:41:00 -0400 typing: mark the argument to mercurial.i18n.gettext() non-Optional
Matt Harbison <matt_harbison@yahoo.com> [Thu, 18 Mar 2021 23:41:00 -0400] rev 46807
typing: mark the argument to mercurial.i18n.gettext() non-Optional Few if any of the callers are handling a `None` return, which is making pytype complain. I tried adding @overload definitions to indicate the bytes -> bytes and None -> None relationship, but pytype doesn't seem to apply that to `_()` through the function assignment. What did work was to change `_()` into its own function that called `gettext()`, but that has an extra function call overhead. Even putting that function into an `if pycompat.TYPE_CHECKING` block and leaving the existing assignments in the `else` block caused pytype to lose track of the @overloads. At that point, I simply gave up. PyCharm doesn't like that it can return None, given the new type hints, but pytype doesn't complain about this nor does it see any callers passing None. The most important thing here is to catch str being passed anyway. Differential Revision: https://phab.mercurial-scm.org/D10235
Thu, 18 Mar 2021 18:57:21 -0400 revlog: convert an Abort message to bytes
Matt Harbison <matt_harbison@yahoo.com> [Thu, 18 Mar 2021 18:57:21 -0400] rev 46806
revlog: convert an Abort message to bytes Flagged by pytype. Differential Revision: https://phab.mercurial-scm.org/D10234
Wed, 17 Mar 2021 19:06:00 +0100 setdiscovery: add a discovery.grow-sample.dynamic option
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 17 Mar 2021 19:06:00 +0100] rev 46805
setdiscovery: add a discovery.grow-sample.dynamic option The current discovery dynamically adapt to complex situations. This makes it quick and effective, but also harder so study the effects of other improvements in such complex situation. So we add a new option to control this too. Differential Revision: https://phab.mercurial-scm.org/D10233
Wed, 17 Mar 2021 19:10:28 +0100 setdiscovery: rearrange code deciding if we will grow the sample
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 17 Mar 2021 19:10:28 +0100] rev 46804
setdiscovery: rearrange code deciding if we will grow the sample The new code is clearer and will make the next update simpler. Differential Revision: https://phab.mercurial-scm.org/D10232
Wed, 17 Mar 2021 18:40:50 +0100 debugdiscovery: document relevant config option
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 17 Mar 2021 18:40:50 +0100] rev 46803
debugdiscovery: document relevant config option These config option are here for people to experiment with it. So lets document them in the command that is used for experimentation. Differential Revision: https://phab.mercurial-scm.org/D10231
Fri, 26 Mar 2021 18:37:25 +0100 re2: feed unicode string to re2 module when necessary stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 26 Mar 2021 18:37:25 +0100] rev 46802
re2: feed unicode string to re2 module when necessary My previous test were using the `pyre2` Python project, that wrap the Google RE2 library in python as a `re2` module and accept bytes as input. However the `fb-re2` Python project is also offering a wrapping of the Google RE2 library in python as a `re2` module ans accept only unicode on python3. So we detect this situation and convert thing to unicode when necessary. Hooray… We should consider using a rust wrapping for regexp handling. We needs regexps in Rust anyway and this give use more control with less variants and more sanity. Differential Revision: https://phab.mercurial-scm.org/D10284
Fri, 19 Mar 2021 12:08:46 -0700 rebase: skip obsolete commits even if they have pruned successors
Martin von Zweigbergk <martinvonz@google.com> [Fri, 19 Mar 2021 12:08:46 -0700] rev 46801
rebase: skip obsolete commits even if they have pruned successors Issue 5782 reported that `hg rebase -r <obsolete commit with pruned successor>` failed with an error saying that it would cause divergence. Commit b7e2cf114e85 (rebase: do not consider extincts for divergence detection (issue5782), 2018-02-09) fixed it by letting you rebase the commit. However, that fix seems inconsistent with how we handle `hg rebase -r <pruned commit>`. To me, it should make no difference whether a commit is pruned itself or if it has (only) pruned successors. This patch changes it so we treat these two kinds of commits the same way. I let the message we print remain "note: not rebasing <commit>, it has no successor" even though that last part is not technically correct for commits with pruned successors. I doubt it will confuse users. Differential Revision: https://phab.mercurial-scm.org/D10240
Sat, 20 Mar 2021 00:37:57 +0100 tests: ask any chg instance to terminate before looking at sqlite dbs
Joerg Sonnenberger <joerg@bec.de> [Sat, 20 Mar 2021 00:37:57 +0100] rev 46800
tests: ask any chg instance to terminate before looking at sqlite dbs There are spurious errors in CI where the database is still locked, so force the daemon to quit to get deterministic behavior. Since the kill command itself is racy, also sleep 2s to give the server time to wake up and exit. Differential Revision: https://phab.mercurial-scm.org/D10244
(0) -30000 -10000 -3000 -1000 -300 -100 -10 +10 +100 +300 +1000 +3000 tip