use objects::{
error::{HeddleError, Result},
object::ChangeId,
};
use super::{RefSummaryIndexInspection, backend::CoreRefBackend};
pub trait RefBackend: CoreRefBackend<Error = HeddleError> {
fn get_remote_thread(&self, remote: &str, thread: &str) -> Result<Option<ChangeId>>;
fn set_remote_thread(&self, remote: &str, thread: &str, state: &ChangeId) -> Result<()>;
fn delete_remote_thread(&self, remote: &str, thread: &str) -> Result<Option<ChangeId>>;
fn list_remotes(&self) -> Result<Vec<String>>;
fn list_remote_threads(&self, remote: &str) -> Result<Vec<String>>;
fn inspect_ref_summary_index(&self) -> Result<RefSummaryIndexInspection> {
Ok(RefSummaryIndexInspection::absent())
}
fn rebuild_ref_summary_index(&self) -> Result<RefSummaryIndexInspection> {
Ok(RefSummaryIndexInspection::absent())
}
fn pack_refs(&self) -> Result<()> {
Ok(())
}
fn cleanup_stale_temps(&self) {}
}