From b2c1c4dccda50a95aac575e288699347a8f9ab8d Mon Sep 17 00:00:00 2001 From: Peter Rowlands Date: Thu, 26 Jan 2023 17:05:00 +0900 Subject: [PATCH] data_cloud: move version_aware config check to `get_remote` --- dvc/data_cloud.py | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/dvc/data_cloud.py b/dvc/data_cloud.py index d2f70dd4d..12bc376b8 100644 --- a/dvc/data_cloud.py +++ b/dvc/data_cloud.py @@ -25,14 +25,6 @@ class Remote: self.worktree: bool = config.pop("worktree", False) self.config = config - if self.worktree: - version_aware = self.config.get("version_aware") - if version_aware is False: - raise RemoteConfigError( - "worktree remotes require version_aware cloud" - ) - if version_aware is None: - self.fs.version_aware = True @cached_property def odb(self) -> "HashFileDB": @@ -71,6 +63,16 @@ class DataCloud: from dvc.fs import get_cloud_fs cls, config, fs_path = get_cloud_fs(self.repo, name=name) + + if config.get("worktree"): + version_aware = config.get("version_aware") + if version_aware is False: + raise RemoteConfigError( + "worktree remotes require version_aware cloud" + ) + if version_aware is None: + config["version_aware"] = True + fs = cls(**config) config["tmp_dir"] = self.repo.index_db_dir return Remote(name, fs_path, fs, **config)