##// END OF EJS Templates
rust-dirstate: rust implementation of dirstatemap...
rust-dirstate: rust implementation of dirstatemap The `dirstatemap` is one of the last building blocks needed to get to a `dirstate.walk` Rust implementation. Disclaimer: This change is part of a big (10) series of patches, all of which started as one big changeset that took a long time to write. This `dirstatemap` implementation is a compromise in terms of complexity both for me and for the reviewers. I chose to submit this patch right now because while it is not perfect, it works and is simple enough (IMHO) to be reviewed. The Python implementation uses a lot of lazy propertycaches, breaks encapsulation and is used as an iterator in a lot of places, all of which dictated the somewhat unidiomatic patterns in this change. Like written in the comments, rewriting this struct to use the typestate pattern might be a good idea, but this is a good first step. Differential Revision: https://phab.mercurial-scm.org/D6632

File last commit:

r40013:74da9d99 default
r42998:fce6dc93 default
Show More
lib.rs
23 lines | 535 B | application/rls-services+xml | RustLexer
// Copyright 2018 Yuya Nishihara <yuya@tcha.org>
//
// This software may be used and distributed according to the terms of the
// GNU General Public License version 2 or any later version.
extern crate bytes;
#[macro_use]
extern crate futures;
extern crate libc;
extern crate tokio;
extern crate tokio_hglib;
extern crate tokio_process;
mod attachio;
mod clientext;
pub mod locator;
pub mod message;
pub mod procutil;
mod runcommand;
mod uihandler;
pub use clientext::ChgClientExt;
pub use uihandler::{ChgUiHandler, SystemHandler};