Submodule support in libgit2 builds a list of known submodules and keeps it in the repository. The list is built from the .gitmodules file, the .git/config file, the index, and the HEAD tree. Items in the working directory that look like submodules (i.e. a git repo) but are not mentioned in those places won't be tracked.
Opaque structure representing a submodule
Submodule update options structure
Return codes for submodule status
Submodule update values
Submodule ignore values
Options for submodule recurse
Function pointer to receive each submodule
Initialize git_submodule_update_options structure
Update a submodule checkout the subrepository to the commit specified in the index of the containing repository. If the submodule repository doesn't contain the target commit (e.g. because fetchRecurseSubmodules isn't set), then the submodule is fetched using the fetch options supplied in options.
Lookup submodule information by name or path
Create an in-memory copy of a submodule free'd or it will leak.
Release a submodule
Iterate over all tracked submodules of a repository
Set up a new git submodule for checkout
Perform the clone step for a newly created submodule
Resolve the setup of a new git submodule
Add current submodule HEAD commit to index of superproject
Get the containing repository for a submodule
Get the name of submodule
Get the path to the submodule
Get the URL for the submodule
Resolve a submodule url relative to the given repository
Get the branch for the submodule
Set the branch for the submodule in the configuration
Set the URL for the submodule in the configuration
Get the OID for the submodule in the index
Get the OID for the submodule in the current HEAD tree
Get the OID for the submodule in the current working directory
Get the ignore rule that will be used for the submodule
Set the ignore rule for the submodule in the configuration
Get the update rule that will be used for the submodule
Set the update rule for the submodule in the configuration
Read the fetchRecurseSubmodules rule for a submodule
Set the fetchRecurseSubmodules rule for a submodule in the configuration
Copy submodule info into "
Set up the subrepository for a submodule in preparation for clone
Copy submodule remote info into submodule repo
Open the repository for a submodule
Reread submodule info from config, index, and HEAD
Get the status for a submodule
Get the locations of submodule information