From: Eric Wong Date: Fri, 1 Jul 2016 02:09:45 +0000 (+0000) Subject: git: allow cloning from the URL root, too X-Git-Tag: v1.0.0~335 X-Git-Url: http://www.git.stargrave.org/?p=public-inbox.git;a=commitdiff_plain;h=52052329acedddc0082487283a5a0390a8c86602 git: allow cloning from the URL root, too This means we can still show non-git users a somewhat browseable URL with a link to the README.html file while allowing git users to type less when cloning. All of the following are supported: git clone https://public-inbox.org/ public-inbox git clone https://public-inbox.org/public-inbox git clone https://public-inbox.org/public-inbox.git torsocks git clone http://ou63pmih66umazou.onion/public-inbox --- diff --git a/Documentation/dc-dlvr-spam-flow.txt b/Documentation/dc-dlvr-spam-flow.txt index d151d272..81aba766 100644 --- a/Documentation/dc-dlvr-spam-flow.txt +++ b/Documentation/dc-dlvr-spam-flow.txt @@ -45,4 +45,4 @@ delivery path as well as removing the message from the git tree. * spamc / spamd - SpamAssassin: http://spamassassin.apache.org/ * report-spam / dc-dlvr - distributed with public-inbox in the scripts/ - directory: git clone https://public-inbox.org/public-inbox.git + directory: git clone https://public-inbox.org/ public-inbox diff --git a/README b/README index ca4e2a86..f56d68d2 100644 --- a/README +++ b/README @@ -87,7 +87,7 @@ Hacking Source code is available via git: - git clone https://public-inbox.org/public-inbox.git + git clone https://public-inbox.org/ public-inbox See below for contact info. diff --git a/examples/public-inbox.psgi b/examples/public-inbox.psgi index a90a2bc3..11e2a6e7 100644 --- a/examples/public-inbox.psgi +++ b/examples/public-inbox.psgi @@ -47,7 +47,9 @@ builder { sub { my ($env) = @_; # share public-inbox.git code! - if ($src && $env->{PATH_INFO} =~ m!\A/public-inbox\.git/(.*)!) { + if ($src && $env->{PATH_INFO} =~ + m!\A/(?:public-inbox(?:\.git)?/)? + ($PublicInbox::GitHTTPBackend::ANY)\z!xo) { PublicInbox::GitHTTPBackend::serve($env, $src, $1); } else { $www->call($env); diff --git a/lib/PublicInbox/GitHTTPBackend.pm b/lib/PublicInbox/GitHTTPBackend.pm index 4f58c6bb..b4851920 100644 --- a/lib/PublicInbox/GitHTTPBackend.pm +++ b/lib/PublicInbox/GitHTTPBackend.pm @@ -23,7 +23,7 @@ my @binary = qw! objects/pack/pack-[a-f0-9]{40}\.(?:pack|idx) !; -our $ANY = join('|', @binary, @text); +our $ANY = join('|', @binary, @text, 'git-upload-pack'); my $BIN = join('|', @binary); my $TEXT = join('|', @text); diff --git a/lib/PublicInbox/WwwStream.pm b/lib/PublicInbox/WwwStream.pm index 97a6dc78..87a461e1 100644 --- a/lib/PublicInbox/WwwStream.pm +++ b/lib/PublicInbox/WwwStream.pm @@ -7,7 +7,7 @@ use strict; use warnings; use PublicInbox::Hval qw(ascii_html); use URI; -use constant PI_URL => 'https://public-inbox.org/public-inbox.git'; +use constant PI_URL => 'https://public-inbox.org/'; sub new { my ($class, $ctx, $cb) = @_; @@ -87,7 +87,7 @@ sub _html_end { '- ' . $desc, $urls, 'Archived served using code from public-inbox:', - "\tgit clone $url", + "\tgit clone $url public-inbox", ).''; }