Subject: Re: git instaweb - share all project files

From: Jakub Narębski <[email-masked]>
Date: Wed, 10 Apr 2013 19:03:23 +0200

W dniu 07.04.2013 05:02, Trenton D. Adams pisze:

> On that first page that shows up, it shows the .git folder.  It would
> be kind of nice if it shared out both the git repo and the actual
> current project files.  I frequently have stuff I'd like to see in a
> web browser, and even requires one (i.e. Navigating to
> file:///home/blah/blah doesn't work; ajax requests for example)

There are a few possible solutions, from simplest to most complicated:

1. Configure gitweb ran by git-instaweb to have 'worktree' link in
   the action bar pointing to 'file:///path/to/repo' (or rather
   'file:///path/to/workdir') via 'actions' feature, adding e.g.

     $feature{'actions'}{'default'} =
     	[('worktree', 'file:///path/to/repo', 'summary')];

   to gitweb_config.perl / gitweb.conf used by git-instaweb's gitweb.

   This of course works only for local use, so either git-instaweb
   or gitweb (in config) should check that we use it locally
   (e.g. if hostname is 'localhost' or equivalent).

2. In the web server configuration generated by git-instaweb, perhaps
   as an option, add serving of worktree (with mod_autoindex aka.
   'Options +Indexes' for Apache2, and equivalent solutions for *all*
   other supported web servers: lighttpd, mongoose, plack, webrick).

   This may require some fiddling with URI rewriting, or change of
   gitweb URI, to be able to have both worktree index and gitweb
   script (gitweb is now under '/'), so it should probably be protected
   by an option to git-instaweb.

3. Add proper support to gitweb: add 'worktree' action (similar to
   'tree' action / view).  Probably needs to be made somewhat
   configurable (and of course enabled in git-instaweb).

Unfortunately solution 1.) which is simplest is not enough for your
situation...

I can add 3.) to my gitweb TODO, but I don't know when I would be able
to get to implementing it.
-- 
Jakub Narębski