about summary refs log tree commit homepage
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2021-10-23 20:19:39 +0000
committerEric Wong <e@80x24.org>2021-10-23 21:53:56 +0000
commit29c85048380d8b7a9cbfd632610740153fccc555 (patch)
treec4d7656ea64b74560dc48a99348dc85b8b510798
parent1d6ebab439828dce8b7e8cbb99dfbc237e9d5a74 (diff)
downloadpublic-inbox-29c85048380d8b7a9cbfd632610740153fccc555.tar.gz
This is necessary for showing "found $OID in $CODEREPO_URL"
in solver-generated pages ($INBOX_URL/$OID/s/).
-rw-r--r--lib/PublicInbox/Cgit.pm5
-rw-r--r--lib/PublicInbox/Config.pm7
2 files changed, 4 insertions, 8 deletions
diff --git a/lib/PublicInbox/Cgit.pm b/lib/PublicInbox/Cgit.pm
index 8ad07be2..cc729aa2 100644
--- a/lib/PublicInbox/Cgit.pm
+++ b/lib/PublicInbox/Cgit.pm
@@ -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;
diff --git a/lib/PublicInbox/Config.pm b/lib/PublicInbox/Config.pm
index f2e5d5f0..41117ac5 100644
--- a/lib/PublicInbox/Config.pm
+++ b/lib/PublicInbox/Config.pm
@@ -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) {