Mercurial > hg
view rust/hg-core/src/dirstate.rs @ 50521:f697af015683
stream-clone: bail-out earlier if pull is partial
The `canperformstreamclone` function is bit messy. However it seems clearer to
me to process the very generic condition about "can we consider a stream-clone
at all", before checking if a stream-clone is requested and if a compatible
protocol can be negotiated with the server.
So I am doing some gratuitous movement so reorder conditional.
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Sat, 20 May 2023 01:19:26 +0200 |
parents | e98fd81bb151 |
children | db065b33fa56 |
line wrap: on
line source
// 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. use crate::dirstate_tree::on_disk::DirstateV2ParseError; use crate::revlog::node::NULL_NODE; use crate::revlog::Node; use crate::utils::hg_path::HgPath; use bytes_cast::BytesCast; pub mod dirs_multiset; pub mod entry; pub mod parsers; pub mod status; pub use self::entry::*; #[derive(Debug, PartialEq, Copy, Clone, BytesCast)] #[repr(C)] pub struct DirstateParents { pub p1: Node, pub p2: Node, } impl DirstateParents { pub const NULL: Self = Self { p1: NULL_NODE, p2: NULL_NODE, }; pub fn is_merge(&self) -> bool { !(self.p2 == NULL_NODE) } } pub type StateMapIter<'a> = Box< dyn Iterator< Item = Result<(&'a HgPath, DirstateEntry), DirstateV2ParseError>, > + Send + 'a, >; pub type CopyMapIter<'a> = Box< dyn Iterator<Item = Result<(&'a HgPath, &'a HgPath), DirstateV2ParseError>> + Send + 'a, >;