From: Eric Wong Date: Mon, 23 Nov 2020 07:05:54 +0000 (+0000) Subject: manifest: use ibx->git_epoch method for v2 X-Git-Tag: v1.7.0~1625 X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=e917c6756d4912046aa6ad5130f6873d1873ddc7;p=public-inbox.git manifest: use ibx->git_epoch method for v2 We can slightly reduce the amount of version-specific logic, here. --- diff --git a/lib/PublicInbox/Inbox.pm b/lib/PublicInbox/Inbox.pm index 1d18cdf1..64b12345 100644 --- a/lib/PublicInbox/Inbox.pm +++ b/lib/PublicInbox/Inbox.pm @@ -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 diff --git a/lib/PublicInbox/ManifestJsGz.pm b/lib/PublicInbox/ManifestJsGz.pm index 3d8a38ae..3b436827 100644 --- a/lib/PublicInbox/ManifestJsGz.pm +++ b/lib/PublicInbox/ManifestJsGz.pm @@ -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;