pub trait Index: Send + Sync {
// Required methods
fn shortest_unique_commit_id_prefix_len(
&self,
commit_id: &CommitId
) -> usize;
fn resolve_commit_id_prefix(
&self,
prefix: &HexPrefix
) -> PrefixResolution<CommitId>;
fn has_id(&self, commit_id: &CommitId) -> bool;
fn is_ancestor(
&self,
ancestor_id: &CommitId,
descendant_id: &CommitId
) -> bool;
fn common_ancestors(
&self,
set1: &[CommitId],
set2: &[CommitId]
) -> Vec<CommitId>;
fn heads(
&self,
candidates: &mut dyn Iterator<Item = &CommitId>
) -> Vec<CommitId>;
fn topo_order(
&self,
input: &mut dyn Iterator<Item = &CommitId>
) -> Vec<CommitId>;
fn evaluate_revset<'index>(
&'index self,
expression: &ResolvedExpression,
store: &Arc<Store>
) -> Result<Box<dyn Revset<'index> + 'index>, RevsetEvaluationError>;
}
Required Methods§
fn shortest_unique_commit_id_prefix_len(&self, commit_id: &CommitId) -> usize
fn resolve_commit_id_prefix( &self, prefix: &HexPrefix ) -> PrefixResolution<CommitId>
fn has_id(&self, commit_id: &CommitId) -> bool
fn is_ancestor(&self, ancestor_id: &CommitId, descendant_id: &CommitId) -> bool
fn common_ancestors( &self, set1: &[CommitId], set2: &[CommitId] ) -> Vec<CommitId>
fn heads( &self, candidates: &mut dyn Iterator<Item = &CommitId> ) -> Vec<CommitId>
sourcefn topo_order(
&self,
input: &mut dyn Iterator<Item = &CommitId>
) -> Vec<CommitId>
fn topo_order( &self, input: &mut dyn Iterator<Item = &CommitId> ) -> Vec<CommitId>
Parents before children