summaryrefslogtreecommitdiff
path: root/src/buildtool/execution_api/local/local_api.hpp
diff options
context:
space:
mode:
authorSascha Roloff <sascha.roloff@huawei.com>2022-09-02 14:28:50 +0200
committerSascha Roloff <sascha.roloff@huawei.com>2022-09-12 14:45:34 +0200
commitb877561106e0913de7200836d3c5d167d06e3243 (patch)
tree39003d30fa4e43c75fd7c7e0e34c9ca8500d9519 /src/buildtool/execution_api/local/local_api.hpp
parent39f3122dd0977a5ea4e58a81ba4665353dda3499 (diff)
downloadjustbuild-b877561106e0913de7200836d3c5d167d06e3243.tar.gz
Fixed tree handling in compatible mode and added regression test
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);
}
}