Commit a163135cb5bd9886b634d8026b7adf473b023782
1 parent
a0cc3882
Exists in
master
and in
4 other branches
Intead of showing 404 give users ability to close MR with missing branches
Showing
6 changed files
with
40 additions
and
16 deletions
Show diff stats
app/assets/stylesheets/common.scss
| @@ -543,3 +543,15 @@ img.emoji { | @@ -543,3 +543,15 @@ img.emoji { | ||
| 543 | .appear-data { | 543 | .appear-data { |
| 544 | display: none; | 544 | display: none; |
| 545 | } | 545 | } |
| 546 | + | ||
| 547 | +.label-branch { | ||
| 548 | + @include border-radius(4px); | ||
| 549 | + padding: 2px 4px; | ||
| 550 | + border: none; | ||
| 551 | + font-size: 14px; | ||
| 552 | + background: #474D57; | ||
| 553 | + color: #fff; | ||
| 554 | + font-family: $monospace_font; | ||
| 555 | + text-shadow: 0 1px 1px #111; | ||
| 556 | + font-weight: normal; | ||
| 557 | +} |
app/assets/stylesheets/sections/merge_requests.scss
| @@ -70,16 +70,6 @@ li.merge_request { | @@ -70,16 +70,6 @@ li.merge_request { | ||
| 70 | @extend .append-bottom-10; | 70 | @extend .append-bottom-10; |
| 71 | } | 71 | } |
| 72 | 72 | ||
| 73 | -.label_branch { | ||
| 74 | - @include border-radius(4px); | ||
| 75 | - padding: 2px 4px; | ||
| 76 | - border: none; | ||
| 77 | - font-size: 14px; | ||
| 78 | - background: #474D57; | ||
| 79 | - color: #fff; | ||
| 80 | - font-family: $monospace_font; | ||
| 81 | -} | ||
| 82 | - | ||
| 83 | .mr_source_commit, | 73 | .mr_source_commit, |
| 84 | .mr_target_commit { | 74 | .mr_target_commit { |
| 85 | .commit { | 75 | .commit { |
app/controllers/merge_requests_controller.rb
| @@ -129,11 +129,11 @@ class MergeRequestsController < ProjectResourceController | @@ -129,11 +129,11 @@ class MergeRequestsController < ProjectResourceController | ||
| 129 | 129 | ||
| 130 | def validates_merge_request | 130 | def validates_merge_request |
| 131 | # Show git not found page if target branch doesn't exist | 131 | # Show git not found page if target branch doesn't exist |
| 132 | - return git_not_found! unless @project.repo.heads.map(&:name).include?(@merge_request.target_branch) | 132 | + return invalid_mr unless @project.repo.heads.map(&:name).include?(@merge_request.target_branch) |
| 133 | 133 | ||
| 134 | # Show git not found page if source branch doesn't exist | 134 | # Show git not found page if source branch doesn't exist |
| 135 | # and there is no saved commits between source & target branch | 135 | # and there is no saved commits between source & target branch |
| 136 | - return git_not_found! if !@project.repo.heads.map(&:name).include?(@merge_request.source_branch) && @merge_request.commits.blank? | 136 | + return invalid_mr if !@project.repo.heads.map(&:name).include?(@merge_request.source_branch) && @merge_request.commits.blank? |
| 137 | end | 137 | end |
| 138 | 138 | ||
| 139 | def define_show_vars | 139 | def define_show_vars |
| @@ -158,4 +158,9 @@ class MergeRequestsController < ProjectResourceController | @@ -158,4 +158,9 @@ class MergeRequestsController < ProjectResourceController | ||
| 158 | 158 | ||
| 159 | can?(current_user, action, @project) | 159 | can?(current_user, action, @project) |
| 160 | end | 160 | end |
| 161 | + | ||
| 162 | + def invalid_mr | ||
| 163 | + # Render special view for MR with removed source or target branch | ||
| 164 | + render 'invalid' | ||
| 165 | + end | ||
| 161 | end | 166 | end |
app/views/compare/_form.html.haml
| @@ -2,9 +2,9 @@ | @@ -2,9 +2,9 @@ | ||
| 2 | - unless params[:to] | 2 | - unless params[:to] |
| 3 | %p.slead | 3 | %p.slead |
| 4 | Fill input field with commit id like | 4 | Fill input field with commit id like |
| 5 | - %code.label_branch 4eedf23 | 5 | + %code.label-branch 4eedf23 |
| 6 | or branch/tag name like | 6 | or branch/tag name like |
| 7 | - %code.label_branch master | 7 | + %code.label-branch master |
| 8 | and press compare button for commits list, code diff. | 8 | and press compare button for commits list, code diff. |
| 9 | 9 | ||
| 10 | %br | 10 | %br |
| @@ -0,0 +1,17 @@ | @@ -0,0 +1,17 @@ | ||
| 1 | +.merge-request | ||
| 2 | + = render "merge_requests/show/mr_title" | ||
| 3 | + = render "merge_requests/show/mr_box" | ||
| 4 | + | ||
| 5 | + .alert.alert-error | ||
| 6 | + %h5 | ||
| 7 | + %i.icon-exclamation-sign | ||
| 8 | + We cannot find | ||
| 9 | + %span.label-branch= @merge_request.source_branch | ||
| 10 | + or | ||
| 11 | + %span.label-branch= @merge_request.target_branch | ||
| 12 | + branches in the repository. | ||
| 13 | + %p | ||
| 14 | + Maybe it was removed or never pushed. | ||
| 15 | + %p | ||
| 16 | + Please close Merge Request or change branches with existing one | ||
| 17 | + |
app/views/merge_requests/show/_mr_title.html.haml
| 1 | %h3.page_title | 1 | %h3.page_title |
| 2 | = "Merge Request ##{@merge_request.id}:" | 2 | = "Merge Request ##{@merge_request.id}:" |
| 3 | | 3 | |
| 4 | - %span.label_branch= @merge_request.source_branch | 4 | + %span.label-branch= @merge_request.source_branch |
| 5 | → | 5 | → |
| 6 | - %span.label_branch= @merge_request.target_branch | 6 | + %span.label-branch= @merge_request.target_branch |
| 7 | 7 | ||
| 8 | %span.pull-right | 8 | %span.pull-right |
| 9 | - if can?(current_user, :modify_merge_request, @merge_request) | 9 | - if can?(current_user, :modify_merge_request, @merge_request) |