diff options
Diffstat (limited to 'app/services/commits/cherry_pick_service.rb')
-rw-r--r-- | app/services/commits/cherry_pick_service.rb | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/app/services/commits/cherry_pick_service.rb b/app/services/commits/cherry_pick_service.rb index 7e982bf7686..2a634c5ec71 100644 --- a/app/services/commits/cherry_pick_service.rb +++ b/app/services/commits/cherry_pick_service.rb @@ -2,9 +2,18 @@ module Commits class CherryPickService < ChangeService + def initialize(*args) + super + + @start_project = params[:target_project] || @project + @source_project = params[:source_project] || @project + end + def create_commit! - commit_change(:cherry_pick).tap do |sha| - track_mr_picking(sha) + Gitlab::Git::CrossRepo.new(@project.repository, @source_project.repository).execute(@commit.id) do + commit_change(:cherry_pick).tap do |sha| + track_mr_picking(sha) + end end end |