pacien <pacien.trangirard@pacien.net> [Fri, 21 Apr 2023 14:33:33 +0200] rev 50562
stabletailgraph: naive version of leap computation
This adds a naive reference implementation of the computation of leap and
specific leap sets (described in the code documentation).
The existing tests are enriched accordingly.
pacien <pacien.trangirard@pacien.net> [Fri, 21 Apr 2023 16:19:32 +0200] rev 50561
stabletailgraph: extract _parents util func
pacien <pacien.trangirard@pacien.net> [Mon, 22 May 2023 19:04:05 +0200] rev 50560
stabletailgraph: clarify excl part size computation
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.
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.
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".
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.
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.
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.
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)