diff --git a/dvc/cachemgr.py b/dvc/cachemgr.py index b8df7b1f9b2..e94bc110f79 100644 --- a/dvc/cachemgr.py +++ b/dvc/cachemgr.py @@ -24,7 +24,7 @@ def _get_odb( if not settings: return None - cls, config, fs_path = get_cloud_fs(repo, **settings) + cls, config, fs_path = get_cloud_fs(repo.config, **settings) fs = fs or cls(**config) if prefix: fs_path = fs.path.join(fs_path, *prefix) diff --git a/dvc/data_cloud.py b/dvc/data_cloud.py index f60b17a4778..6af28269186 100644 --- a/dvc/data_cloud.py +++ b/dvc/data_cloud.py @@ -90,7 +90,7 @@ def get_remote( if name: from dvc.fs import get_cloud_fs - cls, config, fs_path = get_cloud_fs(self.repo, name=name) + cls, config, fs_path = get_cloud_fs(self.repo.config, name=name) if config.get("worktree"): version_aware = config.get("version_aware") diff --git a/dvc/fs/__init__.py b/dvc/fs/__init__.py index 8653d0fd4e6..5cacd44489f 100644 --- a/dvc/fs/__init__.py +++ b/dvc/fs/__init__.py @@ -87,7 +87,7 @@ def download(fs: "FileSystem", fs_path: str, to: str, jobs: Optional[int] = None def parse_external_url(url, config=None): remote_config = dict(config) if config else {} remote_config["url"] = url - fs_cls, fs_config, fs_path = get_cloud_fs(None, **remote_config) + fs_cls, fs_config, fs_path = get_cloud_fs({}, **remote_config) fs = fs_cls(**fs_config) return fs, fs_path @@ -133,18 +133,13 @@ def _resolve_remote_refs(config, remote_conf): return remote_conf base = get_fs_config(config, name=parsed.netloc) - cls, _, _ = _get_cloud_fs(config, **base) + cls, _, _ = get_cloud_fs(config, **base) relpath = parsed.path.lstrip("/").replace("/", cls.sep) url = cls.sep.join((base["url"], relpath)) return {**base, **remote_conf, "url": url} -def get_cloud_fs(repo, **kwargs): - repo_config = repo.config if repo else {} - return _get_cloud_fs(repo_config, **kwargs) - - -def _get_cloud_fs(repo_config, **kwargs): +def get_cloud_fs(repo_config, **kwargs): core_config = repo_config.get("core", {}) remote_conf = get_fs_config(repo_config, **kwargs) diff --git a/dvc/output.py b/dvc/output.py index cad9428ac4f..06924a22437 100644 --- a/dvc/output.py +++ b/dvc/output.py @@ -354,7 +354,11 @@ def __init__( # noqa: PLR0913 if fs_config is not None: fs_kwargs.update(**fs_config) - fs_cls, fs_config, fs_path = get_cloud_fs(self.repo, url=path, **fs_kwargs) + fs_cls, fs_config, fs_path = get_cloud_fs( + self.repo.config if self.repo else {}, + url=path, + **fs_kwargs, + ) self.fs = fs_cls(**fs_config) if ( @@ -1017,7 +1021,9 @@ def transfer( if odb is None: odb = self.cache - cls, config, from_info = get_cloud_fs(self.repo, url=source) + cls, config, from_info = get_cloud_fs( + self.repo.config if self.repo else {}, url=source + ) from_fs = cls(**config) # When running import-url --to-remote / add --to-remote/-o ... we