dirstate.rs
50 lines
| 1.1 KiB
| application/rls-services+xml
|
RustLexer
Raphaël Gomès
|
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
|
r48126 | use crate::dirstate_tree::on_disk::DirstateV2ParseError; | ||
Simon Sapin
|
r48165 | use crate::revlog::node::NULL_NODE; | ||
Simon Sapin
|
r47337 | use crate::revlog::Node; | ||
Simon Sapin
|
r48882 | use crate::utils::hg_path::HgPath; | ||
Simon Sapin
|
r48830 | use bytes_cast::BytesCast; | ||
Raphaël Gomès
|
r42993 | |||
Raphaël Gomès
|
r42828 | pub mod dirs_multiset; | ||
Simon Sapin
|
r48830 | pub mod entry; | ||
Raphaël Gomès
|
r42828 | pub mod parsers; | ||
Raphaël Gomès
|
r43565 | pub mod status; | ||
Raphaël Gomès
|
r42828 | |||
Simon Sapin
|
r48830 | pub use self::entry::*; | ||
Simon Sapin
|
r48768 | #[derive(Debug, PartialEq, Copy, Clone, BytesCast)] | ||
Simon Sapin
|
r47336 | #[repr(C)] | ||
Raphaël Gomès
|
r42993 | pub struct DirstateParents { | ||
Simon Sapin
|
r47337 | pub p1: Node, | ||
pub p2: Node, | ||||
Raphaël Gomès
|
r42828 | } | ||
Simon Sapin
|
r48165 | impl DirstateParents { | ||
pub const NULL: Self = Self { | ||||
p1: NULL_NODE, | ||||
p2: NULL_NODE, | ||||
}; | ||||
Arseniy Alekseyev
|
r50334 | |||
pub fn is_merge(&self) -> bool { | ||||
return !(self.p2 == NULL_NODE); | ||||
} | ||||
Simon Sapin
|
r48165 | } | ||
Simon Sapin
|
r48126 | pub type StateMapIter<'a> = Box< | ||
dyn Iterator< | ||||
Item = Result<(&'a HgPath, DirstateEntry), DirstateV2ParseError>, | ||||
> + Send | ||||
+ 'a, | ||||
>; | ||||
Raphaël Gomès
|
r46185 | |||
Simon Sapin
|
r48126 | pub type CopyMapIter<'a> = Box< | ||
dyn Iterator<Item = Result<(&'a HgPath, &'a HgPath), DirstateV2ParseError>> | ||||
+ Send | ||||
+ 'a, | ||||
>; | ||||