X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=lib%2FPublicInbox%2FConfig.pm;h=a31b5b74c7c7282ba1e3bb83e7fcc6603b7427bb;hb=68046e0fff12c35d793a7ae9f164ac415c84cc21;hp=d38f65863a49a6f8f01940e0d59dd74cc44dc1d8;hpb=996de3c67d490b4052bd16179b229b30c2f890f8;p=public-inbox.git
diff --git a/lib/PublicInbox/Config.pm b/lib/PublicInbox/Config.pm
index d38f6586..a31b5b74 100644
--- a/lib/PublicInbox/Config.pm
+++ b/lib/PublicInbox/Config.pm
@@ -1,4 +1,4 @@
-# Copyright (C) 2014-2021 all contributors
+# Copyright (C) all contributors
# License: AGPL-3.0+
#
# Used throughout the project for reading configuration
@@ -323,35 +323,18 @@ 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"}; # aka "GIT_DIR"
- unless (defined $dir) {
+ my $dir = $self->{"$pfx.dir"} // do { # aka "GIT_DIR"
warn "$pfx.dir unset\n";
return;
- }
-
+ };
my $git = PublicInbox::Git->new($dir);
- foreach my $t (qw(blob commit tree tag)) {
- $git->{$t.'_url_format'} =
- _array($self->{lc("$pfx.${t}UrlFormat")});
- }
-
if (defined(my $cgits = $self->{"$pfx.cgiturl"})) {
$git->{cgit_url} = $cgits = _array($cgits);
$self->{"$pfx.cgiturl"} = $cgits;
-
- # cgit supports "/blob/?id=%s", but it's only a plain-text
- # display and requires an unabbreviated id=
- foreach my $t (qw(blob commit tag)) {
- $git->{$t.'_url_format'} //= map {
- "$_/$t/?id=%s"
- } @$cgits;
- }
}
$git;
@@ -394,8 +377,8 @@ sub get_1 {
sub repo_objs {
my ($self, $ibxish) = @_;
- my $ibx_code_repos = $ibxish->{coderepo} or return;
- $ibxish->{-repo_objs} //= do {
+ my $ibx_code_repos = $ibxish->{coderepo} // return;
+ $ibxish->{-repo_objs} // do {
my $code_repos = $self->{-code_repos};
my @repo_objs;
for my $nick (@$ibx_code_repos) {
@@ -408,14 +391,13 @@ 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) {
- \@repo_objs;
+ $ibxish ->{-repo_objs} = \@repo_objs;
} else {
delete $ibxish->{coderepo};
- undef;
}
}
}
@@ -452,7 +434,8 @@ sub _fill_ibx {
# more things to encourage decentralization
for my $k (qw(address altid nntpmirror imapmirror
coderepo hide listid url
- infourl watchheader nntpserver imapserver)) {
+ infourl watchheader
+ nntpserver imapserver pop3server)) {
my $v = $self->{"$pfx.$k"} // next;
$ibx->{$k} = _array($v);
}