From 183d8c9fe238e22c06cbc06a3a6da55b74de16fc Mon Sep 17 00:00:00 2001 From: Warren Hood Date: Mon, 21 Oct 2024 23:16:12 +0200 Subject: [PATCH] Create mods dir if it doesn't exist and add context to errors when copying files --- mcmpmgr/src/modpack.rs | 4 +++- mcmpmgr/src/resolver.rs | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/mcmpmgr/src/modpack.rs b/mcmpmgr/src/modpack.rs index 459ee7a..49de65b 100644 --- a/mcmpmgr/src/modpack.rs +++ b/mcmpmgr/src/modpack.rs @@ -249,7 +249,9 @@ impl ModpackMeta { } } } - self.copy_files(&source_path, &target_path, file_meta.apply_policy.clone())?; + self.copy_files(&source_path, &target_path, file_meta.apply_policy.clone()).with_context( + || format!("Syncing {} -> {}", source_path.display(), target_path.display()) + )?; } } Ok(()) diff --git a/mcmpmgr/src/resolver.rs b/mcmpmgr/src/resolver.rs index 1fe3aed..1ea32f7 100644 --- a/mcmpmgr/src/resolver.rs +++ b/mcmpmgr/src/resolver.rs @@ -38,6 +38,7 @@ impl PinnedPackMeta { mods_dir: &PathBuf, download_side: DownloadSide, ) -> Result<()> { + let _ = std::fs::create_dir_all(mods_dir); let files = std::fs::read_dir(mods_dir)?; let mut pinned_files_cache = BTreeSet::new(); for file in files.into_iter() {