Trait jujutsu_lib::backend::Backend
source · pub trait Backend: Send + Sync + Debug {
Show 15 methods
fn name(&self) -> &str;
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 root_commit_id(&self) -> &CommitId;
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_conflict(
&self,
path: &RepoPath,
id: &ConflictId
) -> BackendResult<Conflict>;
fn write_conflict(
&self,
path: &RepoPath,
contents: &Conflict
) -> BackendResult<ConflictId>;
fn read_commit(&self, id: &CommitId) -> BackendResult<Commit>;
fn write_commit(&self, contents: &Commit) -> BackendResult<CommitId>;
}Required Methods§
sourcefn name(&self) -> &str
fn name(&self) -> &str
A unique name that identifies this backend. Written to
.jj/repo/store/backend when the repo is created.