Raphaël Gomès <rgomes@octobus.net> [Mon, 12 Jun 2023 23:41:28 +0200] rev 50690
rust-hg-core: move from `ouroboros` to `self_cell`
`ouroboros` has a fundamental soundness problem that, while not applicable
today, could become applicable given new compiler optimizations.ยน
`self_cell` is a crate that accomplishes a lot of the same things that
`ouroboros` did while remaining sound (that is, unless a new soundness issue
is discovered) by not assuming as much about the memory layout of the program.
`self_cell` has been scrutinized heavily in the past few months by very
competent people, some from the compiler team and has shown no weaknesses
for a while, with a 1.0 stable release coming out a couple months ago.
Our internal API is exactly the same, this is just an implementation detail.
To reiterate, no actual soundness issue was found with our use of `ouroboros`,
but there might be evolutions of `rustc` (or even a future separate compiler)
that could generate unsound code.
[1] https://github.com/joshua-maros/ouroboros/issues/88
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 02 Jun 2023 15:12:05 +0200] rev 50689
debug-revlog-stats: make it use the new store entry API
This give use free tree manifest support in the process.
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 02 Jun 2023 15:10:50 +0200] rev 50688
store: use the revlog type from revlog's constant instead of custom one
We already have a revlog type that everybody use. So we use that one instead.
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 12 Jun 2023 23:24:41 +0200] rev 50687
repair: use `is_manifestlog` to recognise manifest revlog
This is simpler that comparing flag, and we want to remove these flags anyway.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 06 Jun 2023 04:56:54 +0200] rev 50686
perf: add a perf::stream-consume
We know how long it take to generate, lets check how long it take to apply now.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 06 Jun 2023 04:09:05 +0200] rev 50685
perf: add a perf::stream-generate command
This record the time we take to generate a bundle.
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 12 Jun 2023 18:04:09 +0200] rev 50684
perf: add a new "context" argument to timer
This allow to simple setup/teardown outside of the timed section. Especially
using object that need context manager, like a temporary files.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 06 Jun 2023 01:48:10 +0200] rev 50683
perf: add support for stream-v3 during benchmark
This is getting important as the v3 protocol will diverge from the v2 protocol.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 06 Jun 2023 01:43:48 +0200] rev 50682
perf: add a function to find a stream version generator
The logic is clearer and can be reused for other commands in the future.
Arseniy Alekseyev <aalekseyev@janestreet.com> [Thu, 18 May 2023 19:23:59 +0100] rev 50681
treemanifest: make `updatecaches` update the nodemaps for all directories
Without this, if the cache for a nested directory is in a bad state,
it's very hard to repair it.