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.
next prev parent 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).