P2P protocol version 2, adding SUCCESS-PLUS and ALREADY-HAVE-PLUS

Client side support for SUCCESS-PLUS and ALREADY-HAVE-PLUS
is complete, when a PUT stores to additional repositories
than the expected on, the location log is updated with the
additional UUIDs that contain the content.

Started implementing PUT fanout to multiple remotes for clusters.
It is untested, and I fear fencepost errors in the relative
offset calculations. And it is missing proxying for the protocol
after DATA.
This commit is contained in:
Joey Hess 2024-06-18 12:07:01 -04:00
parent ca08f3fcc2
commit f18740699e
No known key found for this signature in database
GPG key ID: DB12DB0FF05F8F38
12 changed files with 206 additions and 61 deletions

View file

@ -550,7 +550,7 @@ copyToRemote' repo r st@(State connpool duc _ _ _) key file meterupdate
)
| Git.repoIsSsh repo =
P2PHelper.store (gitconfig r)
(Ssh.runProto r connpool (return False))
(Ssh.runProto r connpool (return Nothing))
key file meterupdate
| otherwise = giveup "copying to non-ssh repo not supported"