зеркало из https://github.com/microsoft/git.git
submodule: add a print_config_from_gitmodules() helper
Add a new print_config_from_gitmodules() helper function to print values from .gitmodules just like "git config -f .gitmodules" would. This will be used by a new submodule--helper subcommand to be able to access the .gitmodules file in a more controlled way. Signed-off-by: Antonio Ospite <ao2@ao2.it> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Родитель
1d4361b0f3
Коммит
bcbc780d14
|
@ -682,6 +682,31 @@ void submodule_free(struct repository *r)
|
|||
submodule_cache_clear(r->submodule_cache);
|
||||
}
|
||||
|
||||
static int config_print_callback(const char *var, const char *value, void *cb_data)
|
||||
{
|
||||
char *wanted_key = cb_data;
|
||||
|
||||
if (!strcmp(wanted_key, var))
|
||||
printf("%s\n", value);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int print_config_from_gitmodules(struct repository *repo, const char *key)
|
||||
{
|
||||
int ret;
|
||||
char *store_key;
|
||||
|
||||
ret = git_config_parse_key(key, &store_key, NULL);
|
||||
if (ret < 0)
|
||||
return CONFIG_INVALID_KEY;
|
||||
|
||||
config_from_gitmodules(config_print_callback, repo, store_key);
|
||||
|
||||
free(store_key);
|
||||
return 0;
|
||||
}
|
||||
|
||||
struct fetch_config {
|
||||
int *max_children;
|
||||
int *recurse_submodules;
|
||||
|
|
|
@ -48,6 +48,7 @@ const struct submodule *submodule_from_path(struct repository *r,
|
|||
const struct object_id *commit_or_tree,
|
||||
const char *path);
|
||||
void submodule_free(struct repository *r);
|
||||
int print_config_from_gitmodules(struct repository *repo, const char *key);
|
||||
|
||||
/*
|
||||
* Returns 0 if the name is syntactically acceptable as a submodule "name"
|
||||
|
|
Загрузка…
Ссылка в новой задаче