- Previous implementation had on significant bug. The use of LIMIT 20
was limiting results BEFORE auth checks. In case of large ammount of similarly
named repositories user didn't had access too, the result goto search was empty.
This was becuase first 20 items fetched didn't pass permission checks and final
auth list was empty.
To fix this we now use proper filtering for auth using SQL. It means we first check
user allowed repositories, and add this as a filter so end result from database is already
to only the accessible repositories.
- previous solution could make the go-to swticher slow in case of huge search index
- mixing repository names and commit names could lead to bad UX when searching
- explicit case still allows this, but user is in the control how and what he wants to search
- fixes#5375
- refactored part of naming to use commit_id instead of revision
- renamed some parts to repo_commits instead of changeset without breaking backward compat
- small improvements and fixes for tests
and uses only pyramid mechanics.
- in some edge cases the renderer_globals are not called and
we cannot rely on them
- this should be a purely pyramid view not relying on any of pylons
left overs.