rust/hg-core/Cargo.toml
author Simon Sapin <simon.sapin@octobus.net>
Fri, 28 May 2021 11:48:59 +0200
changeset 47355 7138c863d0a1
parent 47127 be579775c2d9
child 47386 fad504cfc94b
permissions -rw-r--r--
dirstate-v2: Skip readdir in status based on directory mtime When calling `read_dir` during `status` and the directory is found to be eligible for caching (see code comments), write the directory’s mtime to the dirstate. The presence of a directory mtime in the dirstate is meaningful and indicates eligibility. When an eligible directory mtime is found in the dirstate and `stat()` shows that the mtime has not changed, `status` can skip calling `read_dir` again and instead rely on the names of child nodes in the dirstate tree. The `tempfile` crate is used to create a temporary file in order to use its modification time as "current time" with the same truncation as other files and directories would have in their own modification time. Differential Revision: https://phab.mercurial-scm.org/D10826
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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: 42353
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"
41703
ee7b7bd432a1 rust: translated random test of missingancestors
Georges Racinet <gracinet@anybox.fr>
parents: 40271
diff changeset
    10
42329
d1786c1d34fa rust-dirstate: add rust implementation of `parse_dirstate` and `pack_dirstate`
Raphaël Gomès <rgomes@octobus.net>
parents: 41703
diff changeset
    11
[dependencies]
47116
d6c94ca40863 dirstate-tree: Serialize to disk
Simon Sapin <simon.sapin@octobus.net>
parents: 46890
diff changeset
    12
bytes-cast = "0.2"
44606
d31d1c0685be rust: update all dependencies
Raphaël Gomès <rgomes@octobus.net>
parents: 44605
diff changeset
    13
byteorder = "1.3.4"
46503
2e2033081274 rust: replace trivial `impl From …` with `#[derive(derive_more::From)]`
Simon Sapin <simon.sapin@octobus.net>
parents: 46499
diff changeset
    14
derive_more = "0.99"
46542
2845892dd489 rust: Parse system and user configuration
Simon Sapin <simon.sapin@octobus.net>
parents: 46503
diff changeset
    15
home = "0.5"
45978
0d99778af68a copies-rust: use immutable "OrdMap" to store copies information
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 45617
diff changeset
    16
im-rc = "15.0.*"
47127
be579775c2d9 dirstate-tree: Add the new `status()` algorithm
Simon Sapin <simon.sapin@octobus.net>
parents: 47116
diff changeset
    17
itertools = "0.9"
44606
d31d1c0685be rust: update all dependencies
Raphaël Gomès <rgomes@octobus.net>
parents: 44605
diff changeset
    18
lazy_static = "1.4.0"
d31d1c0685be rust: update all dependencies
Raphaël Gomès <rgomes@octobus.net>
parents: 44605
diff changeset
    19
rand = "0.7.3"
d31d1c0685be rust: update all dependencies
Raphaël Gomès <rgomes@octobus.net>
parents: 44605
diff changeset
    20
rand_pcg = "0.2.1"
d31d1c0685be rust: update all dependencies
Raphaël Gomès <rgomes@octobus.net>
parents: 44605
diff changeset
    21
rand_distr = "0.2.2"
44238
161958ebf73c rust-dependencies: update rayon
Raphaël Gomès <rgomes@octobus.net>
parents: 44228
diff changeset
    22
rayon = "1.3.0"
44928
4313a0d7540d rust-dependencies: update `regex` to 1.3.9
Raphaël Gomès <rgomes@octobus.net>
parents: 44606
diff changeset
    23
regex = "1.3.9"
43844
5ac243a92e37 rust-performance: introduce FastHashMap type alias for HashMap
Raphaël Gomès <rgomes@octobus.net>
parents: 43271
diff changeset
    24
twox-hash = "1.5.0"
44345
4caac36c66bc rust-utils: add util for canonical path
Raphaël Gomès <rgomes@octobus.net>
parents: 44313
diff changeset
    25
same-file = "1.0.6"
47355
7138c863d0a1 dirstate-v2: Skip readdir in status based on directory mtime
Simon Sapin <simon.sapin@octobus.net>
parents: 47127
diff changeset
    26
tempfile = "3.1.0"
46058
fd47483f1645 rust: use crossbeam-channel crate directly
Simon Sapin <simon-commits@exyr.org>
parents: 45978
diff changeset
    27
crossbeam-channel = "0.4"
44976
2093b2fc70d4 rust-dependencies: upgrade `micro-timer` dependency
Raphaël Gomès <rgomes@octobus.net>
parents: 44929
diff changeset
    28
micro-timer = "0.3.0"
44550
82f51ab7a2dd rust: add logging utils
Raphaël Gomès <rgomes@octobus.net>
parents: 44549
diff changeset
    29
log = "0.4.8"
45532
26c53ee51c68 hg-core: Add a limited read only `revlog` implementation
Antoine Cezar <antoine.cezar@octobus.net>
parents: 44976
diff changeset
    30
memmap = "0.7.0"
26c53ee51c68 hg-core: Add a limited read only `revlog` implementation
Antoine Cezar <antoine.cezar@octobus.net>
parents: 44976
diff changeset
    31
zstd = "0.5.3"
45537
b0d6309ff50c hg-core: check data integrity in `Revlog`
Antoine Cezar <antoine.cezar@octobus.net>
parents: 45532
diff changeset
    32
rust-crypto = "0.2.36"
46748
12d59eec7f1d rhg: Align with Python on some more error messages
Simon Sapin <simon.sapin@octobus.net>
parents: 46633
diff changeset
    33
format-bytes = "0.2.2"
45532
26c53ee51c68 hg-core: Add a limited read only `revlog` implementation
Antoine Cezar <antoine.cezar@octobus.net>
parents: 44976
diff changeset
    34
45617
7bd13bf99d1c rust: update minimum supported Rust compiler version
Raphaël Gomès <rgomes@octobus.net>
parents: 45612
diff changeset
    35
# We don't use the `miniz-oxide` backend to not change rhg benchmarks and until
7bd13bf99d1c rust: update minimum supported Rust compiler version
Raphaël Gomès <rgomes@octobus.net>
parents: 45612
diff changeset
    36
# we have a clearer view of which backend is the fastest.
45532
26c53ee51c68 hg-core: Add a limited read only `revlog` implementation
Antoine Cezar <antoine.cezar@octobus.net>
parents: 44976
diff changeset
    37
[dependencies.flate2]
26c53ee51c68 hg-core: Add a limited read only `revlog` implementation
Antoine Cezar <antoine.cezar@octobus.net>
parents: 44976
diff changeset
    38
version = "1.0.16"
26c53ee51c68 hg-core: Add a limited read only `revlog` implementation
Antoine Cezar <antoine.cezar@octobus.net>
parents: 44976
diff changeset
    39
features = ["zlib"]
26c53ee51c68 hg-core: Add a limited read only `revlog` implementation
Antoine Cezar <antoine.cezar@octobus.net>
parents: 44976
diff changeset
    40
default-features = false
44312
c18dd48cea4a rust-pathauditor: add Rust implementation of the `pathauditor`
Raphaël Gomès <rgomes@octobus.net>
parents: 44238
diff changeset
    41
c18dd48cea4a rust-pathauditor: add Rust implementation of the `pathauditor`
Raphaël Gomès <rgomes@octobus.net>
parents: 44238
diff changeset
    42
[dev-dependencies]
44417
8f7c6656ac79 rust-nodemap: pure Rust example
Georges Racinet <georges.racinet@octobus.net>
parents: 44348
diff changeset
    43
clap = "*"
8f7c6656ac79 rust-nodemap: pure Rust example
Georges Racinet <georges.racinet@octobus.net>
parents: 44348
diff changeset
    44
pretty_assertions = "0.6.1"