create: catch StoreBackendAlreadyExists

Don't show traceback if a repo at the given location already exists.
This commit is contained in:
Thomas Waldmann 2024-10-15 14:30:11 +02:00
parent ffdc9581d9
commit 703c98dbc9
No known key found for this signature in database
GPG key ID: 243ACFA951F78E01

View file

@ -5,6 +5,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 borgstore.backends.errors import BackendAlreadyExists as StoreBackendAlreadyExists
from .checksums import xxh64
from .constants import * # NOQA
@ -117,6 +118,7 @@ class Repository:
url = "file://%s" % os.path.abspath(path_or_location)
location = Location(url)
self._location = location
self.url = url
# lots of stuff in data: use 2 levels by default (data/00/00/ .. data/ff/ff/ dirs)!
data_levels = int(os.environ.get("BORG_STORE_DATA_LEVELS", "2"))
levels_config = {
@ -174,7 +176,10 @@ class Repository:
def create(self):
"""Create a new empty repository"""
self.store.create()
try:
self.store.create()
except StoreBackendAlreadyExists:
raise self.AlreadyExists(self.url)
self.store.open()
try:
self.store.store("config/readme", REPOSITORY_README.encode())