gitweb: Option to omit column with time of the last change

Generating information about last change for a large number of git
repositories can be very time consuming. This commit add an option to
omit 'Last Change' column when presenting the list of repositories.

Signed-off-by: Kacper Kornet <draenog@pld-linux.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Kacper Kornet 2012-04-24 19:39:15 +02:00 committed by Junio C Hamano
parent 75e0dffef0
commit 5710be46d8
2 changed files with 15 additions and 5 deletions

View File

@ -499,6 +499,10 @@ $maxload::
Set `$maxload` to undefined value (`undef`) to turn this feature off. Set `$maxload` to undefined value (`undef`) to turn this feature off.
The default value is 300. The default value is 300.


$omit_age_column::
If true, omit the column with date of the most current commit on the
projects list page. It can save a bit of I/O and a fork per repository.

$per_request_config:: $per_request_config::
If this is set to code reference, it will be run once for each request. If this is set to code reference, it will be run once for each request.
You can set parts of configuration that change per session this way. You can set parts of configuration that change per session this way.

View File

@ -133,6 +133,9 @@ our $default_projects_order = "project";
# (only effective if this variable evaluates to true) # (only effective if this variable evaluates to true)
our $export_ok = "++GITWEB_EXPORT_OK++"; our $export_ok = "++GITWEB_EXPORT_OK++";


# don't generate age column on the projects list page
our $omit_age_column = 0;

# show repository only if this subroutine returns true # show repository only if this subroutine returns true
# when given the path to the project, for example: # when given the path to the project, for example:
# sub { return -e "$_[0]/git-daemon-export-ok"; } # sub { return -e "$_[0]/git-daemon-export-ok"; }
@ -5464,9 +5467,11 @@ sub git_project_list_rows {
: esc_html($pr->{'descr'})) . : esc_html($pr->{'descr'})) .
"</td>\n" . "</td>\n" .
"<td><i>" . chop_and_escape_str($pr->{'owner'}, 15) . "</i></td>\n"; "<td><i>" . chop_and_escape_str($pr->{'owner'}, 15) . "</i></td>\n";
print "<td class=\"". age_class($pr->{'age'}) . "\">" . unless ($omit_age_column) {
(defined $pr->{'age_string'} ? $pr->{'age_string'} : "No commits") . "</td>\n" . print "<td class=\"". age_class($pr->{'age'}) . "\">" .
"<td class=\"link\">" . (defined $pr->{'age_string'} ? $pr->{'age_string'} : "No commits") . "</td>\n";
}
print"<td class=\"link\">" .
$cgi->a({-href => href(project=>$pr->{'path'}, action=>"summary")}, "summary") . " | " . $cgi->a({-href => href(project=>$pr->{'path'}, action=>"summary")}, "summary") . " | " .
$cgi->a({-href => href(project=>$pr->{'path'}, action=>"shortlog")}, "shortlog") . " | " . $cgi->a({-href => href(project=>$pr->{'path'}, action=>"shortlog")}, "shortlog") . " | " .
$cgi->a({-href => href(project=>$pr->{'path'}, action=>"log")}, "log") . " | " . $cgi->a({-href => href(project=>$pr->{'path'}, action=>"log")}, "log") . " | " .
@ -5497,7 +5502,8 @@ sub git_project_list_body {
'tagfilter' => $tagfilter) 'tagfilter' => $tagfilter)
if ($tagfilter || $search_regexp); if ($tagfilter || $search_regexp);
# fill the rest # fill the rest
@projects = fill_project_list_info(\@projects); my @all_fields = $omit_age_column ? ('descr', 'descr_long', 'owner', 'ctags', 'category') : ();
@projects = fill_project_list_info(\@projects, @all_fields);


$order ||= $default_projects_order; $order ||= $default_projects_order;
$from = 0 unless defined $from; $from = 0 unless defined $from;
@ -5529,7 +5535,7 @@ sub git_project_list_body {
print_sort_th('project', $order, 'Project'); print_sort_th('project', $order, 'Project');
print_sort_th('descr', $order, 'Description'); print_sort_th('descr', $order, 'Description');
print_sort_th('owner', $order, 'Owner'); print_sort_th('owner', $order, 'Owner');
print_sort_th('age', $order, 'Last Change'); print_sort_th('age', $order, 'Last Change') unless $omit_age_column;
print "<th></th>\n" . # for links print "<th></th>\n" . # for links
"</tr>\n"; "</tr>\n";
} }