Create a pre-migration check report
Problem to solve
When migrating large groups from one instance of GitLab to another, there can be known issues with data compatibility that can cause import failure or partial success. The user only finds out about any of these once they initiate the migration, which causes the user to waste time and not have confidence in the migration process.
Create a pre-migration check (report) that runs all the known verifications that we normally run during import and report to the user:
- List with counts of each object that will be migrated.
- Any data that will not be imported due to missing required data.
- Any data that will be partially imported.
This report would be available for each group available for migration. As an initial iteration, we should provide a link to the report in the group list (see illustration below).
Pre-migration check for my-group: - Group my-group will be imported, along with 32 subgroups. - 12 groups are private and their avatars will not be migrated. - 83 epics will be imported. - 216 projects will be imported. - 120 issues will be imported. - 10 milestones will be imported. - 3450 pull requests will be imported. - 12 pull requests no longer have valid corresponding commits and will not be imported. - 3 users do not exist in the destination and will not be mapped: - firstname.lastname@example.org, email@example.com, firstname.lastname@example.org
As a future iteration, we could run the pre-check automatically and display the result summary in the list (provided no/acceptable performance impact).