Push mirrors fail when a pre-receive fails for a single ref.
Currently when a push mirror (RemoteMirror) fails to push one of the branches, the entire mirror is marked as failed. While the later branches are not updated.
I think we should handle this on the gitlab-ce~11839077 side, pushing all the changes we need to push separately and return a response instead of an error if one fails. We'd need to handle the new response on the Rails side.
Inside the response we could report what was pushed and what failed, so we can show it to the user so they could manually intervene if necessary. And we don't fail the push if one of the branches failed.
Edited by 🤖 GitLab Bot 🤖