All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sylvain Rabot <sylvain@abstraction.fr>
To: Jakub Narebski <jnareb@gmail.com>
Cc: "Mike.lifeguard" <mike.lifeguard@gmail.com>, git@vger.kernel.org
Subject: Re: Gitweb: Scan dir for repos & show these other specified repos
Date: Mon, 01 Mar 2010 22:20:19 +0100	[thread overview]
Message-ID: <1267478419.4400.2.camel@kheops> (raw)
In-Reply-To: <m33a0jn7ft.fsf@localhost.localdomain>

[-- Attachment #1: Type: text/plain, Size: 2121 bytes --]

On Mon, 2010-03-01 at 11:55 -0800, Jakub Narebski wrote:
> "Mike.lifeguard" <mike.lifeguard@gmail.com> writes:
> 
> > Is it possible to have gitweb show all repositories in /path/to/wherever
> > and also show some other repositories at particular locations like
> > /home/user/git/repo1 and /home/user2/git/repo2 ? Or better yet, scan
> > multiple dirs? Currently I can only see how to do one or the other
> > within a single gitweb installation. I suppose I could run two of them...
> 
> It is not possible with $projects_list being directory (or undefined,
> which means to take $projectroot), but I think it is possible with
> $projects_list being a file.
> 
> You would have to set $projectroot to common prefix (it might be
> empty, i.e. '' if there is no common prefix), then list there all
> repositories, relative to $projectroot.  See gitweb/README and
> gitweb/INSTALL, and comments in gitweb.perl for details on file
> format.
> 
> 
> P.S. It probably be a good idea to have something like mod_userdir,
> but gitweb currently doesn't support something like that.

I had the same problematic some times ago. I wanted to have several
project's roots folder for gitweb (one for each unix user of the
server).

You can find the discussion here :

http://thread.gmane.org/gmane.comp.version-control.git/132926/
http://marc.info/?t=125827961600002&r=1&w=2

Here the configuration I used :

/etc/gitweb.conf :

$projectroot = $ENV{'GITWEB_PROJECTROOT'} || "/var/gitweb";

/etc/apache2/sites-available/yourvirtualhost :

RewriteEngine on
RewriteRule ^/$ /cgi-bin/gitweb.cgi [QSA,L,PT]
RewriteRule ^/\~([^\/]+)/?$ /cgi-bin/gitweb.cgi
[QSA,E=GITWEB_PROJECTROOT:/home/$1/gitweb/,L,PT]

I.E. :

http://yourvirtualhost/ will have /var/gitweb as proeject root
http://yourvirtualhost/~<user>/ will have /home/<users>/gitweb as
proeject root

You can modify the rewrite rule to match what you want to do.

> 
> P.P.S. Alternate solution would be to try to work around it with
> automount / autofs or something like that.


-- 
Sylvain Rabot <sylvain@abstraction.fr>

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 197 bytes --]

  reply	other threads:[~2010-03-01 21:20 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-03-01 19:15 Gitweb: Scan dir for repos & show these other specified repos Mike.lifeguard
2010-03-01 19:55 ` Jakub Narebski
2010-03-01 21:20   ` Sylvain Rabot [this message]
2010-03-01 22:18     ` Jakub Narebski
2010-03-01 22:22       ` Sylvain Rabot
2010-03-02  0:04       ` [PATCH] gitweb multiple project roots documentation Sylvain Rabot
2010-03-02  0:38         ` Jakub Narebski
2010-03-10 18:55         ` [PATCH] gitweb readme fixed regarding per user project root repository Sylvain Rabot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1267478419.4400.2.camel@kheops \
    --to=sylvain@abstraction.fr \
    --cc=git@vger.kernel.org \
    --cc=jnareb@gmail.com \
    --cc=mike.lifeguard@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.