about summary refs log tree commit homepage
path: root/lib
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2016-02-13 23:03:32 +0000
committerEric Wong <e@80x24.org>2016-02-13 23:03:32 +0000
commita2777d0b327853b3e0703d787fdde629c6e474d5 (patch)
treec03275fa977dcf37fdecd4b77f18ddd7043db74c /lib
parent5094d0b97975f06c67b4a8fc11500fd350406cd2 (diff)
downloadpublic-inbox-a2777d0b327853b3e0703d787fdde629c6e474d5.tar.gz
All public-inbox instances shall be clone-able.
Diffstat (limited to 'lib')
-rw-r--r--lib/PublicInbox/WWW.pm10
1 files changed, 6 insertions, 4 deletions
diff --git a/lib/PublicInbox/WWW.pm b/lib/PublicInbox/WWW.pm
index b4b012f9..95dfcbf0 100644
--- a/lib/PublicInbox/WWW.pm
+++ b/lib/PublicInbox/WWW.pm
@@ -244,10 +244,12 @@ sub footer {
 
         my $urls = try_cat("$git_dir/cloneurl");
         my @urls = split(/\r?\n/, $urls || '');
-        my $nurls = scalar @urls;
-        if ($nurls == 0) {
-                $urls = '($GIT_DIR/cloneurl missing)';
-        } elsif ($nurls == 1) {
+        my %seen = map { $_ => 1 } @urls;
+        my $cgi = $ctx->{cgi};
+        my $http = (ref($cgi) eq 'CGI') ? $cgi->url(-base) . "/$listname" :
+                        $cgi->base->as_string . $listname;
+        $seen{$http} or unshift @urls, $http;
+        if (scalar(@urls) == 1) {
                 $urls = "git URL for <a\nhref=\"" . SSOMA_URL .
                         '">ssoma</a>: ' . $urls[0];
         } else {