diff options
author | Junio C Hamano <gitster@pobox.com> | 2017-08-02 14:33:47 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2017-08-02 14:33:47 -0700 |
commit | dcc6108c3fca6ad3cc4e211a939e8de5c796fa68 (patch) | |
tree | 0f3d7f86435b4c9a1d2ec356ba5f4898ddb2d16e /config.c | |
parent | Git 2.14-rc1 (diff) | |
parent | grep: recurse in-process using 'struct repository' (diff) | |
download | tgif-dcc6108c3fca6ad3cc4e211a939e8de5c796fa68.tar.xz |
Merge branch 'bw/grep-recurse-submodules' into bw/submodule-config-cleanup
* bw/grep-recurse-submodules:
grep: recurse in-process using 'struct repository'
submodule: merge repo_read_gitmodules and gitmodules_config
submodule: check for unmerged .gitmodules outside of config parsing
submodule: check for unstaged .gitmodules outside of config parsing
submodule: remove fetch.recursesubmodules from submodule-config parsing
submodule: remove submodule.fetchjobs from submodule-config parsing
config: add config_from_gitmodules
cache.h: add GITMODULES_FILE macro
repository: have the_repository use the_index
repo_read_index: don't discard the index
Diffstat (limited to 'config.c')
-rw-r--r-- | config.c | 17 |
1 files changed, 17 insertions, 0 deletions
@@ -2053,6 +2053,23 @@ int git_config_get_pathname(const char *key, const char **dest) return repo_config_get_pathname(the_repository, key, dest); } +/* + * Note: This function exists solely to maintain backward compatibility with + * 'fetch' and 'update_clone' storing configuration in '.gitmodules' and should + * NOT be used anywhere else. + * + * Runs the provided config function on the '.gitmodules' file found in the + * working directory. + */ +void config_from_gitmodules(config_fn_t fn, void *data) +{ + if (the_repository->worktree) { + char *file = repo_worktree_path(the_repository, GITMODULES_FILE); + git_config_from_file(fn, file, data); + free(file); + } +} + int git_config_get_expiry(const char *key, const char **output) { int ret = git_config_get_string_const(key, output); |