Don't fail if legacy squirrel folders cant be deleted (#523)

This commit is contained in:
Caelan Sayler
2025-05-18 22:37:16 +01:00
committed by Caelan
parent a43be3ed09
commit 2715efd1a0
2 changed files with 17 additions and 8 deletions

View File

@@ -174,7 +174,7 @@ fn try_legacy_migration(root_dir: &PathBuf, manifest: &Manifest) -> Result<Velop
let new_locator = super::apply(&locator, false, OperationWait::NoWait, Some(&buf), None, false)?;
info!("Removing old app-* folders...");
shared::delete_app_prefixed_folders(&root_dir)?;
shared::delete_app_prefixed_folders(&root_dir);
let _ = remove_dir_all::remove_dir_all(root_dir.join("staging"));
Ok(new_locator)
}

View File

@@ -248,19 +248,28 @@ pub fn get_latest_app_version_folder<P: AsRef<Path>>(parent_path: P) -> Result<O
pub fn has_app_prefixed_folder<P: AsRef<Path>>(parent_path: P) -> bool {
match get_app_prefixed_folders(parent_path) {
Ok(folders) => !folders.is_empty(),
Err(e) => {
Err(e) => {
warn!("Failed to check for app-prefixed folders: {}", e);
false
},
}
}
}
pub fn delete_app_prefixed_folders<P: AsRef<Path>>(parent_path: P) -> Result<()> {
let folders = get_app_prefixed_folders(parent_path)?;
for folder in folders {
super::retry_io(|| remove_dir_all::remove_dir_all(&folder))?;
pub fn delete_app_prefixed_folders<P: AsRef<Path>>(parent_path: P) {
match get_app_prefixed_folders(parent_path) {
Ok(folders) => {
for folder in folders {
if let Err(e) = super::retry_io(|| remove_dir_all::remove_dir_all(&folder)) {
warn!("Failed to delete app-prefixed folder: {} ({})", folder.display(), e);
} else {
info!("Deleted app-prefixed folder: {}", folder.display());
}
}
}
Err(e) => {
warn!("Failed to find app-prefixed folders: {}", e);
}
}
Ok(())
}
fn parse_version_from_folder_name(folder_name: &str) -> Option<Version> {