diff --git a/dvc/ignore.py b/dvc/ignore.py index ff3259ff4..301e66691 100644 --- a/dvc/ignore.py +++ b/dvc/ignore.py @@ -233,7 +233,10 @@ class DvcIgnoreFilter: self._ignored_subrepos[root] = self._ignored_subrepos.get( root, set() ) | {d} - new_pattern = DvcIgnorePatterns([f"/{d}/"], root) + pattern_info = PatternInfo( + f"/{d}/", "in sub_repo:{}".format(d) + ) + new_pattern = DvcIgnorePatterns([pattern_info], root) old_pattern = self.ignores_trie_tree.longest_prefix(root).value if old_pattern: self.ignores_trie_tree[root] = DvcIgnorePatterns( diff --git a/tests/func/test_check_ignore.py b/tests/func/test_check_ignore.py index e9750f436..dd974fc4f 100644 --- a/tests/func/test_check_ignore.py +++ b/tests/func/test_check_ignore.py @@ -83,12 +83,16 @@ def test_check_ignore_out_side_repo(tmp_dir, dvc): assert main(["check-ignore", "-q", "../file"]) == 1 -def test_check_ignore_sub_repo(tmp_dir, dvc): +def test_check_ignore_sub_repo(tmp_dir, dvc, caplog): tmp_dir.gen( {DvcIgnore.DVCIGNORE_FILE: "other", "dir": {".dvc": {}, "foo": "bar"}} ) - assert main(["check-ignore", "-q", os.path.join("dir", "foo")]) == 1 + assert main(["check-ignore", "-d", os.path.join("dir", "foo")]) == 0 + assert ( + "in sub_repo:{}\t{}".format("dir", os.path.join("dir", "foo"),) + in caplog.text + ) def test_check_sub_dir_ignore_file(tmp_dir, dvc, caplog):