summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2014-06-13 13:15:41 +0000
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2014-06-13 13:15:41 +0000
commit5fdcaadf347e41109f20a4dee733f5b51030feda (patch)
tree2f41aa9c7a3bcb9cd31b3b44f805368a55a4d52b
parent273093a9b4e5970d7ed8b9bb6e16dee9f5ce2b70 (diff)
parent59e1819561912cb38bf00a7a34de1ac9e85c3a35 (diff)
downloadgitlab-ce-5fdcaadf347e41109f20a4dee733f5b51030feda.tar.gz
Merge branch 'fix-new-mr-502' into 'master'
Fix 502 error on new merge request page When diff is huge we try to render it that cause 502 error often. After this patch we apply soft limits to diffs. So if diff is huge - we doing show it Fixes #1323
-rw-r--r--app/controllers/projects/merge_requests_controller.rb3
-rw-r--r--app/views/projects/commits/_diffs.html.haml5
2 files changed, 6 insertions, 2 deletions
diff --git a/app/controllers/projects/merge_requests_controller.rb b/app/controllers/projects/merge_requests_controller.rb
index e15e1be2c6d..f8447691d6d 100644
--- a/app/controllers/projects/merge_requests_controller.rb
+++ b/app/controllers/projects/merge_requests_controller.rb
@@ -90,6 +90,9 @@ class Projects::MergeRequestsController < Projects::ApplicationController
@merge_request.title = @merge_request.source_branch.titleize.humanize
@target_project = @merge_request.target_project
@target_repo = @target_project.repository
+
+ diff_line_count = Commit::diff_line_count(@diffs)
+ @suppress_diff = Commit::diff_suppress?(@diffs, diff_line_count)
end
end
diff --git a/app/views/projects/commits/_diffs.html.haml b/app/views/projects/commits/_diffs.html.haml
index 466085139f9..ed95a30bc7e 100644
--- a/app/views/projects/commits/_diffs.html.haml
+++ b/app/views/projects/commits/_diffs.html.haml
@@ -6,12 +6,13 @@
%p
To preserve performance the diff is not shown.
- if current_controller?(:commit) or current_controller?(:merge_requests)
- Please, download the diff as
- if current_controller?(:commit)
+ Please, download the diff as
= link_to "plain diff", project_commit_path(@project, @commit, format: :diff), class: "underlined-link"
or
= link_to "email patch", project_commit_path(@project, @commit, format: :patch), class: "underlined-link"
- - else
+ - elsif @merge_request && @merge_request.persisted?
+ Please, download the diff as
= link_to "plain diff", project_merge_request_path(@project, @merge_request, format: :diff), class: "underlined-link"
or
= link_to "email patch", project_merge_request_path(@project, @merge_request, format: :patch), class: "underlined-link"