match file diffs individually
Created by: camdencheek
This commit fixes an issue where matching diffs as a whole was returning
incorrect results. This was because type:diff file:a b
would return
the intersection of "diffs that modify file a" and "diffs that contain
changes matching b" instead of "diffs that contain changes matching b in
file a".
This is fixed by executing the full query tree against each file diff, which takes into account the additional file filters while doing diff content search. This also maintains the property that a diff is only generated if we can't short circuit early.
Fixes #25755 (closed)