path: root/gitweb
diff options
authorJakub Narebski <>2010-05-28 19:11:25 (GMT)
committerJunio C Hamano <>2010-06-02 18:54:06 (GMT)
commit78646987e41967bb3533fae221205d73ea9af4d1 (patch)
treed15f8bae4ea415991350dfbdf6ac54ce47558b0a /gitweb
parentd94775e1f9a9239a823b9aa52d754f9ec2635e6d (diff)
git-instaweb: Add support for running gitweb via 'plackup'
PSGI is an interface between Perl web applications and web servers, and Plack is a Perl module and toolkit that contains PSGI middleware, helpers and adapters to web servers; see PSGI and Plack are inspired by Python's WSGI and Ruby's Rack (and probably JavaScript's Jack/JSGI). Plack core distribution includes HTTP::Server::PSGI, a reference PSGI standalone web server implementation. 'plackup' is a command line launcher to run PSGI applications from command line, connecting web app to a web server via Plack::Runner module. By default it uses HTTP::Server::PSGI as a web server. git-instaweb generates gitweb.psgi wrapper (in $GIT_DIR/gitweb). This wrapper uses Plack::App::WrapCGI to compile gitweb.cgi (which is a CGI script) into a PSGI application using CGI::Compile and CGI::Emulate::PSGI. git-instaweb then runs this wrapper, using by default HTTP::Server::PSGI standalone Perl server, via Plack::Runner. The configuration for 'plackup' is currently embedded in generated gitweb.psgi wrapper, instead of using httpd.conf ($conf). To run git-instaweb with '--httpd=plackup', you need to have instaled Plack core, CGI::Emulate::PSGI, CGI::Compile. Those modules have to be available for Perl scripts (which can be done for example by setting PERL5LIB environment variable). This is currently not documented. Signed-off-by: Jakub Narebski <> Acked-by: Petr Baudis <> Acked-by: Eric Wong <> Signed-off-by: Junio C Hamano <>
Diffstat (limited to 'gitweb')
0 files changed, 0 insertions, 0 deletions