gix 0.67.0

Interact with git repositories just like git would
Documentation
[dependencies.async-std]
optional = true
version = "1.12.0"

[dependencies.document-features]
optional = true
version = "0.2.0"

[dependencies.gix-actor]
version = "^0.33.0"

[dependencies.gix-archive]
default-features = false
optional = true
version = "^0.16.0"

[dependencies.gix-attributes]
optional = true
version = "^0.23.0"

[dependencies.gix-command]
optional = true
version = "^0.3.10"

[dependencies.gix-commitgraph]
version = "^0.25.0"

[dependencies.gix-config]
version = "^0.41.0"

[dependencies.gix-credentials]
optional = true
version = "^0.25.0"

[dependencies.gix-date]
version = "^0.9.1"

[dependencies.gix-diff]
default-features = false
version = "^0.47.0"

[dependencies.gix-dir]
optional = true
version = "^0.9.0"

[dependencies.gix-discover]
version = "^0.36.0"

[dependencies.gix-features]
features = ["progress", "once_cell"]
version = "^0.39.0"

[dependencies.gix-filter]
optional = true
version = "^0.14.0"

[dependencies.gix-fs]
version = "^0.12.0"

[dependencies.gix-glob]
version = "^0.17.0"

[dependencies.gix-hash]
version = "^0.15.0"

[dependencies.gix-hashtable]
version = "^0.6.0"

[dependencies.gix-ignore]
optional = true
version = "^0.12.0"

[dependencies.gix-index]
optional = true
version = "^0.36.0"

[dependencies.gix-lock]
version = "^15.0.0"

[dependencies.gix-mailmap]
optional = true
version = "^0.25.0"

[dependencies.gix-merge]
default-features = false
optional = true
version = "^0.0.0"

[dependencies.gix-negotiate]
optional = true
version = "^0.16.0"

[dependencies.gix-object]
version = "^0.45.0"

[dependencies.gix-odb]
version = "^0.64.0"

[dependencies.gix-pack]
default-features = false
features = ["object-cache-dynamic"]
version = "^0.54.0"

[dependencies.gix-path]
version = "^0.10.12"

[dependencies.gix-pathspec]
optional = true
version = "^0.8.0"

[dependencies.gix-prompt]
optional = true
version = "^0.8.8"

[dependencies.gix-protocol]
optional = true
version = "^0.46.0"

[dependencies.gix-ref]
version = "^0.48.0"

[dependencies.gix-refspec]
version = "^0.26.0"

[dependencies.gix-revision]
default-features = false
version = "^0.30.0"

[dependencies.gix-revwalk]
version = "^0.16.0"

[dependencies.gix-sec]
version = "^0.10.9"

[dependencies.gix-status]
features = ["worktree-rewrites"]
optional = true
version = "^0.14.0"

[dependencies.gix-submodule]
optional = true
version = "^0.15.0"

[dependencies.gix-tempfile]
default-features = false
version = "^15.0.0"

[dependencies.gix-trace]
version = "^0.1.11"

[dependencies.gix-transport]
optional = true
version = "^0.43.0"

[dependencies.gix-traverse]
version = "^0.42.0"

[dependencies.gix-url]
version = "^0.28.0"

[dependencies.gix-utils]
version = "^0.1.13"

[dependencies.gix-validate]
version = "^0.9.1"

[dependencies.gix-worktree]
default-features = false
optional = true
version = "^0.37.0"

[dependencies.gix-worktree-state]
optional = true
version = "^0.14.0"

[dependencies.gix-worktree-stream]
optional = true
version = "^0.16.0"

[dependencies.once_cell]
version = "1.14.0"

[dependencies.parking_lot]
optional = true
version = "0.12.1"

[dependencies.prodash]
features = ["progress-tree"]
optional = true
version = "29.0.0"

[dependencies.regex]
default-features = false
features = ["std"]
optional = true
version = "1.6.0"

[dependencies.serde]
default-features = false
features = ["derive"]
optional = true
version = "1.0.114"

[dependencies.signal-hook]
default-features = false
optional = true
version = "0.3.9"

[dependencies.smallvec]
version = "1.9.0"

[dependencies.thiserror]
version = "1.0.26"

[dev-dependencies.anyhow]
version = "1"

[dev-dependencies.async-std]
features = ["attributes"]
version = "1.12.0"

[dev-dependencies.insta]
version = "1.40.0"

[dev-dependencies.is_ci]
version = "1.1.1"

[dev-dependencies.pretty_assertions]
version = "1.4.0"

[dev-dependencies.serial_test]
default-features = false
version = "3.1.0"

[dev-dependencies.termtree]
version = "0.5.1"

[dev-dependencies.walkdir]
version = "2.3.2"

[features]
async-network-client = ["gix-protocol/async-client", "gix-pack/streaming-input", "attributes", "credentials"]
async-network-client-async-std = ["async-std", "async-network-client", "gix-transport/async-std"]
attributes = ["excludes", "dep:gix-filter", "dep:gix-pathspec", "dep:gix-attributes", "dep:gix-submodule", "gix-worktree?/attributes", "command"]
basic = ["blob-diff", "revision", "index"]
blob-diff = ["gix-diff/blob", "attributes"]
blob-merge = ["dep:gix-merge", "gix-merge/blob", "attributes"]
blocking-http-transport-curl = ["blocking-network-client", "gix-transport/http-client-curl"]
blocking-http-transport-curl-rustls = ["blocking-http-transport-curl", "gix-transport/http-client-curl-rust-tls"]
blocking-http-transport-reqwest = ["blocking-network-client", "gix-transport/http-client-reqwest"]
blocking-http-transport-reqwest-native-tls = ["blocking-http-transport-reqwest", "gix-transport/http-client-reqwest-native-tls"]
blocking-http-transport-reqwest-rust-tls = ["blocking-http-transport-reqwest", "gix-transport/http-client-reqwest-rust-tls"]
blocking-http-transport-reqwest-rust-tls-trust-dns = ["blocking-http-transport-reqwest", "gix-transport/http-client-reqwest-rust-tls-trust-dns"]
blocking-network-client = ["gix-protocol/blocking-client", "gix-pack/streaming-input", "attributes", "credentials"]
cache-efficiency-debug = ["gix-features/cache-efficiency-debug"]
comfort = ["gix-features/progress-unit-bytes", "gix-features/progress-unit-human-numbers"]
command = ["dep:gix-command"]
credentials = ["dep:gix-credentials", "dep:gix-prompt", "dep:gix-negotiate"]
default = ["max-performance-safe", "comfort", "basic", "extras"]
dirwalk = ["dep:gix-dir", "attributes", "excludes"]
excludes = ["dep:gix-ignore", "dep:gix-worktree", "index"]
extras = ["worktree-stream", "worktree-archive", "revparse-regex", "mailmap", "excludes", "attributes", "worktree-mutation", "credentials", "interrupt", "status", "dirwalk", "blob-merge"]
fast-sha1 = ["gix-features/fast-sha1"]
hp-tempfile-registry = ["gix-tempfile/hp-hashmap"]
index = ["dep:gix-index"]
interrupt = ["dep:signal-hook", "gix-tempfile/signals", "dep:parking_lot"]
mailmap = ["dep:gix-mailmap", "revision"]
max-control = ["parallel", "pack-cache-lru-static", "pack-cache-lru-dynamic"]
max-performance = ["max-performance-safe", "zlib-ng", "fast-sha1"]
max-performance-safe = ["max-control"]
need-more-recent-msrv = ["tree-editor"]
pack-cache-lru-dynamic = ["gix-pack/pack-cache-lru-dynamic"]
pack-cache-lru-static = ["gix-pack/pack-cache-lru-static"]
parallel = ["gix-features/parallel"]
parallel-walkdir = ["gix-features/fs-walkdir-parallel"]
progress-tree = ["prodash/progress-tree"]
revision = ["gix-revision/describe", "gix-revision/merge_base", "index"]
revparse-regex = ["regex", "revision"]
serde = ["dep:serde", "gix-pack/serde", "gix-object/serde", "gix-protocol?/serde", "gix-transport?/serde", "gix-ref/serde", "gix-odb/serde", "gix-index?/serde", "gix-mailmap?/serde", "gix-url/serde", "gix-attributes?/serde", "gix-ignore?/serde", "gix-revision/serde", "gix-worktree?/serde", "gix-commitgraph/serde", "gix-credentials?/serde"]
status = ["gix-status", "dirwalk", "index", "blob-diff"]
tracing = ["gix-features/tracing"]
tracing-detail = ["gix-features/tracing-detail", "tracing"]
tree-editor = []
verbose-object-parsing-errors = ["gix-object/verbose-object-parsing-errors"]
worktree-archive = ["gix-archive", "worktree-stream", "attributes"]
worktree-mutation = ["attributes", "dep:gix-worktree-state"]
worktree-stream = ["gix-worktree-stream", "attributes"]
zlib-ng = ["gix-features/zlib-ng"]
zlib-ng-compat = ["gix-features/zlib-ng-compat"]
zlib-stock = ["gix-features/zlib-stock"]

[lib]
doctest = false
name = "gix"
path = "src/lib.rs"
test = true

[lints.clippy]
bool_to_int_with_if = "allow"
borrow_as_ptr = "allow"
cast_lossless = "allow"
cast_possible_truncation = "allow"
cast_possible_wrap = "allow"
cast_precision_loss = "allow"
cast_sign_loss = "allow"
checked_conversions = "allow"
copy_iterator = "allow"
default_trait_access = "allow"
doc_markdown = "allow"
empty_docs = "allow"
enum_glob_use = "allow"
explicit_deref_methods = "allow"
explicit_into_iter_loop = "allow"
explicit_iter_loop = "allow"
filter_map_next = "allow"
fn_params_excessive_bools = "allow"
from_iter_instead_of_collect = "allow"
if_not_else = "allow"
ignored_unit_patterns = "allow"
implicit_clone = "allow"
inconsistent_struct_constructor = "allow"
inefficient_to_string = "allow"
inline_always = "allow"
items_after_statements = "allow"
iter_not_returning_iterator = "allow"
iter_without_into_iter = "allow"
manual_assert = "allow"
manual_is_variant_and = "allow"
manual_let_else = "allow"
manual_string_new = "allow"
many_single_char_names = "allow"
match_bool = "allow"
match_same_arms = "allow"
match_wild_err_arm = "allow"
match_wildcard_for_single_variants = "allow"
missing_errors_doc = "allow"
missing_panics_doc = "allow"
module_name_repetitions = "allow"
must_use_candidate = "allow"
mut_mut = "allow"
naive_bytecount = "allow"
needless_for_each = "allow"
needless_pass_by_value = "allow"
needless_raw_string_hashes = "allow"
no_effect_underscore_binding = "allow"
option_option = "allow"
range_plus_one = "allow"
redundant_else = "allow"
return_self_not_must_use = "allow"
should_panic_without_expect = "allow"
similar_names = "allow"
single_match_else = "allow"
stable_sort_primitive = "allow"
struct_excessive_bools = "allow"
struct_field_names = "allow"
too_long_first_doc_paragraph = "allow"
too_many_lines = "allow"
transmute_ptr_to_ptr = "allow"
trivially_copy_pass_by_ref = "allow"
unnecessary_join = "allow"
unnecessary_wraps = "allow"
unreadable_literal = "allow"
unused_self = "allow"
used_underscore_binding = "allow"
wildcard_imports = "allow"

[lints.clippy.pedantic]
level = "warn"
priority = -1

[lints.rust]

[package]
authors = ["Sebastian Thiel <sebastian.thiel@icloud.com>"]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = false
description = "Interact with git repositories just like git would"
edition = "2021"
include = ["src/**/*", "LICENSE-*"]
license = "MIT OR Apache-2.0"
name = "gix"
readme = false
repository = "https://github.com/GitoxideLabs/gitoxide"
rust-version = "1.65"
version = "0.67.0"

[package.metadata.docs.rs]
features = ["document-features", "max-performance", "blocking-network-client", "blocking-http-transport-curl", "need-more-recent-msrv", "serde"]