aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKaren Arutyunov <karen@codesynthesis.com>2023-09-04 13:45:40 +0300
committerKaren Arutyunov <karen@codesynthesis.com>2023-09-25 11:35:25 +0300
commit43f21a60c09904657103b91e56b6fb2e5f339770 (patch)
tree6844be3d3ff79ca5b5e7c52c8b19eb069b582c89
parent8226c7c7a2bffc96d70f297e792f3c0afbce67f0 (diff)
In postponed_configuration::merge() also save ids of clusters merged into cluster being merged from
-rw-r--r--bpkg/pkg-build-collect.cxx3
-rw-r--r--bpkg/pkg-build-collect.hxx4
2 files changed, 5 insertions, 2 deletions
diff --git a/bpkg/pkg-build-collect.cxx b/bpkg/pkg-build-collect.cxx
index 47c5344..4ed8dc6 100644
--- a/bpkg/pkg-build-collect.cxx
+++ b/bpkg/pkg-build-collect.cxx
@@ -622,6 +622,9 @@ namespace bpkg
merged_ids.push_back (c.id);
+ for (size_t mid: c.merged_ids)
+ merged_ids.push_back (mid);
+
// Merge dependents.
//
for (auto& d: c.dependents)
diff --git a/bpkg/pkg-build-collect.hxx b/bpkg/pkg-build-collect.hxx
index 1ce6962..8d34162 100644
--- a/bpkg/pkg-build-collect.hxx
+++ b/bpkg/pkg-build-collect.hxx
@@ -691,7 +691,7 @@ namespace bpkg
// finalized or a further refinement is required. In the former case we
// report the first encountered unsatisfied dependency constraint and
// fail. Otherwise, we drop the cache and proceed with the next iteration of
- // the execution plan refinement which may resolve these problem naturally.
+ // the execution plan refinement which may resolve these problems naturally.
//
struct unsatisfied_dependent
{
@@ -774,7 +774,7 @@ namespace bpkg
{
public:
// The id of the cluster plus the ids of all the clusters that have been
- // merged into it.
+ // merged into it directly or as their components.
//
size_t id;
small_vector<size_t, 1> merged_ids;