Skip to content

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:

  1. If source version is less than 15.2.0 -- use fetch_as_mirror API
  2. 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.

Edited by George Koltsov

Merge request reports

Loading