]> Sergey Matveev's repositories - public-inbox.git/commitdiff
manifest: use ibx->git_epoch method for v2
authorEric Wong <e@80x24.org>
Mon, 23 Nov 2020 07:05:54 +0000 (07:05 +0000)
committerEric Wong <e@80x24.org>
Tue, 24 Nov 2020 05:03:55 +0000 (05:03 +0000)
We can slightly reduce the amount of version-specific logic,
here.

lib/PublicInbox/Inbox.pm
lib/PublicInbox/ManifestJsGz.pm

index 1d18cdf17ddd162e5ed26f295a186fa14bb1485a..64b12345b22dc6a5cdfb9c41380957a293921159 100644 (file)
@@ -137,6 +137,7 @@ sub git_epoch {
        $self->version == 2 or return;
        $self->{"$epoch.git"} ||= do {
                my $git_dir = "$self->{inboxdir}/git/$epoch.git";
+               return unless -d $git_dir;
                my $g = PublicInbox::Git->new($git_dir);
                $g->{-httpbackend_limiter} = $self->{-httpbackend_limiter};
                # no cleanup needed, we never cat-file off this, only clone
index 3d8a38ae3ca969622e21aea7589f34102208b00a..3b436827b1554599be348f793e0b91a3ac45137a 100644 (file)
@@ -7,9 +7,7 @@ use strict;
 use v5.10.1;
 use parent qw(PublicInbox::WwwListing);
 use bytes (); # length
-use PublicInbox::Inbox;
 use PublicInbox::Config;
-use PublicInbox::Git;
 use IO::Compress::Gzip qw(gzip);
 use HTTP::Date qw(time2str);
 
@@ -26,15 +24,15 @@ sub url_regexp {
 sub manifest_add ($$;$$) {
        my ($ctx, $ibx, $epoch, $default_desc) = @_;
        my $url_path = "/$ibx->{name}";
-       my $git_dir = $ibx->{inboxdir};
+       my $git;
        if (defined $epoch) {
-               $git_dir .= "/git/$epoch.git";
                $url_path .= "/git/$epoch.git";
+               $git = $ibx->git_epoch($epoch) or return;
+       } else {
+               $git = $ibx->git;
        }
-       return unless -d $git_dir;
-       my $git = PublicInbox::Git->new($git_dir);
        my $ent = $git->manifest_entry($epoch, $default_desc) or return;
-       $ctx->{-abs2urlpath}->{$git_dir} = $url_path;
+       $ctx->{-abs2urlpath}->{$git->{git_dir}} = $url_path;
        my $modified = $ent->{modified};
        if ($modified > ($ctx->{-mtime} // 0)) {
                $ctx->{-mtime} = $modified;