libvctrl_handler 5.2.0

Fundamental contracts for building a version control system – no implementations, only traits and types
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
use crate::errors::VctrlError;

pub type RevWalkIterator<'a, T> = Box<dyn Iterator<Item = Result<T, VctrlError>> + Send + 'a>;

pub trait RevWalk: Send + Sync {
    type CommitId: Send + Sync;

    fn walk(
        &self,
        start: &Self::CommitId,
    ) -> Result<RevWalkIterator<'_, Self::CommitId>, VctrlError>;
}