radicle: More convenience methods to get default branch
This commit is contained in:
parent
22b2871f64
commit
0eba6caf9f
|
|
@ -737,12 +737,16 @@ impl Doc {
|
|||
Ok(proj)
|
||||
}
|
||||
|
||||
/// Gets the qualified reference name of the default branch,
|
||||
/// according to the project payload in this document.
|
||||
pub fn default_branch(&self) -> Result<git::fmt::Qualified<'_>, PayloadError> {
|
||||
Ok(git::refs::branch(self.project()?.default_branch()))
|
||||
}
|
||||
|
||||
pub fn default_branch_rule(
|
||||
&self,
|
||||
) -> Result<(rules::Pattern, rules::ValidRule), DefaultBranchRuleError> {
|
||||
let proj = self.project()?;
|
||||
let refname = proj.default_branch();
|
||||
let pattern = rules::Pattern::try_from(git::refs::branch(refname).to_owned())?;
|
||||
let pattern = rules::Pattern::try_from(self.default_branch()?.to_owned())?;
|
||||
let rule = rules::Rule::new(
|
||||
rules::ResolvedDelegates::Delegates(self.delegates.clone()),
|
||||
self.threshold,
|
||||
|
|
|
|||
|
|
@ -520,6 +520,12 @@ pub trait ReadRepository: Sized + ValidateRepository {
|
|||
/// Returns the [`Oid`] as well as the qualified reference name.
|
||||
fn head(&self) -> Result<(Qualified<'_>, Oid), RepositoryError>;
|
||||
|
||||
/// Gets the qualified reference name of the default branch of self,
|
||||
/// according to the project payload in the identity document.
|
||||
fn default_branch(&self) -> Result<Qualified<'_>, RepositoryError> {
|
||||
Ok(self.identity_doc()?.default_branch()?.to_owned())
|
||||
}
|
||||
|
||||
/// Compute the canonical head of this repository.
|
||||
///
|
||||
/// Ignores any existing `HEAD` reference.
|
||||
|
|
|
|||
|
|
@ -853,7 +853,7 @@ impl ReadRepository for Repository {
|
|||
|
||||
fn canonical_head(&self) -> Result<(Qualified<'_>, Oid), RepositoryError> {
|
||||
let doc = self.identity_doc()?;
|
||||
let refname = git::refs::branch(doc.project()?.default_branch());
|
||||
let refname = doc.default_branch()?.to_owned();
|
||||
let crefs = match doc.canonical_refs()? {
|
||||
Some(crefs) => crefs,
|
||||
// Fallback to constructing the default branch via the project
|
||||
|
|
|
|||
Loading…
Reference in New Issue