Change default target branch for merge requests
## Problem to solve When using the Gitflow methodology, it makes sense to use `master` as the default branch for things like: - Showing the README - Showing the network graph - Master is on the far-right - Develop shows to its left - Feature branches show to the far-left - Cloning the project However, all merge requests should be made against the `develop` branch instead. ## Further details By making `master` the default, we lose the ability to efficiently use the automatic "create merge request" button which appears when you push a new branch. Extra steps are required to change the target branch to `develop`. Currently this can only be resolved by changing the default branch for everything to `develop`. However, that also means that: - The README wouldn't show the latest version (if gitlab-ce#2509 is implemented) - The network graph no longer has the ideal horizontal display order - Develop is on the far-right - Feature branches are in the middle - Master is on the far-left - Deploying the project with `git clone` requires an additional `git checkout -t origin/master` command This situation is not ideal either. However, if we could set a separate default branch for MRs only, that would provide Gitflow users with the best of both worlds. ## Proposal - create a second option to set a separate branch as the: **Default branch for new merge requests** ## Links / references ### Availability and Testing Add feature specs for new controls. Ensure E2E package and test is passing in MRs to ensure no regressions. Exploratory testing of feature. ### Availability and Testing Feature specs to ensure a Default branch for MRs can be set, and that new MRs get this branch as the target by default. Ensure new MRs from command line use the correct default branch (new E2E to be added if feature specs cannot cover this). Regression testing, please ensure associated MR is labelled with ~"pipeline:run-all-e2e" and `e2e:package-and-test` job is passing.
issue