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

[PATCHv2 5/8] tree_entry_interesting(): Make return value more specific

From
Elijah Newren <newren@gmail.com>
Date
Aug 26, 2010, 06:21 UTC
Message-ID
<1282803711-10253-6-git-send-email-newren@gmail.com>
In-Reply-To
<1282803711-10253-1-git-send-email-newren@gmail.com>

tree_entry_interesting() can signal to its callers not only if the given entry matches one of the specified paths, but whether all remaining paths will (or will not) match. When no paths are specified, all paths are considered interesting, so intead of returning 1 (this path is interesting) return 2 (all paths are interesting).

This will allow the caller to avoid calling tree_entry_interesting() again, which theoretically should speed up tree walking. I am not able to measure any actual gains in practice, but it certainly can not hurt and seems to make the code more readable to me.

Signed-off-by: Elijah Newren <newren@gmail.com>
---
 tree-diff.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/tree-diff.c b/tree-diff.c
index 75b1480..bac5008 100644
--- a/tree-diff.c
+++ b/tree-diff.c
@@ -103,7 +103,7 @@ int tree_entry_interesting(struct tree_desc *desc, const char *base, int baselen
 	int never_interesting = -1;
 
 	if (!opt->nr_paths)
-		return 1;
+		return 2;
 
 	sha1 = tree_entry_extract(desc, &path, &mode);
 
-- 
1.7.2.2.45.ga60f
Previous: Elijah NewrenNext: Elijah Newren
Message 6 of 10 in “[PATCHv2 0/8] Make rev-list --objects work with pathspecs; minor optimizations”
  1. Elijah NewrenAug 26, 2010
  2. 1/8 Add testcases showing how pathspecs are ignored with rev-list --objectsElijah Newren, Aug 26, 2010
  3. 2/8 Make rev-list --objects work together with pathspecsElijah Newren, Aug 26, 2010
  4. 3/8 Document pre-condition for tree_entry_interestingElijah Newren, Aug 26, 2010
  5. 4/8 tree-walk: Correct bitrotted comment about tree_entry()Elijah Newren, Aug 26, 2010
  6. 5/8 tree_entry_interesting(): Make return value more specificElijah Newren, Aug 26, 2010
  7. 6/8 diff_tree(): Skip skip_uninteresting() when all remaining paths interestingElijah Newren, Aug 26, 2010
  8. 7/8 list-objects.c: Avoid recomputing interesting-ness for subtrees when possibleElijah Newren, Aug 26, 2010
  9. 8/8 tree-diff.c: Avoid recomputing interesting-ness for subtrees when possibleElijah Newren, Aug 26, 2010
  10. Junio C HamanoAug 27, 2010

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.