diff options
mode: <>2020-04-14 14:27:26 (GMT)
committerJunio C Hamano <>2020-04-15 16:57:23 (GMT)
commit312cd7613013adbf9842e17a61b15d0e5950fb8c (patch)
parent506223f9c5c8956f895f0342e4a6d4244b5fa570 (diff)
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 <>
1 files changed, 1 insertions, 3 deletions
diff --git a/sha1-file.c b/sha1-file.c
index 188de57..c468ef7 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);