mirror of
https://seed.radicle.dev/rad:zwTxygwuz5LDGBq255RA2CbNGrz8.git
synced 2026-10-18 19:30:29 +08:00
fix(src/ci_event.rs): adapt to new Radicle API
This commit is contained in:
+20
-9
@@ -17,7 +17,7 @@ use radicle::{
|
||||
prelude::RepoId,
|
||||
storage::{
|
||||
ReadStorage, RefUpdate, RepositoryError,
|
||||
refs::{Refs, RefsAt},
|
||||
refs::{Refs, RefsAt, SignedRefs},
|
||||
},
|
||||
};
|
||||
|
||||
@@ -319,14 +319,19 @@ impl CiEvent {
|
||||
at: parent.into(),
|
||||
};
|
||||
|
||||
let signed_refs_new = refs
|
||||
.load(&repo)
|
||||
.map_err(|err| CiEventError::StorageRefs(err.into()))?
|
||||
.sigrefs;
|
||||
let signed_refs_old = parent_refs
|
||||
.load(&repo)
|
||||
.map_err(|err| CiEventError::StorageRefs(err.into()))?
|
||||
.sigrefs;
|
||||
fn signed_refs_at<R>(refs: &RefsAt, repo: &R) -> Result<SignedRefs, CiEventError>
|
||||
where
|
||||
R: radicle::storage::HasRepoId
|
||||
+ radicle::storage::refs::sigrefs::git::object::Reader
|
||||
+ radicle::storage::refs::sigrefs::git::reference::Reader,
|
||||
{
|
||||
let maybe = SignedRefs::load_at(refs.at, refs.remote, repo)
|
||||
.map_err(CiEventError::SignedRefsAt)?;
|
||||
maybe.ok_or(CiEventError::NoSignedRefsAt)
|
||||
}
|
||||
|
||||
let signed_refs_old = signed_refs_at(&parent_refs, &repo)?;
|
||||
let signed_refs_new = signed_refs_at(refs, &repo)?;
|
||||
|
||||
let updates = diff_refs(signed_refs_old.refs(), signed_refs_new.refs())
|
||||
.into_iter()
|
||||
@@ -536,6 +541,12 @@ pub enum CiEventError {
|
||||
|
||||
#[error(transparent)]
|
||||
Git(radicle::git::raw::Error),
|
||||
|
||||
#[error("failed to get verified signed refs")]
|
||||
SignedRefsAt(#[source] radicle::storage::refs::sigrefs::read::error::Read),
|
||||
|
||||
#[error("no signed refs")]
|
||||
NoSignedRefsAt,
|
||||
}
|
||||
|
||||
impl CiEventError {
|
||||
|
||||
Reference in New Issue
Block a user