diff options
author | Teddy Wing | 2021-06-13 13:28:06 +0200 |
---|---|---|
committer | Teddy Wing | 2021-06-13 13:30:10 +0200 |
commit | 7ec559e6b717560522976c6c5a410ccff3785b04 (patch) | |
tree | a32c6c8ae5af8ba9a0bb558c40c17f5818e11c27 /src | |
parent | 730a82f73beb8054543e424d47b431dd2b94d305 (diff) | |
download | reflectub-7ec559e6b717560522976c6c5a410ccff3785b04.tar.bz2 |
run(): Prefix repository errors with the name of the repository
So you know what the error referred to.
Diffstat (limited to 'src')
-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 { |