pub trait Index {
Show 13 methods
// Required methods
fn num_commits(&self) -> u32;
fn stats(&self) -> IndexStats;
fn commit_id_to_pos(&self, commit_id: &CommitId) -> Option<IndexPosition>;
fn shortest_unique_commit_id_prefix_len(
&self,
commit_id: &CommitId
) -> usize;
fn resolve_prefix(&self, prefix: &HexPrefix) -> PrefixResolution<CommitId>;
fn entry_by_id(&self, commit_id: &CommitId) -> Option<IndexEntry<'_>>;
fn entry_by_pos(&self, pos: IndexPosition) -> IndexEntry<'_>;
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 walk_revs(
&self,
wanted: &[CommitId],
unwanted: &[CommitId]
) -> RevWalk<'_> ⓘ;
fn heads(
&self,
candidates: &mut dyn Iterator<Item = &CommitId>
) -> Vec<CommitId>;
fn topo_order(
&self,
input: &mut dyn Iterator<Item = &CommitId>
) -> Vec<IndexEntry<'_>>;
}