GitLab/Hosting a project on GitLab

= Meta =

WMF Release Engineering is collecting notes here on migrating a project from Gerrit; this may become a basis for automating at least some of this process.

See also: draft.

= Migrating a project =

Where your project should live

 * Generally, GitLab projects live in a group named for the functional area of code, under the top-level /repos.
 * Users should typically be added to the project's group, rather than the specific project
 * This gives access to a pool of CI runners.
 * There are some exceptions to this layout, where there are differences in policy around project trust.
 * /toolforge-repos
 * /cloudvps-repos
 * TODO: How and when to request a namespace
 * Phab form: transactions/editengine/maniphest.task/view/105/
 * TODO: Group settings
 * TODO: Make appropriate people group a member of the project group

Mirroring a project to GitLab

 * Always use  for primary branch: See T281593
 * TODO: How to rename branches
 * Don't use issues - these will be automatically disabled anyway
 * Don't use wikis - these will be automatically disabled anyway
 * TODO: Project settings
 * TODO: Copying the repo over (including review metadata with ).
 * TODO: Copying the repo over (including review metadata with ).

Enabling GitLab CI for a project

 * TODO: This is likely a guide unto itself
 * TODO: Adding

Archiving the old project on Gerrit, GitLab, or Phabricator

 * TODO: Remove from CI
 * TODO: Update Phabricator mirroring?
 * TODO: Updating external references and docs
 * TODO: Mirroring to GitHub
 * TODO: Changing remotes on existing clones