]> git.cameronkatri.com Git - cgit.git/commitdiff
ui_repolist: get modtime from packed-refs as fallback
authorFerry Huberts <ferry.huberts@pelagic.nl>
Fri, 13 May 2011 21:09:34 +0000 (23:09 +0200)
committerLars Hjemli <hjemli@gmail.com>
Mon, 30 May 2011 21:15:31 +0000 (23:15 +0200)
When no modtime could be determined then as a final
fallback try to get it from the packed-refs.

This will show an idle time when a repository has been packed
with all refs in the packed-refs.

Signed-off-by: Ferry Huberts <ferry.huberts@pelagic.nl>
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
ui-repolist.c

index 6f304bb36006834da65a319da5163ffe6b1bed60..dce2eacbbb750779b9eae7d2889fe48051960937 100644 (file)
@@ -46,11 +46,20 @@ static int get_repo_modtime(const struct cgit_repo *repo, time_t *mtime)
        }
 
        path = fmt("%s/refs/heads/%s", repo->path, repo->defbranch);
-       if (stat(path, &s) == 0)
+       if (stat(path, &s) == 0) {
                *mtime = s.st_mtime;
-       else
-               *mtime = 0;
+               r->mtime = *mtime;
+               return 1;
+       }
+
+       path = fmt("%s/%s", repo->path, "packed-refs");
+       if (stat(path, &s) == 0) {
+               *mtime = s.st_mtime;
+               r->mtime = *mtime;
+               return 1;
+       }
 
+       *mtime = 0;
        r->mtime = *mtime;
        return (r->mtime != 0);
 }