Commit a163135c authored by Dmitriy Zaporozhets's avatar Dmitriy Zaporozhets

Intead of showing 404 give users ability to close MR with missing branches

parent a0cc3882
...@@ -543,3 +543,15 @@ img.emoji { ...@@ -543,3 +543,15 @@ img.emoji {
.appear-data { .appear-data {
display: none; display: none;
} }
.label-branch {
@include border-radius(4px);
padding: 2px 4px;
border: none;
font-size: 14px;
background: #474D57;
color: #fff;
font-family: $monospace_font;
text-shadow: 0 1px 1px #111;
font-weight: normal;
}
...@@ -70,16 +70,6 @@ li.merge_request { ...@@ -70,16 +70,6 @@ li.merge_request {
@extend .append-bottom-10; @extend .append-bottom-10;
} }
.label_branch {
@include border-radius(4px);
padding: 2px 4px;
border: none;
font-size: 14px;
background: #474D57;
color: #fff;
font-family: $monospace_font;
}
.mr_source_commit, .mr_source_commit,
.mr_target_commit { .mr_target_commit {
.commit { .commit {
......
...@@ -129,11 +129,11 @@ class MergeRequestsController < ProjectResourceController ...@@ -129,11 +129,11 @@ class MergeRequestsController < ProjectResourceController
def validates_merge_request def validates_merge_request
# Show git not found page if target branch doesn't exist # Show git not found page if target branch doesn't exist
return git_not_found! unless @project.repo.heads.map(&:name).include?(@merge_request.target_branch) return invalid_mr unless @project.repo.heads.map(&:name).include?(@merge_request.target_branch)
# Show git not found page if source branch doesn't exist # Show git not found page if source branch doesn't exist
# and there is no saved commits between source & target branch # and there is no saved commits between source & target branch
return git_not_found! if !@project.repo.heads.map(&:name).include?(@merge_request.source_branch) && @merge_request.commits.blank? return invalid_mr if !@project.repo.heads.map(&:name).include?(@merge_request.source_branch) && @merge_request.commits.blank?
end end
def define_show_vars def define_show_vars
...@@ -158,4 +158,9 @@ class MergeRequestsController < ProjectResourceController ...@@ -158,4 +158,9 @@ class MergeRequestsController < ProjectResourceController
can?(current_user, action, @project) can?(current_user, action, @project)
end end
def invalid_mr
# Render special view for MR with removed source or target branch
render 'invalid'
end
end end
...@@ -2,9 +2,9 @@ ...@@ -2,9 +2,9 @@
- unless params[:to] - unless params[:to]
%p.slead %p.slead
Fill input field with commit id like Fill input field with commit id like
%code.label_branch 4eedf23 %code.label-branch 4eedf23
or branch/tag name like or branch/tag name like
%code.label_branch master %code.label-branch master
and press compare button for commits list, code diff. and press compare button for commits list, code diff.
%br %br
......
.merge-request
= render "merge_requests/show/mr_title"
= render "merge_requests/show/mr_box"
.alert.alert-error
%h5
%i.icon-exclamation-sign
We cannot find
%span.label-branch= @merge_request.source_branch
or
%span.label-branch= @merge_request.target_branch
branches in the repository.
%p
Maybe it was removed or never pushed.
%p
Please close Merge Request or change branches with existing one
%h3.page_title %h3.page_title
= "Merge Request ##{@merge_request.id}:" = "Merge Request ##{@merge_request.id}:"
&nbsp; &nbsp;
%span.label_branch= @merge_request.source_branch %span.label-branch= @merge_request.source_branch
&rarr; &rarr;
%span.label_branch= @merge_request.target_branch %span.label-branch= @merge_request.target_branch
%span.pull-right %span.pull-right
- if can?(current_user, :modify_merge_request, @merge_request) - if can?(current_user, :modify_merge_request, @merge_request)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment