[package]
name = "hg-core"
version = "0.1.0"
authors = ["Georges Racinet <gracinet@anybox.fr>"]
description = "Mercurial pure Rust core library, with no assumption on Python bindings (FFI)"
edition = "2021"

[lints]
workspace = true

[lib]
name = "hg"

[features]
full-tracing = []

[dependencies]
bitflags = "2.9.0"
bytes-cast = "0.3.0"
byteorder = "1.5.0"
ctrlc = "3.4"
derive_more = { version = "2.0.1", features = ["display", "from"] }
hashbrown = { version = "0.15.3", features = ["rayon"] }
home = "0.5.11"
im-rc = "15.1.0"
indicatif = "0.17.11"
itertools = "0.14.0"
lazy_static = "1.5.0"
libc = "0.2.172"
memchr = "2"
rand = "0.9.1"
rand_pcg = "0.9.0"
rand_distr = "0.5.1"
rayon = "1.10.0"
regex = "1.11.1"
self_cell = "1.2"
serde = { version = "1.0", features = ["derive"] }
sha-1 = "0.10.1"
twox-hash = "2.1.0"
shellexpand = { version = "3.1", features = ["full"]}
same-file = "1.0.6"
tempfile = "3.19.1"
toml = "0.8"
thread_local = "1.1.8"
crossbeam-channel = "0.5.15"
memmap2 = { version = "0.9.5", features = ["stable_deref_trait"] }
zstd = "0.13"
format-bytes = "0.3.0"
once_cell = "1.21.3"
bitvec = "1.0.1"
chrono = "0.4.41"
schnellru = "0.2.4"
dyn-clone = "1.0.19"
filetime = "0.2.25"
uuid = { version = "1.16", features = ["v4"] }
regex-automata = "0.4.9"
regex-syntax = "0.8.5"
unicode-width = "0.2.0"
bit-set = "0.8.0"
static_assertions_next = "1.1.2"
tracing = { version = "0.1.41", features = ["attributes", "log"] }
indexmap = "2.9.0"

# We don't use the `miniz-oxide` backend to not change rhg benchmarks and until
# we have a clearer view of which backend is the fastest.
[dependencies.flate2]
version = "1.1.1"
features = ["zlib"]
default-features = false

[build-dependencies]
cc = "1.2"

[dev-dependencies]
clap = { version = "4", features = ["derive"] }
pretty_assertions = "1.4.1"
