From ea6f95bd9d2f999287adf6153de36d73622dbf4e Mon Sep 17 00:00:00 2001 From: Kushal Pandya Date: Wed, 8 Mar 2017 18:25:24 +0530 Subject: Add EE branch creation guide --- doc/development/limit_ee_conflicts.md | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/doc/development/limit_ee_conflicts.md b/doc/development/limit_ee_conflicts.md index 51b4b398f2c..a62147fca91 100644 --- a/doc/development/limit_ee_conflicts.md +++ b/doc/development/limit_ee_conflicts.md @@ -60,6 +60,41 @@ Notes: - You can use [`git rerere`](https://git-scm.com/blog/2010/03/08/rerere.html) to avoid resolving the same conflicts multiple times. +### Creating EE branch for CE Merge Request + +While the instructions to create `-ee` are mentioned in logs of failed +`rake ee_compat_check` Job, you can create `*-ee` branch once you're done +with changes in CE branch. There are different ways to create such branch: + +##### a) Create a new branch based on the CE branch and rebase it on top of EE/master: + + - In the EE repo + - `git fetch https://gitlab.com/gitlab-org/gitlab-ce.git ` + - `git checkout -b -ee FETCH_HEAD` + - You can squash the __ commits into a single "Port of + __ to EE" commit before rebasing to limit the conflicts-resolving + steps during the rebase + - `git fetch origin` + - `git rebase origin/master` + +At this point you will likely have conflicts. Solve them, and continue/finish the rebase. + +##### b) Create a new branch from master and cherry-pick your CE commits: + + - In the EE repo + - `git fetch origin` + - `git checkout -b -ee origin/master` + - `git fetch https://gitlab.com/gitlab-org/gitlab-ce.git ` + - `git cherry-pick # Repeat for all the commits you want to pick` + +##### Don't forget to push your branch to `https://gitlab.com/gitlab-org/gitlab-ee.git`: + + - In the EE repo + - `git push origin -ee` + +You can then retry failed `rake ee_compat_check` job, and it should pass if there +are no conflicts. + ## Possible type of conflicts ### Controllers -- cgit v1.2.1