From: Jakub Narebski <jnareb@gmail.com>
To: Kacper Kornet <draenog@pld-linux.org>
Cc: git@vger.kernel.org
Subject: Re: [PATCH] gitweb: Option to omit column with time of the last change
Date: Wed, 4 Apr 2012 01:12:01 +0200 [thread overview]
Message-ID: <201204040112.02269.jnareb@gmail.com> (raw)
In-Reply-To: <20120403132735.GA12389@camk.edu.pl>
On Tue, 3 Apr 2012, Kacper Kornet wrote:
> Generating information about last change for a large number of git
> repositories can be time consuming. This commit adds an option to
> omit 'Last Change' column when presenting the list of repositories.
>
This is quite a good idea, I think.
Even a better solution would be to add caching support to gitweb, but
first it is a long way from being ready, and second not in all cases
you are able to / wants to have a cache.
> Signed-off-by: Kacper Kornet <draenog@pld-linux.org>
> ---
> Documentation/gitweb.conf.txt | 3 +++
> gitweb/gitweb.perl | 16 +++++++++++-----
> 2 files changed, 14 insertions(+), 5 deletions(-)
>
> diff --git a/Documentation/gitweb.conf.txt b/Documentation/gitweb.conf.txt
> index 7aba497..bfeef21 100644
> --- a/Documentation/gitweb.conf.txt
> +++ b/Documentation/gitweb.conf.txt
> @@ -403,6 +403,9 @@ $default_projects_order::
> i.e. path to repository relative to `$projectroot`), "descr"
> (project description), "owner", and "age" (by date of most current
> commit).
> +
> +$no_list_age::
> + Omit column with date of the most curren commit
s/curren/current/
Thanks for adding documentation, though I would prefer if you expanded
this description (for example including the information that it touches
projects list page).
> +
This '+' here means "continuation". You by accident inserted
description of new $no_list_age in the middle of description for
$default_projects_order variable...
> Default value is "project". Unknown value means unsorted.
...as you can see here.
>
> diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl
> index a8b5fad..f42468c 100755
> --- a/gitweb/gitweb.perl
> +++ b/gitweb/gitweb.perl
> @@ -133,6 +133,9 @@ our $default_projects_order = "project";
> # (only effective if this variable evaluates to true)
> our $export_ok = "++GITWEB_EXPORT_OK++";
>
> +# don't generate age column
> +our $no_list_age = 0;
"age" column where?
Hmmm... can't we come with a better name than $no_list_age?
> +
> # show repository only if this subroutine returns true
> # when given the path to the project, for example:
> # sub { return -e "$_[0]/git-daemon-export-ok"; }
> @@ -5462,9 +5465,11 @@ sub git_project_list_rows {
> : esc_html($pr->{'descr'})) .
> "</td>\n" .
> "<td><i>" . chop_and_escape_str($pr->{'owner'}, 15) . "</i></td>\n";
> - print "<td class=\"". age_class($pr->{'age'}) . "\">" .
> - (defined $pr->{'age_string'} ? $pr->{'age_string'} : "No commits") . "</td>\n" .
> - "<td class=\"link\">" .
> + unless ($no_list_age) {
> + print "<td class=\"". age_class($pr->{'age'}) . "\">" .
> + (defined $pr->{'age_string'} ? $pr->{'age_string'} : "No commits") . "</td>\n";
> + }
> + print"<td class=\"link\">" .
O.K. I guess that it ismore readable than
+ print "<td class=\"". age_class($pr->{'age'}) . "\">" .
+ (defined $pr->{'age_string'} ? $pr->{'age_string'} : "No commits") . "</td>\n" .
+ "<td class=\"link\">"
+ unless ($no_list_age);
> $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=>"log")}, "log") . " | " .
> @@ -5495,7 +5500,8 @@ sub git_project_list_body {
> 'tagfilter' => $tagfilter)
> if ($tagfilter || $search_regexp);
> # fill the rest
> - @projects = fill_project_list_info(\@projects);
> + my @all_fields = $no_list_age ? ('descr', 'descr_long', 'owner', 'ctags', 'category') : ();
> + @projects = fill_project_list_info(\@projects, @all_fields);
That looks quite strange on first glance. I know that empty list means
filling all fields, but the casual reader migh wonder about this
conditional expression.
Perhaps it would be better to write it this way:
- @projects = fill_project_list_info(\@projects);
+ my @fields = qw(descr descr_long owner ctags category);
+ push @fields, 'age' unless ($no_list_age);
+ @projects = fill_project_list_info(\@projects, @fields);
or something like that.
Well, at least until we come up with a better way to specify "all fields
except those specified".
>
> $order ||= $default_projects_order;
> $from = 0 unless defined $from;
> @@ -5527,7 +5533,7 @@ sub git_project_list_body {
> print_sort_th('project', $order, 'Project');
> print_sort_th('descr', $order, 'Description');
> print_sort_th('owner', $order, 'Owner');
> - print_sort_th('age', $order, 'Last Change');
> + print_sort_th('age', $order, 'Last Change') unless $no_list_age;
+ print_sort_th('age', $order, 'Last Change')
+ unless $no_list_age;
might be more readable.
> print "<th></th>\n" . # for links
> "</tr>\n";
> }
> --
> 1.7.10.rc3
>
--
Jakub Narebski
Poland
next prev parent reply other threads:[~2012-04-03 23:12 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-04-03 13:27 [PATCH] gitweb: Option to omit column with time of the last change Kacper Kornet
2012-04-03 23:12 ` Jakub Narebski [this message]
2012-04-04 6:39 ` Kacper Kornet
2012-04-04 14:31 ` Jakub Narebski
2012-04-04 16:22 ` Kacper Kornet
2012-04-14 13:16 ` Jakub Narebski
2012-04-16 10:12 ` Kacper Kornet
2012-04-16 20:06 ` Jakub Narebski
2012-04-16 21:39 ` Kacper Kornet
2012-04-17 23:36 ` Jakub Narebski
2012-04-19 16:07 ` [PATCH] gitweb: Improve repository verification Jakub Narebski
2012-04-19 18:30 ` Junio C Hamano
2012-04-19 19:46 ` Jakub Narebski
2012-04-21 11:28 ` Jakub Narebski
2012-04-24 17:39 ` [PATCH 1/2] gitweb: Option to omit column with time of the last change Kacper Kornet
2012-04-24 17:41 ` [PATCH 2/2] gitweb: Option to not display information about owner Kacper Kornet
2012-04-26 4:39 ` Junio C Hamano
2012-04-26 15:07 ` Kacper Kornet
2012-04-26 15:53 ` Junio C Hamano
2012-04-26 16:35 ` Kacper Kornet
2012-04-26 16:45 ` [PATCH v2 " Kacper Kornet
2012-04-24 17:36 ` [PATCH] gitweb: Option to omit column with time of the last change Kacper Kornet
2012-04-04 17:14 ` Junio C Hamano
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=201204040112.02269.jnareb@gmail.com \
--to=jnareb@gmail.com \
--cc=draenog@pld-linux.org \
--cc=git@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).