commit/diff search: track matched file diffs for better merge
Created by: camdencheek
This modifies our matching code to track which file diffs were matched so we can merge them correctly. This allows us to run something like file:a b
and only return diffs that contain file diffs that both match file:a
and match content b
. Previously, this would be interpreted as "(diff contains a file diff that matches file:a
) or (diff contains a file diff with content modification matching b
)".
Note that I'd been previously using the word "hunks" to describe this issue, but we more accurately operate on file diffs, not hunks. For reference: diff > file diff (also referred to as "patch") > hunk > line.
Fixes #25755 (closed)