diff --git a/src/borg/helpers/misc.py b/src/borg/helpers/misc.py index 3e62b3e4a..ea8655ab5 100644 --- a/src/borg/helpers/misc.py +++ b/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