From 8695d3845c154ea06a8e69dd0a4552ecc907dcb3 Mon Sep 17 00:00:00 2001 From: Teddy Wing Date: Wed, 23 Jun 2021 23:14:25 +0200 Subject: update_mtime(): Idea for `.or_else()` chaining An idea to chain the error handling here instead of using `match` expressions. --- src/main.rs | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) (limited to 'src') diff --git a/src/main.rs b/src/main.rs index f6e69f8..8f6b9bb 100644 --- a/src/main.rs +++ b/src/main.rs @@ -325,6 +325,46 @@ fn update_mtime>( DateTime::parse_from_rfc3339(&repo.updated_at)?.into() ); + // filetime::set_file_times( + // &default_branch_ref, + // update_time, + // update_time, + // ) + // .or_else(|e| { + // if (e.kind != io::ErrorKind::NotFound) { + // return Err(e); + // } + // + // let packed_refs_path = repo_path + // .as_ref() + // .join("packed-refs"); + // + // filetime::set_file_times( + // &packed_refs_path, + // update_time, + // update_time, + // ) + // }) + // .or_else(|e| { + // if (e.kind != io::ErrorKind::NotFound) { + // return Err(e); + // } + // + // let packed_refs_path = repo_path + // .as_ref() + // .join("packed-refs"); + // + // filetime::set_file_times( + // &packed_refs_path, + // update_time, + // update_time, + // ) + // }) + // .with_context(|| format!( + // "unable to set mtime on '{}'", + // &default_branch_ref.display(), + // ))?; + // Try updating times on the default ref. match filetime::set_file_times( &default_branch_ref, -- cgit v1.2.3