[package]
name = "gitoxide"
description = "A command-line application for interacting with git repositories"
repository = "https://github.com/Byron/gitoxide"
authors = ["Sebastian Thiel <sebastian.thiel@icloud.com>"]
edition = "2021"
license = "MIT OR Apache-2.0"
version = "0.21.0"
default-run = "gix"
include = ["src/**/*", "LICENSE-*", "README.md", "CHANGELOG.md"]
resolver = "2"
[[bin]]
name = "ein"
path = "src/ein.rs"
test = false
doctest = false
[[bin]]
name = "gix"
path = "src/gix.rs"
test = false
doctest = false
[features]
default = ["max"]
fast = ["git-repository/max-performance"]
pretty-cli = [ "gitoxide-core/serde1", "prodash/progress-tree", "prodash/progress-tree-log", "prodash/local-time", "env_logger/humantime", "env_logger/color", "env_logger/auto-color" ]
prodash-render-line-crossterm = ["prodash-render-line", "prodash/render-line-crossterm", "prodash/signal-hook", "is-terminal", "crosstermion"]
max = ["fast", "pretty-cli", "http-client-curl", "gitoxide-core-tools", "gitoxide-core-blocking-client", "prodash-render-line", "prodash-render-tui", "prodash/render-line-autoconfigure", "git-repository/regex" ]
lean = ["fast", "pretty-cli", "http-client-curl", "gitoxide-core-tools", "gitoxide-core-blocking-client", "prodash-render-line" ]
lean-async = ["fast", "pretty-cli", "gitoxide-core-tools", "gitoxide-core-async-client", "prodash-render-line"]
small = ["pretty-cli", "git-features/rustsha1", "git-features/zlib-rust-backend", "prodash-render-line", "is-terminal" ]
max-pure = ["pretty-cli", "git-features/rustsha1", "git-features/zlib-rust-backend", "prodash-render-line", "prodash-render-tui", "git-repository/max-performance-safe", "http-client-reqwest", "gitoxide-core-blocking-client", "gitoxide-core-tools", "prodash/render-line-autoconfigure" ]
gitoxide-core-tools = ["gitoxide-core/organize", "gitoxide-core/estimate-hours"]
gitoxide-core-blocking-client = ["gitoxide-core/blocking-client"]
http-client-curl = ["git-repository/blocking-http-transport-curl"]
http-client-reqwest = ["git-repository/blocking-http-transport-reqwest-rust-tls"]
gitoxide-core-async-client = ["gitoxide-core/async-client", "futures-lite"]
prodash-render-tui = ["prodash/render-tui", "prodash/render-tui-crossterm", "prodash/progress-tree", "futures-lite"]
prodash-render-line = ["prodash/render-line", "prodash-render-line-crossterm", "prodash/progress-tree"]
cache-efficiency-debug = ["git-features/cache-efficiency-debug"]
[dependencies]
anyhow = "1.0.42"
gitoxide-core = { version = "^0.23.0", path = "gitoxide-core" }
git-features = { version = "^0.26.2", path = "git-features" }
git-repository = { version = "^0.34.0", path = "git-repository", default-features = false }
clap = { version = "4.1.1", features = ["derive", "cargo"] }
prodash = { version = "23.0", optional = true, default-features = false }
is-terminal = { version = "0.4.0", optional = true }
env_logger = { version = "0.10.0", default-features = false }
crosstermion = { version = "0.10.1", optional = true, default-features = false }
futures-lite = { version = "1.12.0", optional = true, default-features = false, features = ["std"] }
owo-colors = "3.5.0"
tabled = { version = "0.10.0", default-features = false }
document-features = { version = "0.2.0", optional = true }
[profile.dev.package]
git-object = { opt-level = 3 }
git-ref = { opt-level = 3 }
git-hash = { opt-level = 3 }
git-actor = { opt-level = 3 }
git-config = { opt-level = 3 }
miniz_oxide = { opt-level = 3 }
sha1 = { opt-level = 3 }
sha1_smol = { opt-level = 3 }
[profile.release]
overflow-checks = false
lto = "fat"
panic = 'unwind'
codegen-units = 1
incremental = false
build-override = { opt-level = 0 }
[workspace]
members = [
"git-actor",
"git-url",
"git-hash",
"git-validate",
"git-ref",
"git-command",
"git-config",
"git-config-value",
"git-discover",
"git-features",
"git-commitgraph",
"git-chunk",
"git-quote",
"git-object",
"git-glob",
"git-diff",
"git-date",
"git-traverse",
"git-index",
"git-bitmap",
"git-worktree",
"git-revision",
"git-packetline",
"git-mailmap",
"git-note",
"git-fetchhead",
"git-prompt",
"git-filter",
"git-sec",
"git-lfs",
"git-rebase",
"git-sequencer",
"git-submodule",
"git-transport",
"git-credentials",
"git-protocol",
"git-pack",
"git-odb",
"git-tempfile",
"git-lock",
"git-attributes",
"git-pathspec",
"git-refspec",
"git-path",
"git-repository",
"gitoxide-core",
"git-hashtable",
"git-tui",
"git-tix",
"cargo-smart-release",
"tests/tools",
"git-revision/tests",
"git-diff/tests",
"git-pack/tests",
"git-index/tests",
"git-ref/tests",
"git-config/tests",
"git-traverse/tests",
]
exclude = ["cargo-smart-release/tests/fixtures/tri-depth-workspace/a",
"cargo-smart-release/tests/fixtures/tri-depth-workspace/b",
"cargo-smart-release/tests/fixtures/tri-depth-workspace/c"]
[package.metadata.docs.rs]
features = ["document-features", "max"]
rustdoc-args = ["--cfg", "docsrs"]