summaryrefslogtreecommitdiff
path: root/src/other_tools/root_maps/fpath_git_map.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/other_tools/root_maps/fpath_git_map.cpp')
-rw-r--r--src/other_tools/root_maps/fpath_git_map.cpp42
1 files changed, 19 insertions, 23 deletions
diff --git a/src/other_tools/root_maps/fpath_git_map.cpp b/src/other_tools/root_maps/fpath_git_map.cpp
index 186261b7..913c3db7 100644
--- a/src/other_tools/root_maps/fpath_git_map.cpp
+++ b/src/other_tools/root_maps/fpath_git_map.cpp
@@ -37,15 +37,15 @@ void CheckServeAndSetRoot(
std::string const& tree_id,
std::string const& repo_root,
bool absent,
- bool serve_api_exists,
+ std::optional<gsl::not_null<const ServeApi*>> const& serve,
std::optional<gsl::not_null<IExecutionApi*>> const& remote_api,
FilePathGitMap::SetterPtr const& ws_setter,
FilePathGitMap::LoggerPtr const& logger) {
// if serve endpoint is given, try to ensure it has this tree available to
// be able to build against it. If root is not absent, do not fail if we
// don't have a suitable remote endpoint, but warn user nonetheless.
- if (serve_api_exists) {
- auto has_tree = CheckServeHasAbsentRoot(tree_id, logger);
+ if (serve) {
+ auto has_tree = CheckServeHasAbsentRoot(**serve, tree_id, logger);
if (not has_tree) {
return; // fatal
}
@@ -63,7 +63,8 @@ void CheckServeAndSetRoot(
}
}
else {
- if (not EnsureAbsentRootOnServe(tree_id,
+ if (not EnsureAbsentRootOnServe(**serve,
+ tree_id,
repo_root,
&(*remote_api.value()),
logger,
@@ -100,7 +101,7 @@ void ResolveFilePathTree(
bool absent,
gsl::not_null<CriticalGitOpMap*> const& critical_git_op_map,
gsl::not_null<ResolveSymlinksMap*> const& resolve_symlinks_map,
- bool serve_api_exists,
+ std::optional<gsl::not_null<const ServeApi*>> const& serve,
std::optional<gsl::not_null<IExecutionApi*>> const& remote_api,
gsl::not_null<TaskSystem*> const& ts,
FilePathGitMap::SetterPtr const& ws_setter,
@@ -125,7 +126,7 @@ void ResolveFilePathTree(
CheckServeAndSetRoot(*resolved_tree_id,
StorageConfig::GitRoot().string(),
absent,
- serve_api_exists,
+ serve,
remote_api,
ws_setter,
logger);
@@ -145,7 +146,7 @@ void ResolveFilePathTree(
tree_hash,
tree_id_file,
absent,
- serve_api_exists,
+ serve,
remote_api,
ts,
ws_setter,
@@ -186,7 +187,7 @@ void ResolveFilePathTree(
[resolved_tree_id,
tree_id_file,
absent,
- serve_api_exists,
+ serve,
remote_api,
ws_setter,
logger](auto const& values) {
@@ -214,7 +215,7 @@ void ResolveFilePathTree(
resolved_tree_id,
StorageConfig::GitRoot().string(),
absent,
- serve_api_exists,
+ serve,
remote_api,
ws_setter,
logger);
@@ -242,13 +243,8 @@ void ResolveFilePathTree(
// tree needs no further processing;
// if serve endpoint is given, try to ensure it has this tree available
// to be able to build against it
- CheckServeAndSetRoot(tree_hash,
- repo_root,
- absent,
- serve_api_exists,
- remote_api,
- ws_setter,
- logger);
+ CheckServeAndSetRoot(
+ tree_hash, repo_root, absent, serve, remote_api, ws_setter, logger);
}
}
@@ -259,7 +255,7 @@ auto CreateFilePathGitMap(
gsl::not_null<CriticalGitOpMap*> const& critical_git_op_map,
gsl::not_null<ImportToGitMap*> const& import_to_git_map,
gsl::not_null<ResolveSymlinksMap*> const& resolve_symlinks_map,
- bool serve_api_exists,
+ std::optional<gsl::not_null<const ServeApi*>> const& serve,
std::optional<gsl::not_null<IExecutionApi*>> const& remote_api,
std::size_t jobs,
std::string multi_repo_tool_name,
@@ -268,7 +264,7 @@ auto CreateFilePathGitMap(
critical_git_op_map,
import_to_git_map,
resolve_symlinks_map,
- serve_api_exists,
+ serve,
remote_api,
multi_repo_tool_name,
build_tool_name](auto ts,
@@ -307,7 +303,7 @@ auto CreateFilePathGitMap(
repo_root = std::move(*repo_root),
critical_git_op_map,
resolve_symlinks_map,
- serve_api_exists,
+ serve,
remote_api,
ts,
setter,
@@ -367,7 +363,7 @@ auto CreateFilePathGitMap(
absent,
critical_git_op_map,
resolve_symlinks_map,
- serve_api_exists,
+ serve,
remote_api,
ts,
setter,
@@ -389,7 +385,7 @@ auto CreateFilePathGitMap(
absent,
critical_git_op_map,
resolve_symlinks_map,
- serve_api_exists,
+ serve,
remote_api,
ts,
setter,
@@ -456,7 +452,7 @@ auto CreateFilePathGitMap(
absent = key.absent,
critical_git_op_map,
resolve_symlinks_map,
- serve_api_exists,
+ serve,
remote_api,
ts,
setter,
@@ -480,7 +476,7 @@ auto CreateFilePathGitMap(
absent,
critical_git_op_map,
resolve_symlinks_map,
- serve_api_exists,
+ serve,
remote_api,
ts,
setter,