Expand description

An abstraction over fetching a pack from the server.

This implementation hides the transport layer, statefulness and the protocol version to the fetch delegate, the actual client implementation.

Feature Flags

_Mutually exclusive client _

The client portion of the protocol uses git-transport to communicate to a server. For it to be available, one of the following features must be selected.

Specifying both causes a compile error, preventing the use of --all-features.

  • blocking-client — If set, blocking command implementations are available and will use the blocking version of the git-transport crate.

  • async-client — As above, but provides async implementations instead.

Other

  • serde1 — Data structures implement serde::Serialize and serde::Deserialize.

Re-exports

pub use maybe_async;
pub use git_credentials as credentials;
pub use git_transport as transport;

Modules

fetchblocking-client or async-client

Structs

The information usually found in remote progress messages as sent by a git server during fetch, clone and push operations.

Enums

A way to indicate how to treat the connection underlying the transport, potentially allowing to reuse it.

Functions

Perform a ‘fetch’ operation with the server using transport, with delegate handling all server interactions. Note that delegate has blocking operations and thus this entire call should be on an executor which can handle that. This could be the current thread blocking, or another thread.