Known subclasses: dulwich.client.SSHGitClient, dulwich.client.SubprocessGitClient, dulwich.client.TCPGitClient, dulwich.tests.test_client.DummyClient

Traditional Git client.
Method __init__ Create a new GitClient instance.
Method send_pack Upload a pack to a remote repository.
Method fetch_pack Retrieve a pack from a git smart server.
Method get_refs Retrieve the current refs from a git smart server.
Method archive Undocumented
Method _connect Create a connection to the server.

Inherited from GitClient:

Method get_url Retrieves full url to given path.
Class Method from_parsedurl Create an instance of this client from a urlparse.parsed object.
Method fetch Fetch into a target repository.
Method _parse_status_report Undocumented
Method _read_side_band64k_data Read per-channel data.
Method _handle_receive_pack_head Handle the head of a 'git-receive-pack' request.
Method _negotiate_receive_pack_capabilities Undocumented
Method _handle_receive_pack_tail Handle the tail of a 'git-receive-pack' request.
Method _negotiate_upload_pack_capabilities Undocumented
Method _handle_upload_pack_head Handle the head of a 'git-upload-pack' request.
Method _handle_upload_pack_tail Handle the tail of a 'git-upload-pack' request.
def __init__(self, path_encoding=DEFAULT_ENCODING, **kwargs):
Create a new GitClient instance.
Parametersthin_packsWhether or not thin packs should be retrieved
report_activityOptional callback for reporting transport activity.
def _connect(self, cmd, path):

Create a connection to the server.

This method is abstract - concrete implementations should implement their own variant which connects to the server and returns an initialized Protocol object with the service ready for use and a can_read function which may be used to see if reads would block.

ParameterscmdThe git service name to which we should connect.
pathThe path we should pass to the service. (as bytestirng)
def send_pack(self, path, update_refs, generate_pack_data, progress=None):
Upload a pack to a remote repository.
ParameterspathRepository path (as bytestring)
update_refsFunction to determine changes to remote refs. Receive dict with existing remote refs, returns dict with changed refs (name -> sha, where sha=ZERO_SHA for deletions)
generate_pack_dataFunction that can return a tuple with number of objects and pack data to upload.
progressOptional callback called with progress updates
Returnsnew_refs dictionary containing the changes that were made {refname: new_ref}, including deleted refs.
RaisesSendPackErrorif server rejects the pack data
UpdateRefsErrorif the server supports report-status and rejects ref updates
def fetch_pack(self, path, determine_wants, graph_walker, pack_data, progress=None, depth=None):
Retrieve a pack from a git smart server.
ParameterspathRemote path to fetch from
determine_wantsFunction determine what refs to fetch. Receives dictionary of name->sha, should return list of shas to fetch.
graph_walkerObject with next() and ack().
pack_dataCallback called for each bit of data in the pack
progressCallback for progress reports (strings)
depthShallow fetch depth
ReturnsFetchPackResult object
def get_refs(self, path):
Retrieve the current refs from a git smart server.
def archive(self, path, committish, write_data, progress=None, write_error=None, format=None, subdirs=None, prefix=None):
Undocumented
API Documentation for Dulwich, generated by pydoctor at 2018-11-17 19:05:54.