Backend

Trait Backend 

Source
pub trait Backend:
    Send
    + Sync
    + Debug {
Show 17 methods // Required methods fn name(&self) -> &str; fn commit_id_length(&self) -> usize; fn change_id_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 root_change_id(&self) -> &ChangeId; 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§

Source

fn name(&self) -> &str

A unique name that identifies this backend. Written to .jj/repo/store/backend when the repo is created.

Source

fn commit_id_length(&self) -> usize

The length of commit IDs in bytes.

Source

fn change_id_length(&self) -> usize

The length of change IDs in bytes.

Source

fn git_repo(&self) -> Option<Repository>

Source

fn read_file( &self, path: &RepoPath, id: &FileId, ) -> BackendResult<Box<dyn Read>>

Source

fn write_file( &self, path: &RepoPath, contents: &mut dyn Read, ) -> BackendResult<FileId>

Source

fn root_commit_id(&self) -> &CommitId

Source

fn root_change_id(&self) -> &ChangeId

Source

fn empty_tree_id(&self) -> &TreeId

Source

fn read_tree(&self, path: &RepoPath, id: &TreeId) -> BackendResult<Tree>

Source

fn write_tree(&self, path: &RepoPath, contents: &Tree) -> BackendResult<TreeId>

Source

fn read_conflict( &self, path: &RepoPath, id: &ConflictId, ) -> BackendResult<Conflict>

Source

fn write_conflict( &self, path: &RepoPath, contents: &Conflict, ) -> BackendResult<ConflictId>

Source

fn read_commit(&self, id: &CommitId) -> BackendResult<Commit>

Source

fn write_commit(&self, contents: &Commit) -> BackendResult<CommitId>

Implementors§