-
Notifications
You must be signed in to change notification settings - Fork 809
refactor transport: plumbing: transport, support multi-ack and multi-ack-detailed capabilities (3/5) #1338
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
b062e53
to
90bdb93
Compare
…ities This adds support for multi-ack and multi-ack-detailed capabilities in the transport package. The support includes both the client and server. Related: go-git@2ebd65f Related: go-git#1204
90bdb93
to
14eabbd
Compare
r.ACKs = append(r.ACKs, h) | ||
return nil | ||
var ack ACK | ||
// TODO: Dynamic hash size and sha256 support |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Again, let's pick up on a future PR, but for packfile this is based on an "option" as the packfile can do SHA1 or SHA1 and SHA256 hashes. Here, I believe it would need to be either/or and would be based off the object format.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Right, we will need to support the object-format
capability. I think here, instead of hard-coding the hash lengths, we need to be more lenient and just treat whatever argument as a hash.
Co-authored-by: Paulo Gomes <paulo.gomes.uk@gmail.com>
This adds support for multi-ack and multi-ack-detailed capabilities in
the transport package. The support includes both the client and server.
This works by properly implementing the negotiation algorithm where the client and server can send/receive multiple upload-haves and server-response requests. The implementation follows canonical git sending 32 have lines per compute step to find the optimal packfile.
Related: 2ebd65f
Related: #1204
Based on: #1303 and #1337