diff options
Diffstat (limited to 'app/services/merge_requests/create_service.rb')
-rw-r--r-- | app/services/merge_requests/create_service.rb | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/app/services/merge_requests/create_service.rb b/app/services/merge_requests/create_service.rb index f431c5d5534..8389f29a53a 100644 --- a/app/services/merge_requests/create_service.rb +++ b/app/services/merge_requests/create_service.rb @@ -9,6 +9,15 @@ module MergeRequests merge_request.author = current_user if merge_request.save + # Fetch fork branch into hidden ref of target repository + if merge_request.for_fork? + merge_request.target_project.repository.fetch_ref( + merge_request.source_project.repository.path_to_repo, + "refs/heads/#{merge_request.source_branch}", + "refs/merge-requests/#{merge_request.id}/head" + ) + end + merge_request.update_attributes(label_ids: label_params) event_service.open_mr(merge_request, current_user) notification_service.new_merge_request(merge_request, current_user) |