about summary refs log tree commit homepage
path: root/lib/PublicInbox/Config.pm
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2023-03-17 20:31:37 +0000
committerEric Wong <e@80x24.org>2023-03-18 04:17:47 +0000
commit14454a6be768159c611e4fb892bf08b1efcd6b89 (patch)
tree354933bd8ba233191e5b617689d522efed2aa856 /lib/PublicInbox/Config.pm
parentbc6ef574030069c5b438e33fb06cd2680bc86d68 (diff)
downloadpublic-inbox-14454a6be768159c611e4fb892bf08b1efcd6b89.tar.gz
This should match behavior documented in gitglossary(7)
Diffstat (limited to 'lib/PublicInbox/Config.pm')
-rw-r--r--lib/PublicInbox/Config.pm3
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/PublicInbox/Config.pm b/lib/PublicInbox/Config.pm
index 34abcea3..4065b256 100644
--- a/lib/PublicInbox/Config.pm
+++ b/lib/PublicInbox/Config.pm
@@ -580,6 +580,7 @@ sub squote_maybe ($) {
 }
 
 my %re_map = ( '*' => '[^/]*?', '?' => '[^/]',
+                '/**' => '/.*', '**/' => '.*/', '/**/' => '/.*?',
                 '[' => '[', ']' => ']', ',' => ',' );
 
 sub glob2re ($) {
@@ -593,7 +594,7 @@ sub glob2re ($) {
         if ($re =~ s!\A([a-z0-9\+]+://\[[a-f0-9\:]+\](?::[0-9]+)?/)!!i) {
                 $schema_host_port = quotemeta $1; # "http://[::1]:1234"
         }
-        my $changes = ($re =~ s!(.)!
+        my $changes = ($re =~ s!(/\*\*/|\A\*\*/|/\*\*\z|.)!
                 $re_map{$p eq '\\' ? '' : do {
                         if ($1 eq '[') { ++$in_bracket }
                         elsif ($1 eq ']') { --$in_bracket }