Merge pull request #2759 from pared/2711

get/import: more meaningful message on NoRemoteError
This commit is contained in:
Ruslan Kuprieiev
2019-11-13 20:04:57 +02:00
committed by GitHub
2 changed files with 16 additions and 1 deletions
+10
View File
@@ -328,3 +328,13 @@ class CheckoutError(DvcException):
class CollectCacheError(DvcException):
pass
class RemoteNotSpecifiedInExternalRepoError(DvcException):
def __init__(self, url, cause=None):
super(RemoteNotSpecifiedInExternalRepoError, self).__init__(
"No DVC remote is specified in the target repository '{}'".format(
url
),
cause=cause,
)
+6 -1
View File
@@ -7,6 +7,8 @@ from distutils.dir_util import copy_tree
from funcy import retry
from dvc.config import NoRemoteError
from dvc.exceptions import RemoteNotSpecifiedInExternalRepoError
from dvc.utils import remove
@@ -19,7 +21,10 @@ def external_repo(url=None, rev=None, rev_lock=None, cache_dir=None):
path = _external_repo(url=url, rev=rev_lock or rev, cache_dir=cache_dir)
repo = Repo(path)
yield repo
try:
yield repo
except NoRemoteError as exc:
raise RemoteNotSpecifiedInExternalRepoError(url, cause=exc)
repo.close()