Sat, 02 Dec 2023 01:06:35 +0100 censor: show that the `not-inline` → `inline` test is broken stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 02 Dec 2023 01:06:35 +0100] rev 51137
censor: show that the `not-inline` → `inline` test is broken The source revlog should not be inlined and it is…
Sun, 03 Dec 2023 04:49:49 +0100 perf-tags: fix clear_cache_fnodes to actually clear that cache stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 03 Dec 2023 04:49:49 +0100] rev 51136
perf-tags: fix clear_cache_fnodes to actually clear that cache The function was not doing it what it advertise for a long time. So we fix it and we add a way for the perf extensions to detect broken version.
Sun, 03 Dec 2023 04:43:08 +0100 perf-tags: fix the --clear-fnode-cache-rev code stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 03 Dec 2023 04:43:08 +0100] rev 51135
perf-tags: fix the --clear-fnode-cache-rev code It seems like this code never run?
Mon, 04 Dec 2023 17:20:31 +0000 tests: do not fail tests in a state with uncommitted .py file removal stable
Arseniy Alekseyev <aalekseyev@janestreet.com> [Mon, 04 Dec 2023 17:20:31 +0000] rev 51134
tests: do not fail tests in a state with uncommitted .py file removal The problem is that [hg locate] lists removed files too. We use [hg files] instead because that does not list removed files.
Sat, 02 Dec 2023 00:52:37 -0500 tests: fill in the Windows pattern for `$EADDRNOTAVAIL$` matching stable
Matt Harbison <matt_harbison@yahoo.com> [Sat, 02 Dec 2023 00:52:37 -0500] rev 51133
tests: fill in the Windows pattern for `$EADDRNOTAVAIL$` matching This fixes test-https.t on Windows. It looks like the real error translation is "Cannot assign requested address.", and the message here is the start of a longer description, so I'm not sure why this part is emitted. But it's not worth digging into, as it's evidently the same failure.
Sat, 02 Dec 2023 00:34:44 -0500 tests: avoid a cascading failure on Windows stable
Matt Harbison <matt_harbison@yahoo.com> [Sat, 02 Dec 2023 00:34:44 -0500] rev 51132
tests: avoid a cascading failure on Windows The `identify --debug` command here on Windows emits skip updating dirstate: identity mismatch because of the debug switch, which got captured and added to `.hgtags`, and then hijinx ensued. The point of `--debug` seemed to be to get the long hash, so just do that with templating. I have not idea if the message is indicating a problem- there seems to be many more of them in other tests that are not present on Linux.
Fri, 01 Dec 2023 23:58:12 -0500 phabricator: stringify the argument to `getattr()` stable
Matt Harbison <matt_harbison@yahoo.com> [Fri, 01 Dec 2023 23:58:12 -0500] rev 51131
phabricator: stringify the argument to `getattr()` This fixes a "TypeError: getattr(): attribute name must be string" crash and subsequent test spew. This likely broke in 18c8c18993f0 and was missed in CI because `pytest-vcr` is missing.
Mon, 13 Nov 2023 09:19:11 -0800 py3: pass unicode strings to hasattr() throughout stable
Martin von Zweigbergk <martinvonz@google.com> [Mon, 13 Nov 2023 09:19:11 -0800] rev 51130
py3: pass unicode strings to hasattr() throughout I guess we missed these instances because they're not covered by tests. This is a graft of 1625fe807c04a490f9516bc8e14140e570c06146 that landed on default.
Tue, 21 Nov 2023 16:20:58 +0100 relnotes: add 6.6 stable
Raphaël Gomès <rgomes@octobus.net> [Tue, 21 Nov 2023 16:20:58 +0100] rev 51129
relnotes: add 6.6 There are no differences between the rc and the actual release.
Tue, 21 Nov 2023 16:18:25 +0100 Added signature for changeset 26c57e7a0890 stable
Raphaël Gomès <rgomes@octobus.net> [Tue, 21 Nov 2023 16:18:25 +0100] rev 51128
Added signature for changeset 26c57e7a0890
Tue, 21 Nov 2023 16:18:23 +0100 Added tag 6.6 for changeset 26c57e7a0890 stable
Raphaël Gomès <rgomes@octobus.net> [Tue, 21 Nov 2023 16:18:23 +0100] rev 51127
Added tag 6.6 for changeset 26c57e7a0890
Tue, 07 Nov 2023 16:59:37 +0100 Added signature for changeset 27055614b685 stable 6.6
Raphaël Gomès <rgomes@octobus.net> [Tue, 07 Nov 2023 16:59:37 +0100] rev 51126
Added signature for changeset 27055614b685
Tue, 07 Nov 2023 16:59:36 +0100 Added tag 6.6rc0 for changeset 27055614b685 stable
Raphaël Gomès <rgomes@octobus.net> [Tue, 07 Nov 2023 16:59:36 +0100] rev 51125
Added tag 6.6rc0 for changeset 27055614b685
Tue, 07 Nov 2023 16:07:53 +0100 relnotes: add 6.6rc0 stable 6.6rc0
Raphaël Gomès <rgomes@octobus.net> [Tue, 07 Nov 2023 16:07:53 +0100] rev 51124
relnotes: add 6.6rc0
Tue, 07 Nov 2023 15:21:11 +0100 branching: merge default into stable for 6.6rc0 stable
Raphaël Gomès <rgomes@octobus.net> [Tue, 07 Nov 2023 15:21:11 +0100] rev 51123
branching: merge default into stable for 6.6rc0
Mon, 06 Nov 2023 23:17:10 +0100 unstable: do not consider internal phases when computing unstable
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 06 Nov 2023 23:17:10 +0100] rev 51122
unstable: do not consider internal phases when computing unstable The revisions that are not part of the "working" set by other means should not be considered for the evolution related computation. This impact the test introduced in 5f9af8422b31 as this is actually a more semantic fix of the issue.
Mon, 06 Nov 2023 23:15:58 +0100 unstable: use the `_mutablerevs` function when computing content divergent
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 06 Nov 2023 23:15:58 +0100] rev 51121
unstable: use the `_mutablerevs` function when computing content divergent This is a useful function to get the revision relevant to these computation, lets make sure all code use it, so that we can improve that `_mutablerevs` function in a later changeset.
Mon, 06 Nov 2023 23:15:17 +0100 unstable: use the `_mutablerevs` function when computing phase divergent
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 06 Nov 2023 23:15:17 +0100] rev 51120
unstable: use the `_mutablerevs` function when computing phase divergent This is a useful function to get the revision relevant to these computation, lets make sure all code use it, so that we can improve that `_mutablerevs` function in a later changeset.
Mon, 06 Nov 2023 11:07:54 +0100 rust: add explicit resolver field to top-level cargo manifest file
Raphaël Gomès <rgomes@octobus.net> [Mon, 06 Nov 2023 11:07:54 +0100] rev 51119
rust: add explicit resolver field to top-level cargo manifest file Since Rust 1.51.0, Cargo has support for a better dependency resolver. Workspace packages (like ours) need to explicitely set the field, so let's. https://doc.rust-lang.org/edition-guide/rust-2021/default-cargo-resolver.html
Mon, 06 Nov 2023 11:06:08 +0100 rust: run a clippy pass with the latest stable version
Raphaël Gomès <rgomes@octobus.net> [Mon, 06 Nov 2023 11:06:08 +0100] rev 51118
rust: run a clippy pass with the latest stable version Our current version of clippy is older than the latest stable. The newest version has new lints that are moslty good advice, so let's apply them ahead of time. This has the added benefit of reducing the noise for developpers like myself that use clippy as an IDE helper, as well as being more prepared for a future clippy upgrade.
Mon, 06 Nov 2023 11:02:18 +0100 rust-clippy: ignore clippy's recommendation for "useless" cast
Raphaël Gomès <rgomes@octobus.net> [Mon, 06 Nov 2023 11:02:18 +0100] rev 51117
rust-clippy: ignore clippy's recommendation for "useless" cast See explanation inline.
Mon, 06 Nov 2023 17:12:04 +0100 branching: merge stable into default
Raphaël Gomès <rgomes@octobus.net> [Mon, 06 Nov 2023 17:12:04 +0100] rev 51116
branching: merge stable into default
Tue, 31 Oct 2023 22:42:46 -0700 smartset: don't ignore hidden revs when intersecting
Martin von Zweigbergk <martinvonz@google.com> [Tue, 31 Oct 2023 22:42:46 -0700] rev 51115
smartset: don't ignore hidden revs when intersecting This fixes the bug I demonstrated in the previous commit, but I'm not sure at all if it's the right way of doing it.
Tue, 31 Oct 2023 22:33:45 -0700 tests: demonstrate crash in `unstable()` with internal-phase orphans
Martin von Zweigbergk <martinvonz@google.com> [Tue, 31 Oct 2023 22:33:45 -0700] rev 51114
tests: demonstrate crash in `unstable()` with internal-phase orphans
Wed, 18 Oct 2023 14:50:14 +0200 rust-matchers: fix quadratic complexity in `FileMatcher`
Raphaël Gomès <rgomes@octobus.net> [Wed, 18 Oct 2023 14:50:14 +0200] rev 51113
rust-matchers: fix quadratic complexity in `FileMatcher` Concretely, this command: ``` $ echo hg up -r <nodeid>; time hg revert dir1 dir2 -r <othernode> --debug hg up -r <nodeid> real 0m14.690s user 0m14.766s sys 0m5.430s ``` was much slower despite using 16 cores before this change. The approach taken here is the same one used in match.py, in exactmatcher. This changeset was originally written by Valentin Gatien-Baron in a private repository. I have redacted the commit message and did a minor clean up of the code.
Fri, 27 Oct 2023 08:54:41 +0200 revlog: add a small cache of unfiltered chunk
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 27 Oct 2023 08:54:41 +0200] rev 51112
revlog: add a small cache of unfiltered chunk This can provides a massive boost to the reading of multiple revision and the computation of a valid delta chain. This greatly help operation like `hg log --patch`, delta computation (helping pull/unbundle), linkrev adjustment (helping copy tracing). A first round of benchmark for `hg log --patch --limit 1000` shows improvement in the 10-20% range on "small" repository like pypy or mercurial and large improvements (about 33%) for more complex ones like netbeans and mozilla's. These speeds up are consistent with the improvement to `hg pull` (from a server sending poor deltas) I saw benchmarking this last year. Further benchmark will be run during the freeze. I added some configuration in the experimental space to be able to further test the effect of various tuning for now. This feature should fit well in the "usage/resource profile" configuration that we should land next cycle. When it does not provides a benefit the overhead of the cache seem to be around 2%, a small price for the big improvement. In addition I believe we could shave most of this overhead with a more efficent lru implementation.
Fri, 27 Oct 2023 02:57:09 +0200 revlog: minor refactor in the chunk gather process
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 27 Oct 2023 02:57:09 +0200] rev 51111
revlog: minor refactor in the chunk gather process We will introduce some caching in this method in the next changeset, we make some of the most "disruptive" change first as touching this could break (and maybe did during the development process).
Tue, 24 Oct 2023 11:08:49 +0200 changelog-delay: move the delay/divert logic inside the (inner) revlog
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 24 Oct 2023 11:08:49 +0200] rev 51110
changelog-delay: move the delay/divert logic inside the (inner) revlog Instead of hacking throught the vfs/opener, we implement the delay/divert logic inside the `_InnerRevlog` and `randomaccessfile` object. This will allow to an alternative implementation of the `_InnerRevlog` that does not need to use Python details. As a result, the new implementation can use the transaction less agressively and avoid some extra output since no data had been written yet. That seems like a good side effect.
Thu, 26 Oct 2023 05:37:37 +0200 revlog: add a `canonical_index_file` attribute on inner revlog
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 26 Oct 2023 05:37:37 +0200] rev 51109
revlog: add a `canonical_index_file` attribute on inner revlog This is currently the same and the index_file but it will become more complex when we start doing delayed write.
Thu, 26 Oct 2023 03:41:58 +0200 changelog-delay: move "delayed" check to a more official API
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 26 Oct 2023 03:41:58 +0200] rev 51108
changelog-delay: move "delayed" check to a more official API To avoid reaching inside the inner object in the future, we needs some official API. We put one of such API early to reduce the size of the final diff.
(0) -30000 -10000 -3000 -1000 -300 -100 -50 -30 +30 +50 +100 +300 tip