X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=lib%2FPublicInbox%2FWwwCoderepo.pm;h=5ca8ef554774a6131560a7406423782e0acb5cb5;hb=d967c043322e636fd6ff810d54b70d8cd9fe91df;hp=668b639881a06a9be1a9fcb253e0dc1a03944496;hpb=1c5e51b931fb2a00df28dd5e81d1766b63e389b3;p=public-inbox.git diff --git a/lib/PublicInbox/WwwCoderepo.pm b/lib/PublicInbox/WwwCoderepo.pm index 668b6398..5ca8ef55 100644 --- a/lib/PublicInbox/WwwCoderepo.pm +++ b/lib/PublicInbox/WwwCoderepo.pm @@ -11,8 +11,6 @@ use File::Temp 0.19 (); # newdir use PublicInbox::ViewVCS; use PublicInbox::WwwStatic qw(r); use PublicInbox::GitHTTPBackend; -use PublicInbox::Git; -use PublicInbox::GitAsyncCat; use PublicInbox::WwwStream; use PublicInbox::Hval qw(ascii_html); use PublicInbox::ViewDiff qw(uri_escape_path); @@ -199,12 +197,7 @@ sub summary { $tip //= 'HEAD'; my @try = ("$tip:README", "$tip:README.md"); # TODO: configurable $ctx->{-nr_readme_tries} = [ @try ]; - $ctx->{git}->cat_async($_, \&set_readme, $ctx) for @try; - if ($ctx->{env}->{'pi-httpd.async'}) { - PublicInbox::GitAsyncCat::watch_cat($ctx->{git}); - } else { # synchronous - $ctx->{git}->cat_async_wait; - } + PublicInbox::ViewVCS::do_cat_async($ctx, \&set_readme, @try); sub { # $_[0] => PublicInbox::HTTP::{Identity,Chunked} $ctx->{env}->{'qspawn.wcb'} = $_[0]; $qsp->psgi_qx($ctx->{env}, undef, \&capture_refs, $ctx); @@ -223,9 +216,9 @@ sub srv { # endpoint called by PublicInbox::WWW } $path_info =~ m!\A/(.+?)/\z! and ($ctx->{git} = $cr->{$1}) and return summary($self, $ctx); - $path_info =~ m!\A/(.+?)/([a-f0-9]+)/s/\z! and + $path_info =~ m!\A/(.+?)/([a-f0-9]+)/s/([^/]+)?\z! and ($ctx->{git} = $cr->{$1}) and - return PublicInbox::ViewVCS::show($ctx, $2); + return PublicInbox::ViewVCS::show($ctx, $2, $3); if ($path_info =~ m!\A/(.+?)/tree/(.*)\z! and ($ctx->{git} = $cr->{$1})) {