Bläddra i källkod

Merge pull request #6859 from ThomasWaldmann/remove-attic-stuff-borg2

remove remainders of attic legacy
TW 2 år sedan
förälder
incheckning
d5c91cd37b

+ 1 - 1
src/borg/archive.py

@@ -1080,7 +1080,7 @@ class MetadataCollector:
 
     def stat_simple_attrs(self, st):
         attrs = dict(mode=st.st_mode, uid=st.st_uid, gid=st.st_gid, mtime=safe_ns(st.st_mtime_ns))
-        # borg can work with archives only having mtime (older attic archives do not have
+        # borg can work with archives only having mtime (very old borg archives do not have
         # atime/ctime). it can be useful to omit atime/ctime, if they change without the
         # file content changing - e.g. to get better metadata deduplication.
         if not self.noatime:

+ 1 - 2
src/borg/archiver/recreate.py

@@ -89,8 +89,7 @@ class RecreateMixIn:
         There is no risk of data loss by this.
 
         ``--chunker-params`` will re-chunk all files in the archive, this can be
-        used to have upgraded Borg 0.xx or Attic archives deduplicate with
-        Borg 1.x archives.
+        used to have upgraded Borg 0.xx archives deduplicate with Borg 1.x archives.
 
         **USE WITH CAUTION.**
         Depending on the PATHs and patterns given, recreate can be used to permanently

+ 1 - 1
src/borg/constants.py

@@ -135,7 +135,7 @@ class KeyType:
     # in borg 2. all of its code and also the "borg key migrate-to-repokey" command was removed.
     # if you still need to, you can use "borg key migrate-to-repokey" with borg 1.0, 1.1 and 1.2.
     # Nowadays, we just dispatch this to RepoKey and assume the passphrase was migrated to a repokey.
-    PASSPHRASE = 0x01  # legacy, attic and borg < 1.0
+    PASSPHRASE = 0x01  # legacy, borg < 1.0
     PLAINTEXT = 0x02
     REPO = 0x03
     BLAKE2KEYFILE = 0x04

+ 0 - 5
src/borg/remote.py

@@ -786,11 +786,6 @@ This problem will go away as soon as the server has been upgraded to 1.0.7+.
                     raise IntegrityError("(not available)")
                 else:
                     raise IntegrityError(args[0])
-            elif error == "AtticRepository":
-                if old_server:
-                    raise Repository.AtticRepository("(not available)")
-                else:
-                    raise Repository.AtticRepository(args[0])
             elif error == "PathNotAllowed":
                 if old_server:
                     raise PathNotAllowed("(unknown)")

+ 0 - 13
src/borg/repository.py

@@ -32,8 +32,6 @@ logger = create_logger(__name__)
 
 MAGIC = b"BORG_SEG"
 MAGIC_LEN = len(MAGIC)
-ATTIC_MAGIC = b"ATTICSEG"
-assert len(ATTIC_MAGIC) == MAGIC_LEN
 
 TAG_PUT = 0
 TAG_DELETE = 1
@@ -152,9 +150,6 @@ class Repository:
     class InvalidRepositoryConfig(Error):
         """{} does not have a valid configuration. Check repo config [{}]."""
 
-    class AtticRepository(Error):
-        """Attic repository detected. Please use borg <= 1.2 to run "borg upgrade {}"."""
-
     class CheckNeeded(ErrorWithTraceback):
         """Inconsistency detected. Please run "borg check {}"."""
 
@@ -181,7 +176,6 @@ class Repository:
         lock=True,
         append_only=False,
         storage_quota=None,
-        check_segment_magic=True,
         make_parent_dirs=False,
     ):
         self.path = os.path.abspath(path)
@@ -205,7 +199,6 @@ class Repository:
         self.storage_quota = storage_quota
         self.storage_quota_use = 0
         self.transaction_doomed = None
-        self.check_segment_magic = check_segment_magic
         self.make_parent_dirs = make_parent_dirs
         # v2 is the default repo version for borg 2.0
         # v1 repos must only be used in a read-only way, e.g. for
@@ -498,12 +491,6 @@ class Repository:
             self.storage_quota = parse_file_size(self.config.get("repository", "storage_quota", fallback=0))
         self.id = unhexlify(self.config.get("repository", "id").strip())
         self.io = LoggedIO(self.path, self.max_segment_size, self.segments_per_dir)
-        if self.check_segment_magic:
-            # read a segment and check whether we are dealing with a non-upgraded Attic repository
-            segment = self.io.get_latest_segment()
-            if segment is not None and self.io.get_segment_magic(segment) == ATTIC_MAGIC:
-                self.close()
-                raise self.AtticRepository(path)
 
     def info(self):
         """return some infos about the repo (must be opened first)"""

+ 1 - 1
src/borg/testsuite/crypto.py

@@ -34,7 +34,7 @@ class CryptoTestCase(BaseTestCase):
         self.assert_equal(got_data, data)
 
     def test_AES256_CTR_HMAC_SHA256(self):
-        # this tests the layout as in attic / borg < 1.2 (1 type byte, no aad)
+        # this tests the layout as in borg < 1.2 (1 type byte, no aad)
         mac_key = b"Y" * 32
         enc_key = b"X" * 32
         iv = 0

+ 1 - 1
src/borg/upgrade.py

@@ -102,7 +102,7 @@ class UpgraderFrom12To20:
         def upgrade_zlib_and_level(chunk):
             if ZLIB_legacy.detect(chunk):
                 ctype = ZLIB.ID
-                chunk = ctype + level + bytes(chunk)  # get rid of the attic legacy: prepend separate type/level bytes
+                chunk = ctype + level + bytes(chunk)  # get rid of the legacy: prepend separate type/level bytes
             else:
                 ctype = bytes(chunk[0:1])
                 chunk = ctype + level + bytes(chunk[2:])  # keep type same, but set level