]> Sergey Matveev's repositories - public-inbox.git/commitdiff
www: respect coderepo.*.url during cgit init
authorEric Wong <e@80x24.org>
Sat, 23 Oct 2021 20:19:39 +0000 (20:19 +0000)
committerEric Wong <e@80x24.org>
Sat, 23 Oct 2021 21:53:56 +0000 (21:53 +0000)
This is necessary for showing "found $OID in $CODEREPO_URL"
in solver-generated pages ($INBOX_URL/$OID/s/).

lib/PublicInbox/Cgit.pm
lib/PublicInbox/Config.pm

index 8ad07be227345e2d15269128bb46718e0737c8ab..cc729aa286f4bf126de8f7093dab1c37d0b480a2 100644 (file)
@@ -63,15 +63,12 @@ sub new {
                pi_cfg => $pi_cfg,
        }, $class;
 
-       # fill in -code_repos mapped to inboxes
-       $pi_cfg->each_inbox($pi_cfg->can('repo_objs'));
-
        # 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;
index f2e5d5f0801e4c0f566f51ae654bdc55a5112c38..41117ac535d49678020bdddb4f5e79092794defa 100644 (file)
@@ -323,9 +323,8 @@ sub parse_cgitrc {
        cgit_repo_merge($self, $repo->{dir}, $repo) if $repo;
 }
 
-# parse a code repo
-# Only git is supported at the moment, but SVN and Hg are possibilities
-sub _fill_code_repo {
+# parse a code repo, only git is supported at the moment
+sub fill_code_repo {
        my ($self, $nick) = @_;
        my $pfx = "coderepo.$nick";
        my $dir = $self->{"$pfx.dir"} // do { # aka "GIT_DIR"
@@ -392,7 +391,7 @@ sub repo_objs {
                                next;
                        }
                        my $repo = $code_repos->{$nick} //=
-                                               _fill_code_repo($self, $nick);
+                                               fill_code_repo($self, $nick);
                        push @repo_objs, $repo if $repo;
                }
                if (scalar @repo_objs) {