Merge pull request #1122 from efiop/master

dvc: don't scan output directories for dvc files
This commit is contained in:
Ruslan Kuprieiev
2018-09-15 07:45:21 +03:00
committed by GitHub
2 changed files with 21 additions and 1 deletions
+17 -1
View File
@@ -746,12 +746,28 @@ class Project(object):
def stages(self):
stages = []
outs = []
for root, dirs, files in os.walk(self.root_dir):
for fname in files:
path = os.path.join(root, fname)
if not Stage.is_stage_file(path):
continue
stages.append(Stage.load(self, path))
stage = Stage.load(self, path)
for out in stage.outs:
outs.append(out.path + out.sep)
stages.append(stage)
def filter_dirs(dname):
path = os.path.join(root, dname)
if path == self.dvc_dir or path == self.scm.dir:
return False
for out in outs:
if path == os.path.normpath(out) or path.startswith(out):
return False
return True
dirs[:] = list(filter(filter_dirs, dirs))
return stages
def active_stages(self):
+4
View File
@@ -99,6 +99,10 @@ class Git(Base):
git_dir = os.path.join(root_dir, Git.GIT_DIR)
return os.path.isdir(git_dir)
@property
def dir(self):
return self.repo.git_dir
def ignore_file(self):
return self.GITIGNORE