feat: add configurable file ignore patterns#147
Conversation
Introduce a `.gitcommitsummaryignore` system to exclude files from git
diffs. Exclusions are resolved from multiple locations (default, home,
XDG config, and project root) to provide better control over what is
analyzed by the LLM.
```mermaid
graph LR
A[Default Patterns] --> D(Exclusion Resolver)
B[~/.gitcommitsummaryignore] --> D
C[./.gitcommitsummaryignore] --> D
D --> E{Git Diff Args}
E --> F[Excluded Files]
```
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
There was a problem hiding this comment.
Code Review
This pull request refactors the git exclusion logic by moving hardcoded ignore patterns into a separate .gitcommitsummaryignore file and adding support for loading custom ignore patterns from the project directory, user home directory, and XDG config directory. The feedback suggests several key improvements: using xdg.SearchConfigFile to avoid creating empty directories, stopping the directory traversal when an empty ignore file is found, and utilizing Go's testing utilities (t.Setenv and t.Chdir) to prevent test pollution and ensure cross-platform compatibility.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
Coverage Report for CI Build 28711369180Warning No base build found for commit Coverage: 30.301%Details
Uncovered Changes
Coverage RegressionsRequires a base build to compare against. How to fix this → Coverage Stats
💛 - Coveralls |
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Introduce a
.gitcommitsummaryignoresystem to exclude files from git diffs. Exclusions are resolved from multiple locations (default, home, XDG config, and project root) to provide better control over what is analyzed by the LLM.graph LR A[Default Patterns] --> D(Exclusion Resolver) B[~/.gitcommitsummaryignore] --> D C[./.gitcommitsummaryignore] --> D D --> E{Git Diff Args} E --> F[Excluded Files]