about summary refs log tree commit homepage
path: root/lib/PublicInbox
diff options
context:
space:
mode:
authorEric Wong (Contractor, The Linux Foundation) <e@80x24.org>2019-06-09 04:31:05 +0000
committerEric Wong <e@80x24.org>2019-06-09 04:32:31 +0000
commit0886c264b24b8bc7626e5a7eb59598b0229f066d (patch)
tree0091b2a341c4ff824cb564687c2533f8980b5a86 /lib/PublicInbox
parent279a47f3f64fc7a414247922b870e58a0b334b0f (diff)
downloadpublic-inbox-0886c264b24b8bc7626e5a7eb59598b0229f066d.tar.gz
And use it in manifest.js.

To ease maintaining mirrors with grokmirror(1), we can accept
a "git/" directory prefix before the epoch, and ".git" suffix
after the epoch number.

We maintain compatibility with "$INBOX/$EPOCH" cloning, of
course, and it's still easier-to-type on the command-line.
Diffstat (limited to 'lib/PublicInbox')
-rw-r--r--lib/PublicInbox/WWW.pm4
-rw-r--r--lib/PublicInbox/WwwListing.pm2
2 files changed, 3 insertions, 3 deletions
diff --git a/lib/PublicInbox/WWW.pm b/lib/PublicInbox/WWW.pm
index a5466980..e4682636 100644
--- a/lib/PublicInbox/WWW.pm
+++ b/lib/PublicInbox/WWW.pm
@@ -74,7 +74,7 @@ sub call {
         my $method = $env->{REQUEST_METHOD};
 
         if ($method eq 'POST') {
-                if ($path_info =~ m!$INBOX_RE/(?:([0-9]+)/)?
+                if ($path_info =~ m!$INBOX_RE/(?:(?:git/)?([0-9]+)(?:\.git)?/)?
                                         (git-upload-pack)\z!x) {
                         my ($part, $path) = ($2, $3);
                         return invalid_inbox($ctx, $1) ||
@@ -98,7 +98,7 @@ sub call {
                 invalid_inbox($ctx, $1) || get_atom($ctx);
         } elsif ($path_info =~ m!$INBOX_RE/new\.html\z!o) {
                 invalid_inbox($ctx, $1) || get_new($ctx);
-        } elsif ($path_info =~ m!$INBOX_RE/(?:([0-9]+)/)?
+        } elsif ($path_info =~ m!$INBOX_RE/(?:(?:git/)?([0-9]+)(?:\.git)?/)?
                                 ($PublicInbox::GitHTTPBackend::ANY)\z!ox) {
                 my ($part, $path) = ($2, $3);
                 invalid_inbox($ctx, $1) || serve_git($ctx, $part, $path);
diff --git a/lib/PublicInbox/WwwListing.pm b/lib/PublicInbox/WwwListing.pm
index 690976ac..e2724cc4 100644
--- a/lib/PublicInbox/WwwListing.pm
+++ b/lib/PublicInbox/WwwListing.pm
@@ -144,7 +144,7 @@ sub manifest_add ($$;$) {
         my $git_dir = $ibx->{mainrepo};
         if (defined $epoch) {
                 $git_dir .= "/git/$epoch.git";
-                $url_path .= "/$epoch";
+                $url_path .= "/git/$epoch.git";
         }
         return unless -d $git_dir;
         my $git = PublicInbox::Git->new($git_dir);