Struct
GgitSubmodule
Instance methods
ggit_submodule_get_fetch_recurse
Gets whether to fetch recursively. See see gitmodules(5) fetchRecurseSubmodules.
ggit_submodule_get_head_id
ggit_submodule_get_ignore
Gets a GgitSubmoduleIgnore
. See see gitmodules(5) ignore.
ggit_submodule_get_index_id
Gets the OID for the submodule in the index or NULL
if there is no index.
ggit_submodule_get_name
Gets the name of the submodule from .gitmodules.
ggit_submodule_get_owner
Gets the containing repository for a submodule.
ggit_submodule_get_path
Gets the path to the submodule from the repo working directory. It is almost always the same as the name. See ggit_submodule_get_name().
ggit_submodule_get_update
Gets a GgitSubmoduleUpdate
. See see gitmodules(5) update.
ggit_submodule_get_url
Gets the url for the submodule or NULL
if the submodule has been deleted
but not yet committed.
ggit_submodule_get_workdir_id
Gets the OID for the submodule in the current working directory.
Corresponds to looking up ‘HEAD’ in the checked out submodule.
If there are pending changes in the index or anything
else, this won’t notice that. You should call ggit_submodule_status()
for a more complete picture about the state of the working directory.
ggit_submodule_init
Just like “git submodule init”, this copies information about the submodule into “.git/config”. You can use the accessor functions above to alter the in-memory git_submodule object and control what is written to the config, overriding what is in .gitmodules.
ggit_submodule_open
Open the repository for a submodule. Multiple calls to this function
will return distinct GgitRepository
objects. Only submodules which are
checked out in the working directory can be opened.
ggit_submodule_ref
Atomically increments the reference count of submodule
by one.
This function is MT-safe and may be called from any thread.
ggit_submodule_reload
Rereads submodule info from config, index, and HEAD. Call this if you have reason to believe that it has changed.
ggit_submodule_sync
Copies the information about the submodules URL into the checked out submodule config, acting like “git submodule sync”. This is useful if you have altered the URL for the submodule (or it has been altered by a fetch of upstream changes) and you need to update your local repo.
ggit_submodule_unref
Atomically decrements the reference count of submodule
by one.
If the reference count drops to 0, remote
is freed.
ggit_submodule_update
Update a submodule. This will clone a missing submodule and 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.