Search backend: inline relevant PatternInfo fields into RepoSearch job
Created by: camdencheek
The RepoSearch job currently requires a full PatternInfo object just so
RepoSearch can handle the repohasfile
filters. However, the only thing
it really needs form PatternInfo is the values of
FilePatternsReposMust{In,Ex}clude
, so we can pass those in directly.
The next step here is moving repohasfile
handling into RepoOptions
since it is logically a part of filtering the set of repos to be
searched. This will also allow us to more easily optimize the
repo:contains.file()
predicate.
Stacked on #34141
Test plan
Almost completely semantics-preserving. Manually tested the changed error condition.