X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=lib%2FPublicInbox%2FCgit.pm;h=cc729aa286f4bf126de8f7093dab1c37d0b480a2;hb=23af251dd607c4e75ab1e68063f2c885c48cc035;hp=f38e8b6b68d2e8501b03e1baf7d481b7ebda5514;hpb=af0b0fb7a454470a32c452119d0392e0dedb3fe1;p=public-inbox.git diff --git a/lib/PublicInbox/Cgit.pm b/lib/PublicInbox/Cgit.pm index f38e8b6b..cc729aa2 100644 --- a/lib/PublicInbox/Cgit.pm +++ b/lib/PublicInbox/Cgit.pm @@ -53,21 +53,22 @@ sub locate_cgit ($) { sub new { my ($class, $pi_cfg) = @_; my ($cgit_bin, $cgit_data) = locate_cgit($pi_cfg); - + # TODO: support gitweb and other repository viewers? + if (defined(my $cgitrc = $pi_cfg->{-cgitrc_unparsed})) { + $pi_cfg->parse_cgitrc($cgitrc, 0); + } my $self = bless { cmd => [ $cgit_bin ], cgit_data => $cgit_data, pi_cfg => $pi_cfg, }, $class; - $pi_cfg->fill_all; # fill in -code_repos mapped to inboxes - # some cgit repos may not be mapped to inboxes, so ensure those exist: my $code_repos = $pi_cfg->{-code_repos}; foreach my $k (keys %$pi_cfg) { $k =~ /\Acoderepo\.(.+)\.dir\z/ or next; my $dir = $pi_cfg->{$k}; - $code_repos->{$1} ||= PublicInbox::Git->new($dir); + $code_repos->{$1} ||= $pi_cfg->fill_code_repo($1); } while (my ($nick, $repo) = each %$code_repos) { $self->{"\0$nick"} = $repo;