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

[PATCH 1/2] tree-walk: lose base_offset that is never used in tree_entry_interesting

From
Junio C Hamano <gitster@pobox.com>
Date
Jul 7, 2023, 22:21 UTC
Message-ID
<20230707222116.4129415-2-gitster@pobox.com>
In-Reply-To
<20230707222116.4129415-1-gitster@pobox.com>

The tree_entry_interesting() function takes base_offset, allowing its callers to potentially pass a non-zero number to skip the early part of the path string.

The feature is never exercised and we do not even know what bugs are lurking there, as all callers pass 0 to the parameter.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
---
 builtin/grep.c | 2 +-
 list-objects.c | 2 +-
 tree-diff.c    | 2 +-
 tree-walk.c    | 5 +++--
 tree-walk.h    | 2 +-
 tree.c         | 2 +-
 6 files changed, 8 insertions(+), 7 deletions(-)
diff --git a/builtin/grep.c b/builtin/grep.c
index 22645c6244..5f47317c2f 100644
--- a/builtin/grep.c
+++ b/builtin/grep.c
@@ -644,7 +644,7 @@ static int grep_tree(struct grep_opt *opt, const struct pathspec *pathspec,
 			strbuf_addstr(&name, base->buf + tn_len);
 			match = tree_entry_interesting(repo->index,
 						       &entry, &name,
-						       0, pathspec);
+						       pathspec);
 			strbuf_setlen(&name, name_base_len);
 
 			if (match == all_entries_not_interesting)
diff --git a/list-objects.c b/list-objects.c
index 672a4cd529..e60a6cd5b4 100644
--- a/list-objects.c
+++ b/list-objects.c
@@ -102,7 +102,7 @@ static void process_tree_contents(struct traversal_context *ctx,
 	while (tree_entry(&desc, &entry)) {
 		if (match != all_entries_interesting) {
 			match = tree_entry_interesting(ctx->revs->repo->index,
-						       &entry, base, 0,
+						       &entry, base,
 						       &ctx->revs->diffopt.pathspec);
 			if (match == all_entries_not_interesting)
 				break;
diff --git a/tree-diff.c b/tree-diff.c
index 966946848a..8fc159b86e 100644
--- a/tree-diff.c
+++ b/tree-diff.c
@@ -317,7 +317,7 @@ static void skip_uninteresting(struct tree_desc *t, struct strbuf *base,
 
 	while (t->size) {
 		match = tree_entry_interesting(opt->repo->index, &t->entry,
-					       base, 0, &opt->pathspec);
+					       base, &opt->pathspec);
 		if (match) {
 			if (match == all_entries_not_interesting)
 				t->size = 0;
diff --git a/tree-walk.c b/tree-walk.c
index 42ed86ef58..1797f2b9c5 100644
--- a/tree-walk.c
+++ b/tree-walk.c
@@ -435,7 +435,7 @@ static inline int prune_traversal(struct index_state *istate,
 	if (still_interesting < 0)
 		return still_interesting;
 	return tree_entry_interesting(istate, e, base,
-				      0, info->pathspec);
+				      info->pathspec);
 }
 
 int traverse_trees(struct index_state *istate,
@@ -1223,10 +1223,11 @@ static enum interesting do_match(struct index_state *istate,
  */
 enum interesting tree_entry_interesting(struct index_state *istate,
 					const struct name_entry *entry,
-					struct strbuf *base, int base_offset,
+					struct strbuf *base,
 					const struct pathspec *ps)
 {
 	enum interesting positive, negative;
+	const int base_offset = 0;
 	positive = do_match(istate, entry, base, base_offset, ps, 0);
 
 	/*
diff --git a/tree-walk.h b/tree-walk.h
index 01a9d8eb44..74cdceb3fe 100644
--- a/tree-walk.h
+++ b/tree-walk.h
@@ -224,7 +224,7 @@ enum interesting {
 
 enum interesting tree_entry_interesting(struct index_state *istate,
 					const struct name_entry *,
-					struct strbuf *, int,
+					struct strbuf *,
 					const struct pathspec *ps);
 
 #endif
diff --git a/tree.c b/tree.c
index e118914a76..c745462f96 100644
--- a/tree.c
+++ b/tree.c
@@ -32,7 +32,7 @@ int read_tree_at(struct repository *r,
 	while (tree_entry(&desc, &entry)) {
 		if (retval != all_entries_interesting) {
 			retval = tree_entry_interesting(r->index, &entry,
-							base, 0, pathspec);
+							base, pathspec);
 			if (retval == all_entries_not_interesting)
 				break;
 			if (retval == entry_not_interesting)
-- 
2.41.0-318-g061c58647e
Previous: Junio C HamanoNext: Junio C Hamano
Message 2 of 3 in “remove unused "base-offset" from tree-walk codepath”
  1. 0/2 remove unused "base-offset" from tree-walk codepathJunio C Hamano, Jul 7, 2023
  2. 1/2 tree-walk: lose base_offset that is never used in tree_entry_interestingJunio C Hamano, Jul 7, 2023
  3. 2/2 tree-walk: drop unused base_offset from do_match()Junio C Hamano, Jul 7, 2023

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.