Test for a directory not in cwd, but nested inside other directories.
(tmp_dir, dvc, scm)
| 108 | |
| 109 | |
| 110 | def test_tracked_directory_deep(tmp_dir, dvc, scm): |
| 111 | """Test for a directory not in cwd, but nested inside other directories.""" |
| 112 | (tmp_dir / "sub").gen({"dir": {"foo": "foo"}}) |
| 113 | dvc.add(fspath(tmp_dir / "sub" / "dir")) |
| 114 | scm.add_commit(["sub/dir.dvc", "sub/.gitignore"], message="add sub/dir") |
| 115 | |
| 116 | (tmp_dir / "sub" / "dir").gen("bar", "bar") |
| 117 | dvc.commit(None, force=True) |
| 118 | (tmp_dir / "sub" / "dir").gen("foobar", "foobar") |
| 119 | |
| 120 | assert dvc.data_status() == { |
| 121 | **EMPTY_STATUS, |
| 122 | "committed": {"modified": [join("sub", "dir", "")]}, |
| 123 | "uncommitted": {"modified": [join("sub", "dir", "")]}, |
| 124 | "git": M.dict(), |
| 125 | } |
| 126 | assert dvc.data_status(granular=True, untracked_files="all") == { |
| 127 | **EMPTY_STATUS, |
| 128 | "committed": { |
| 129 | "added": [join("sub", "dir", "bar")], |
| 130 | "modified": [join("sub", "dir", "")], |
| 131 | }, |
| 132 | "uncommitted": { |
| 133 | "added": [join("sub", "dir", "foobar")], |
| 134 | "modified": [join("sub", "dir", "")], |
| 135 | }, |
| 136 | "git": M.dict(), |
| 137 | "unchanged": [join("sub", "dir", "foo")], |
| 138 | } |
| 139 | |
| 140 | |
| 141 | @pytest.mark.parametrize("git_repo_state", ["unborn", "committed"]) |