Fri, 21 Apr 2023 16:19:32 +0200 stabletailgraph: extract _parents util func
pacien <pacien.trangirard@pacien.net> [Fri, 21 Apr 2023 16:19:32 +0200] rev 50561
stabletailgraph: extract _parents util func
Mon, 22 May 2023 19:04:05 +0200 stabletailgraph: clarify excl part size computation
pacien <pacien.trangirard@pacien.net> [Mon, 22 May 2023 19:04:05 +0200] rev 50560
stabletailgraph: clarify excl part size computation
Fri, 21 Apr 2023 14:32:58 +0200 stabletailgraph: clarify naiveness of current implementation
pacien <pacien.trangirard@pacien.net> [Fri, 21 Apr 2023 14:32:58 +0200] rev 50559
stabletailgraph: clarify naiveness of current implementation Both the naive and the actual versions of the algorithms are going to co-exist for the tests. This makes is clearer that this one is naive.
Fri, 19 May 2023 14:49:50 +0200 stream-clone: introduce the notion of an experimental "v3" version
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 19 May 2023 14:49:50 +0200] rev 50558
stream-clone: introduce the notion of an experimental "v3" version We introduce a new experimental "v3" stream protocol, disabled by default. In practice the "v3-exp" protocol introduced in this changeset is identical to v2, but this changeset, lay the groundwork for having a new protocol: configuration, capability exchange, test coverage, etc. The actual protocol work will starts in the coming changesets.
Sat, 20 May 2023 01:39:13 +0200 stream-clone: check is a compatible protocol can be found
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 20 May 2023 01:39:13 +0200] rev 50557
stream-clone: check is a compatible protocol can be found The previous code was explicitly checking if "v2" is listed in the "stream" bundle2 capability. The new code is checking is there is anything common between the versions supported client side and server side overlaps. This prepare the introduction of more stream version than "v2".
Sat, 20 May 2023 01:22:49 +0200 stream-clone: bail-out earlier if stream clone is not requested
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 20 May 2023 01:22:49 +0200] rev 50556
stream-clone: bail-out earlier if stream clone is not requested The `canperformstreamclone` function is bit messy. However it seems clearer to me to check if a stream-clone have been requested by the client or the server at all, before checking if a compatible protocol can be negotiated with the server. So I am doing some gratuitous movement so reorder conditional.
Sat, 20 May 2023 01:19:26 +0200 stream-clone: bail-out earlier if pull is partial
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 20 May 2023 01:19:26 +0200] rev 50555
stream-clone: bail-out earlier if pull is partial The `canperformstreamclone` function is bit messy. However it seems clearer to me to process the very generic condition about "can we consider a stream-clone at all", before checking if a stream-clone is requested and if a compatible protocol can be negotiated with the server. So I am doing some gratuitous movement so reorder conditional.
Sat, 20 May 2023 01:17:27 +0200 stream-clone: bail-out earlier if destination repo is not empty
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 20 May 2023 01:17:27 +0200] rev 50554
stream-clone: bail-out earlier if destination repo is not empty The `canperformstreamclone` function is bit messy. However it seems clearer to me to process the very generic condition about "can we consider a stream-clone at all", before checking if a stream-clone is requested and if a compatible protocol can be negotiated with the server. So I am doing some gratuitous movement so reorder conditional.
Sun, 21 May 2023 00:00:57 +0200 stream-clone: check the version of streaming clone supported by the client
Arseniy Alekseyev <aalekseyev@janestreet.com> [Sun, 21 May 2023 00:00:57 +0200] rev 50553
stream-clone: check the version of streaming clone supported by the client Make the server refuse to produce streaming clone bundle, if the client doesn't specify the stream=v2 capability. This is in preparation to introduce stream=v3. As far as I can tell, this capability was added at the same time as support for bundle2-based streaming pulls was added, so I don't expect clients to break. (the modern client doesn't break, at any rate)
Sun, 21 May 2023 01:03:19 +0200 stream-clone: make sure the `stream` capability is set when bundling
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 21 May 2023 01:03:19 +0200] rev 50552
stream-clone: make sure the `stream` capability is set when bundling This is important to start narrowing protocol option in the next changesets.
Sun, 21 May 2023 00:00:29 +0200 stream-clone: upgrade the error message for bad stream request
Arseniy Alekseyev <aalekseyev@janestreet.com> [Sun, 21 May 2023 00:00:29 +0200] rev 50551
stream-clone: upgrade the error message for bad stream request The new version if more compact and more consistent with the general Mercurial usage.
Sun, 21 May 2023 03:21:00 +0200 stream-clone: yield cache entry in `_entries_walk` too
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 21 May 2023 03:21:00 +0200] rev 50550
stream-clone: yield cache entry in `_entries_walk` too The new function now cover the same ground as _v2_walk.
Sun, 21 May 2023 03:10:59 +0200 stream-clone: introduce a _entries_walk
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 21 May 2023 03:10:59 +0200] rev 50549
stream-clone: introduce a _entries_walk That function insert itself between the store and `_v2_walk`. It only deals with StoreEntry unlike `_v2_walk` that deal with actual file. A share of the `_v2_walk` logic will be moved in this new `_entry_walk` function. Having this function will help us to implement a new "v3" version of the protocol that will be more entry centric.
Sun, 21 May 2023 02:29:33 +0200 store: make `walk` return an entry for obsolescence if requested so
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 21 May 2023 02:29:33 +0200] rev 50548
store: make `walk` return an entry for obsolescence if requested so Instead of having dedicated code in the streamclone code, we should have the store deal with advertising the data it contains.
Sun, 21 May 2023 02:16:24 +0200 store: yield phases before changelog
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 21 May 2023 02:16:24 +0200] rev 50547
store: yield phases before changelog Creating the `changelog.i` file make the repository usable, so dealing with phase earlier seems better.
Sun, 21 May 2023 02:15:04 +0200 store: make `walk` return an entry for phase if requested so
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 21 May 2023 02:15:04 +0200] rev 50546
store: make `walk` return an entry for phase if requested so Instead of having dedicated code in the streamclone code, we should have the store deal with advertising the data it contains.
Mon, 22 May 2023 10:20:24 +0100 cli: add a test of `hg debugnodemap --manifest`
Arseniy Alekseyev <aalekseyev@janestreet.com> [Mon, 22 May 2023 10:20:24 +0100] rev 50545
cli: add a test of `hg debugnodemap --manifest` this is a new option that's not tested yet
Thu, 18 May 2023 19:37:12 +0100 cli: fix spelling in `debugnodemap` error messages
Arseniy Alekseyev <aalekseyev@janestreet.com> [Thu, 18 May 2023 19:37:12 +0100] rev 50544
cli: fix spelling in `debugnodemap` error messages
Thu, 18 May 2023 18:45:54 +0100 cli: make debugnodemap capable of inspecting an arbitrary nodemap
Arseniy Alekseyev <aalekseyev@janestreet.com> [Thu, 18 May 2023 18:45:54 +0100] rev 50543
cli: make debugnodemap capable of inspecting an arbitrary nodemap This lets us inspect the manifest nodemap and individual directory nodemaps when treemanifest is used.
Thu, 18 May 2023 17:53:17 +0100 rust: mostly avoid streaming zstd decompression
Arseniy Alekseyev <aalekseyev@janestreet.com> [Thu, 18 May 2023 17:53:17 +0100] rev 50542
rust: mostly avoid streaming zstd decompression Streaming ZStd decompression seems slightly slower, and the API we use makes it very inconvenient to re-use the decompression context. Instead of using that, use the buffer-backed version, because we can give a reasonable-ish size estimate.
Thu, 18 May 2023 17:25:18 +0100 rust: in zstd decompression, avoid a useless vec initialization
Arseniy Alekseyev <aalekseyev@janestreet.com> [Thu, 18 May 2023 17:25:18 +0100] rev 50541
rust: in zstd decompression, avoid a useless vec initialization
Thu, 18 May 2023 17:18:54 +0100 rust: speed up zstd decompression by re-using the decompression context
Arseniy Alekseyev <aalekseyev@janestreet.com> [Thu, 18 May 2023 17:18:54 +0100] rev 50540
rust: speed up zstd decompression by re-using the decompression context Admittedly, zstd is already pretty fast, but this change makes it a bit faster yet: it saves ~5% of time it takes to read our large repo. The actual motivating use case is treemanifest: in treemanifest we end up reading *lots* of small directories, and many of them need decompression, and there the saving for [rhg files] is >10%. (which also seems unreasonable, we should probably keep things uncompressed more)
Tue, 16 May 2023 10:44:25 +0200 store: rename `topfiles` to `top_entries`
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 16 May 2023 10:44:25 +0200] rev 50539
store: rename `topfiles` to `top_entries` The method is now returning StoreEntries let us rename the method for clarity.
Tue, 16 May 2023 10:43:36 +0200 store: rename `datafiles` to `data_entries`
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 16 May 2023 10:43:36 +0200] rev 50538
store: rename `datafiles` to `data_entries` The method is now returning StoreEntries let us rename the method for clarity.
Mon, 15 May 2023 22:03:39 +0200 store: use boolean property for upgrade's matchrevlog
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 15 May 2023 22:03:39 +0200] rev 50537
store: use boolean property for upgrade's matchrevlog
Mon, 15 May 2023 22:11:27 +0200 store: use the new boolean property in `upgrade`
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 15 May 2023 22:11:27 +0200] rev 50536
store: use the new boolean property in `upgrade`
Mon, 15 May 2023 22:11:02 +0200 store: use the new boolean property in `remotefilelogserver`
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 15 May 2023 22:11:02 +0200] rev 50535
store: use the new boolean property in `remotefilelogserver`
Mon, 15 May 2023 22:10:33 +0200 store: use the boolean property in `repair_issue6528`
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 15 May 2023 22:10:33 +0200] rev 50534
store: use the boolean property in `repair_issue6528`
Mon, 15 May 2023 22:10:04 +0200 store: use the new boolean property in `narrow`
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 15 May 2023 22:10:04 +0200] rev 50533
store: use the new boolean property in `narrow`
Mon, 15 May 2023 22:09:43 +0200 store: use the boolean property in `store`
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 15 May 2023 22:09:43 +0200] rev 50532
store: use the boolean property in `store`
(0) -30000 -10000 -3000 -1000 -300 -100 -50 -30 +30 +50 +100 +300 +1000 tip