Skip to content

ignore shouldn't apply the filter from .gitignore to .git folder. #2964

Open
@gwen-lg

Description

@gwen-lg

Please tick this box to confirm you have reviewed the above.

  • I have a different issue.

What version of ripgrep are you using?

ignore v0.4.23

How did you install ripgrep?

Cargo

What operating system are you using ripgrep on?

Fedora 41

Describe your bug.

If I use ignore to copy a folder with the associate git repository files, the filters of .gitignore are applied to files of the .git folder (ex with .idx).
Files from a .git folder work as a whole, it's seems logical to not apply to them the filter of .gitignore (when hidden is set to false in Walk)

Related issue in release-plz : release-plz/release-plz#1961

I have tried to use overrides with ".git/" and ".git/*", but from what i tested, whitelisting did not work with files in subfolder of .git (files in .git/objects/pack/ wasn't whitlisted).

What are the steps to reproduce the behavior?

iteratewith a ignoreWalk on a folder with a git repository, a gitignore with a line *.idx, and hidden set to false (to process .git folder) and see than idx files in .git/objects/pack/ are filtered.

I have encounter the problem with the usage of release-plz. cf issue : release-plz/release-plz#1961

What is the actual behavior?

release-plz update in a repository than have *.idx in .gitignore

What is the expected behavior?

I expect than the files of .git folder wasn't affected by filter of .gitignore
Or than, If I add .git/* in overrides, all files in .git and subfolders be whitelisted.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions