diff options
author | Sean McGivern <sean@mcgivern.me.uk> | 2017-10-03 08:24:31 +0000 |
---|---|---|
committer | Sean McGivern <sean@mcgivern.me.uk> | 2017-10-03 08:24:31 +0000 |
commit | 0ac06c89e9cfc0fc8044b645294242d66af36150 (patch) | |
tree | cf72e186622982907975f06fc588c0542a56c35c /app/models/project.rb | |
parent | 75f257ad57d29955fc25c49b39fb1833f7dd3c75 (diff) | |
parent | e559b8511b2817b9c57a5190ff9ed95c739528bf (diff) | |
download | gitlab-ce-0ac06c89e9cfc0fc8044b645294242d66af36150.tar.gz |
Merge branch 'ff_port_from_ee' into 'master'
Move Fast-Forward Merge to CE
See merge request gitlab-org/gitlab-ce!14272
Diffstat (limited to 'app/models/project.rb')
-rw-r--r-- | app/models/project.rb | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/app/models/project.rb b/app/models/project.rb index 44d1190cc5b..952e9e22b28 100644 --- a/app/models/project.rb +++ b/app/models/project.rb @@ -1566,6 +1566,34 @@ class Project < ActiveRecord::Base persisted? && path_changed? end + def merge_method + if self.merge_requests_ff_only_enabled + :ff + elsif self.merge_requests_rebase_enabled + :rebase_merge + else + :merge + end + end + + def merge_method=(method) + case method.to_s + when "ff" + self.merge_requests_ff_only_enabled = true + self.merge_requests_rebase_enabled = true + when "rebase_merge" + self.merge_requests_ff_only_enabled = false + self.merge_requests_rebase_enabled = true + when "merge" + self.merge_requests_ff_only_enabled = false + self.merge_requests_rebase_enabled = false + end + end + + def ff_merge_must_be_possible? + self.merge_requests_ff_only_enabled || self.merge_requests_rebase_enabled + end + def migrate_to_hashed_storage! return if hashed_storage? |