summaryrefslogtreecommitdiff
path: root/src/buildstream/_cas/cascache.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/buildstream/_cas/cascache.py')
-rw-r--r--src/buildstream/_cas/cascache.py11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/buildstream/_cas/cascache.py b/src/buildstream/_cas/cascache.py
index e19ac39ac..aa9bf17df 100644
--- a/src/buildstream/_cas/cascache.py
+++ b/src/buildstream/_cas/cascache.py
@@ -550,13 +550,14 @@ class CASCache:
with open(objpath, "rb") as f:
tree.ParseFromString(f.read())
- tree.children.extend([tree.root])
+ dirbuffers = [tree.root.SerializeToString()]
for directory in tree.children:
- dirbuffer = directory.SerializeToString()
- dirdigest = self.add_object(buffer=dirbuffer)
- assert dirdigest.size_bytes == len(dirbuffer)
+ dirbuffers.append(directory.SerializeToString())
- return dirdigest
+ dirdigests = self.add_objects(buffers=dirbuffers)
+
+ # The digest of the root directory
+ return dirdigests[0]
# fetch_blobs():
#