view rust/hg-core/Cargo.toml @ 45609:e604a3c03ab9

rust: introduce `dirstate-tree` cargo feature This feature gates (at compile-time) the use of the newly-added dirstate tree. The motivation for this is that the dirstate tree is currently *very* slow; replacing the current hashmap-based dirstate is not a viable solution in terms of performance... and why would you be using the Rust implementation if not for performance? The feature will also help reviewers better understand the differences that will slowly appear as the dirstate tree gets better. Differential Revision: https://phab.mercurial-scm.org/D9132
author Raphaël Gomès <rgomes@octobus.net>
date Wed, 30 Sep 2020 18:10:53 +0200
parents b0d6309ff50c
children 7bd13bf99d1c
line wrap: on
line source

[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 = "2018"

[lib]
name = "hg"

[dependencies]
byteorder = "1.3.4"
hex = "0.4.2"
lazy_static = "1.4.0"
memchr = "2.3.3"
rand = "0.7.3"
rand_pcg = "0.2.1"
rand_distr = "0.2.2"
rayon = "1.3.0"
regex = "1.3.9"
twox-hash = "1.5.0"
same-file = "1.0.6"
crossbeam = "0.7.3"
micro-timer = "0.3.0"
log = "0.4.8"
memmap = "0.7.0"
zstd = "0.5.3"
rust-crypto = "0.2.36"

# We don't use the `miniz-oxide` backend because its minimum Rust version is
# `1.36`. However, this PR (https://github.com/Frommi/miniz_oxide/pull/84/files)
# introduces a flag `no_extern_crate_alloc` to bring the requirement back down
# to `1.34`.
[dependencies.flate2]
version = "1.0.16"
features = ["zlib"]
default-features = false

[dev-dependencies]
clap = "*"
pretty_assertions = "0.6.1"
tempfile = "3.1.0"

[features]
# Use a (still unoptimized) tree for the dirstate instead of the current flat
# dirstate. This is not yet recommended for performance reasons. A future
# version might make it the default, or make it a runtime option.
dirstate-tree = []