Commit 45b18365d5f409f196a02a4e6e2b77b8ebef909b
1 parent
ac3c23f9
Exists in
master
and in
4 other branches
Fix an issue with MR unavailable if remove source branch
Showing
1 changed file
with
8 additions
and
5 deletions
Show diff stats
app/controllers/merge_requests_controller.rb
... | ... | @@ -34,11 +34,14 @@ class MergeRequestsController < ApplicationController |
34 | 34 | end |
35 | 35 | |
36 | 36 | def show |
37 | - unless @project.repo.heads.map(&:name).include?(@merge_request.target_branch) && | |
38 | - @project.repo.heads.map(&:name).include?(@merge_request.source_branch) | |
39 | - git_not_found! and return | |
40 | - end | |
41 | - | |
37 | + # Show git not found page if target branch doesnt exist | |
38 | + return git_not_found! unless @project.repo.heads.map(&:name).include?(@merge_request.target_branch) | |
39 | + | |
40 | + # Show git not found page if source branch doesnt exist | |
41 | + # and there is no saved commits between source & target branch | |
42 | + return git_not_found! if !@project.repo.heads.map(&:name).include?(@merge_request.source_branch) && @merge_request.commits.blank? | |
43 | + | |
44 | + # Build a note object for comment form | |
42 | 45 | @note = @project.notes.new(:noteable => @merge_request) |
43 | 46 | |
44 | 47 | # Get commits from repository | ... | ... |