Use Gitaly to handle reference checks
What does this MR do and why?
Contributes to https://gitlab.com/gitlab-org/gitlab/-/issues/556674
Problem
Currently GitLab relies on the Redis cache to identify the presence of branches and tags in the repository. Maintaining this cache is expensive for large projects.
Solution
Trigger a ListRefs
call to Gitaly to load all necessary branches/tags
per project. Use results of this call for branch/tag presence checks.
References
https://gitlab.com/gitlab-org/gitlab/-/issues/556674+
MR acceptance checklist
Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.
Related to #556674
Edited by Vasilii Iakliushin