libvctrl 0.5.0

A robust, content-addressed version control engine for arbitrary data, designed for embedding into applications.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
use crate::error::VctrlError;
use crate::storage::traits::{ObjectStore, RefStore};

pub trait Transport {
    fn fetch(
        &mut self,
        store: &mut dyn ObjectStore,
        want: &[crate::domain::hash::Hash],
    ) -> Result<(), VctrlError>;
    fn push(
        &mut self,
        store: &dyn ObjectStore,
        refs: &dyn RefStore,
        ref_names: &[String],
    ) -> Result<(), VctrlError>;
}