From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: X-Spam-Status: No, score=-4.0 required=3.0 tests=ALL_TRUSTED,BAYES_00 shortcircuit=no autolearn=ham autolearn_force=no version=3.4.0 Received: from localhost (dcvr.yhbt.net [127.0.0.1]) by dcvr.yhbt.net (Postfix) with ESMTP id 8849B1FAE7 for ; Fri, 30 Mar 2018 01:20:49 +0000 (UTC) From: "Eric Wong (Contractor, The Linux Foundation)" To: meta@public-inbox.org Subject: [PATCH 4/9] wwwstream: flesh out clone instructions for v2 Date: Fri, 30 Mar 2018 01:20:43 +0000 Message-Id: <20180330012048.15985-5-e@80x24.org> In-Reply-To: <20180330012048.15985-1-e@80x24.org> References: <20180330012048.15985-1-e@80x24.org> List-Id: Relying solely on git for v2 repos is probably not so useful, so add pointers to public-inbox-init/index commands. --- lib/PublicInbox/WwwStream.pm | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/lib/PublicInbox/WwwStream.pm b/lib/PublicInbox/WwwStream.pm index 7631754..ec75f16 100644 --- a/lib/PublicInbox/WwwStream.pm +++ b/lib/PublicInbox/WwwStream.pm @@ -74,14 +74,17 @@ sub _html_end { my (%seen, @urls); my $http = $obj->base_url($ctx->{env}); - chop $http; # no trailing slash + chop $http; # no trailing slash for clone my $part = $obj->max_git_part; + my $dir = (split(m!/!, $http))[-1]; if (defined($part)) { # v2 - # most recent partition first: - for (; $part >= 0; $part--) { - my $url = "$http/$part"; + $seen{$http} = 1; + for my $i (0..$part) { + # old parts my be deleted: + -d "$obj->{mainrepo}/git/$i.git" or next; + my $url = "$http/$i"; $seen{$url} = 1; - push @urls, $url; + push @urls, "$url $dir/git/$i.git"; } } else { # v1 $seen{$http} = 1; @@ -102,7 +105,19 @@ sub _html_end { $urls .= "\n" . join("\n", map { "\tgit clone --mirror $_" } @urls); } + if (defined $part) { + my $addrs = $obj->{address}; + $addrs = join(' ', @$addrs) if ref($addrs) eq 'ARRAY'; + $urls .= <{name} $dir/ $http \\ + $addrs + public-inbox-index $dir +EOF + } my @nntp = map { qq($_) } @{$obj->nntp_url}; if (@nntp) { $urls .= "\n\n"; -- EW