git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Junio C Hamano <gitster@pobox.com>
To: Christian Couder <christian.couder@gmail.com>
Cc: git@vger.kernel.org, "Jeff King" <peff@peff.net>,
	"Ævar Arnfjörð Bjarmason" <avarab@gmail.com>,
	"Nguyen Thai Ngoc Duy" <pclouds@gmail.com>,
	"David Turner" <dturner@twopensource.com>,
	"Eric Sunshine" <sunshine@sunshineco.com>,
	"Torsten Bögershausen" <tboegi@web.de>,
	"Stefan Beller" <sbeller@google.com>,
	"Christian Couder" <chriscool@tuxfamily.org>
Subject: Re: [PATCH v7 09/11] config: add core.untrackedCache
Date: Mon, 25 Jan 2016 12:47:03 -0800	[thread overview]
Message-ID: <xmqqio2hfku0.fsf@gitster.mtv.corp.google.com> (raw)
In-Reply-To: <1453649304-18121-10-git-send-email-chriscool@tuxfamily.org> (Christian Couder's message of "Sun, 24 Jan 2016 16:28:22 +0100")

Christian Couder <christian.couder@gmail.com> writes:

> diff --git a/read-cache.c b/read-cache.c
> index 5be7cd1..a04ec8c 100644
> --- a/read-cache.c
> +++ b/read-cache.c
> @@ -1497,10 +1497,23 @@ static struct cache_entry *create_from_disk(struct ondisk_cache_entry *ondisk,
>  	return ce;
>  }
>  
> -static void check_ce_order(struct index_state *istate)
> +static void post_read_index_from(struct index_state *istate)
>  {
>  	unsigned int i;
>  
> +	switch (git_config_get_untracked_cache()) {
> +	case -1: /* keep: do nothing */
> +		break;
> +	case 0: /* false */
> +		remove_untracked_cache(istate);
> +		break;
> +	case 1: /* true */
> +		add_untracked_cache(istate);
> +		break;
> +	default: /* unknown value: do nothing */
> +		break;
> +	}
> +
>  	for (i = 1; i < istate->cache_nr; i++) {
>  		struct cache_entry *ce = istate->cache[i - 1];
>  		struct cache_entry *next_ce = istate->cache[i];

Bad manners.

 * The new code added to an existing function, unless there is a
   good reason, goes to the bottom.  In this case, the verification
   of the ordering of cache entries and tweaking of UC extension are
   two unrelated things that can be independently done, and there is
   no justification why the new code has to come to top.

 * The old function name served as a good documentation of what it
   does.  That is no longer the case.  Each unrelated segment of
   this new function needs to be commented.  Even better, perhaps
   leave the original check_ce_order() as-is, introduce a new
   function tweak_uc_extension(), and make the post_read_index()
   to be just two-liner function:

	static void post_read_index(struct index_state *istate)
        {
        	check_ce_order(istate);
                tweak_uc_extension(istate);
	}

   That way the documentation value of each function that does one
   specific thing and named specific to its task will be kept, and
   there is no need for extra comments.

  reply	other threads:[~2016-01-25 20:47 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-01-24 15:28 [PATCH v7 00/11] Untracked cache improvements Christian Couder
2016-01-24 15:28 ` [PATCH v7 01/11] dir: free untracked cache when removing it Christian Couder
2016-01-25 19:16   ` Stefan Beller
2016-01-26  6:48     ` Christian Couder
2016-01-24 15:28 ` [PATCH v7 02/11] update-index: use enum for untracked cache options Christian Couder
2016-01-24 15:28 ` [PATCH v7 03/11] update-index: add --test-untracked-cache Christian Couder
2016-01-24 15:28 ` [PATCH v7 04/11] update-index: add untracked cache notifications Christian Couder
2016-01-24 15:28 ` [PATCH v7 05/11] update-index: move 'uc' var declaration Christian Couder
2016-01-24 15:28 ` [PATCH v7 06/11] dir: add {new,add}_untracked_cache() Christian Couder
2016-01-24 15:28 ` [PATCH v7 07/11] dir: add remove_untracked_cache() Christian Couder
2016-01-24 15:28 ` [PATCH v7 08/11] dir: simplify untracked cache "ident" field Christian Couder
2016-01-24 15:28 ` [PATCH v7 09/11] config: add core.untrackedCache Christian Couder
2016-01-25 20:47   ` Junio C Hamano [this message]
2016-01-26  6:50     ` Christian Couder
2016-01-24 15:28 ` [PATCH v7 10/11] test-dump-untracked-cache: don't modify the untracked cache Christian Couder
2016-01-24 15:28 ` [PATCH v7 11/11] t7063: add tests for core.untrackedCache Christian Couder

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=xmqqio2hfku0.fsf@gitster.mtv.corp.google.com \
    --to=gitster@pobox.com \
    --cc=avarab@gmail.com \
    --cc=chriscool@tuxfamily.org \
    --cc=christian.couder@gmail.com \
    --cc=dturner@twopensource.com \
    --cc=git@vger.kernel.org \
    --cc=pclouds@gmail.com \
    --cc=peff@peff.net \
    --cc=sbeller@google.com \
    --cc=sunshine@sunshineco.com \
    --cc=tboegi@web.de \
    /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).