git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jakub Narebski <jnareb@gmail.com>
To: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
Cc: git@vger.kernel.org, Petr Baudis <pasky@suse.cz>,
	Junio C Hamano <gitster@pobox.com>
Subject: Re: [PATCHv2 1/2] gitweb: fixes to gitweb feature check code
Date: Sun, 30 Nov 2008 01:31:12 +0100	[thread overview]
Message-ID: <200811300131.16787.jnareb@gmail.com> (raw)
In-Reply-To: <1227904793-1821-2-git-send-email-giuseppe.bilotta@gmail.com>

On Fri, 28 Nov 2008, Giuseppe Bilotta wrote:

> The gitweb_check_feature routine was being used for two different
> purposes: retrieving the actual feature value (such as the list of
> snapshot formats or the list of additional actions), and to check if a
> feature was enabled.
> 
> For the latter use, since all features return an array, it led to either
> clumsy code or subtle bugs, with disabled features appearing enabled
> because (0) evaluates to 1.
> 
> We fix these bugs, and simplify the code, by separating feature (list)
> value retrieval (gitweb_get_feature) from boolean feature check (i.e.
> retrieving the first/only item in the feature value list). Usage of
> gitweb_check_feature is replaced by gitweb_get_feature where
> appropriate.
> 
> Signed-off-by: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>

I like the idea of futureproofing gitweb code to avoid further bugs
with checking if feature is enabled. So from me this patch gets Ack.

I have thought at first that perhaps this patch could also remove
requirement that 'default' field is array (reference), replacing a bit
cumbersome
  $feature{'blame'}{'default'} = [1];
with simpler
  $feature{'blame'}{'default'} = 1;

But now I think that is separate issue, and if we think it is worth
having (in spite of its disadvantages in form of more complicated code
dealing among others with legacy configuration), it should be put in
separate patch.

-- 
Jakub Narebski
Poland

  parent reply	other threads:[~2008-11-30  0:32 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-11-28 20:39 [PATCHv2 0/2] fixes to gitweb feature check code Giuseppe Bilotta
2008-11-28 20:39 ` [PATCHv2 1/2] gitweb: " Giuseppe Bilotta
2008-11-28 20:39   ` [PATCHv2 2/2] gitweb: clean up git_check_feature() calls Giuseppe Bilotta
2008-11-29 11:15     ` [PATCHv2 2/2] gitweb: clean up gitweb_check_feature() calls Giuseppe Bilotta
2008-11-29 11:18       ` Jakub Narebski
2008-11-29 11:53     ` [PATCHv2ter " Giuseppe Bilotta
2008-11-29 20:39       ` Junio C Hamano
2008-11-29 21:00         ` Junio C Hamano
2008-11-29 21:12           ` [PATCH 2/3] gitweb: rename gitweb_check_feature to gitweb_get_feature Junio C Hamano
2008-11-29 21:16           ` [PATCH 3/3] gitweb: make gitweb_check_feature a boolean wrapper Junio C Hamano
2008-11-29 22:27             ` Giuseppe Bilotta
2008-11-30  0:23               ` Junio C Hamano
2008-11-30  1:31                 ` Giuseppe Bilotta
2008-11-29 22:16           ` [PATCHv2ter 2/2] gitweb: clean up gitweb_check_feature() calls Giuseppe Bilotta
2008-11-29 22:26             ` Junio C Hamano
2008-11-29 22:36               ` Jakub Narebski
2008-11-29 22:38                 ` Jakub Narebski
2008-11-30  0:31   ` Jakub Narebski [this message]
2008-11-29 10:48 ` [PATCHv2 0/2] fixes to gitweb feature check code Jakub Narebski
2008-11-29 11:13   ` Giuseppe Bilotta
     [not found] <Message-ID: <cb7bb73a0811291731g7f8770f7p89e924c00d2ab004@mail.gmail.com>
2008-11-30  1:34 ` [PATCH] gitweb: " Giuseppe Bilotta
2008-12-02  1:53   ` Jakub Narebski
2008-12-02 10:43     ` [PATCHv3bis] " Giuseppe Bilotta
2008-12-03  2:18       ` Junio C Hamano
2008-12-02 21:55     ` [PATCH] " Junio C Hamano
2008-12-03  1:21       ` Jakub Narebski

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=200811300131.16787.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 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).