summaryrefslogtreecommitdiff
path: root/src/buildtool/execution_api/local/local_api.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/buildtool/execution_api/local/local_api.hpp')
-rw-r--r--src/buildtool/execution_api/local/local_api.hpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/buildtool/execution_api/local/local_api.hpp b/src/buildtool/execution_api/local/local_api.hpp
index 1a43fe4b..06388287 100644
--- a/src/buildtool/execution_api/local/local_api.hpp
+++ b/src/buildtool/execution_api/local/local_api.hpp
@@ -161,7 +161,10 @@ class LocalApi final : public IExecutionApi {
const noexcept -> std::vector<ArtifactDigest> final {
std::vector<ArtifactDigest> result;
for (auto const& digest : digests) {
- if (not storage_->BlobPath(digest, false).has_value()) {
+ auto const& path = digest.is_tree()
+ ? storage_->TreePath(digest)
+ : storage_->BlobPath(digest, false);
+ if (not path) {
result.push_back(digest);
}
}