Wed, 27 Nov 2019 17:59:58 +0100 revlog: made C Capsule an array of function pointers
Georges Racinet <georges.racinet@octobus.net> [Wed, 27 Nov 2019 17:59:58 +0100] rev 43959
revlog: made C Capsule an array of function pointers Although it's perfectly valid to put a function pointer in a capsule, as we've been doing since the start of rust/hg-cpython, an array of function pointers has several advantages: - it can hold several functions. That's our main motivation here. We plan to expose index_length() and index_node(), which will be needed for a Rust implementation of nodemap. - it could also have data - (probably minor in the case of Mercurial) proper support for architectures for which data and code pointers don't have the same size. Differential Revision: https://phab.mercurial-scm.org/D7543
Sun, 22 Dec 2019 23:09:37 -0500 lfs: fix a discrepancy with a function wanting a filelog, but calling it rlog
Matt Harbison <matt_harbison@yahoo.com> [Sun, 22 Dec 2019 23:09:37 -0500] rev 43958
lfs: fix a discrepancy with a function wanting a filelog, but calling it rlog This conceptually broke in 1541e1a8e87d when the filelog isa revlog relationship was changed to containment of the revlog. It was made more obvious in 62a532045e71 and related API simplification. It's resolved in favor of passing a revlog because the revlog verification code doesn't have a reference to a filelog. Differential Revision: https://phab.mercurial-scm.org/D7711
Sun, 22 Dec 2019 16:36:09 -0500 revlog: split the content verification of a node into a separate method
Matt Harbison <matt_harbison@yahoo.com> [Sun, 22 Dec 2019 16:36:09 -0500] rev 43957
revlog: split the content verification of a node into a separate method This will be used by LFS to tune what is skipped. In the future, this could also be used by LFS to indicate which nodes tagged with `skipread` are simply in need of a blob fetch, so that they can be done in a batch later. (Currently, `skipread` also indicates censored data and errors.) Additionally, it could be used to cache the sha1 hash value for each blob so that large blobs don't need to be re-read and re-hashed if they are used by multiple nodes. Differential Revision: https://phab.mercurial-scm.org/D7710
Sun, 22 Dec 2019 00:47:33 -0500 verify: update comment to say that lfs doesn't need fulltext to check renames
Matt Harbison <matt_harbison@yahoo.com> [Sun, 22 Dec 2019 00:47:33 -0500] rev 43956
verify: update comment to say that lfs doesn't need fulltext to check renames The reason is that `filelog.renamed()` indirectly calls `filelog.revision()`, which is what accesses the full text. However, LFS wraps `filelog.renamed()` and completely handles the case where an LFS blob is in play by using rawdata. I've got a test to demonstrate that this is the case, and prevent regressions. But the `skipread` flag is set on all lfs revisions when using `--no-lfs`, regardless of whether or not the blobs are local. Just above this, that flag is consulted, causing the rename checks to be skipped. That will need to be loosened up first. Differential Revision: https://phab.mercurial-scm.org/D7709
Wed, 18 Dec 2019 13:30:48 -0800 resourceutil: use `from importlib import resources`
Martin von Zweigbergk <martinvonz@google.com> [Wed, 18 Dec 2019 13:30:48 -0800] rev 43955
resourceutil: use `from importlib import resources` Without this patch, we get the following error from when trying to run hg with PyOxidizer: module 'importlib' has no attribute 'resources' I don't know what why that happens, but `from importlib import resources` is the form I would prefer anyway, so let's use that now that the impoort-checker has been fixed. Differential Revision: https://phab.mercurial-scm.org/D7701
Wed, 18 Dec 2019 13:39:44 -0800 import-checker: allow all absolute imports of stdlib modules
Martin von Zweigbergk <martinvonz@google.com> [Wed, 18 Dec 2019 13:39:44 -0800] rev 43954
import-checker: allow all absolute imports of stdlib modules Before this patch, we didn't allow imports like from importlib import resources (That's the reason I used `import importlib.resources` in D7629.) I think that form is still an absolute import, so I don't think we forbade on purpose. Differential Revision: https://phab.mercurial-scm.org/D7700
(0) -30000 -10000 -3000 -1000 -300 -100 -30 -10 -6 +6 +10 +30 +100 +300 +1000 +3000 tip