- # TODO: some of these URLs may be too long and we may need to
- # do something like code_footer() above, but these are local
- # admin-defined
- if (defined($max)) { # v2
- for my $i (0..$max) {
- # old epochs my be deleted:
- -d "$ibx->{inboxdir}/git/$i.git" or next;
- my $url = "$http/$i";
- $seen{$url} = 1;
- push @urls, "$url $dir/git/$i.git";
+ if ($ibx->can('cloneurl')) { # PublicInbox::Inbox
+ $s .= "This inbox may be cloned and mirrored by anyone:</a>\n";
+ my @urls;
+ my $max = $ibx->max_git_epoch;
+ # TODO: some of these URLs may be too long and we may need to
+ # do something like code_footer() above, but these are local
+ # admin-defined
+ if (defined($max)) { # v2
+ for my $i (0..$max) {
+ # old epochs my be deleted:
+ -d "$ibx->{inboxdir}/git/$i.git" or next;
+ my $url = "$http/$i";
+ $seen{$url} = 1;
+ push @urls, "$url $dir/git/$i.git";
+ }
+ my $nr = scalar(@urls);
+ if ($nr > 1) {
+ $s .= "\n\t";
+ $s .= "# this inbox consists of $nr epochs:";
+ $urls[0] .= "\t# oldest";
+ $urls[-1] .= "\t# newest";
+ }
+ } else { # v1
+ push @urls, $http;