fd icon indicating copy to clipboard operation
fd copied to clipboard

[BUG] Incorrect application of `.gitignore` rules when using `fd` from a nested directory

Open niba opened this issue 1 year ago • 3 comments

Checks

  • [X] I have read the troubleshooting section and still think this is a bug.

Describe the bug you encountered:

When fd is executed from a nested directory it incorrectly ignores files that should be included based on the root .gitignore rules.

In the root directory I have a .gitignore containing this rule /packages/*/logs

in my project I have the following files

/packages/api_next/src/models/logs/job/jobLogs.service.ts /packages/api_next/src/models/logs/execution/executionLogs.module.ts ... etc

When I call fd from my root it returns the files listed above. However, when I go to

/packages/api_next/

and then execute fd I receive no results.

Removing the line /packages/*/logs from gitignore resolves this issue

Describe what you expected to happen:

fd should correctly respect .gitignore and return all files in

/packages/api_next/src/models/logs/...

regardless of the cwd

What version of fd are you using?

9.0.0

Which operating system / distribution are you on?

Darwin 23.3.0 arm64

niba avatar Mar 05 '24 21:03 niba

This is probably a bug in the ignore crate.

I can confirm that the same issue occurs with ripgrep if I use the --files option with it.

Would you mind creating an issue for this on the ripgrep package where the code for the ignore library is?

tmccombs avatar Mar 06 '24 07:03 tmccombs

Actually, I'll just file a bug upstream.

tmccombs avatar Mar 06 '24 07:03 tmccombs

https://github.com/BurntSushi/ripgrep/issues/2747

tmccombs avatar Mar 06 '24 07:03 tmccombs