CE to EE merge check rake task
What does this MR do?
This merge request adds a Rake task that checks whether the current branch can be merged cleanly to EE/master.
If not, it checks if a <ce_branch>-ee
branch exists in EE, tries to merge it to EE/master and then tries to merge ce_branch
to EE/master.
If the result of the check is that the current branch cannot be merged cleanly to EE/master, the job will fail, display troubleshooting steps, and a warning will be shown in the merge request.
Are there points in the code the reviewer needs to double check?
Probably the steps I used to do the various checks, and also the steps I suggest to create an EE-specific branch.
Why was this MR needed?
The goal is to catch as early as possible the possible conflicts a CE MR will cause when CE/master will be merged to EE/master. This way, the developer is warned that he/she should open a MR against EE before or as soon as the CE is merged. In the end, this should lower the work of the CE->EE merger.
What are the relevant issue numbers?
Part of gitlab-org/gitlab-ee#715, hopefully.