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 | ... | ... |