mirror of
https://github.com/Stone-Red-Code/dvc.git
synced 2026-11-08 23:09:48 +01:00
dvc: autowrap repo tree into CleanTree
This commit is contained in:
@@ -83,7 +83,7 @@ class Repo(object):
|
||||
|
||||
self.scm = SCM(self.root_dir)
|
||||
|
||||
self.tree = CleanTree(WorkingTree(self.root_dir))
|
||||
self.tree = WorkingTree(self.root_dir)
|
||||
|
||||
self.tmp_dir = os.path.join(self.dvc_dir, "tmp")
|
||||
makedirs(self.tmp_dir, exist_ok=True)
|
||||
@@ -120,7 +120,7 @@ class Repo(object):
|
||||
|
||||
@tree.setter
|
||||
def tree(self, tree):
|
||||
self._tree = tree
|
||||
self._tree = tree if isinstance(tree, CleanTree) else CleanTree(tree)
|
||||
# Our graph cache is no longer valid, as it was based on the previous
|
||||
# tree.
|
||||
self._reset()
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
from funcy import group_by
|
||||
|
||||
from dvc.ignore import CleanTree
|
||||
from dvc.scm.tree import WorkingTree
|
||||
|
||||
|
||||
@@ -30,7 +29,7 @@ def brancher( # noqa: E302
|
||||
|
||||
scm = self.scm
|
||||
|
||||
self.tree = CleanTree(WorkingTree(self.root_dir))
|
||||
self.tree = WorkingTree(self.root_dir)
|
||||
yield "working tree"
|
||||
|
||||
if all_commits:
|
||||
@@ -44,7 +43,7 @@ def brancher( # noqa: E302
|
||||
|
||||
try:
|
||||
for sha, names in group_by(scm.resolve_rev, revs).items():
|
||||
self.tree = CleanTree(scm.get_tree(sha))
|
||||
self.tree = scm.get_tree(sha)
|
||||
yield ", ".join(names)
|
||||
finally:
|
||||
self.tree = saved_tree
|
||||
|
||||
+5
-9
@@ -1,15 +1,11 @@
|
||||
import os
|
||||
from errno import ENOENT
|
||||
|
||||
import dvc.logger as logger
|
||||
from dvc.ignore import CleanTree
|
||||
from . import locked
|
||||
from dvc import logger
|
||||
from dvc.scm.base import FileNotInCommitError
|
||||
from dvc.scm.git import DIFF_A_REF
|
||||
from dvc.scm.git import DIFF_A_TREE
|
||||
from dvc.scm.git import DIFF_B_REF
|
||||
from dvc.scm.git import DIFF_B_TREE
|
||||
from dvc.scm.git import DIFF_A_REF, DIFF_B_REF, DIFF_A_TREE, DIFF_B_TREE
|
||||
from dvc.scm.git import DIFF_EQUAL
|
||||
from . import locked
|
||||
|
||||
|
||||
DIFF_TARGET = "target"
|
||||
@@ -136,9 +132,9 @@ def _is_dir(path, a_outs, b_outs):
|
||||
|
||||
|
||||
def _get_diff_outs(self, diff_dct):
|
||||
self.tree = CleanTree(diff_dct[DIFF_A_TREE])
|
||||
self.tree = diff_dct[DIFF_A_TREE]
|
||||
a_outs = {str(out): out for st in self.stages for out in st.outs}
|
||||
self.tree = CleanTree(diff_dct[DIFF_B_TREE])
|
||||
self.tree = diff_dct[DIFF_B_TREE]
|
||||
b_outs = {str(out): out for st in self.stages for out in st.outs}
|
||||
outs_paths = set(a_outs.keys())
|
||||
outs_paths.update(b_outs.keys())
|
||||
|
||||
@@ -4,7 +4,7 @@ import shutil
|
||||
import pytest
|
||||
|
||||
from dvc.exceptions import DvcIgnoreInCollectedDirError
|
||||
from dvc.ignore import DvcIgnore, DvcIgnoreDirs, DvcIgnorePatterns, CleanTree
|
||||
from dvc.ignore import DvcIgnore, DvcIgnoreDirs, DvcIgnorePatterns
|
||||
from dvc.scm.tree import WorkingTree
|
||||
from dvc.utils import relpath
|
||||
from dvc.compat import fspath_py35, fspath
|
||||
@@ -113,11 +113,10 @@ def test_ignore_on_branch(tmp_dir, scm, dvc):
|
||||
scm.checkout("master")
|
||||
assert _files_set(".", dvc.tree) == {"./foo", "./bar"}
|
||||
|
||||
tree = CleanTree(scm.get_tree("branch"))
|
||||
|
||||
assert _files_set(".", tree) == {
|
||||
to_posixpath(os.path.join(tree.tree_root, DvcIgnore.DVCIGNORE_FILE)),
|
||||
to_posixpath(os.path.join(tree.tree_root, "bar")),
|
||||
dvc.tree = scm.get_tree("branch")
|
||||
assert _files_set(".", dvc.tree) == {
|
||||
to_posixpath(os.path.join(dvc.root_dir, DvcIgnore.DVCIGNORE_FILE)),
|
||||
to_posixpath(os.path.join(dvc.root_dir, "bar")),
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user