From 312cd7613013adbf9842e17a61b15d0e5950fb8c Mon Sep 17 00:00:00 2001 From: "luciano.rocha@booking.com" Date: Tue, 14 Apr 2020 16:27:26 +0200 Subject: [PATCH] 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 --- sha1-file.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) 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); } /*