From b37edd26ab246a73f79d0dc40651ff84f62dc7c0 Mon Sep 17 00:00:00 2001
From: Guillaume Subiron <maethor@subiron.org>
Date: Thu, 13 Feb 2025 08:59:33 +0100
Subject: [PATCH] borg: run borg compact after borg prune when borg version >
 1.2

---
 handlers/borg.in | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/handlers/borg.in b/handlers/borg.in
index 06bde87..d4de31e 100644
--- a/handlers/borg.in
+++ b/handlers/borg.in
@@ -265,6 +265,21 @@ if [ "$prune" == "yes" ]; then
       if [ $ret = 0 ]; then
          debug "$output"
          info "Removing old backups succeeded."
+
+         if [[ "$(borg --version)" > "borg 1.2" ]] ; then
+            compactstr="borg compact $execstr_repository"
+
+            debug "$compactstr"
+            output="$(su -c "$compactstr" 2>&1)"
+            ret=$?
+            if [ $ret = 0 ]; then
+               debug "$output"
+               info "Compacting borg repository succeeded."
+            else
+               info "$output"
+               warning "Compacting borg repository failed. Borg returned exit code ${ret}."
+            fi
+         fi
       elif [ $ret = 1 ]; then
          warning "$output"
          warning "Removing old backups finished with warnings."
-- 
GitLab