grep: recurse in-process using 'struct repository'
Convert grep to use 'struct repository' which enables recursing into submodules to be handled in-process. Signed-off-by: Brandon Williams <bmwill@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
committed by
Junio C Hamano
parent
2184d4ba0c
commit
f9ee2fcdfa
13
grep.c
13
grep.c
@ -1927,16 +1927,6 @@ void grep_source_init(struct grep_source *gs, enum grep_source_type type,
|
||||
case GREP_SOURCE_FILE:
|
||||
gs->identifier = xstrdup(identifier);
|
||||
break;
|
||||
case GREP_SOURCE_SUBMODULE:
|
||||
if (!identifier) {
|
||||
gs->identifier = NULL;
|
||||
break;
|
||||
}
|
||||
/*
|
||||
* FALL THROUGH
|
||||
* If the identifier is non-NULL (in the submodule case) it
|
||||
* will be a SHA1 that needs to be copied.
|
||||
*/
|
||||
case GREP_SOURCE_OID:
|
||||
gs->identifier = oiddup(identifier);
|
||||
break;
|
||||
@ -1959,7 +1949,6 @@ void grep_source_clear_data(struct grep_source *gs)
|
||||
switch (gs->type) {
|
||||
case GREP_SOURCE_FILE:
|
||||
case GREP_SOURCE_OID:
|
||||
case GREP_SOURCE_SUBMODULE:
|
||||
FREE_AND_NULL(gs->buf);
|
||||
gs->size = 0;
|
||||
break;
|
||||
@ -2030,8 +2019,6 @@ static int grep_source_load(struct grep_source *gs)
|
||||
return grep_source_load_oid(gs);
|
||||
case GREP_SOURCE_BUF:
|
||||
return gs->buf ? 0 : -1;
|
||||
case GREP_SOURCE_SUBMODULE:
|
||||
break;
|
||||
}
|
||||
die("BUG: invalid grep_source type to load");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user