Arseniy Alekseyev <aalekseyev@janestreet.com> [Thu, 01 Jun 2023 17:39:22 +0100] rev 50706
stream-clone: add a v3 version of the protocol
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 <pierre-yves.david@octobus.net> [Thu, 01 Jun 2023 18:20:28 +0100] rev 50705
stream-clone: fix the help for an argument of perf::stream-locked-section
The help for `--stream-version` had a typo and missed a value.
pierre-yves.david@ens-lyon.org [Tue, 20 Jun 2023 02:35:30 +0200] rev 50704
infinitepush: aggressively deprecated infinite push
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.
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 19 Jun 2023 16:13:16 +0200] rev 50703
clone-bundle: double check that inline clone bundle does not break local case
Since there is a large NotImplementedError in the code, I prefer we have a
double check here.
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 19 Jun 2023 15:48:03 +0200] rev 50702
clone-bundle: drop the now unused `inlineclonebundles` capabilities
We no longer us the capabilities as a side way to passe argument to the
`clonebundle commands`
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 19 Jun 2023 15:49:35 +0200] rev 50701
clonebundles: introduce a new write protocol command
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 <pierre-yves.david@octobus.net> [Mon, 19 Jun 2023 11:28:45 +0200] rev 50700
clone-bundles: reorder some test section and add titles
This make things clearer around the inline clone bundle tests.
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 19 Jun 2023 11:04:27 +0200] rev 50699
clone-bundle: rename the methods and wireprotole command
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.
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 18 Jun 2023 00:04:53 +0200] rev 50698
delta-find: remove dead code intended to deal with forced delta reuse
Since the case was dealt with sooner (see XXX), we no longer need to deal with
it in this part of the code.
Jason R. Coombs <jaraco@jaraco.com> [Thu, 20 Apr 2023 15:56:58 -0400] rev 50697
library: incorporate demandimport into runpy invocation
Jason R. Coombs <jaraco@jaraco.com> [Mon, 17 Apr 2023 09:38:52 -0400] rev 50696
library: enable runpy invocation on mercurial package
Raphaël Gomès <rgomes@octobus.net> [Mon, 12 Jun 2023 16:51:08 +0200] rev 50695
match: add `filepath:` pattern to match an exact filepath relative to the root
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.
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 17 Jun 2023 23:47:31 +0200] rev 50694
path: use the next `display` argument to deal with boolean
We have a generic mechanism that we can now use for the special case now.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 15 Jun 2023 09:51:29 +0200] rev 50693
path: display proper user facing value for pulled-delta-reuse-policy
The integer was not what the user expect nor what could be provided as a config
value.
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 15 Jun 2023 09:50:46 +0200] rev 50692
paths: add an argument to format the suboption display
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.
Arseniy Alekseyev <aalekseyev@janestreet.com> [Fri, 09 Jun 2023 14:32:09 +0100] rev 50691
ui: fix crash in `hg paths` when pulled-delta-reuse-policy is in use
The crash is a result of [value] being an int, but being used
as a bytestring.