Merge requests between GitLab instances
There are many places to host a Git repository like GitLab.com, GitHub.com and of course self hosting too. Merging changes between projects regardless of where they are stored should be easy. The Git patch format allows changes to be transferred often via email and applied to projects. We should make it easy to share changes from one repository to another by building better support for patch files into merge requests and making it easy to submit merge requests from one GitLab server to another. We should use Git concepts that make the approach interoperable with mailing lists and other Git hosting solutions.
Proposal
- Add support for opening/updating a merge request via email (partially implemented https://gitlab.com/gitlab-org/gitlab-ce/issues/40830)
-
subject
: merge request title -
body
: description -
attachments
: changes in patch format
-
- Add equivalent REST API
- Add option to GitLab merge request interface to specify a Git repo as URL as the target of the merge request
- If the URL is detected to be a GitLab URL, OAuth or Token required
- Otherwise, not yet supported.
- Once merge request is opened:
-
Merge
is replaced withPush Upstream
which will push the changes to the upstream merge request - clearly labelled as being an upstream merge request
- prominent link to merge request on upstream instance
- comments still allowed on the downstream instance but they are not pushed upstream, these allow internal review on private repo before pushing change upstream.
-
Challenges:
- handling a force push
Links
Edited by James Ramsay (ex-GitLab)