lints.workspace = true
[package]
name = "gitoxide-core"
description = "The library implementing all capabilities of the gitoxide CLI"
repository = "https://github.com/GitoxideLabs/gitoxide"
version = "0.51.0"
authors = ["Sebastian Thiel <sebastian.thiel@icloud.com>"]
license = "MIT OR Apache-2.0"
edition = "2021"
[lib]
doctest = false
test = false
[features]
default = []
organize = ["dep:gix-url", "dep:jwalk"]
estimate-hours = ["dep:fs-err", "dep:crossbeam-channel", "dep:smallvec"]
query = ["dep:rusqlite"]
corpus = ["dep:rusqlite", "dep:sysinfo", "organize", "dep:crossbeam-channel", "dep:serde_json", "dep:tracing-forest", "dep:tracing-subscriber", "tracing", "dep:parking_lot"]
archive = ["dep:gix-archive-for-configuration-only", "gix/worktree-archive"]
clean = ["gix/dirwalk"]
blocking-client = ["gix/blocking-network-client"]
async-client = ["gix/async-network-client-async-std", "gix-transport-configuration-only/async-std", "async-trait", "futures-io", "async-net", "async-io", "futures-lite", "blocking"]
serde = ["gix/serde", "dep:serde_json", "dep:serde", "bytesize/serde"]
[dependencies]
gix = { version = "^0.76.0", path = "../gix", default-features = false, features = ["merge", "blob-diff", "blame", "revision", "mailmap", "excludes", "attributes", "worktree-mutation", "credentials", "interrupt", "status", "dirwalk"] }
gix-pack-for-configuration-only = { package = "gix-pack", version = "^0.63.0", path = "../gix-pack", default-features = false, features = ["pack-cache-lru-dynamic", "pack-cache-lru-static", "generate", "streaming-input"] }
gix-transport-configuration-only = { package = "gix-transport", version = "^0.51.0", path = "../gix-transport", default-features = false }
gix-archive-for-configuration-only = { package = "gix-archive", version = "^0.25.0", path = "../gix-archive", optional = true, features = ["tar", "tar_gz"] }
gix-status = { version = "^0.23.0", path = "../gix-status" }
gix-fsck = { version = "^0.15.0", path = "../gix-fsck" }
serde = { version = "1.0.114", optional = true, default-features = false, features = ["derive"] }
anyhow = "1.0.100"
thiserror = "2.0.17"
bytesize = "2.3.1"
tempfile = "3.23.0"
async-trait = { version = "0.1.51", optional = true }
async-net = { version = "2.0", optional = true }
futures-lite = { version = "2.1.0", optional = true }
async-io = { version = "2.6", optional = true }
futures-io = { version = "0.3.16", optional = true }
blocking = { version = "1.6.2", optional = true }
gix-url = { version = "^0.34.0", path = "../gix-url", optional = true }
jwalk = { version = "0.8.0", optional = true }
fs-err = { version = "3.1.2", optional = true }
crossbeam-channel = { version = "0.5.15", optional = true }
smallvec = { version = "1.15.1", optional = true }
rusqlite = { version = "0.37.0", optional = true, features = ["bundled"] }
parking_lot = { version = "0.12.4", optional = true }
sysinfo = { version = "0.37.2", optional = true, default-features = false, features = ["system"] }
serde_json = { version = "1.0.145", optional = true }
tracing-forest = { version = "0.2.0", features = ["serde"], optional = true }
tracing-subscriber = { version = "0.3.22", optional = true }
tracing = { version = "0.1.43", optional = true }
layout-rs = "0.1.3"
open = "5.0.0"
document-features = { version = "0.2.0", optional = true }
[package.metadata.docs.rs]
features = ["document-features", "blocking-client", "organize", "estimate-hours", "serde"]