remove dvc_walk, skip .dvcignore gathering test

This commit is contained in:
pawel
2019-12-30 14:19:43 +01:00
parent d8c0ae6909
commit d8813dc5ca
5 changed files with 11 additions and 28 deletions
+1 -3
View File
@@ -76,9 +76,7 @@ class DvcIgnoreFilter(object):
self.tree = tree
self.ignores = {DvcIgnoreDirs([".git", ".hg", ".dvc"])}
self._update(self.tree.tree_root)
for root, dirs, _ in self.tree.walk(
self.tree.tree_root, dvcignore=self
):
for root, dirs, _ in self.tree.walk(self.tree.tree_root):
for d in dirs:
self._update(os.path.join(root, d))
+1 -1
View File
@@ -136,7 +136,7 @@ class GitTree(BaseTree):
if not topdown:
yield os.path.normpath(tree.abspath), dirs, nondirs
def walk(self, top, topdown=True, **kwargs):
def walk(self, top, topdown=True):
"""Directory tree generator.
See `os.walk` for the docs. Differences:
+5 -7
View File
@@ -3,7 +3,6 @@ import os
from funcy import cached_property
from dvc.ignore import DvcIgnoreFilter
from dvc.utils import dvc_walk
from dvc.utils.compat import open
@@ -26,7 +25,7 @@ class BaseTree(object):
def isfile(self, path):
"""Test whether a path is a regular file"""
def walk(self, top, topdown=True, **kwargs):
def walk(self, top, topdown=True):
"""Directory tree generator.
See `os.walk` for the docs. Differences:
@@ -61,7 +60,7 @@ class WorkingTree(BaseTree):
"""Test whether a path is a regular file"""
return os.path.isfile(path)
def walk(self, top, topdown=True, dvcignore=None, **kwargs):
def walk(self, top, topdown=True):
"""Directory tree generator.
See `os.walk` for the docs. Differences:
@@ -72,15 +71,14 @@ class WorkingTree(BaseTree):
def onerror(e):
raise e
for root, dirs, files in dvc_walk(
top, dvcignore, topdown=topdown, onerror=onerror
for root, dirs, files in os.walk(
top, topdown=topdown, onerror=onerror
):
yield os.path.normpath(root), dirs, files
class CleanTree(BaseTree):
def __init__(self, tree):
super(CleanTree, self).__init__()
self.tree = tree
@cached_property
@@ -104,7 +102,7 @@ class CleanTree(BaseTree):
return self.tree.isfile(path)
def walk(self, top, topdown=True, **kwargs):
for r, d, fs in self.tree.walk(top, topdown, dvcignore=self.dvcignore):
for r, d, fs in self.tree.walk(top, topdown):
d[:], fs[:] = self.dvcignore(r, d, fs)
yield r, d, fs
-17
View File
@@ -288,23 +288,6 @@ def to_yaml_string(data):
return stream.getvalue()
def dvc_walk(top, dvcignore, topdown=True, onerror=None, followlinks=False):
"""
Proxy for `os.walk` directory tree generator.
Utilizes DvcIgnoreFilter functionality.
"""
top = fspath_py35(top)
for root, dirs, files in os.walk(
top, topdown=topdown, onerror=onerror, followlinks=followlinks
):
if dvcignore:
dirs[:], files[:] = dvcignore(root, dirs, files)
yield root, dirs, files
def walk_files(directory):
for root, _, files in os.walk(fspath(directory)):
for f in files:
+4
View File
@@ -90,6 +90,10 @@ def test_dvcignore_in_out_dir(tmp_dir, dvc):
dvc.add("dir")
@pytest.mark.skip(
reason="unable to apply .dvcignore on collection stage "
"after removing dvc_walk"
)
@pytest.mark.parametrize("dname", ["dir", "dir/subdir"])
def test_ignore_collecting_dvcignores(tmp_dir, dvc, dname):
tmp_dir.gen({"dir": {"subdir": {}}})