Re: Should update-index --refresh force writing the index in case of racy timestamps?
From: Junio C Hamano <hidden>
Date: 2021-12-18 00:08:37
"brian m. carlson" [off-list ref] writes:
On 2021-12-17 at 10:44:32, Marc Strapetz wrote:quoted
For one of my Git-LFS test repositories, switching between branches quite often results in lots of racy index timestamps. Subsequent calls to "git update-index --refresh" or "git status" will invoke the "lfs" filter over and over again, just to figure out that all entries are still up-to-date. Hence, the index will never be rewritten and racy timestamps will remain. To break out of this state, it seems favorable to write the index if any racy timestamp is detected. We will be able to provide a patch if this change sounds reasonable.Sure, this sounds reasonable, especially if, as you mentioned, git status already does this. We might as well make the plumbing commands as functional as the porcelain commands.
Given that "update-index --refresh" is a way to say "we know something changed to make cached stat information dirty even for otherwise clean paths and we want our 'diff-files' and other plumbing command to start relying on the cached stat information again, so please do as much I/O as you need", I agree that it should do as thourough job as necessary.