[][src]Trait radicle_surf::vcs::VCS

pub trait VCS<A, Error> {
    type HistoryId;
    type ArtefactId;
    fn get_history(
        &self,
        identifier: Self::HistoryId
    ) -> Result<History<A>, Error>;
fn get_histories(&self) -> Result<Vec<History<A>>, Error>;
fn get_identifier(artefact: &A) -> Self::ArtefactId; }

The VCS trait encapsulates the minimal amount of information for interacting with some notion of History from a given Version-Control-System.

Associated Types

type HistoryId

The way to identify a History.

type ArtefactId

The way to identify an artefact.

Loading content...

Required methods

fn get_history(&self, identifier: Self::HistoryId) -> Result<History<A>, Error>

Find a History in a Repo given a way to identify it

fn get_histories(&self) -> Result<Vec<History<A>>, Error>

Find all histories in a Repo

fn get_identifier(artefact: &A) -> Self::ArtefactId

Identify artefacts of a Repository

Loading content...

Implementors

impl<'a> VCS<Commit, Error> for RepositoryRef<'a>[src]

type HistoryId = Rev

type ArtefactId = Oid

impl<Repo, A, Error> VCS<A, Error> for Browser<Repo, A, Error> where
    Repo: VCS<A, Error>, 
[src]

type HistoryId = Repo::HistoryId

type ArtefactId = Repo::ArtefactId

Loading content...