grep: remove "repo" arg from non-supporting funcs
As part of commit f9ee2fcdfa
("grep: recurse in-process using 'struct
repository'", 2017-08-02), many functions in builtin/grep.c were
converted to also take "struct repository *" arguments. Among them were
grep_object() and grep_objects().
However, at least grep_objects() was converted incompletely - it calls
gitmodules_config_oid(), which references the_repository.
But it turns out that the conversion was extraneous anyway - there has
been no user-visible effect - because grep_objects() is never invoked
except with the_repository. This is because grepping through objects
cannot be done recursively into submodules.
Revert the changes to grep_objects() and grep_object() (which conversion
is also extraneous) to show that both these functions do not support
repositories other than the_repository.
Signed-off-by: Jonathan Tan <jonathantanmy@google.com>
Signed-off-by: Stefan Beller <sbeller@google.com>
Reviewed-by: Jonathan Tan <jonathantanmy@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
61aad92b85
commit
6856077ab0
@ -595,8 +595,7 @@ static int grep_tree(struct grep_opt *opt, const struct pathspec *pathspec,
|
|||||||
}
|
}
|
||||||
|
|
||||||
static int grep_object(struct grep_opt *opt, const struct pathspec *pathspec,
|
static int grep_object(struct grep_opt *opt, const struct pathspec *pathspec,
|
||||||
struct object *obj, const char *name, const char *path,
|
struct object *obj, const char *name, const char *path)
|
||||||
struct repository *repo)
|
|
||||||
{
|
{
|
||||||
if (obj->type == OBJ_BLOB)
|
if (obj->type == OBJ_BLOB)
|
||||||
return grep_oid(opt, &obj->oid, name, 0, path);
|
return grep_oid(opt, &obj->oid, name, 0, path);
|
||||||
@ -623,7 +622,7 @@ static int grep_object(struct grep_opt *opt, const struct pathspec *pathspec,
|
|||||||
}
|
}
|
||||||
init_tree_desc(&tree, data, size);
|
init_tree_desc(&tree, data, size);
|
||||||
hit = grep_tree(opt, pathspec, &tree, &base, base.len,
|
hit = grep_tree(opt, pathspec, &tree, &base, base.len,
|
||||||
obj->type == OBJ_COMMIT, repo);
|
obj->type == OBJ_COMMIT, the_repository);
|
||||||
strbuf_release(&base);
|
strbuf_release(&base);
|
||||||
free(data);
|
free(data);
|
||||||
return hit;
|
return hit;
|
||||||
@ -632,7 +631,6 @@ static int grep_object(struct grep_opt *opt, const struct pathspec *pathspec,
|
|||||||
}
|
}
|
||||||
|
|
||||||
static int grep_objects(struct grep_opt *opt, const struct pathspec *pathspec,
|
static int grep_objects(struct grep_opt *opt, const struct pathspec *pathspec,
|
||||||
struct repository *repo,
|
|
||||||
const struct object_array *list)
|
const struct object_array *list)
|
||||||
{
|
{
|
||||||
unsigned int i;
|
unsigned int i;
|
||||||
@ -648,8 +646,8 @@ static int grep_objects(struct grep_opt *opt, const struct pathspec *pathspec,
|
|||||||
submodule_free();
|
submodule_free();
|
||||||
gitmodules_config_oid(&real_obj->oid);
|
gitmodules_config_oid(&real_obj->oid);
|
||||||
}
|
}
|
||||||
if (grep_object(opt, pathspec, real_obj, list->objects[i].name, list->objects[i].path,
|
if (grep_object(opt, pathspec, real_obj, list->objects[i].name,
|
||||||
repo)) {
|
list->objects[i].path)) {
|
||||||
hit = 1;
|
hit = 1;
|
||||||
if (opt->status_only)
|
if (opt->status_only)
|
||||||
break;
|
break;
|
||||||
@ -1098,7 +1096,7 @@ int cmd_grep(int argc, const char **argv, const char *prefix)
|
|||||||
if (cached)
|
if (cached)
|
||||||
die(_("both --cached and trees are given."));
|
die(_("both --cached and trees are given."));
|
||||||
|
|
||||||
hit = grep_objects(&opt, &pathspec, the_repository, &list);
|
hit = grep_objects(&opt, &pathspec, &list);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (num_threads)
|
if (num_threads)
|
||||||
|
Loading…
Reference in New Issue
Block a user