Selaa lähdekoodia

Add missing error handler in directory attr restore loop (1/2)

Marian Beermann 9 vuotta sitten
vanhempi
sitoutus
e365d64718
1 muutettua tiedostoa jossa 5 lisäystä ja 1 poistoa
  1. 5 1
      borg/archiver.py

+ 5 - 1
borg/archiver.py

@@ -389,7 +389,11 @@ class Archiver:
 
 
         if not args.dry_run:
         if not args.dry_run:
             while dirs:
             while dirs:
-                archive.extract_item(dirs.pop(-1))
+                dir_item = dirs.pop(-1)
+                try:
+                    archive.extract_item(dir_item)
+                except BackupOSError as e:
+                    self.print_warning('%s: %s', remove_surrogates(dir_item[b'path']), e)
         for pattern in include_patterns:
         for pattern in include_patterns:
             if pattern.match_count == 0:
             if pattern.match_count == 0:
                 self.print_warning("Include pattern '%s' never matched.", pattern)
                 self.print_warning("Include pattern '%s' never matched.", pattern)