Subject: Re: [PATCH (version C) 1/2] gitweb: Prepare for splitting gitweb

From: Jakub Narebski <[email-masked]>
Date: Sat, 12 Feb 2011 00:21:56 +0100

On Wed, 2 Feb 2011, Alejandro R. Sedeño wrote:
> On 2/1/2011 11:50 AM, Jakub Narebski wrote:
> >
> > Prepare gitweb for being split into modules that would be installed
> > in gitweblibdir, by default alongside gitweb in 'lib/' subdirectory.
> > 
> > Gitweb would search first in 'lib/' subdirectory from where it is
> > installed, via
> > 
> >   use lib __DIR__.'/lib';
> > 
> > (This allow for tests to work with source version of gitweb without
> > changes.)  Then it searches in $(gitweblibdir) directory (set during
> > build time), by default "$(gitwebdir)/lib", via
> > 
> >   use lib "++GITWEBLIBDIR++";
> > 
> > "++GITWEBLIBDIR++" is set to appropriate value during build time
> > (generating gitweb.cgi).  This allows to select where to install
> > gitweb modules via 'gitweblibdir' build time configuration variable
> 
> I would personally prefer to see this path taken, as it seems the most
> flexible and would fulfill a use case I have.
> 
> I maintain a build of git in an AFS volume at MIT. One of its uses is
> symlinking to the current gitweb.cgi to instantly deploy a gitweb in a
> shared hosting environment (example: http://git.scripts.mit.edu/).
> 
> __DIR__ would point to the directory containing a user symlink to
> gitweb, which would allow users to add their own libraries, while
> ++GITWEBLIBDIR++ would allow the standard gitweb libraries to be
> hosted at a common path without placing additional burdens on the
> user at upgrade time.

Note however that if you want __DIR__ version to take preference over
gitweblibdir version, then the 'use lib' statements have to be in 
reverse order, i.e.:

  +use lib "++GITWEBLIBDIR++";
  +use lib __DIR__ . '/lib';

-- 
Jakub Narebski
Poland