From: Jakub Narebski <jnareb@gmail.com>
To: Junio C Hamano <gitster@pobox.com>
Cc: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>,
git@vger.kernel.org, Petr Baudis <pasky@suse.cz>
Subject: Re: [PATCHv3 2/4] gitweb: git_get_heads_list accepts an optional list of refs.
Date: Mon, 17 Nov 2008 02:09:54 +0100 [thread overview]
Message-ID: <200811170209.54696.jnareb@gmail.com> (raw)
In-Reply-To: <7vod0f37gr.fsf@gitster.siamese.dyndns.org>
On Sun, 16 Nov 2008, Junio C Hamano wrote:
> Giuseppe Bilotta <giuseppe.bilotta@gmail.com> writes:
>
> > git_get_heads_list(limit, class1, class2, ...) can now be used to retrieve
> > refs/class1, refs/class2 etc. Defaults to ('heads') or ('heads', 'remotes')
> > depending on the remote_heads option.
> >
> > Signed-off-by: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
> > ---
> > gitweb/gitweb.perl | 11 +++++++----
> > 1 files changed, 7 insertions(+), 4 deletions(-)
> >
> > diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl
> > index e1f81f6..0512020 100755
> > --- a/gitweb/gitweb.perl
> > +++ b/gitweb/gitweb.perl
> > @@ -2681,15 +2681,18 @@ sub parse_from_to_diffinfo {
> > ## parse to array of hashes functions
> >
> > sub git_get_heads_list {
> > - my $limit = shift;
> > + my ($limit, @class) = @_;
> > + unless (defined @class) {
> > + my $remote_heads = gitweb_check_feature('remote_heads');
> > + @class = ('heads', $remote_heads ? 'remotes' : undef);
> > + }
> > + my @refs = map { "refs/$_" } @class;
>
> Makes sense, except that I'd suggest passing a hash of "refs/$path" =>
> $class as I illustrated in my comments to [1/4], instead of passing a list
> of ("head", "remote"), because that will later allow you to have
> multi-level $path that does not necessarily limited to a $class that is a
> substring of $path, and doing so does not make the code any more complex.
> There is another reason to do so I'll mention in I comment on [3/4].
By the way, with %head_class hash passed as reference git_get_head_list
could be done in such way, that you can write
git_get_heads_list(\%head_class);
instead of longer
git_get_heads_list(undef, \%head_class);
when there is no limit(er).
--
Jakub Narebski
Poland
next prev parent reply other threads:[~2008-11-17 1:11 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-11-16 13:28 [PATCHv3 0/4] gitweb: remote heads feature Giuseppe Bilotta
2008-11-16 13:28 ` [PATCHv3 1/4] gitweb: introduce remote_heads feature Giuseppe Bilotta
2008-11-16 13:28 ` [PATCHv3 2/4] gitweb: git_get_heads_list accepts an optional list of refs Giuseppe Bilotta
2008-11-16 13:28 ` [PATCHv3 3/4] gitweb: separate heads and remotes lists Giuseppe Bilotta
2008-11-16 13:28 ` [PATCHv3 4/4] gitweb: link heads and remotes view Giuseppe Bilotta
2008-11-16 17:34 ` [PATCHv3 3/4] gitweb: separate heads and remotes lists Junio C Hamano
2008-11-17 13:11 ` Giuseppe Bilotta
2008-11-17 13:31 ` Giuseppe Bilotta
2008-11-16 17:29 ` [PATCHv3 2/4] gitweb: git_get_heads_list accepts an optional list of refs Junio C Hamano
2008-11-17 1:09 ` Jakub Narebski [this message]
2008-11-16 17:16 ` [PATCHv3 1/4] gitweb: introduce remote_heads feature Junio C Hamano
2008-11-16 17:40 ` Giuseppe Bilotta
2008-11-16 18:14 ` Junio C Hamano
2008-11-16 18:21 ` 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=200811170209.54696.jnareb@gmail.com \
--to=jnareb@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=giuseppe.bilotta@gmail.com \
--cc=pasky@suse.cz \
/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.