Mon, 23 Jan 2023 14:04:17 +0100 contrib: adjust heptapod CI flavor sizes stable
Raphaël Gomès <rgomes@octobus.net> [Mon, 23 Jan 2023 14:04:17 +0100] rev 49639
contrib: adjust heptapod CI flavor sizes Our CI currently runs on a number of different runners, some of which are run by Clever Cloud. By setting this environement variable, we're asking for a smaller size runner for our smaller jobs, which puts less load on the Clever Cloud infrastructure, while not affecting our overall pipeline times.
Thu, 12 Jan 2023 19:56:59 +0400 resourceutil: start using importlib.resources.files() when possible stable
Anton Shestakov <av6@dwimlabs.net> [Thu, 12 Jan 2023 19:56:59 +0400] rev 49638
resourceutil: start using importlib.resources.files() when possible This avoids DeprecationWarnings related to our use of resources.open_binary() on Python 3.11.
Tue, 10 Jan 2023 17:35:53 +0400 tests: fix a typo in test-demandimport.t stable
Anton Shestakov <av6@dwimlabs.net> [Tue, 10 Jan 2023 17:35:53 +0400] rev 49637
tests: fix a typo in test-demandimport.t I guess we figured out why it wasn't lazy.
Tue, 10 Jan 2023 17:23:13 +0400 tests: os module is frozen in Python 3.11 (issue6786) stable
Anton Shestakov <av6@dwimlabs.net> [Tue, 10 Jan 2023 17:23:13 +0400] rev 49636
tests: os module is frozen in Python 3.11 (issue6786)
Fri, 13 Jan 2023 17:33:03 +0400 convert: replace repr() by pycompat.byterepr() in cvsps.py (issue6789) stable
Anton Shestakov <av6@dwimlabs.net> [Fri, 13 Jan 2023 17:33:03 +0400] rev 49635
convert: replace repr() by pycompat.byterepr() in cvsps.py (issue6789)
Fri, 13 Jan 2023 00:56:37 +0400 convert: change socket mode from b'r+' to 'rwb' in cvs.py (issue6789) stable
Anton Shestakov <av6@dwimlabs.net> [Fri, 13 Jan 2023 00:56:37 +0400] rev 49634
convert: change socket mode from b'r+' to 'rwb' in cvs.py (issue6789) 'r+' mode used to open sockets for read/write operations, but '+' is not supported in Python 3. We're using bytes with these sockets everywhere, so the mode should have 'b'. But the mode argument has to be str, not bytes.
Thu, 12 Jan 2023 19:59:01 +0400 convert: turn the last str regex into bytes in cvs.py (issue6789) stable
Anton Shestakov <av6@dwimlabs.net> [Thu, 12 Jan 2023 19:59:01 +0400] rev 49633
convert: turn the last str regex into bytes in cvs.py (issue6789) Since root is bytes, the regular expression should also be bytes.
Fri, 06 Jan 2023 12:16:04 -0500 convert: stop passing str to the dateutil API in darcs stable
Matt Harbison <matt_harbison@yahoo.com> [Fri, 06 Jan 2023 12:16:04 -0500] rev 49632
convert: stop passing str to the dateutil API in darcs I'm sure there's a bunch more stuff in here that's broken, but this was flagged by pytype.
Thu, 05 Jan 2023 19:47:35 -0500 sparse: fix a py2 based usage of `map()` stable
Matt Harbison <matt_harbison@yahoo.com> [Thu, 05 Jan 2023 19:47:35 -0500] rev 49631
sparse: fix a py2 based usage of `map()` In a local pytype run, this fixes: File "/mnt/c/Users/Matt/hg/hgext/sparse.py", line 386, in debugsparse: unsupported operand type(s) for item retrieval: 'fcounts: Iterator[int]' and '0: int' [unsupported-operands] No attribute '__getitem__' on 'fcounts: Iterator[int]' File "/mnt/c/Users/Matt/hg/hgext/sparse.py", line 387, in debugsparse: unsupported operand type(s) for item retrieval: 'fcounts: Iterator[int]' and '1: int' [unsupported-operands] No attribute '__getitem__' on 'fcounts: Iterator[int]' File "/mnt/c/Users/Matt/hg/hgext/sparse.py", line 388, in debugsparse: unsupported operand type(s) for item retrieval: 'fcounts: Iterator[int]' and '2: int' [unsupported-operands] No attribute '__getitem__' on 'fcounts: Iterator[int]'
Thu, 05 Jan 2023 17:38:14 -0500 histedit: byteify the help for the multifold action stable
Matt Harbison <matt_harbison@yahoo.com> [Thu, 05 Jan 2023 17:38:14 -0500] rev 49630
histedit: byteify the help for the multifold action While there's some allowance for str in `_()`, it's commented to be for "goofy unicode docstrings in test", so no idea how well that works, but it should at least come back as bytes. With HGPLAIN, however, the str isn't touched and is returned as-is, so this seems like a real bug.
Mon, 09 Jan 2023 18:25:31 +0400 tests: optional PEP 657 error location in test-lfs-serve-access.t (issue6782) stable
Anton Shestakov <av6@dwimlabs.net> [Mon, 09 Jan 2023 18:25:31 +0400] rev 49629
tests: optional PEP 657 error location in test-lfs-serve-access.t (issue6782)
Mon, 09 Jan 2023 18:09:36 +0400 tests: optional PEP 657 error location in test-extension.t (issue6781) stable
Anton Shestakov <av6@dwimlabs.net> [Mon, 09 Jan 2023 18:09:36 +0400] rev 49628
tests: optional PEP 657 error location in test-extension.t (issue6781)
Mon, 09 Jan 2023 18:00:07 +0400 tests: filter out PEP 657 error locations in tracebacks (issue6780) stable
Anton Shestakov <av6@dwimlabs.net> [Mon, 09 Jan 2023 18:00:07 +0400] rev 49627
tests: filter out PEP 657 error locations in tracebacks (issue6780) https://docs.python.org/3/whatsnew/3.11.html#whatsnew311-pep657
Wed, 04 Jan 2023 12:06:07 +0100 relnotes: last-minute addition to 6.3.2 stable
Raphaël Gomès <rgomes@octobus.net> [Wed, 04 Jan 2023 12:06:07 +0100] rev 49626
relnotes: last-minute addition to 6.3.2
Wed, 04 Jan 2023 12:06:07 +0100 relnotes: add 6.3.2 stable
Raphaël Gomès <rgomes@octobus.net> [Wed, 04 Jan 2023 12:06:07 +0100] rev 49625
relnotes: add 6.3.2
Wed, 04 Jan 2023 12:07:55 +0100 Added signature for changeset 59466b13a3ae stable
Raphaël Gomès <rgomes@octobus.net> [Wed, 04 Jan 2023 12:07:55 +0100] rev 49624
Added signature for changeset 59466b13a3ae
Wed, 04 Jan 2023 12:07:54 +0100 Added tag 6.3.2 for changeset 59466b13a3ae stable
Raphaël Gomès <rgomes@octobus.net> [Wed, 04 Jan 2023 12:07:54 +0100] rev 49623
Added tag 6.3.2 for changeset 59466b13a3ae
Tue, 03 Jan 2023 13:38:56 -0800 filemerge: fix crash when using filesets in [partial-merge-tools] stable 6.3.2
Martin von Zweigbergk <martinvonz@google.com> [Tue, 03 Jan 2023 13:38:56 -0800] rev 49622
filemerge: fix crash when using filesets in [partial-merge-tools] Without this patch, you'd get `mercurial.error.ProgrammingError: fileset expression with no context`.
Tue, 06 Dec 2022 17:12:59 -0500 packaging: add dependencies to the PyOxidizer build on macOS stable
Matt Harbison <matt_harbison@yahoo.com> [Tue, 06 Dec 2022 17:12:59 -0500] rev 49621
packaging: add dependencies to the PyOxidizer build on macOS Otherwise, we get a bunch of test failures for missing things like pygments, or tests skipped entirely. The input file is a copy/paste from the equivalent Windows file, but with dulwich, pygit2, and pytest-vcr commented out because the build process errors out with them, flagging them as incompatible with loading from memory. I have no idea if that's actually true or not, because I've noticed that if I don't `make clean` after every build, the next build flags the watchman stuff as incompatible with loading from memory. The remaining failures are: Failed test-alias.t: output changed Failed test-basic.t: output changed Failed test-check-help.t: output changed Failed test-commit-interactive.t: output changed Failed test-extension.t: output changed Failed test-help.t: output changed Failed test-i18n.t: output changed Failed test-log.t: output changed Failed test-qrecord.t: output changed Failed test-share-safe.t: output changed Most of the issues seem related to loading help for disabled extensions from `hgext.__index__`, namely the full extension help being unavailable, not being able to resolve what commands are provided by what extension, and not having the command level help available. test-log.t, test-commit-interactive.t, and test-i18n.t look like i18n (or lack thereof) issues. test-basic.t is just odd: @@ -55,7 +55,7 @@ On Python 3, stdio may be None: $ hg debuguiprompt --config ui.interactive=true 0<&- - abort: Bad file descriptor (no-rhg !) + abort: response expected abort: response expected (rhg !) [255] $ hg version -q 0<&-
Tue, 06 Dec 2022 15:32:11 -0500 tests: conditionalize path output for in-memory pyoxidizer resources stable
Matt Harbison <matt_harbison@yahoo.com> [Tue, 06 Dec 2022 15:32:11 -0500] rev 49620
tests: conditionalize path output for in-memory pyoxidizer resources
Tue, 06 Dec 2022 13:03:36 -0500 tests: conditionalize test output for in-filesystem pyoxidizer resources stable
Matt Harbison <matt_harbison@yahoo.com> [Tue, 06 Dec 2022 13:03:36 -0500] rev 49619
tests: conditionalize test output for in-filesystem pyoxidizer resources The in-memory pyoxidizer builds apparently behave as expected.
Tue, 06 Dec 2022 13:02:54 -0500 hghave: add predicates for embedded and filesystem pyoxidizer resources stable
Matt Harbison <matt_harbison@yahoo.com> [Tue, 06 Dec 2022 13:02:54 -0500] rev 49618
hghave: add predicates for embedded and filesystem pyoxidizer resources There are a handful of tests with different output between the two flavors of pyoxidizer builds (like the location of the modules and templates), and a few others that avoid `known-bad-output` cases with the embedded resources that shouldn't cause the tests to fail.
Mon, 05 Dec 2022 11:49:56 -0500 run-tests: support --pyoxidized on macOS stable
Matt Harbison <matt_harbison@yahoo.com> [Mon, 05 Dec 2022 11:49:56 -0500] rev 49617
run-tests: support --pyoxidized on macOS We should definitely be able to test this before releasing it with an installer.
Mon, 05 Dec 2022 11:46:00 -0500 make: add a target for building pyoxidizer tests on macOS stable
Matt Harbison <matt_harbison@yahoo.com> [Mon, 05 Dec 2022 11:46:00 -0500] rev 49616
make: add a target for building pyoxidizer tests on macOS The resources seem to be embedded inside the binary, but for some reasons they aren't read there. And since they are embedded, they aren't staged by the build in the `lib` directory like on Windows. So copy them from the repo. We can figure out what's going wrong later.
Mon, 02 Jan 2023 11:38:20 -0500 copyright: update to 2023 stable
Matt Harbison <matt_harbison@yahoo.com> [Mon, 02 Jan 2023 11:38:20 -0500] rev 49615
copyright: update to 2023
Mon, 02 Jan 2023 15:27:55 +0400 bisect: correct message about aborting an in-progress bisect (issue6527) stable
Anton Shestakov <av6@dwimlabs.net> [Mon, 02 Jan 2023 15:27:55 +0400] rev 49614
bisect: correct message about aborting an in-progress bisect (issue6527) By using a custom cmdhint message here we're avoiding automatic hint generation in _statecheck.hint(), which would suggest 'hg bisect --continue' and 'hg bisect --abort' (neither of which is a valid option). This patch is only fixing the message about in-progress bisect, it doesn't modify the unfinished state checking logic.
Mon, 12 Dec 2022 17:49:48 +0400 tests: document what the other currently enabled pylint check ensures stable
Anton Shestakov <av6@dwimlabs.net> [Mon, 12 Dec 2022 17:49:48 +0400] rev 49613
tests: document what the other currently enabled pylint check ensures
Mon, 12 Dec 2022 17:42:30 +0400 hghave: detect newer pylint stable
Anton Shestakov <av6@dwimlabs.net> [Mon, 12 Dec 2022 17:42:30 +0400] rev 49612
hghave: detect newer pylint Older versions (e.g. 2.7.2) say: "Usage: pylint [options]" Newer versions (e.g. 2.15.5) say: "usage: pylint [options]"
Sat, 12 Nov 2022 00:18:41 +0100 emitrevision: consider ancestors revision to emit as available base stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 12 Nov 2022 00:18:41 +0100] rev 49611
emitrevision: consider ancestors revision to emit as available base This should make more delta base valid. This notably affects: * case where we skipped some parent with empty delta to directly delta against an ancestors * case where an intermediate snapshots is stored. This change means we could sent largish intermediate snapshots over the wire. However this is actually a sub goal here. Sending snapshots over the wire means the client have a high odd of simply storing the pre-computed delta instead of doing a lengthy process that will… end up doing the same intermediate snapshot. In addition the overall size of snapshot (or any level) is "only" some or the overall delta size. (0.17% for my mercurial clone, 20% for my clone of Mozilla try). So Sending them other the wire is unlikely to change large impact on the bandwidth used. If we decide that minimising the bandwidth is an explicit goal, we should introduce new logic to filter-out snapshot as delta. The current code has no notion explicite of snapshot so far, they just tended to fall into the wobbly filtering options. In some cases, this patch can yield large improvement to the bundling time: ### data-env-vars.name = mozilla-try-2019-02-18-zstd-sparse-revlog # benchmark.name = perf-bundle # benchmark.variants.revs = last-100000 before: 68.787066 seconds after: 47.552677 seconds (-30.87%) That translate to large improvement to the pull time : ### data-env-vars.name = mozilla-try-2019-02-18-zstd-sparse-revlog # benchmark.name = pull # benchmark.variants.issue6528 = disabled # benchmark.variants.revs = last-100000 before: 142.186625 seconds after: 75.897745 seconds (-46.62%) No significant negative impact have been observed.
Wed, 09 Nov 2022 13:54:15 -0500 sqlitestore: add an `ancestors` method stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 09 Nov 2022 13:54:15 -0500] rev 49610
sqlitestore: add an `ancestors` method We will need it during bundling. The implementation mirror the one in revlog.
(0) -30000 -10000 -3000 -1000 -300 -100 -50 -30 +30 +50 +100 +300 +1000 tip