diff options
author | Maksim Denisov <denisov.maksim@huawei.com> | 2024-09-10 12:16:35 +0200 |
---|---|---|
committer | Maksim Denisov <denisov.maksim@huawei.com> | 2024-09-11 14:52:07 +0200 |
commit | b716a901802314ad57588b4b75f9ea785219827a (patch) | |
tree | f704079ca50740ac6e4e07d2ce90ec992250f489 /src/buildtool/common/repository_config.cpp | |
parent | 60be90f22c17ff113339bae5915c372ac26348ba (diff) | |
download | justbuild-b716a901802314ad57588b4b75f9ea785219827a.tar.gz |
Return ArtifactDigest from RepositoryConfig::RepositoryKey
...to prevent additional conversions to ArtifactDigest from plain strings.
Diffstat (limited to 'src/buildtool/common/repository_config.cpp')
-rw-r--r-- | src/buildtool/common/repository_config.cpp | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/src/buildtool/common/repository_config.cpp b/src/buildtool/common/repository_config.cpp index 52694d0b..804bec2e 100644 --- a/src/buildtool/common/repository_config.cpp +++ b/src/buildtool/common/repository_config.cpp @@ -36,18 +36,16 @@ auto RepositoryConfig::RepositoryInfo::BaseContentDescription() const auto RepositoryConfig::RepositoryKey(Storage const& storage, std::string const& repo) const noexcept - -> std::optional<std::string> { + -> std::optional<ArtifactDigest> { auto const unique = DeduplicateRepo(repo, storage.GetHashFunction()); if (auto const* data = Data(unique)) { // compute key only once (thread-safe) return data->key.SetOnceAndGet( - [this, &storage, &unique]() -> std::optional<std::string> { + [this, &storage, &unique]() -> std::optional<ArtifactDigest> { if (auto graph = BuildGraphForRepository( unique, storage.GetHashFunction())) { auto const& cas = storage.CAS(); - if (auto digest = cas.StoreBlob(graph->dump(2))) { - return digest->hash(); - } + return cas.StoreBlob(graph->dump(2)); } return std::nullopt; }); |