Allow maintainers to push forks of a project for branches that have open MRs
What does this MR do?
This MR makes it possible to allow maintainers of a project push to certain branches of forks of the project. This can be specified when creating/editing an MR:
Checking this option will allow users that have developer access or above to the canonical project to push to the source branch specified in the MR.
The option should be visible when creating a merge request across different projects, when it is not available, we show these reasons:
When the feature is enabled for a merge request, this is visible in the merge request widget:
When editing a file from the merge request, we display this message to inform the user that they will committing directly on the source branch:
Are there points in the code the reviewer needs to double check?
Currently, it is not possible to allow push access to protected branches. Should this be made possible? Or should we hide the option for protected branches? @jramsay @DouweM
TODO:
-
Adjust the UI to allow editing and committing by maintainers -
Show messages explaining why the feature cannot be used when creating a merge request across different projects. -
Add documentation
Does this MR meet the acceptance criteria?
-
Changelog entry added, if necessary -
Documentation created/updated -
API support added -
Tests added for this feature/bug - Review
-
Has been reviewed by UX -
Has been reviewed by Frontend -
Has been reviewed by Backend -
Has been reviewed by Database -
Has been reviewed by Security
-
-
Conform by the merge request performance guides -
Conform by the style guides -
Squashed related commits together -
Internationalization required/considered -
End-to-end tests pass ( package-qa
manual pipeline job)