annotate 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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
40271
dbc28c91f7ff rust: pure Rust lazyancestors iterator
Georges Racinet <gracinet@anybox.fr>
parents:
diff changeset
1 [package]
dbc28c91f7ff rust: pure Rust lazyancestors iterator
Georges Racinet <gracinet@anybox.fr>
parents:
diff changeset
2 name = "hg-core"
dbc28c91f7ff rust: pure Rust lazyancestors iterator
Georges Racinet <gracinet@anybox.fr>
parents:
diff changeset
3 version = "0.1.0"
dbc28c91f7ff rust: pure Rust lazyancestors iterator
Georges Racinet <gracinet@anybox.fr>
parents:
diff changeset
4 authors = ["Georges Racinet <gracinet@anybox.fr>"]
dbc28c91f7ff rust: pure Rust lazyancestors iterator
Georges Racinet <gracinet@anybox.fr>
parents:
diff changeset
5 description = "Mercurial pure Rust core library, with no assumption on Python bindings (FFI)"
42609
326fdce22fb2 rust: switch hg-core and hg-cpython to rust 2018 edition
Raphaël Gomès <rgomes@octobus.net>
parents: 42331
diff changeset
6 edition = "2018"
40271
dbc28c91f7ff rust: pure Rust lazyancestors iterator
Georges Racinet <gracinet@anybox.fr>
parents:
diff changeset
7
dbc28c91f7ff rust: pure Rust lazyancestors iterator
Georges Racinet <gracinet@anybox.fr>
parents:
diff changeset
8 [lib]
dbc28c91f7ff rust: pure Rust lazyancestors iterator
Georges Racinet <gracinet@anybox.fr>
parents:
diff changeset
9 name = "hg"
41692
ee7b7bd432a1 rust: translated random test of missingancestors
Georges Racinet <gracinet@anybox.fr>
parents: 40271
diff changeset
10
42302
d1786c1d34fa rust-dirstate: add rust implementation of `parse_dirstate` and `pack_dirstate`
Raphaël Gomès <rgomes@octobus.net>
parents: 41692
diff changeset
11 [dependencies]
44599
d31d1c0685be rust: update all dependencies
Raphaël Gomès <rgomes@octobus.net>
parents: 44598
diff changeset
12 byteorder = "1.3.4"
d31d1c0685be rust: update all dependencies
Raphaël Gomès <rgomes@octobus.net>
parents: 44598
diff changeset
13 hex = "0.4.2"
d31d1c0685be rust: update all dependencies
Raphaël Gomès <rgomes@octobus.net>
parents: 44598
diff changeset
14 lazy_static = "1.4.0"
d31d1c0685be rust: update all dependencies
Raphaël Gomès <rgomes@octobus.net>
parents: 44598
diff changeset
15 memchr = "2.3.3"
d31d1c0685be rust: update all dependencies
Raphaël Gomès <rgomes@octobus.net>
parents: 44598
diff changeset
16 rand = "0.7.3"
d31d1c0685be rust: update all dependencies
Raphaël Gomès <rgomes@octobus.net>
parents: 44598
diff changeset
17 rand_pcg = "0.2.1"
d31d1c0685be rust: update all dependencies
Raphaël Gomès <rgomes@octobus.net>
parents: 44598
diff changeset
18 rand_distr = "0.2.2"
44158
161958ebf73c rust-dependencies: update rayon
Raphaël Gomès <rgomes@octobus.net>
parents: 44143
diff changeset
19 rayon = "1.3.0"
44869
4313a0d7540d rust-dependencies: update `regex` to 1.3.9
Raphaël Gomès <rgomes@octobus.net>
parents: 44599
diff changeset
20 regex = "1.3.9"
43826
5ac243a92e37 rust-performance: introduce FastHashMap type alias for HashMap
Raphaël Gomès <rgomes@octobus.net>
parents: 43271
diff changeset
21 twox-hash = "1.5.0"
44301
4caac36c66bc rust-utils: add util for canonical path
Raphaël Gomès <rgomes@octobus.net>
parents: 44266
diff changeset
22 same-file = "1.0.6"
44539
fe7d2cf0b429 rust-status: traverse working directory in parallel
Raphaël Gomès <rgomes@octobus.net>
parents: 44386
diff changeset
23 crossbeam = "0.7.3"
44935
2093b2fc70d4 rust-dependencies: upgrade `micro-timer` dependency
Raphaël Gomès <rgomes@octobus.net>
parents: 44870
diff changeset
24 micro-timer = "0.3.0"
44540
82f51ab7a2dd rust: add logging utils
Raphaël Gomès <rgomes@octobus.net>
parents: 44539
diff changeset
25 log = "0.4.8"
45526
26c53ee51c68 hg-core: Add a limited read only `revlog` implementation
Antoine Cezar <antoine.cezar@octobus.net>
parents: 44935
diff changeset
26 memmap = "0.7.0"
26c53ee51c68 hg-core: Add a limited read only `revlog` implementation
Antoine Cezar <antoine.cezar@octobus.net>
parents: 44935
diff changeset
27 zstd = "0.5.3"
45531
b0d6309ff50c hg-core: check data integrity in `Revlog`
Antoine Cezar <antoine.cezar@octobus.net>
parents: 45526
diff changeset
28 rust-crypto = "0.2.36"
45526
26c53ee51c68 hg-core: Add a limited read only `revlog` implementation
Antoine Cezar <antoine.cezar@octobus.net>
parents: 44935
diff changeset
29
26c53ee51c68 hg-core: Add a limited read only `revlog` implementation
Antoine Cezar <antoine.cezar@octobus.net>
parents: 44935
diff changeset
30 # We don't use the `miniz-oxide` backend because its minimum Rust version is
26c53ee51c68 hg-core: Add a limited read only `revlog` implementation
Antoine Cezar <antoine.cezar@octobus.net>
parents: 44935
diff changeset
31 # `1.36`. However, this PR (https://github.com/Frommi/miniz_oxide/pull/84/files)
26c53ee51c68 hg-core: Add a limited read only `revlog` implementation
Antoine Cezar <antoine.cezar@octobus.net>
parents: 44935
diff changeset
32 # introduces a flag `no_extern_crate_alloc` to bring the requirement back down
26c53ee51c68 hg-core: Add a limited read only `revlog` implementation
Antoine Cezar <antoine.cezar@octobus.net>
parents: 44935
diff changeset
33 # to `1.34`.
26c53ee51c68 hg-core: Add a limited read only `revlog` implementation
Antoine Cezar <antoine.cezar@octobus.net>
parents: 44935
diff changeset
34 [dependencies.flate2]
26c53ee51c68 hg-core: Add a limited read only `revlog` implementation
Antoine Cezar <antoine.cezar@octobus.net>
parents: 44935
diff changeset
35 version = "1.0.16"
26c53ee51c68 hg-core: Add a limited read only `revlog` implementation
Antoine Cezar <antoine.cezar@octobus.net>
parents: 44935
diff changeset
36 features = ["zlib"]
26c53ee51c68 hg-core: Add a limited read only `revlog` implementation
Antoine Cezar <antoine.cezar@octobus.net>
parents: 44935
diff changeset
37 default-features = false
44265
c18dd48cea4a rust-pathauditor: add Rust implementation of the `pathauditor`
Raphaël Gomès <rgomes@octobus.net>
parents: 44158
diff changeset
38
c18dd48cea4a rust-pathauditor: add Rust implementation of the `pathauditor`
Raphaël Gomès <rgomes@octobus.net>
parents: 44158
diff changeset
39 [dev-dependencies]
44386
8f7c6656ac79 rust-nodemap: pure Rust example
Georges Racinet <georges.racinet@octobus.net>
parents: 44305
diff changeset
40 clap = "*"
8f7c6656ac79 rust-nodemap: pure Rust example
Georges Racinet <georges.racinet@octobus.net>
parents: 44305
diff changeset
41 pretty_assertions = "0.6.1"
44266
9ab4830e9e3d rust-hg-path: add useful methods to `HgPath`
Raphaël Gomès <rgomes@octobus.net>
parents: 44265
diff changeset
42 tempfile = "3.1.0"
45609
e604a3c03ab9 rust: introduce `dirstate-tree` cargo feature
Raphaël Gomès <rgomes@octobus.net>
parents: 45531
diff changeset
43
e604a3c03ab9 rust: introduce `dirstate-tree` cargo feature
Raphaël Gomès <rgomes@octobus.net>
parents: 45531
diff changeset
44 [features]
e604a3c03ab9 rust: introduce `dirstate-tree` cargo feature
Raphaël Gomès <rgomes@octobus.net>
parents: 45531
diff changeset
45 # Use a (still unoptimized) tree for the dirstate instead of the current flat
e604a3c03ab9 rust: introduce `dirstate-tree` cargo feature
Raphaël Gomès <rgomes@octobus.net>
parents: 45531
diff changeset
46 # dirstate. This is not yet recommended for performance reasons. A future
e604a3c03ab9 rust: introduce `dirstate-tree` cargo feature
Raphaël Gomès <rgomes@octobus.net>
parents: 45531
diff changeset
47 # version might make it the default, or make it a runtime option.
e604a3c03ab9 rust: introduce `dirstate-tree` cargo feature
Raphaël Gomès <rgomes@octobus.net>
parents: 45531
diff changeset
48 dirstate-tree = []