diff options
author | Paul Cristian Sarbu <paul.cristian.sarbu@huawei.com> | 2025-05-26 14:46:25 +0200 |
---|---|---|
committer | Paul Cristian Sarbu <paul.cristian.sarbu@huawei.com> | 2025-06-04 14:34:44 +0200 |
commit | 811e9be4cc9604dba3d768639444c0d9f849a3c7 (patch) | |
tree | 15460350b2554be422b76c0cc817a4e5d8a1421e /src/buildtool/common/repository_config.hpp | |
parent | 8d4f583d63c657397583f778096b8bcb6d96c12f (diff) | |
download | justbuild-811e9be4cc9604dba3d768639444c0d9f849a3c7.tar.gz |
RepositoryConfig: Give access to a persistent storage config...
...whenever it is given access to a Git repository.
The referenced storage config needs to outlive the repository
config instance.
Diffstat (limited to 'src/buildtool/common/repository_config.hpp')
-rw-r--r-- | src/buildtool/common/repository_config.hpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/buildtool/common/repository_config.hpp b/src/buildtool/common/repository_config.hpp index 68023b8e..1a2f5be1 100644 --- a/src/buildtool/common/repository_config.hpp +++ b/src/buildtool/common/repository_config.hpp @@ -34,6 +34,7 @@ #include "src/buildtool/file_system/precomputed_root.hpp" #include "src/buildtool/logging/log_level.hpp" #include "src/buildtool/multithreading/atomic_value.hpp" +#include "src/buildtool/storage/config.hpp" #include "src/buildtool/storage/storage.hpp" class RepositoryConfig { @@ -64,7 +65,9 @@ class RepositoryConfig { [[nodiscard]] auto SetGitCAS( std::filesystem::path const& repo_path, + gsl::not_null<StorageConfig const*> const& storage_config, LogLevel log_level = LogLevel::Warning) noexcept -> bool { + storage_config_ = storage_config; git_cas_ = GitCAS::Open(repo_path, log_level); return static_cast<bool>(git_cas_); } @@ -181,6 +184,7 @@ class RepositoryConfig { std::unordered_map<std::string, RepositoryData> repos_; GitCASPtr git_cas_; + StorageConfig const* storage_config_ = nullptr; AtomicValue<duplicates_t> duplicates_; template <class T> |