Przeglądaj źródła

Handle case of calling prune_split when there are no archives

Alf Mikula 3 lat temu
rodzic
commit
663abc7c90
1 zmienionych plików z 3 dodań i 1 usunięć
  1. 3 1
      src/borg/helpers/misc.py

+ 3 - 1
src/borg/helpers/misc.py

@@ -49,6 +49,8 @@ def prune_split(archives, rule, n, kept_because=None):
         kept_because = {}
     if n == 0:
         return keep
+
+    a = None
     for a in sorted(archives, key=attrgetter('ts'), reverse=True):
         period = to_localtime(a.ts).strftime(pattern)
         if period != last:
@@ -59,7 +61,7 @@ def prune_split(archives, rule, n, kept_because=None):
                 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:
+    if a is not None and len(keep) < n and a.id not in kept_because:
         keep.append(a)
         kept_because[a.id] = (rule+"[oldest]", len(keep))
     return keep