projectile icon indicating copy to clipboard operation
projectile copied to clipboard

projectile-dir-files-alien returning deleted but unstaged files from git

Open wyuenho opened this issue 1 year ago • 3 comments

git ls-files does not have the ability to remove deleted but unstaged files from the result, but does have the ability to only show deleted but unstaged files. projectile-dir-files-alien and projectile-get-sub-projects-files need to remove deleted but unstaged files before returning the result.

Steps to reproduce the problem

  1. Make sure fd is not in PATH
  2. git init repo
  3. cd repo
  4. echo "hello world" > greeting.txt
  5. git commit -m "greeting" greeting.txt
  6. rm greeting.txt
  7. M-x eval-expression RET (projectile-dir-files (projectile-project-root)) -> ("greeting.txt")

Expectation:

nil should be returned

Environment & Version information

git version 2.45.2

Projectile version information

Projectile 20240212.1100

Emacs version

29.4

Operating system

macOS

wyuenho avatar Jul 13 '24 16:07 wyuenho

This issue has been automatically marked as stale because it has not had any recent activity. It will be closed soon if no further activity occurs. Thank you for your contribution and understanding!

github-actions[bot] avatar Jan 19 '25 02:01 github-actions[bot]

@bbatsov any ideas what the best approach is to solving this problem?

wyuenho avatar Jan 22 '25 18:01 wyuenho

One option would be to tweak projectile-git-command (see https://github.com/bbatsov/projectile/blob/master/projectile.el#L698). Alternatively there's projectile-git-use-fd (see https://github.com/bbatsov/projectile/blob/master/projectile.el#L689).

bbatsov avatar Jan 22 '25 18:01 bbatsov