git_interface.pack
Methods for using commands relating to git packs
- git_interface.pack.advertise_pack(git_repo, pack_type)
Used to advertise packs between remote and client.
- Parameters:
git_repo (Path | str) – Path to the repo
pack_type (str) – The pack-type (‘git-upload-pack’ or ‘git-receive-pack’)
- Returns:
The buffered output stream as a AsyncGenerator
- Return type:
AsyncGenerator[bytes, None]
- git_interface.pack.exchange_pack(git_repo, pack_type, input_stream)
Used to exchange packs between client and remote.
- Parameters:
git_repo (Path | str) – Path to the repo
pack_type (str) – The pack-type (‘git-upload-pack’ or ‘git-receive-pack’)
input_stream (AsyncGenerator[bytes, None]) – The buffered input stream
- Returns:
The buffered output stream as a AsyncGenerator
- Return type:
AsyncGenerator[bytes, None]
- async git_interface.pack.ssh_pack_exchange(git_repo, pack_type, stdin)
Used to handle git pack exchange for a ssh connection.
- param git_repo:
Path to the repo
- param pack_type:
The pack-type (‘git-upload-pack’ or ‘git-receive-pack’)
- param stdin:
Input to feed from client
- yield:
Output to send to client
- Parameters:
git_repo (Path | str)
pack_type (str)
stdin (AsyncGenerator[bytes, None])
- Return type:
AsyncGenerator[bytes, None]