Expand description
An implementation of the git transport layer, abstracting over all of its versions.
Use client::blocking_io::connect() or client::async_io::connect() to establish a connection.
All git transports are supported, including ssh, git, http and https, as well as local repository paths.
§Feature Flags
-
blocking-client— If set, blocking implementations of the typical git transports become available incrate::client::blocking_io -
http-client— Impliesblocking-client, and adds support for the http and https transports. -
http-client-curl— Implieshttp-client, and adds support for the http and https transports using the Rust bindings forlibcurl.If used in conjunction with other blocking implementations like
http-client-reqwest, this one takes precedence. -
http-client-curl-rust-tls— Implieshttp-client-curland enablesrustlsfor creatinghttps://connections. -
http-client-reqwest— Implieshttp-clientand adds support for http and https transports using the blocking version ofreqwest. -
http-client-reqwest-rust-tls— Stacks withblocking-http-transport-reqwestand enableshttps://via therustlscrate. -
http-client-reqwest-rust-tls-trust-dns— Stacks withblocking-http-transport-reqwestand enableshttps://via therustlscrate. This also makes use ofhickory-dnsto avoidgetaddrinfo, but note it comes with its own problems. -
http-client-reqwest-native-tls— Stacks withblocking-http-transport-reqwestand enableshttps://via thenative-tlscrate. -
http-client-insecure-credentials— Allows sending credentials over cleartext HTTP. For testing purposes only. -
async-client— If set, an async implementations of the git transports becomes available incrate::client::async_io. Suitable for implementing your own transports while using git’s way of communication, typically in conjunction with a custom server. Note that the blocking client has a wide range of available transports, with the async version of it supporting only the TCP basedgittransport leaving you with the responsibility to providing such an implementation offutures-io::AsyncRead/AsyncWriteyourself.
§Other
serde— Data structures implementserde::Serializeandserde::Deserialize.async-std— If used in conjunction withasync-client, theconnect()method will become available along with supporting the git protocol over TCP, where the TCP stream is created using this crate.
Re-exports§
pub use bstr;pub use gix_packetline as packetline;
Modules§
Enums§
- Protocol
- The version of the way client and server communicate.
- Service
- The kind of service to invoke on the client or the server side.
Traits§
- IsSpurious
Error - An error which can tell whether it’s worth retrying to maybe succeed next time.