summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJürg Billeter <j@bitron.ch>2020-02-18 10:10:53 +0100
committerJürg Billeter <j@bitron.ch>2020-02-27 12:33:57 +0000
commite842b94e0e77c027751381be7cc4ac0e73ae39f1 (patch)
treecaeb95972211a85bbefb5b0eba7c1e62c531b9ed
parent685ba2933c2371b56070ce7bee9b16ad478f12f9 (diff)
downloadbuildstream-e842b94e0e77c027751381be7cc4ac0e73ae39f1.tar.gz
_casbaseddirectory.py: Add _set_subtree_read_only() method
-rw-r--r--src/buildstream/storage/_casbaseddirectory.py9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/buildstream/storage/_casbaseddirectory.py b/src/buildstream/storage/_casbaseddirectory.py
index a42a9f87c..51d9909fd 100644
--- a/src/buildstream/storage/_casbaseddirectory.py
+++ b/src/buildstream/storage/_casbaseddirectory.py
@@ -813,6 +813,15 @@ class CasBasedDirectory(Directory):
except VirtualDirectoryError:
return False
+ def _set_subtree_read_only(self, read_only):
+ self.__node_properties = list(filter(lambda prop: prop.name != "SubtreeReadOnly", self.__node_properties))
+ node_property = remote_execution_pb2.NodeProperty()
+ node_property.name = "SubtreeReadOnly"
+ node_property.value = "true" if read_only else "false"
+ self.__node_properties.append(node_property)
+
+ self.__invalidate_digest()
+
def __invalidate_digest(self):
if self.__digest:
self.__digest = None