1
0
mirror of https://github.com/meineerde/redmine.git synced 2026-01-04 22:59:47 +00:00

Don't respond with the error template when annotate is not available.

git-svn-id: http://svn.redmine.org/redmine/trunk@15694 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Jean-Philippe Lang 2016-07-17 09:22:42 +00:00
parent f165bbd0d7
commit 1db54e228d
3 changed files with 17 additions and 11 deletions

View File

@ -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

View File

@ -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)) -%>

View File

@ -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,