lazygit icon indicating copy to clipboard operation
lazygit copied to clipboard

`discard all changes` on an untracked directory deletes only files in it

Open c02y opened this issue 3 years ago • 3 comments

Describe the bug A clear and concise description of what the bug is.

I have a directory which contains files and dirs recursively, I open lazygit and navigate to the directory, d to discard all changes, all the files in the directory are deleted, but the top directory and all the subdirectories are still there.

To Reproduce Steps to reproduce the behavior:

  1. create a directoryA containing files and directoris in it inside a git repo
  2. open lazygit in the repo
  3. navigate to the directoryA
  4. d on the directoryA

Check the content in directoryA, files in it are all deleted, but directoryA and all subdirectories are not

Expected behavior A clear and concise description of what you expected to happen.

d (discard all changes) on an untracked directory should delete all the files and subdirectories and directory itself completely.

Screenshots If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: [e.g. Windows] Arch Linux
  • Lazygit Version [e.g. v0.1.45] v0.34 installed from Arch Linux repo
  • The last commit id if you built project from sources (run : git rev-parse HEAD)

Additional context Add any other context about the problem here.

Using the default configuration (~/.config/lazygit is created by first run of lazygit and no changes in it)

c02y avatar May 24 '22 20:05 c02y

Thanks for reporting this, it's reproducible and being looked into.

mark2185 avatar Jun 01 '22 17:06 mark2185

Another thing that solving this issue would solve - when discarding an entire directory, each file in the directory is checked out individually, it would be much faster just to checkout the entire directory (i.e. discarding exactly what's under the cursor), especially for big git-lfs directories.

mark2185 avatar Sep 12 '22 10:09 mark2185