Prefetch forked repos from source repos during GEO secondary sync
What does this MR do?
When a forked repository is part of an object pool, we can optimize the sync fetch by doing a shared clone from the fork source (if the fork source has already synced)
the "pre-fetch" does a "git clone --shared" of the fork source, and sets the alternates file to point to the pool repository. Subsequently when we do the actual fetch, it already has the objects and only needs to fetch refs it does not yet have.
What are the relevant issue numbers?
Does this MR meet the acceptance criteria?
-
Changelog entry added, if necessary -
Documentation created/updated via this MR -
Documentation reviewed by technical writer or follow-up review issue created -
Tests added for this feature/bug -
Tested in all supported browsers -
Conforms to the code review guidelines -
Conforms to the merge request performance guidelines -
Conforms to the style guides -
Conforms to the database guides -
~~Link to e2e tests MR added if this MR has Requires e2e tests label. See the Test Planning Process.~~ -
EE specific content should be in the top level/ee
folder -
For a paid feature, have we considered GitLab.com plans, how it works for groups, and is there a design for promoting it to users who aren't on the correct plan? -
Security reports checked/validated by reviewer