git-commit-vandalism/builtin
Brandon Williams ff6f1f564c 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>
2017-08-03 13:11:01 -07:00
..
add.c add, reset: ensure submodules can be added or reset 2017-08-02 14:35:08 -07:00
am.c sha1_name: convert get_sha1* to get_oid* 2017-07-17 13:54:51 -07:00
annotate.c
apply.c
archive.c
bisect--helper.c
blame.c Merge branch 'bw/config-h' 2017-06-24 14:28:41 -07:00
branch.c Merge branch 'kn/ref-filter-branch-list' 2017-07-12 15:18:23 -07:00
bundle.c bundle: use prefix_filename with bundle path 2017-03-21 11:18:41 -07:00
cat-file.c sha1_name: convert GET_SHA1* flags to GET_OID* 2017-07-17 13:54:51 -07:00
check-attr.c config: don't include config.h by default 2017-06-15 12:56:22 -07:00
check-ignore.c Merge branch 'bw/config-h' 2017-06-24 14:28:41 -07:00
check-mailmap.c config: don't include config.h by default 2017-06-15 12:56:22 -07:00
check-ref-format.c use xmallocz to avoid size arithmetic 2016-02-22 14:51:09 -08:00
checkout-index.c config: don't include config.h by default 2017-06-15 12:56:22 -07:00
checkout.c unpack-trees: don't respect submodule.update 2017-08-03 13:11:01 -07:00
clean.c Merge branch 'ab/free-and-null' 2017-06-24 14:28:41 -07:00
clone.c Merge branch 'bw/config-h' 2017-06-24 14:28:41 -07:00
column.c config: don't include config.h by default 2017-06-15 12:56:22 -07:00
commit-tree.c sha1_name: convert get_sha1* to get_oid* 2017-07-17 13:54:51 -07:00
commit.c sha1_name: convert get_sha1* to get_oid* 2017-07-17 13:54:51 -07:00
config.c Merge branch 'ab/free-and-null' 2017-06-24 14:28:41 -07:00
count-objects.c config: don't include config.h by default 2017-06-15 12:56:22 -07:00
credential.c credential: handle invalid arguments earlier 2017-05-30 14:45:03 +09:00
describe.c Merge branch 'sb/hashmap-customize-comparison' 2017-07-13 16:14:54 -07:00
diff-files.c Merge branch 'bw/config-h' 2017-06-24 14:28:41 -07:00
diff-index.c Merge branch 'bw/config-h' 2017-06-24 14:28:41 -07:00
diff-tree.c Merge branch 'jc/diff-tree-stale-comment' into maint 2017-06-24 15:29:31 -07:00
diff.c Merge branch 'bw/config-h' 2017-06-24 14:28:41 -07:00
difftool.c hashmap.h: compare function has access to a data field 2017-06-30 12:49:28 -07:00
fast-export.c hashmap.h: compare function has access to a data field 2017-06-30 12:49:28 -07:00
fetch-pack.c Rename sha1_array to oid_array 2017-03-31 08:33:56 -07:00
fetch.c fetch: don't overlay config with submodule-config 2017-08-03 13:11:01 -07:00
fmt-merge-msg.c Merge branch 'bw/config-h' 2017-06-24 14:28:41 -07:00
for-each-ref.c config: don't include config.h by default 2017-06-15 12:56:22 -07:00
fsck.c builtin/fsck: convert remaining caller of get_sha1 to object_id 2017-07-17 13:54:37 -07:00
gc.c Merge branch 'jk/gc-pre-detach-under-hook' 2017-07-18 12:48:10 -07:00
get-tar-commit-id.c
grep.c Merge branch 'bc/object-id' into bw/submodule-config-cleanup 2017-08-02 14:34:28 -07:00
hash-object.c config: don't include config.h by default 2017-06-15 12:56:22 -07:00
help.c config: don't include config.h by default 2017-06-15 12:56:22 -07:00
index-pack.c Merge branch 'jt/unify-object-info' 2017-07-05 13:32:57 -07:00
init-db.c config: don't include config.h by default 2017-06-15 12:56:22 -07:00
interpret-trailers.c
log.c sha1_name: convert GET_SHA1* flags to GET_OID* 2017-07-17 13:54:51 -07:00
ls-files.c submodule-config: lazy-load a repository's .gitmodules file 2017-08-03 13:11:01 -07:00
ls-remote.c wildmatch: remove unused wildopts parameter 2017-06-23 18:27:07 -07:00
ls-tree.c Merge branch 'bw/config-h' 2017-06-24 14:28:41 -07:00
mailinfo.c prefix_filename: return newly allocated string 2017-03-21 11:18:41 -07:00
mailsplit.c mailinfo & mailsplit: check for EOF while parsing 2017-05-08 12:18:19 +09:00
merge-base.c Merge branch 'bw/config-h' 2017-06-24 14:28:41 -07:00
merge-file.c config: don't include config.h by default 2017-06-15 12:56:22 -07:00
merge-index.c Convert GIT_SHA1_HEXSZ used for allocation to GIT_MAX_HEXSZ 2017-03-26 22:08:21 -07:00
merge-ours.c
merge-recursive.c
merge-tree.c builtin/merge-tree: convert remaining caller of get_sha1 to object_id 2017-07-17 13:54:37 -07:00
merge.c Merge branch 'bw/config-h' 2017-06-24 14:28:41 -07:00
mktag.c
mktree.c mktree: plug memory leaks reported by Coverity 2017-05-08 12:18:19 +09:00
mv.c submodule: check for unstaged .gitmodules outside of config parsing 2017-08-02 14:26:46 -07:00
name-rev.c Merge branch 'ab/wildmatch' 2017-07-10 13:42:51 -07:00
notes.c Merge branch 'bw/config-h' 2017-06-24 14:28:41 -07:00
pack-objects.c Merge branch 'ab/free-and-null' 2017-06-24 14:28:41 -07:00
pack-redundant.c pack-redundant: plug memory leak 2017-05-08 12:18:19 +09:00
pack-refs.c refs: delete pack_refs() in favor of refs_pack_refs() 2017-04-14 03:53:25 -07:00
patch-id.c config: don't include config.h by default 2017-06-15 12:56:22 -07:00
prune-packed.c sha1_file: guard against invalid loose subdirectory numbers 2017-06-24 11:09:52 -07:00
prune.c Merge branch 'rs/sha1-name-readdir-optim' 2017-07-05 13:32:56 -07:00
pull.c Merge branch 'sb/pull-rebase-submodule' 2017-07-13 16:14:54 -07:00
push.c Merge branch 'bw/config-h' 2017-06-24 14:28:41 -07:00
read-tree.c Merge branch 'bw/config-h' 2017-06-24 14:28:41 -07:00
rebase--helper.c config: don't include config.h by default 2017-06-15 12:56:22 -07:00
receive-pack.c Convert remaining callers of get_sha1 to get_oid. 2017-07-17 13:54:51 -07:00
reflog.c Merge branch 'ab/wildmatch' 2017-07-10 13:42:51 -07:00
remote-ext.c remote-{ext,fd}: print usage message on invalid arguments 2017-05-30 14:45:04 +09:00
remote-fd.c remote-{ext,fd}: print usage message on invalid arguments 2017-05-30 14:45:04 +09:00
remote.c Merge branch 'bw/config-h' 2017-06-24 14:28:41 -07:00
repack.c Merge branch 'bw/config-h' 2017-06-24 14:28:41 -07:00
replace.c sha1_name: convert get_sha1* to get_oid* 2017-07-17 13:54:51 -07:00
rerere.c config: don't include config.h by default 2017-06-15 12:56:22 -07:00
reset.c add, reset: ensure submodules can be added or reset 2017-08-02 14:35:08 -07:00
rev-list.c Merge branch 'bw/config-h' 2017-06-24 14:28:41 -07:00
rev-parse.c sha1_name: convert GET_SHA1* flags to GET_OID* 2017-07-17 13:54:51 -07:00
revert.c config: don't include config.h by default 2017-06-15 12:56:22 -07:00
rm.c submodule: check for unstaged .gitmodules outside of config parsing 2017-08-02 14:26:46 -07:00
send-pack.c config: don't include config.h by default 2017-06-15 12:56:22 -07:00
shortlog.c config: don't include config.h by default 2017-06-15 12:56:22 -07:00
show-branch.c sha1_name: convert get_sha1* to get_oid* 2017-07-17 13:54:51 -07:00
show-ref.c show-ref: remove a stale comment 2017-01-23 18:51:56 -08:00
stripspace.c config: don't include config.h by default 2017-06-15 12:56:22 -07:00
submodule--helper.c submodule: remove submodule_config callback routine 2017-08-03 13:11:01 -07:00
symbolic-ref.c config: don't include config.h by default 2017-06-15 12:56:22 -07:00
tag.c tag: convert gpg_verify_tag to use struct object_id 2017-07-13 12:02:48 -07:00
unpack-file.c builtin/unpack-file: convert to struct object_id 2017-07-17 13:54:38 -07:00
unpack-objects.c Merge branch 'ab/free-and-null' 2017-06-24 14:28:41 -07:00
update-index.c Merge branch 'bw/config-h' 2017-06-24 14:28:41 -07:00
update-ref.c builtin/update_ref: convert to struct object_id 2017-07-17 13:54:38 -07:00
update-server-info.c config: don't include config.h by default 2017-06-15 12:56:22 -07:00
upload-archive.c upload-archive: handle "-h" option early 2017-05-30 14:45:04 +09:00
var.c config: don't include config.h by default 2017-06-15 12:56:22 -07:00
verify-commit.c Merge branch 'bw/config-h' 2017-06-24 14:28:41 -07:00
verify-pack.c config: don't include config.h by default 2017-06-15 12:56:22 -07:00
verify-tag.c tag: convert gpg_verify_tag to use struct object_id 2017-07-13 12:02:48 -07:00
worktree.c Merge branch 'ab/free-and-null' 2017-06-24 14:28:41 -07:00
write-tree.c config: don't include config.h by default 2017-06-15 12:56:22 -07:00