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;