Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 19 additions & 8 deletions src/borg/archiver/_common.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,9 @@
from ..helpers.nanorst import rst_to_terminal
from ..manifest import Manifest, AI_HUMAN_SORT_KEYS
from ..patterns import PatternMatcher
from ..legacy.remote import LegacyRemoteRepository
from ..remote import RemoteRepository
from ..legacy.repository import LegacyRepository
from ..repository import Repository
from ..repoobj import RepoObj
from ..legacy.repoobj import RepoObj1
from ..patterns import (
ArgparsePatternAction,
ArgparseExcludeFileAction,
Expand All @@ -34,7 +31,12 @@

def get_repository(location, *, create, exclusive, lock_wait, lock, args, v1_or_v2):
if location.proto in ("ssh", "socket"):
RemoteRepoCls = LegacyRemoteRepository if v1_or_v2 else RemoteRepository
if v1_or_v2:
from ..legacy.remote import LegacyRemoteRepository

RemoteRepoCls = LegacyRemoteRepository
else:
RemoteRepoCls = RemoteRepository
repository = RemoteRepoCls(
location, create=create, exclusive=exclusive, lock_wait=lock_wait, lock=lock, args=args
)
Expand All @@ -45,7 +47,12 @@ def get_repository(location, *, create, exclusive, lock_wait, lock, args, v1_or_
repository = Repository(location, create=create, exclusive=exclusive, lock_wait=lock_wait, lock=lock)

else:
RepoCls = LegacyRepository if v1_or_v2 else Repository
if v1_or_v2:
from ..legacy.repository import LegacyRepository

RepoCls = LegacyRepository
else:
RepoCls = Repository
repository = RepoCls(location.path, create=create, exclusive=exclusive, lock_wait=lock_wait, lock=lock)
return repository

Expand Down Expand Up @@ -195,9 +202,13 @@ def wrapper(self, args, **kwargs):
)
kwargs["other_repository"] = repository
if manifest or cache:
manifest_ = Manifest.load(
repository, compatibility, other=True, ro_cls=RepoObj if repository.version > 1 else RepoObj1
)
if repository.version > 1:
ro_cls = RepoObj
else:
from ..legacy.repoobj import RepoObj1

ro_cls = RepoObj1
manifest_ = Manifest.load(repository, compatibility, other=True, ro_cls=ro_cls)
assert_secure(repository, manifest_)
if manifest:
kwargs["other_manifest"] = manifest_
Expand Down
3 changes: 2 additions & 1 deletion src/borg/archiver/transfer_cmd.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@
from ..helpers.argparsing import ArgumentParser, ArgumentTypeError
from ..item import ChunkListEntry
from ..manifest import Manifest
from ..legacy.repository import LegacyRepository
from ..repository import Repository

from ..logger import create_logger
Expand All @@ -35,6 +34,8 @@ def transfer_chunks(

If chunker_params is provided, the chunks will be re-chunked using the specified parameters.
"""
from ..legacy.repository import LegacyRepository

transfer = 0
present = 0
chunks = []
Expand Down
8 changes: 6 additions & 2 deletions src/borg/remote.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,6 @@
from .logger import create_logger, borg_serve_log_queue
from .manifest import NoManifestError
from .helpers import msgpack
from .legacy.repository import LegacyRepository
from .repository import Repository, StoreObjectNotFound
from .version import parse_version, format_version
from .helpers.datastruct import EfficientCollectionQueue
Expand Down Expand Up @@ -358,7 +357,12 @@ def _resolve_path(self, path):
return path

def open(self, path, create=False, lock_wait=None, lock=True, exclusive=None, v1_or_v2=False):
self.RepoCls = LegacyRepository if v1_or_v2 else Repository
if v1_or_v2:
from .legacy.repository import LegacyRepository

self.RepoCls = LegacyRepository
else:
self.RepoCls = Repository
self.rpc_methods = self._legacy_rpc_methods if v1_or_v2 else self._rpc_methods
logging.debug("Resolving repository path %r", path)
path = self._resolve_path(path)
Expand Down
Loading