Merge branch 'kk/gitweb-omit-expensive'
"gitweb" learned to optionally omit output of fields that are expensive to generate. By Kacper Kornet * kk/gitweb-omit-expensive: gitweb: Option to not display information about owner gitweb: Option to omit column with time of the last changemaint
						commit
						55375e9473
					
				|  | @ -499,6 +499,13 @@ $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. | ||||||
|  |  | ||||||
|  | $omit_owner:: | ||||||
|  | 	If true prevents displaying information about repository owner. | ||||||
|  |  | ||||||
| $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. | ||||||
|  |  | ||||||
|  | @ -133,6 +133,12 @@ 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; | ||||||
|  |  | ||||||
|  | # don't generate information about owners of repositories | ||||||
|  | our $omit_owner=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"; } | ||||||
|  | @ -5612,11 +5618,15 @@ sub git_project_list_rows { | ||||||
| 		                        ? esc_html_match_hl_chopped($pr->{'descr_long'}, | 		                        ? esc_html_match_hl_chopped($pr->{'descr_long'}, | ||||||
| 		                                                    $pr->{'descr'}, $search_regexp) | 		                                                    $pr->{'descr'}, $search_regexp) | ||||||
| 		                        : esc_html($pr->{'descr'})) . | 		                        : esc_html($pr->{'descr'})) . | ||||||
| 		      "</td>\n" . | 		      "</td>\n"; | ||||||
| 		      "<td><i>" . chop_and_escape_str($pr->{'owner'}, 15) . "</i></td>\n"; | 		unless ($omit_owner) { | ||||||
| 		print "<td class=\"". age_class($pr->{'age'}) . "\">" . | 		        print "<td><i>" . chop_and_escape_str($pr->{'owner'}, 15) . "</i></td>\n"; | ||||||
| 		      (defined $pr->{'age_string'} ? $pr->{'age_string'} : "No commits") . "</td>\n" . | 		} | ||||||
| 		      "<td class=\"link\">" . | 		unless ($omit_age_column) { | ||||||
|  | 		        print "<td class=\"". age_class($pr->{'age'}) . "\">" . | ||||||
|  | 		            (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") . " | " . | ||||||
|  | @ -5647,7 +5657,10 @@ 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 = ('descr', 'descr_long', 'ctags', 'category'); | ||||||
|  | 	push @all_fields, ('age', 'age_string') unless($omit_age_column); | ||||||
|  | 	push @all_fields, 'owner' unless($omit_owner); | ||||||
|  | 	@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; | ||||||
|  | @ -5678,8 +5691,8 @@ 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') unless $omit_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"; | ||||||
| 	} | 	} | ||||||
|  | @ -6432,8 +6445,10 @@ sub git_summary { | ||||||
|  |  | ||||||
| 	print "<div class=\"title\"> </div>\n"; | 	print "<div class=\"title\"> </div>\n"; | ||||||
| 	print "<table class=\"projects_list\">\n" . | 	print "<table class=\"projects_list\">\n" . | ||||||
| 	      "<tr id=\"metadata_desc\"><td>description</td><td>" . esc_html($descr) . "</td></tr>\n" . | 	      "<tr id=\"metadata_desc\"><td>description</td><td>" . esc_html($descr) . "</td></tr>\n"; | ||||||
| 	      "<tr id=\"metadata_owner\"><td>owner</td><td>" . esc_html($owner) . "</td></tr>\n"; |         unless ($omit_owner) { | ||||||
|  | 	        print  "<tr id=\"metadata_owner\"><td>owner</td><td>" . esc_html($owner) . "</td></tr>\n"; | ||||||
|  |         } | ||||||
| 	if (defined $cd{'rfc2822'}) { | 	if (defined $cd{'rfc2822'}) { | ||||||
| 		print "<tr id=\"metadata_lchange\"><td>last change</td>" . | 		print "<tr id=\"metadata_lchange\"><td>last change</td>" . | ||||||
| 		      "<td>".format_timestamp_html(\%cd)."</td></tr>\n"; | 		      "<td>".format_timestamp_html(\%cd)."</td></tr>\n"; | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue
	
	 Junio C Hamano
						Junio C Hamano