diff options
Diffstat (limited to 'backomp')
| -rwxr-xr-x | backomp | 13 |
1 files changed, 13 insertions, 0 deletions
@@ -348,6 +348,18 @@ prune() { else if ((DRY)); then echo "* DRY: prune ${__snaps[__i]}" + elif [[ -n "${opts['alt_prune']}" ]]; then + echo "* alt-prune ${__snaps[__i]}" + bash -c "$(declare -p opts \ + ); target=$(printf '%q' \ + "${__snaps[__i]}" \ + ); ${opts['alt_prune']}" < /dev/null + res="$?" + if [[ "${res}" -ne 0 ]]; then + err 'alt-prune command failed' \ + "(${res}):" \ + "${opts['alt_prune']}" + fi elif [[ "${__snaps[__i]}" == rclone://* ]]; then run rclone purge -- "${__snaps[__i]#*//}" elif [[ "${__snaps[__i]}" =~ ^([^:/]*):(.*) ]]; then @@ -419,6 +431,7 @@ declare -A def_opts=( ['rclone_copy_command']='copy' ['rclone_use_copy_dest']=1 ['pre_copy']= + ['alt_prune']= ) declare -A opts tainted_opts reset_opts() { |
