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 whenever git-repository is added without default-features = false somewhere in the dependency tree.

async-network-client async-network-client-async-std?

Mutually Exclusive Network Client

Either async-* or blocking-* 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 the rustls 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 the native-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 and serde::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 when max-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