tree.c: make read_tree*() take 'struct repository *'
These functions call tree_entry_interesting() which will soon require a 'struct index_state *' to be passed in. Instead of just changing the function signature to take an index, update to take a repo instead because these functions do need object database access. Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
0e94dab5be
commit
e092073d64
@ -115,7 +115,8 @@ static int update_some(const struct object_id *oid, struct strbuf *base,
|
||||
|
||||
static int read_tree_some(struct tree *tree, const struct pathspec *pathspec)
|
||||
{
|
||||
read_tree_recursive(tree, "", 0, 0, pathspec, update_some, NULL);
|
||||
read_tree_recursive(the_repository, tree, "", 0, 0,
|
||||
pathspec, update_some, NULL);
|
||||
|
||||
/* update the index with the given tree's info
|
||||
* for all args, expanding wildcards, and exit
|
||||
|
@ -641,8 +641,9 @@ int cmd_show(int argc, const char **argv, const char *prefix)
|
||||
diff_get_color_opt(&rev.diffopt, DIFF_COMMIT),
|
||||
name,
|
||||
diff_get_color_opt(&rev.diffopt, DIFF_RESET));
|
||||
read_tree_recursive((struct tree *)o, "", 0, 0, &match_all,
|
||||
show_tree_object, rev.diffopt.file);
|
||||
read_tree_recursive(the_repository, (struct tree *)o, "",
|
||||
0, 0, &match_all, show_tree_object,
|
||||
rev.diffopt.file);
|
||||
rev.shown_one = 1;
|
||||
break;
|
||||
case OBJ_COMMIT:
|
||||
|
@ -441,7 +441,7 @@ void overlay_tree_on_index(struct index_state *istate,
|
||||
PATHSPEC_PREFER_CWD, prefix, matchbuf);
|
||||
} else
|
||||
memset(&pathspec, 0, sizeof(pathspec));
|
||||
if (read_tree(tree, 1, &pathspec, istate))
|
||||
if (read_tree(the_repository, tree, 1, &pathspec, istate))
|
||||
die("unable to read tree entries %s", tree_name);
|
||||
|
||||
for (i = 0; i < istate->cache_nr; i++) {
|
||||
|
@ -185,5 +185,6 @@ int cmd_ls_tree(int argc, const char **argv, const char *prefix)
|
||||
tree = parse_tree_indirect(&oid);
|
||||
if (!tree)
|
||||
die("not a tree object");
|
||||
return !!read_tree_recursive(tree, "", 0, 0, &pathspec, show_tree, NULL);
|
||||
return !!read_tree_recursive(the_repository, tree, "", 0, 0,
|
||||
&pathspec, show_tree, NULL);
|
||||
}
|
||||
|
Reference in New Issue
Block a user