LibrePortal/scripts/update/backup/use_git_backup.sh
librelad 053a620e22 fix(reliability): split local result=$(cmd) so $? survives for checkSuccess
'local result=$(cmd)' resets $? to 0 (the local builtin's own exit), so the
following checkSuccess always saw success regardless of cmd's real exit — the
mechanism that masked the de-sudo write failures. Split declaration from
assignment ('local result; result=$(cmd)') across all 235 active-code sites
(84 files) so the command's exit reaches checkSuccess. No behaviour change
beyond $? now being accurate (no set -e in runtime code; multi-line
assignments transform safely).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Signed-off-by: librelad <librelad@digitalangels.vip>
2026-05-31 03:09:25 +01:00

31 lines
894 B
Bash
Executable File

#!/bin/bash
gitUseExistingBackup()
{
isHeader "Installing LibrePortal Backup"
local backup_file="$1"
local backup_file_without_zip=$(basename "$backup_file" .zip)
update_done=false
local result; result=$(runInstallOp unzip -o $backup_file -d $backup_install_dir)
checkSuccess "Copy the configs to the backup folder"
gitReset;
local result; result=$(copyFolders "$backup_install_dir/$backup_file_without_zip/" "$docker_dir" "$sudo_user_name")
checkSuccess "Copy the backed up folders back into the installation directory"
gitCleanInstallBackups;
gitUntrackFiles;
isSuccessful "Custom changes have been discarded successfully"
echo ""
isNotice "You have restored the configuration files for LibrePortal."
isNotice "To avoid any issues please rerun the 'libreportal' command."
echo ""
exit
update_done=true
}