Re: read-for-fill and caching in gitweb (Re: kernel.org mirroring)
From: Jakub Narebski <hidden>
Date: 2016-06-15 22:42:47
Martin Langhoff wrote:
On 12/29/06, Jakub Narebski [off-list ref] wrote:quoted
It is simply the case that new features cost more. Namely in earlier versions of gitweb Last Change time was taken from HEAD (from current branch), in newer we check all branches (using git-for-each-ref). For published public repository it migh make sense to pack also heads (make them packed refs).I haven't been using packed refs at all, but it sounds like it's a single file. So we can stat just that file rather than ask questions about the heads themselves. That makes checking for if-modified-since cheap as well.
That I think would work _only_ for the working repository. For publishing bare repository you push into (or which is a mirror of some other repository) I think stat $GIT_DIR/packed-refs would return date of last push (last mirror), not when repository was last committed to...
quoted
I was thinking about making this a gitweb %feature, allowing gitweb administrator to chose if Last Change is taken from all branches (as it is now), from HEAD (as it was before), or from given branch (for example master).I think the natural thing is to check all heads (doing it on the cheap on packed-refs repos) and provide tuning tips. in this case "use packed refs" which I guess will become the default eventually.
...but this could be included in above %feature. -- Jakub Narebski Poland