Thu, 23 Mar 2023 11:24:47 +0000 dirstate: add a test to highlight another changelog / dirstate race stable
Arseniy Alekseyev <aalekseyev@janestreet.com> [Thu, 23 Mar 2023 11:24:47 +0000] rev 50322
dirstate: add a test to highlight another changelog / dirstate race
Thu, 23 Mar 2023 19:10:15 +0100 rust: fix thread cap (for real this time) stable
Raphaël Gomès <rgomes@octobus.net> [Thu, 23 Mar 2023 19:10:15 +0100] rev 50321
rust: fix thread cap (for real this time) Both e2f8ed37201c and c52435820bbd failed to put a *default* ceiling on the number of threads used by Rayon to prevent a contention issue. Calling `rayon::available_parallelism()` creates the global threadpool, which made our whole dance useless last time.
Wed, 22 Mar 2023 17:18:32 +0000 tests: accept a test output change in [tests/test-serve.t] stable
Arseniy Alekseyev <aalekseyev@janestreet.com> [Wed, 22 Mar 2023 17:18:32 +0000] rev 50320
tests: accept a test output change in [tests/test-serve.t] This fixes a breakage introduced in adecb1ab4a0d. It was not caught by the CI probably because allows binding to port 13.
Tue, 21 Mar 2023 17:07:22 +0100 py3: fix for Python 3.12 emitting SyntaxWarning on invalid escape sequences stable
Mads Kiilerich <mads@kiilerich.com> [Tue, 21 Mar 2023 17:07:22 +0100] rev 50319
py3: fix for Python 3.12 emitting SyntaxWarning on invalid escape sequences Missed in 805d4a462abb: $ python3.12 mercurial/store.py mercurial/store.py:406: SyntaxWarning: invalid escape sequence '\.' EXCLUDED = re.compile(b'.*undo\.[^/]+\.(nd?|i)$')
Tue, 21 Mar 2023 15:27:03 +0100 url: don't ignore timeout for https connections stable
Julien Cristau <jcristau@mozilla.com> [Tue, 21 Mar 2023 15:27:03 +0100] rev 50318
url: don't ignore timeout for https connections For http, we use the stdlib's HTTPConnection.connect which passes the timeout down to socket.create_connection; for https, we override the connect method but weren't handling the timeout, so connections could hang for hours even with http.timeout set to low values.
Tue, 21 Mar 2023 15:44:38 +0000 debugdeltachain: stop summing the same chain over and over stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 21 Mar 2023 15:44:38 +0000] rev 50317
debugdeltachain: stop summing the same chain over and over Before this patch, delta chain size was computed from scratch for each chain, disregarding the fact very likely already computed the same of length-1 prefix for another revisions. We not cache delta chain size and shortcut the computation when we see them. Just for my mercurial-devel clone, this move the computation from about 17.5 second to about 4.8 seconds.
Mon, 20 Mar 2023 11:52:17 +0100 revlog: improve the robustness of the splitting process stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 20 Mar 2023 11:52:17 +0100] rev 50316
revlog: improve the robustness of the splitting process The previous "in-place" splitting, preserving the splitting on transaction failure had a couple of issue in case of transaction rollback: - a race windows that could still lead to a crash and data loss - it corrupted the `fncache`. So instead, we use a new approach that we summarized as "we do a backup of the inline revlog pre-split, and we restore this in case of failure". To make readers live easier, we don't overwrite the inline index file until transaction finalization. (once the transaction get into its finalization phase, it is not expected to rollback, unless some crash happens). To do so, we write the index of the split index in a temporary file that we use until transaction finalization. We also keep a backup of the initial inline file to be able to rollback the split if needed. As a result, transaction rollback cancel the split and no longer corrupt fncache. We also no longer have a small inconsistency windows where the transaction could be unrecoverable.
Mon, 20 Mar 2023 11:40:18 +0100 fncache: make it possible to ignore some file stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 20 Mar 2023 11:40:18 +0100] rev 50315
fncache: make it possible to ignore some file In the next changeset, we need to able to ignore some temporary file. This changeset teach the fncache about that.
(0) -30000 -10000 -3000 -1000 -300 -100 -30 -10 -8 +8 +10 +30 +100 +300 +1000 tip