about summary refs log tree commit homepage
path: root/lib/PublicInbox/WwwText.pm
diff options
context:
space:
mode:
authorEric Wong <e@yhbt.net>2020-02-01 09:12:15 +0000
committerEric Wong <e@yhbt.net>2020-02-01 21:09:57 +0000
commit7b0ba33ee90396dda20d69fe548d73b479c3912d (patch)
treef76c361e263b6f4a8c701be0891f389f4d10164e /lib/PublicInbox/WwwText.pm
parentea30a1fcab1823062e5375f2670dadc80c712f74 (diff)
downloadpublic-inbox-7b0ba33ee90396dda20d69fe548d73b479c3912d.tar.gz
Since we support inboxes with multiple URLs and multiple
infourls to reduce reliance on SPOFs, we'll do the same with
cgit URLs.
Diffstat (limited to 'lib/PublicInbox/WwwText.pm')
-rw-r--r--lib/PublicInbox/WwwText.pm18
1 files changed, 11 insertions, 7 deletions
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/";