]> Sergey Matveev's repositories - public-inbox.git/blobdiff - lib/PublicInbox/WwwListing.pm
config: support "inboxdir" in addition to "mainrepo"
[public-inbox.git] / lib / PublicInbox / WwwListing.pm
index e2724cc49e631dc63a38dc26410d0b6a9577707b..c5e16eb2ea9d6ee150df207b2d06c57130a7878a 100644 (file)
@@ -138,10 +138,10 @@ sub fingerprint ($) {
        $dig->hexdigest;
 }
 
-sub manifest_add ($$;$) {
-       my ($manifest, $ibx, $epoch) = @_;
+sub manifest_add ($$;$$) {
+       my ($manifest, $ibx, $epoch, $default_desc) = @_;
        my $url_path = "/$ibx->{name}";
-       my $git_dir = $ibx->{mainrepo};
+       my $git_dir = $ibx->{inboxdir};
        if (defined $epoch) {
                $git_dir .= "/git/$epoch.git";
                $url_path .= "/git/$epoch.git";
@@ -155,6 +155,13 @@ sub manifest_add ($$;$) {
        $owner = undef if $owner eq '';
        $desc = 'Unnamed repository' if $desc eq '';
 
+       # templates/hooks--update.sample and git-multimail in git.git
+       # only match "Unnamed repository", not the full contents of
+       # templates/this--description in git.git
+       if ($desc =~ /\AUnnamed repository/) {
+               $desc = "$default_desc [epoch $epoch]" if defined($epoch);
+       }
+
        my $reference;
        chomp(my $alt = try_cat("$git_dir/objects/info/alternates"));
        if ($alt) {
@@ -190,9 +197,10 @@ sub js ($$) {
 
        my $manifest = { -abs2urlpath => {}, -mtime => 0 };
        for my $ibx (@$list) {
-               if (defined(my $max = $ibx->max_git_part)) {
+               if (defined(my $max = $ibx->max_git_epoch)) {
+                       my $desc = $ibx->description;
                        for my $epoch (0..$max) {
-                               manifest_add($manifest, $ibx, $epoch);
+                               manifest_add($manifest, $ibx, $epoch, $desc);
                        }
                } else {
                        manifest_add($manifest, $ibx);