make is_submodule_populated gently

We need the gentle version in a later patch. As we have just one caller,
migrate the caller.

Signed-off-by: Stefan Beller <sbeller@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Stefan Beller 2017-03-14 14:46:31 -07:00 committed by Junio C Hamano
parent 259f3ee296
commit 15cdc64776
3 changed files with 10 additions and 7 deletions

View File

@ -616,7 +616,7 @@ static int grep_submodule(struct grep_opt *opt, const unsigned char *sha1,
{ {
if (!is_submodule_initialized(path)) if (!is_submodule_initialized(path))
return 0; return 0;
if (!is_submodule_populated(path)) { if (!is_submodule_populated_gently(path, NULL)) {
/* /*
* If searching history, check for the presense of the * If searching history, check for the presense of the
* submodule's gitdir before skipping the submodule. * submodule's gitdir before skipping the submodule.

View File

@ -234,15 +234,12 @@ int is_submodule_initialized(const char *path)
return ret; return ret;
} }
/* int is_submodule_populated_gently(const char *path, int *return_error_code)
* Determine if a submodule has been populated at a given 'path'
*/
int is_submodule_populated(const char *path)
{ {
int ret = 0; int ret = 0;
char *gitdir = xstrfmt("%s/.git", path); char *gitdir = xstrfmt("%s/.git", path);
if (resolve_gitdir(gitdir)) if (resolve_gitdir_gently(gitdir, return_error_code))
ret = 1; ret = 1;
free(gitdir); free(gitdir);

View File

@ -41,7 +41,13 @@ extern int submodule_config(const char *var, const char *value, void *cb);
extern void gitmodules_config(void); extern void gitmodules_config(void);
extern void gitmodules_config_sha1(const unsigned char *commit_sha1); extern void gitmodules_config_sha1(const unsigned char *commit_sha1);
extern int is_submodule_initialized(const char *path); extern int is_submodule_initialized(const char *path);
extern int is_submodule_populated(const char *path); /*
* Determine if a submodule has been populated at a given 'path' by checking if
* the <path>/.git resolves to a valid git repository.
* If return_error_code is NULL, die on error.
* Otherwise the return error code is the same as of resolve_gitdir_gently.
*/
extern int is_submodule_populated_gently(const char *path, int *return_error_code);
extern int parse_submodule_update_strategy(const char *value, extern int parse_submodule_update_strategy(const char *value,
struct submodule_update_strategy *dst); struct submodule_update_strategy *dst);
extern const char *submodule_strategy_to_string(const struct submodule_update_strategy *s); extern const char *submodule_strategy_to_string(const struct submodule_update_strategy *s);