[package]name = "git-repository"repository = "https://github.com/Byron/gitoxide"description = "Abstractions for git repositories"license = "MIT/Apache-2.0"version = "0.15.0"authors = ["Sebastian Thiel <sebastian.thiel@icloud.com>"]edition = "2018"include = ["src/**/*", "CHANGELOG.md"]rust-version = "1.52" [lib]doctest = falsetest = true [features] default = ["max-performance", "one-stop-shop"] # enable when https://github.com/RustCrypto/asm-hashes/issues/17 is fixed# max-performance = ["git-features/parallel", "git-features/zlib-ng-compat", "git-features/fast-sha1", "git-pack/pack-cache-lru-static", "git-pack/pack-cache-lru-dynamic"] #! ### Mutually Exclusive Client#! Either `async-*` or `blocking-*` versions of these toggles may be enabled at a time. ## Make `git-protocol` available along with an async client.async-network-client = ["git-protocol/async-client"]## Make `git-protocol` available along with a blocking client.blocking-network-client = ["git-protocol/blocking-client"]## Stacks with `blocking-network-client` to provide support for HTTP/S, and implies blocking networking as a whole.blocking-http-transport = ["git-transport/http-client-curl"] #! ### Reducing dependencies#! The following toggles can be left disabled to save on dependencies. ## Provide additional non-networked functionality like `git-url` and `git-diff`.local = [ "git-url", "git-diff" ]## Turns on access to all stable features that are unrelated to networking.one-stop-shop = [ "local", "local-time-support" ] #! ### Other ## Data structures implement `serde::Serialize` and `serde::Deserialize`.serde1 = ["git-pack/serde1", "git-object/serde1", "git-protocol/serde1", "git-transport/serde1", "git-ref/serde1", "git-odb/serde1", "git-index/serde1", "git-mailmap/serde1"]## Activate other features that maximize performance, like usage of threads, `zlib-ng` and access to caching in object databases.## **Note** thatmax-performance = ["git-features/parallel", "git-features/zlib-ng-compat", "git-pack/pack-cache-lru-static", "git-pack/pack-cache-lru-dynamic"]## Functions dealing with time may include the local timezone offset, not just UTC with the offset being zero.local-time-support = ["git-actor/local-time-support"]## Re-export stability tier 2 crates for convenience and make `Repository` struct fields with types from these crates publicly accessible.## Doing so is less stable than the stability tier 1 that `git-repository` is a member of.unstable = ["git-index", "git-worktree", "git-mailmap"]## Print debugging information about usage of object database caches, useful for tuning cache sizes.cache-efficiency-debug = ["git-features/cache-efficiency-debug"] [dependencies]git-ref = { version = "^0.12.0", path = "../git-ref" }git-tempfile = { version = "^2.0.0", path = "../git-tempfile" }git-lock = { version = "^2.0.0", path = "../git-lock" }git-validate = { version ="^0.5.3", path = "../git-validate" } git-config = { version = "^0.2.0", path = "../git-config" }git-odb = { version = "^0.27.0", path = "../git-odb" }git-hash = { version = "^0.9.3", path = "../git-hash" }git-object = { version = "^0.18.0", path = "../git-object" }git-actor = { version = "^0.9.0", path = "../git-actor" }git-pack = { version = "^0.17.0", path = "../git-pack", features = ["object-cache-dynamic"] } git-url = { version = "^0.4.0", path = "../git-url", optional = true }git-traverse = { version = "^0.13.0", path = "../git-traverse" }git-protocol = { version = "^0.15.0", path = "../git-protocol", optional = true }git-transport = { version = "^0.16.0", path = "../git-transport", optional = true }git-diff = { version = "^0.14.0", path = "../git-diff", optional = true }git-mailmap = { version = "^0.1.0", path = "../git-mailmap", optional = true }git-features = { version = "^0.20.0", path = "../git-features", features = ["progress"] } # unstable onlygit-index = { version = "^0.2.0", path = "../git-index", optional = true }git-worktree = { version = "^0.1.0", path = "../git-worktree", optional = true } signal-hook = { version = "0.3.9", default-features = false }thiserror = "1.0.26"clru = "0.5.0"byte-unit = "=4.0.13" # this version is the last with edition 2018, needed for msrvlog = "0.4.14" document-features = { version = "0.2.0", optional = true } [target.'cfg(target_vendor = "apple")'.dependencies]unicode-normalization = { version = "0.1.19", default-features = false } [dev-dependencies]git-testtools = { path = "../tests/tools" }anyhow = "1"tempfile = "3.2.0" [package.metadata.docs.rs]features = ["document-features", "max-performance", "one-stop-shop", "unstable", "blocking-network-client"]
[package]
name = "git-repository"
repository = "https://github.com/Byron/gitoxide"
description = "Abstractions for git repositories"
license = "MIT/Apache-2.0"
version = "0.15.0"
authors = ["Sebastian Thiel <sebastian.thiel@icloud.com>"]
edition = "2018"
include = ["src/**/*", "CHANGELOG.md"]
rust-version = "1.52"
[lib]
doctest = false
test = true
[features]
default = ["max-performance", "one-stop-shop"]
# enable when https://github.com/RustCrypto/asm-hashes/issues/17 is fixed
# max-performance = ["git-features/parallel", "git-features/zlib-ng-compat", "git-features/fast-sha1", "git-pack/pack-cache-lru-static", "git-pack/pack-cache-lru-dynamic"]
#! ### Mutually Exclusive Client
#! Either `async-*` or `blocking-*` versions of these toggles may be enabled at a time.
## Make `git-protocol` available along with an async client.
async-network-client = ["git-protocol/async-client"]
## Make `git-protocol` available along with a blocking client.
blocking-network-client = ["git-protocol/blocking-client"]
## Stacks with `blocking-network-client` to provide support for HTTP/S, and implies blocking networking as a whole.
blocking-http-transport = ["git-transport/http-client-curl"]
#! ### Reducing dependencies
#! The following toggles can be left disabled to save on dependencies.
## Provide additional non-networked functionality like `git-url` and `git-diff`.
local = [ "git-url", "git-diff" ]
## Turns on access to all stable features that are unrelated to networking.
one-stop-shop = [ "local", "local-time-support" ]
#! ### Other
## Data structures implement `serde::Serialize` and `serde::Deserialize`.
serde1 = ["git-pack/serde1", "git-object/serde1", "git-protocol/serde1", "git-transport/serde1", "git-ref/serde1", "git-odb/serde1", "git-index/serde1", "git-mailmap/serde1"]
## Activate other features that maximize performance, like usage of threads, `zlib-ng` and access to caching in object databases.
## **Note** that
max-performance = ["git-features/parallel", "git-features/zlib-ng-compat", "git-pack/pack-cache-lru-static", "git-pack/pack-cache-lru-dynamic"]
## Functions dealing with time may include the local timezone offset, not just UTC with the offset being zero.
local-time-support = ["git-actor/local-time-support"]
## Re-export stability tier 2 crates for convenience and make `Repository` struct fields with types from these crates publicly accessible.
## Doing so is less stable than the stability tier 1 that `git-repository` is a member of.
unstable = ["git-index", "git-worktree", "git-mailmap"]
## Print debugging information about usage of object database caches, useful for tuning cache sizes.
cache-efficiency-debug = ["git-features/cache-efficiency-debug"]
[dependencies]
git-ref = { version = "^0.12.0", path = "../git-ref" }
git-tempfile = { version = "^2.0.0", path = "../git-tempfile" }
git-lock = { version = "^2.0.0", path = "../git-lock" }
git-validate = { version ="^0.5.3", path = "../git-validate" }
git-config = { version = "^0.2.0", path = "../git-config" }
git-odb = { version = "^0.27.0", path = "../git-odb" }
git-hash = { version = "^0.9.3", path = "../git-hash" }
git-object = { version = "^0.18.0", path = "../git-object" }
git-actor = { version = "^0.9.0", path = "../git-actor" }
git-pack = { version = "^0.17.0", path = "../git-pack", features = ["object-cache-dynamic"] }
git-url = { version = "^0.4.0", path = "../git-url", optional = true }
git-traverse = { version = "^0.13.0", path = "../git-traverse" }
git-protocol = { version = "^0.15.0", path = "../git-protocol", optional = true }
git-transport = { version = "^0.16.0", path = "../git-transport", optional = true }
git-diff = { version = "^0.14.0", path = "../git-diff", optional = true }
git-mailmap = { version = "^0.1.0", path = "../git-mailmap", optional = true }
git-features = { version = "^0.20.0", path = "../git-features", features = ["progress"] }
# unstable only
git-index = { version = "^0.2.0", path = "../git-index", optional = true }
git-worktree = { version = "^0.1.0", path = "../git-worktree", optional = true }
signal-hook = { version = "0.3.9", default-features = false }
thiserror = "1.0.26"
clru = "0.5.0"
byte-unit = "=4.0.13" # this version is the last with edition 2018, needed for msrv
log = "0.4.14"
document-features = { version = "0.2.0", optional = true }
[target.'cfg(target_vendor = "apple")'.dependencies]
unicode-normalization = { version = "0.1.19", default-features = false }
[dev-dependencies]
git-testtools = { path = "../tests/tools" }
anyhow = "1"
tempfile = "3.2.0"
[package.metadata.docs.rs]
features = ["document-features", "max-performance", "one-stop-shop", "unstable", "blocking-network-client"]