[go: up one dir, main page]

Skip to content

Add documentation of how repository mirroring leverages aspects of project import.

Problem

Project mirroring is owned by groupsource code, project import/export is owned by groupimport and integrate. However, project mirroring leverages project import functionality. There's no developer documentation how the two features intersect which makes it difficult for engineers from the respective groups to be mindful about side effects when working on one of these two features. Just recently, a production incident was caused because of groupimport and integrate introduced a change that notifies project creators upon completion of their project import. This also caused emails being sent to users who had set up project mirrors.

Proposal

repository mirroring must be setting the ProjectImportState state from finished to schedule and then restarting using the same object over and over, so our hooks on state transitions need to account for finished not being a final endpoint.

We should document how repository mirroring leverages importer functionality to allow developers better understand how the two features depend on each other.

Edited by 🤖 GitLab Bot 🤖