gemini-cli icon indicating copy to clipboard operation
gemini-cli copied to clipboard

limit search depth in path correcter

Open scidomino opened this issue 1 month ago • 3 comments

Summary

limit search depth in path corrector

Details

This was causing the CLI to freeze (b466194131) for googlers working in very large, wide, and slow directories.

Related Issues

Fixes #12650

How to Validate

Pre-Merge Checklist

  • [ ] Updated relevant documentation and README (if needed)
  • [ ] Added/updated tests (if needed)
  • [ ] Noted breaking changes (if any)
  • [ ] Validated on required platforms/methods:
    • [ ] MacOS
      • [ ] npm run
      • [ ] npx
      • [ ] Docker
      • [ ] Podman
      • [ ] Seatbelt
    • [ ] Windows
      • [ ] npm run
      • [ ] npx
      • [ ] Docker
    • [ ] Linux
      • [ ] npm run
      • [ ] npx
      • [ ] Docker

scidomino avatar Dec 10 '25 00:12 scidomino

Summary of Changes

Hello @scidomino, I'm Gemini Code Assist[^1]! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request significantly refactors the file path correction mechanism to enhance performance and provide better control over file system searches. It introduces a new synchronous breadth-first search utility that allows specifying a maximum directory depth, replacing the previous, less controlled file finding approach. This change centralizes file search logic, improves efficiency by preventing deep, unbounded directory traversals, and integrates advanced file filtering capabilities.

Highlights

  • Replaced findFiles with bfsFileSearchSync: The pathCorrector now utilizes a newly introduced synchronous breadth-first search utility (bfsFileSearchSync) for file discovery, moving away from the previous findFiles method within the FileSystemService.
  • Introduced Search Depth Limit: The new bfsFileSearchSync function, as used in pathCorrector, is configured with a maxDirs limit of 50. This prevents excessively deep and potentially slow file system scans, improving performance for path correction.
  • Refactored File System Service Interface: The findFiles method has been removed from the FileSystemService interface and its concrete implementations (AcpFileSystemService, StandardFileSystemService), streamlining the core file system service to focus on basic read/write operations.
  • Enhanced File Filtering Integration: The bfsFileSearchSync function now integrates with FileDiscoveryService and fileFilteringOptions (e.g., respectGitIgnore, respectGeminiIgnore), allowing for more intelligent and configurable exclusion of files and directories during searches.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with :thumbsup: and :thumbsdown: on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

[^1]: Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

gemini-code-assist[bot] avatar Dec 10 '25 00:12 gemini-code-assist[bot]

Size Change: +1.25 kB (+0.01%)

Total Size: 21.6 MB

Filename Size Change
./bundle/gemini.js 21.5 MB +1.25 kB (+0.01%)
ℹ️ View Unchanged
Filename Size
./bundle/sandbox-macos-permissive-closed.sb 1.03 kB
./bundle/sandbox-macos-permissive-open.sb 890 B
./bundle/sandbox-macos-permissive-proxied.sb 1.31 kB
./bundle/sandbox-macos-restrictive-closed.sb 3.29 kB
./bundle/sandbox-macos-restrictive-open.sb 3.36 kB
./bundle/sandbox-macos-restrictive-proxied.sb 3.56 kB

compressed-size-action

github-actions[bot] avatar Dec 10 '25 00:12 github-actions[bot]

/gemini review

scidomino avatar Dec 10 '25 01:12 scidomino