зеркало из https://github.com/microsoft/git.git
submodule: add repo_read_gitmodules
Teach the repo object to be able to populate the submodule_cache by reading the repository's gitmodules file. Signed-off-by: Brandon Williams <bmwill@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Родитель
bf12fcdf5e
Коммит
69aba5329e
15
submodule.c
15
submodule.c
|
@ -1,4 +1,5 @@
|
|||
#include "cache.h"
|
||||
#include "repository.h"
|
||||
#include "config.h"
|
||||
#include "submodule-config.h"
|
||||
#include "submodule.h"
|
||||
|
@ -255,6 +256,20 @@ void gitmodules_config(void)
|
|||
}
|
||||
}
|
||||
|
||||
static int gitmodules_cb(const char *var, const char *value, void *data)
|
||||
{
|
||||
struct repository *repo = data;
|
||||
return submodule_config_option(repo, var, value);
|
||||
}
|
||||
|
||||
void repo_read_gitmodules(struct repository *repo)
|
||||
{
|
||||
char *gitmodules_path = repo_worktree_path(repo, ".gitmodules");
|
||||
|
||||
git_config_from_file(gitmodules_cb, gitmodules_path, repo);
|
||||
free(gitmodules_path);
|
||||
}
|
||||
|
||||
void gitmodules_config_sha1(const unsigned char *commit_sha1)
|
||||
{
|
||||
struct strbuf rev = STRBUF_INIT;
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
#ifndef SUBMODULE_H
|
||||
#define SUBMODULE_H
|
||||
|
||||
struct repository;
|
||||
struct diff_options;
|
||||
struct argv_array;
|
||||
struct oid_array;
|
||||
|
@ -46,6 +47,7 @@ int option_parse_recurse_submodules_worktree_updater(const struct option *opt,
|
|||
const char *arg, int unset);
|
||||
void load_submodule_cache(void);
|
||||
extern void gitmodules_config(void);
|
||||
extern void repo_read_gitmodules(struct repository *repo);
|
||||
extern void gitmodules_config_sha1(const unsigned char *commit_sha1);
|
||||
extern int is_submodule_initialized(const char *path);
|
||||
/*
|
||||
|
|
Загрузка…
Ссылка в новой задаче