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,11 +62,27 @@ class Projects::MergeRequestsController < Projects::ApplicationController | ||
62 | @merge_request.source_project = @project unless @merge_request.source_project | 62 | @merge_request.source_project = @project unless @merge_request.source_project |
63 | @merge_request.target_project ||= (@project.forked_from_project || @project) | 63 | @merge_request.target_project ||= (@project.forked_from_project || @project) |
64 | @target_branches = @merge_request.target_project.nil? ? [] : @merge_request.target_project.repository.branch_names | 64 | @target_branches = @merge_request.target_project.nil? ? [] : @merge_request.target_project.repository.branch_names |
65 | - | ||
66 | @merge_request.target_branch ||= @merge_request.target_project.default_branch | 65 | @merge_request.target_branch ||= @merge_request.target_project.default_branch |
67 | - | ||
68 | @source_project = @merge_request.source_project | 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 | end | 86 | end |
71 | 87 | ||
72 | def edit | 88 | def edit |
@@ -80,7 +96,7 @@ class Projects::MergeRequestsController < Projects::ApplicationController | @@ -80,7 +96,7 @@ class Projects::MergeRequestsController < Projects::ApplicationController | ||
80 | @merge_request = MergeRequests::CreateService.new(project, current_user, params[:merge_request]).execute | 96 | @merge_request = MergeRequests::CreateService.new(project, current_user, params[:merge_request]).execute |
81 | 97 | ||
82 | if @merge_request.valid? | 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 | else | 100 | else |
85 | @source_project = @merge_request.source_project | 101 | @source_project = @merge_request.source_project |
86 | @target_project = @merge_request.target_project | 102 | @target_project = @merge_request.target_project |