git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH v7 09/11] config: add core.untrackedCache

From
Junio C Hamano <gitster@pobox.com>
Date
Jan 25, 2016, 20:47 UTC
Message-ID
<xmqqio2hfku0.fsf@gitster.mtv.corp.google.com>
In-Reply-To
<1453649304-18121-10-git-send-email-chriscool@tuxfamily.org>
Christian Couder <christian.couder@gmail.com> writes:
Show 29 quoted lines
> 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.
Previous: Christian CouderNext: Christian Couder
Message 13 of 16 in “Untracked cache improvements”
  1. 00/11 Untracked cache improvementsChristian Couder, Jan 24, 2016
  2. 01/11 dir: free untracked cache when removing itChristian Couder, Jan 24, 2016
  3. Stefan BellerJan 25, 2016
  4. Christian CouderJan 26, 2016
  5. 02/11 update-index: use enum for untracked cache optionsChristian Couder, Jan 24, 2016
  6. 03/11 update-index: add --test-untracked-cacheChristian Couder, Jan 24, 2016
  7. 04/11 update-index: add untracked cache notificationsChristian Couder, Jan 24, 2016
  8. 05/11 update-index: move 'uc' var declarationChristian Couder, Jan 24, 2016
  9. 06/11 dir: add {new,add}_untracked_cache()Christian Couder, Jan 24, 2016
  10. 07/11 dir: add remove_untracked_cache()Christian Couder, Jan 24, 2016
  11. 08/11 dir: simplify untracked cache "ident" fieldChristian Couder, Jan 24, 2016
  12. 09/11 config: add core.untrackedCacheChristian Couder, Jan 24, 2016
  13. Junio C HamanoJan 25, 2016
  14. Christian CouderJan 26, 2016
  15. 10/11 test-dump-untracked-cache: don't modify the untracked cacheChristian Couder, Jan 24, 2016
  16. 11/11 t7063: add tests for core.untrackedCacheChristian Couder, Jan 24, 2016

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.