Explorar o código

Keep oldest archive when retention target is not met

Alf Mikula %!s(int64=4) %!d(string=hai) anos
pai
achega
943088df2c
Modificáronse 1 ficheiros con 4 adicións e 0 borrados
  1. 4 0
      src/borg/helpers/misc.py

+ 4 - 0
src/borg/helpers/misc.py

@@ -58,6 +58,10 @@ def prune_split(archives, rule, n, kept_because=None):
                 kept_because[a.id] = (rule, len(keep))
                 if len(keep) == n:
                     break
+    # Keep oldest archive if we didn't reach the target retention count
+    if len(keep) < n and a.id not in kept_because:
+        keep.append(a)
+        kept_because[a.id] = (rule+"[oldest]", len(keep))
     return keep