summaryrefslogtreecommitdiff
path: root/src/buildtool/common/repository_config.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/buildtool/common/repository_config.cpp')
-rw-r--r--src/buildtool/common/repository_config.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/buildtool/common/repository_config.cpp b/src/buildtool/common/repository_config.cpp
index e47fc8d3..988c65cd 100644
--- a/src/buildtool/common/repository_config.cpp
+++ b/src/buildtool/common/repository_config.cpp
@@ -16,6 +16,7 @@
#include <initializer_list>
+#include "src/buildtool/file_system/git_tree_utils.hpp"
#include "src/utils/automata/dfa_minimizer.hpp"
auto RepositoryConfig::RepositoryInfo::BaseContentDescription() const
@@ -172,3 +173,12 @@ void RepositoryConfig::SetPrecomputedRoot(PrecomputedRoot const& root,
}
}
}
+
+auto RepositoryConfig::ReadTreeFromGitCAS(
+ std::string const& hex_id) const noexcept -> std::optional<GitTree> {
+ if (git_cas_ == nullptr or storage_config_ == nullptr) {
+ return std::nullopt;
+ }
+ return GitTreeUtils::ReadValidGitCASTree(
+ *storage_config_, hex_id, git_cas_);
+}