<% @entries.each do |entry| %>
<% tr_id = ActiveSupport::Digest.hexdigest(entry.path)
   depth = params[:depth].to_i %>
<%  ent_path = Redmine::CodesetUtil.replace_invalid_utf8(entry.path)   %>
<%  ent_name = Redmine::CodesetUtil.replace_invalid_utf8(entry.name)   %>
<tr id="<%= tr_id %>" class="<%= params[:parent_id] %> entry <%= entry.kind %>">
<td style="padding-inline-start: <%=18 * depth%>px;" class="<%=
           @repository.report_last_commit ? "filename" : "filename_no_report" %>">
<% if entry.is_dir? %>
<span class="expander icon icon-collapsed" onclick="scmEntryClick('<%= tr_id %>', '<%= escape_javascript(url_for(
                       :action => 'show',
                       :id     => @project,
                       :repository_id => @repository.identifier_param,
                       :path   => to_path_param(ent_path),
                       :rev    => @rev,
                       :depth  => (depth + 1),
                       :parent_id => tr_id)) %>');"><%= sprite_icon('angle-right', rtl: true) %></span>
<% end %>
<%=  link_to file_icon(entry, ent_name),
             {:action => (entry.is_dir? ? 'show' : 'entry'), :id => @project, :repository_id => @repository.identifier_param, :path => to_path_param(ent_path), :rev => @rev},
             :class => (entry.is_dir? ? 'icon icon-folder' : "icon icon-file #{Redmine::MimeType.css_class_of(ent_name)}")%>
</td>
<td class="size"><%= (entry.size ? number_to_human_size(entry.size) : "?") unless entry.is_dir? %></td>
<% if @repository.report_last_commit %>
<td class="revision"><%= link_to_revision(entry.changeset, @repository) if entry.changeset %></td>
<td class="age"><%= distance_of_time_in_words(entry.lastrev.time, Time.now) if entry.lastrev && entry.lastrev.time %></td>
<td class="author"><%= entry.author %></td>
<td class="comments"><%= entry.changeset.comments.truncate(50) if entry.changeset %></td>
<% end %>
</tr>
<% end %>
