submodules: add helper to determine if a submodule is populated
Add the `is_submodule_populated()` helper function to submodules.c. `is_submodule_populated()` performes a check to see if a submodule has been checkout out (and has a valid .git directory/file) at the given path. Signed-off-by: Brandon Williams <bmwill@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
e9a379c352
commit
5688c28d81
15
submodule.c
15
submodule.c
@ -198,6 +198,21 @@ void gitmodules_config(void)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Determine if a submodule has been populated at a given 'path'
|
||||||
|
*/
|
||||||
|
int is_submodule_populated(const char *path)
|
||||||
|
{
|
||||||
|
int ret = 0;
|
||||||
|
char *gitdir = xstrfmt("%s/.git", path);
|
||||||
|
|
||||||
|
if (resolve_gitdir(gitdir))
|
||||||
|
ret = 1;
|
||||||
|
|
||||||
|
free(gitdir);
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
int parse_submodule_update_strategy(const char *value,
|
int parse_submodule_update_strategy(const char *value,
|
||||||
struct submodule_update_strategy *dst)
|
struct submodule_update_strategy *dst)
|
||||||
{
|
{
|
||||||
|
@ -37,6 +37,7 @@ void set_diffopt_flags_from_submodule_config(struct diff_options *diffopt,
|
|||||||
const char *path);
|
const char *path);
|
||||||
int submodule_config(const char *var, const char *value, void *cb);
|
int submodule_config(const char *var, const char *value, void *cb);
|
||||||
void gitmodules_config(void);
|
void gitmodules_config(void);
|
||||||
|
extern int is_submodule_populated(const char *path);
|
||||||
int parse_submodule_update_strategy(const char *value,
|
int parse_submodule_update_strategy(const char *value,
|
||||||
struct submodule_update_strategy *dst);
|
struct submodule_update_strategy *dst);
|
||||||
const char *submodule_strategy_to_string(const struct submodule_update_strategy *s);
|
const char *submodule_strategy_to_string(const struct submodule_update_strategy *s);
|
||||||
|
Loading…
Reference in New Issue
Block a user