2018-07-16 16:31:01 +00:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2016-04-18 07:39:07 +00:00
|
|
|
module Commits
|
|
|
|
class CherryPickService < ChangeService
|
2017-04-20 00:37:44 +00:00
|
|
|
def create_commit!
|
2020-01-22 21:08:48 +00:00
|
|
|
commit_change(:cherry_pick).tap do |sha|
|
|
|
|
track_mr_picking(sha)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
private
|
|
|
|
|
|
|
|
def track_mr_picking(pick_sha)
|
|
|
|
merge_request = project.merge_requests.by_merge_commit_sha(@commit.sha).first
|
|
|
|
return unless merge_request
|
|
|
|
|
|
|
|
::SystemNotes::MergeRequestsService.new(
|
|
|
|
noteable: merge_request,
|
|
|
|
project: project,
|
|
|
|
author: current_user
|
|
|
|
).picked_into_branch(@branch_name, pick_sha)
|
2016-04-18 07:39:07 +00:00
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|