Skip to content

Update to gitlab_git 10.4.1 and take advantage of preserved Ref objects

What does this MR do?

This is the fixed version of https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/5375, that got reverted because I missed some of the code that needed refactoring. I added specs and examples for all the code that failed on the last MR but wasn't covered by the existing specs.

Are there points in the code the reviewer needs to double check?

Yes. The gitlab_git update changed the interface of the Gitlab::Git::Tag and Gitla::Git::Branch objects so that their target is a Gitlab::Git::Commit instead of a sha string. All the code that was expecting a sha string must be changed to account for this

Why was this MR needed?

The TagsController performance is suboptimal

What are the relevant issue numbers?

Closes #17073 (closed)

Does this MR meet the acceptance criteria?

Merge request reports