tree.h API: simplify read_tree_recursive() signature

Simplify the signature of read_tree_recursive() to omit the "base",
"baselen" and "stage" arguments. No callers of it use these parameters
for anything anymore.

The last function to call read_tree_recursive() with a non-"" path was
read_tree_recursive() itself, but that was changed in
ffd31f661d (Reimplement read_tree_recursive() using
tree_entry_interesting(), 2011-03-25).

The last user of the "stage" parameter went away in the last commit,
and even that use was mere boilerplate.

So let's remove those and rename the read_tree_recursive() function to
just read_tree(). We had another read_tree() function that I've
refactored away in preceding commits, since all in-tree users read
trees recursively with a callback we can change the name to signify
that this is the norm.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Ævar Arnfjörð Bjarmason
2021-03-20 23:37:51 +01:00
committed by Junio C Hamano
parent 6c9fc42e9f
commit 47957485b3
8 changed files with 39 additions and 45 deletions

19
tree.c
View File

@@ -13,7 +13,6 @@ const char *tree_type = "tree";
int read_tree_at(struct repository *r,
struct tree *tree, struct strbuf *base,
int stage,
const struct pathspec *pathspec,
read_tree_fn_t fn, void *context)
{
@@ -39,7 +38,7 @@ int read_tree_at(struct repository *r,
}
switch (fn(&entry.oid, base,
entry.path, entry.mode, stage, context)) {
entry.path, entry.mode, context)) {
case 0:
continue;
case READ_TREE_RECURSIVE:
@@ -73,7 +72,7 @@ int read_tree_at(struct repository *r,
strbuf_add(base, entry.path, len);
strbuf_addch(base, '/');
retval = read_tree_at(r, lookup_tree(r, &oid),
base, stage, pathspec,
base, pathspec,
fn, context);
strbuf_setlen(base, oldlen);
if (retval)
@@ -82,17 +81,13 @@ int read_tree_at(struct repository *r,
return 0;
}
int read_tree_recursive(struct repository *r,
struct tree *tree,
const char *base, int baselen,
int stage, const struct pathspec *pathspec,
read_tree_fn_t fn, void *context)
int read_tree(struct repository *r,
struct tree *tree,
const struct pathspec *pathspec,
read_tree_fn_t fn, void *context)
{
struct strbuf sb = STRBUF_INIT;
int ret;
strbuf_add(&sb, base, baselen);
ret = read_tree_at(r, tree, &sb, stage, pathspec, fn, context);
int ret = read_tree_at(r, tree, &sb, pathspec, fn, context);
strbuf_release(&sb);
return ret;
}