Decouple code for mirroring, forking and importing

Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.

  • Close this issue

Summary

Mirroring, forking and importing are different features but they are re-using some code to function.

Improvements

The flow of code should be clearer given that we won't need to re-use models and methods. It'll be easier to read and understand.

Risks

  • The mentioned features may break.
  • Increase in DB size as this may involve having separate import_states stable for each feature.

Involved components

  • app/models/project.rb
  • app/models/project_import_state.rb
  • ee/app/models/ee/project.rb
  • ee/app/models/ee/project_import_state.rb
Edited Sep 22, 2025 by 🤖 GitLab Bot 🤖
Assignee Loading
Time tracking Loading