From: Jakub Narebski <jnareb@gmail.com>
To: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
Cc: git@vger.kernel.org, Junio C Hamano <gitster@pobox.com>
Subject: Re: [PATCH 1/7] gitweb: introduce remote_heads feature
Date: Thu, 16 Sep 2010 23:41:19 +0200 [thread overview]
Message-ID: <201009162341.20380.jnareb@gmail.com> (raw)
In-Reply-To: <1284629465-14798-2-git-send-email-giuseppe.bilotta@gmail.com>
On Thu, 16 Sep 2010, Giuseppe Bilotta wrote:
> With this feature enabled, remotes are retrieved (and displayed)
> when getting (and displaying) the heads list. Typical usage would be for
> local repository browsing, e.g. by using git-instaweb (or even a more
> permanent gitweb setup), to check the repository status and the relation
> between tracking branches and the originating remotes.
Good idea.
>
> Signed-off-by: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
> ---
> gitweb/gitweb.perl | 19 +++++++++++++++++--
> 1 files changed, 17 insertions(+), 2 deletions(-)
>
> diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl
> index a85e2f6..7116c26 100755
> --- a/gitweb/gitweb.perl
> +++ b/gitweb/gitweb.perl
> @@ -486,6 +486,18 @@ our %feature = (
> 'sub' => sub { feature_bool('highlight', @_) },
> 'override' => 0,
> 'default' => [0]},
> +
> + # Make gitweb show remotes too in the heads list
> +
> + # To enable system wide have in $GITWEB_CONFIG
> + # $feature{'remote_heads'}{'default'} = [1];
> + # To have project specific config enable override in $GITWEB_CONFIG
> + # $feature{'remote_heads'}{'override'} = 1;
> + # and in project config gitweb.remote_heads = 0|1;
> + 'remote_heads' => {
> + 'sub' => sub { feature_bool('remote_heads', @_) },
> + 'override' => 0,
> + 'default' => [0]},
I agree both with this feature being turned off by default, and with
it being per-project overridable.
> );
>
> sub gitweb_get_feature {
> @@ -3146,10 +3158,12 @@ sub git_get_heads_list {
> my $limit = shift;
> my @headslist;
>
> + my $remote_heads = gitweb_check_feature('remote_heads');
> +
> open my $fd, '-|', git_cmd(), 'for-each-ref',
> ($limit ? '--count='.($limit+1) : ()), '--sort=-committerdate',
> '--format=%(objectname) %(refname) %(subject)%00%(committer)',
> - 'refs/heads'
> + 'refs/heads', ( $remote_heads ? 'refs/remotes' : '')
The usual way for optionally providing extra arguments to git commands
in gitweb is to use empty list "()" and not empty argument "''", i.e.
it would be:
+ 'refs/heads', ( $remote_heads ? 'refs/remotes' : ())
See for example git_get_references, parse_commits,... and evem the line
with "($limit ? ...)" above in git_get_heads_list.
> or return;
> while (my $line = <$fd>) {
> my %ref_item;
> @@ -3160,8 +3174,9 @@ sub git_get_heads_list {
> my ($committer, $epoch, $tz) =
> ($committerinfo =~ /^(.*) ([0-9]+) (.*)$/);
> $ref_item{'fullname'} = $name;
> - $name =~ s!^refs/heads/!!;
> + $name =~ s!^refs/(head|remote)s/!!;
>
> + $ref_item{'class'} = $1;
Is it used anywhere, or is it left to be used by a further commit in
the series? If it is the latter, perhaps it would be worth mentioning
in the commit message?
> $ref_item{'name'} = $name;
> $ref_item{'id'} = $hash;
> $ref_item{'title'} = $title || '(no commit message)';
> --
> 1.7.3.rc1.230.g8b572
>
>
--
Jakub Narebski
Poland
next prev parent reply other threads:[~2010-09-16 21:41 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-09-16 9:30 [PATCH 0/7] gitweb: allheads feature Giuseppe Bilotta
2010-09-16 9:30 ` [PATCH 1/7] gitweb: introduce remote_heads feature Giuseppe Bilotta
2010-09-16 21:41 ` Jakub Narebski [this message]
2010-09-17 15:39 ` Giuseppe Bilotta
2010-09-16 9:31 ` [PATCH 2/7] gitweb: git_get_heads_list accepts an optional list of refs Giuseppe Bilotta
2010-09-16 22:14 ` Jakub Narebski
2010-09-17 15:52 ` Giuseppe Bilotta
2010-09-16 9:31 ` [PATCH 3/7] gitweb: separate heads and remotes lists Giuseppe Bilotta
2010-09-16 10:19 ` Ævar Arnfjörð Bjarmason
2010-09-16 11:35 ` Giuseppe Bilotta
2010-09-16 22:30 ` Jakub Narebski
2010-09-16 22:54 ` Ævar Arnfjörð Bjarmason
2010-09-16 22:46 ` Jakub Narebski
2010-09-16 9:31 ` [PATCH 4/7] gitweb: link heads and remotes view Giuseppe Bilotta
2010-09-16 23:02 ` Jakub Narebski
2010-09-17 16:01 ` Giuseppe Bilotta
2010-09-16 9:31 ` [PATCH 5/7] gitweb: auxiliary functions to group data Giuseppe Bilotta
2010-09-16 10:26 ` Ævar Arnfjörð Bjarmason
2010-09-17 1:24 ` Jakub Narebski
2010-09-17 6:54 ` Giuseppe Bilotta
2010-09-17 16:06 ` Jakub Narebski
2010-09-17 16:41 ` Giuseppe Bilotta
2010-09-17 17:17 ` Jakub Narebski
2010-09-18 7:51 ` Giuseppe Bilotta
2010-09-16 9:31 ` [PATCH 6/7] gitweb: group styling Giuseppe Bilotta
2010-09-17 16:26 ` Jakub Narebski
2010-09-17 16:49 ` Giuseppe Bilotta
2010-09-17 17:22 ` Jakub Narebski
2010-09-16 9:31 ` [PATCH 7/7] gitweb: group remote heads Giuseppe Bilotta
2010-09-16 10:29 ` Ævar Arnfjörð Bjarmason
2010-09-16 11:36 ` Giuseppe Bilotta
2010-09-17 16:54 ` Jakub Narebski
2010-09-17 17:25 ` Jakub Narebski
2010-09-19 5:39 ` Giuseppe Bilotta
2010-09-19 23:02 ` Jakub Narebski
2010-09-20 8:15 ` Giuseppe Bilotta
2010-09-20 8:59 ` Jakub Narebski
2010-09-20 9:38 ` Giuseppe Bilotta
2010-09-22 8:34 ` Jakub Narebski
2010-09-22 9:34 ` Giuseppe Bilotta
2010-09-16 21:26 ` [PATCH 0/7] gitweb: allheads feature Jakub Narebski
2010-09-17 7:24 ` Giuseppe Bilotta
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=201009162341.20380.jnareb@gmail.com \
--to=jnareb@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=giuseppe.bilotta@gmail.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.