This is useful only for installations that use reftables, for
example, googlesource.com, which can directly use
PermissionBackend.RefFilterOptions.
Currently, DefaultRefFilter filters the input and specifically for
refs/changes it filters it by returning only the available changes
in the change index and cache (all the most recent changes).
However, if no refs/changes are sent to this method, no refs/changes
are returned.
This change adds an option that when the option is set to true,
DefaultRefFilter ignores refs/changes sent as input, and always anyway
returns all changes available in the change index and cache (which are
the most recent changes). For Elastic and googlesource.com, the limit is
10000 changes, but this could be different.
This is useful since in some instances, there are O(millions) of
refs/changes. This change allows us not to send those millions of
refs/changes as input in the first place.
Tests include sending as input 0,1, and many refs (since those are all
separate code paths) and also with or without refs/* permission, which
is another code path that allows all refs to be returned.
Change-Id: I9a264b381ed0c94e8f2a662d120c741987481022