summaryrefslogtreecommitdiff
path: root/src/buildtool/storage/compactifier.cpp
diff options
context:
space:
mode:
authorOliver Reiche <oliver.reiche@huawei.com>2024-06-27 17:12:06 +0200
committerOliver Reiche <oliver.reiche@huawei.com>2024-06-28 10:48:05 +0200
commit2e954a436b7c990e12eb98de9a6a9ba995dd9429 (patch)
treea215cf9b4fb8fe5e479ee7aa507f137b670bc660 /src/buildtool/storage/compactifier.cpp
parent67cab970091d5b23c07890deb29018c7eeb4edbc (diff)
downloadjustbuild-2e954a436b7c990e12eb98de9a6a9ba995dd9429.tar.gz
Use (un)expected for CAS access
Diffstat (limited to 'src/buildtool/storage/compactifier.cpp')
-rw-r--r--src/buildtool/storage/compactifier.cpp10
1 files changed, 3 insertions, 7 deletions
diff --git a/src/buildtool/storage/compactifier.cpp b/src/buildtool/storage/compactifier.cpp
index c8d65e8e..e9997efb 100644
--- a/src/buildtool/storage/compactifier.cpp
+++ b/src/buildtool/storage/compactifier.cpp
@@ -19,7 +19,6 @@
#include <filesystem>
#include <functional>
#include <optional>
-#include <variant>
#include <vector>
#include "src/buildtool/common/bazel_types.hpp"
@@ -283,21 +282,18 @@ template <ObjectType kType>
// Split the entry:
auto split_result = IsTreeObject(kType) ? task.cas.SplitTree(*digest)
: task.cas.SplitBlob(*digest);
- auto* parts = std::get_if<std::vector<bazel_re::Digest>>(&split_result);
- if (parts == nullptr) {
- auto* error = std::get_if<LargeObjectError>(&split_result);
- auto const error_message = error ? std::move(*error).Message() : "";
+ if (not split_result) {
task.Log(LogLevel::Error,
"Failed to split {}\nDigest: {}\nMessage: {}",
path.string(),
digest->hash(),
- error_message);
+ std::move(split_result).error().Message());
return false;
}
// If the file cannot actually be split (the threshold is too low), the
// file must not be deleted.
- if (parts->size() < 2) {
+ if (split_result->size() < 2) {
task.Log(LogLevel::Debug,
"{} cannot be compactified. The compactification "
"threshold is too low.",