▲ | burntsushi 14 hours ago | ||||||||||||||||
Can you provide a concrete example where that's faster? ripgrep should generally already be approximating `git ls-files` by respecting gitignore. Also, `-uu` tells ripgrep to not respect gitignore and to search hidden files. But ripgrep will still skip binary files. You need `-uuu` to also ignore binary files. I tried playing with your `rgg` function. First problem occurred when I tried it on a checkout the Linux kernel:
OK, so let's just use `xargs`:
And compared to just `rg APM_RESUME`:
So do you have an example where `git ls-files -z | xargs -0 rg ...` is faster than just `rg ...`? | |||||||||||||||||
▲ | oever 13 hours ago | parent | next [-] | ||||||||||||||||
A checkout of my repository [0] with many pdf and audio files (20GB) is slow with -u. These data files are normally ignored because 1) they are in .gitignore and 2) they are binary. The repository contains CI files in .woodpecker. These are scripts that I'd normally expect to be searching in. Until a week ago I used -uu to do so, but that made rg take over 4 seconds for a search. Using -. brings the search time down to 24ms.
To reproduce this with the given repository, fill it with 20GB of binary files.The -. flag makes this point moot though. | |||||||||||||||||
| |||||||||||||||||
▲ | EnPissant 6 hours ago | parent | prev [-] | ||||||||||||||||
I don't think this is the same thing as using gitignore. It will only search tracked files. For that it can just use the index. I would expect the index to be faster than looking at the fs for listings. | |||||||||||||||||
|