2
0
Эх сурвалжийг харах

also copy files cache verbatim

it seems the file cache does *not* have the ATTIC magic header (nor
does it have one in borg), so we don't need to edit the file - we just
copy it like a regular file.

while i'm here, simplify the cache conversion loop: it's no use
splitting the copy and the edition since the latter is so fast, just
do everything in one loop, which makes it much easier to read.
Antoine Beaupré 10 жил өмнө
parent
commit
5409cbaa67
1 өөрчлөгдсөн 7 нэмэгдсэн , 10 устгасан
  1. 7 10
      borg/upgrader.py

+ 7 - 10
borg/upgrader.py

@@ -184,20 +184,17 @@ class AtticRepositoryUpgrader(Repository):
             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')
+            # file that we don't have a header to convert, just copy
+            for cache in ['config', 'files']:
+                copy_cache_file(cache)
 
             # we need to convert the headers of those files, copy first
-            for cache in ['files', 'chunks']:
+            for cache in ['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:
-                    AtticRepositoryUpgrader.header_replace(cache, b'ATTICIDX', b'BORG_IDX')
+                    print("converting cache %s" % cache)
+                    if not dryrun:
+                        AtticRepositoryUpgrader.header_replace(cache, b'ATTICIDX', b'BORG_IDX')
 
 
 class AtticKeyfileKey(KeyfileKey):