pub mod runner;
pub mod templates;
pub mod types;
pub use runner::JjRunner;
pub use types::*;
use anyhow::Result;
pub trait Jj: Send + Sync {
fn git_fetch(&self) -> Result<()>;
fn get_my_bookmarks(&self) -> Result<Vec<Bookmark>>;
fn get_changes_to_commit(&self, to_commit_id: &str) -> Result<Vec<LogEntry>>;
fn get_git_remotes(&self) -> Result<Vec<GitRemote>>;
fn get_default_branch(&self) -> Result<String>;
fn push_bookmark(&self, name: &str, remote: &str) -> Result<()>;
fn get_working_copy_commit_id(&self) -> Result<String>;
fn rebase_onto(&self, source: &str, destination: &str) -> Result<()>;
}