summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/other_tools/just_mr/setup_utils.cpp23
1 files changed, 9 insertions, 14 deletions
diff --git a/src/other_tools/just_mr/setup_utils.cpp b/src/other_tools/just_mr/setup_utils.cpp
index 3398e817..e69c3656 100644
--- a/src/other_tools/just_mr/setup_utils.cpp
+++ b/src/other_tools/just_mr/setup_utils.cpp
@@ -67,7 +67,8 @@ void ReachableRepositories(
std::string const& main,
std::shared_ptr<JustMR::SetupRepos> const& setup_repos) {
// use temporary sets to avoid duplicates
- std::unordered_set<std::string> include_repos_set{};
+ std::unordered_set<std::string> include_repos_set;
+ std::unordered_set<std::string> setup_repos_set;
// computed must not contain overlay repos, so they are collected separately
std::unordered_set<std::string> computed_repos_set{};
@@ -110,23 +111,17 @@ void ReachableRepositories(
}
}
}
- }
- // Add overlay repositories
- std::unordered_set<std::string> setup_repos_set{include_repos_set};
- for (auto const& repo : include_repos_set) {
- auto repos_repo = repos->Get(repo, Expression::none_t{});
- if (repos_repo.IsNotNull()) {
- // copy over any present alternative root dirs
- for (auto const& layer : kAltDirs) {
- auto layer_val = repos_repo->Get(layer, Expression::none_t{});
- if (layer_val.IsNotNull() and layer_val->IsString()) {
- auto repo_name = layer_val->String();
- setup_repos_set.insert(repo_name);
- }
+ for (auto const& layer : kAltDirs) {
+ auto const layer_val =
+ repos_repo_name->Get(layer, Expression::none_t{});
+ if (layer_val.IsNotNull() and layer_val->IsString()) {
+ auto const layer_repo_name = layer_val->String();
+ setup_repos_set.insert(layer_repo_name);
}
}
}
+ setup_repos_set.insert(include_repos_set.begin(), include_repos_set.end());
setup_repos_set.insert(computed_repos_set.begin(),
computed_repos_set.end());