Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2014-06-13 17:15:41 +0400
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2014-06-13 17:15:41 +0400
commit5fdcaadf347e41109f20a4dee733f5b51030feda (patch)
tree2f41aa9c7a3bcb9cd31b3b44f805368a55a4d52b /app
parent273093a9b4e5970d7ed8b9bb6e16dee9f5ce2b70 (diff)
parent59e1819561912cb38bf00a7a34de1ac9e85c3a35 (diff)
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
Diffstat (limited to 'app')
-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"