Jeff Garzik wrote:I have checked that at least Apache 2.0.54 passes HTTP_IF_MODIFIED_SINCE when getting If-Modified-Since: header (my own script + netcat/nc). Ah. First, it is better to use $projects_list which is projects index file in the format: <project path> SPC <project owner> where <project path> is relative to $projectroot and is URI encoded; well at least SPC has to be URI (percent) encoded. <project owner> is owner of given project, and is also URI encoded (one would usually use '+' in the place of SPC here). Gitweb now can generate projects list in above format, by using "project_index" action ("a=project_index" query string), or by clicking 'TXT' link at the bottom of the projects list page in new gitweb: see http://repo.or.cz by Petr Baudis. The problem is that it generates projects list from the list of projects it sees, so to generate it from scratch from the filesystem you have for generating "project_index" to have $projects_list a directory (changing it to something that evals to false, e.g. undef or "" makes gitweb use $projectroot for $projects_list). I have posted how to do this. The project list changes rarely, only on addition/removal of project, and on changing owner of project; so it can be generated on demand. Second, even with $projects_list being set to projects index file as of now gitweb runs git-for-each-ref (which scans refs and access pack file for commit date), checks for description file and reads it; for $projects_list being directory it also checks project directory owner. I plan to make it configurable to read last activity from all heads (all branches) as it is now, from HEAD (current branch) as it was before, or given branch (for example 'master'). Assuming that gitweb is configured to read last activity from single defined branch, generating ETag = checksum(sha1 of heads of projects) needs at least read one file from each project. No, it wanders into realm of header parsing by Apache, and NPH (No Parse Headers) option. Even if Apache does execute CGI script to completion every time, it might not send the output of the script, but HTTP 304 Not Modified reply. Might. I don't know if it does. -- Jakub Narebski Poland - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
| Ingo Molnar | [announce] "kill the Big Kernel Lock (BKL)" tree |
| Greg KH | [GIT PATCH] driver core patches against 2.6.24 |
| Emmanuel Florac | RAID-1 performance under 2.4 and 2.6 |
| Con Kolivas | Re: -mm merge plans for 2.6.23 |
git: | |
| Gerrit Renker | [PATCH 0/37] dccp: Feature negotiation - last call for comments |
| David Miller | [GIT]: Networking |
| Eric W. Biederman | Re: 2.6.24-rc3: find complains about /proc/net |
| David Miller | Re: [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
