diff --git a/dvc/command/remote.py b/dvc/command/remote.py index 8c6dbc3ef..683c040f4 100644 --- a/dvc/command/remote.py +++ b/dvc/command/remote.py @@ -19,6 +19,10 @@ class CmdRemoteConfig(CmdConfig): class CmdRemoteAdd(CmdRemoteConfig): def run(self): + if self.args.default: + logger.info( + "Setting '{}' as a default remote.".format(self.args.name) + ) self.remote_config.add( self.args.name, self.args.url, diff --git a/dvc/external_repo.py b/dvc/external_repo.py index 4e9c50e98..9aca3c2f9 100644 --- a/dvc/external_repo.py +++ b/dvc/external_repo.py @@ -73,15 +73,17 @@ def _external_repo(url=None, rev=None, cache_dir=None): # add default remote pointing to the original repo's cache location if os.path.isdir(url): rconfig = RemoteConfig(repo.config) - if not rconfig.remote_config_exists(): + if not rconfig.remote_remote_set(): original_repo = Repo(url) - rconfig.add( - "upstream", - original_repo.cache.local.cache_dir, - default=True, - level=Config.LEVEL_LOCAL, - ) - original_repo.close() + try: + rconfig.add( + "aut-generated-upstream", + original_repo.cache.local.cache_dir, + default=True, + level=Config.LEVEL_LOCAL, + ) + finally: + original_repo.close() if cache_dir is not None: cache_config = CacheConfig(repo.config) diff --git a/dvc/remote/config.py b/dvc/remote/config.py index e1dc2dfb9..b4d12baaa 100644 --- a/dvc/remote/config.py +++ b/dvc/remote/config.py @@ -105,7 +105,6 @@ class RemoteConfig(object): level=level, ) if default: - logger.info("Setting '{}' as a default remote.".format(name)) self.config.set( Config.SECTION_CORE, Config.SECTION_CORE_REMOTE, @@ -157,7 +156,7 @@ class RemoteConfig(object): Config.SECTION_CORE, Config.SECTION_CORE_REMOTE, level=level ) - def remote_config_exists(self): + def remote_remote_set(self): """ Checks if default remote config is present. Args: @@ -167,7 +166,7 @@ class RemoteConfig(object): True if the remote config exists, else False """ try: - default = self.get_default() + self.get_default() + return True except ConfigError: - default = None - return bool(default) + return False diff --git a/tests/func/test_external_repo.py b/tests/func/test_external_repo.py index 4c34505a0..de2b8b20b 100644 --- a/tests/func/test_external_repo.py +++ b/tests/func/test_external_repo.py @@ -1,9 +1,7 @@ -import filecmp import os from mock import patch -from dvc.repo import Repo from dvc.external_repo import external_repo from dvc.scm.git import Git from dvc.utils.fs import path_isin @@ -28,13 +26,3 @@ def test_external_repo(erepo): assert path_isin(repo.cache.local.cache_dir, repo.root_dir) assert mock.call_count == 1 - - -def test_external_repo_import_without_remote(erepo, dvc_repo): - src = erepo.FOO - dst = os.path.join(dvc_repo.root_dir, "foo") - - Repo.get(erepo.root_dir, src, dst) - assert os.path.exists(dst) - assert os.path.isfile(dst) - assert filecmp.cmp(erepo.FOO, dst, shallow=False) diff --git a/tests/func/test_get.py b/tests/func/test_get.py index 8b99547f0..07551c5f3 100644 --- a/tests/func/test_get.py +++ b/tests/func/test_get.py @@ -101,6 +101,7 @@ def test_get_from_non_dvc_master(erepo, tmp_path, monkeypatch, caplog): with caplog.at_level(logging.INFO, logger="dvc"): Repo.get(erepo._root_dir, erepo.FOO, out=imported_file, rev="branch") + assert caplog.text == "" assert filecmp.cmp( os.path.join(erepo._root_dir, erepo.FOO), imported_file, shallow=False )