소스 검색

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

Marian Beermann 9 년 전
부모
커밋
e365d64718
1개의 변경된 파일5개의 추가작업 그리고 1개의 파일을 삭제
  1. 5 1
      borg/archiver.py

+ 5 - 1
borg/archiver.py

@@ -389,7 +389,11 @@ class Archiver:
 
         if not args.dry_run:
             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:
             if pattern.match_count == 0:
                 self.print_warning("Include pattern '%s' never matched.", pattern)