$subdir = "madduck/pub"; $confroot = "/srv/git/gitweb/git.madduck.net"; $projectroot = "/srv/git/repos/$subdir"; $git_temp = "/tmp"; $site_header = "$confroot/header.html"; $site_footer = "$confroot/footer.html"; $projects_list = $projectroot; $default_projects_order = "age"; @git_base_url_list=("git://git.madduck.net/$subdir", "ssh://git@git.madduck.net/$subdir"); $logo = '/git-logo.png'; $favicon = '/git-favicon.png'; push @stylesheets, '/gitweb.css'; push @stylesheets, '/local.css'; $feature{'pathinfo'}{'default'} = [1]; $feature{'forks'}{'default'} = [1]; $prevent_xss = 1; my $gl_conf_compiled = "/srv/git/.gitolite/conf/gitolite.conf-compiled.pm"; my $username = $cgi->remote_user; our %repos; die "parse $gl_conf_compiled failed: " . ($! or $@) unless do $gl_conf_compiled; $export_auth_hook = sub { # open FILE, ">>/tmp/gitweb.auth" or die $!; my $reponame = "$subdir/" . shift; # gitweb passes us the full repo path; so we strip the beginning... $reponame =~ s/\Q$projectroot\E\/?//; # ...and the end, to get the repo name as it is specified in gitolite conf $reponame =~ s/\.git$//; # use Data::Dumper; # print FILE Dumper($username, $reponame, $repos); # close FILE; return exists $repos{$reponame}{R}{$username} || exists $repos{$reponame}{R}{'@all'}; };