Spike: Replace existing BranchesFinder with Gitlab::Git::Finders::RefsFinder
Summary
This is a spike to explore replacing the existing BranchesFinder with Gitlab::Git::Finders::RefsFinder to identify any missing functionality before proceeding with the full implementation.
Background
As part of the effort to move branch/tag searching to Gitaly (Epic &11057), we need to evaluate whether the new Gitlab::Git::Finders::RefsFinder can fully replace the existing BranchesFinder functionality.
The new RefsFinder was implemented in !125718 (merged) but is currently unused. This spike will help identify any gaps in functionality that need to be addressed.
Acceptance Criteria
-
Analyze the current BranchesFinderimplementation and document all its features -
Test Gitlab::Git::Finders::RefsFinderagainst the same use cases -
Identify any missing functionality in the new finder -
Document performance differences (if any) -
Create follow-up issues for any identified gaps -
Provide recommendation on whether to proceed with the replacement
Current Known Limitations
From the epic discussion, the new implementation currently has these limitations:
- Only supports glob-based searching (no regular expression support)
- No sorting support yet
- No pagination support yet
Definition of Done
-
Comprehensive comparison document created -
All missing functionality identified and documented -
Follow-up issues created for any gaps -
Clear recommendation provided on next steps
Related
- Epic: &11057
- Original MR: !125718 (merged)
- Related tags issue: #372051