From 7ec559e6b717560522976c6c5a410ccff3785b04 Mon Sep 17 00:00:00 2001 From: Teddy Wing Date: Sun, 13 Jun 2021 13:28:06 +0200 Subject: run(): Prefix repository errors with the name of the repository So you know what the error referred to. --- src/main.rs | 29 ++++++++++++++++++----------- 1 file changed, 18 insertions(+), 11 deletions(-) (limited to 'src') 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 { -- cgit v1.2.3