diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/buildtool/execution_api/local/local_api.hpp | 5 | ||||
-rw-r--r-- | src/buildtool/execution_api/remote/bazel/bazel_api.cpp | 5 |
2 files changed, 10 insertions, 0 deletions
diff --git a/src/buildtool/execution_api/local/local_api.hpp b/src/buildtool/execution_api/local/local_api.hpp index fb64f6a1..02fa4fa6 100644 --- a/src/buildtool/execution_api/local/local_api.hpp +++ b/src/buildtool/execution_api/local/local_api.hpp @@ -133,6 +133,11 @@ class LocalApi final : public IExecutionApi { std::vector<Artifact::ObjectInfo> const& artifacts_info, gsl::not_null<IExecutionApi*> const& api) noexcept -> bool final { + // Return immediately if target CAS is this CAS + if (this == api) { + return true; + } + // Determine missing artifacts in other CAS. std::vector<ArtifactDigest> digests; digests.reserve(artifacts_info.size()); diff --git a/src/buildtool/execution_api/remote/bazel/bazel_api.cpp b/src/buildtool/execution_api/remote/bazel/bazel_api.cpp index f1442111..a192737f 100644 --- a/src/buildtool/execution_api/remote/bazel/bazel_api.cpp +++ b/src/buildtool/execution_api/remote/bazel/bazel_api.cpp @@ -169,6 +169,11 @@ auto BazelApi::CreateAction( std::vector<Artifact::ObjectInfo> const& artifacts_info, gsl::not_null<IExecutionApi*> const& api) noexcept -> bool { + // Return immediately if target CAS is this CAS + if (this == api) { + return true; + } + // Determine missing artifacts in other CAS. std::vector<ArtifactDigest> digests; digests.reserve(artifacts_info.size()); |