From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: X-Spam-Status: No, score=-4.0 required=3.0 tests=ALL_TRUSTED,BAYES_00 shortcircuit=no autolearn=ham autolearn_force=no version=3.4.2 Received: from localhost (dcvr.yhbt.net [127.0.0.1]) by dcvr.yhbt.net (Postfix) with ESMTP id D4CB21FA01 for ; Sat, 23 Oct 2021 20:19:39 +0000 (UTC) From: Eric Wong To: meta@public-inbox.org Subject: [PATCH 3/3] www: respect coderepo.*.url during cgit init Date: Sat, 23 Oct 2021 20:19:39 +0000 Message-Id: <20211023201939.27183-4-e@80x24.org> In-Reply-To: <20211023201939.27183-1-e@80x24.org> References: <20211023201939.27183-1-e@80x24.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit List-Id: This is necessary for showing "found $OID in $CODEREPO_URL" in solver-generated pages ($INBOX_URL/$OID/s/). --- lib/PublicInbox/Cgit.pm | 5 +---- lib/PublicInbox/Config.pm | 7 +++---- 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) {