diff --git a/docs/changes.rst b/docs/changes.rst index d2674a52b9..bfef96728b 100644 --- a/docs/changes.rst +++ b/docs/changes.rst @@ -57,8 +57,8 @@ Compatibility notes: - or, if the command makes sense for an arbitrary amount of archives, archives can be selected using a glob pattern, like: - - borg delete -a 'sh:myarchive-2024-*' - - borg recreate -a 'sh:myarchive-2024-*' + - borg delete -a 'sh:myarchive-2024-??-??' + - borg recreate -a 'sh:myarchive-2024-??-??' - some borg 1.x commands that supported working on a repo AND on an archive were split into 2 commands, some others were renamed: diff --git a/src/borg/repository.py b/src/borg/repository.py index c293358b00..d2e6fac694 100644 --- a/src/borg/repository.py +++ b/src/borg/repository.py @@ -3,6 +3,7 @@ from borgstore.store import Store from borgstore.store import ObjectNotFound as StoreObjectNotFound +from borgstore.backends.errors import BackendError as StoreBackendError from borgstore.backends.errors import BackendDoesNotExist as StoreBackendDoesNotExist from .checksums import xxh64 @@ -116,7 +117,10 @@ def __init__( location = Location(url) self._location = location # use a Store with flat config storage and 2-levels-nested data storage - self.store = Store(url, levels={"config/": [0], "data/": [2]}) + try: + self.store = Store(url, levels={"config/": [0], "data/": [2]}) + except StoreBackendError as e: + raise Error(str(e)) self.version = None # long-running repository methods which emit log or progress output are responsible for calling # the ._send_log method periodically to get log and progress output transferred to the borg client