gix_revision::spec::parse::delegate

Trait Navigate

Source
pub trait Navigate {
    // Required methods
    fn traverse(&mut self, kind: Traversal) -> Option<()>;
    fn peel_until(&mut self, kind: PeelTo<'_>) -> Option<()>;
    fn find(&mut self, regex: &BStr, negated: bool) -> Option<()>;
    fn index_lookup(&mut self, path: &BStr, stage: u8) -> Option<()>;
}
Expand description

Once an anchor is set one can adjust it using traversal methods.

Required Methods§

Source

fn traverse(&mut self, kind: Traversal) -> Option<()>

Adjust the current revision to traverse the graph according to kind.

Source

fn peel_until(&mut self, kind: PeelTo<'_>) -> Option<()>

Peel the current object until it reached kind or None if the chain does not contain such object.

Source

fn find(&mut self, regex: &BStr, negated: bool) -> Option<()>

Find the first revision/commit whose message matches the given regex (which is never empty). to see how it should be matched. If negated is true, the first non-match will be a match.

If no revision is known yet, find the youngest matching commit from any reference, including HEAD. Otherwise, only find commits reachable from the currently set revision.

Source

fn index_lookup(&mut self, path: &BStr, stage: u8) -> Option<()>

Look up the given path at the given stage in the index returning its blob id, or return None if it doesn’t exist at this stage. Note that this implies no revision is needed and no anchor is set yet.

  • stage ranges from 0 to 2, with 0 being the base, 1 being ours, 2 being theirs.
  • path without prefix is relative to the root of the repository, while prefixes like ./ and ../ make it relative to the current working directory.

Implementors§