Fri, 21 Jan 2022 15:52:48 +0100 test-http-bad-server: move on test from bytes-count to pattern
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 21 Jan 2022 15:52:48 +0100] rev 48620
test-http-bad-server: move on test from bytes-count to pattern This specific test case is now using the new "close when a pattern is seen" approach compared to the more fragile "that many bytes were sent" approach. Since such change are still a bit noisy, we split each change in there own changesets. Differential Revision: https://phab.mercurial-scm.org/D12051
Fri, 21 Jan 2022 15:44:15 +0100 test-http-bad-server: move on test from bytes-count to pattern
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 21 Jan 2022 15:44:15 +0100] rev 48619
test-http-bad-server: move on test from bytes-count to pattern This specific test case is now using the new "close when a pattern is seen" approach compared to the more fragile "that many bytes were sent" approach. Since such change are still a bit noisy, we split each change in there own changesets. Differential Revision: https://phab.mercurial-scm.org/D12050
Sat, 22 Jan 2022 01:51:28 +0100 test-bad-http-server: introduce sock closing when writing a pattern
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 22 Jan 2022 01:51:28 +0100] rev 48618
test-bad-http-server: introduce sock closing when writing a pattern Instead of using a fixed number a bytes, a very unstable method. We introduce a new config that can define a regex. One this regex is detected, nothing after it will be written and the socket will be closed. Tests will be migrated to this new method in later changesets. Differential Revision: https://phab.mercurial-scm.org/D12049
Sat, 22 Jan 2022 01:13:12 +0100 test-http-bad-server: document that the value are actually a list
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 22 Jan 2022 01:13:12 +0100] rev 48617
test-http-bad-server: document that the value are actually a list I don't really expect this doc to be read a lot, but mentioning that this is a list seems important. Differential Revision: https://phab.mercurial-scm.org/D12048
Fri, 21 Jan 2022 12:44:39 +0100 test-http-bad-server: refactor the writing logic to avoid early return
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 21 Jan 2022 12:44:39 +0100] rev 48616
test-http-bad-server: refactor the writing logic to avoid early return Our ultimate goal is to add another way to define the connection needs to be closed. To do so, we need the "read" code to be more unified. Differential Revision: https://phab.mercurial-scm.org/D12047
Fri, 21 Jan 2022 11:58:55 +0100 test-http-bad-server: replace the default 65537 value in output
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 21 Jan 2022 11:58:55 +0100] rev 48615
test-http-bad-server: replace the default 65537 value in output This is the default block value that we use here and it make the output overall less readable. So we replace it with `~` Differential Revision: https://phab.mercurial-scm.org/D12046
Fri, 21 Jan 2022 11:15:56 +0100 test-http-bad-server: refactor the reading logic to avoid early return
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 21 Jan 2022 11:15:56 +0100] rev 48614
test-http-bad-server: refactor the reading logic to avoid early return Our ultimate goal is to add another way to define the connection needs to be closed. To do so, we need the "read" code to be more unified. Differential Revision: https://phab.mercurial-scm.org/D12045
Fri, 21 Jan 2022 03:05:43 +0100 test-http-bad-server: factor code dealing with "read" in the new object
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 21 Jan 2022 03:05:43 +0100] rev 48613
test-http-bad-server: factor code dealing with "read" in the new object This will make sure both `read` and `readline` do the same processing and make it simpler to update that processing in the future. Differential Revision: https://phab.mercurial-scm.org/D12044
Fri, 21 Jan 2022 00:54:15 +0100 test-http-bad-server: factor code dealing with "write" in the new object
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 21 Jan 2022 00:54:15 +0100] rev 48612
test-http-bad-server: factor code dealing with "write" in the new object This will make sure both `sendall` and `write` do the same processing and make it simpler to update that processing in the future. Differential Revision: https://phab.mercurial-scm.org/D12043
Sun, 23 Jan 2022 21:25:01 +0100 test-http-bad-server: unify log printing for `sendall` and `write`
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 23 Jan 2022 21:25:01 +0100] rev 48611
test-http-bad-server: unify log printing for `sendall` and `write` The `write` function was logging before calling the function while the `sendall` function were logging after calling the function. We align the `write` behavior on the `sendall` behavior before unifying the code. Differential Revision: https://phab.mercurial-scm.org/D12042
Fri, 21 Jan 2022 01:07:50 +0100 test-http-bad-server: track close condition in an object
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 21 Jan 2022 01:07:50 +0100] rev 48610
test-http-bad-server: track close condition in an object In order to make the logic more advanced, we need to unify it. To unify it, we introduce a small object that will be responsible for tracking and enforcing "premature socket close" conditions for both proxy object (socketproxy and fileobjectproxy). More logic will be moved into the object in later changesets. Differential Revision: https://phab.mercurial-scm.org/D12041
Wed, 19 Jan 2022 19:14:17 +0100 test-http-bad-server: use more readable name for variable
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 19 Jan 2022 19:14:17 +0100] rev 48609
test-http-bad-server: use more readable name for variable This make the code more accessible overall. Differential Revision: https://phab.mercurial-scm.org/D12040
Fri, 21 Jan 2022 02:07:13 +0100 test-http-bad-server: align output by using `;`
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 21 Jan 2022 02:07:13 +0100] rev 48608
test-http-bad-server: align output by using `;` This is the only message using a `,` instead of `;` and that seems unintentional. I am unifying the message before unigying the code. Differential Revision: https://phab.mercurial-scm.org/D12039
Wed, 19 Jan 2022 19:04:55 +0100 test-http-bad-server: highlight each test with section
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 19 Jan 2022 19:04:55 +0100] rev 48607
test-http-bad-server: highlight each test with section Small "documentation" change to highlight each individual tests better. Differential Revision: https://phab.mercurial-scm.org/D12038
Fri, 21 Jan 2022 20:50:40 +0100 test-http-bad-server: rename config to use `-`
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 21 Jan 2022 20:50:40 +0100] rev 48606
test-http-bad-server: rename config to use `-` This make things much more readable. Differential Revision: https://phab.mercurial-scm.org/D12037
Tue, 18 Jan 2022 21:29:43 +0100 test-http-bad-server: move the extension in `testlib`
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 18 Jan 2022 21:29:43 +0100] rev 48605
test-http-bad-server: move the extension in `testlib` This seems like a better location for it. Differential Revision: https://phab.mercurial-scm.org/D12036
Mon, 17 Jan 2022 19:29:41 +0100 requirements: remove the `localrepo.supportedformat` attribute
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 17 Jan 2022 19:29:41 +0100] rev 48604
requirements: remove the `localrepo.supportedformat` attribute It is not longer used anywhere. Differential Revision: https://phab.mercurial-scm.org/D12035
Mon, 17 Jan 2022 22:48:16 +0100 requirements: sort _basesupported
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 17 Jan 2022 22:48:16 +0100] rev 48603
requirements: sort _basesupported This will make the next changeset clearer. Differential Revision: https://phab.mercurial-scm.org/D12034
Mon, 17 Jan 2022 19:28:10 +0100 requirements: move the comment about manifestv2 in the module
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 17 Jan 2022 19:28:10 +0100] rev 48602
requirements: move the comment about manifestv2 in the module This is about requirements, so lets put it into the requirements module. We are about to remove code it was previously attached too. Differential Revision: https://phab.mercurial-scm.org/D12033
Mon, 17 Jan 2022 19:26:36 +0100 stream-clone: add a explicit set list requirements relevant to stream clone
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 17 Jan 2022 19:26:36 +0100] rev 48601
stream-clone: add a explicit set list requirements relevant to stream clone This set explicitly lists all the requirements that "stream clone" will preserve. Any other one will not be preserved. The role of listing the relevant one was previously filled by `repo.supportedformat`, but it seems clearer to use that such global and explicit set. The `repo.supportedformat` attribute will be cleaned up in a later changeset The true meaning of `repo.supportedformat` vs `repo._basesupported` was lost over time so, the content is currently bad. For example, `dirstate-v2` is currently considered relevant to the stream clone, or internal phase is missing. We kept the same content in this changeset and we will fix them later. Differential Revision: https://phab.mercurial-scm.org/D12032
Mon, 24 Jan 2022 11:49:06 +0100 stream-clone: filter possible missing requirements using all supported one
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 24 Jan 2022 11:49:06 +0100] rev 48600
stream-clone: filter possible missing requirements using all supported one The `supportedformat` requirements is missing some important requirements and it seems better to filter out with all requirements we know, not just an "arbitrary" subset. This is especially relevant as we about to phase out the `supportedformat` class attribute. (a backport of this change to stable should be sent soon). Differential Revision: https://phab.mercurial-scm.org/D12031
Mon, 17 Jan 2022 19:18:20 +0100 requirements: move "bookmark in store" requirements in the right module
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 17 Jan 2022 19:18:20 +0100] rev 48599
requirements: move "bookmark in store" requirements in the right module There seems to be no reasons to not have it with the others. Differential Revision: https://phab.mercurial-scm.org/D12030
Mon, 17 Jan 2022 18:51:47 +0100 stream-clone: add a explicit test for format change during stream clone
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 17 Jan 2022 18:51:47 +0100] rev 48598
stream-clone: add a explicit test for format change during stream clone They are different kind of requirements, the one which impact the data storage and are relevant to the files being streamed and the one which does not. For example some requirements are only relevant to the working copy, like sparse, or dirstate-v2. Since they are irrelevant to the content being streamed, they do not prevent the receiving side to use streaming clone and mercurial skip adverting them over the wire and, ideally, within the bundle. In addition, this let the client decide to use whichever format it desire for the part that does not affect the store itself. So the configuration related to these format are used as normal when doing a streaming clone. In practice, the feature was not really tested and is badly broken with bundle-2, since the requirements are not filtered out from the stream bundle. So we start with adding simple tests as a good base before the fix and adjust the feature. Differential Revision: https://phab.mercurial-scm.org/D12029
Fri, 14 Jan 2022 18:02:25 +0100 stream-clone: factor computation of requirement of a stream clone
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 14 Jan 2022 18:02:25 +0100] rev 48597
stream-clone: factor computation of requirement of a stream clone This gather code duplicated in multiple place and will make it easier to modify it safely in the future. Differential Revision: https://phab.mercurial-scm.org/D12028
(0) -30000 -10000 -3000 -1000 -300 -100 -50 -24 +24 +50 +100 +300 +1000 +3000 tip