Raphaël Gomès <rgomes@octobus.net> [Thu, 22 Jun 2023 11:18:27 +0200] rev 50716
Added tag 6.4.5 for changeset
271a4ab29605
Raphaël Gomès <rgomes@octobus.net> [Thu, 22 Jun 2023 11:17:40 +0200] rev 50715
relnotes: add 6.4.5
Jason R. Coombs <jaraco@jaraco.com> [Wed, 21 Jun 2023 14:00:50 -0400] rev 50714
narrow: indicated the default of 'Yes' when confirming auto-remove-includes
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 21 Jun 2023 15:55:07 +0200] rev 50713
clone-bundles: check we generate a valid specification
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 <pierre-yves.david@octobus.net> [Wed, 21 Jun 2023 15:53:33 +0200] rev 50712
bundle-spec: add an official method to format a spec into a string
This will be useful for automatic-clonebundles.
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 19 Jun 2023 18:15:35 +0200] rev 50711
clonebundles: adds a auto-generate.serve-inline option
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 <pierre-yves.david@octobus.net> [Mon, 19 Jun 2023 18:15:27 +0200] rev 50710
clone-bundle: only add the REQUIRESNI bit for http(s)
we don't needs it for `peer-bundle-cache://` for example
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 23 May 2023 10:24:57 +0200] rev 50709
stream-clone: add a stream-v3 variant of test-persistent-nodemap.t
This will be useful to track and validate future changes to the stream-v3
protocol.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 23 May 2023 10:18:01 +0200] rev 50708
stream-clone: split the stream part out of test-persistent-nodemap.t
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 <pierre-yves.david@octobus.net> [Tue, 23 May 2023 03:09:46 +0200] rev 50707
stream-clone: explicitly split debug test output for application per version
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.
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.
Arseniy Alekseyev <aalekseyev@janestreet.com> [Fri, 09 Jun 2023 14:31:40 +0100] rev 50690
ui: add a test demonstrating a crash in `hg paths`
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 17 Jun 2023 04:05:53 +0200] rev 50689
re2: fix reporting of availability in `hg debuginstall`
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 <pierre-yves.david@octobus.net> [Sat, 17 Jun 2023 04:05:18 +0200] rev 50688
re: make _checkre2 a static method
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 <pierre-yves.david@octobus.net> [Sat, 17 Jun 2023 04:02:25 +0200] rev 50687
re2: exit `_checkre2` early if calling it is useless
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.
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 18 Jun 2023 00:09:39 +0200] rev 50686
branching: merge with stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 20 Jun 2023 02:36:52 +0200] rev 50685
backout: remove
db9b6ce803a9
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.