use crate::bare::GitBare; use crate::error::GitResult; use crate::pb::{Branch, GetBranchRequest}; impl GitBare { pub fn get_branch(&self, request: GetBranchRequest) -> GitResult { crate::sanitize::validate_ref_name(&request.name)?; let repo = self.gix_repo()?; let refname = format!("refs/heads/{}", request.name); let mut r = repo.find_reference(refname.as_str())?; let hex = r.peel_to_id()?.to_string(); Ok(Branch { name: request.name, full_ref: refname, target_oid: Some(self.oid_to_pb(hex)), commit: None, upstream: None, is_default: false, is_head: false, is_merged: false, is_detached: false, }) } }