##// END OF EJS Templates
dirstate-v2: freeze the on-disk format...
dirstate-v2: freeze the on-disk format It seems the format as reached a good balance. With a core of new capabilities that motivated it initially and enough new feature and room for future improvement to be a clear progress we can set a milestone for. Having the format frozen will help the feature to get real life testing, outside of the test suite. The feature itself stay experimental but the config gains a new name to avoid people enable non-frozen version by default. If too many bugs are reported during the RC we might move the format back to experimental and drop its support in future version (in favor of a new one) Differential Revision: https://phab.mercurial-scm.org/D11709

File last commit:

r48882:bf8837e3 default
r49116:bf11ff22 default
Show More
dirstate.rs
46 lines | 1.0 KiB | application/rls-services+xml | RustLexer
Raphaël Gomès
rust-parsers: switch to parse/pack_dirstate to mutate-on-loop...
r42993 // dirstate module
//
// Copyright 2019 Raphaël Gomès <rgomes@octobus.net>
//
// This software may be used and distributed according to the terms of the
// GNU General Public License version 2 or any later version.
Simon Sapin
dirstate-v2: Make more APIs fallible, returning Result...
r48126 use crate::dirstate_tree::on_disk::DirstateV2ParseError;
Simon Sapin
rhg: Add support for dirstate-v2...
r48165 use crate::revlog::node::NULL_NODE;
Simon Sapin
rust: Make `DirstateParents`’s fields typed `Node`s...
r47337 use crate::revlog::Node;
Simon Sapin
dirstate: Remove the flat Rust DirstateMap implementation...
r48882 use crate::utils::hg_path::HgPath;
Simon Sapin
rust: Move DirstateEntry to its own module...
r48830 use bytes_cast::BytesCast;
Raphaël Gomès
rust-parsers: switch to parse/pack_dirstate to mutate-on-loop...
r42993
Raphaël Gomès
rust: switch hg-core and hg-cpython to rust 2018 edition...
r42828 pub mod dirs_multiset;
Simon Sapin
rust: Move DirstateEntry to its own module...
r48830 pub mod entry;
Raphaël Gomès
rust: switch hg-core and hg-cpython to rust 2018 edition...
r42828 pub mod parsers;
Raphaël Gomès
rust-dirstate-status: add first Rust implementation of `dirstate.status`...
r43565 pub mod status;
Raphaël Gomès
rust: switch hg-core and hg-cpython to rust 2018 edition...
r42828
Simon Sapin
rust: Move DirstateEntry to its own module...
r48830 pub use self::entry::*;
Simon Sapin
rust: Add Repo::dirstate_map and use it in `rhg status`...
r48768 #[derive(Debug, PartialEq, Copy, Clone, BytesCast)]
Simon Sapin
rust: Rewrite dirstate parsing usin the `bytes-cast` crate...
r47336 #[repr(C)]
Raphaël Gomès
rust-parsers: switch to parse/pack_dirstate to mutate-on-loop...
r42993 pub struct DirstateParents {
Simon Sapin
rust: Make `DirstateParents`’s fields typed `Node`s...
r47337 pub p1: Node,
pub p2: Node,
Raphaël Gomès
rust: switch hg-core and hg-cpython to rust 2018 edition...
r42828 }
Simon Sapin
rhg: Add support for dirstate-v2...
r48165 impl DirstateParents {
pub const NULL: Self = Self {
p1: NULL_NODE,
p2: NULL_NODE,
};
}
Simon Sapin
dirstate-v2: Make more APIs fallible, returning Result...
r48126 pub type StateMapIter<'a> = Box<
dyn Iterator<
Item = Result<(&'a HgPath, DirstateEntry), DirstateV2ParseError>,
> + Send
+ 'a,
>;
Raphaël Gomès
rust: start plugging the dirstate tree behind a feature gate...
r46185
Simon Sapin
dirstate-v2: Make more APIs fallible, returning Result...
r48126 pub type CopyMapIter<'a> = Box<
dyn Iterator<Item = Result<(&'a HgPath, &'a HgPath), DirstateV2ParseError>>
+ Send
+ 'a,
>;