On Wed, Jan 13, 2010 at 06:57:28PM -0500, Stephen Bannasch wrote: > If I touch a file in the working directory (only changing it's last-modified) attribute it shows up when running git diff-files. > > If I then run git status followed by git diff-files again it doesn't show up either time. > > Is this an error? No. For performance reasons[1], plumbing commands like diff-files do not update the index. You must run "git update-index --refresh" manually. User-facing porcelain commands like "git diff" and "git status" will refresh the index automatically. So "git status" will, as a side effect, refresh the index and impact further calls to diff-files. -Peff [1] Refreshing the index needs to stat all of the files. If you are writing a script using plumbing commands, you probably want to do the possibly-expensive refresh once at the start of your script, and then issue many diff commands. This makes a lot of sense for "diff-index", which otherwise does not need to touch the working tree at all. I'm not sure how much it helps with diff-files, though, which clearly ends up stat'ing the working tree file anyway. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html