Browse Source

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>
maint
Stefan Beller 8 years ago committed by Junio C Hamano
parent
commit
15cdc64776
  1. 2
      builtin/grep.c
  2. 7
      submodule.c
  3. 8
      submodule.h

2
builtin/grep.c

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

7
submodule.c

@ -234,15 +234,12 @@ int is_submodule_initialized(const char *path) @@ -234,15 +234,12 @@ int is_submodule_initialized(const char *path)
return ret;
}

/*
* Determine if a submodule has been populated at a given 'path'
*/
int is_submodule_populated(const char *path)
int is_submodule_populated_gently(const char *path, int *return_error_code)
{
int ret = 0;
char *gitdir = xstrfmt("%s/.git", path);

if (resolve_gitdir(gitdir))
if (resolve_gitdir_gently(gitdir, return_error_code))
ret = 1;

free(gitdir);

8
submodule.h

@ -41,7 +41,13 @@ extern int submodule_config(const char *var, const char *value, void *cb); @@ -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_sha1(const unsigned char *commit_sha1);
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,
struct submodule_update_strategy *dst);
extern const char *submodule_strategy_to_string(const struct submodule_update_strategy *s);

Loading…
Cancel
Save