- Mar 11, 2025
-
-
Pierre-Yves David authored
This will be useful to test deletion in the next changesets.
-
Pierre-Yves David authored
The feature was not documented, so we start with documenting it before extending it.
-
- Feb 28, 2025
-
-
Anton Shestakov authored
Let's repeat 42baf12efd21.
-
- Mar 06, 2025
-
-
Pierre-Yves David authored
When the command where run in the background, the std was closed. So we have to so do some file description juggling to make sure it is passed down. This was affecting automatic clone bundle generation and associated test was added.
-
Pierre-Yves David authored
We could not easily run the CI on e705fec4a03f pre-publication, so of course, there are some output change with 7.0.
-
- Mar 05, 2025
-
-
Pierre-Yves David authored
Since 6.9.3 was made after 7.0rc0 we need to deal with more branching than usual.
-
Pierre-Yves David authored
When the manifest bundle constain some known requirement that does not affect the stream clone, we used to crash. However since we know them and know they don't affect the stream clone, we can ignore them. Mozilla generated such buggy manifest bundle for a time which allowed us to catch this error. The issue was not caught until 961900fbd67c (released in 6.9.2) as the requirements information were ignored for stream-v2 until then. We fix the issue, refactor the code for robustness and adds more tests to better catch this kind of issue in the future.
-
- Feb 22, 2025
-
-
Pierre-Yves David authored
Now that all user has been removed, we can safely drop them.
-
Pierre-Yves David authored
Same rational the parent changesets.
-
Pierre-Yves David authored
Same rational as the parent changeset.
-
Pierre-Yves David authored
Same rational as the parent changeset.
-
Pierre-Yves David authored
This is a follow up to e6069f84abbb. It turns about that there are multiple test condition that needs cleanup. This handle the usage of the first one.
-
- Feb 20, 2025
-
-
Matt Harbison authored
Windows can't typically invoke `*.py` directly as a command, and will instead show a prompt asking what program should be used to open the file. We can't directly invoke the interpreter as is usually done in this case, because the whole point is to run something not in `PATH`. The easiest thing to do is invoke a *.bat file that runs the interpreter. We can get away with this because the current implementation is to effectively run `cmd.exe /c %command%`, which doesn't need the file extension specified.
-
- Feb 19, 2025
-
-
Pierre-Yves David authored
See inline document for details.
-
- Feb 03, 2023
-
-
Pierre-Yves David authored
This is a generalisation of the new feature from evolve but for any diff, it allow to compares changes to patches regardless of the changes introduced by ancestors, this is typically useful after rebase and graft. I am not very happy about the name, but it is still experimental, so that can be improved later. Having the ability to compare ranges of commit would probably be handy too, but this changeset focus in getting the basic case in. We have to think about the UI a bit ahead however.
-
- Feb 07, 2025
-
-
Mitchell Kember authored
This adds support to rhg annotate for all the whitespace options: -w, --ignore-all-space -b, --ignore-space-change -B, --ignore-blank-lines -Z, --ignore-space-at-eol Note that --ignore-blank-lines has no effect on annotate so it is ignored. You can see this in dagop.py _annotepair which only checks if blocks are '=' or not, whereas the effect of --ignore-blank-lines is to change some '!' into '~'. When the other 3 are combined, we use the strongest option since -w implies -b and -b implies -Z. This is not explicit in the Python implementation, but I have verified that's how it behaves.
-
- Feb 12, 2025
-
-
Mitchell Kember authored
This was missing from the whitespace option testing in test-annotate.t. I changed the "a" file contents a bit to make the output different from the other whitespace flags.
-
- Feb 18, 2025
-
-
Pierre-Yves David authored
-
Pierre-Yves David authored
The code was calling `_set_identity` in too many places, resulting in fetching cache information after reading the on disk data. This could result in old data labelled with the identity of new, never loaded data. Fixing it solve the issue spotted in the previous changesets. Further cleanup are warranted but it seems more reasonable to do them on stable.
-
Pierre-Yves David authored
This was giving the wrong output in the `dirstate-v2-rewrite` case. As the dirstate is rewritten, the data file is missing and we reload the full dirstate. The make the dirstate reloaded after the commit and it no longer see the file as dirty. Note that if we were deleting the data file less aggressively, we would see the other output. (for example if we were keeping old data file around for some time before deletion). One last thing… fixing this reveal a quite serious bug where a `hg status` end up overwriting a `hg update` done concurrently. Hooray for proper testing.
-
Pierre-Yves David authored
`#if dirstate-v2` is always false, because `dirstate-v2` is not one of the test cases. So we fix the conditionnal and adjust the expected matching. This highlight that the rhg/no-rhg output differ because an issue in the code. We will fix that in the next changeset.
-
Pierre-Yves David authored
We are going to fix a bug in the test framework, that will reveal a fairly serious bug with the Rust code. So we update the test before hand for clarity.
-
Julien Cristau authored
stream bundle specs specify requirements, but we were ignoring this when selecting which bundle to apply, causing spurious clone failures.
-
- Feb 17, 2025
-
-
Pierre Augier authored
-
- Jan 27, 2025
-
-
Pierre-Yves David authored
This mechanism limit the read-aheadto avoid uncontrolled memory usage. Note that the memory target is not a hard limit and that mercurial will use more memory that specified in some cases, but "not too much more". The current implementation focus on "simplicity" and could be more efficient. However this provide a "safe" baseline for the feature. Now that the overall shape of the feature is here we can start making it faster. Here is more benchmark of how everything slows down. The next series will focus on optimizing this code path to actually speeds things up. ### benchmark.name = hg.perf.exchange.stream.consume # bin-env-vars.hg.flavor = default # bin-env-vars.hg.py-re2-module = default # benchmark.variants.memory-target = default # benchmark.variants.num-writer = default # benchmark.variants.parallel-processing = yes # benchmark.variants.progress = no # benchmark.variants.read-from-memory = yes # benchmark.variants.version = v2 ## data-env-vars.name = heptapod-public-2024-03-25-zstd-sparse-revlog no-thread: 7.244015 ~~~~~ write-thread: 9.128669 (+26.02%, +1.88) read-thread: 9.387256 (+29.59%, +2.14) mem-target: 9.901032 (+36.68%, +2.66) ## data-env-vars.name = mercurial-public-2024-03-22-zstd-sparse-revlog no-thread: 0.249693 ~~~~~ write-thread: 0.275081 (+10.17%, +0.03) read-thread: 0.292601 (+17.18%, +0.04) mem-target: 0.305973 (+22.54%, +0.06) ## data-env-vars.name = netbeans-2019-11-07-zstd-sparse-revlog no-thread: 13.136674 ~~~~~ write-thread: 16.374306 (+24.65%, +3.24) read-thread: 17.008865 (+29.48%, +3.87) mem-target: 18.467590 (+40.58%, +5.33) ## data-env-vars.name = netbsd-xsrc-all-2024-09-19-zstd-sparse-revlog no-thread: 5.317709 ~~~~~ write-thread: 6.783031 (+27.56%, +1.47) read-thread: 7.107141 (+33.65%, +1.79) mem-target: 7.338505 (+38.00%, +2.02) ## data-env-vars.name = netbsd-xsrc-draft-2024-09-19-zstd-sparse-revlog no-thread: 5.398368 ~~~~~ write-thread: 6.737864 (+24.81%, +1.34) read-thread: 7.163505 (+32.70%, +1.77) mem-target: 7.333354 (+35.84%, +1.93) ## data-env-vars.name = pypy-2024-03-22-zstd-sparse-revlog no-thread: 3.acbb55 ~~~~~ write-thread: 3.758324 (+22.48%, +0.69) read-thread: 3.907693 (+27.34%, +0.84) mem-target: 4.238172 (+38.11%, +1.17) ## data-env-vars.name = mozilla-central-2024-03-22-zstd-sparse-revlog no-thread: 51.934795 ~~~~~ write-thread: 66.561340 (+28.16%, +14.63) read-thread: 66.902619 (+28.82%, +14.97) mem-target: 78.194540 (+50.56%, +26.26) ## data-env-vars.name = mozilla-unified-2024-03-22-zstd-sparse-revlog # benchmark.variants.read-from-memory = yes no-thread: 52.253858 ~~~~~ write-thread: 66.955037 (+28.13%, +14.70) read-thread: 66.397609 (+27.07%, +14.14) mem-target: 77.492938 (+48.30%, +25.24) ## data-env-vars.name = mozilla-try-2024-03-26-zstd-sparse-revlog # benchmark.variants.read-from-memory = no no-thread: 130.584329 ~~~~~ write-thread: 138.770454 (+6.27%, +8.19) read-thread: 145.137477 (+11.14%, +14.55) mem-target: 164.366925 (+25.87%, +33.78)
-
- Jan 21, 2025
-
-
Pierre-Yves David authored
The reader thread just want to iterate over chunk, so let it do just that. This avoid some silly layer of filechunkiter and chunk buffer. Before this change, we had the following layers: bundle2part (iterator of chunks) → chunkbuffer (iterator of chunks to file-like) → filechunkiter (file-like to chunkgs) → _DataQueue (thread safe iterator of chunks) → chunkbuffer (iterator of chunks to file-like). We now have removed the first layer of chunkbuffer + filechunkiter: bundle2part (iterator of chunks) → _DataQueue (thread safe iterator of chunks) → chunkbuffer (iterator of chunks to file-like). This fix the output order change that was previously introduced.
-
- Jan 20, 2025
-
-
Pierre-Yves David authored
We could do useful thing while waiting for data, so we introduce another thread dedicated to reading the bundle data and pass them to the thread parsing the bundle. This has a small impact on test output because the bundle part is consumed at a different time. However this will be smoothed out very soon so lets ignore that for now. As for the previous patch, the speed up in not there yet. We need to adjust various part of the implementation to see some benefit. However, this put the generic architecture in place so that we can focus on performance later. Below are some benchmark result to highlight the slowdown. ### benchmark.name = hg.perf.exchange.stream.consume # bin-env-vars.hg.flavor = default # bin-env-vars.hg.py-re2-module = default # benchmark.variants.memory-target = default # benchmark.variants.num-writer = default # benchmark.variants.parallel-processing = yes # benchmark.variants.progress = no # benchmark.variants.read-from-memory = yes # benchmark.variants.version = v2 ## data-env-vars.name = heptapod-public-2024-03-25-zstd-sparse-revlog no-thread: 7.244015 ~~~~~ write-thread: 9.128669 (+26.02%, +1.88) read-thread: 9.387256 (+29.59%, +2.14) ## data-env-vars.name = mercurial-public-2024-03-22-zstd-sparse-revlog no-thread: 0.249693 ~~~~~ write-thread: 0.275081 (+10.17%, +0.03) read-thread: 0.292601 (+17.18%, +0.04) ## data-env-vars.name = netbeans-2019-11-07-zstd-sparse-revlog no-thread: 13.136674 ~~~~~ write-thread: 16.374306 (+24.65%, +3.24) read-thread: 17.008865 (+29.48%, +3.87) ## data-env-vars.name = netbsd-xsrc-all-2024-09-19-zstd-sparse-revlog no-thread: 5.317709 ~~~~~ write-thread: 6.783031 (+27.56%, +1.47) read-thread: 7.107141 (+33.65%, +1.79) ## data-env-vars.name = netbsd-xsrc-draft-2024-09-19-zstd-sparse-revlog no-thread: 5.398368 ~~~~~ write-thread: 6.737864 (+24.81%, +1.34) read-thread: 7.163505 (+32.70%, +1.77) ## data-env-vars.name = pypy-2024-03-22-zstd-sparse-revlog no-thread: 3.acbb55 ~~~~~ write-thread: 3.758324 (+22.48%, +0.69) read-thread: 3.907693 (+27.34%, +0.84) ## data-env-vars.name = mozilla-central-2024-03-22-zstd-sparse-revlog no-thread: 51.934795 ~~~~~ write-thread: 66.561340 (+28.16%, +14.63) read-thread: 66.902619 (+28.82%, +14.97) ## data-env-vars.name = mozilla-unified-2024-03-22-zstd-sparse-revlog no-thread: 52.253858 ~~~~~ write-thread: 66.955037 (+28.13%, +14.70) read-thread: 66.397609 (+27.07%, +14.14) ## data-env-vars.name = mozilla-try-2024-03-26-zstd-sparse-revlog # benchmark.variants.read-from-memory = no no-thread: 130.584329 ~~~~~ write-thread: 138.770454 (+6.27%, +8.19) read-thread: 145.137477 (+11.14%, +14.55)
-
Pierre-Yves David authored
This could provide a significant performance boost, but various implementation details means it is currently slower. More update will help make this boost real, but here is the basic idea. The implementation in this patch is unbounded in memory which could be a problem in some situation. We will deal with that soon. There is the benchmark result showing a slower run ### benchmark.name = hg.perf.exchange.stream.consume # bin-env-vars.hg.flavor = default # bin-env-vars.hg.py-re2-module = default # benchmark.variants.parallel-processing = yes # benchmark.variants.progress = no # benchmark.variants.read-from-memory = yes # benchmark.variants.version = v2 ## data-env-vars.name = mercurial-public-2024-03-22-zstd-sparse-revlog before: 0.249693 ~~~~~ after: 0.275081 (+10.17%, +0.03) ## data-env-vars.name = netbsd-xsrc-all-2024-09-19-zstd-sparse-revlog before: 5.317709 ~~~~~ after: 6.783031 (+27.56%, +1.47) ## data-env-vars.name = netbsd-xsrc-draft-2024-09-19-zstd-sparse-revlog before: 5.398368 ~~~~~ after: 6.737864 (+24.81%, +1.34) ## data-env-vars.name = pypy-2024-03-22-zstd-sparse-revlog before: 3.acbb55 ~~~~~ after: 3.758324 (+22.48%, +0.69) ## data-env-vars.name = heptapod-public-2024-03-25-zstd-sparse-revlog before: 7.244015 ~~~~~ after: 9.128669 (+26.02%, +1.88) ## data-env-vars.name = netbeans-2019-11-07-zstd-sparse-revlog before: 13.136674 ~~~~~ after: 16.374306 (+24.65%, +3.24) ## data-env-vars.name = mozilla-unified-2024-03-22-zstd-sparse-revlog before: 52.253858 ~~~~~ after: 66.955037 (+28.13%, +14.70) ## data-env-vars.name = mozilla-central-2024-03-22-zstd-sparse-revlog before: 51.934795 ~~~~~ after: 66.561340 (+28.16%, +14.63) ## data-env-vars.name = mozilla-try-2024-03-26-zstd-sparse-revlog # benchmark.variants.read-from-memory = no before: 130.584329 ~~~~~ after: 138.770454 (+6.27%, +8.19)
-
- Feb 13, 2025
-
-
Raphaël Gomès authored
The code (especially the Rust code) was jumping in 4 dimensions to make sense of what was going on because it wrongly assumed that we needed to somehow be able to ask a generaldelta index for a non-generaldelta delta chain, which doesn't make any sense. Removing the cargo-culted/vestigial code, this is cleaner and less confusing.
-
- Feb 10, 2025
-
-
Pierre-Yves David authored
The idea of having a clear storage interface and a small extension to test it was not bad in theory. However this never materialize to anything concrete, and nobody has touched this extensions for over 6 years. So it is mainly getting in the way of other works. Incidently, the clarification of interface is seeing progress thanks to the Matt Harbison typing effort and the slow rewrite into rust of core element led by Octobus. So I suggest we drop this extension, freeing energy for other improvements.
-
Pierre-Yves David authored
The tests seems to run fine with `--rust` now ¯\_(ツ)_/¯
-
Pierre-Yves David authored
It is kind of useful to know why things happens.
-
- Jan 07, 2025
-
-
Raphaël Gomès authored
This does many things that would involve a lot of churn if done separately: - Move the ancestors, revision and dagops modules to use the new `SharedByPyObject` instead of the old `UnsafePyLeaked` - Move the ancestors and discovery Python tests to using PyO3 - Change all calls to `importrust` to use `pyo3=True`, where applicable # Benchmarks I've run a bunch of benchmarks that involve revlog use. The TL;DR is that the pyo3 code is basically always very slightly faster if/when it's not within the noise levels. Here is the report: ``` ### data-env-vars.name = heptapod-public-2024-03-25-ds2-pnm # benchmark.name = hg.command.cat # bin-env-vars.hg.flavor = rhg # bin-env-vars.hg.py-re2-module = default # benchmark.variants.files = all-root # benchmark.variants.output = plain # benchmark.variants.rev = tip before: 8.425445 ~~~~~ after: 8.170007 (-3.03%, -0.26) ### data-env-vars.name = heptapod-public-2024-03-25-ds2-pnm # benchmark.name = hg.command.cat # bin-env-vars.hg.flavor = rust # bin-env-vars.hg.py-re2-module = default # benchmark.variants.files = all-root # benchmark.variants.output = plain # benchmark.variants.rev = tip before: 8.328969 ~~~~~ after: 8.193693 (-1.62%, -0.14) ### data-env-vars.name = heptapod-public-2024-03-25-ds2-pnm # benchmark.name = hg.command.log # bin-env-vars.hg.flavor = rhg # bin-env-vars.hg.py-re2-module = default # benchmark.variants.limit-rev = 1000 # benchmark.variants.patch = no # benchmark.variants.rev = none before: 0.318721 ~~~~~ after: 0.317050 ### data-env-vars.name = heptapod-public-2024-03-25-ds2-pnm # benchmark.name = hg.command.log # bin-env-vars.hg.flavor = rust # bin-env-vars.hg.py-re2-module = default # benchmark.variants.limit-rev = 1000 # benchmark.variants.patch = no # benchmark.variants.rev = none before: 0.315603 ~~~~~ after: 0.311842 (-1.19%, -0.00) ### data-env-vars.name = heptapod-public-2024-03-25-ds2-pnm # benchmark.name = hg.perf.read-revisions # bin-env-vars.hg.flavor = rhg # bin-env-vars.hg.py-re2-module = default # benchmark.variants.order = default # benchmark.variants.revlog = manifestlog before: 15.422452 ~~~~~ after: 15.417195 ### data-env-vars.name = heptapod-public-2024-03-25-ds2-pnm # benchmark.name = hg.perf.read-revisions # bin-env-vars.hg.flavor = rust # bin-env-vars.hg.py-re2-module = default # benchmark.variants.order = default # benchmark.variants.revlog = manifestlog before: 15.424805 ~~~~~ after: 15.417188 ### data-env-vars.name = heptapod-public-2024-03-25-zstd-sparse-revlog # benchmark.name = hg.command.cat # bin-env-vars.hg.flavor = rhg # bin-env-vars.hg.py-re2-module = default # benchmark.variants.files = all-root # benchmark.variants.output = plain # benchmark.variants.rev = tip before: 8.447181 ~~~~~ after: 8.279321 (-1.99%, -0.17) ### data-env-vars.name = heptapod-public-2024-03-25-zstd-sparse-revlog # benchmark.name = hg.command.cat # bin-env-vars.hg.flavor = rust # bin-env-vars.hg.py-re2-module = default # benchmark.variants.files = all-root # benchmark.variants.output = plain # benchmark.variants.rev = tip before: 8.399840 ~~~~~ after: 8.310752 (-1.06%, -0.09) ### data-env-vars.name = heptapod-public-2024-03-25-zstd-sparse-revlog # benchmark.name = hg.command.log # bin-env-vars.hg.flavor = rhg # bin-env-vars.hg.py-re2-module = default # benchmark.variants.limit-rev = 1000 # benchmark.variants.patch = no # benchmark.variants.rev = none before: 0.352319 ~~~~~ after: 0.353375 ### data-env-vars.name = heptapod-public-2024-03-25-zstd-sparse-revlog # benchmark.name = hg.command.log # bin-env-vars.hg.flavor = rust # bin-env-vars.hg.py-re2-module = default # benchmark.variants.limit-rev = 1000 # benchmark.variants.patch = no # benchmark.variants.rev = none before: 0.322006 ~~~~~ after: 0.323852 ### data-env-vars.name = heptapod-public-2024-03-25-zstd-sparse-revlog # benchmark.name = hg.perf.read-revisions # bin-env-vars.hg.flavor = rhg # bin-env-vars.hg.py-re2-module = default # benchmark.variants.order = default # benchmark.variants.revlog = manifestlog before: 16.183304 ~~~~~ after: 16.177351 ### data-env-vars.name = heptapod-public-2024-03-25-zstd-sparse-revlog # benchmark.name = hg.perf.read-revisions # bin-env-vars.hg.flavor = rust # bin-env-vars.hg.py-re2-module = default # benchmark.variants.order = default # benchmark.variants.revlog = manifestlog before: 16.169041 ~~~~~ after: 16.173200 ### data-env-vars.name = mercurial-public-2018-08-01-ds2-pnm # benchmark.name = hg.command.cat # bin-env-vars.hg.flavor = rhg # bin-env-vars.hg.py-re2-module = default # benchmark.variants.files = all-root # benchmark.variants.output = plain # benchmark.variants.rev = tip before: 0.559746 ~~~~~ after: 0.548727 (-1.97%, -0.01) ### data-env-vars.name = mercurial-public-2018-08-01-ds2-pnm # benchmark.name = hg.command.cat # bin-env-vars.hg.flavor = rust # bin-env-vars.hg.py-re2-module = default # benchmark.variants.files = all-root # benchmark.variants.output = plain # benchmark.variants.rev = tip before: 0.551662 ~~~~~ after: 0.548478 ### data-env-vars.name = mercurial-public-2018-08-01-ds2-pnm # benchmark.name = hg.command.log # bin-env-vars.hg.flavor = rhg # bin-env-vars.hg.py-re2-module = default # benchmark.variants.limit-rev = 1000 # benchmark.variants.patch = no # benchmark.variants.rev = none before: 0.294767 ~~~~~ after: 0.291008 (-1.28%, -0.00) ### data-env-vars.name = mercurial-public-2018-08-01-ds2-pnm # benchmark.name = hg.command.log # bin-env-vars.hg.flavor = rust # bin-env-vars.hg.py-re2-module = default # benchmark.variants.limit-rev = 1000 # benchmark.variants.patch = no # benchmark.variants.rev = none before: 0.290598 ~~~~~ after: 0.288139 ### data-env-vars.name = mercurial-public-2018-08-01-ds2-pnm # benchmark.name = hg.perf.read-revisions # bin-env-vars.hg.flavor = rhg # bin-env-vars.hg.py-re2-module = default # benchmark.variants.order = default # benchmark.variants.revlog = manifestlog before: 0.128753 ~~~~~ after: 0.127942 ### data-env-vars.name = mercurial-public-2018-08-01-ds2-pnm # benchmark.name = hg.perf.read-revisions # bin-env-vars.hg.flavor = rust # bin-env-vars.hg.py-re2-module = default # benchmark.variants.order = default # benchmark.variants.revlog = manifestlog before: 0.128310 ~~~~~ after: 0.128236 ### data-env-vars.name = mercurial-public-2018-08-01-ds2-pnm # benchmark.name = hg.perf.unbundle # bin-env-vars.hg.flavor = rhg # bin-env-vars.hg.py-re2-module = default # benchmark.variants.issue6528 = default # benchmark.variants.revs = any-10000-extra-rev # benchmark.variants.source = default before: 4.968975 ~~~~~ after: 4.804225 (-3.32%, -0.16) ### data-env-vars.name = mercurial-public-2018-08-01-ds2-pnm # benchmark.name = hg.perf.unbundle # bin-env-vars.hg.flavor = rust # bin-env-vars.hg.py-re2-module = default # benchmark.variants.issue6528 = default # benchmark.variants.revs = any-10000-extra-rev # benchmark.variants.source = default before: 5.038150 ~~~~~ after: 4.821872 (-4.29%, -0.22) ### data-env-vars.name = mercurial-public-2018-08-01-zstd-sparse-revlog # benchmark.name = hg.command.cat # bin-env-vars.hg.flavor = rhg # bin-env-vars.hg.py-re2-module = default # benchmark.variants.files = all-root # benchmark.variants.output = plain # benchmark.variants.rev = tip before: 0.560542 ~~~~~ after: 0.557323 ### data-env-vars.name = mercurial-public-2018-08-01-zstd-sparse-revlog # benchmark.name = hg.command.cat # bin-env-vars.hg.flavor = rust # bin-env-vars.hg.py-re2-module = default # benchmark.variants.files = all-root # benchmark.variants.output = plain # benchmark.variants.rev = tip before: 0.554099 ~~~~~ after: 0.553200 ### data-env-vars.name = mercurial-public-2018-08-01-zstd-sparse-revlog # benchmark.name = hg.command.log # bin-env-vars.hg.flavor = rhg # bin-env-vars.hg.py-re2-module = default # benchmark.variants.limit-rev = 1000 # benchmark.variants.patch = no # benchmark.variants.rev = none before: 0.292676 ~~~~~ after: 0.292513 ### data-env-vars.name = mercurial-public-2018-08-01-zstd-sparse-revlog # benchmark.name = hg.command.log # bin-env-vars.hg.flavor = rust # bin-env-vars.hg.py-re2-module = default # benchmark.variants.limit-rev = 1000 # benchmark.variants.patch = no # benchmark.variants.rev = none before: 0.288629 ~~~~~ after: 0.287737 ### data-env-vars.name = mercurial-public-2018-08-01-zstd-sparse-revlog # benchmark.name = hg.perf.read-revisions # bin-env-vars.hg.flavor = rhg # bin-env-vars.hg.py-re2-module = default # benchmark.variants.order = default # benchmark.variants.revlog = manifestlog before: 0.223442 ~~~~~ after: 0.223168 ### data-env-vars.name = mercurial-public-2018-08-01-zstd-sparse-revlog # benchmark.name = hg.perf.read-revisions # bin-env-vars.hg.flavor = rust # bin-env-vars.hg.py-re2-module = default # benchmark.variants.order = default # benchmark.variants.revlog = manifestlog before: 0.223376 ~~~~~ after: 0.222181 ### data-env-vars.name = mercurial-public-2018-08-01-zstd-sparse-revlog # benchmark.name = hg.perf.unbundle # bin-env-vars.hg.flavor = rhg # bin-env-vars.hg.py-re2-module = default # benchmark.variants.issue6528 = default # benchmark.variants.revs = any-10000-extra-rev # benchmark.variants.source = default before: 4.691464 ~~~~~ after: 4.567641 (-2.64%, -0.12) ### data-env-vars.name = mercurial-public-2018-08-01-zstd-sparse-revlog # benchmark.name = hg.perf.unbundle # bin-env-vars.hg.flavor = rust # bin-env-vars.hg.py-re2-module = default # benchmark.variants.issue6528 = default # benchmark.variants.revs = any-10000-extra-rev # benchmark.variants.source = default before: 4.700062 ~~~~~ after: 4.616739 (-1.77%, -0.08) ### data-env-vars.name = mercurial-public-2024-03-22-ds2-pnm # benchmark.name = hg.command.cat # bin-env-vars.hg.flavor = rhg # bin-env-vars.hg.py-re2-module = default # benchmark.variants.files = all-root # benchmark.variants.output = plain # benchmark.variants.rev = tip before: 0.708915 ~~~~~ after: 0.697581 (-1.60%, -0.01) ### data-env-vars.name = mercurial-public-2024-03-22-ds2-pnm # benchmark.name = hg.command.cat # bin-env-vars.hg.flavor = rust # bin-env-vars.hg.py-re2-module = default # benchmark.variants.files = all-root # benchmark.variants.output = plain # benchmark.variants.rev = tip before: 0.698667 ~~~~~ after: 0.693792 ### data-env-vars.name = mercurial-public-2024-03-22-ds2-pnm # benchmark.name = hg.command.log # bin-env-vars.hg.flavor = rhg # bin-env-vars.hg.py-re2-module = default # benchmark.variants.limit-rev = 1000 # benchmark.variants.patch = no # benchmark.variants.rev = none before: 0.302459 ~~~~~ after: 0.296517 (-1.96%, -0.01) ### data-env-vars.name = mercurial-public-2024-03-22-ds2-pnm # benchmark.name = hg.command.log # bin-env-vars.hg.flavor = rust # bin-env-vars.hg.py-re2-module = default # benchmark.variants.limit-rev = 1000 # benchmark.variants.patch = no # benchmark.variants.rev = none before: 0.297432 ~~~~~ after: 0.293347 (-1.37%, -0.00) ### data-env-vars.name = mercurial-public-2024-03-22-ds2-pnm # benchmark.name = hg.perf.read-revisions # bin-env-vars.hg.flavor = rhg # bin-env-vars.hg.py-re2-module = default # benchmark.variants.order = default # benchmark.variants.revlog = manifestlog before: 0.200229 ~~~~~ after: 0.199035 ### data-env-vars.name = mercurial-public-2024-03-22-ds2-pnm # benchmark.name = hg.perf.read-revisions # bin-env-vars.hg.flavor = rust # bin-env-vars.hg.py-re2-module = default # benchmark.variants.order = default # benchmark.variants.revlog = manifestlog before: 0.199995 ~~~~~ after: 0.199130 ### data-env-vars.name = mercurial-public-2024-03-22-zstd-sparse-revlog # benchmark.name = hg.command.cat # bin-env-vars.hg.flavor = rhg # bin-env-vars.hg.py-re2-module = default # benchmark.variants.files = all-root # benchmark.variants.output = plain # benchmark.variants.rev = tip before: 0.712384 ~~~~~ after: 0.703804 (-1.20%, -0.01) ### data-env-vars.name = mercurial-public-2024-03-22-zstd-sparse-revlog # benchmark.name = hg.command.cat # bin-env-vars.hg.flavor = rust # bin-env-vars.hg.py-re2-module = default # benchmark.variants.files = all-root # benchmark.variants.output = plain # benchmark.variants.rev = tip before: 0.704736 ~~~~~ after: 0.699944 ### data-env-vars.name = mercurial-public-2024-03-22-zstd-sparse-revlog # benchmark.name = hg.command.log # bin-env-vars.hg.flavor = rhg # bin-env-vars.hg.py-re2-module = default # benchmark.variants.limit-rev = 1000 # benchmark.variants.patch = no # benchmark.variants.rev = none before: 0.300989 ~~~~~ after: 0.300870 ### data-env-vars.name = mercurial-public-2024-03-22-zstd-sparse-revlog # benchmark.name = hg.command.log # bin-env-vars.hg.flavor = rust # bin-env-vars.hg.py-re2-module = default # benchmark.variants.limit-rev = 1000 # benchmark.variants.patch = no # benchmark.variants.rev = none before: 0.296388 ~~~~~ after: 0.295122 ### data-env-vars.name = mercurial-public-2024-03-22-zstd-sparse-revlog # benchmark.name = hg.perf.read-revisions # bin-env-vars.hg.flavor = rhg # bin-env-vars.hg.py-re2-module = default # benchmark.variants.order = default # benchmark.variants.revlog = manifestlog before: 0.323753 ~~~~~ after: 0.328260 (+1.39%, +0.00) ### data-env-vars.name = mercurial-public-2024-03-22-zstd-sparse-revlog # benchmark.name = hg.perf.read-revisions # bin-env-vars.hg.flavor = rust # bin-env-vars.hg.py-re2-module = default # benchmark.variants.order = default # benchmark.variants.revlog = manifestlog before: 0.326091 ~~~~~ after: 0.325825 ### data-env-vars.name = mozilla-central-2018-08-01-ds2-pnm # benchmark.name = hg.command.cat # bin-env-vars.hg.flavor = rhg # bin-env-vars.hg.py-re2-module = default # benchmark.variants.files = all-root # benchmark.variants.output = plain # benchmark.variants.rev = tip before: 36.797693 ~~~~~ after: 35.395390 (-3.81%, -1.40) ### data-env-vars.name = mozilla-central-2018-08-01-ds2-pnm # benchmark.name = hg.command.cat # bin-env-vars.hg.flavor = rust # bin-env-vars.hg.py-re2-module = default # benchmark.variants.files = all-root # benchmark.variants.output = plain # benchmark.variants.rev = tip before: 36.400602 ~~~~~ after: 35.793828 (-1.67%, -0.61) ### data-env-vars.name = mozilla-central-2018-08-01-ds2-pnm # benchmark.name = hg.command.log # bin-env-vars.hg.flavor = rhg # bin-env-vars.hg.py-re2-module = default # benchmark.variants.limit-rev = 1000 # benchmark.variants.patch = no # benchmark.variants.rev = none before: 0.303372 ~~~~~ after: 0.302275 ### data-env-vars.name = mozilla-central-2018-08-01-ds2-pnm # benchmark.name = hg.command.log # bin-env-vars.hg.flavor = rust # bin-env-vars.hg.py-re2-module = default # benchmark.variants.limit-rev = 1000 # benchmark.variants.patch = no # benchmark.variants.rev = none before: 0.300228 ~~~~~ after: 0.299014 ### data-env-vars.name = mozilla-central-2018-08-01-ds2-pnm # benchmark.name = hg.perf.read-revisions # bin-env-vars.hg.flavor = rhg # bin-env-vars.hg.py-re2-module = default # benchmark.variants.order = default # benchmark.variants.revlog = manifestlog before: 133.610273 ~~~~~ after: 134.082667 ### data-env-vars.name = mozilla-central-2018-08-01-ds2-pnm # benchmark.name = hg.perf.read-revisions # bin-env-vars.hg.flavor = rust # bin-env-vars.hg.py-re2-module = default # benchmark.variants.order = default # benchmark.variants.revlog = manifestlog before: 133.560602 ~~~~~ after: 133.560186 ### data-env-vars.name = mozilla-central-2018-08-01-ds2-pnm # benchmark.name = hg.perf.unbundle # bin-env-vars.hg.flavor = rhg # bin-env-vars.hg.py-re2-module = default # benchmark.variants.issue6528 = default # benchmark.variants.revs = any-10000-extra-rev # benchmark.variants.source = default before: 32.279654 ~~~~~ after: 31.937365 (-1.06%, -0.34) ### data-env-vars.name = mozilla-central-2018-08-01-ds2-pnm # benchmark.name = hg.perf.unbundle # bin-env-vars.hg.flavor = rust # bin-env-vars.hg.py-re2-module = default # benchmark.variants.issue6528 = default # benchmark.variants.revs = any-10000-extra-rev # benchmark.variants.source = default before: 32.393790 ~~~~~ after: 32.059161 (-1.03%, -0.33) ### data-env-vars.name = mozilla-central-2018-08-01-zstd-sparse-revlog # benchmark.name = hg.command.cat # bin-env-vars.hg.flavor = rhg # bin-env-vars.hg.py-re2-module = default # benchmark.variants.files = all-root # benchmark.variants.output = plain # benchmark.variants.rev = tip before: 36.750314 ~~~~~ after: 35.659837 (-2.97%, -1.09) ### data-env-vars.name = mozilla-central-2018-08-01-zstd-sparse-revlog # benchmark.name = hg.command.cat # bin-env-vars.hg.flavor = rust # bin-env-vars.hg.py-re2-module = default # benchmark.variants.files = all-root # benchmark.variants.output = plain # benchmark.variants.rev = tip before: 36.132511 ~~~~~ after: 35.533999 (-1.66%, -0.60) ### data-env-vars.name = mozilla-central-2018-08-01-zstd-sparse-revlog # benchmark.name = hg.command.log # bin-env-vars.hg.flavor = rhg # bin-env-vars.hg.py-re2-module = default # benchmark.variants.limit-rev = 1000 # benchmark.variants.patch = no # benchmark.variants.rev = none before: 0.426249 ~~~~~ after: 0.427237 ### data-env-vars.name = mozilla-central-2018-08-01-zstd-sparse-revlog # benchmark.name = hg.command.log # bin-env-vars.hg.flavor = rust # bin-env-vars.hg.py-re2-module = default # benchmark.variants.limit-rev = 1000 # benchmark.variants.patch = no # benchmark.variants.rev = none before: 0.297567 ~~~~~ after: 0.297548 ### data-env-vars.name = mozilla-central-2018-08-01-zstd-sparse-revlog # benchmark.name = hg.perf.read-revisions # bin-env-vars.hg.flavor = rhg # bin-env-vars.hg.py-re2-module = default # benchmark.variants.order = default # benchmark.variants.revlog = manifestlog before: 135.684726 ~~~~~ after: 135.554733 ### data-env-vars.name = mozilla-central-2018-08-01-zstd-sparse-revlog # benchmark.name = hg.perf.read-revisions # bin-env-vars.hg.flavor = rust # bin-env-vars.hg.py-re2-module = default # benchmark.variants.order = default # benchmark.variants.revlog = manifestlog before: 135.521429 ~~~~~ after: 135.471735 ### data-env-vars.name = mozilla-central-2018-08-01-zstd-sparse-revlog # benchmark.name = hg.perf.unbundle # bin-env-vars.hg.flavor = rhg # bin-env-vars.hg.py-re2-module = default # benchmark.variants.issue6528 = default # benchmark.variants.revs = any-10000-extra-rev # benchmark.variants.source = default before: 32.138181 ~~~~~ after: 31.376612 (-2.37%, -0.76) ### data-env-vars.name = mozilla-central-2018-08-01-zstd-sparse-revlog # benchmark.name = hg.perf.unbundle # bin-env-vars.hg.flavor = rust # bin-env-vars.hg.py-re2-module = default # benchmark.variants.issue6528 = default # benchmark.variants.revs = any-10000-extra-rev # benchmark.variants.source = default before: 32.436170 ~~~~~ after: 31.800662 (-1.96%, -0.64) ### data-env-vars.name = mozilla-central-2024-03-22-ds2-pnm # benchmark.name = hg.command.cat # bin-env-vars.hg.flavor = rhg # bin-env-vars.hg.py-re2-module = default # benchmark.variants.files = all-root # benchmark.variants.output = plain # benchmark.variants.rev = tip before: 56.412651 ~~~~~ after: 55.968979 ### data-env-vars.name = mozilla-central-2024-03-22-ds2-pnm # benchmark.name = hg.command.cat # bin-env-vars.hg.flavor = rust # bin-env-vars.hg.py-re2-module = default # benchmark.variants.files = all-root # benchmark.variants.output = plain # benchmark.variants.rev = tip before: 57.291139 ~~~~~ after: 55.623600 (-2.91%, -1.67) ### data-env-vars.name = mozilla-central-2024-03-22-ds2-pnm # benchmark.name = hg.command.log # bin-env-vars.hg.flavor = rhg # bin-env-vars.hg.py-re2-module = default # benchmark.variants.limit-rev = 1000 # benchmark.variants.patch = no # benchmark.variants.rev = none before: 0.305015 ~~~~~ after: 0.302645 ### data-env-vars.name = mozilla-central-2024-03-22-ds2-pnm # benchmark.name = hg.command.log # bin-env-vars.hg.flavor = rust # bin-env-vars.hg.py-re2-module = default # benchmark.variants.limit-rev = 1000 # benchmark.variants.patch = no # benchmark.variants.rev = none before: 0.299651 ~~~~~ after: 0.296140 (-1.17%, -0.00) ### data-env-vars.name = mozilla-central-2024-03-22-ds2-pnm # benchmark.name = hg.perf.read-revisions # bin-env-vars.hg.flavor = rhg # bin-env-vars.hg.py-re2-module = default # benchmark.variants.order = default # benchmark.variants.revlog = manifestlog before: 372.603646 ~~~~~ after: 379.958592 (+1.97%, +7.35) ### data-env-vars.name = mozilla-central-2024-03-22-ds2-pnm # benchmark.name = hg.perf.read-revisions # bin-env-vars.hg.flavor = rust # bin-env-vars.hg.py-re2-module = default # benchmark.variants.order = default # benchmark.variants.revlog = manifestlog before: 372.571283 ~~~~~ after: 376.975082 (+1.18%, +4.40) ### data-env-vars.name = mozilla-central-2024-03-22-zstd-sparse-revlog # benchmark.name = hg.command.cat # bin-env-vars.hg.flavor = rhg # bin-env-vars.hg.py-re2-module = default # benchmark.variants.files = all-root # benchmark.variants.output = plain # benchmark.variants.rev = tip before: 57.900620 ~~~~~ after: 56.628974 (-2.20%, -1.27) ### data-env-vars.name = mozilla-central-2024-03-22-zstd-sparse-revlog # benchmark.name = hg.command.cat # bin-env-vars.hg.flavor = rust # bin-env-vars.hg.py-re2-module = default # benchmark.variants.files = all-root # benchmark.variants.output = plain # benchmark.variants.rev = tip before: 56.772457 ~~~~~ after: 56.219994 ### data-env-vars.name = mozilla-central-2024-03-22-zstd-sparse-revlog # benchmark.name = hg.command.log # bin-env-vars.hg.flavor = rhg # bin-env-vars.hg.py-re2-module = default # benchmark.variants.limit-rev = 1000 # benchmark.variants.patch = no # benchmark.variants.rev = none before: 0.497401 ~~~~~ after: 0.498934 ### data-env-vars.name = mozilla-central-2024-03-22-zstd-sparse-revlog # benchmark.name = hg.command.log # bin-env-vars.hg.flavor = rust # bin-env-vars.hg.py-re2-module = default # benchmark.variants.limit-rev = 1000 # benchmark.variants.patch = no # benchmark.variants.rev = none before: 0.298446 ~~~~~ after: 0.297411 ### data-env-vars.name = mozilla-central-2024-03-22-zstd-sparse-revlog # benchmark.name = hg.perf.read-revisions # bin-env-vars.hg.flavor = rhg # bin-env-vars.hg.py-re2-module = default # benchmark.variants.order = default # benchmark.variants.revlog = manifestlog before: 376.794500 ~~~~~ after: 377.126872 ### data-env-vars.name = mozilla-central-2024-03-22-zstd-sparse-revlog # benchmark.name = hg.perf.read-revisions # bin-env-vars.hg.flavor = rust # bin-env-vars.hg.py-re2-module = default # benchmark.variants.order = default # benchmark.variants.revlog = manifestlog before: 377.108643 ~~~~~ after: 378.355222 ### data-env-vars.name = mozilla-try-2024-03-26-ds2-pnm # benchmark.name = hg.command.cat # bin-env-vars.hg.flavor = rust # bin-env-vars.hg.py-re2-module = default # benchmark.variants.files = all-root # benchmark.variants.output = plain # benchmark.variants.rev = tip before: 58.211350 ~~~~~ after: 56.179941 (-3.49%, -2.03) ### data-env-vars.name = mozilla-try-2024-03-26-ds2-pnm # benchmark.name = hg.command.log # bin-env-vars.hg.flavor = rust # bin-env-vars.hg.py-re2-module = default # benchmark.variants.limit-rev = 1000 # benchmark.variants.patch = no # benchmark.variants.rev = none before: 1.221867 ~~~~~ after: 1.171836 (-4.09%, -0.05) ### data-env-vars.name = mozilla-try-2024-03-26-ds2-pnm # benchmark.name = hg.command.log # bin-env-vars.hg.flavor = rust # bin-env-vars.hg.py-re2-module = default # benchmark.variants.limit-rev = 1000 # benchmark.variants.patch = yes # benchmark.variants.rev = none before: 169.190180 ~~~~~ after: 167.816681 ### data-env-vars.name = mozilla-try-2024-03-26-ds2-pnm # benchmark.name = hg.command.unbundle # bin-env-vars.hg.flavor = rust # bin-env-vars.hg.py-re2-module = default # benchmark.variants.issue6528 = default # benchmark.variants.resource-usage = default # benchmark.variants.reuse-external-delta-parent = default # benchmark.variants.revs = any-10000-extra-rev # benchmark.variants.source = unbundle # benchmark.variants.validate = default # benchmark.variants.verbosity = quiet before: 70.573063 ~~~~~ after: 70.149730 ### data-env-vars.name = mozilla-try-2024-03-26-ds2-pnm # benchmark.name = hg.perf.read-revisions # bin-env-vars.hg.flavor = rust # bin-env-vars.hg.py-re2-module = default # benchmark.variants.order = default # benchmark.variants.revlog = manifestlog before: 2469.554928 ~~~~~ after: 2459.756854 ### data-env-vars.name = mozilla-try-2024-03-26-ds2-pnm # benchmark.name = hg.perf.unbundle # bin-env-vars.hg.flavor = rust # bin-env-vars.hg.py-re2-module = default # benchmark.variants.issue6528 = default # benchmark.variants.revs = any-10000-extra-rev # benchmark.variants.source = default before: 63.259498 ~~~~~ after: 62.934324 ### data-env-vars.name = mozilla-unified-2024-03-22-ds2-pnm # benchmark.name = hg.command.cat # bin-env-vars.hg.flavor = rhg # bin-env-vars.hg.py-re2-module = default # benchmark.variants.files = all-root # benchmark.variants.output = plain # benchmark.variants.rev = tip before: 52.009024 ~~~~~ after: 51.021327 (-1.90%, -0.99) ### data-env-vars.name = mozilla-unified-2024-03-22-ds2-pnm # benchmark.name = hg.command.cat # bin-env-vars.hg.flavor = rust # bin-env-vars.hg.py-re2-module = default # benchmark.variants.files = all-root # benchmark.variants.output = plain # benchmark.variants.rev = tip before: 52.021120 ~~~~~ after: 51.187100 (-1.60%, -0.83) ### data-env-vars.name = mozilla-unified-2024-03-22-ds2-pnm # benchmark.name = hg.command.log # bin-env-vars.hg.flavor = rhg # bin-env-vars.hg.py-re2-module = default # benchmark.variants.limit-rev = 1000 # benchmark.variants.patch = no # benchmark.variants.rev = none before: 0.316214 ~~~~~ after: 0.313213 ### data-env-vars.name = mozilla-unified-2024-03-22-ds2-pnm # benchmark.name = hg.command.log # bin-env-vars.hg.flavor = rust # bin-env-vars.hg.py-re2-module = default # benchmark.variants.limit-rev = 1000 # benchmark.variants.patch = no # benchmark.variants.rev = none before: 0.314039 ~~~~~ after: 0.309434 (-1.47%, -0.00) ### data-env-vars.name = mozilla-unified-2024-03-22-ds2-pnm # benchmark.name = hg.perf.read-revisions # bin-env-vars.hg.flavor = rhg # bin-env-vars.hg.py-re2-module = default # benchmark.variants.order = default # benchmark.variants.revlog = manifestlog before: 419.229602 ~~~~~ after: 418.731461 ### data-env-vars.name = mozilla-unified-2024-03-22-ds2-pnm # benchmark.name = hg.perf.read-revisions # bin-env-vars.hg.flavor = rust # bin-env-vars.hg.py-re2-module = default # benchmark.variants.order = default # benchmark.variants.revlog = manifestlog before: 419.121169 ~~~~~ after: 418.893086 ### data-env-vars.name = mozilla-unified-2024-03-22-zstd-sparse-revlog # benchmark.name = hg.command.cat # bin-env-vars.hg.flavor = rhg # bin-env-vars.hg.py-re2-module = default # benchmark.variants.files = all-root # benchmark.variants.output = plain # benchmark.variants.rev = tip before: 52.298052 ~~~~~ after: 51.680823 (-1.18%, -0.62) ### data-env-vars.name = mozilla-unified-2024-03-22-zstd-sparse-revlog # benchmark.name = hg.command.cat # bin-env-vars.hg.flavor = rust # bin-env-vars.hg.py-re2-module = default # benchmark.variants.files = all-root # benchmark.variants.output = plain # benchmark.variants.rev = tip before: 51.979719 ~~~~~ after: 50.517619 (-2.81%, -1.46) ### data-env-vars.name = mozilla-unified-2024-03-22-zstd-sparse-revlog # benchmark.name = hg.command.log # bin-env-vars.hg.flavor = rhg # bin-env-vars.hg.py-re2-module = default # benchmark.variants.limit-rev = 1000 # benchmark.variants.patch = no # benchmark.variants.rev = none before: 0.542347 ~~~~~ after: 0.541494 ### data-env-vars.name = mozilla-unified-2024-03-22-zstd-sparse-revlog # benchmark.name = hg.command.log # bin-env-vars.hg.flavor = rust # bin-env-vars.hg.py-re2-module = default # benchmark.variants.limit-rev = 1000 # benchmark.variants.patch = no # benchmark.variants.rev = none before: 0.361585 ~~~~~ after: 0.359601 ### data-env-vars.name = mozilla-unified-2024-03-22-zstd-sparse-revlog # benchmark.name = hg.perf.read-revisions # bin-env-vars.hg.flavor = rhg # bin-env-vars.hg.py-re2-module = default # benchmark.variants.order = default # benchmark.variants.revlog = manifestlog before: 424.435573 ~~~~~ after: 425.054393 ### data-env-vars.name = mozilla-unified-2024-03-22-zstd-sparse-revlog # benchmark.name = hg.perf.read-revisions # bin-env-vars.hg.flavor = rust # bin-env-vars.hg.py-re2-module = default # benchmark.variants.order = default # benchmark.variants.revlog = manifestlog before: 425.369579 ~~~~~ after: 424.182501 ### data-env-vars.name = netbeans-2018-08-01-ds2-pnm # benchmark.name = hg.command.cat # bin-env-vars.hg.flavor = rhg # bin-env-vars.hg.py-re2-module = default # benchmark.variants.files = all-root # benchmark.variants.output = plain # benchmark.variants.rev = tip before: 17.169597 ~~~~~ after: 16.809620 (-2.10%, -0.36) ### data-env-vars.name = netbeans-2018-08-01-ds2-pnm # benchmark.name = hg.command.cat # bin-env-vars.hg.flavor = rust # bin-env-vars.hg.py-re2-module = default # benchmark.variants.files = all-root # benchmark.variants.output = plain # benchmark.variants.rev = tip before: 17.052174 ~~~~~ after: 16.873865 (-1.05%, -0.18) ### data-env-vars.name = netbeans-2018-08-01-ds2-pnm # benchmark.name = hg.command.log # bin-env-vars.hg.flavor = rhg # bin-env-vars.hg.py-re2-module = default # benchmark.variants.limit-rev = 1000 # benchmark.variants.patch = no # benchmark.variants.rev = none before: 0.300405 ~~~~~ after: 0.296493 (-1.30%, -0.00) ### data-env-vars.name = netbeans-2018-08-01-ds2-pnm # benchmark.name = hg.command.log # bin-env-vars.hg.flavor = rust # bin-env-vars.hg.py-re2-module = default # benchmark.variants.limit-rev = 1000 # benchmark.variants.patch = no # benchmark.variants.rev = none before: 0.296907 ~~~~~ after: 0.291884 (-1.69%, -0.01) ### data-env-vars.name = netbeans-2018-08-01-ds2-pnm # benchmark.name = hg.perf.read-revisions # bin-env-vars.hg.flavor = rhg # bin-env-vars.hg.py-re2-module = default # benchmark.variants.order = default # benchmark.variants.revlog = manifestlog before: 76.353166 ~~~~~ after: 76.315550 ### data-env-vars.name = netbeans-2018-08-01-ds2-pnm # benchmark.name = hg.perf.read-revisions # bin-env-vars.hg.flavor = rust # bin-env-vars.hg.py-re2-module = default # benchmark.variants.order = default # benchmark.variants.revlog = manifestlog before: 76.304418 ~~~~~ after: 76.314896 ### data-env-vars.name = netbeans-2018-08-01-ds2-pnm # benchmark.name = hg.perf.unbundle # bin-env-vars.hg.flavor = rhg # bin-env-vars.hg.py-re2-module = default # benchmark.variants.issue6528 = default # benchmark.variants.revs = any-10000-extra-rev # benchmark.variants.source = default before: 41.448226 ~~~~~ after: 39.696075 (-4.23%, -1.75) ### data-env-vars.name = netbeans-2018-08-01-ds2-pnm # benchmark.name = hg.perf.unbundle # bin-env-vars.hg.flavor = rust # bin-env-vars.hg.py-re2-module = default # benchmark.variants.issue6528 = default # benchmark.variants.revs = any-10000-extra-rev # benchmark.variants.source = default before: 41.489911 ~~~~~ after: 40.213760 (-3.08%, -1.28) ### data-env-vars.name = netbeans-2018-08-01-zstd-sparse-revlog # benchmark.name = hg.command.cat # bin-env-vars.hg.flavor = rhg # bin-env-vars.hg.py-re2-module = default # benchmark.variants.files = all-root # benchmark.variants.output = plain # benchmark.variants.rev = tip before: 17.276211 ~~~~~ after: 16.934238 (-1.98%, -0.34) ### data-env-vars.name = netbeans-2018-08-01-zstd-sparse-revlog # benchmark.name = hg.command.cat # bin-env-vars.hg.flavor = rust # bin-env-vars.hg.py-re2-module = default # benchmark.variants.files = all-root # benchmark.variants.output = plain # benchmark.variants.rev = tip before: 17.275566 ~~~~~ after: 17.151560 ### data-env-vars.name = netbeans-2018-08-01-zstd-sparse-revlog # benchmark.name = hg.command.log # bin-env-vars.hg.flavor = rhg # bin-env-vars.hg.py-re2-module = default # benchmark.variants.limit-rev = 1000 # benchmark.variants.patch = no # benchmark.variants.rev = none before: 0.363647 ~~~~~ after: 0.364217 ### data-env-vars.name = netbeans-2018-08-01-zstd-sparse-revlog # benchmark.name = hg.command.log # bin-env-vars.hg.flavor = rust # bin-env-vars.hg.py-re2-module = default # benchmark.variants.limit-rev = 1000 # benchmark.variants.patch = no # benchmark.variants.rev = none before: 0.292249 ~~~~~ after: 0.293737 ### data-env-vars.name = netbeans-2018-08-01-zstd-sparse-revlog # benchmark.name = hg.perf.read-revisions # bin-env-vars.hg.flavor = rhg # bin-env-vars.hg.py-re2-module = default # benchmark.variants.order = default # benchmark.variants.revlog = manifestlog before: 77.242740 ~~~~~ after: 77.165247 ### data-env-vars.name = netbeans-2018-08-01-zstd-sparse-revlog # benchmark.name = hg.perf.read-revisions # bin-env-vars.hg.flavor = rust # bin-env-vars.hg.py-re2-module = default # benchmark.variants.order = default # benchmark.variants.revlog = manifestlog before: 77.189009 ~~~~~ after: 77.153971 ### data-env-vars.name = netbeans-2018-08-01-zstd-sparse-revlog # benchmark.name = hg.perf.unbundle # bin-env-vars.hg.flavor = rhg # bin-env-vars.hg.py-re2-module = default # benchmark.variants.issue6528 = default # benchmark.variants.revs = any-10000-extra-rev # benchmark.variants.source = default before: 40.341299 ~~~~~ after: 40.604985 ### data-env-vars.name = netbeans-2018-08-01-zstd-sparse-revlog # benchmark.name = hg.perf.unbundle # bin-env-vars.hg.flavor = rust # bin-env-vars.hg.py-re2-module = default # benchmark.variants.issue6528 = default # benchmark.variants.revs = any-10000-extra-rev # benchmark.variants.source = default before: 40.585503 ~~~~~ after: 40.820806 ### data-env-vars.name = netbeans-2019-11-07-ds2-pnm # benchmark.name = hg.command.cat # bin-env-vars.hg.flavor = rhg # bin-env-vars.hg.py-re2-module = default # benchmark.variants.files = all-root # benchmark.variants.output = plain # benchmark.variants.rev = tip before: 17.515332 ~~~~~ after: 17.190762 (-1.85%, -0.32) ### data-env-vars.name = netbeans-2019-11-07-ds2-pnm # benchmark.name = hg.command.cat # bin-env-vars.hg.flavor = rust # bin-env-vars.hg.py-re2-module = default # benchmark.variants.files = all-root # benchmark.variants.output = plain # benchmark.variants.rev = tip before: 17.343596 ~~~~~ after: 17.050369 (-1.69%, -0.29) ### data-env-vars.name = netbeans-2019-11-07-ds2-pnm # benchmark.name = hg.command.log # bin-env-vars.hg.flavor = rhg # bin-env-vars.hg.py-re2-module = default # benchmark.variants.limit-rev = 1000 # benchmark.variants.patch = no # benchmark.variants.rev = none before: 0.316108 ~~~~~ after: 0.315292 ### data-env-vars.name = netbeans-2019-11-07-ds2-pnm # benchmark.name = hg.command.log # bin-env-vars.hg.flavor = rust # bin-env-vars.hg.py-re2-module = default # benchmark.variants.limit-rev = 1000 # benchmark.variants.patch = no # benchmark.variants.rev = none before: 0.311521 ~~~~~ after: 0.307919 (-1.16%, -0.00) ### data-env-vars.name = netbeans-2019-11-07-ds2-pnm # benchmark.name = hg.perf.read-revisions # bin-env-vars.hg.flavor = rhg # bin-env-vars.hg.py-re2-module = default # benchmark.variants.order = default # benchmark.variants.revlog = manifestlog before: 80.169792 ~~~~~ after: 80.090093 ### data-env-vars.name = netbeans-2019-11-07-ds2-pnm # benchmark.name = hg.perf.read-revisions # bin-env-vars.hg.flavor = rust # bin-env-vars.hg.py-re2-module = default # benchmark.variants.order = default # benchmark.variants.revlog = manifestlog before: 80.168257 ~~~~~ after: 80.203922 ### data-env-vars.name = netbeans-2019-11-07-zstd-sparse-revlog # benchmark.name = hg.command.cat # bin-env-vars.hg.flavor = rhg # bin-env-vars.hg.py-re2-module = default # benchmark.variants.files = all-root # benchmark.variants.output = plain # benchmark.variants.rev = tip before: 17.471723 ~~~~~ after: 17.104498 (-2.10%, -0.37) ### data-env-vars.name = netbeans-2019-11-07-zstd-sparse-revlog # benchmark.name = hg.command.cat # bin-env-vars.hg.flavor = rust # bin-env-vars.hg.py-re2-module = default # benchmark.variants.files = all-root # benchmark.variants.output = plain # benchmark.variants.rev = tip before: 17.351268 ~~~~~ after: 17.039244 (-1.80%, -0.31) ### data-env-vars.name = netbeans-2019-11-07-zstd-sparse-revlog # benchmark.name = hg.command.log # bin-env-vars.hg.flavor = rhg # bin-env-vars.hg.py-re2-module = default # benchmark.variants.limit-rev = 1000 # benchmark.variants.patch = no # benchmark.variants.rev = none before: 0.379920 ~~~~~ after: 0.380529 ### data-env-vars.name = netbeans-2019-11-07-zstd-sparse-revlog # benchmark.name = hg.command.log # bin-env-vars.hg.flavor = rust # bin-env-vars.hg.py-re2-module = default # benchmark.variants.limit-rev = 1000 # benchmark.variants.patch = no # benchmark.variants.rev = none before: 0.306940 ~~~~~ after: 0.308172 ### data-env-vars.name = netbeans-2019-11-07-zstd-sparse-revlog # benchmark.name = hg.perf.read-revisions # bin-env-vars.hg.flavor = rhg # bin-env-vars.hg.py-re2-module = default # benchmark.variants.order = default # benchmark.variants.revlog = manifestlog before: 81.143787 ~~~~~ after: 81.205227 ### data-env-vars.name = netbeans-2019-11-07-zstd-sparse-revlog # benchmark.name = hg.perf.read-revisions # bin-env-vars.hg.flavor = rust # bin-env-vars.hg.py-re2-module = default # benchmark.variants.order = default # benchmark.variants.revlog = manifestlog before: 81.208757 ~~~~~ after: 81.201285 ### data-env-vars.name = pypy-2018-08-01-ds2-pnm # benchmark.name = hg.command.cat # bin-env-vars.hg.flavor = rhg # bin-env-vars.hg.py-re2-module = default # benchmark.variants.files = all-root # benchmark.variants.output = plain # benchmark.variants.rev = tip before: 1.409354 ~~~~~ after: 1.384783 (-1.74%, -0.02) ### data-env-vars.name = pypy-2018-08-01-ds2-pnm # benchmark.name = hg.command.cat # bin-env-vars.hg.flavor = rust # bin-env-vars.hg.py-re2-module = default # benchmark.variants.files = all-root # benchmark.variants.output = plain # benchmark.variants.rev = tip before: 1.395327 ~~~~~ after: 1.379295 (-1.15%, -0.02) ### data-env-vars.name = pypy-2018-08-01-ds2-pnm # benchmark.name = hg.command.log # bin-env-vars.hg.flavor = rhg # bin-env-vars.hg.py-re2-module = default # benchmark.variants.limit-rev = 1000 # benchmark.variants.patch = no # benchmark.variants.rev = none before: 0.305516 ~~~~~ after: 0.301302 (-1.38%, -0.00) ### data-env-vars.name = pypy-2018-08-01-ds2-pnm # benchmark.name = hg.command.log # bin-env-vars.hg.flavor = rust # bin-env-vars.hg.py-re2-module = default # benchmark.variants.limit-rev = 1000 # benchmark.variants.patch = no # benchmark.variants.rev = none before: 0.300681 ~~~~~ after: 0.296424 (-1.42%, -0.00) ### data-env-vars.name = pypy-2018-08-01-ds2-pnm # benchmark.name = hg.perf.read-revisions # bin-env-vars.hg.flavor = rhg # bin-env-vars.hg.py-re2-module = default # benchmark.variants.order = default # benchmark.variants.revlog = manifestlog before: 1.228350 ~~~~~ after: 1.225184 ### data-env-vars.name = pypy-2018-08-01-ds2-pnm # benchmark.name = hg.perf.read-revisions # bin-env-vars.hg.flavor = rust # bin-env-vars.hg.py-re2-module = default # benchmark.variants.order = default # benchmark.variants.revlog = manifestlog before: 1.227250 ~~~~~ after: 1.226652 ### data-env-vars.name = pypy-2018-08-01-ds2-pnm # benchmark.name = hg.perf.unbundle # bin-env-vars.hg.flavor = rhg # bin-env-vars.hg.py-re2-module = default # benchmark.variants.issue6528 = default # benchmark.variants.revs = any-10000-extra-rev # benchmark.variants.source = default before: 10.441251 ~~~~~ after: 10.233845 (-1.99%, -0.21) ### data-env-vars.name = pypy-2018-08-01-ds2-pnm # benchmark.name = hg.perf.unbundle # bin-env-vars.hg.flavor = rust # bin-env-vars.hg.py-re2-module = default # benchmark.variants.issue6528 = default # benchmark.variants.revs = any-10000-extra-rev # benchmark.variants.source = default before: 10.477187 ~~~~~ after: 10.518723 ### data-env-vars.name = pypy-2018-08-01-zstd-sparse-revlog # benchmark.name = hg.command.cat # bin-env-vars.hg.flavor = rhg # bin-env-vars.hg.py-re2-module = default # benchmark.variants.files = all-root # benchmark.variants.output = plain # benchmark.variants.rev = tip before: 1.406229 ~~~~~ after: 1.383834 (-1.59%, -0.02) ### data-env-vars.name = pypy-2018-08-01-zstd-sparse-revlog # benchmark.name = hg.command.cat # bin-env-vars.hg.flavor = rust # bin-env-vars.hg.py-re2-module = default # benchmark.variants.files = all-root # benchmark.variants.output = plain # benchmark.variants.rev = tip before: 1.404700 ~~~~~ after: 1.386296 (-1.31%, -0.02) ### data-env-vars.name = pypy-2018-08-01-zstd-sparse-revlog # benchmark.name = hg.command.log # bin-env-vars.hg.flavor = rhg # bin-env-vars.hg.py-re2-module = default # benchmark.variants.limit-rev = 1000 # benchmark.variants.patch = no # benchmark.variants.rev = none before: 0.303247 ~~~~~ after: 0.304695 ### data-env-vars.name = pypy-2018-08-01-zstd-sparse-revlog # benchmark.name = hg.command.log # bin-env-vars.hg.flavor = rust # bin-env-vars.hg.py-re2-module = default # benchmark.variants.limit-rev = 1000 # benchmark.variants.patch = no # benchmark.variants.rev = none before: 0.295575 ~~~~~ after: 0.294873 ### data-env-vars.name = pypy-2018-08-01-zstd-sparse-revlog # benchmark.name = hg.perf.read-revisions # bin-env-vars.hg.flavor = rhg # bin-env-vars.hg.py-re2-module = default # benchmark.variants.order = default # benchmark.variants.revlog = manifestlog before: 1.614998 ~~~~~ after: 1.619019 ### data-env-vars.name = pypy-2018-08-01-zstd-sparse-revlog # benchmark.name = hg.perf.read-revisions # bin-env-vars.hg.flavor = rust # bin-env-vars.hg.py-re2-module = default # benchmark.variants.order = default # benchmark.variants.revlog = manifestlog before: 1.608089 ~~~~~ after: 1.613761 ### data-env-vars.name = pypy-2018-08-01-zstd-sparse-revlog # benchmark.name = hg.perf.unbundle # bin-env-vars.hg.flavor = rhg # bin-env-vars.hg.py-re2-module = default # benchmark.variants.issue6528 = default # benchmark.variants.revs = any-10000-extra-rev # benchmark.variants.source = default before: 10.494740 ~~~~~ after: 10.183642 (-2.96%, -0.31) ### data-env-vars.name = pypy-2018-08-01-zstd-sparse-revlog # benchmark.name = hg.perf.unbundle # bin-env-vars.hg.flavor = rust # bin-env-vars.hg.py-re2-module = default # benchmark.variants.issue6528 = default # benchmark.variants.revs = any-10000-extra-rev # benchmark.variants.source = default before: 10.153362 ~~~~~ after: 10.208118 ### data-env-vars.name = pypy-2024-03-22-ds2-pnm # benchmark.name = hg.command.cat # bin-env-vars.hg.flavor = rhg # bin-env-vars.hg.py-re2-module = default # benchmark.variants.files = all-root # benchmark.variants.output = plain # benchmark.variants.rev = tip before: 1.613760 ~~~~~ after: 1.595667 (-1.12%, -0.02) ### data-env-vars.name = pypy-2024-03-22-ds2-pnm # benchmark.name = hg.command.cat # bin-env-vars.hg.flavor = rust # bin-env-vars.hg.py-re2-module = default # benchmark.variants.files = all-root # benchmark.variants.output = plain # benchmark.variants.rev = tip before: 1.601770 ~~~~~ after: 1.589591 ### data-env-vars.name = pypy-2024-03-22-ds2-pnm # benchmark.name = hg.command.log # bin-env-vars.hg.flavor = rhg # bin-env-vars.hg.py-re2-module = default # benchmark.variants.limit-rev = 1000 # benchmark.variants.patch = no # benchmark.variants.rev = none before: 0.300656 ~~~~~ after: 0.299511 ### data-env-vars.name = pypy-2024-03-22-ds2-pnm # benchmark.name = hg.command.log # bin-env-vars.hg.flavor = rust # bin-env-vars.hg.py-re2-module = default # benchmark.variants.limit-rev = 1000 # benchmark.variants.patch = no # benchmark.variants.rev = none before: 0.298116 ~~~~~ after: 0.34f44a ### data-env-vars.name = pypy-2024-03-22-ds2-pnm # benchmark.name = hg.perf.read-revisions # bin-env-vars.hg.flavor = rhg # bin-env-vars.hg.py-re2-module = default # benchmark.variants.order = default # benchmark.variants.revlog = manifestlog before: 1.451637 ~~~~~ after: 1.449828 ### data-env-vars.name = pypy-2024-03-22-ds2-pnm # benchmark.name = hg.perf.read-revisions # bin-env-vars.hg.flavor = rust # bin-env-vars.hg.py-re2-module = default # benchmark.variants.order = default # benchmark.variants.revlog = manifestlog before: 1.447463 ~~~~~ after: 1.447144 ### data-env-vars.name = pypy-2024-03-22-zstd-sparse-revlog # benchmark.name = hg.command.cat # bin-env-vars.hg.flavor = rhg # bin-env-vars.hg.py-re2-module = default # benchmark.variants.files = all-root # benchmark.variants.output = plain # benchmark.variants.rev = tip before: 1.618347 ~~~~~ after: 1.593819 (-1.52%, -0.02) ### data-env-vars.name = pypy-2024-03-22-zstd-sparse-revlog # benchmark.name = hg.command.cat # bin-env-vars.hg.flavor = rust # bin-env-vars.hg.py-re2-module = default # benchmark.variants.files = all-root # benchmark.variants.output = plain # benchmark.variants.rev = tip before: 1.610104 ~~~~~ after: 1.591181 (-1.18%, -0.02) ### data-env-vars.name = pypy-2024-03-22-zstd-sparse-revlog # benchmark.name = hg.command.log # bin-env-vars.hg.flavor = rhg # bin-env-vars.hg.py-re2-module = default # benchmark.variants.limit-rev = 1000 # benchmark.variants.patch = no # benchmark.variants.rev = none before: 0.299082 ~~~~~ after: 0.302411 (+1.11%, +0.00) ### data-env-vars.name = pypy-2024-03-22-zstd-sparse-revlog # benchmark.name = hg.command.log # bin-env-vars.hg.flavor = rust # bin-env-vars.hg.py-re2-module = default # benchmark.variants.limit-rev = 1000 # benchmark.variants.patch = no # benchmark.variants.rev = none before: 0.294385 ~~~~~ after: 0.294103 ### data-env-vars.name = pypy-2024-03-22-zstd-sparse-revlog # benchmark.name = hg.perf.read-revisions # bin-env-vars.hg.flavor = rhg # bin-env-vars.hg.py-re2-module = default # benchmark.variants.order = default # benchmark.variants.revlog = manifestlog before: 1.896348 ~~~~~ after: 1.892661 ### data-env-vars.name = pypy-2024-03-22-zstd-sparse-revlog # benchmark.name = hg.perf.read-revisions # bin-env-vars.hg.flavor = rust # bin-env-vars.hg.py-re2-module = default # benchmark.variants.order = default # benchmark.variants.revlog = manifestlog before: 1.897075 ~~~~~ after: 1.896864 ### data-env-vars.name = tryton-public-2024-03-22-ds2-pnm # benchmark.name = hg.command.cat # bin-env-vars.hg.flavor = rhg # bin-env-vars.hg.py-re2-module = default # benchmark.variants.files = all-root # benchmark.variants.output = plain # benchmark.variants.rev = tip before: 1.823667 ~~~~~ after: 1.791246 (-1.78%, -0.03) ### data-env-vars.name = tryton-public-2024-03-22-ds2-pnm # benchmark.name = hg.command.cat # bin-env-vars.hg.flavor = rust # bin-env-vars.hg.py-re2-module = default # benchmark.variants.files = all-root # benchmark.variants.output = plain # benchmark.variants.rev = tip before: 1.820555 ~~~~~ after: 1.765854 (-3.00%, -0.05) ### data-env-vars.name = tryton-public-2024-03-22-ds2-pnm # benchmark.name = hg.command.log # bin-env-vars.hg.flavor = rhg # bin-env-vars.hg.py-re2-module = default # benchmark.variants.limit-rev = 1000 # benchmark.variants.patch = no # benchmark.variants.rev = none before: 0.340665 ~~~~~ after: 0.336729 (-1.16%, -0.00) ### data-env-vars.name = tryton-public-2024-03-22-ds2-pnm # benchmark.name = hg.command.log # bin-env-vars.hg.flavor = rust # bin-env-vars.hg.py-re2-module = default # benchmark.variants.limit-rev = 1000 # benchmark.variants.patch = no # benchmark.variants.rev = none before: 0.335204 ~~~~~ after: 0.333865 ### data-env-vars.name = tryton-public-2024-03-22-ds2-pnm # benchmark.name = hg.perf.read-revisions # bin-env-vars.hg.flavor = rhg # bin-env-vars.hg.py-re2-module = default # benchmark.variants.order = default # benchmark.variants.revlog = manifestlog before: 0.262541 ~~~~~ after: 0.261794 ### data-env-vars.name = tryton-public-2024-03-22-ds2-pnm # benchmark.name = hg.perf.read-revisions # bin-env-vars.hg.flavor = rust # bin-env-vars.hg.py-re2-module = default # benchmark.variants.order = default # benchmark.variants.revlog = manifestlog before: 0.261495 ~~~~~ after: 0.260879 ### data-env-vars.name = tryton-public-2024-03-22-zstd-sparse-revlog # benchmark.name = hg.command.cat # bin-env-vars.hg.flavor = rhg # bin-env-vars.hg.py-re2-module = default # benchmark.variants.files = all-root # benchmark.variants.output = plain # benchmark.variants.rev = tip before: 1.856138 ~~~~~ after: 1.784902 (-3.84%, -0.07) ### data-env-vars.name = tryton-public-2024-03-22-zstd-sparse-revlog # benchmark.name = hg.command.cat # bin-env-vars.hg.flavor = rust # bin-env-vars.hg.py-re2-module = default # benchmark.variants.files = all-root # benchmark.variants.output = plain # benchmark.variants.rev = tip before: 1.811432 ~~~~~ after: 1.782845 (-1.58%, -0.03) ### data-env-vars.name = tryton-public-2024-03-22-zstd-sparse-revlog # benchmark.name = hg.command.log # bin-env-vars.hg.flavor = rhg # bin-env-vars.hg.py-re2-module = default # benchmark.variants.limit-rev = 1000 # benchmark.variants.patch = no # benchmark.variants.rev = none before: 0.343215 ~~~~~ after: 0.341859 ### data-env-vars.name = tryton-public-2024-03-22-zstd-sparse-revlog # benchmark.name = hg.command.log # bin-env-vars.hg.flavor = rust # bin-env-vars.hg.py-re2-module = default # benchmark.variants.limit-rev = 1000 # benchmark.variants.patch = no # benchmark.variants.rev = none before: 0.332617 ~~~~~ after: 0.331202 ### data-env-vars.name = tryton-public-2024-03-22-zstd-sparse-revlog # benchmark.name = hg.perf.read-revisions # bin-env-vars.hg.flavor = rhg # bin-env-vars.hg.py-re2-module = default # benchmark.variants.order = default # benchmark.variants.revlog = manifestlog before: 0.590326 ~~~~~ after: 0.590407 ### data-env-vars.name = tryton-public-2024-03-22-zstd-sparse-revlog # benchmark.name = hg.perf.read-revisions # bin-env-vars.hg.flavor = rust # bin-env-vars.hg.py-re2-module = default # benchmark.variants.order = default # benchmark.variants.revlog = manifestlog before: 0.589567 ~~~~~ after: 0.588821 ```
-
- Jan 02, 2025
-
-
Raphaël Gomès authored
-
- Dec 25, 2024
-
-
Georges Racinet authored
This one demonstrates that why the `with_index_read` and similar helpers are useful and was actually the main motivation for doing them: if we kept the borrow used to grab the index before updating the caches, there would be a panic when calling `borrow_mut`. This was confirmed with an earlier version by the Python test. There are perhaps some internal API clarifications to be made, as the method updating the cache does a seemingly useless return), but we are keeping it as it was in `hg-cpython`.
-
- Dec 22, 2024
-
-
Georges Racinet authored
Stepping aside from the implementation of index methods to show that this will not be a problem. The test basically only demonstrates that it behaves like a context manager indeed – of course our fixture does not provide any reasonable file access.
-
Georges Racinet authored
This is the actual first usage of `PyShareable`, but perhaps it could be not so much necessary in this case (we could just reference the `InnerRevlog` python object, and we do not need to keep additional state).
-
Georges Racinet authored
-
- Dec 25, 2024
-
-
Georges Racinet authored
This brings in `append()` and `__delitem__`, and is for us the first validation of our inner mutability. In the case of `__delitem__`, there was a tricky case where we were tempted to use the higher level `PySlice::indices` API, with a possible dangerous change of behaviour. We test it carefully from the Python side.
-
Georges Racinet authored
-