##// END OF EJS Templates
rust-dirstate-v2: don't write dirstate if data file has changed...
rust-dirstate-v2: don't write dirstate if data file has changed This fixes the following race: - process A reads the dirstate - process B reads and writes the dirstate - process A writes the dirstate This either resulted in losing what process B had just written or a crash because the `uuid` had changed and we were trying to write to a file that doesn't exist. More explanations inside. This doesn't fix the issue for dirstate-v1, a later patch addresses it.

File last commit:

r51069:596a6b9b merge default
r51139:07d030b3 stable
Show More
Cargo.toml
52 lines | 1.2 KiB | text/plain | TOMLLexer
[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]
bitflags = "1.3.2"
bytes-cast = "0.2.0"
byteorder = "1.4.3"
derive_more = "0.99.17"
hashbrown = { version = "0.9.1", features = ["rayon"] }
home = "0.5.3"
im-rc = "15.0"
itertools = "0.10.3"
lazy_static = "1.4.0"
libc = "0.2"
ouroboros = "0.15.0"
rand = "0.8.4"
rand_pcg = "0.3.1"
rand_distr = "0.4.3"
rayon = "1.6.1"
regex = "1.5.5"
sha-1 = "0.10.0"
twox-hash = "1.6.2"
same-file = "1.0.6"
tempfile = "3.1.0"
thread_local = "1.1.4"
crossbeam-channel = "0.5.0"
micro-timer = "0.4.0"
log = "0.4.8"
memmap2 = { version = "0.5.3", features = ["stable_deref_trait"] }
zstd = "0.5.3"
format-bytes = "0.3.0"
# once_cell 1.15 uses edition 2021, while the heptapod CI
# uses an old version of Cargo that doesn't support it.
once_cell = "1.14.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.0.22"
features = ["zlib"]
default-features = false
[dev-dependencies]
clap = "2.34.0"
pretty_assertions = "1.1.0"