Commit fb8a3e319a59cedd19191a169cfae08b2923ecbe
1 parent
b19bffc5
Exists in
master
and in
4 other branches
Update logic for validates_merge_request for tree of MR
For case: Merge request №1: branch "feature" to "release" and remove "feature" branch Merge request №2: branch "release" to "master" and remove "release" branch Merge request №1 - broken :(
Showing
1 changed file
with
10 additions
and
6 deletions
Show diff stats
app/controllers/projects/merge_requests_controller.rb
... | ... | @@ -122,12 +122,16 @@ class Projects::MergeRequestsController < Projects::ApplicationController |
122 | 122 | end |
123 | 123 | |
124 | 124 | def validates_merge_request |
125 | - # Show git not found page if target branch doesn't exist | |
126 | - return invalid_mr unless @project.repository.branch_names.include?(@merge_request.target_branch) | |
127 | - | |
128 | - # Show git not found page if source branch doesn't exist | |
129 | - # and there is no saved commits between source & target branch | |
130 | - return invalid_mr if !@project.repository.branch_names.include?(@merge_request.source_branch) && @merge_request.commits.blank? | |
125 | + # Show git not found page | |
126 | + # if there is no saved commits between source & target branch | |
127 | + if @merge_request.commits.blank? | |
128 | + # and | |
129 | + # if source target doesn't exist | |
130 | + return invalid_mr if !@project.repository.branch_names.include?(@merge_request.target_branch) | |
131 | + | |
132 | + # or if source branch doesn't exist | |
133 | + return invalid_mr if !@project.repository.branch_names.include?(@merge_request.source_branch) | |
134 | + end | |
131 | 135 | end |
132 | 136 | |
133 | 137 | def define_show_vars | ... | ... |