From bd68e9add190c5472e309f5d046194d544aa64ce Mon Sep 17 00:00:00 2001 From: Valery Sizov Date: Fri, 29 Sep 2017 19:07:27 +0300 Subject: [Port semi-linear history from EE] Move migration to CE and `merge_method` method --- app/models/project.rb | 14 +++++++++++++- ...0926_add_merge_request_rebase_enabled_to_projects.rb | 17 +++++++++++++++++ db/schema.rb | 1 + 3 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 db/migrate/20141126120926_add_merge_request_rebase_enabled_to_projects.rb diff --git a/app/models/project.rb b/app/models/project.rb index 1c3a78ff05a..fe442755619 100644 --- a/app/models/project.rb +++ b/app/models/project.rb @@ -1567,13 +1567,25 @@ class Project < ActiveRecord::Base 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) - self.merge_requests_ff_only_enabled = method.to_s == "ff" + 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? diff --git a/db/migrate/20141126120926_add_merge_request_rebase_enabled_to_projects.rb b/db/migrate/20141126120926_add_merge_request_rebase_enabled_to_projects.rb new file mode 100644 index 00000000000..3dafdf0fde4 --- /dev/null +++ b/db/migrate/20141126120926_add_merge_request_rebase_enabled_to_projects.rb @@ -0,0 +1,17 @@ +# rubocop:disable all +class AddMergeRequestRebaseEnabledToProjects < ActiveRecord::Migration + include Gitlab::Database::MigrationHelpers + + # Set this constant to true if this migration requires downtime. + DOWNTIME = false + + disable_ddl_transaction! + + def up + add_column_with_default(:projects, :merge_requests_rebase_enabled, :boolean, default: false) + end + + def down + remove_column(:projects, :merge_requests_rebase_enabled) + end +end diff --git a/db/schema.rb b/db/schema.rb index ad0dba99488..7c7ee0b9d33 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -1217,6 +1217,7 @@ ActiveRecord::Schema.define(version: 20170921115009) do t.boolean "resolve_outdated_diff_discussions" t.boolean "repository_read_only" t.boolean "merge_requests_ff_only_enabled", default: false + t.boolean "merge_requests_rebase_enabled", default: false, null: false end add_index "projects", ["ci_id"], name: "index_projects_on_ci_id", using: :btree -- cgit v1.2.3