submodule: merge repo_read_gitmodules and gitmodules_config
commit2184d4ba0cb86a7f40153cd46b03d3fa75b247d9
authorBrandon Williams <bmwill@google.com>
Wed, 2 Aug 2017 19:49:22 +0000 (2 12:49 -0700)
committerJunio C Hamano <gitster@pobox.com>
Wed, 2 Aug 2017 21:26:46 +0000 (2 14:26 -0700)
tree316c452a7128bcd7a37321349871e61145144db8
parent34e2ba04be4f8e11d91b2508aa8ca84148fe63f1
submodule: merge repo_read_gitmodules and gitmodules_config

Since 69aba5329 (submodule: add repo_read_gitmodules) there have been
two ways to load a repository's .gitmodules file:
'repo_read_gitmodules()' is used if you have a repository object you are
working with or 'gitmodules_config()' if you are implicitly working with
'the_repository'.  Merge the logic of these two functions to remove
duplicate code.

In addition, 'repo_read_gitmodules()' can segfault by passing in a NULL
pointer to 'git_config_from_file()' if a repository doesn't have a
worktree.  Instead check for the existence of a worktree before
attempting to load the .gitmodules file.

Signed-off-by: Brandon Williams <bmwill@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
submodule.c