[go: up one dir, main page]

Skip to content

GitLab Migration - export file metadata when exporting relations

Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.

As discussed in POC #376261 (closed) GitLab Migration should start exporting file metadata when exporting project/group relations, in order to allow individual file read directly from ObjectStorage, instead of downloading entire zip file & decompressing it all.

This brings a few benefits. For example, given a collection of exported LFS objects we can:

  1. Download metadata file that has file names + size
  2. Decide how to approach download. If there a a lot of small lfs objects - download entire zip
  3. If there are big individual files - download them one at a time to save up to local disk space
  4. We have an opportunity to expand what kind of metadata we export in the future

Proposed solution

  1. For each exported binary file, append to metadata.json it's filename & size
  2. Consider using ndjson. Is it possible a single json object becomes too big? E.g. if there are 10k lfs objects.
  3. Add total figures, e.g. total uncompressed size

Can be beneficial to work on first, even before GitLab Migration - export relations compressed ... (#379216)

Edited by 🤖 GitLab Bot 🤖