diff options
-rw-r--r-- | src/main.rs | 29 |
1 files changed, 18 insertions, 11 deletions
diff --git a/src/main.rs b/src/main.rs index ee639dd..8d97239 100644 --- a/src/main.rs +++ b/src/main.rs @@ -154,19 +154,26 @@ fn run() -> Result<(), MultiError> { .map(|repo| { dbg!("Thread", std::thread::current().id()); - process_repo( - &repo, - &db, - &mirror_root, - base_cgitrc.clone(), // TODO: Can we avoid cloning - max_repo_size_bytes, + ( + repo.name.clone(), + process_repo( + &repo, + &db, + &mirror_root, + base_cgitrc.clone(), // TODO: Can we avoid cloning + max_repo_size_bytes, + ), ) }) - .filter(|r| r.is_err()) - - // `e` should always be an error. - .map(|e| e.err().unwrap()) - // TODO: Prefix error with repo name + .filter(|(_, r)| r.is_err()) + + // `error` should always be an error. + .map(|(name, error)| { + error + .err() + .unwrap() + .context(name) + }) .collect(); if errors.len() > 0 { |