From e6923c94de9d302fdc51185a7bea516b28b35fc1 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Sat, 31 Dec 2022 06:17:20 +0000 Subject: [PATCH] www: load cgitrc for coderepos for solver Loading cgitrc (and associated projects.list) can get users out of defining as many individual coderepos. xt/solver.t needs a use of `$_' replaced since that gets clobbered while parsing cgitrc. --- lib/PublicInbox/Config.pm | 3 ++- lib/PublicInbox/WwwCoderepo.pm | 3 +-- xt/solver.t | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/PublicInbox/Config.pm b/lib/PublicInbox/Config.pm index 5620bd0e..174c75ef 100644 --- a/lib/PublicInbox/Config.pm +++ b/lib/PublicInbox/Config.pm @@ -276,7 +276,7 @@ sub scan_projects_coderepo ($$$) { sub parse_cgitrc { my ($self, $cgitrc, $nesting) = @_; - $cgitrc //= $self->{'publicinbox.cgitrc'}; + $cgitrc //= $self->{'publicinbox.cgitrc'} // return; if ($nesting == 0) { # defaults: my %s = map { $_ => 1 } qw(/cgit.css /cgit.png @@ -388,6 +388,7 @@ sub repo_objs { my ($self, $ibxish) = @_; my $ibx_code_repos = $ibxish->{coderepo} // return; $ibxish->{-repo_objs} // do { + parse_cgitrc($self, undef, 0); my $code_repos = $self->{-code_repos}; my @repo_objs; for my $nick (@$ibx_code_repos) { diff --git a/lib/PublicInbox/WwwCoderepo.pm b/lib/PublicInbox/WwwCoderepo.pm index 99df39ef..1a8754c4 100644 --- a/lib/PublicInbox/WwwCoderepo.pm +++ b/lib/PublicInbox/WwwCoderepo.pm @@ -27,8 +27,7 @@ sub prepare_coderepos { my $pi_cfg = $self->{pi_cfg}; # TODO: support gitweb and other repository viewers? - defined($pi_cfg->{'publicinbox.cgitrc'}) and - $pi_cfg->parse_cgitrc(undef, 0); + $pi_cfg->parse_cgitrc(undef, 0); my $code_repos = $pi_cfg->{-code_repos}; for my $k (grep(/\Acoderepo\.(?:.+)\.dir\z/, keys %$pi_cfg)) { diff --git a/xt/solver.t b/xt/solver.t index 40a5f81f..1b0af3d8 100644 --- a/xt/solver.t +++ b/xt/solver.t @@ -36,8 +36,8 @@ my $todo = { my ($ibx_name, $urls, @gone); my $client = sub { my ($cb) = @_; - for (@$urls) { - my $url = "/$ibx_name/$_"; + for my $u (@$urls) { + my $url = "/$ibx_name/$u"; my $res = $cb->(GET($url)); is($res->code, 200, $url); next if $res->code == 200; -- 2.44.0