diff options
| author | Teddy Wing | 2022-06-02 23:22:39 +0200 | 
|---|---|---|
| committer | Teddy Wing | 2022-06-02 23:22:39 +0200 | 
| commit | 0951bb614aa1602983dacbf604c5a52e44d49bc3 (patch) | |
| tree | 220783e35ed0258ff7684055b823820b098960de | |
| parent | 079ca8b33657da216a8d08a9fae0fd54e488ec71 (diff) | |
| download | reflectub-0951bb614aa1602983dacbf604c5a52e44d49bc3.tar.bz2 | |
git.rs: Ideas for error structure and context
| -rw-r--r-- | src/git.rs | 23 | 
1 files changed, 20 insertions, 3 deletions
| @@ -25,16 +25,32 @@ use std::path::Path;  #[derive(Debug, thiserror::Error)]  pub enum Error { -    MirrorCreateRepo(), -    MirrorConfig(), +    #[error("cannot create repo '{path}'")] +    MirrorCreateRepo { +        #[from] +        source: git2::Error, +        path: String, +    }, +    #[error("")]      MirrorAddRemote(), +    #[error("")] +    MirrorConfig(#[from] git2::Error), +    #[error("")] +    MirrorRemoteEnableMirror(), +    #[error("")]      MirrorFetch(), +    #[error("")]      UpdateOpenRepo(), +    #[error("")]      UpdateGetRemotes(), +    #[error("")]      UpdateFindRemote(), +    #[error("")]      UpdateFetch(), + +    #[error("")]      GitChangeBranch(),      #[error("git error")] @@ -68,7 +84,8 @@ pub fn mirror<P: AsRef<Path>>(              // Mac OS.              .external_template(false)              .description(description), -    )?; +    ) +        .map_err(|e| Error::MirrorCreateRepo{e, path})?;      let remote_name = "origin"; | 
