From 269470f28c244fa7f4a1c9a20cfb79858f95b143 Mon Sep 17 00:00:00 2001 From: Drew Blessing Date: Thu, 7 Jan 2016 09:52:20 -0600 Subject: [PATCH] Add rebase/ff-merge caveat when using with forks[ci skip] --- doc/workflow/rebase_before_merge.md | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/doc/workflow/rebase_before_merge.md b/doc/workflow/rebase_before_merge.md index 7128d3ae671b65..09efdba34c8a6c 100644 --- a/doc/workflow/rebase_before_merge.md +++ b/doc/workflow/rebase_before_merge.md @@ -2,18 +2,30 @@ GitLab Enterprise Edition offers a way to rebase source branch of merge request. This feature is part of [Fast-forward merge](ff_merge.md) feature. -It allows you to rebase source branch of merge request in order to perform fast-forward merge. +It allows you to rebase against the source branch of merge request in order to +perform fast-forward merge. -You can configure this per project basis by navigating to the project settings page and selecting `Rebase button` checkbox. -This checkbox is visible only if you have `Only fast-forward merging` checkbox enabled. +You can configure this per project basis by navigating to the project settings +page and selecting `Rebase button` checkbox. This checkbox is visible only if +you have `Only fast-forward merging` checkbox enabled. ![Merge request settings](merge_request_settings.png) - Now if fast-forward merge requires rebase - you will see rebase button: ![Rebase request widget](rebase_request_widget.png) -GitLab will attempt to rebase source branch. If rebase succeed you will see `Accept merge request` button. +GitLab will attempt to rebase source branch. If rebase succeed you will see +`Accept merge request` button. If clean rebase is not possible - you need to do rebase manually. Possibly rebase requires some conflicts to be resolved by human. + +## Caveats + +Consider carefully before using the fast-forward merge and rebase workflow if +your project will be utilizing forks. Fast-forward merges require rebasing very +often. Main project members do not have permission on any forks by default so +they will be unable to initiate a rebase operation on behalf of the merge +request author. Only fork project members, usually just the author, will be +able to do this. This could lead to a lot of back-and-forth to try and get the +merge request in an acceptable state. -- GitLab