add: update state for known checksum for dir

This commit is contained in:
pared
2019-02-16 18:45:28 +01:00
parent 9e407430dc
commit a3c873d953
2 changed files with 30 additions and 1 deletions
+6
View File
@@ -415,11 +415,17 @@ class RemoteLOCAL(RemoteBase):
self.link(c, p)
self.state.update(p, md5)
self.state.update(c, md5)
if bar:
progress.update_target(dir_relpath, processed, dir_size)
self.state.update_link(path)
cache = self.get(md5)
self.state.update(cache)
if bar:
progress.finish_target(dir_relpath)
+24 -1
View File
@@ -238,6 +238,29 @@ class TestShouldUpdateStateEntryForFileAfterAdd(TestDvc):
self.assertEqual(ret, 0)
self.assertEqual(file_md5_counter.mock.call_count, 1)
ret = main(["run", "-d", self.FOO, "cat foo"])
ret = main(["run", "-d", self.FOO, "cat {}".format(self.FOO)])
self.assertEqual(ret, 0)
self.assertEqual(file_md5_counter.mock.call_count, 1)
class TestShouldUpdateStateEntryForDirectoryAfterAdd(TestDvc):
def test(self):
file_md5_counter = spy(dvc.state.file_md5)
with patch.object(dvc.state, "file_md5", file_md5_counter):
ret = main(["config", "cache.type", "copy"])
self.assertEqual(ret, 0)
ret = main(["add", self.DATA_DIR])
self.assertEqual(ret, 0)
self.assertEqual(file_md5_counter.mock.call_count, 3)
ret = main(["status"])
self.assertEqual(ret, 0)
self.assertEqual(file_md5_counter.mock.call_count, 3)
ret = main(
["run", "-d", self.DATA_DIR, "ls {}".format(self.DATA_DIR)]
)
self.assertEqual(ret, 0)
self.assertEqual(file_md5_counter.mock.call_count, 3)