Gemini CLI GitIgnoreParser bug hides files re-included by nested .gitignore
auraseb · ghdev · 2026-10-19
Issue #29826 in google-gemini/gemini-cli: with a root .gitignore containing logs/ and a nested logs/.gitignore containing !keep.txt, Gemini CLI treats git-tracked logs/keep.txt as ignored, hiding it from @ completion, glob, grep, readmanyfiles, and the folder tree.
Per git semantics, logs/ matches contents but not the directory itself, so git still reads logs/.gitignore and the negation re-includes the file (verified via git check-ignore -v). The regression comes from #29582 (subtree pruning): expandWildcardDirectoryPatterns rewrites logs/ to also add /logs/, marking the directory itself ignored so GitIgnoreParser.computeRelDirState never loads the nested .gitignore. The expansion guard only considers negations in the same file, not in the directory's own .gitignore. The reporter has located the root cause and prepared a fix with a regression test, offering to open a PR.
More from coding & agent
- Claude Code Pushes Urgent Security Update Across All Installations — umeshonai · 2026-10-23
- Claude cut a 2.6-hour video export to 20 minutes — but only after being told to rebuild the server — byhewar · 2026-10-23
- 3 flight-booking rules my AI agent checks that I'd never do by hand — Efistoffeles · 2026-10-23
- OpenJet claims Qwen3.8-27B coding runs 1.9x faster than llama.cpp on one RTX 3090 — JeremyCMorgan · 2026-10-23
- Building an autonomous SEO agent in Hermes with three skills: programmatic pages, Keywords Everywhere, DataForSEO — EXM7777 · 2026-10-23
- Building a sports betting AI agent with onchain execution and human approval by default: architecture and lessons — Dry-Comfortable-2678 · 2026-10-23