mirror of
https://github.com/moparisthebest/pacman
synced 2024-12-21 23:38:49 -05:00
repo-add: only update database if entire command succeeded
It is not hard to think of situations where the repo database should not be updated unless the whole operation succeeds. Error out before a partial database update occurs. Signed-off-by: Allan McRae <allan@archlinux.org>
This commit is contained in:
parent
d2cb52de12
commit
81d233b793
@ -688,7 +688,6 @@ trap 'trap_exit "$(gettext "Aborted by user! Exiting...")"' INT
|
||||
trap 'trap_exit "$(gettext "An unknown error has occurred. Exiting...")"' ERR
|
||||
|
||||
declare -a args
|
||||
success=0
|
||||
# parse arguments
|
||||
while (( $# )); do
|
||||
case $1 in
|
||||
@ -737,15 +736,16 @@ if (( SIGN || KEY || VERIFY )); then
|
||||
check_gpg
|
||||
fi
|
||||
|
||||
fail=0
|
||||
for arg in "${args[@]:1}"; do
|
||||
case $cmd in
|
||||
repo-add) add "$arg" ;;
|
||||
repo-remove) remove "$arg" ;;
|
||||
esac && success=1
|
||||
esac || fail=1
|
||||
done
|
||||
|
||||
# if at least one operation was a success, re-zip database
|
||||
if (( success )); then
|
||||
# if the whole operation was a success, re-zip and rotate database
|
||||
if (( !fail )); then
|
||||
msg "$(gettext "Creating updated database file '%s'")" "$REPO_DB_FILE"
|
||||
create_db
|
||||
rotate_db
|
||||
|
Loading…
Reference in New Issue
Block a user