mirror of
https://github.com/Stone-Red-Code/dvc.git
synced 2026-11-10 07:18:27 +01:00
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:
+10
-20
@@ -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()
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user