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

Screenshots or screen recordings

Not applicable — no UI changes.

How to set up and validate locally

  1. Run bundle install — verify it succeeds and rugged is still in Gemfile.lock (transitively via licensee/undercover)
  2. Run bundle exec rspec ee/spec/graphql/types/security/tracked_ref_type_spec.rb — all examples should pass
  3. 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.

Merge request reports

Loading