Commit 8eae01ea58c505a3c132e3d4f09cf77e7c1fc574
1 parent
05e63fe0
Exists in
spb-stable
and in
2 other branches
Compare branches in MergeRequestsController#new action
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Showing
1 changed file
with
20 additions
and
4 deletions
Show diff stats
app/controllers/projects/merge_requests_controller.rb
| ... | ... | @@ -62,11 +62,27 @@ class Projects::MergeRequestsController < Projects::ApplicationController |
| 62 | 62 | @merge_request.source_project = @project unless @merge_request.source_project |
| 63 | 63 | @merge_request.target_project ||= (@project.forked_from_project || @project) |
| 64 | 64 | @target_branches = @merge_request.target_project.nil? ? [] : @merge_request.target_project.repository.branch_names |
| 65 | - | |
| 66 | 65 | @merge_request.target_branch ||= @merge_request.target_project.default_branch |
| 67 | - | |
| 68 | 66 | @source_project = @merge_request.source_project |
| 69 | - @merge_request | |
| 67 | + | |
| 68 | + if @merge_request.target_branch && @merge_request.source_branch | |
| 69 | + compare_action = Gitlab::Satellite::CompareAction.new( | |
| 70 | + current_user, | |
| 71 | + @merge_request.target_project, | |
| 72 | + @merge_request.target_branch, | |
| 73 | + @merge_request.source_project, | |
| 74 | + @merge_request.source_branch | |
| 75 | + ) | |
| 76 | + | |
| 77 | + @commits = compare_action.commits | |
| 78 | + @commits.map! { |commit| Commit.new(commit) } | |
| 79 | + @commit = @commits.first | |
| 80 | + | |
| 81 | + @diffs = compare_action.diffs | |
| 82 | + @merge_request.title = @merge_request.source_branch.titleize.humanize | |
| 83 | + @target_project = @merge_request.target_project | |
| 84 | + @target_repo = @target_project.repository | |
| 85 | + end | |
| 70 | 86 | end |
| 71 | 87 | |
| 72 | 88 | def edit |
| ... | ... | @@ -80,7 +96,7 @@ class Projects::MergeRequestsController < Projects::ApplicationController |
| 80 | 96 | @merge_request = MergeRequests::CreateService.new(project, current_user, params[:merge_request]).execute |
| 81 | 97 | |
| 82 | 98 | if @merge_request.valid? |
| 83 | - redirect_to [@merge_request.target_project, @merge_request], notice: 'Merge request was successfully created.' | |
| 99 | + redirect_to project_merge_request_path(@merge_request.target_project, @merge_request), notice: 'Merge request was successfully created.' | |
| 84 | 100 | else |
| 85 | 101 | @source_project = @merge_request.source_project |
| 86 | 102 | @target_project = @merge_request.target_project | ... | ... |