From 95b3fcb09e94ac9f114509b205903b25a2bbd3ba Mon Sep 17 00:00:00 2001 From: Klaus Aehlig Date: Mon, 3 Apr 2023 16:38:54 +0200 Subject: Make git root part of the storage config In this way, we have the whole layout of the local build root consolidated in one place. Moreover, in this way, the location of the git root is also available to the build tool itself and can, e.g., be used as fallback CAS. --- src/other_tools/root_maps/content_git_map.cpp | 47 +++++++++++++-------------- 1 file changed, 23 insertions(+), 24 deletions(-) (limited to 'src/other_tools/root_maps/content_git_map.cpp') diff --git a/src/other_tools/root_maps/content_git_map.cpp b/src/other_tools/root_maps/content_git_map.cpp index 80072fee..9af1c49c 100644 --- a/src/other_tools/root_maps/content_git_map.cpp +++ b/src/other_tools/root_maps/content_git_map.cpp @@ -15,6 +15,7 @@ #include "src/other_tools/root_maps/content_git_map.hpp" #include "src/buildtool/file_system/file_storage.hpp" +#include "src/buildtool/storage/config.hpp" #include "src/buildtool/storage/storage.hpp" #include "src/other_tools/just_mr/progress_reporting/progress.hpp" #include "src/other_tools/just_mr/progress_reporting/statistics.hpp" @@ -67,15 +68,14 @@ auto CreateContentGitMap( } // ensure Git cache // define Git operation to be done - GitOpKey op_key = { - { - JustMR::Utils::GetGitCacheRoot(), // target_path - "", // git_hash - "", // branch - std::nullopt, // message - true // init_bare - }, - GitOpType::ENSURE_INIT}; + GitOpKey op_key = {{ + StorageConfig::GitRoot(), // target_path + "", // git_hash + "", // branch + std::nullopt, // message + true // init_bare + }, + GitOpType::ENSURE_INIT}; critical_git_op_map->ConsumeAfterKeysReady( ts, {std::move(op_key)}, @@ -114,14 +114,14 @@ auto CreateContentGitMap( return; } // set the workspace root - (*setter)(std::pair( - nlohmann::json::array( - {"git tree", - *subtree_hash, - JustMR::Utils::GetGitCacheRoot().string()}), - true)); + (*setter)( + std::pair(nlohmann::json::array( + {"git tree", + *subtree_hash, + StorageConfig::GitRoot().string()}), + true)); }, - [logger, target_path = JustMR::Utils::GetGitCacheRoot()]( + [logger, target_path = StorageConfig::GitRoot()]( auto const& msg, bool fatal) { (*logger)(fmt::format("While running critical Git " "op ENSURE_INIT for " @@ -204,7 +204,7 @@ auto CreateContentGitMap( } // we look for subtree in Git cache auto just_git_cas = - GitCAS::Open(JustMR::Utils::GetGitCacheRoot()); + GitCAS::Open(StorageConfig::GitRoot()); if (not just_git_cas) { (*logger)( "Could not open Git cache object database!", @@ -239,13 +239,12 @@ auto CreateContentGitMap( return; } // set the workspace root - (*setter)( - std::pair(nlohmann::json::array( - {"git tree", - *subtree_hash, - JustMR::Utils::GetGitCacheRoot() - .string()}), - false)); + (*setter)(std::pair( + nlohmann::json::array( + {"git tree", + *subtree_hash, + StorageConfig::GitRoot().string()}), + false)); }, [logger, target_path = tmp_dir->GetPath()]( auto const& msg, bool fatal) { -- cgit v1.2.3