erepo: move misc stuff out of erepo (#5296)

* erepo: move get_rev to repo

* erepo: move fetch defaults to external_repo
This commit is contained in:
Ruslan Kuprieiev
2021-01-20 07:08:00 +02:00
committed by GitHub
parent 7cbcd4a7be
commit c6ce69dd30
2 changed files with 18 additions and 20 deletions
+10 -20
View File
@@ -44,6 +44,10 @@ def external_repo(url, rev=None, for_write=False, cache_dir=None, **kwargs):
cache_dir=cache_dir or _get_cache_dir(url),
**kwargs,
)
if "fetch" not in conf:
conf["fetch"] = True
repo = ExternalRepo(**conf)
try:
@@ -149,28 +153,14 @@ class ExternalRepo(Repo):
@cached_property
def repo_tree(self):
return self._get_tree_for(
self, subrepos=self.subrepos, repo_factory=self.make_repo
)
def get_rev(self):
from dvc.tree.local import LocalTree
assert self.scm
if isinstance(self.tree, LocalTree):
return self.scm.get_rev()
return self.tree.rev
def _get_tree_for(self, repo, **kwargs):
"""
Provides a combined tree of a single repo with dvc + git/local tree.
"""
from dvc.tree.repo import RepoTree
kw = {**self.tree_confs, **kwargs}
if "fetch" not in kw:
kw["fetch"] = True
return RepoTree(repo, **kw)
return RepoTree(
self,
subrepos=self.subrepos,
repo_factory=self.make_repo,
**self.tree_confs,
)
def make_repo(self, path):
config = self._cache_config.copy()
+8
View File
@@ -210,6 +210,14 @@ class Repo:
return SCM(self.root_dir, no_scm=True)
raise
def get_rev(self):
from dvc.tree.local import LocalTree
assert self.scm
if isinstance(self.tree, LocalTree):
return self.scm.get_rev()
return self.tree.rev
@cached_property
def experiments(self):
from dvc.repo.experiments import Experiments