pub trait Backend: Send + Sync + Debug {
Show 13 methods
fn hash_length(&self) -> usize;
fn git_repo(&self) -> Option<Repository>;
fn read_file(
&self,
path: &RepoPath,
id: &FileId
) -> BackendResult<Box<dyn Read>>;
fn write_file(
&self,
path: &RepoPath,
contents: &mut dyn Read
) -> BackendResult<FileId>;
fn read_symlink(
&self,
path: &RepoPath,
id: &SymlinkId
) -> BackendResult<String>;
fn write_symlink(
&self,
path: &RepoPath,
target: &str
) -> BackendResult<SymlinkId>;
fn empty_tree_id(&self) -> &TreeId;
fn read_tree(&self, path: &RepoPath, id: &TreeId) -> BackendResult<Tree>;
fn write_tree(
&self,
path: &RepoPath,
contents: &Tree
) -> BackendResult<TreeId>;
fn read_commit(&self, id: &CommitId) -> BackendResult<Commit>;
fn write_commit(&self, contents: &Commit) -> BackendResult<CommitId>;
fn read_conflict(&self, id: &ConflictId) -> BackendResult<Conflict>;
fn write_conflict(&self, contents: &Conflict) -> BackendResult<ConflictId>;
}