Introduce converting steps in Import/Export feature
<!--IssueSummary start--> <details> <summary> Everyone can contribute. [Help move this issue forward](https://handbook.gitlab.com/handbook/marketing/developer-relations/contributor-success/community-contributors-workflows/#contributor-links) while earning points, leveling up and collecting rewards. </summary> - [Close this issue](https://contributors.gitlab.com/manage-issue?action=close&projectId=278964&issueIid=22593) </details> <!--IssueSummary end--> ## Description GitLab Import/Export feature is great. You can import any GitLab projects which are compatible with targeting Import/Export version. However, when we perform post-migrations (moving data from old structure to new structure), there is a race condition that data in old structure could be imported **after** migrations ran. I think we need a converter to translate data from old structure to new structure. ## Proposal when we implement post-migrations, we implement a converter too. This converter takes an effect at the beginning of post-migrations process, and redirect/remap the hashes from old structure to new strcture. The advantages are - We can block data in old structure. All data go into new structure directly. - We don't need to bump Import/Export version when we ship post-migrations - Once we bumped Import/Export version, we can remove the current converters as it's no longer need. /cc @grzesiek @jameslopez @ayufan
issue