Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 11 Jan 2022 16:32:38 +0100] rev 48678
tests: use debugrequires in test-upgrade-repo.t
Whenever possible, we use the `hg debugrequires` command instead of directly
grepping the file.
Differential Revision: https://phab.mercurial-scm.org/D11984
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 06 Jan 2022 17:15:49 +0100] rev 48677
test: do not use `which` to find an exec path in the test
Posix is deprecated `which` in favor of `command -v`… which does not provide the same feature.
Debian is warning about this deprecation and this get annoying.
Differential Revision: https://phab.mercurial-scm.org/D11983
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 14 Jan 2022 18:17:55 +0100] rev 48676
stream-clone: stop considering working copy only requirements
Now that the ducks are properly aligned on there shelve, it becomes easy to fix
the list of requirements to consider for stream. We remove the working copy
specific ones and add some missing revlog specific ones.
Differential Revision: https://phab.mercurial-scm.org/D11982
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 18 Jan 2022 00:19:04 +0100] rev 48675
stream-clone: also filter the requirement we put in the bundle 2
We were wrongly putting irrelevant requirements in the bundle and the receiving
side was getting confused, treating them as being missing while still putting
them in the `requires` file. Leading do corrupted repositories.
This changes fix stream-clone behavior regarding format when bundle-2 is
involved, so we now also test this cases.
Behavior with older version of Mercurial will be fine as they filter the
requirements they get from the bundle on their side anyway.
Differential Revision: https://phab.mercurial-scm.org/D12084
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 24 Jan 2022 12:44:20 +0100] rev 48674
requirements: add an official `REVLOG_COMPRESSION_ZSTD` const
Such constant was missing and its value was missing from the set of requirements
that needs to be preserved through stream clone. This did not had any
consequence yet as the "bundle 2 does not filter its requirements" is shadowing
the issue.
However we are now in a situation where we can fix this issue. So lets do it
next.
With the preparation work on test, changing the streamreqs value only impact two
tests, where checking the full value seems to remains relevant.
Important note: Since older version of Mercurial used the old `supportedformat`
class attribute to check for stream requirement they supported, older version
will consider this requirements to prevent them from using streaming clone. Even
as they support this requirements for years. Pack for stable will be send to fix
it, but they will have to be backported to older version if needed.
Differential Revision: https://phab.mercurial-scm.org/D12083
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 18 Jan 2022 20:35:04 +0100] rev 48673
stream-requirements: smoother matching in test-http-protocol.t
The value of `streamreqs` changes depending of the format used, but this is not
relevant for this tests. So we doing a smarter matching of the line to avoid
this test interfering with format changes in the future.
Differential Revision: https://phab.mercurial-scm.org/D12082
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 18 Jan 2022 12:21:13 +0100] rev 48672
stream-requirements: smoother matching in test-ssh-bundle1.t
The value of `streamreqs` changes depending of the format used, but this is not
relevant for this tests. So we doing a smarter matching of the line to avoid
this test interfering with format changes in the future.
Differential Revision: https://phab.mercurial-scm.org/D12081
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 18 Jan 2022 12:02:50 +0100] rev 48671
stream-requirements: smoother matching in test-ssh-proto.t
The value of `streamreqs` changes depending of the format used, but this is not
relevant for this tests. So we doing a smarter matching of the line to avoid
this test interfering with format changes in the future.
Differential Revision: https://phab.mercurial-scm.org/D12080
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 18 Jan 2022 10:50:20 +0100] rev 48670
stream-requirements: smoother matching in test-hgweb-commands.t
The value of `streamreqs` changes depending of the format used, but this is not
relevant for this tests. So we doing a smarter matching of the line to avoid
this test interfering with format changes in the future.
Differential Revision: https://phab.mercurial-scm.org/D12079
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 18 Jan 2022 10:50:08 +0100] rev 48669
stream-requirements: smoother matching in test-treemanifest.t
The value of `streamreqs` changes depending of the format used, but this is not
relevant for this tests. So we doing a smarter matching of the line to avoid
this test interfering with format changes in the future.
Differential Revision: https://phab.mercurial-scm.org/D12078
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 18 Jan 2022 10:49:43 +0100] rev 48668
stream-requirements: smoother matching in test-ssh-proto-unbundle.t
The value of `streamreqs` changes depending of the format used, but this is not
relevant for this tests. So we doing a smarter matching of the line to avoid
this test interfering with format changes in the future.
Differential Revision: https://phab.mercurial-scm.org/D12077
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 24 Jan 2022 12:58:18 +0100] rev 48667
test-bundle: split some variant in there own section
Same rational as the previous commit about test-bundle.t. These line are quite
volatile and having dedicated block will make their update clearer and simpler.
Differential Revision: https://phab.mercurial-scm.org/D12076
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 18 Jan 2022 15:27:51 +0100] rev 48666
test-bundle: split each variant in there own section
Having conditional line matching for this kind of big block is quite
inconvenient to update. The new way should be simpler to maintain.
Differential Revision: https://phab.mercurial-scm.org/D12075
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 24 Jan 2022 01:28:16 +0100] rev 48665
test-http-bad-server: abstract the `streamreqs` value
Now that socket closing are decided much closer to the actual closure, we can
use fuzzy matching for this part of the exchange that changes on a regular
basis.
This should make fixing bug in stream requirements and enabling new format much
simpler.
Differential Revision: https://phab.mercurial-scm.org/D12074