##// END OF EJS Templates
dirstate-tree: Add tree traversal/iteration...
dirstate-tree: Add tree traversal/iteration Like Python’s, Rust’s iterators are "external" in that they are driven by a caller who calls a `next` method. This is as opposed to "internal" iterators who drive themselves and call a callback for each item. Writing an internal iterator traversing a tree is easy with recursion, but internal iterators cannot rely on the call stack in that way, they must save in an explicit object all state that they need to be preserved across two `next` calls. This algorithm uses a `Vec` as a stack that contains what would be local variables on the call stack if we could use recursion. Differential Revision: https://phab.mercurial-scm.org/D10370

File last commit:

r47652:441024b2 default
r47870:caa3031c default
Show More
Cargo.toml
43 lines | 924 B | text/plain | TOMLLexer
Georges Racinet
rust: pure Rust lazyancestors iterator...
r40307 [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)"
Raphaël Gomès
rust: switch hg-core and hg-cpython to rust 2018 edition...
r42828 edition = "2018"
Georges Racinet
rust: pure Rust lazyancestors iterator...
r40307
[lib]
name = "hg"
Georges Racinet
rust: translated random test of missingancestors...
r41841
Raphaël Gomès
rust-dirstate: add rust implementation of `parse_dirstate` and `pack_dirstate`...
r42488 [dependencies]
Simon Sapin
rust: use the bytes-cast crate to parse persistent nodemaps...
r47119 bytes-cast = "0.1"
Raphaël Gomès
rust: update all dependencies...
r45090 byteorder = "1.3.4"
Simon Sapin
rust: replace trivial `impl From …` with `#[derive(derive_more::From)]`...
r47164 derive_more = "0.99"
Simon Sapin
rust: Parse system and user configuration...
r47212 home = "0.5"
copies-rust: use immutable "OrdMap" to store copies information...
r46577 im-rc = "15.0.*"
Raphaël Gomès
rust: update all dependencies...
r45090 lazy_static = "1.4.0"
rand = "0.7.3"
rand_pcg = "0.2.1"
rand_distr = "0.2.2"
Raphaël Gomès
rust-dependencies: update rayon...
r44618 rayon = "1.3.0"
Raphaël Gomès
rust-dependencies: update `regex` to 1.3.9...
r45405 regex = "1.3.9"
Raphaël Gomès
rust-performance: introduce FastHashMap type alias for HashMap...
r44278 twox-hash = "1.5.0"
Raphaël Gomès
rust-utils: add util for canonical path...
r44783 same-file = "1.0.6"
Simon Sapin
rust: use crossbeam-channel crate directly...
r46669 crossbeam-channel = "0.4"
Raphaël Gomès
rust-dependencies: upgrade `micro-timer` dependency...
r45461 micro-timer = "0.3.0"
Raphaël Gomès
rust: add logging utils...
r45027 log = "0.4.8"
Antoine Cezar
hg-core: Add a limited read only `revlog` implementation...
r46097 memmap = "0.7.0"
zstd = "0.5.3"
Antoine Cezar
hg-core: check data integrity in `Revlog`...
r46102 rust-crypto = "0.2.36"
Simon Sapin
rhg: Align with Python on some more error messages...
r47469 format-bytes = "0.2.2"
Antoine Cezar
hg-core: Add a limited read only `revlog` implementation...
r46097
Raphaël Gomès
rust: update minimum supported Rust compiler version...
r46189 # 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.
Antoine Cezar
hg-core: Add a limited read only `revlog` implementation...
r46097 [dependencies.flate2]
version = "1.0.16"
features = ["zlib"]
default-features = false
Raphaël Gomès
rust-pathauditor: add Rust implementation of the `pathauditor`...
r44737
[dev-dependencies]
Georges Racinet
rust-nodemap: pure Rust example...
r44870 clap = "*"
pretty_assertions = "0.6.1"
Raphaël Gomès
rust-hg-path: add useful methods to `HgPath`...
r44738 tempfile = "3.1.0"