Remove direct rugged gem dependency
What does this MR do and why?
Remove direct rugged gem dependency
Contributes to #430709
Problem
The rugged gem is a C extension wrapping libgit2 that was
historically used for git operations. All git operations have
long since migrated to Gitaly, yet Rugged remained as a direct
dependency with stale references scattered across the codebase,
including dead rescue Rugged::ReferenceError clauses and
obsolete TODO comments.
Solution
Remove gem 'rugged' from the Gemfile. It remains available
transitively via licensee and undercover gems. Remove all
direct Rugged API usage: Rugged::Settings configuration in
spec_helper.rb and dead rescue Rugged::ReferenceError in
TrackedRefType. Clean up stale Rugged comments across six
files.
References
- Feature issue: #430709
- Prerequisite MR (FF removal): !227662 (merged)
Screenshots or screen recordings
Not applicable — no UI changes.
How to set up and validate locally
- Run
bundle install— verify it succeeds andruggedis still inGemfile.lock(transitively vialicensee/undercover) - Run
bundle exec rspec ee/spec/graphql/types/security/tracked_ref_type_spec.rb— all examples should pass - Verify no remaining Rugged references:
grep -r "Rugged" --include="*.rb" app/ lib/ ee/app/ ee/lib/ spec/should return nothing
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.