Skip to content
Clone
030e59e
24 lines 1.1 KB Rust
use gix::hash::ObjectId;
use crate::refs::types::{BranchInfo, HeadInfo, RefInfo, RefType, UpdateRefResult};
pub trait RefsOps {
fn refs_list(&self) -> Result<Vec<RefInfo>, crate::Error>;
fn refs_list_filtered(&self, pattern: &str) -> Result<Vec<RefInfo>, crate::Error>;
fn refs_get(&self, name: &str) -> Result<RefInfo, crate::Error>;
fn refs_resolve(&self, name: &str) -> Result<ObjectId, crate::Error>;
fn refs_update(
&self,
name: &str,
new: ObjectId,
expected: Option<ObjectId>,
) -> Result<UpdateRefResult, crate::Error>;
fn refs_delete(&self, name: &str) -> Result<(), crate::Error>;
fn refs_validate_name(&self, name: &str) -> Result<(), crate::Error>;
fn refs_is_branch_protected(&self, branch: &str) -> Result<bool, crate::Error>;
fn refs_head(&self) -> Result<HeadInfo, crate::Error>;
fn refs_branches(&self, skip: u64, limit: u64) -> Result<Vec<BranchInfo>, crate::Error>;
fn refs_is_object_in_ref(&self, object: &ObjectId, refname: &str)
-> Result<bool, crate::Error>;
fn refs_classify(&self, name: &str) -> RefType;
}