Fri, 26 Jul 2024 10:52:28 +0200 demandimport: don't delay threading import stable
Julien Cristau <jcristau@debian.org> [Fri, 26 Jul 2024 10:52:28 +0200] rev 51665
demandimport: don't delay threading import A recent cpython change breaks demandimport by importing threading locally in importlib.util.LazyLoader.exec_module; add it (plus warnings and _weakrefset, which are imported by threading) to demandimport's ignore list. ``` Traceback (most recent call last): File "/usr/bin/hg", line 57, in <module> from mercurial import dispatch File "<frozen importlib._bootstrap>", line 1360, in _find_and_load File "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 935, in _load_unlocked File "/usr/lib/python3/dist-packages/hgdemandimport/demandimportpy3.py", line 52, in exec_module super().exec_module(module) File "<frozen importlib.util>", line 257, in exec_module File "<frozen importlib._bootstrap>", line 1360, in _find_and_load File "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 935, in _load_unlocked File "/usr/lib/python3/dist-packages/hgdemandimport/demandimportpy3.py", line 52, in exec_module super().exec_module(module) File "<frozen importlib.util>", line 267, in exec_module AttributeError: partially initialized module 'threading' has no attribute 'RLock' (most likely due to a circular import) ``` Ref: https://github.com/python/cpython/issues/117983 https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1076449 https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1076747
Thu, 11 Jul 2024 11:10:40 -0400 win32mbcs: use str for encoding value stable
Matt Harbison <matt_harbison@yahoo.com> [Thu, 11 Jul 2024 11:10:40 -0400] rev 51664
win32mbcs: use str for encoding value This was reported to the TortoiseHg tracker as: https://foss.heptapod.net/mercurial/tortoisehg/thg/-/issues/5980 It doesn't look like we have any tests for this extension, but the explicit type hints are enough to convince pytype that the module level `_encoding` attr is str. The `encode()` and `decode()` methods are too complex to add type hints for them.
Fri, 12 Jul 2024 15:29:35 +0400 copyright: update to 2024 stable
Anton Shestakov <av6@dwimlabs.net> [Fri, 12 Jul 2024 15:29:35 +0400] rev 51663
copyright: update to 2024
Mon, 08 Jul 2024 17:52:08 +0200 Added signature for changeset 11f41248595b stable
Raphaël Gomès <rgomes@octobus.net> [Mon, 08 Jul 2024 17:52:08 +0200] rev 51662
Added signature for changeset 11f41248595b
Mon, 08 Jul 2024 17:51:56 +0200 Added tag 6.8 for changeset 11f41248595b stable
Raphaël Gomès <rgomes@octobus.net> [Mon, 08 Jul 2024 17:51:56 +0200] rev 51661
Added tag 6.8 for changeset 11f41248595b
Mon, 08 Jul 2024 17:51:04 +0200 relnotes: add 6.8 stable 6.8
Raphaël Gomès <rgomes@octobus.net> [Mon, 08 Jul 2024 17:51:04 +0200] rev 51660
relnotes: add 6.8
Mon, 08 Jul 2024 16:44:07 +0200 test-check: don't report distutils as a local import stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 08 Jul 2024 16:44:07 +0200] rev 51659
test-check: don't report distutils as a local import On python 3.12 this is wrongly reported as a local import. So we adjust the checker to avoid it.
Mon, 08 Jul 2024 16:20:04 +0200 Backed out changeset f28c52a9f7b4 stable
Raphaël Gomès <rgomes@octobus.net> [Mon, 08 Jul 2024 16:20:04 +0200] rev 51658
Backed out changeset f28c52a9f7b4 This backout and the previous are due to a large performance regression detected in repositories with a lot of obsmarkers when performing a clone. A better fix will come along at the start of the next cycle.
Mon, 08 Jul 2024 16:19:33 +0200 Backed out changeset ff523675cd69 stable
Raphaël Gomès <rgomes@octobus.net> [Mon, 08 Jul 2024 16:19:33 +0200] rev 51657
Backed out changeset ff523675cd69
Mon, 08 Jul 2024 16:02:54 +0200 rust: use `cpython` 0.7.2 crate to add support for Python 3.12 stable
Raphaël Gomès <rgomes@octobus.net> [Mon, 08 Jul 2024 16:02:54 +0200] rev 51656
rust: use `cpython` 0.7.2 crate to add support for Python 3.12 This will give us more headroom until we can migrate to PyO3 some day.
Mon, 08 Jul 2024 15:52:01 +0200 revbranchcache: disable mmap access by default stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 08 Jul 2024 15:52:01 +0200] rev 51655
revbranchcache: disable mmap access by default The revbranchcache can be truncated (if some part of it is detected as invalid). Using mmap on file we truncate is not an option at access to truncated part would result in a SIGBUS signal. So we disable the mmap by default until we fix this issue.
Mon, 24 Jun 2024 18:54:59 +0200 portability: fix build on Solaris-derived systemd stable
Joerg Sonnenberger <joerg@bec.de> [Mon, 24 Jun 2024 18:54:59 +0200] rev 51654
portability: fix build on Solaris-derived systemd Current Illumos and older Solaris require _XOPEN_SOURCE for msg_control. O_DIRECTORY doesn't exist on older systems either, so fallback to O_RDONLY. It's good enough as a repository will require both R and X permission anyway.
Wed, 03 Jul 2024 12:32:57 +0200 mmap: only use mmap to read revlog persistent nodemap if it is safe stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 03 Jul 2024 12:32:57 +0200] rev 51653
mmap: only use mmap to read revlog persistent nodemap if it is safe Cf `is_mmap_safe` docstring.
Wed, 03 Jul 2024 12:47:08 +0200 mmap: fix another instance of reverse mmap logic in persistent nodemap stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 03 Jul 2024 12:47:08 +0200] rev 51652
mmap: fix another instance of reverse mmap logic in persistent nodemap This fix the same kind of issue as 85d96517e650
Wed, 03 Jul 2024 12:31:21 +0200 mmap: only use mmap to read rev-branch-cache data if it is safe stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 03 Jul 2024 12:31:21 +0200] rev 51651
mmap: only use mmap to read rev-branch-cache data if it is safe Cf `is_mmap_safe` docstring.
Wed, 03 Jul 2024 12:26:57 +0200 mmap: only use mmap to read revlog index if it is safe stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 03 Jul 2024 12:26:57 +0200] rev 51650
mmap: only use mmap to read revlog index if it is safe Cf `is_mmap_safe` docstring.
Wed, 03 Jul 2024 12:22:48 +0200 mmap: add a `is_mmap_safe` method to vfs stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 03 Jul 2024 12:22:48 +0200] rev 51649
mmap: add a `is_mmap_safe` method to vfs This will be useful to safeguard mmap usage to void SIGBUS when repositories lives on a NFS drive.
Mon, 24 Jun 2024 13:14:05 +0200 Added signature for changeset 6454c117c6a4 stable
Raphaël Gomès <rgomes@octobus.net> [Mon, 24 Jun 2024 13:14:05 +0200] rev 51648
Added signature for changeset 6454c117c6a4
Mon, 24 Jun 2024 13:14:04 +0200 Added tag 6.8rc0 for changeset 6454c117c6a4 stable
Raphaël Gomès <rgomes@octobus.net> [Mon, 24 Jun 2024 13:14:04 +0200] rev 51647
Added tag 6.8rc0 for changeset 6454c117c6a4
Mon, 24 Jun 2024 12:05:31 +0200 branching: merge default into stable for 6.8rc0 stable 6.8rc0
Raphaël Gomès <rgomes@octobus.net> [Mon, 24 Jun 2024 12:05:31 +0200] rev 51646
branching: merge default into stable for 6.8rc0
Mon, 24 Jun 2024 12:04:14 +0200 relnotes: add 6.8rc0 default
Raphaël Gomès <rgomes@octobus.net> [Mon, 24 Jun 2024 12:04:14 +0200] rev 51645
relnotes: add 6.8rc0
Mon, 24 Jun 2024 10:52:46 +0200 branch3: use an explicitely experimental name for files
Raphaël Gomès <rgomes@octobus.net> [Mon, 24 Jun 2024 10:52:46 +0200] rev 51644
branch3: use an explicitely experimental name for files Since this format is still experimental, we don't want to have to side-step the `branch3` name in case people do start using it before it's stable.
Mon, 24 Jun 2024 03:16:52 +0200 obsolete: simplify relevantmarker
Joerg Sonnenberger <joerg@bec.de> [Mon, 24 Jun 2024 03:16:52 +0200] rev 51643
obsolete: simplify relevantmarker Drop duplicate assignment from a merge failure. Save one loop iteration by exploiting that pendingnodes will be seennodes after the first round anyway, so just pre-initialize the set accordingly. From Anton Shestakov's review on !867. Performance difference for my test case is in the noise.
Tue, 11 Jun 2024 18:47:50 +0200 exchange: improve computation of relevant markers for large repos
Joerg Sonnenberger <joerg@bec.de> [Tue, 11 Jun 2024 18:47:50 +0200] rev 51642
exchange: improve computation of relevant markers for large repos Find the candidates for nodes with relevant markers by going over all markers instead of iterating over all nodes. Most nodes will not have markers anyway. Further optimize the code by allowing revsets as well, which reduces the materialization cost.
Wed, 12 Jun 2024 11:29:11 +0200 branching: merge stable into default
Raphaël Gomès <rgomes@octobus.net> [Wed, 12 Jun 2024 11:29:11 +0200] rev 51641
branching: merge stable into default
Wed, 06 Sep 2023 18:23:32 +0200 narrow: add a test for linkrev computation done during widen
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 06 Sep 2023 18:23:32 +0200] rev 51640
narrow: add a test for linkrev computation done during widen This new tests show that the linkrev computed and sent by the server might end up being wrong during a widen operation.
Mon, 10 Jun 2024 13:45:57 +0200 obsolete: quote the feature name
Joerg Sonnenberger <joerg@bec.de> [Mon, 10 Jun 2024 13:45:57 +0200] rev 51639
obsolete: quote the feature name This makes it at least somewhat clearer that hg is talking about some specific feature and not just outdated code.
Mon, 10 Jun 2024 12:12:56 +0200 branching: merge stable into default
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 10 Jun 2024 12:12:56 +0200] rev 51638
branching: merge stable into default
Thu, 23 May 2024 11:05:11 +0200 clonebundles: add missing newline to legacy response
Julien Cristau <jcristau@mozilla.com> [Thu, 23 May 2024 11:05:11 +0200] rev 51637
clonebundles: add missing newline to legacy response This seems to have been removed in 6.5 (likely by 60f9602b413e).
Fri, 26 Apr 2024 19:10:35 +0100 dirstate: remove the python-side whitelist of allowed matchers
Arseniy Alekseyev <aalekseyev@janestreet.com> [Fri, 26 Apr 2024 19:10:35 +0100] rev 51636
dirstate: remove the python-side whitelist of allowed matchers This whitelist is too permissive because it allows matchers that contain disallowed ones deep inside, for example through `intersectionmatcher`. It is also too restrictive because it doesn't pass through some of the matchers we support, such as `patternmatcher`. It's also unnecessary because unsupported matchers raise `FallbackError` and we fall back anyway. Making this change makes more of the tests use rust code path, and therefore subtly change behavior. For example, rust status in largefiles repos seems to have strange behavior.
(0) -30000 -10000 -3000 -1000 -300 -100 -50 -30 +30 tip