- Jun 22, 2023
-
-
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
-
- Jun 21, 2023
-
-
Jason R. Coombs authored
-
Pierre-Yves David authored
The short bundle-spec are ambiguous and should be expanded to a full one before clone bundle can use it. We fix the issue and add a test actually using the generated manifest for a clone bundle operation.
-
Pierre-Yves David authored
This will be useful for automatic-clonebundles.
-
- Jun 19, 2023
-
-
Pierre-Yves David authored
This new option disable the "external" serving of auto generated bundle in favor of using the new "inline bundle" feature that allow serving such bundle through the mercurial protocol. This is a less efficient, but very easy to setup way to start using clone bundle.
-
Pierre-Yves David authored
we don't needs it for `peer-bundle-cache://` for example
-
- May 23, 2023
-
-
Pierre-Yves David authored
This will be useful to track and validate future changes to the stream-v3 protocol.
-
Pierre-Yves David authored
We want to test multiple variants, so let's make it an independent test. Small adaptations and simplifications are needed in the test output as the tested repository is now shorter.
-
Pierre-Yves David authored
Altering the format may introduce significant changes in output and in order. It is going to be simpler to deal with explicitly different blocks for the output.
-
- Jun 01, 2023
-
-
Arseniy Alekseyev authored
This new version is less rigid regarding the extract number of files and number of bytes to be actually transfered, it also lays the groundwork for other improvements. The format stays experimental, but this is an interesting base to build upon.
-
Pierre-Yves David authored
The help for `--stream-version` had a typo and missed a value.
-
- Jun 20, 2023
-
-
pierre-yves david authored
We add a large warning and an explicit abort. Both can be disable through config, but neither are explicitly documented. If any user exists I really want them to get in touch with the community.
-
- Jun 19, 2023
-
-
Pierre-Yves David authored
Since there is a large NotImplementedError in the code, I prefer we have a double check here.
-
Pierre-Yves David authored
We no longer us the capabilities as a side way to passe argument to the `clonebundle commands`
-
Pierre-Yves David authored
The old wire command does not take argument so we need a new command. We make that new command take argument to prepare it for the future (like narrow support).
-
Pierre-Yves David authored
This make things clearer around the inline clone bundle tests.
-
Pierre-Yves David authored
The current naming is very clone centric, since then, the url scheme was moved to a more generic wording to make room for other use-cases (e.g. pull bundles). We apply the same logic to the internal API and, very important prior to the release, to the wire protocol command.
-
- Jun 17, 2023
-
-
Pierre-Yves David authored
Since the case was dealt with sooner (see XXX), we no longer need to deal with it in this part of the code.
-
- Apr 20, 2023
-
-
Jason R. Coombs authored
-
- Apr 17, 2023
-
-
Jason R. Coombs authored
-
- Jun 12, 2023
-
-
Raphaël Gomès authored
It's useful in certain automated workflows to make sure we recurse in directories whose name conflicts with files in other revisions. In addition it makes it possible to avoid building a potentially costly regex, improving performance when the set of files to match explicitly is large. The benchmark below are run in the following configuration : # data-env-vars.name = mozilla-central-2018-08-01-zstd-sparse-revlog # benchmark.name = files # benchmark.variants.rev = tip # benchmark.variants.files = all-list-filepath-sorted # bin-env-vars.hg.flavor = no-rust It also includes timings using the re2 engine (through the `google-re2` module) to show how much can be saved by just using a better regexp engine. Pattern time (seconds) time using re2 ----------------------------------------------------------- just "." 0.4 0.4 list of "filepath:…" 1.3 1.3 list of "path:…" 25.7 3.9 list of patterns 29.7 10.4 As you can see, Without re2, using "filepath:" instead of "path:" is a huge win. With re2, it is still about three times faster to not have to build the regex.
-
- Jun 17, 2023
-
-
Pierre-Yves David authored
We have a generic mechanism that we can now use for the special case now.
-
- Jun 15, 2023
-
-
Pierre-Yves David authored
The integer was not what the user expect nor what could be provided as a config value.
-
Pierre-Yves David authored
We will use it in the next function to the delta policy display. It could also be use to deal with the other special case in the command code, but that is unnecessary churn for stable so that part will go on default.
-
- Jun 09, 2023
-
-
Arseniy Alekseyev authored
The crash is a result of [value] being an int, but being used as a bytestring.
-
Arseniy Alekseyev authored
-
- Jun 17, 2023
-
-
Pierre-Yves David authored
-
- Jun 20, 2023
-
-
Pierre-Yves David authored
That changeset lost its topic for unknown reason and ended up being picked by some automation. So I backout it previous incarnation until it can get properly reviewed.
-
- Jun 19, 2023
-
-
pierre-yves david authored
We add a large warning and an explicit abort. Both can be disable through config, but neither are explicitly documented. If any user exists I really want them to get in touch with the community.
-
- Jun 17, 2023
-
-
Pierre-Yves David authored
We add and use an official API to check is re2 is available. This prevent the bug previously in place were debuginstall was considering confusing `None` (i.e. non-initialized) and `False` (i.e. unavailable).
-
Pierre-Yves David authored
There is no need to it to be a method, so we make it at least a static method to make it easier to call.
-
Pierre-Yves David authored
If we already know if re2 is supported there is no need to run the check again. Stricly speaking we don't call it twice, but this seems a simple enough safeguard to include in this series.
-
- Jun 13, 2023
-
-
Raphaël Gomès authored
`users` is unmaintained, with the maintainer apparently MIA. `whoami` is a popular crate that does simple wrapping of platform-specific calls. This makes the overhead from using `blackbox` lower. It used to be up 10ms on slower hardware for both calls, now down to <1ms which is always good.
-
- Jun 12, 2023
-
-
Raphaël Gomès authored
`ouroboros` has a fundamental soundness problem that, while not applicable today, could become applicable given new compiler optimizations.¹ `self_cell` is a crate that accomplishes a lot of the same things that `ouroboros` did while remaining sound (that is, unless a new soundness issue is discovered) by not assuming as much about the memory layout of the program. `self_cell` has been scrutinized heavily in the past few months by very competent people, some from the compiler team and has shown no weaknesses for a while, with a 1.0 stable release coming out a couple months ago. Our internal API is exactly the same, this is just an implementation detail. To reiterate, no actual soundness issue was found with our use of `ouroboros`, but there might be evolutions of `rustc` (or even a future separate compiler) that could generate unsound code. [1] https://github.com/joshua-maros/ouroboros/issues/88
-