[PATCH 0/2] gitweb: Add support for running gitweb as FastCGI script
- From
Jakub Narebski <jnareb@gmail.com>
- Date
- May 7, 2010, 12:54 UTC
- Message-ID
- <1273236845-6523-1-git-send-email-jnareb@gmail.com>
This series requires the following patch:
[PATCH 3/5] gitweb: Use nonlocal jump instead of 'exit' in die_error http://article.gmane.org/gmane.comp.version-control.git/145678
which is present as c42b00c commit in 'pu', as part of 'jn/gitweb-caching-prep' branch, which was merged into 'pu' at 97153ab7.
This patch adds support for FastCGI directly to gitweb.perl (so it would be present in gitweb.cgi); selecting between FastCGI and CGI is done via command-line switch (command-line option). It uses CGI::Fast, which is core Perl module.
It is port of old patch by Sam Vilain from 2006 to new gitweb announced in
"Re: gitweb testing with non-apache web server" http://article.gmane.org/gmane.comp.version-control.git/24718
The preparatory patch is refactoring work, to not need to have request loop around large parts of code. I think the preparatory patch makes gitweb code more clean.
The alternate solution would be to add gitweb.fcgi wrapper, like e.g.: in the following patch by Eric Wong
"[PATCH 1/2] gitweb: add a simple wrapper for FCGI support" http://thread.gmane.org/gmane.comp.version-control.git/35920/focus=35921
which was part of the "[0/2 PATCH] FastCGI and nginx support for gitweb" series. (Note that the patch does 'do $gitweb_cgi;' without checking for errors, see the bottom of `perldoc -f do` documentation on how it should be done).
Some other references: * "GitWeb in FastCGI" by Peter Vereshagin http://thread.gmane.org/gmane.comp.version-control.git/142132 * "FastCGI support in gitweb" by Juan Jose Comellas http://thread.gmane.org/gmane.comp.version-control.git/75704
Table of contents: ~~~~~~~~~~~~~~~~~~ [PATCH/RFC 1/2] gitweb: Put all per-connection code in run() subroutine [PATCH/RFC 2/2] gitweb: Add support for FastCGI, using CGI::Fast
Jakub Narebski (1): gitweb: Put all per-connection code in run() subroutine
Sam Vilain (1): gitweb: Add support for FastCGI, using CGI::Fast
Diffstat: ~~~~~~~~~
gitweb/gitweb.perl | 409 ++++++++++++++++++++++++++++++++-------------------- 1 files changed, 255 insertions(+), 154 deletions(-)
Diffstat -w: ~~~~~~~~~~~~ When ignoring whitespace change (reindenting)
gitweb/gitweb.perl | 117 ++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 109 insertions(+), 8 deletions(-)
-- Jakub Narebski