There are >450 Diffusion repos that have been created by Toolforge maintainers via Striker. These repos should be moved to our local GitLab install as part of T191182: Migrate active repositories in Phabricator Differential to GitLab. This process can start as soon as Striker has stopped allowing creation of new Diffusion repos.
Users should be notified prior to the migration as well, especially if we are going to use the technique from T313366: Figure out workflow for programatically adding GitLab users of pre-creating GitLab accounts as that process emails the user via GitLab with a canned "confirm your email" message that we cannot modify through the account creation API.
For each repo, the migration should look something like:
- Make the Diffusion repo functionally read-only by setting the push policy to acl*repository-admins only
- Create a new GitLab project under the toolforge-repos group with a name matching the Diffusion repo after removing any 'tool-' prefix.
- Set import_url to the Diffusion repo's HTTPS URL to initialize the repo as a copy of the Diffusion origin.
- Add all of the Toolforge maintainers for the owning tool as members of the project, creating new GitLab accounts based on Developer account information as needed
- Wait for GitLab to populate the repo...
- Make the Diffusion repo a mirror of the GitLab repo
- Add an "Observe" URI pointed at the GitLab repo
- Set the repo's description to 'Mirror of <GitLab project URL>'
- Set editable by policy to acl*repository-admins only