зеркало из 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);
|
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 {
|
struct fetch_config {
|
||||||
int *max_children;
|
int *max_children;
|
||||||
int *recurse_submodules;
|
int *recurse_submodules;
|
||||||
|
|
|
@ -48,6 +48,7 @@ const struct submodule *submodule_from_path(struct repository *r,
|
||||||
const struct object_id *commit_or_tree,
|
const struct object_id *commit_or_tree,
|
||||||
const char *path);
|
const char *path);
|
||||||
void submodule_free(struct repository *r);
|
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"
|
* Returns 0 if the name is syntactically acceptable as a submodule "name"
|
||||||
|
|
Загрузка…
Ссылка в новой задаче