diff --git a/src/worker/run/internal.rs b/src/worker/run/internal.rs index 5536d32..ee8ab51 100644 --- a/src/worker/run/internal.rs +++ b/src/worker/run/internal.rs @@ -96,6 +96,17 @@ fn count(path: &Path) -> somehow::Result { } } + // Avoid excessive amounts of data in very large repos + if counts.files_by_dir.len() > 1000 { + counts.files_by_dir.retain(|name, _| !name.contains('/')); + } + if counts.lines_by_dir.len() > 1000 { + counts.lines_by_dir.retain(|name, _| !name.contains('/')); + } + if counts.todos_by_dir.len() > 1000 { + counts.todos_by_dir.retain(|name, _| !name.contains('/')); + } + Ok(counts) }