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:
authorrandx <dmitriy.zaporozhets@gmail.com>2012-06-20 21:08:18 +0400
committerrandx <dmitriy.zaporozhets@gmail.com>2012-06-20 21:08:18 +0400
commit4ac0160a1184fe4acf86cd07040af78847577e11 (patch)
treed8685e48989c63284adc18aa29663c958394ecb6 /app
parentc7542eb801ce0c538c442476e42f1d06d4e40fa9 (diff)
Hande error with huge commits
Diffstat (limited to 'app')
-rw-r--r--app/controllers/commits_controller.rb2
-rw-r--r--app/views/commits/_commit_box.html.haml34
-rw-r--r--app/views/commits/huge_commit.html.haml3
-rw-r--r--app/views/commits/show.html.haml34
4 files changed, 40 insertions, 33 deletions
diff --git a/app/controllers/commits_controller.rb b/app/controllers/commits_controller.rb
index 8a91c28480c..bbf5a672d7f 100644
--- a/app/controllers/commits_controller.rb
+++ b/app/controllers/commits_controller.rb
@@ -41,6 +41,8 @@ class CommitsController < ApplicationController
if @commit.diffs.size > 200 && !params[:force_show_diff]
@suppress_diff = true
end
+ rescue Grit::Git::GitTimeout
+ render "huge_commit"
end
def compare
diff --git a/app/views/commits/_commit_box.html.haml b/app/views/commits/_commit_box.html.haml
new file mode 100644
index 00000000000..c821c260f1b
--- /dev/null
+++ b/app/views/commits/_commit_box.html.haml
@@ -0,0 +1,34 @@
+.commit-box{class: @commit.parents.count > 1 ? "merge-commit" : ""}
+ .commit-head
+ = link_to "Browse Code »", tree_project_ref_path(@project, @commit.id), :class => "browse-button"
+ %h3.commit-title
+ = commit_msg_with_link_to_issues(@project, @commit.title)
+ - if @commit.description.present?
+ %pre.commit-description
+ = commit_msg_with_link_to_issues(@project, @commit.description)
+ .commit-info
+ .row
+ .span4
+ = image_tag gravatar_icon(@commit.author_email, 40), :class => "avatar"
+ .author
+ %strong= @commit.author_name
+ authored
+ %time{title: @commit.authored_date.stamp("Aug 21, 2011 9:23pm")}
+ #{time_ago_in_words(@commit.authored_date)} ago
+ - if @commit.different_committer?
+ .committer
+ &rarr;
+ %strong= @commit.committer_name
+ committed
+ %time{title: @commit.committed_date.stamp("Aug 21, 2011 9:23pm")}
+ #{time_ago_in_words(@commit.committed_date)} ago
+ .span7.right
+ .sha-block
+ %span.cgray commit
+ %code= @commit.id
+ .sha-block
+ %span.cgray= pluralize(@commit.parents.count, "parent")
+ - @commit.parents.each do |parent|
+ = link_to parent.id[0...10], project_commit_path(@project, parent)
+
+
diff --git a/app/views/commits/huge_commit.html.haml b/app/views/commits/huge_commit.html.haml
new file mode 100644
index 00000000000..ba97a7c572c
--- /dev/null
+++ b/app/views/commits/huge_commit.html.haml
@@ -0,0 +1,3 @@
+= render "commits/commit_box"
+.alert-message.block-message.error
+ %h4 Commit diffs are too big to be displayed
diff --git a/app/views/commits/show.html.haml b/app/views/commits/show.html.haml
index 0365e6584a8..7119bd04b9e 100644
--- a/app/views/commits/show.html.haml
+++ b/app/views/commits/show.html.haml
@@ -1,36 +1,4 @@
-.commit-box{class: @commit.parents.count > 1 ? "merge-commit" : ""}
- .commit-head
- = link_to "Browse Code »", tree_project_ref_path(@project, @commit.id), :class => "browse-button"
- %h3.commit-title
- = commit_msg_with_link_to_issues(@project, @commit.title)
- - if @commit.description.present?
- %pre.commit-description
- = commit_msg_with_link_to_issues(@project, @commit.description)
- .commit-info
- .row
- .span4
- = image_tag gravatar_icon(@commit.author_email, 40), :class => "avatar"
- .author
- %strong= @commit.author_name
- authored
- %time{title: @commit.authored_date.stamp("Aug 21, 2011 9:23pm")}
- #{time_ago_in_words(@commit.authored_date)} ago
- - if @commit.different_committer?
- .committer
- &rarr;
- %strong= @commit.committer_name
- committed
- %time{title: @commit.committed_date.stamp("Aug 21, 2011 9:23pm")}
- #{time_ago_in_words(@commit.committed_date)} ago
- .span7.right
- .sha-block
- %span.cgray commit
- %code= @commit.id
- .sha-block
- %span.cgray= pluralize(@commit.parents.count, "parent")
- - @commit.parents.each do |parent|
- = link_to parent.id[0...10], project_commit_path(@project, parent)
-
+= render "commits/commit_box"
= render "commits/diffs", :diffs => @commit.diffs
= render "notes/notes", :tid => @commit.id, :tt => "commit"
= render "notes/per_line_form"