radicle/storage/refs/sigrefs/write/
error.rs1use radicle_oid::Oid;
2use thiserror::Error;
3
4use crate::storage::refs::sigrefs::git::{object, reference};
5
6#[derive(Debug, Error)]
8#[non_exhaustive]
9pub enum Write {
10 #[error(transparent)]
11 Head(Head),
12 #[error(transparent)]
13 Commit(Commit),
14 #[error(transparent)]
15 Reference(reference::error::WriteReference),
16}
17
18#[derive(Debug, Error)]
20#[non_exhaustive]
21pub enum Commit {
22 #[error(transparent)]
23 Tree(Tree),
24 #[error(transparent)]
25 Write(object::error::WriteCommit),
26}
27
28#[derive(Debug, Error)]
30#[non_exhaustive]
31pub enum Tree {
32 #[error("failed to sign references payload")]
33 Sign(crypto::signature::Error),
34 #[error(transparent)]
35 Write(object::error::WriteTree),
36}
37
38#[derive(Debug, Error)]
40#[non_exhaustive]
41#[error(transparent)]
42pub enum Head {
43 #[error(transparent)]
44 Reference(reference::error::FindReference),
45 #[error(transparent)]
46 Commit(super::read::error::Commit),
47 #[error("failed to verify commit {commit}: {source}")]
48 Verify {
49 commit: Oid,
50 source: super::read::error::Verify,
51 },
52}