Draft: Add repository migration via git bundle instead of fetch_as_mirror
What does this MR do and why?
This MR:
- Replaces the way we import project git repositories when using Gitlab Migration
- Instead of fetching repository using
fetch_as_mirror
API we download exported repository bundle that is being added in !87824 (merged) - Since new repository bundle export API is being added to 15.2, it's not going to be available to previous versions (from 14.4 to 15.1)
- Because of that, we still need a way to import project repositories (even if this method of importing has an issue when importing MR comments #358776 (closed))
- Added 2 new pipeline keywords to the Bulkimports DSL:
-
skip_after_source_version
-- skips execution of flagged pipeline if source version of Gitlab is equal or greated than specified version -
required_source_version
-- skips execution of flagged pipeline unless the source version of gitlab is equal or greated than specified version
So, when it comes to project repository migration there are 2 ways to import it now:
- If source version is less than 15.2.0 -- use
fetch_as_mirror
API - If source version is greated than 15.2.0 -- use repository bundle API
Screenshots or screen recordings
These are strongly recommended to assist reviewers and reduce the time to merge your change.
How to set up and validate locally
Numbered steps to set up and validate the change are strongly suggested.
MR acceptance checklist
This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.
-
I have evaluated the MR acceptance checklist for this MR.
Edited by George Koltsov