A few things:
- when we collect stages in a branch dvcignore is not used at all, i.e. we go into
.dvc and other ignored dirs
dvc_walk() and walk_files() always walk the working dir, but might accept dvcignore built from a branch. The results will make no sense.
We may approach this from two sides:
- wrap dvcignore into a tree, i.e.
dvctree = TreeWithIgnores(some_tree); dvctree.walk(...).
- check that we only use
dvcignore built from working dir if we os.walk().