Răsfoiți Sursa

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

Marian Beermann 9 ani în urmă
părinte
comite
26bf500566
1 a modificat fișierele cu 5 adăugiri și 1 ștergeri
  1. 5 1
      borg/archiver.py

+ 5 - 1
borg/archiver.py

@@ -372,7 +372,11 @@ class Archiver:
                     continue
             if not args.dry_run:
                 while dirs and not item[b'path'].startswith(dirs[-1][b'path']):
-                    archive.extract_item(dirs.pop(-1), stdout=stdout)
+                    dir_item = dirs.pop(-1)
+                    try:
+                        archive.extract_item(dir_item, stdout=stdout)
+                    except BackupOSError as e:
+                        self.print_warning('%s: %s', remove_surrogates(dir_item[b'path']), e)
             if output_list:
                 logger.info(remove_surrogates(orig_path))
             try: