fix(src/ci_event.rs): adapt to new Radicle API

This commit is contained in:
Lars Wirzenius
2026-07-09 11:01:41 +03:00
parent 2a852035b7
commit c66194402e
+20 -9
View File
@@ -17,7 +17,7 @@ use radicle::{
prelude::RepoId, prelude::RepoId,
storage::{ storage::{
ReadStorage, RefUpdate, RepositoryError, ReadStorage, RefUpdate, RepositoryError,
refs::{Refs, RefsAt}, refs::{Refs, RefsAt, SignedRefs},
}, },
}; };
@@ -319,14 +319,19 @@ impl CiEvent {
at: parent.into(), at: parent.into(),
}; };
let signed_refs_new = refs fn signed_refs_at<R>(refs: &RefsAt, repo: &R) -> Result<SignedRefs, CiEventError>
.load(&repo) where
.map_err(|err| CiEventError::StorageRefs(err.into()))? R: radicle::storage::HasRepoId
.sigrefs; + radicle::storage::refs::sigrefs::git::object::Reader
let signed_refs_old = parent_refs + radicle::storage::refs::sigrefs::git::reference::Reader,
.load(&repo) {
.map_err(|err| CiEventError::StorageRefs(err.into()))? let maybe = SignedRefs::load_at(refs.at, refs.remote, repo)
.sigrefs; .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()) let updates = diff_refs(signed_refs_old.refs(), signed_refs_new.refs())
.into_iter() .into_iter()
@@ -536,6 +541,12 @@ pub enum CiEventError {
#[error(transparent)] #[error(transparent)]
Git(radicle::git::raw::Error), 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 { impl CiEventError {