GitNexus/gitnexus/src/storage
Gergo Magyar 382801790c perf(config): memoize core.excludesFile / info/exclude resolution (#2606)
loadIgnoreRules is called once per repo, per language/contract
extractor during group sync -- an N-repo group fans out to 6+
extractors each calling it, turning an uncached execSync per call into
O(extractors x repos) blocking subprocess spawns for the exact
many-repos scenario #2606 describes.

Both getGitInfoExcludePath and getCoreExcludesFilePath resolve to the
same value for the same fromPath for the life of the process, so
memoize by fromPath in a process-lifetime Map. One-shot CLI runs are
unaffected by staleness; the long-lived MCP server would need explicit
invalidation if this becomes a real concern.
2026-07-21 19:09:50 +00:00
..
branch-index.ts feat: flat workspace index follows the checked-out branch (#2364) 2026-07-03 20:55:27 +01:00
file-hash.ts feat(analyze): incremental indexing (parse cache + DB writeback + scope-res short-circuit) (#1479) 2026-05-12 13:14:56 +01:00
fs-atomic.ts fix(storage): rename index metadata to gitnexus.json with dual-write compatibility (#2363) 2026-07-03 19:32:59 +01:00
git.ts perf(config): memoize core.excludesFile / info/exclude resolution (#2606) 2026-07-21 19:09:50 +00:00
parse-cache.ts feat(spring): build bean candidate inventory (#2494) 2026-07-20 09:28:23 +01:00
parsedfile-store.ts fix(scope-resolution): resolve callable reference flows (#2437) (#2522) 2026-07-17 17:20:02 +01:00
repo-manager.ts fix(storage): bump INCREMENTAL_SCHEMA_VERSION for Rust dyn-dispatch fix 2026-07-21 15:08:06 +00:00
scope-index-store.ts perf(ingestion): Linux-kernel-scale analysis — worker-pool parse + finalize O(n²) + scope-resolution memory wall (#1983) (#2038) 2026-06-06 22:46:34 +01:00