[package]
name = "gitgrip"
version = "0.17.1"
edition = "2021"
rust-version = "1.80"
description = "Multi-repo workflow tool - manage multiple git repositories as one"
license = "MIT"
authors = ["Layne Penney"]
repository = "https://github.com/laynepenney/gitgrip"
homepage = "https://github.com/laynepenney/gitgrip"
documentation = "https://docs.rs/gitgrip"
readme = "README.md"
keywords = ["git", "monorepo", "workflow", "multi-repo", "cli"]
categories = ["development-tools", "command-line-utilities"]
[[bin]]
name = "gr"
path = "src/main.rs"
[[bin]]
name = "gitgrip"
path = "src/main.rs"
[lib]
name = "gitgrip"
path = "src/lib.rs"
[features]
default = ["telemetry"]
gitoxide = ["gix"]
integration-tests = []
telemetry = []
release-logs = ["tracing/release_max_level_info"]
max-perf = ["tracing/max_level_off"]
[dependencies]
tokio = { version = "1", features = ["rt-multi-thread", "macros", "process", "time"] }
async-trait = "0.1"
clap = { version = "4", features = ["derive", "env"] }
colored = "2"
indicatif = "0.17"
dialoguer = "0.11"
serde = { version = "1", features = ["derive"] }
serde_json = "1"
serde_yaml = "0.9"
reqwest = { version = "0.12", features = ["json"] }
git2 = "0.19"
gix = { version = "0.68", default-features = false, features = ["blocking-network-client", "blocking-http-transport-reqwest-rust-tls"], optional = true }
octocrab = { version = "0.41", features = ["rustls-webpki-tokio"] }
anyhow = "1"
thiserror = "1"
chrono = { version = "0.4", features = ["serde"] }
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
quick-xml = { version = "0.37", features = ["serialize"] }
once_cell = "1"
regex = "1"
url = "2"
urlencoding = "2"
base64 = "0.22"
futures = "0.3"
which = "7"
clap_complete = "4.5.65"
[dev-dependencies]
tempfile = "3"
tokio-test = "0.4"
wiremock = "0.6"
assert_cmd = "2"
predicates = "3"
criterion = { version = "0.5", features = ["html_reports"] }
[[bench]]
name = "benchmarks"
harness = false
[profile.release]
lto = true
codegen-units = 1
strip = true