Gerrit as external merge / review entity
We have a enterprise instance with which we manage 25+ repos. These repos are repos of an external customer that works with Gerrit. The GitLab instance must sync its changes (merge requests) over to Gerrit, as this instance is configured to let the customer's developers review the change and run additional verifications on the change before it gets finally submitted to the target branch.
We've privately developed a project service for GitLab that fulfills the following tasks:
- push merge requests into new DRAFT / NEW changes in a configured Gerrit project / instance
- if approval control is configured in GitLab, the change is only published in Gerrit after it has been approved in GitLab
- accommodating Gerrit hook scripts communicate back the state of the change in Gerrit to GitLab by the mean of comments to the specific merge request; they also close / set the MR merged when the change gets abandoned / submitted on Gerrit's side
- a new "close_merge" action for MR in GitLab was implemented, that simply marks a MR as "merged" in GitLab, without doing the actual merge (as this is replicated back from Gerrit after submission) - there is a feature request for this currently in the CE tracker: gitlab-ce#25567
Is this something you'd be willing to receive / review / integrate upstream?