Re: Bug(feature?) on git-diff-files
- Date: Thu, 11 Apr 2019 08:57:04 -0400
- From: Jeff King <peff@xxxxxxxx>
- Subject: Re: Bug(feature?) on git-diff-files
On Thu, Apr 11, 2019 at 03:47:58PM +0300, NoName Req wrote:
> `git -C (folder path) diff-files --name-only` output is not correct
> Steps to Reproduce
> 1. Apply change to a clean git repository. Go to another folder (not
> within this repository) and apply the command
> `git -C repo-path diff-files --name-only`
> The above command lists dirty files in that repository.
> 2. Now undo your changes on the repository
> 3. Issue the same command. It still lists the file.
> More Information
> `git -C repo-path diff` command doesn't seem to have this problem.
Try running `git update-index --refresh` before running `diff-files`.
Unlike git-diff, git-diff-files is plumbing that is meant to be called
from scripts. So it is up to the script writer to decide when the index
should be refreshed from the actual filesystem (which makes sense, e.g.,
if you're going to do it once at the start of the script and then make a
bunch of separate diff-related calls).
Until that happens, diff-files will see only that the entry is
stat-dirty, and report it as a potential change.