Cargo Features
git-transport has no features set by default.
[dependencies]
git-transport = { version = "0.25.5", features = ["blocking-client", "http-client", "http-client-curl", "http-client-reqwest", "async-client", "serde1", "async-std", "document-features"] }
- blocking-client http-client?
-
Mutually Exclusive Client
The client portion of transport can be blocking or async. If none is selected, it will be missing entirely. Specifying both causes a compile error, preventing the use of
--all-features
.If set, blocking implementations of the typical git transports become available in
crate::client
Enables blocking-io of git-packetline
Affects
capabilities::recv
,client::git
,traits::TransportWithoutIO.request
… - http-client http-client-curl? http-client-reqwest? = base64, blocking-client, git-credentials
-
Implies
blocking-client
, and adds support for the http and https transports.Enables io-pipe of git-features
Affects
http::connect_http
,blocking_io::http
… - http-client-curl = curl, http-client
-
Implies
http-client
, and adds support for the http and https transports using the Rust bindings forlibcurl
.Affects
http::curl
,http::Impl
,http::redirect
,http::connect
… - http-client-reqwest = http-client, reqwest
-
Implies
http-client
and adds support for http and https transports using the blocking version ofreqwest
.Affects
http::reqwest
,http::Impl
,http::connect
… - async-client = async-trait, futures-io, futures-lite, pin-project-lite
-
If set, an async implementations of the git transports becomes available in
crate::client
. 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 basedgit
transport leaving you with the responsibility to providing such an implementation offutures-io::AsyncRead/AsyncWrite
yourself.Enables async-io of git-packetline
Affects
capabilities::recv
,client::git
,traits::TransportWithoutIO.request
… - serde1 = serde
-
Other
Data structures implement
serde::Serialize
andserde::Deserialize
.
Features from optional dependencies
In crates that don't use the dep:
syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.
- git-credentials http-client?
- serde serde1?
- async-trait async-client?
-
Enables async-trait
for async-client
- futures-io async-client?
- futures-lite async-client?
-
Enables futures-lite ^1.12.0
- pin-project-lite async-client?
- base64 http-client?
-
Enables base64 ^0.21.0
for http-client
- curl http-client-curl?
-
Enables curl
for http-client-curl. Additional configuration should be performed on higher levels of the dependency tree.
- reqwest http-client-reqwest?
-
Enables reqwest ^0.11.12
for http-client-reqwest
- async-std implicit feature
-
Enables async-std
If used in conjunction with
async-client
, theconnect()
method will become available along with supporting the git protocol over TCP, where the TCP stream is created using this crate. - document-features implicit feature
-
Enables document-features
document-features:
Extract documentation for the feature flags from comments in Cargo.toml