]> Sergey Matveev's repositories - public-inbox.git/commitdiff
www: load cgitrc for coderepos for solver
authorEric Wong <e@80x24.org>
Sat, 31 Dec 2022 06:17:20 +0000 (06:17 +0000)
committerEric Wong <e@80x24.org>
Sun, 1 Jan 2023 10:47:13 +0000 (10:47 +0000)
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
lib/PublicInbox/WwwCoderepo.pm
xt/solver.t

index 5620bd0e6b6ce7a0f53f5959023c64ae6841b31f..174c75efcfe2a862b5585799bb061f5646364fb9 100644 (file)
@@ -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) {
index 99df39ef9cb9d8ac971d31733c2ede0e90808ed8..1a8754c44fd816f21efb87a485ef894a30952be0 100644 (file)
@@ -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)) {
index 40a5f81fb0eb21f090aed59a851e3a1e503b7290..1b0af3d8cadf45a0d4827f913c04a591408d33da 100644 (file)
@@ -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;