about summary refs log tree commit homepage
path: root/lib/PublicInbox/SearchIdx.pm
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2022-07-19 02:36:04 +0000
committerEric Wong <e@80x24.org>2022-07-19 06:54:55 +0000
commit840785917bc74c8e7df226463144185294047d75 (patch)
tree01f1eb532868558c23d239f7305139ed2f1bd3a1 /lib/PublicInbox/SearchIdx.pm
parentd323a16ced5e3a77136a1ebca4a2f7d5678121c4 (diff)
downloadpublic-inbox-840785917bc74c8e7df226463144185294047d75.tar.gz
I don't deal with binary patches ever, so I failed to notice
binary deltas are supported in addition to the more common
literals.

A quick check of apply.c in git.git confirms "delta" and
"literal" are the only binary patch classes we can expect.
Diffstat (limited to 'lib/PublicInbox/SearchIdx.pm')
-rw-r--r--lib/PublicInbox/SearchIdx.pm4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/PublicInbox/SearchIdx.pm b/lib/PublicInbox/SearchIdx.pm
index cbfe7816..bdb84fc7 100644
--- a/lib/PublicInbox/SearchIdx.pm
+++ b/lib/PublicInbox/SearchIdx.pm
@@ -263,10 +263,10 @@ sub index_diff ($$$) {
         while (defined($_ = shift @l)) {
                 if ($in_diff && /^GIT binary patch/) {
                         push @$xnq, $_;
-                        while (@l && $l[0] =~ /^literal /) {
+                        while (@l && $l[0] =~ /^(?:literal|delta) /) {
                                 # TODO allow searching by size range?
                                 # allows searching by exact size via:
-                                # "literal $SIZE"
+                                # "literal $SIZE" or "delta $SIZE"
                                 push @$xnq, shift(@l);
 
                                 # skip base85 and empty lines