submodules: add helper to determine if a submodule is initialized
Add the `is_submodule_initialized()` helper function to submodules.c. `is_submodule_initialized()` performs a check to determine if the submodule at the given path has been initialized. Signed-off-by: Brandon Williams <bmwill@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
5688c28d81
commit
f9f42560e2
23
submodule.c
23
submodule.c
@ -198,6 +198,29 @@ void gitmodules_config(void)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Determine if a submodule has been initialized at a given 'path'
|
||||||
|
*/
|
||||||
|
int is_submodule_initialized(const char *path)
|
||||||
|
{
|
||||||
|
int ret = 0;
|
||||||
|
const struct submodule *module = NULL;
|
||||||
|
|
||||||
|
module = submodule_from_path(null_sha1, path);
|
||||||
|
|
||||||
|
if (module) {
|
||||||
|
char *key = xstrfmt("submodule.%s.url", module->name);
|
||||||
|
char *value = NULL;
|
||||||
|
|
||||||
|
ret = !git_config_get_string(key, &value);
|
||||||
|
|
||||||
|
free(value);
|
||||||
|
free(key);
|
||||||
|
}
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Determine if a submodule has been populated at a given 'path'
|
* Determine if a submodule has been populated at a given 'path'
|
||||||
*/
|
*/
|
||||||
|
@ -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_initialized(const char *path);
|
||||||
extern int is_submodule_populated(const char *path);
|
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);
|
||||||
|
Loading…
Reference in New Issue
Block a user