Add pre-update/clean backup feature
All checks were successful
Build / Build (push) Successful in 12s
All checks were successful
Build / Build (push) Successful in 12s
- Backup deletion paths before update to sd:/backup/OmniNX/{version}
- Backup deletion paths before clean install to sd:/backup/OmniNX/pre-omninx
- Best-effort backup: continue install even if some copies fail
- Fix directory creation: ensure parent dirs exist before folder_copy
- Step 1 for update: Backup; Step 1-2 for clean: user data + pre-omninx backup
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -11,6 +11,7 @@
|
||||
#include "gfx.h"
|
||||
#include "version.h"
|
||||
#include <libs/fatfs/ff.h>
|
||||
#include <utils/sprintf.h>
|
||||
#include <string.h>
|
||||
|
||||
#undef COLOR_CYAN
|
||||
@@ -31,6 +32,26 @@
|
||||
#define path_exists install_path_exists
|
||||
#define count_directory_items install_count_directory_items
|
||||
|
||||
// Backup paths before clean install (sd:/backup/OmniNX/pre-omninx)
|
||||
int backup_before_clean(void) {
|
||||
char backup_base[270];
|
||||
s_printf(backup_base, "%s/%s", BACKUP_BASE_PATH, PRE_OMNINX_LABEL);
|
||||
return backup_deletion_lists(backup_base,
|
||||
clean_atmosphere_dirs_to_delete,
|
||||
clean_atmosphere_contents_dirs_to_delete,
|
||||
clean_atmosphere_files_to_delete,
|
||||
clean_bootloader_dirs_to_delete,
|
||||
clean_bootloader_files_to_delete,
|
||||
clean_config_dirs_to_delete,
|
||||
clean_switch_dirs_to_delete,
|
||||
clean_switch_files_to_delete,
|
||||
clean_root_files_to_delete,
|
||||
clean_misc_dirs_to_delete,
|
||||
clean_misc_files_to_delete,
|
||||
old_version_files_to_delete,
|
||||
NULL);
|
||||
}
|
||||
|
||||
// Clean mode: Backup user data
|
||||
int clean_mode_backup(void) {
|
||||
set_color(COLOR_CYAN);
|
||||
|
||||
Reference in New Issue
Block a user