Skip to content

Allow modification of branch by project maintainers when opening an merge request from a fork

When collaborating with contributors using a forking workflow, which is typical for most open source projects, being able to rebase and resolve conflicts is extremely useful. GitHub offers an option to Allow edits from maintainers when opening a Pull Request. GitLab should offer this as an option too.

Proposal

  • Add a checkbox to Allow edits from maintainers of the upstream project when opening a Merge Request from a fork
  • Allow users with Git write permissions to the upstream project to push to the branch on the fork
  • Allow users with Git write permissions to the upstream project to restart CI jobs on commits in the branch on the fork

The permission should:

  • only be available when both projects are Public or Internal
  • should only apply to the source branch
  • should only apply while the merge request is open

In a future enhancement we can enable Allow edits from maintainers for Private projects. https://gitlab.com/gitlab-org/gitlab-ce/issues/43272

Create Merge Request

Similar to @jramsay's proposal in https://gitlab.com/gitlab-org/gitlab-ce/issues/22292#note_42148467 we add a new Contribution section at the end of the form with the new checkbox:

Edit Merge Request

When editing a Merge Request, the Contribution section is also available.

Merge Request

If maintainer edits are allowed, we show a notice in the 'general' section of the MR widget: Allows edits from maintainers

If maintainer edits are not allowed, we don't show anything.

Links / references

https://help.github.com/articles/allowing-changes-to-a-pull-request-branch-created-from-a-fork/

Edited by James Ramsay (ex-GitLab)