[RFC PATCH 00/10] gitweb: Simple file based output caching
- From
Jakub Narebski <jnareb@gmail.com>
- Date
- Jan 23, 2010, 00:27 UTC
- Message-ID
- <cover.1264198194.git.jnareb@gmail.com>
- In-Reply-To
- <1263432185-21334-10-git-send-email-warthog9@eaglescrag.net>
This 10 patches long patch series is intended as proof of concept for splitting large 'gitweb: File based caching layer (from git.kernel.org)' mega-patch by John 'Warthog9' Hawley aka J.H., by starting small and adding features piece by piece.
This patch is meant as replacement for last two patches: * [PATCH 8/9] gitweb: Convert output to using indirect file handle Message-ID: <1263432185-21334-9-git-send-email-warthog9@eaglescrag.net> * [PATCH 9/9] gitweb: File based caching layer (from git.kernel.org) Message-ID: <1263432185-21334-10-git-send-email-warthog9@eaglescrag.net>
in the long patch series by J.H. * [PATCH 0/9] Gitweb caching v5 http://thread.gmane.org/gmane.comp.version-control.git/136913
Note that this patch series is part of 'gitweb/cache-kernel' branch of http://repo.or.cz/w/git/jnareb-git.git repository (gitweb link), built on top of modified patches from 'Gitweb caching v2' series (from 'gitweb-ml-v2' branch of http://git.kernel.org/?p=git/warthog9/gitweb.git repository). Therefore they might not apply as straight replacements on top of early parts of 'gitweb-ml-v5' branch.
This is work in progress (showing how I see introducing output caching to gitweb), it lacks proper documentation (POD for gitweb/cache.pm, new configuration variables in gitweb/README, perhaps "Gitweb caching" section in gitweb/README and gitweb/cache.pm mentioned in gitweb/INSTALL), and commits/patches marked '(WIP)' lacks proper commit message.
Just food for thought...
Table of contents:
~~~~~~~~~~~~~~~~~~
[RFC PATCH 01/10] gitweb: Print to explicit filehandle (preparing
for caching)
[RFC PATCH 02/10] gitweb: href(..., -path_info => 0|1)
[RFC PATCH 03/10] gitweb/cache.pm - Very simple file based caching
[RFC PATCH 04/10] gitweb/cache.pm - Stat-based cache expiration
[RFC PATCH 05/10] gitweb: Use Cache::Cache compatibile (get, set)
output caching (WIP)
[RFC PATCH 06/10] gitweb/cache.pm - Adaptive cache expiration time (WIP)
[RFC PATCH 07/10] gitweb: Use CHI compatibile (compute method) caching (WIP)
[RFC PATCH 08/10] gitweb/cache.pm - Use locking to avoid 'stampeding herd'
problem (WIP)
[RFC PATCH 09/10] gitweb/cache.pm - Serve stale data when waiting for
filling cache (WIP)
[RFC PATCH 10/10] gitweb: Show appropriate "Generating..." page when
regenerating cache (WIP)Diffstat: ~~~~~~~~~
gitweb/cache.pm | 566 ++++++++++ gitweb/gitweb.perl | 1923 +++++++++++++++++--------------- t/gitweb-lib.sh | 2 + t/t9500-gitweb-standalone-no-errors.sh | 13 + t/t9503-gitweb-caching.sh | 32 + t/t9503/test_cache_interface.pl | 195 ++++ t/test-lib.sh | 3 + 7 files changed, 1836 insertions(+), 898 deletions(-) create mode 100644 gitweb/cache.pm create mode 100755 t/t9503-gitweb-caching.sh create mode 100755 t/t9503/test_cache_interface.pl