aboutsummaryrefslogtreecommitdiff
path: root/bdep/sync.cxx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2021-09-10 14:45:05 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2021-09-10 14:45:05 +0200
commit893f1063367d1bc64c82bf599a3c3fb757f6d3a5 (patch)
tree2ab325a9c34eb81279b8a4564657f936a9f5de64 /bdep/sync.cxx
parent005a7ca6b0c83e491b84623377862a51ecbdbb24 (diff)
Make sure we update BDEP_SYNCED_CONFIGS in all cases
Diffstat (limited to 'bdep/sync.cxx')
-rw-r--r--bdep/sync.cxx18
1 files changed, 16 insertions, 2 deletions
diff --git a/bdep/sync.cxx b/bdep/sync.cxx
index 44389bd..15222be 100644
--- a/bdep/sync.cxx
+++ b/bdep/sync.cxx
@@ -1954,10 +1954,17 @@ namespace bdep
if (synced (c->path, implicit))
return;
+ linked_configs lcfgs (find_config_cluster (co, c->path));
+ for (auto j (lcfgs.begin () + 1); j != lcfgs.end (); ++j)
+ {
+ bool r (synced (j->path, true /* implicit */));
+ assert (!r); // Should have been skipped via the first above.
+ }
+
cmd_sync (co,
prj,
{sync_config (c)},
- find_config_cluster (co, c->path),
+ move (lcfgs),
pkg_args,
implicit,
fetch,
@@ -1985,10 +1992,17 @@ namespace bdep
if (synced (cfg, true /* implicit */))
return;
+ linked_configs lcfgs (find_config_cluster (co, cfg));
+ for (auto j (lcfgs.begin () + 1); j != lcfgs.end (); ++j)
+ {
+ bool r (synced (j->path, true /* implicit */));
+ assert (!r); // Should have been skipped via the first above.
+ }
+
cmd_sync (co,
dir_path () /* prj */,
{sync_config (cfg)},
- find_config_cluster (co, cfg),
+ move (lcfgs),
strings () /* pkg_args */,
true /* implicit */,
fetch,