diff options
author | Jacob Vosmaer <jacob@gitlab.com> | 2017-10-10 15:15:21 +0300 |
---|---|---|
committer | Jacob Vosmaer <jacob@gitlab.com> | 2017-10-13 15:07:31 +0300 |
commit | 0aff29f96b54e8036fe46315adb45295bc6c9efd (patch) | |
tree | 23110ac96a9d0d8455aed256d5bdb05174af5919 /lib/gitlab/git/repository.rb | |
parent | c08fea6fd3b69c5efad14cf39783ef71a7006fad (diff) |
Merge Merge Requests via Gitaly
Diffstat (limited to 'lib/gitlab/git/repository.rb')
-rw-r--r-- | lib/gitlab/git/repository.rb | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/lib/gitlab/git/repository.rb b/lib/gitlab/git/repository.rb index a6b2d189f18..f99be3cef7b 100644 --- a/lib/gitlab/git/repository.rb +++ b/lib/gitlab/git/repository.rb @@ -704,7 +704,17 @@ module Gitlab tags.find { |tag| tag.name == name } end - def merge(user, source_sha, target_branch, message) + def merge(user, source_sha, target_branch, message, &block) + gitaly_migrate(:operation_user_merge_branch) do |is_enabled| + if is_enabled + gitaly_operation_client.user_merge_branch(user, source_sha, target_branch, message, &block) + else + rugged_merge(user, source_sha, target_branch, message, &block) + end + end + end + + def rugged_merge(user, source_sha, target_branch, message) committer = Gitlab::Git.committer_hash(email: user.email, name: user.name) OperationService.new(user, self).with_branch(target_branch) do |start_commit| |