Merge branch 'sb/submodule-config-cleanup'

Minor code clean-up.

* sb/submodule-config-cleanup:
  submodule-config: clarify parsing of null_sha1 element
  submodule-config: rename commit_sha1 to treeish_name
  submodule config: inline config_from_{name, path}
This commit is contained in:
Junio C Hamano
2016-12-27 00:11:40 -08:00
4 changed files with 48 additions and 42 deletions

View File

@ -47,16 +47,20 @@ Functions
Can be passed to the config parsing infrastructure to parse
local (worktree) submodule configurations.
`const struct submodule *submodule_from_path(const unsigned char *commit_sha1, const char *path)`::
`const struct submodule *submodule_from_path(const unsigned char *treeish_name, const char *path)`::
Lookup values for one submodule by its commit_sha1 and path.
Given a tree-ish in the superproject and a path, return the
submodule that is bound at the path in the named tree.
`const struct submodule *submodule_from_name(const unsigned char *commit_sha1, const char *name)`::
`const struct submodule *submodule_from_name(const unsigned char *treeish_name, const char *name)`::
The same as above but lookup by name.
If given the null_sha1 as commit_sha1 the local configuration of a
submodule will be returned (e.g. consolidated values from local git
Whenever a submodule configuration is parsed in `parse_submodule_config_option`
via e.g. `gitmodules_config()`, it will overwrite the null_sha1 entry.
So in the normal case, when HEAD:.gitmodules is parsed first and then overlayed
with the repository configuration, the null_sha1 entry contains the local
configuration of a submodule (e.g. consolidated values from local git
configuration and the .gitmodules file in the worktree).
For an example usage see test-submodule-config.c.