summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--app/controllers/repositories_controller.rb19
-rw-r--r--app/views/repositories/annotate.html.erb5
-rw-r--r--test/functional/repositories_git_controller_test.rb4
3 files changed, 17 insertions, 11 deletions
diff --git a/app/controllers/repositories_controller.rb b/app/controllers/repositories_controller.rb
index 9bee5b837..07f1db0b4 100644
--- a/app/controllers/repositories_controller.rb
+++ b/app/controllers/repositories_controller.rb
@@ -211,14 +211,17 @@ class RepositoriesController < ApplicationController
@annotate = @repository.scm.annotate(@path, @rev)
if @annotate.nil? || @annotate.empty?
- (render_error l(:error_scm_annotate); return)
- end
- ann_buf_size = 0
- @annotate.lines.each do |buf|
- ann_buf_size += buf.size
- end
- if ann_buf_size > Setting.file_max_size_displayed.to_i.kilobyte
- (render_error l(:error_scm_annotate_big_text_file); return)
+ @annotate = nil
+ @error_message = l(:error_scm_annotate)
+ else
+ ann_buf_size = 0
+ @annotate.lines.each do |buf|
+ ann_buf_size += buf.size
+ end
+ if ann_buf_size > Setting.file_max_size_displayed.to_i.kilobyte
+ @annotate = nil
+ @error_message = l(:error_scm_annotate_big_text_file)
+ end
end
@changeset = @repository.find_changeset_by_name(@rev)
end
diff --git a/app/views/repositories/annotate.html.erb b/app/views/repositories/annotate.html.erb
index fcb6d3d84..79a548f7e 100644
--- a/app/views/repositories/annotate.html.erb
+++ b/app/views/repositories/annotate.html.erb
@@ -8,8 +8,8 @@
<%= render :partial => 'link_to_functions' %>
+<% if @annotate %>
<% colors = Hash.new {|k,v| k[v] = (k.size % 12) } %>
-
<div class="autoscroll">
<table class="filecontent annotate syntaxhl">
<tbody>
@@ -38,6 +38,9 @@
</tbody>
</table>
</div>
+<% else %>
+<p id="errorExplanation"><%= @error_message %></p>
+<% end %>
<% html_title(l(:button_annotate)) -%>
diff --git a/test/functional/repositories_git_controller_test.rb b/test/functional/repositories_git_controller_test.rb
index 4ec419c53..4c2939e35 100644
--- a/test/functional/repositories_git_controller_test.rb
+++ b/test/functional/repositories_git_controller_test.rb
@@ -449,7 +449,7 @@ class RepositoriesGitControllerTest < Redmine::ControllerTest
with_settings :default_language => 'en' do
get :annotate, :id => PRJ_ID,
:path => repository_path_hash(['images', 'edit.png'])[:param]
- assert_response 500
+ assert_response 200
assert_select 'p#errorExplanation', :text => /cannot be annotated/
end
end
@@ -459,7 +459,7 @@ class RepositoriesGitControllerTest < Redmine::ControllerTest
get :annotate, :id => PRJ_ID,
:path => repository_path_hash(['sources', 'watchers_controller.rb'])[:param],
:rev => 'deff712f'
- assert_response 500
+ assert_response 200
assert_select 'p#errorExplanation', :text => /exceeds the maximum text file size/
get :annotate, :id => PRJ_ID,