mirror of
https://github.com/borgbackup/borg.git
synced 2026-06-10 09:21:44 -04:00
Merge pull request #2660 from enkore/issue/2659
cache sync: check Operation.READ compatibility with manifest
This commit is contained in:
commit
5eeaf7a67c
2 changed files with 11 additions and 0 deletions
|
|
@ -721,6 +721,11 @@ Chunk index: {0.total_unique_chunks:20d} {0.total_chunks:20d}"""
|
|||
except:
|
||||
pass
|
||||
|
||||
# The cache can be used by a command that e.g. only checks against Manifest.Operation.WRITE,
|
||||
# which does not have to include all flags from Manifest.Operation.READ.
|
||||
# Since the sync will attempt to read archives, check compatibility with Manifest.Operation.READ.
|
||||
self.manifest.check_repository_compatibility((Manifest.Operation.READ, ))
|
||||
|
||||
self.begin_txn()
|
||||
with cache_if_remote(self.repository, decrypted_cache=self.key) as decrypted_repository:
|
||||
legacy_cleanup()
|
||||
|
|
|
|||
|
|
@ -1440,6 +1440,12 @@ class ArchiverTestCase(ArchiverTestCaseBase):
|
|||
self.add_unknown_feature(Manifest.Operation.WRITE)
|
||||
self.cmd_raises_unknown_feature(['create', self.repository_location + '::test', 'input'])
|
||||
|
||||
def test_unknown_feature_on_cache_sync(self):
|
||||
self.cmd('init', '--encryption=repokey', self.repository_location)
|
||||
self.cmd('delete', '--cache-only', self.repository_location)
|
||||
self.add_unknown_feature(Manifest.Operation.READ)
|
||||
self.cmd_raises_unknown_feature(['create', self.repository_location + '::test', 'input'])
|
||||
|
||||
def test_unknown_feature_on_change_passphrase(self):
|
||||
print(self.cmd('init', '--encryption=repokey', self.repository_location))
|
||||
self.add_unknown_feature(Manifest.Operation.CHECK)
|
||||
|
|
|
|||
Loading…
Reference in a new issue