]> git.ipfire.org Git - thirdparty/git.git/commit - read-cache.c
cache: add fake_lstat()
authorJunio C Hamano <gitster@pobox.com>
Thu, 14 Sep 2023 21:46:46 +0000 (14:46 -0700)
committerJunio C Hamano <gitster@pobox.com>
Sat, 16 Sep 2023 00:08:46 +0000 (17:08 -0700)
commitc33fa871a5c89091cfc89fd7b6ef504d2d48bef2
treed8eefcf40275cd2453b3ec5a34685f28627dd095
parent43c8a30d150ecede9709c1f2527c8fba92c65f40
cache: add fake_lstat()

At times, we may already know that a path represented by a
cache_entry ce has no changes via some out-of-line means, like
fsmonitor, and yet need the control to go through a codepath that
requires us to have "struct stat" obtained by lstat() on the path,
for various purposes (e.g. "ie_match_stat()" wants cached stat-info
is still current wrt "struct stat", "diff" wants to know st_mode).

The callers of lstat() on a tracked file, when its cache_entry knows
it is up-to-date, can instead call this helper to pretend that it
called lstat() by faking the "struct stat" information.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
read-cache-ll.h
read-cache.c
statinfo.c
statinfo.h