summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJürg Billeter <j@bitron.ch>2020-03-03 18:06:24 +0100
committerJürg Billeter <j@bitron.ch>2020-03-10 15:46:04 +0000
commita5236efc47a65544189c63c89588821b4b813220 (patch)
treeac20a036d4bb589c273a76e2b8ea92925498c71a
parent94d6a504df55d373459913418093b47decdfa697 (diff)
downloadbuildstream-a5236efc47a65544189c63c89588821b4b813220.tar.gz
storage: Add generic Directory._create_empty_file() method
This reimplements `_create_empty_file()` using the new `open_file()` method.
-rw-r--r--src/buildstream/storage/_casbaseddirectory.py8
-rw-r--r--src/buildstream/storage/_filebaseddirectory.py4
-rw-r--r--src/buildstream/storage/directory.py4
3 files changed, 4 insertions, 12 deletions
diff --git a/src/buildstream/storage/_casbaseddirectory.py b/src/buildstream/storage/_casbaseddirectory.py
index 5f30037af..d6c4a7813 100644
--- a/src/buildstream/storage/_casbaseddirectory.py
+++ b/src/buildstream/storage/_casbaseddirectory.py
@@ -217,14 +217,6 @@ class CasBasedDirectory(Directory):
self.__invalidate_digest()
- def _create_empty_file(self, name):
- digest = self.cas_cache.add_object(buffer=b"")
-
- entry = IndexEntry(name, _FileType.REGULAR_FILE, digest=digest)
- self.index[name] = entry
-
- self.__invalidate_digest()
-
def _add_entry(self, entry: IndexEntry):
self.index[entry.name] = entry.clone()
self.__invalidate_digest()
diff --git a/src/buildstream/storage/_filebaseddirectory.py b/src/buildstream/storage/_filebaseddirectory.py
index 3d3116411..53a87b64c 100644
--- a/src/buildstream/storage/_filebaseddirectory.py
+++ b/src/buildstream/storage/_filebaseddirectory.py
@@ -386,7 +386,3 @@ class FileBasedDirectory(Directory):
assert entry.type == _FileType.SYMLINK
os.symlink(entry.target, dest_path)
result.files_written.append(relative_pathname)
-
- def _create_empty_file(self, name):
- with open(os.path.join(self.external_directory, name), "w"):
- pass
diff --git a/src/buildstream/storage/directory.py b/src/buildstream/storage/directory.py
index 9ce0cacf3..bb9d78f7e 100644
--- a/src/buildstream/storage/directory.py
+++ b/src/buildstream/storage/directory.py
@@ -218,6 +218,10 @@ class Directory:
"""
raise NotImplementedError()
+ def _create_empty_file(self, *paths):
+ with self.open_file(*paths, mode="w"):
+ pass
+
# FileType:
#