- Aug 01, 2024
-
-
Pierre-Yves David authored
-
Raphaël Gomès authored
This was reported by a user, and was a TODO long overdue.
-
- Jul 26, 2024
-
-
Julien Cristau authored
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
-
- Jul 11, 2024
-
-
Matt Harbison authored
This was reported to the TortoiseHg tracker as: mercurial/tortoisehg/thg#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.
-
- Jul 12, 2024
-
-
Anton Shestakov authored
-
- Jul 08, 2024
-
-
Raphaël Gomès authored
-
Raphaël Gomès authored
-
Raphaël Gomès authored
-
Pierre-Yves David authored
On python 3.12 this is wrongly reported as a local import. So we adjust the checker to avoid it.
-
Raphaël Gomès authored
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.
-
Raphaël Gomès authored
-
Raphaël Gomès authored
This will give us more headroom until we can migrate to PyO3 some day.
-
Pierre-Yves David authored
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.
-
- Jun 24, 2024
-
-
Jörg Sonnenberger authored
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.
-
- Jul 03, 2024
-
-
Pierre-Yves David authored
Cf `is_mmap_safe` docstring.
-
Pierre-Yves David authored
This fix the same kind of issue as 85d96517e650
-
Pierre-Yves David authored
Cf `is_mmap_safe` docstring.
-
Pierre-Yves David authored
Cf `is_mmap_safe` docstring.
-
Pierre-Yves David authored
This will be useful to safeguard mmap usage to void SIGBUS when repositories lives on a NFS drive.
-
- Jun 24, 2024
-
-
Raphaël Gomès authored
-
Raphaël Gomès authored
-
Raphaël Gomès authored
-
Raphaël Gomès authored
-
Raphaël Gomès authored
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.
-
Jörg Sonnenberger authored
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.
-
- Jun 11, 2024
-
-
Jörg Sonnenberger authored
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.
-
- Jun 13, 2024
-
-
Pierre-Yves David authored
If we go over 10 seconds, the number of white space changes.
-
- Jun 12, 2024
-
-
Raphaël Gomès authored
-
Raphaël Gomès authored
-
Raphaël Gomès authored
-
Raphaël Gomès authored
-
Pierre-Yves David authored
We move the name back to the expected name of `changelog.i.a`.
-
Pierre-Yves David authored
Since a93e52f0b6ff we no longer use inline-revlog for the changelog. The goal there was to solve the lack of testing for the two variants (inline vs split) and reduce the complexity of the interaction with "diverted-write" on the changelog level. However many existing repository still have inline-changelog and we automatically move them to normal revlog as soon as we have the chances. Unfortunately This conversion is buggy and can result in the destruction of the changelog.i if hook triggers the "write pending" mechanism. The bugs comes from the "revlog splitting" logic and the "write_pending" logic stepping over each other. Ironically the change in a93e52f0b6ff aims at no longer having this kind of problem. This changesets fix this issue and add associated tests. Fixing this reveal that the transaction hooks end up not seeing the pending transaction content, because the name is not right ("changelog.i.s.a" instead of "changelog.i.s") we fix this in the next changeset.
-
- Jun 11, 2024
-
-
Pierre-Yves David authored
Before this patch, running `hg push -B book` to push the `book` bookmark sideway at the same time as a commit making it moving forward might result in the removal of the bookmark remotely. After this changeset, the push can still be raced, but to remove deletion happens. This is progress.
-
Pierre-Yves David authored
This is useful for testing.
-
Pierre-Yves David authored
The previous code was taking locks before entering with statements, so exception before the with statement would not release the lock (except for garbage collection). We need to move to a try except here because the logic is more complicated.
-
Pierre-Yves David authored
The previous code was taking locks before entering with statements, so exception before the with statement would not release the lock (except for garbage collection).
-
- Sep 06, 2023
-
-
Pierre-Yves David authored
This new tests show that the linkrev computed and sent by the server might end up being wrong during a widen operation.
-
- Jun 10, 2024
-
-
Jörg Sonnenberger authored
This makes it at least somewhat clearer that hg is talking about some specific feature and not just outdated code.
-
Pierre-Yves David authored
-