Tags: patch Hello! I noticed that `C-x p f` (M-x project-find-file) took an incredibly long time to run on our monorepo -- even when using a sparse index -- and I tracked the problem down to this function. Adding `--sparse` to the `git-ls-files` invocation resolves the issue handily, albeit with the quirk of still showing top-level directories that are excised from the sparse index (which we may want to remove from the return value of this function since it does say it returns /files/). I'm expecting at least one more version of this patch before it's even considered for merge. Given that this change removes many, many results from the return value of `project--vc-list-files', I suspect this would be a breaking change for some use case that I'm not considering. I'm hoping the list can provide some feedback on the best way to make this configurable. I've not really hacked in project.el before and am not super familiar with its internals. If you prefer, you may pull this patch from my fork on github at url: git@github.com:vermiculus/emacs.git branch: sa/sparse-index Keep in mind I may be updating this branch with feedback from this list as it comes in. -Sean In GNU Emacs 29.1 (build 1, aarch64-apple-darwin21.6.0, NS appkit-2113.60 Version 12.6.6 (Build 21G646)) of 2023-07-30 built on armbob.lan Windowing system distributor 'Apple', version 10.3.2487 System Description: macOS 14.6.1 Configured using: 'configure --with-ns '--enable-locallisppath=/Library/Application Support/Emacs/${version}/site-lisp:/Library/Application Support/Emacs/site-lisp' --with-modules 'CFLAGS=-DFD_SETSIZE=10000 -DDARWIN_UNLIMITED_SELECT' --with-x-toolkit=no'