From e518cc47b1aae229fd46998eb196b6033923555e Mon Sep 17 00:00:00 2001 From: David Vazgenovich Shakaryan Date: Wed, 7 Oct 2026 15:48:37 -0700 Subject: add alt-prune hook for rclone rm over ssh --- backomp | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'backomp') diff --git a/backomp b/backomp index af44f77..8d90b8c 100755 --- a/backomp +++ b/backomp @@ -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() { -- cgit v1.3.1