summaryrefslogtreecommitdiff
path: root/builtin
diff options
context:
space:
mode:
authorBrandon Williams <bmwill@google.com>2017-08-03 18:19:58 (GMT)
committerJunio C Hamano <gitster@pobox.com>2017-08-03 20:11:01 (GMT)
commitff6f1f564c48def1f8e1852826bab58af5044b06 (patch)
treea2ddf3d115dd97abb446a070d8f9c2b70db3fe8f /builtin
parent1b796ace7b5566d7cd2ed2ee56d3e5b1f7605272 (diff)
downloadgit-ff6f1f564c48def1f8e1852826bab58af5044b06.zip
git-ff6f1f564c48def1f8e1852826bab58af5044b06.tar.gz
git-ff6f1f564c48def1f8e1852826bab58af5044b06.tar.bz2
submodule-config: lazy-load a repository's .gitmodules file
In order to use the submodule-config subsystem, callers first need to initialize it by calling 'repo_read_gitmodules()' or 'gitmodules_config()' (which just redirects to 'repo_read_gitmodules()'). There are a couple of callers who need to load an explicit revision of the repository's .gitmodules file (grep) or need to modify the .gitmodules file so they would need to load it before modify the file (checkout), but the majority of callers are simply reading the .gitmodules file present in the working tree. For the common case it would be nice to avoid the boilerplate of initializing the submodule-config system before using it, so instead let's perform lazy-loading of the submodule-config system. Remove the calls to reading the gitmodules file from ls-files to show that lazy-loading the .gitmodules file works. Signed-off-by: Brandon Williams <bmwill@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin')
-rw-r--r--builtin/ls-files.c5
1 files changed, 0 insertions, 5 deletions
diff --git a/builtin/ls-files.c b/builtin/ls-files.c
index d146120..bd74ee0 100644
--- a/builtin/ls-files.c
+++ b/builtin/ls-files.c
@@ -211,8 +211,6 @@ static void show_submodule(struct repository *superproject,
if (repo_read_index(&submodule) < 0)
die("index file corrupt");
- repo_read_gitmodules(&submodule);
-
show_files(&submodule, dir);
repo_clear(&submodule);
@@ -611,9 +609,6 @@ int cmd_ls_files(int argc, const char **argv, const char *cmd_prefix)
if (require_work_tree && !is_inside_work_tree())
setup_work_tree();
- if (recurse_submodules)
- repo_read_gitmodules(the_repository);
-
if (recurse_submodules &&
(show_stage || show_deleted || show_others || show_unmerged ||
show_killed || show_modified || show_resolve_undo || with_tree))