Cargo Features
[dependencies]
git-repository = { version = "0.35.0", default-features = false, features = ["async-network-client", "async-network-client-async-std", "blocking-network-client", "blocking-http-transport-curl", "blocking-http-transport-reqwest", "blocking-http-transport-reqwest-rust-tls", "blocking-http-transport-reqwest-native-tls", "serde1", "max-performance", "fast-sha1", "max-performance-safe", "cache-efficiency-debug", "regex", "document-features"] }
- default = max-performance-safe
-
The
max-performance-safe
feature is set by default whenevergit-repository
is added without
somewhere in the dependency tree.default-features = false - async-network-client async-network-client-async-std?
-
Mutually Exclusive Network Client
Either
async-*
orblocking-*
versions of these toggles may be enabled at a time.Make
git-protocol
available along with an async client.Enables async-client of git-protocol
Affects
fetch::RefMap
,fetch::Source
,fetch::SpecIndex
,fetch::Mapping
,remote::connect
,url::scheme_permission
… - async-network-client-async-std = async-network-client, async-std
-
Use this if your crate uses
async-std
as runtime, and enable basic runtime integration when connecting to remote servers.Enables async-std of git-transport
- blocking-network-client blocking-http-transport-curl? blocking-http-transport-reqwest?
-
Make
git-protocol
available along with a blocking client.Enables blocking-client of git-protocol
Affects
fetch::Error
,fetch::RefMap
,fetch::Source
,fetch::SpecIndex
,fetch::Mapping
,remote::connect
,url::scheme_permission
… - blocking-http-transport-curl = blocking-network-client
-
Stacks with
blocking-network-client
to provide support for HTTP/S using curl, and implies blocking networking as a whole.Enables http-client-curl of git-transport
- blocking-http-transport-reqwest blocking-http…reqwest-native-tls? blocking-http…reqwest-rust-tls? = blocking-network-client
-
Stacks with
blocking-network-client
to provide support for HTTP/S using reqwest, and implies blocking networking as a whole.Enables http-client-reqwest of git-transport
- blocking-http-transport-reqwest-rust-tls = blocking-http-transport-reqwest
-
Stacks with
blocking-http-transport-reqwest
and enables HTTPS via therustls
crate. Note that https isn't available without a selection.Enables rustls-tls and trust-dns of reqwest ^0.11.13
For internal use to allow pure-Rust builds without openssl.
- blocking-http-transport-reqwest-native-tls = blocking-http-transport-reqwest
-
Stacks with
blocking-http-transport-reqwest
and enables HTTPS via thenative-tls
crate. Note that https isn't available without a selection.Enables default-tls of reqwest ^0.11.13
- serde1 = serde
-
Other
Data structures implement
serde::Serialize
andserde::Deserialize
.Enables serde1 of git-attributes, git-credentials, git-index, git-mailmap, git-object, git-odb ^0.40.2, git-pack ^0.30.2, optional git-protocol, git-ref, git-revision, and optional git-transport
- max-performance = fast-sha1, max-performance-safe
-
Activate other features that maximize performance, like usage of threads,
zlib-ng
and access to caching in object databases. Note that some platforms might suffer from compile failures, which is whenmax-performance-safe
should be used.Enables zlib-ng-compat of git-features
- fast-sha1 max-performance?
-
If enabled, use assembly versions of sha1 on supported platforms.
This might cause compile failures as well which is why it can be turned off separately.Enables fast-sha1 of git-features
- max-performance-safe default max-performance?
-
Activate features that maximize performance, like usage of threads,
zlib-ng
and access to caching in object databases, skipping the ones known to cause compile failures on some platforms.Enables fs-walkdir-parallel and parallel of git-features, pack-cache-lru-dynamic and pack-cache-lru-static of git-pack ^0.30.2
- cache-efficiency-debug
-
Print debugging information about usage of object database caches, useful for tuning cache sizes.
Enables cache-efficiency-debug of git-features
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-protocol async-network-client? blocking-network-client?
- git-transport async-network-client-async-std? blocking-http-transport-curl? blocking-http-transport-reqwest?
- serde serde1?
- async-std async-network-client-async-std?
- regex implicit feature
-
Enables regex
For use in rev-parse, which provides searching commits by running a regex on their message.
If disabled, the text will be search verbatim in any portion of the commit message, similar to how a simple unanchored regex of only 'normal' characters would work. - reqwest-for-configuration-only blocking-http…reqwest-native-tls? blocking-http…reqwest-rust-tls?
-
Enables reqwest ^0.11.13
- document-features implicit feature
-
Enables document-features
document-features:
Extract documentation for the feature flags from comments in Cargo.toml