From: luciano.rocha@booking.com Date: Tue, 14 Apr 2020 14:27:26 +0000 (+0200) Subject: freshen_file(): use NULL `times' for implicit current-time X-Git-Tag: v2.27.0-rc0~97^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=312cd7613013adbf9842e17a61b15d0e5950fb8c;p=thirdparty%2Fgit.git freshen_file(): use NULL `times' for implicit current-time Update freshen_file() to use a NULL `times', semantically equivalent to the currently setup, with an explicit `actime' and `modtime' set to the "current time", but with the advantage that it works with other files not owned by the current user. Fixes an issue on shared repos with a split index, where eventually a user's operation creates a shared index, and another user will later do an operation that will try to update its freshness, but will instead raise a warning: $ git status warning: could not freshen shared index '.git/sharedindex.bd736fa10e0519593fefdb2aec253534470865b2' Signed-off-by: Luciano Miguel Ferreira Rocha Signed-off-by: Junio C Hamano --- diff --git a/sha1-file.c b/sha1-file.c index 188de57634..c468ef7250 100644 --- a/sha1-file.c +++ b/sha1-file.c @@ -868,9 +868,7 @@ void prepare_alt_odb(struct repository *r) /* Returns 1 if we have successfully freshened the file, 0 otherwise. */ static int freshen_file(const char *fn) { - struct utimbuf t; - t.actime = t.modtime = time(NULL); - return !utime(fn, &t); + return !utime(fn, NULL); } /*