From 7b0ba33ee90396dda20d69fe548d73b479c3912d Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Sat, 1 Feb 2020 09:12:15 +0000 Subject: config: assume multiple cgit URLs, too Since we support inboxes with multiple URLs and multiple infourls to reduce reliance on SPOFs, we'll do the same with cgit URLs. --- lib/PublicInbox/WwwText.pm | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) (limited to 'lib/PublicInbox/WwwText.pm') diff --git a/lib/PublicInbox/WwwText.pm b/lib/PublicInbox/WwwText.pm index fbbe8e3b..c084b5bf 100644 --- a/lib/PublicInbox/WwwText.pm +++ b/lib/PublicInbox/WwwText.pm @@ -168,17 +168,21 @@ EOS my $pi_config = $ctx->{www}->{pi_config}; for my $cr_name (@$cr) { - my $url = $pi_config->{"coderepo.$cr_name.cgiturl"}; + my $urls = $pi_config->{"coderepo.$cr_name.cgiturl"}; my $path = "/path/to/$cr_name"; $cr_name = dq_escape($cr_name); $$txt .= qq([coderepo "$cr_name"]\n); - if (defined($url)) { - my $cpath = $path; - if ($path !~ m![a-z0-9_/\.\-]!i) { - $cpath = dq_escape($cpath); - } - $$txt .= qq(\t; git clone $url "$cpath"\n); + if ($urls && scalar(@$urls)) { + $$txt .= "\t; "; + $$txt .= join(" ||\n\t;\t", map {; + my $cpath = $path; + if ($path !~ m![a-z0-9_/\.\-]!i) { + $cpath = dq_escape($cpath); + } + qq(git clone $_ "$cpath"); + } @$urls); + $$txt .= "\n"; } $$txt .= "\tdir = $path\n"; $$txt .= "\tcgiturl = https://example.com/"; -- cgit v1.2.3-24-ge0c7