Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 02 May 2023 21:43:45 +0200] rev 50364
revlog: test more complex file pattern for revlog split
There have been a report of failure while splitting revlog. The file name
involved was important. The pattern involved here are not problematic, but it
help to setup the machinery to test multiple files, the actual fix and
problematic file will arrive in a later changeset.
Raphaël Gomès <rgomes@octobus.net> [Tue, 02 May 2023 15:40:13 +0200] rev 50363
repo-upgrade: write new requirement before upgrading the dirstate
This will prevent a small race condition where another hg process still
believes the repo is dirstate-v1 during the upgrade process.
This is good to have, but it is not a proper fix for the underlying problem.
There is code that assumes a requirement means a usage, e.g. having the
`generaldelta` requirement would imply *all* revlogs to use general delta,
but it's not true, it simply means that the repository advertises to the
client it needs to understand `generaldelta` in order to read the repo.
In the case of the dirstate, having the requirement *technically* should always
be the same as using dirstate-v2, since there is only one dirstate and
requirements should be as minimal as possible. However, we should not assume
this and make the code more robust in a future patch (series).
Arun Kulshreshtha <akulshreshtha@janestreet.com> [Wed, 26 Apr 2023 15:30:35 -0400] rev 50362
rhg: correctly relativize copy source path
Arun Kulshreshtha <akulshreshtha@janestreet.com> [Wed, 26 Apr 2023 15:31:02 -0400] rev 50361
rhg: don't print copy source when --no-status is passed
Arun Kulshreshtha <akulshreshtha@janestreet.com> [Wed, 26 Apr 2023 16:18:12 -0400] rev 50360
tests: add test for status copy source formatting
Matt Harbison <matt_harbison@yahoo.com> [Tue, 25 Apr 2023 17:49:35 -0400] rev 50359
fix: highlight the required configuration and behavior of the fixer tools
The problem is that `hg help fix` didn't mention *how* to configure the tools,
and while I knew that `{rootpath}` existed in the configuration, I missed that
the tools require reading content from stdin. (I configured `gofmt` to use
`{rootpath}`, and that had the effect of squashing all changes in a file at `.`
into the first commit and emptying that content from its descendants.)
Basically all this does is put a pointer in the default (command level) help to
the extension level help that mentions the configuration, and moves the
extension level help that documents reading from stdin and writing to stdout to
the top to give it more prominence. The last sentence is adjusted a bit to
reflect the new location.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 18 Apr 2023 15:26:55 +0200] rev 50358
debug-delta: add minimal documentation for `devel.bundle-delta` option
So the next person won't have to grep the code to know what it is doing.
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 19 Apr 2023 16:37:11 +0200] rev 50357
delta-find: simply code that is now never invoqued without general delta
Finish early in on-general delta case mean a lot of code can assume that general delta is not enabled.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 18 Apr 2023 17:17:31 +0200] rev 50356
delta-find: add a simple safeguard to prevent bad non-general-delta
This make it easier to catch request to build delta that does not make sense in
the general delta world.
It seems better to raise a programming error than to corrupt the repository.
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 19 Apr 2023 18:16:19 +0200] rev 50355
delta-find: never do anything fancy when general delta is off
Without general delta, the only option is to do a delta against the previous
revision in the revlog, or to do a full snapshot. So no need to dive into the
more complicated logic.
This prevent Mercurial to misbehave when applying remote deltas when
`pulled-delta-reuse-policy` was set to "try-base" or "forced" and would produce
and store invalid deltas.
We add an associated tests to make sure this scenario is covered by tests.
There are more code to cleanup after this, but I what to keep the fixing patch
simple.