use PublicInbox::ViewDiff qw(uri_escape_path);
use PublicInbox::RepoSnapshot;
use PublicInbox::RepoAtom;
+use PublicInbox::RepoTree;
my $EACH_REF = "git for-each-ref --sort=-creatordate --format='%(HEAD)%00".
join('%00', map { "%($_)" }
$k = substr($k, length('publicinbox.'), -length('.coderepo'));
my $ibx = $pi_cfg->lookup_name($k) // next;
$pi_cfg->repo_objs($ibx);
- push @{$self->{-strong}}, $ibx; # strengthen {-ibxs} weakref
}
for my $k (grep(/\Aextindex\.(?:.+)\.coderepo\z/, keys %$pi_cfg)) {
$k = substr($k, length('extindex.'), -length('.coderepo'));
my $eidx = $pi_cfg->lookup_ei($k) // next;
$pi_cfg->repo_objs($eidx);
- push @{$self->{-strong}}, $eidx; # strengthen {-ibxs} weakref
}
}
$tip_html .= ' '.ascii_html($tip).' --';
}
print $zfh <<EOM;
-<pre>
-<a
-href='#readme'>about</a> <a
-href='#heads'>heads</a> <a
-href='#tags'>tags</a>
-
-<a
-id=log>\$</a> git log --pretty=format:'%h %s (%cs)%d'$tip_html
+<pre><a id=log>\$</a> git log --pretty=format:'%h %s (%cs)%d'$tip_html
EOM
for (@r) {
my $d; # decorations
($ctx->{git} = $cr->{$1}) and
return PublicInbox::ViewVCS::show($ctx, $2);
+ if ($path_info =~ m!\A/(.+?)/tree/(.*)\z! and
+ ($ctx->{git} = $cr->{$1})) {
+ return PublicInbox::RepoTree::srv_tree($ctx, $2) // r(404);
+ }
+
# snapshots:
if ($path_info =~ m!\A/(.+?)/snapshot/([^/]+)\z! and
($ctx->{git} = $cr->{$1})) {