Develop basic support for migrating to GitLab from BitBucket (Mirroring)
Summary
This issue in EE sounds like something we could implement into congregate.
This could be as basic (and hacky) as pulling projects from a bitbucket server and pushing them to a GitLab.
This api call in bitbucket might help to retrieve the urls of each repository where we can then programmatically clone each repo and then push it to a GL instance. While this will retain history, I doubt we will be able to retain MRs and comments on those MRs.
Proposed solution
- Create shell repos through project API and provided JSON
- Utilize existing mirroring function to create a mirror between the shell and the original instance
- Extend mirroring function to take in a username and password as an additional parameter
- Update config script to handle basic configuration for bitbucket to gitlab
Schema keys
name
id
repo_url
ssh_repo_url
web_repo_url
visibility (internal, private, etc.)
visibility_ack (boolean representing whether the repo owner/admin has given the okay for their repo to be internally visible)
status (status of the scan. complete, in progress, or error).
Bitbucket API 1.0 and 2.0 will require some exploration for this task as well
Edited by Michael Leopard