Implement migration path from legacy to hash-bashed storage format
With https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/13246, we are going to need to find a way to migrate projects from the legacy (e.g. project name) to the hash-based (important: no longer UUID) storage format.
To start, I think we'll want:
-
Add some way for the admin to see how many projects/which projects are using the legacy format -
Add a way for the admin to migrate in bulk (e.g. API, Rake task, etc.)
Ideally, we'd be able to kick this migration process off for GitLab.com and have it complete over some time. We should be able to halt things if necessary.
Should we consider making this a requirement in 10.0 for Geo-replicated repositories?
/cc: @brodock, @pcarranza, @DouweM