Mon, 07 Feb 2022 13:23:58 +0100 revlog: register changelogv2 C implementation in parsers
pacien <pacien.trangirard@pacien.net> [Mon, 07 Feb 2022 13:23:58 +0100] rev 48769
revlog: register changelogv2 C implementation in parsers This allows Python code to make use of the C implementation of the changelogv2 base operations when the C extensions are enabled. The `format_version` values are now shared between the C and Python sides, avoiding an additional translation for the selection of the format version to use. Differential Revision: https://phab.mercurial-scm.org/D12179
Mon, 14 Feb 2022 12:34:02 +0100 revlog: implement changelogv2 packing and unpacking in C
pacien <pacien.trangirard@pacien.net> [Mon, 14 Feb 2022 12:34:02 +0100] rev 48768
revlog: implement changelogv2 packing and unpacking in C This introduces a C implementation of changelogv2 records packing and unpacking operations matching the pure Python counterpart, similarly to what we already have for revlogv1 and revlogv2. This is also necessary to access changelogv2 record fields from future Rust code without going through the Python part, which would annihilate any performance benefit. Differential Revision: https://phab.mercurial-scm.org/D12178
Thu, 10 Feb 2022 16:20:14 +0100 revlog: memset whole record instead of dealing with padding
pacien <pacien.trangirard@pacien.net> [Thu, 10 Feb 2022 16:20:14 +0100] rev 48767
revlog: memset whole record instead of dealing with padding This is less error-prone. Differential Revision: https://phab.mercurial-scm.org/D12177
Fri, 11 Feb 2022 05:37:19 +0100 revlog: do not compute node location by hand in index_invalidate_added
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 11 Feb 2022 05:37:19 +0100] rev 48766
revlog: do not compute node location by hand in index_invalidate_added The node is not guaranteed to be at the same location all the time (e.g: changelog v2), so let's use the official existing API to get that value. Differential Revision: https://phab.mercurial-scm.org/D12176
Fri, 28 Jan 2022 11:54:44 +0100 rank: compute property incrementally
pacien <pacien.trangirard@pacien.net> [Fri, 28 Jan 2022 11:54:44 +0100] rev 48765
rank: compute property incrementally This replaces the naive rank computation with a more efficient incremental method, avoiding computing the whole ancestor set when possible. Differential Revision: https://phab.mercurial-scm.org/D12143
Fri, 28 Jan 2022 11:45:33 +0100 rank: add test with golden values
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 28 Jan 2022 11:45:33 +0100] rev 48764
rank: add test with golden values This adds a regression test for the computation of the rank, using the current values computed with the naive algorithm as the "golden" reference. Differential Revision: https://phab.mercurial-scm.org/D12142
(0) -30000 -10000 -3000 -1000 -300 -100 -30 -10 -6 +6 +10 +30 +100 +300 +1000 +3000 tip