소스 검색

avoid checking for non-existent files

if there's no attic cache, it's no use checking for individual files

this also makes the code a little clearer

also added comments
Antoine Beaupré 9 년 전
부모
커밋
48b7c8cea3
1개의 변경된 파일15개의 추가작업 그리고 11개의 파일을 삭제
  1. 15 11
      borg/converter.py

+ 15 - 11
borg/converter.py

@@ -178,22 +178,26 @@ class AtticRepositoryConverter(Repository):
                 print("no %s cache file found in %s" % (path, attic_file))
             return None
 
+        # XXX: untested, because generating cache files is a PITA, see
+        # Archiver.do_create() for proof
         if os.path.exists(attic_cache_dir):
             if not os.path.exists(borg_cache_dir):
                 os.makedirs(borg_cache_dir)
+
+            # non-binary file that we don't need to convert, just copy
             copy_cache_file('config')
 
-        # XXX: untested, because generating cache files is a PITA, see
-        # Archiver.do_create() for proof
-        for cache in ['files', 'chunks']:
-            copied = copy_cache_file(cache)
-            if copied:
-                caches.append(copied)
-
-        for cache in caches:
-            print("converting cache %s" % cache)
-            if not dryrun:
-                AtticRepositoryConverter.header_replace(cache, b'ATTICIDX', b'BORG_IDX')
+            # we need to convert the headers of those files, copy first
+            for cache in ['files', 'chunks']:
+                copied = copy_cache_file(cache)
+                if copied:
+                    caches.append(copied)
+
+            # actually convert the headers of the detected files
+            for cache in caches:
+                print("converting cache %s" % cache)
+                if not dryrun:
+                    AtticRepositoryConverter.header_replace(cache, b'ATTICIDX', b'BORG_IDX')
 
 
 class AtticKeyfileKey(KeyfileKey):