Description
Is your feature request related to a problem? Please describe.
As mentioned in #3071 (comment) the indexer could take a list of files to process from the changesets that were used to update given project. This way the reindex could be made truly incremental (currently only history cache reindex is incremental) for repositories based on SCMs that operate on changesets. This will reduce the time spent in indexDown()
significantly for repostories with big number of files (depending on the number of files impacted by the changesets added).
Describe the solution you'd like
The opengrok-mirror
script could generate the list of files (after all it can already do the "incoming" check) and pass that to the indexer. This will be handy especially for per project reindex.
Describe alternatives you've considered
The indexer will figure out the list of files itself. After all the history cache stores the latest indexed changeset ID and the repository classes have already contain code for retrieving history entries and parse the output from various SCM commands.