pub struct DefaultMutableIndex(/* private fields */);
Expand description
In-memory mutable records for the on-disk commit index backend.
Trait Implementations§
Source§impl AsCompositeIndex for DefaultMutableIndex
impl AsCompositeIndex for DefaultMutableIndex
Source§fn as_composite(&self) -> &CompositeIndex
fn as_composite(&self) -> &CompositeIndex
Returns reference wrapper that provides global access to this index.
Source§impl Index for DefaultMutableIndex
impl Index for DefaultMutableIndex
Source§fn shortest_unique_commit_id_prefix_len(&self, commit_id: &CommitId) -> usize
fn shortest_unique_commit_id_prefix_len(&self, commit_id: &CommitId) -> usize
Returns the minimum prefix length to disambiguate
commit_id
from other
commits in the index. The length returned is the number of hexadecimal
digits in the minimum prefix. Read moreSource§fn resolve_commit_id_prefix(
&self,
prefix: &HexPrefix,
) -> PrefixResolution<CommitId>
fn resolve_commit_id_prefix( &self, prefix: &HexPrefix, ) -> PrefixResolution<CommitId>
Searches the index for commit IDs matching
prefix
. Returns a
PrefixResolution
with a CommitId
if the prefix matches a single
commit.Source§fn has_id(&self, commit_id: &CommitId) -> bool
fn has_id(&self, commit_id: &CommitId) -> bool
Returns true if
commit_id
is present in the index.Source§fn is_ancestor(&self, ancestor_id: &CommitId, descendant_id: &CommitId) -> bool
fn is_ancestor(&self, ancestor_id: &CommitId, descendant_id: &CommitId) -> bool
Returns true if
ancestor_id
commit is an ancestor of the
descendant_id
commit, or if ancestor_id
equals descendant_id
.Source§fn common_ancestors(
&self,
set1: &[CommitId],
set2: &[CommitId],
) -> Vec<CommitId>
fn common_ancestors( &self, set1: &[CommitId], set2: &[CommitId], ) -> Vec<CommitId>
Returns the best common ancestor or ancestors of the commits in
set1
and set2
. A “best common ancestor” has no descendants that are also
common ancestors.Source§fn all_heads_for_gc(
&self,
) -> Result<Box<dyn Iterator<Item = CommitId> + '_>, AllHeadsForGcUnsupported>
fn all_heads_for_gc( &self, ) -> Result<Box<dyn Iterator<Item = CommitId> + '_>, AllHeadsForGcUnsupported>
Heads among all indexed commits at the associated operation. Read more
Source§fn heads(
&self,
candidates: &mut dyn Iterator<Item = &CommitId>,
) -> Result<Vec<CommitId>, IndexError>
fn heads( &self, candidates: &mut dyn Iterator<Item = &CommitId>, ) -> Result<Vec<CommitId>, IndexError>
Returns the subset of commit IDs in
candidates
which are not ancestors
of other commits in candidates
. If a commit id is duplicated in the
candidates
list it will appear at most once in the output.Source§fn evaluate_revset<'index>(
&'index self,
expression: &ResolvedExpression,
store: &Arc<Store>,
) -> Result<Box<dyn Revset + 'index>, RevsetEvaluationError>
fn evaluate_revset<'index>( &'index self, expression: &ResolvedExpression, store: &Arc<Store>, ) -> Result<Box<dyn Revset + 'index>, RevsetEvaluationError>
Resolves the revset
expression
against the index and corresponding
store
.Source§impl MutableIndex for DefaultMutableIndex
impl MutableIndex for DefaultMutableIndex
fn as_any(&self) -> &dyn Any
fn into_any(self: Box<Self>) -> Box<dyn Any>
fn as_index(&self) -> &dyn Index
fn change_id_index( &self, heads: &mut dyn Iterator<Item = &CommitId>, ) -> Box<dyn ChangeIdIndex + '_>
fn add_commit(&mut self, commit: &Commit)
fn merge_in(&mut self, other: &dyn ReadonlyIndex)
Auto Trait Implementations§
impl Freeze for DefaultMutableIndex
impl RefUnwindSafe for DefaultMutableIndex
impl Send for DefaultMutableIndex
impl Sync for DefaultMutableIndex
impl Unpin for DefaultMutableIndex
impl UnwindSafe for DefaultMutableIndex
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more