Skip to content

Commit b7041db

Browse files
committed
Fix: moon docker scaffold performance
1 parent d8765af commit b7041db

1 file changed

Lines changed: 10 additions & 0 deletions

File tree

crates/app/src/commands/docker/scaffold.rs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -302,7 +302,13 @@ async fn scaffold_sources_project(
302302
docker_sources_root: &Path,
303303
project_id: &Id,
304304
manifest: &mut DockerManifest,
305+
visited: &mut FxHashSet<Id>,
305306
) -> AppResult {
307+
// Skip if already visited
308+
if !visited.insert(project_id.to_owned()) {
309+
return Ok(None);
310+
}
311+
306312
manifest.focused_projects.insert(project_id.to_owned());
307313

308314
let project = project_graph.get(project_id)?;
@@ -377,6 +383,7 @@ async fn scaffold_sources_project(
377383
docker_sources_root,
378384
&dep_cfg.id,
379385
manifest,
386+
visited,
380387
)
381388
.await?;
382389
}
@@ -405,6 +412,8 @@ async fn scaffold_sources(
405412
unfocused_projects: FxHashSet::default(),
406413
};
407414

415+
let mut visited = FxHashSet::default();
416+
408417
// Copy all projects
409418
for project_id in project_ids {
410419
scaffold_sources_project(
@@ -413,6 +422,7 @@ async fn scaffold_sources(
413422
&docker_sources_root,
414423
project_id,
415424
&mut manifest,
425+
&mut visited,
416426
)
417427
.await?;
418428
}

0 commit comments

Comments
 (0)