zoekt: incremental indexing: fallback to a full build if the indexoptions changes
Created by: ggilmore
In Zoekt, certain higher level options (aside from the list of commits) also influence the contents of a shard. These include whether or not symbols analysis should be performed, the maximum file size of the shard, etc.
Incremental indexing builds can automatically update commit metadata in older shards. However, if any of these options change - it's likely that we'll need to fall back to a full build and reindex everything in order to have all the data /settings in the shards be coherent. Incremental indexing should implement this behavior.
(As an example, what if a repository has symbols disabled, then later enabled? It doesn't make sense for some of the shards to have symbols information, and for others to not. In this scenario, it's easier to reindex everything from scratch so that we can know that every shard has symbols information).