summaryrefslogtreecommitdiff
path: root/src/buildtool/serve_api/remote/serve_api.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/buildtool/serve_api/remote/serve_api.hpp')
-rw-r--r--src/buildtool/serve_api/remote/serve_api.hpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/buildtool/serve_api/remote/serve_api.hpp b/src/buildtool/serve_api/remote/serve_api.hpp
index 975e7a17..6746fb57 100644
--- a/src/buildtool/serve_api/remote/serve_api.hpp
+++ b/src/buildtool/serve_api/remote/serve_api.hpp
@@ -174,6 +174,14 @@ class ServeApi final {
std::filesystem::path const& git_repo)
const noexcept -> expected<std::monostate, UploadError>;
+ /// \brief Download a git tree from serve.
+ /// \param tree Tree to download.
+ /// \return std::monostate if after the call the requested tree can be found
+ /// in the native CAS to which this serve instance is bound to, or an
+ /// unexpected error message on failure.
+ [[nodiscard]] auto DownloadTree(ArtifactDigest const& tree) const noexcept
+ -> expected<std::monostate, std::string>;
+
private:
// source tree service client
SourceTreeClient const stc_;