InfoRefsUploadPack
Provides the response body forGET /info/refs?service=git-upload-pack. Invoked when the user executes a git fetch, meaning the server will upload the packs to that user. The user doesn’t upload new objects.
Request
The repository to fetch references from
Parameters to use with git -c (key=value pairs)
Git protocol version to use
Response
Raw reference data in git-upload-pack format (streamed)
InfoRefsReceivePack
Provides the response body forGET /info/refs?service=git-receive-pack. Invoked when the user executes a git push, but only advertises references to the user.
Request
The repository to advertise references for
Parameters to use with git -c (key=value pairs)
Git protocol version to use
Response
Raw reference data in git-receive-pack format (streamed)
PostUploadPack
Handles request and response body forPOST /upload-pack. Used for git fetch and clone operations.
Streaming RPC: Both request and response are streamed for handling large pack files.
Request
The repository to upload pack from. Should only be present in the first message
Raw data to be copied to stdin of ‘git upload-pack’
Parameters to use with git -c (key=value pairs)
Git protocol version to use
Response
Raw data from stdout of ‘git upload-pack’ (streamed)
PostUploadPackWithSidechannel
Handles request and response body forPOST /upload-pack using the sidechannel protocol. This is a more efficient implementation for large data transfers.
Request
The repository to upload pack from
Parameters to use with git -c (key=value pairs)
Git protocol version to use
Response
(empty)
Empty response. Data is transferred via sidechannel
PostReceivePack
Handles request and response body forPOST /receive-pack. Used for git push operations.
Streaming RPC: Both request and response are streamed for handling large pack files.
Request
The repository to receive pack into. Should only be present in the first message
Raw data to be copied to stdin of ‘git receive-pack’
GitLab user ID. Becomes env variable used by Git pre-receive and post-receive hooks. Should only be present in the first message
GitLab repository identifier. Becomes env variable used by Git hooks. Should only be present in the first message
GitLab username. Becomes env variable used by Git hooks. Should only be present in the first message
Git protocol version to use
Parameters to use with git -c (key=value pairs)
Response
Raw data from stdout of ‘git receive-pack’ (streamed)