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

Re: [PATCH v4 2/4] test-dump-cache-tree: invalid trees are not errors

From
Junio C Hamano <gitster@pobox.com>
Date
Jul 7, 2014, 19:27 UTC
Message-ID
<xmqqa98lc6l4.fsf@gitster.dls.corp.google.com>
In-Reply-To
<1404619619-4774-2-git-send-email-dturner@twitter.com>
David Turner <dturner@twopensource.com> writes:
> Do not treat known-invalid trees as errors even when their count is
> incorrect.  Because git already knows that these trees are invalid,
> nothing depends on the count field.
s/count/subtree_nr/; they are different.

"nothing depends on" is not quite correct. The field keeps track of the number of subdirectories in the directory recorded in the cache-tree, and it *must* be maintained correctly (we iterate over the it->down[] array up to that number).

The number of subdirectories the directory actually has, which we can discover by counting entries in the main part of the index, may be different from subtree_nr, if we haven't run update_one() on it, e.g. we may have added a path in a new subdirectory, at which time we would have invalidated the directory and its it->down[] array does not know the new subdirectory.

While reading 3/4, I wondered if it makes sense to show the (N subtrees) for invalidated node, but as a debugging measure it helped me often while developping the framework, so we may not want to drop the subtree_nr from the output for invalidated entries.

The change itself looks good.
Thanks.
Previous: David TurnerNext: David Turner
Message 3 of 15 in “cache-tree: Create/update cache-tree on checkout”
  1. 1/4 cache-tree: Create/update cache-tree on checkoutDavid Turner, Jul 6, 2014
  2. 2/4 test-dump-cache-tree: invalid trees are not errorsDavid Turner, Jul 6, 2014
  3. Junio C HamanoJul 7, 2014
  4. 3/4 cache-tree: subdirectory testsDavid Turner, Jul 6, 2014
  5. Eric SunshineJul 6, 2014
  6. Junio C HamanoJul 7, 2014
  7. 4/4 cache-tree: Write updated cache-tree after commitDavid Turner, Jul 6, 2014
  8. Junio C HamanoJul 7, 2014
  9. Junio C HamanoJul 8, 2014
  10. Duy NguyenJul 8, 2014
  11. Junio C HamanoJul 8, 2014
  12. Duy NguyenJul 9, 2014
  13. Junio C HamanoJul 8, 2014
  14. Junio C HamanoJul 8, 2014
  15. Junio C HamanoJul 7, 2014

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.