]> Sergey Matveev's repositories - public-inbox.git/blobdiff - lib/PublicInbox/WwwText.pm
wwwtext: don't blindly quote "git clone" destination
[public-inbox.git] / lib / PublicInbox / WwwText.pm
index a691e2d8efd5671770d8992d34e1f42c4feeb7ed..87dc0751fb6b13fb97611cc3314f836757ec7115 100644 (file)
@@ -181,7 +181,13 @@ EOF
        # and drop the original structure
        if (defined(my $cr = $ibx->{coderepo})) {
                $$txt .= "\tcoderepo = $_\n" for @$cr;
+               $$txt .= <<'EOF';
 
+; `coderepo' entries allows blob reconstruction via patch emails if
+; the inbox is indexed with Xapian.  `@@ <from-range> <to-range> @@'
+; line number ranges in `[PATCH]' emails link to /$INBOX_NAME/$OID/s/,
+; an HTTP endpoint which reconstructs git blobs via git-apply(1).
+EOF
                my $pi_config = $ctx->{www}->{pi_config};
                for my $cr_name (@$cr) {
                        my $urls = $pi_config->{"coderepo.$cr_name.cgiturl"};
@@ -192,11 +198,11 @@ EOF
                        if ($urls && scalar(@$urls)) {
                                $$txt .= "\t; ";
                                $$txt .= join(" ||\n\t;\t", map {;
-                                       my $cpath = $path;
+                                       my $dst = $path;
                                        if ($path !~ m![a-z0-9_/\.\-]!i) {
-                                               $cpath = dq_escape($cpath);
+                                               $dst = '"'.dq_escape($dst).'"';
                                        }
-                                       qq(git clone $_ "$cpath");
+                                       qq(git clone $_ $dst);
                                } @$urls);
                                $$txt .= "\n";
                        }