Commit fb8a3e319a59cedd19191a169cfae08b2923ecbe

Authored by Andrew Kumanyaev
1 parent b19bffc5

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