{"files":[{"file":"git2/attr.h","functions":["git_attr_get","git_attr_foreach","git_attr_cache_flush","git_attr_add_macro"],"meta":{},"lines":75},{"file":"git2/blob.h","functions":["git_blob_lookup","git_blob_lookup_prefix","git_blob_free","git_blob_rawcontent","git_blob_create_fromfile"],"meta":{},"lines":104},{"file":"git2/commit.h","functions":["git_commit_lookup","git_commit_lookup_prefix","git_commit_free","git_commit_id","git_commit_message_encoding","git_commit_message","git_commit_time","git_commit_time_offset","git_commit_committer","git_commit_author","git_commit_tree","git_commit_tree_oid","git_commit_parentcount","git_commit_parent","git_commit_parent_oid","git_commit_create","git_commit_create_v"],"meta":{},"lines":259},{"file":"git2/common.h","functions":["git_libgit2_version"],"meta":{},"lines":99},{"file":"git2/config.h","functions":["git_config_find_global","git_config_find_system","git_config_open_global","git_config_file__ondisk","git_config_new","git_config_add_file","git_config_add_file_ondisk","git_config_open_ondisk","git_config_free","git_config_get_int32","git_config_get_int64","git_config_get_bool","git_config_get_string","git_config_set_int32","git_config_set_int64","git_config_set_bool","git_config_set_string","git_config_delete","git_config_foreach"],"meta":{},"lines":275},{"file":"git2/errors.h","functions":["git_lasterror","git_strerror","git_clearerror"],"meta":{},"lines":140},{"file":"git2/index.h","functions":["git_index_open","git_index_clear","git_index_free","git_index_read","git_index_write","git_index_find","git_index_uniq","git_index_add","git_index_add2","git_index_append","git_index_append2","git_index_remove","git_index_get","git_index_entrycount","git_index_entrycount_unmerged","git_index_get_unmerged_bypath","git_index_get_unmerged_byindex","git_index_entry_stage","git_index_read_tree"],"meta":{},"lines":317},{"file":"git2/indexer.h","functions":["git_indexer_new","git_indexer_run","git_indexer_write","git_indexer_hash","git_indexer_free"],"meta":{},"lines":72},{"file":"git2/net.h","functions":["git_headlist_cb"],"meta":{},"lines":47},{"file":"git2/object.h","functions":["git_object_lookup","git_object_lookup_prefix","git_object_id","git_object_type","git_object_owner","git_object_free","git_object_type2string","git_object_string2type","git_object_typeisloose"],"meta":{},"lines":154},{"file":"git2/odb.h","functions":["git_odb_new","git_odb_open","git_odb_add_backend","git_odb_add_alternate","git_odb_free","git_odb_read","git_odb_read_prefix","git_odb_exists","git_odb_open_rstream","git_odb_hashfile","git_odb_object_free","git_odb_object_id","git_odb_object_data","git_odb_object_type"],"meta":{},"lines":327},{"file":"git2/odb_backend.h","functions":[],"meta":{},"lines":93},{"file":"git2/oid.h","functions":["git_oid_fromstr","git_oid_fromraw","git_oid_fmt","git_oid_pathfmt","git_oid_allocfmt","git_oid_cpy","git_oid_cmp","git_oid_ncmp","git_oid_streq","git_oid_shorten_add","git_oid_shorten_free"],"meta":{},"lines":214},{"file":"git2/reflog.h","functions":["git_reflog_read","git_reflog_write","git_reflog_rename","git_reflog_delete","git_reflog_entrycount","git_reflog_entry_byindex","git_reflog_entry_oidold","git_reflog_entry_oidnew","git_reflog_entry_committer","git_reflog_entry_msg","git_reflog_free"],"meta":{},"lines":124},{"file":"git2/refs.h","functions":["git_reference_lookup","git_reference_create_symbolic","git_reference_create_oid","git_reference_oid","git_reference_target","git_reference_type","git_reference_name","git_reference_resolve","git_reference_owner","git_reference_set_target","git_reference_set_oid","git_reference_rename","git_reference_delete","git_reference_packall","git_reference_listall","git_reference_foreach","git_reference_is_packed","git_reference_reload","git_reference_free"],"meta":{},"lines":305},{"file":"git2/refspec.h","functions":["git_refspec_src","git_refspec_dst","git_refspec_src_match"],"meta":{},"lines":45},{"file":"git2/remote.h","functions":["git_remote_new","git_remote_load","git_remote_name","git_remote_url","git_remote_fetchspec","git_remote_pushspec","git_remote_connect","git_remote_ls","git_remote_download","git_remote_connected","git_remote_disconnect","git_remote_free","git_remote_update_tips","git_remote_valid_url"],"meta":{},"lines":172},{"file":"git2/repository.h","functions":["git_repository_open","git_repository_free","git_repository_init","git_repository_head","git_repository_head_detached","git_repository_head_orphan","git_repository_is_empty","git_repository_path","git_repository_workdir","git_repository_set_workdir","git_repository_is_bare","git_repository_config","git_repository_set_config","git_repository_odb","git_repository_set_odb","git_repository_index","git_repository_set_index"],"meta":{},"lines":286},{"file":"git2/revwalk.h","functions":["git_revwalk_new","git_revwalk_reset","git_revwalk_push","git_revwalk_hide","git_revwalk_next","git_revwalk_sorting","git_revwalk_free","git_revwalk_repository"],"meta":{},"lines":165},{"file":"git2/signature.h","functions":["git_signature_new","git_signature_now","git_signature_dup","git_signature_free"],"meta":{},"lines":61},{"file":"git2/status.h","functions":["git_status_foreach","git_status_file","git_status_should_ignore"],"meta":{},"lines":75},{"file":"git2/tag.h","functions":["git_tag_lookup","git_tag_lookup_prefix","git_tag_free","git_tag_id","git_tag_target","git_tag_target_oid","git_tag_type","git_tag_name","git_tag_tagger","git_tag_message","git_tag_create","git_tag_create_frombuffer","git_tag_create_lightweight","git_tag_delete","git_tag_list","git_tag_list_match"],"meta":{},"lines":275},{"file":"git2/threads.h","functions":["git_threads_init","git_threads_shutdown"],"meta":{},"lines":43},{"file":"git2/tree.h","functions":["git_tree_lookup","git_tree_lookup_prefix","git_tree_free","git_tree_id","git_tree_entrycount","git_tree_entry_byname","git_tree_entry_byindex","git_tree_entry_attributes","git_tree_entry_name","git_tree_entry_id","git_tree_entry_type","git_tree_entry_2object","git_tree_create_fromindex","git_treebuilder_create","git_treebuilder_clear","git_treebuilder_free","git_treebuilder_get","git_treebuilder_insert","git_treebuilder_remove","git_treebuilder_filter","git_treebuilder_write","git_tree_get_subtree","git_treewalk_cb","git_tree_walk","git_tree_diff"],"meta":{},"lines":348},{"file":"git2/types.h","functions":[],"meta":{},"lines":158},{"file":"git2/windows.h","functions":["gitwin_set_codepage","gitwin_get_codepage","gitwin_set_utf8"],"meta":{},"lines":54}],"functions":{"git_attr_get":{"type":"function","file":"git2/attr.h","line":33,"lineto":35,"args":[{"name":"repo","type":"git_repository *","comment":null},{"name":"path","type":"const char *","comment":null},{"name":"name","type":"const char *","comment":null},{"name":"value","type":"const char **","comment":null}],"argline":"git_repository *repo, const char *path, const char *name, const char **value","sig":"git_repository *::const char *::const char *::const char **","return":{"type":"int","comment":null},"description":"

Lookup attribute for path returning string caller must free

\n","comments":"","group":"attr"},"git_attr_foreach":{"type":"function","file":"git2/attr.h","line":48,"lineto":51,"args":[{"name":"repo","type":"git_repository *","comment":null},{"name":"path","type":"const char *","comment":null},{"name":"callback","type":"int (*)(const char *, const char *, void *)","comment":null},{"name":"payload","type":"void *","comment":null}],"argline":"git_repository *repo, const char *path, int (*)(const char *, const char *, void *) callback, void *payload","sig":"git_repository *::const char *::int (*)(const char *, const char *, void *)::void *","return":{"type":"int","comment":null},"description":"

Perform an operation on each attribute of a path.

\n","comments":"","group":"attr"},"git_attr_cache_flush":{"type":"function","file":"git2/attr.h","line":59,"lineto":60,"args":[{"name":"repo","type":"git_repository *","comment":null}],"argline":"git_repository *repo","sig":"git_repository *","return":{"type":"void","comment":null},"description":"

Flush the gitattributes cache.

\n","comments":"

Call this if you have reason to believe that the attributes files on disk no longer match the cached contents of memory.

\n","group":"attr"},"git_attr_add_macro":{"type":"function","file":"git2/attr.h","line":72,"lineto":75,"args":[{"name":"repo","type":"git_repository *","comment":null},{"name":"name","type":"const char *","comment":null},{"name":"values","type":"const char *","comment":null}],"argline":"git_repository *repo, const char *name, const char *values","sig":"git_repository *::const char *::const char *","return":{"type":"int","comment":null},"description":"

Add a macro definition.

\n","comments":"

Macros will automatically be loaded from the top level .gitattributes file of the repository (plus the build-in "binary" macro). This function allows you to add others. For example, to add the default macro, you would call:

\n\n
git_attr_add_macro(repo, "binary", "-diff -crlf");\n
\n","group":"attr"},"git_blob_lookup":{"type":"function","file":"git2/blob.h","line":32,"lineto":35,"args":[{"name":"blob","type":"git_blob **","comment":"pointer to the looked up blob"},{"name":"repo","type":"git_repository *","comment":"the repo to use when locating the blob."},{"name":"id","type":"const git_oid *","comment":"identity of the blob to locate."}],"argline":"git_blob **blob, git_repository *repo, const git_oid *id","sig":"git_blob **::git_repository *::const git_oid *","return":{"type":"int","comment":" GIT_SUCCESS or an error code"},"description":"

Lookup a blob object from a repository.

\n","comments":"","group":"blob","examples":{"general.c":["ex/v0.16.0/general.html#git_blob_lookup-1"]}},"git_blob_lookup_prefix":{"type":"function","file":"git2/blob.h","line":49,"lineto":52,"args":[{"name":"blob","type":"git_blob **","comment":"pointer to the looked up blob"},{"name":"repo","type":"git_repository *","comment":"the repo to use when locating the blob."},{"name":"id","type":"const git_oid *","comment":"identity of the blob to locate."},{"name":"len","type":"unsigned int","comment":"the length of the short identifier"}],"argline":"git_blob **blob, git_repository *repo, const git_oid *id, unsigned int len","sig":"git_blob **::git_repository *::const git_oid *::unsigned int","return":{"type":"int","comment":" GIT_SUCCESS or an error code"},"description":"

Lookup a blob object from a repository,\n given a prefix of its identifier (short id).

\n","comments":"","group":"blob"},"git_blob_free":{"type":"function","file":"git2/blob.h","line":66,"lineto":69,"args":[{"name":"blob","type":"git_blob *","comment":"the blob to close"}],"argline":"git_blob *blob","sig":"git_blob *","return":{"type":"void","comment":null},"description":"

Close an open blob

\n","comments":"

This is a wrapper around git_object_free()

\n\n

IMPORTANT: It is necessary to call this method when you stop using a blob. Failure to do so will cause a memory leak.

\n","group":"blob"},"git_blob_rawcontent":{"type":"function","file":"git2/blob.h","line":83,"lineto":83,"args":[{"name":"blob","type":"git_blob *","comment":"pointer to the blob"}],"argline":"git_blob *blob","sig":"git_blob *","return":{"type":"const void *","comment":" the pointer; NULL if the blob has no contents"},"description":"

Get a read-only buffer with the raw content of a blob.

\n","comments":"

A pointer to the raw content of a blob is returned; this pointer is owned internally by the object and shall not be free'd. The pointer may be invalidated at a later time.

\n","group":"blob","examples":{"general.c":["ex/v0.16.0/general.html#git_blob_rawcontent-2"]}},"git_blob_create_fromfile":{"type":"function","file":"git2/blob.h","line":104,"lineto":104,"args":[{"name":"oid","type":"git_oid *","comment":"return the id of the written blob"},{"name":"repo","type":"git_repository *","comment":"repository where the blob will be written.\n\tthis repository cannot be bare"},{"name":"path","type":"const char *","comment":"file from which the blob will be created,\n\trelative to the repository's working dir"}],"argline":"git_oid *oid, git_repository *repo, const char *path","sig":"git_oid *::git_repository *::const char *","return":{"type":"int","comment":" GIT_SUCCESS or an error code"},"description":"

Read a file from the working folder of a repository\n and write it to the Object Database as a loose blob

\n","comments":"","group":"blob"},"git_commit_lookup":{"type":"function","file":"git2/commit.h","line":33,"lineto":36,"args":[{"name":"commit","type":"git_commit **","comment":"pointer to the looked up commit"},{"name":"repo","type":"git_repository *","comment":"the repo to use when locating the commit."},{"name":"id","type":"const git_oid *","comment":"identity of the commit to locate. If the object is\n\t\tan annotated tag it will be peeled back to the commit."}],"argline":"git_commit **commit, git_repository *repo, const git_oid *id","sig":"git_commit **::git_repository *::const git_oid *","return":{"type":"int","comment":" GIT_SUCCESS or an error code"},"description":"

Lookup a commit object from a repository.

\n","comments":"","group":"commit","examples":{"general.c":["ex/v0.16.0/general.html#git_commit_lookup-3","ex/v0.16.0/general.html#git_commit_lookup-4","ex/v0.16.0/general.html#git_commit_lookup-5"]}},"git_commit_lookup_prefix":{"type":"function","file":"git2/commit.h","line":51,"lineto":54,"args":[{"name":"commit","type":"git_commit **","comment":"pointer to the looked up commit"},{"name":"repo","type":"git_repository *","comment":"the repo to use when locating the commit."},{"name":"id","type":"const git_oid *","comment":"identity of the commit to locate. If the object is\n\t\tan annotated tag it will be peeled back to the commit."},{"name":"len","type":"unsigned int","comment":"the length of the short identifier"}],"argline":"git_commit **commit, git_repository *repo, const git_oid *id, unsigned int len","sig":"git_commit **::git_repository *::const git_oid *::unsigned int","return":{"type":"int","comment":" GIT_SUCCESS or an error code"},"description":"

Lookup a commit object from a repository,\n given a prefix of its identifier (short id).

\n","comments":"","group":"commit"},"git_commit_free":{"type":"function","file":"git2/commit.h","line":68,"lineto":71,"args":[{"name":"commit","type":"git_commit *","comment":"the commit to close"}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"void","comment":null},"description":"

Close an open commit

\n","comments":"

This is a wrapper around git_object_free()

\n\n

IMPORTANT: It is necessary to call this method when you stop using a commit. Failure to do so will cause a memory leak.

\n","group":"commit","examples":{"general.c":["ex/v0.16.0/general.html#git_commit_free-6","ex/v0.16.0/general.html#git_commit_free-7","ex/v0.16.0/general.html#git_commit_free-8","ex/v0.16.0/general.html#git_commit_free-9"]}},"git_commit_id":{"type":"function","file":"git2/commit.h","line":79,"lineto":79,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"const git_oid *","comment":" object identity for the commit."},"description":"

Get the id of a commit.

\n","comments":"","group":"commit","examples":{"general.c":["ex/v0.16.0/general.html#git_commit_id-10"]}},"git_commit_message_encoding":{"type":"function","file":"git2/commit.h","line":91,"lineto":91,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"const char *","comment":" NULL, or the encoding"},"description":"

Get the encoding for the message of a commit,\n as a string representing a standard encoding name.

\n","comments":"

The encoding may be NULL if the encoding header in the commit is missing; in that case UTF-8 is assumed.

\n","group":"commit"},"git_commit_message":{"type":"function","file":"git2/commit.h","line":99,"lineto":99,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"const char *","comment":" the message of a commit"},"description":"

Get the full message of a commit.

\n","comments":"","group":"commit","examples":{"general.c":["ex/v0.16.0/general.html#git_commit_message-11","ex/v0.16.0/general.html#git_commit_message-12"]}},"git_commit_time":{"type":"function","file":"git2/commit.h","line":107,"lineto":107,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"git_time_t","comment":" the time of a commit"},"description":"

Get the commit time (i.e. committer time) of a commit.

\n","comments":"","group":"commit","examples":{"general.c":["ex/v0.16.0/general.html#git_commit_time-13","ex/v0.16.0/general.html#git_commit_time-14"]}},"git_commit_time_offset":{"type":"function","file":"git2/commit.h","line":115,"lineto":115,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"int","comment":" positive or negative timezone offset, in minutes from UTC"},"description":"

Get the commit timezone offset (i.e. committer's preferred timezone) of a commit.

\n","comments":"","group":"commit"},"git_commit_committer":{"type":"function","file":"git2/commit.h","line":123,"lineto":123,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"const git_signature *","comment":" the committer of a commit"},"description":"

Get the committer of a commit.

\n","comments":"","group":"commit","examples":{"general.c":["ex/v0.16.0/general.html#git_commit_committer-15"]}},"git_commit_author":{"type":"function","file":"git2/commit.h","line":131,"lineto":131,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"const git_signature *","comment":" the author of a commit"},"description":"

Get the author of a commit.

\n","comments":"","group":"commit","examples":{"general.c":["ex/v0.16.0/general.html#git_commit_author-16","ex/v0.16.0/general.html#git_commit_author-17"]}},"git_commit_tree":{"type":"function","file":"git2/commit.h","line":140,"lineto":140,"args":[{"name":"tree_out","type":"git_tree **","comment":"pointer where to store the tree object"},{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_tree **tree_out, git_commit *commit","sig":"git_tree **::git_commit *","return":{"type":"int","comment":" GIT_SUCCESS or an error code"},"description":"

Get the tree pointed to by a commit.

\n","comments":"","group":"commit"},"git_commit_tree_oid":{"type":"function","file":"git2/commit.h","line":150,"lineto":150,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"const git_oid *","comment":" the id of tree pointed to by commit."},"description":"

Get the id of the tree pointed to by a commit. This differs from\n git_commit_tree in that no attempts are made to fetch an object\n from the ODB.

\n","comments":"","group":"commit"},"git_commit_parentcount":{"type":"function","file":"git2/commit.h","line":158,"lineto":158,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"unsigned int","comment":" integer of count of parents"},"description":"

Get the number of parents of this commit

\n","comments":"","group":"commit","examples":{"general.c":["ex/v0.16.0/general.html#git_commit_parentcount-18"]}},"git_commit_parent":{"type":"function","file":"git2/commit.h","line":168,"lineto":168,"args":[{"name":"parent","type":"git_commit **","comment":"Pointer where to store the parent commit"},{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."},{"name":"n","type":"unsigned int","comment":"the position of the parent (from 0 to `parentcount`)"}],"argline":"git_commit **parent, git_commit *commit, unsigned int n","sig":"git_commit **::git_commit *::unsigned int","return":{"type":"int","comment":" GIT_SUCCESS or an error code"},"description":"

Get the specified parent of the commit.

\n","comments":"","group":"commit","examples":{"general.c":["ex/v0.16.0/general.html#git_commit_parent-19"]}},"git_commit_parent_oid":{"type":"function","file":"git2/commit.h","line":179,"lineto":179,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."},{"name":"n","type":"unsigned int","comment":"the position of the parent (from 0 to `parentcount`)"}],"argline":"git_commit *commit, unsigned int n","sig":"git_commit *::unsigned int","return":{"type":"const git_oid *","comment":" the id of the parent, NULL on error."},"description":"

Get the oid of a specified parent for a commit. This is different from\n git_commit_parent, which will attempt to load the parent commit from\n the ODB.

\n","comments":"","group":"commit"},"git_commit_create":{"type":"function","file":"git2/commit.h","line":224,"lineto":234,"args":[{"name":"oid","type":"git_oid *","comment":"Pointer where to store the OID of the\n\tnewly created commit"},{"name":"repo","type":"git_repository *","comment":"Repository where to store the commit"},{"name":"update_ref","type":"const char *","comment":"If not NULL, name of the reference that\n\twill be updated to point to this commit. If the reference\n\tis not direct, it will be resolved to a direct reference.\n\tUse \"HEAD\" to update the HEAD of the current branch and\n\tmake it point to this commit"},{"name":"author","type":"const git_signature *","comment":"Signature representing the author and the authory\n\ttime of this commit"},{"name":"committer","type":"const git_signature *","comment":"Signature representing the committer and the\n commit time of this commit"},{"name":"message_encoding","type":"const char *","comment":"The encoding for the message in the\n commit, represented with a standard encoding name.\n E.g. \"UTF-8\". If NULL, no encoding header is written and\n UTF-8 is assumed."},{"name":"message","type":"const char *","comment":"Full message for this commit"},{"name":"tree","type":"const git_tree *","comment":"An instance of a `git_tree` object that will\n be used as the tree for the commit. This tree object must\n also be owned by the given `repo`."},{"name":"parent_count","type":"int","comment":"Number of parents for this commit"},{"name":"parents","type":"const git_commit *[]","comment":null}],"argline":"git_oid *oid, git_repository *repo, const char *update_ref, const git_signature *author, const git_signature *committer, const char *message_encoding, const char *message, const git_tree *tree, int parent_count, const git_commit *[] parents","sig":"git_oid *::git_repository *::const char *::const git_signature *::const git_signature *::const char *::const char *::const git_tree *::int::const git_commit *[]","return":{"type":"int","comment":" GIT_SUCCESS or an error code\n\tThe created commit will be written to the Object Database and\n\tthe given reference will be updated to point to it"},"description":"

Create a new commit in the repository using git_object\n instances as parameters.

\n","comments":"","group":"commit"},"git_commit_create_v":{"type":"function","file":"git2/commit.h","line":249,"lineto":259,"args":[{"name":"oid","type":"git_oid *","comment":null},{"name":"repo","type":"git_repository *","comment":null},{"name":"update_ref","type":"const char *","comment":null},{"name":"author","type":"const git_signature *","comment":null},{"name":"committer","type":"const git_signature *","comment":null},{"name":"message_encoding","type":"const char *","comment":null},{"name":"message","type":"const char *","comment":null},{"name":"tree","type":"const git_tree *","comment":null},{"name":"parent_count","type":"int","comment":null}],"argline":"git_oid *oid, git_repository *repo, const char *update_ref, const git_signature *author, const git_signature *committer, const char *message_encoding, const char *message, const git_tree *tree, int parent_count","sig":"git_oid *::git_repository *::const char *::const git_signature *::const git_signature *::const char *::const char *::const git_tree *::int","return":{"type":"int","comment":null},"description":"

Create a new commit in the repository using a variable\n argument list.

\n","comments":"

The parents for the commit are specified as a variable list of pointers to const git_commit *. Note that this is a convenience method which may not be safe to export for certain languages or compilers

\n\n

All other parameters remain the same

\n","group":"commit","examples":{"general.c":["ex/v0.16.0/general.html#git_commit_create_v-20"]}},"git_libgit2_version":{"type":"function","file":"git2/common.h","line":99,"lineto":99,"args":[{"name":"major","type":"int *","comment":"Store the major version number"},{"name":"minor","type":"int *","comment":"Store the minor version number"},{"name":"rev","type":"int *","comment":"Store the revision (patch) number"}],"argline":"int *major, int *minor, int *rev","sig":"int *::int *::int *","return":{"type":"void","comment":null},"description":"

Return the version of the libgit2 library\n being currently used.

\n","comments":"","group":"libgit2"},"git_config_find_global":{"type":"function","file":"git2/config.h","line":53,"lineto":53,"args":[{"name":"global_config_path","type":"char *","comment":"Buffer of GIT_PATH_MAX length to store the path"}],"argline":"char *global_config_path","sig":"char *","return":{"type":"int","comment":" GIT_SUCCESS if a global configuration file has been\n\tfound. Its path will be stored in `buffer`."},"description":"

Locate the path to the global configuration file

\n","comments":"

The user or global configuration file is usually located in $HOME/.gitconfig.

\n\n

This method will try to guess the full path to that file, if the file exists. The returned path may be used on any git_config call to load the global configuration file.

\n","group":"config"},"git_config_find_system":{"type":"function","file":"git2/config.h","line":65,"lineto":65,"args":[{"name":"system_config_path","type":"char *","comment":"Buffer of GIT_PATH_MAX length to store the path"}],"argline":"char *system_config_path","sig":"char *","return":{"type":"int","comment":" GIT_SUCCESS if a system configuration file has been\n\tfound. Its path will be stored in `buffer`."},"description":"

Locate the path to the system configuration file

\n","comments":"

If /etc/gitconfig doesn't exist, it will look for %PROGRAMFILES%.

\n","group":"config"},"git_config_open_global":{"type":"function","file":"git2/config.h","line":76,"lineto":76,"args":[{"name":"out","type":"git_config **","comment":"Pointer to store the config instance"}],"argline":"git_config **out","sig":"git_config **","return":{"type":"int","comment":" GIT_SUCCESS or an error code"},"description":"

Open the global configuration file

\n","comments":"

Utility wrapper that calls git_config_find_global and opens the located file, if it exists.

\n","group":"config"},"git_config_file__ondisk":{"type":"function","file":"git2/config.h","line":89,"lineto":89,"args":[{"name":"out","type":"struct git_config_file **","comment":"the new backend"},{"name":"path","type":"const char *","comment":"where the config file is located"}],"argline":"struct git_config_file **out, const char *path","sig":"struct git_config_file **::const char *","return":{"type":"int","comment":null},"description":"

Create a configuration file backend for ondisk files

\n","comments":"

These are the normal .gitconfig files that Core Git processes. Note that you first have to add this file to a configuration object before you can query it for configuration variables.

\n","group":"config"},"git_config_new":{"type":"function","file":"git2/config.h","line":100,"lineto":100,"args":[{"name":"out","type":"git_config **","comment":"pointer to the new configuration"}],"argline":"git_config **out","sig":"git_config **","return":{"type":"int","comment":" GIT_SUCCESS or an error code"},"description":"

Allocate a new configuration object

\n","comments":"

This object is empty, so you have to add a file to it before you can do anything with it.

\n","group":"config"},"git_config_add_file":{"type":"function","file":"git2/config.h","line":117,"lineto":117,"args":[{"name":"cfg","type":"git_config *","comment":"the configuration to add the file to"},{"name":"file","type":"git_config_file *","comment":"the configuration file (backend) to add"},{"name":"priority","type":"int","comment":"the priority the backend should have"}],"argline":"git_config *cfg, git_config_file *file, int priority","sig":"git_config *::git_config_file *::int","return":{"type":"int","comment":" GIT_SUCCESS or an error code"},"description":"

Add a generic config file instance to an existing config

\n","comments":"

Note that the configuration object will free the file automatically.

\n\n

Further queries on this config object will access each of the config file instances in order (instances with a higher priority will be accessed first).

\n","group":"config"},"git_config_add_file_ondisk":{"type":"function","file":"git2/config.h","line":138,"lineto":138,"args":[{"name":"cfg","type":"git_config *","comment":"the configuration to add the file to"},{"name":"path","type":"const char *","comment":"path to the configuration file (backend) to add"},{"name":"priority","type":"int","comment":"the priority the backend should have"}],"argline":"git_config *cfg, const char *path, int priority","sig":"git_config *::const char *::int","return":{"type":"int","comment":" GIT_SUCCESS or an error code"},"description":"

Add an on-disk config file instance to an existing config

\n","comments":"

The on-disk file pointed at by path will be opened and parsed; it's expected to be a native Git config file following the default Git config syntax (see man git-config).

\n\n

Note that the configuration object will free the file automatically.

\n\n

Further queries on this config object will access each of the config file instances in order (instances with a higher priority will be accessed first).

\n","group":"config"},"git_config_open_ondisk":{"type":"function","file":"git2/config.h","line":153,"lineto":153,"args":[{"name":"cfg","type":"git_config **","comment":"The configuration instance to create"},{"name":"path","type":"const char *","comment":"Path to the on-disk file to open"}],"argline":"git_config **cfg, const char *path","sig":"git_config **::const char *","return":{"type":"int","comment":" GIT_SUCCESS or an error code"},"description":"

Create a new config instance containing a single on-disk file

\n","comments":"

This method is a simple utility wrapper for the following sequence of calls: - git_config_new - git_config_add_file_ondisk

\n","group":"config","examples":{"general.c":["ex/v0.16.0/general.html#git_config_open_ondisk-21"]}},"git_config_free":{"type":"function","file":"git2/config.h","line":160,"lineto":160,"args":[{"name":"cfg","type":"git_config *","comment":"the configuration to free"}],"argline":"git_config *cfg","sig":"git_config *","return":{"type":"void","comment":null},"description":"

Free the configuration and its associated memory and files

\n","comments":"","group":"config"},"git_config_get_int32":{"type":"function","file":"git2/config.h","line":170,"lineto":170,"args":[{"name":"cfg","type":"git_config *","comment":"where to look for the variable"},{"name":"name","type":"const char *","comment":"the variable's name"},{"name":"out","type":"int32_t *","comment":"pointer to the variable where the value should be stored"}],"argline":"git_config *cfg, const char *name, int32_t *out","sig":"git_config *::const char *::int32_t *","return":{"type":"int","comment":" GIT_SUCCESS or an error code"},"description":"

Get the value of an integer config variable.

\n","comments":"","group":"config","examples":{"general.c":["ex/v0.16.0/general.html#git_config_get_int32-22"]}},"git_config_get_int64":{"type":"function","file":"git2/config.h","line":180,"lineto":180,"args":[{"name":"cfg","type":"git_config *","comment":"where to look for the variable"},{"name":"name","type":"const char *","comment":"the variable's name"},{"name":"out","type":"int64_t *","comment":"pointer to the variable where the value should be stored"}],"argline":"git_config *cfg, const char *name, int64_t *out","sig":"git_config *::const char *::int64_t *","return":{"type":"int","comment":" GIT_SUCCESS or an error code"},"description":"

Get the value of a long integer config variable.

\n","comments":"","group":"config"},"git_config_get_bool":{"type":"function","file":"git2/config.h","line":193,"lineto":193,"args":[{"name":"cfg","type":"git_config *","comment":"where to look for the variable"},{"name":"name","type":"const char *","comment":"the variable's name"},{"name":"out","type":"int *","comment":"pointer to the variable where the value should be stored"}],"argline":"git_config *cfg, const char *name, int *out","sig":"git_config *::const char *::int *","return":{"type":"int","comment":" GIT_SUCCESS or an error code"},"description":"

Get the value of a boolean config variable.

\n","comments":"

This function uses the usual C convention of 0 being false and anything else true.

\n","group":"config"},"git_config_get_string":{"type":"function","file":"git2/config.h","line":206,"lineto":206,"args":[{"name":"cfg","type":"git_config *","comment":"where to look for the variable"},{"name":"name","type":"const char *","comment":"the variable's name"},{"name":"out","type":"const char **","comment":"pointer to the variable's value"}],"argline":"git_config *cfg, const char *name, const char **out","sig":"git_config *::const char *::const char **","return":{"type":"int","comment":" GIT_SUCCESS or an error code"},"description":"

Get the value of a string config variable.

\n","comments":"

The string is owned by the variable and should not be freed by the user.

\n","group":"config","examples":{"general.c":["ex/v0.16.0/general.html#git_config_get_string-23"]}},"git_config_set_int32":{"type":"function","file":"git2/config.h","line":216,"lineto":216,"args":[{"name":"cfg","type":"git_config *","comment":"where to look for the variable"},{"name":"name","type":"const char *","comment":"the variable's name"},{"name":"value","type":"int32_t","comment":"Integer value for the variable"}],"argline":"git_config *cfg, const char *name, int32_t value","sig":"git_config *::const char *::int32_t","return":{"type":"int","comment":" GIT_SUCCESS or an error code"},"description":"

Set the value of an integer config variable.

\n","comments":"","group":"config"},"git_config_set_int64":{"type":"function","file":"git2/config.h","line":226,"lineto":226,"args":[{"name":"cfg","type":"git_config *","comment":"where to look for the variable"},{"name":"name","type":"const char *","comment":"the variable's name"},{"name":"value","type":"int64_t","comment":"Long integer value for the variable"}],"argline":"git_config *cfg, const char *name, int64_t value","sig":"git_config *::const char *::int64_t","return":{"type":"int","comment":" GIT_SUCCESS or an error code"},"description":"

Set the value of a long integer config variable.

\n","comments":"","group":"config"},"git_config_set_bool":{"type":"function","file":"git2/config.h","line":236,"lineto":236,"args":[{"name":"cfg","type":"git_config *","comment":"where to look for the variable"},{"name":"name","type":"const char *","comment":"the variable's name"},{"name":"value","type":"int","comment":"the value to store"}],"argline":"git_config *cfg, const char *name, int value","sig":"git_config *::const char *::int","return":{"type":"int","comment":" GIT_SUCCESS or an error code"},"description":"

Set the value of a boolean config variable.

\n","comments":"","group":"config"},"git_config_set_string":{"type":"function","file":"git2/config.h","line":249,"lineto":249,"args":[{"name":"cfg","type":"git_config *","comment":"where to look for the variable"},{"name":"name","type":"const char *","comment":"the variable's name"},{"name":"value","type":"const char *","comment":"the string to store."}],"argline":"git_config *cfg, const char *name, const char *value","sig":"git_config *::const char *::const char *","return":{"type":"int","comment":" GIT_SUCCESS or an error code"},"description":"

Set the value of a string config variable.

\n","comments":"

A copy of the string is made and the user is free to use it afterwards.

\n","group":"config"},"git_config_delete":{"type":"function","file":"git2/config.h","line":257,"lineto":257,"args":[{"name":"cfg","type":"git_config *","comment":"the configuration"},{"name":"name","type":"const char *","comment":"the variable to delete"}],"argline":"git_config *cfg, const char *name","sig":"git_config *::const char *","return":{"type":"int","comment":null},"description":"

Delete a config variable

\n","comments":"","group":"config"},"git_config_foreach":{"type":"function","file":"git2/config.h","line":272,"lineto":275,"args":[{"name":"cfg","type":"git_config *","comment":"where to get the variables from"},{"name":"callback","type":"int (*)(const char *, const char *, void *)","comment":"the function to call on each variable"},{"name":"payload","type":"void *","comment":"the data to pass to the callback"}],"argline":"git_config *cfg, int (*)(const char *, const char *, void *) callback, void *payload","sig":"git_config *::int (*)(const char *, const char *, void *)::void *","return":{"type":"int","comment":" GIT_SUCCESS or the return value of the callback which didn't return 0"},"description":"

Perform an operation on each config variable.

\n","comments":"

The callback receives the normalized name and value of each variable in the config backend, and the data pointer passed to this function. As soon as one of the callback functions returns something other than 0, this function returns that value.

\n","group":"config"},"git_lasterror":{"type":"function","file":"git2/errors.h","line":123,"lineto":123,"args":[],"argline":"","sig":"","return":{"type":"const char *","comment":" a string explaining the error"},"description":"

Return a detailed error string with the latest error\n that occurred in the library.

\n","comments":"","group":"lasterror","examples":{"network/git2.c":["ex/v0.16.0/network/git2.html#git_lasterror-1"]}},"git_strerror":{"type":"function","file":"git2/errors.h","line":135,"lineto":135,"args":[{"name":"num","type":"int","comment":"The error code to explain"}],"argline":"int num","sig":"int","return":{"type":"const char *","comment":" a string explaining the error code"},"description":"

strerror() for the Git library

\n","comments":"

Get a string description for a given error code. NOTE: This method will be eventually deprecated in favor of the new git_lasterror.

\n","group":"strerror"},"git_clearerror":{"type":"function","file":"git2/errors.h","line":140,"lineto":140,"args":[],"argline":"","sig":"","return":{"type":"void","comment":null},"description":"

Clear the latest library error

\n","comments":"","group":"clearerror"},"git_index_open":{"type":"function","file":"git2/index.h","line":111,"lineto":111,"args":[{"name":"index","type":"git_index **","comment":"the pointer for the new index"},{"name":"index_path","type":"const char *","comment":"the path to the index file in disk"}],"argline":"git_index **index, const char *index_path","sig":"git_index **::const char *","return":{"type":"int","comment":" GIT_SUCCESS or an error code"},"description":"

Create a new bare Git index object as a memory representation\n of the Git index file in 'index_path', without a repository\n to back it.

\n","comments":"

Since there is no ODB or working directory behind this index, any Index methods which rely on these (e.g. index_add) will fail with the GIT_EBAREINDEX error code.

\n\n

If you need to access the index of an actual repository, use the git_repository_index wrapper.

\n\n

The index must be freed once it's no longer in use.

\n","group":"index"},"git_index_clear":{"type":"function","file":"git2/index.h","line":120,"lineto":120,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"void","comment":null},"description":"

Clear the contents (all the entries) of an index object.\n This clears the index object in memory; changes must be manually\n written to disk for them to take effect.

\n","comments":"","group":"index"},"git_index_free":{"type":"function","file":"git2/index.h","line":127,"lineto":127,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"void","comment":null},"description":"

Free an existing index object.

\n","comments":"","group":"index","examples":{"general.c":["ex/v0.16.0/general.html#git_index_free-24"]}},"git_index_read":{"type":"function","file":"git2/index.h","line":136,"lineto":136,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"int","comment":" GIT_SUCCESS or an error code"},"description":"

Update the contents of an existing index object in memory\n by reading from the hard disk.

\n","comments":"","group":"index"},"git_index_write":{"type":"function","file":"git2/index.h","line":145,"lineto":145,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"int","comment":" GIT_SUCCESS or an error code"},"description":"

Write an existing index object from memory back to disk\n using an atomic file lock.

\n","comments":"","group":"index"},"git_index_find":{"type":"function","file":"git2/index.h","line":155,"lineto":155,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"},{"name":"path","type":"const char *","comment":"path to search"}],"argline":"git_index *index, const char *path","sig":"git_index *::const char *","return":{"type":"int","comment":" an index >= 0 if found, -1 otherwise"},"description":"

Find the first index of any entries which point to given\n path in the Git index.

\n","comments":"","group":"index"},"git_index_uniq":{"type":"function","file":"git2/index.h","line":162,"lineto":162,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"void","comment":null},"description":"

Remove all entries with equal path except last added

\n","comments":"","group":"index"},"git_index_add":{"type":"function","file":"git2/index.h","line":181,"lineto":181,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"},{"name":"path","type":"const char *","comment":"filename to add"},{"name":"stage","type":"int","comment":"stage for the entry"}],"argline":"git_index *index, const char *path, int stage","sig":"git_index *::const char *::int","return":{"type":"int","comment":" GIT_SUCCESS or an error code"},"description":"

Add or update an index entry from a file in disk

\n","comments":"

The file path must be relative to the repository's working folder and must be readable.

\n\n

This method will fail in bare index instances.

\n\n

This forces the file to be added to the index, not looking at gitignore rules. Those rules can be evaluated through the git_status APIs (in status.h) before calling this.

\n","group":"index"},"git_index_add2":{"type":"function","file":"git2/index.h","line":193,"lineto":193,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"},{"name":"source_entry","type":"const git_index_entry *","comment":"new entry object"}],"argline":"git_index *index, const git_index_entry *source_entry","sig":"git_index *::const git_index_entry *","return":{"type":"int","comment":" GIT_SUCCESS or an error code"},"description":"

Add or update an index entry from an in-memory struct

\n","comments":"

A full copy (including the 'path' string) of the given 'source_entry' will be inserted on the index.

\n","group":"index"},"git_index_append":{"type":"function","file":"git2/index.h","line":212,"lineto":212,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"},{"name":"path","type":"const char *","comment":"filename to add"},{"name":"stage","type":"int","comment":"stage for the entry"}],"argline":"git_index *index, const char *path, int stage","sig":"git_index *::const char *::int","return":{"type":"int","comment":" GIT_SUCCESS or an error code"},"description":"

Add (append) an index entry from a file in disk

\n","comments":"

A new entry will always be inserted into the index; if the index already contains an entry for such path, the old entry will not be replaced.

\n\n

The file path must be relative to the repository's working folder and must be readable.

\n\n

This method will fail in bare index instances.

\n","group":"index"},"git_index_append2":{"type":"function","file":"git2/index.h","line":229,"lineto":229,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"},{"name":"source_entry","type":"const git_index_entry *","comment":"new entry object"}],"argline":"git_index *index, const git_index_entry *source_entry","sig":"git_index *::const git_index_entry *","return":{"type":"int","comment":" GIT_SUCCESS or an error code"},"description":"

Add (append) an index entry from an in-memory struct

\n","comments":"

A new entry will always be inserted into the index; if the index already contains an entry for the path in the entry struct, the old entry will not be replaced.

\n\n

A full copy (including the 'path' string) of the given 'source_entry' will be inserted on the index.

\n","group":"index"},"git_index_remove":{"type":"function","file":"git2/index.h","line":238,"lineto":238,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"},{"name":"position","type":"int","comment":"position of the entry to remove"}],"argline":"git_index *index, int position","sig":"git_index *::int","return":{"type":"int","comment":" GIT_SUCCESS or an error code"},"description":"

Remove an entry from the index

\n","comments":"","group":"index"},"git_index_get":{"type":"function","file":"git2/index.h","line":253,"lineto":253,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"},{"name":"n","type":"unsigned int","comment":"the position of the entry"}],"argline":"git_index *index, unsigned int n","sig":"git_index *::unsigned int","return":{"type":"git_index_entry *","comment":" a pointer to the entry; NULL if out of bounds"},"description":"

Get a pointer to one of the entries in the index

\n","comments":"

This entry can be modified, and the changes will be written back to disk on the next write() call.

\n\n

The entry should not be freed by the caller.

\n","group":"index","examples":{"general.c":["ex/v0.16.0/general.html#git_index_get-25"]}},"git_index_entrycount":{"type":"function","file":"git2/index.h","line":261,"lineto":261,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"unsigned int","comment":" integer of count of current entries"},"description":"

Get the count of entries currently in the index

\n","comments":"","group":"index","examples":{"general.c":["ex/v0.16.0/general.html#git_index_entrycount-26"]}},"git_index_entrycount_unmerged":{"type":"function","file":"git2/index.h","line":269,"lineto":269,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"unsigned int","comment":" integer of count of current unmerged entries"},"description":"

Get the count of unmerged entries currently in the index

\n","comments":"","group":"index"},"git_index_get_unmerged_bypath":{"type":"function","file":"git2/index.h","line":281,"lineto":281,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"},{"name":"path","type":"const char *","comment":"path to search"}],"argline":"git_index *index, const char *path","sig":"git_index *::const char *","return":{"type":"const git_index_entry_unmerged *","comment":" the unmerged entry; NULL if not found"},"description":"

Get an unmerged entry from the index.

\n","comments":"

The returned entry is read-only and should not be modified of freed by the caller.

\n","group":"index"},"git_index_get_unmerged_byindex":{"type":"function","file":"git2/index.h","line":293,"lineto":293,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"},{"name":"n","type":"unsigned int","comment":"the position of the entry"}],"argline":"git_index *index, unsigned int n","sig":"git_index *::unsigned int","return":{"type":"const git_index_entry_unmerged *","comment":" a pointer to the unmerged entry; NULL if out of bounds"},"description":"

Get an unmerged entry from the index.

\n","comments":"

The returned entry is read-only and should not be modified of freed by the caller.

\n","group":"index"},"git_index_entry_stage":{"type":"function","file":"git2/index.h","line":306,"lineto":306,"args":[{"name":"entry","type":"const git_index_entry *","comment":"The entry"}],"argline":"const git_index_entry *entry","sig":"const git_index_entry *","return":{"type":"int","comment":null},"description":"

Return the stage number from a git index entry

\n","comments":"

This entry is calculated from the entrie's flag attribute like this:

\n\n
(entry->flags & GIT_IDXENTRY_STAGEMASK) >> GIT_IDXENTRY_STAGESHIFT\n
\n","group":"index"},"git_index_read_tree":{"type":"function","file":"git2/index.h","line":317,"lineto":317,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"},{"name":"tree","type":"git_tree *","comment":"tree to read"}],"argline":"git_index *index, git_tree *tree","sig":"git_index *::git_tree *","return":{"type":"int","comment":" GIT_SUCCESS or an error code"},"description":"

Read a tree into the index file

\n","comments":"

The current index contents will be replaced by the specified tree.

\n","group":"index"},"git_indexer_new":{"type":"function","file":"git2/indexer.h","line":33,"lineto":33,"args":[{"name":"out","type":"git_indexer **","comment":"where to store the indexer instance"},{"name":"packname","type":"const char *","comment":"the absolute filename of the packfile to index"}],"argline":"git_indexer **out, const char *packname","sig":"git_indexer **::const char *","return":{"type":"int","comment":null},"description":"

Create a new indexer instance

\n","comments":"","group":"indexer","examples":{"network/fetch.c":["ex/v0.16.0/network/fetch.html#git_indexer_new-1"],"network/index-pack.c":["ex/v0.16.0/network/index-pack.html#git_indexer_new-1"]}},"git_indexer_run":{"type":"function","file":"git2/indexer.h","line":45,"lineto":45,"args":[{"name":"idx","type":"git_indexer *","comment":"the indexer instance"},{"name":"stats","type":"git_indexer_stats *","comment":"storage for the running state"}],"argline":"git_indexer *idx, git_indexer_stats *stats","sig":"git_indexer *::git_indexer_stats *","return":{"type":"int","comment":null},"description":"

Iterate over the objects in the packfile and extract the information

\n","comments":"

Indexing a packfile can be very expensive so this function is expected to be run in a worker thread and the stats used to provide feedback the user.

\n","group":"indexer","examples":{"network/fetch.c":["ex/v0.16.0/network/fetch.html#git_indexer_run-2"],"network/index-pack.c":["ex/v0.16.0/network/index-pack.html#git_indexer_run-2"]}},"git_indexer_write":{"type":"function","file":"git2/indexer.h","line":55,"lineto":55,"args":[{"name":"idx","type":"git_indexer *","comment":"the indexer instance"}],"argline":"git_indexer *idx","sig":"git_indexer *","return":{"type":"int","comment":null},"description":"

Write the index file to disk.

\n","comments":"

The file will be stored as pack-$hash.idx in the same directory as the packfile.

\n","group":"indexer","examples":{"network/fetch.c":["ex/v0.16.0/network/fetch.html#git_indexer_write-3"],"network/index-pack.c":["ex/v0.16.0/network/index-pack.html#git_indexer_write-3"]}},"git_indexer_hash":{"type":"function","file":"git2/indexer.h","line":65,"lineto":65,"args":[{"name":"idx","type":"git_indexer *","comment":"the indexer instance"}],"argline":"git_indexer *idx","sig":"git_indexer *","return":{"type":"const git_oid *","comment":null},"description":"

Get the packfile's hash

\n","comments":"

A packfile's name is derived from the sorted hashing of all object names. This is only correct after the index has been written to disk.

\n","group":"indexer","examples":{"network/fetch.c":["ex/v0.16.0/network/fetch.html#git_indexer_hash-4"],"network/index-pack.c":["ex/v0.16.0/network/index-pack.html#git_indexer_hash-4"]}},"git_indexer_free":{"type":"function","file":"git2/indexer.h","line":72,"lineto":72,"args":[{"name":"idx","type":"git_indexer *","comment":"the indexer to free"}],"argline":"git_indexer *idx","sig":"git_indexer *","return":{"type":"void","comment":null},"description":"

Free the indexer and its resources

\n","comments":"","group":"indexer","examples":{"network/fetch.c":["ex/v0.16.0/network/fetch.html#git_indexer_free-5"],"network/index-pack.c":["ex/v0.16.0/network/index-pack.html#git_indexer_free-5"]}},"git_object_lookup":{"type":"function","file":"git2/object.h","line":41,"lineto":45,"args":[{"name":"object","type":"git_object **","comment":"pointer to the looked-up object"},{"name":"repo","type":"git_repository *","comment":"the repository to look up the object"},{"name":"id","type":"const git_oid *","comment":"the unique identifier for the object"},{"name":"type","type":"git_otype","comment":"the type of the object"}],"argline":"git_object **object, git_repository *repo, const git_oid *id, git_otype type","sig":"git_object **::git_repository *::const git_oid *::git_otype","return":{"type":"int","comment":" a reference to the object"},"description":"

Lookup a reference to one of the objects in a repostory.

\n","comments":"

The generated reference is owned by the repository and should be closed with the git_object_free method instead of free'd manually.

\n\n

The 'type' parameter must match the type of the object in the odb; the method will fail otherwise. The special value 'GIT_OBJ_ANY' may be passed to let the method guess the object's type.

\n","group":"object"},"git_object_lookup_prefix":{"type":"function","file":"git2/object.h","line":74,"lineto":79,"args":[{"name":"object_out","type":"git_object **","comment":"pointer where to store the looked-up object"},{"name":"repo","type":"git_repository *","comment":"the repository to look up the object"},{"name":"id","type":"const git_oid *","comment":"a short identifier for the object"},{"name":"len","type":"unsigned int","comment":"the length of the short identifier"},{"name":"type","type":"git_otype","comment":"the type of the object"}],"argline":"git_object **object_out, git_repository *repo, const git_oid *id, unsigned int len, git_otype type","sig":"git_object **::git_repository *::const git_oid *::unsigned int::git_otype","return":{"type":"int","comment":" GIT_SUCCESS or an error code"},"description":"

Lookup a reference to one of the objects in a repostory,\n given a prefix of its identifier (short id).

\n","comments":"

The object obtained will be so that its identifier matches the first 'len' hexadecimal characters (packets of 4 bits) of the given 'id'. 'len' must be at least GIT_OID_MINPREFIXLEN, and long enough to identify a unique object matching the prefix; otherwise the method will fail.

\n\n

The generated reference is owned by the repository and should be closed with the git_object_free method instead of free'd manually.

\n\n

The 'type' parameter must match the type of the object in the odb; the method will fail otherwise. The special value 'GIT_OBJ_ANY' may be passed to let the method guess the object's type.

\n","group":"object"},"git_object_id":{"type":"function","file":"git2/object.h","line":87,"lineto":87,"args":[{"name":"obj","type":"const git_object *","comment":"the repository object"}],"argline":"const git_object *obj","sig":"const git_object *","return":{"type":"const git_oid *","comment":" the SHA1 id"},"description":"

Get the id (SHA1) of a repository object

\n","comments":"","group":"object"},"git_object_type":{"type":"function","file":"git2/object.h","line":95,"lineto":95,"args":[{"name":"obj","type":"const git_object *","comment":"the repository object"}],"argline":"const git_object *obj","sig":"const git_object *","return":{"type":"git_otype","comment":" the object's type"},"description":"

Get the object type of an object

\n","comments":"","group":"object"},"git_object_owner":{"type":"function","file":"git2/object.h","line":109,"lineto":109,"args":[{"name":"obj","type":"const git_object *","comment":"the object"}],"argline":"const git_object *obj","sig":"const git_object *","return":{"type":"git_repository *","comment":" the repository who owns this object"},"description":"

Get the repository that owns this object

\n","comments":"

Freeing or calling git_repository_close on the returned pointer will invalidate the actual object.

\n\n

Any other operation may be run on the repository without affecting the object.

\n","group":"object"},"git_object_free":{"type":"function","file":"git2/object.h","line":126,"lineto":126,"args":[{"name":"object","type":"git_object *","comment":"the object to close"}],"argline":"git_object *object","sig":"git_object *","return":{"type":"void","comment":null},"description":"

Close an open object

\n","comments":"

This method instructs the library to close an existing object; note that git_objects are owned and cached by the repository so the object may or may not be freed after this library call, depending on how agressive is the caching mechanism used by the repository.

\n\n

IMPORTANT: It is necessary to call this method when you stop using an object. Failure to do so will cause a memory leak.

\n","group":"object","examples":{"general.c":["ex/v0.16.0/general.html#git_object_free-27"]}},"git_object_type2string":{"type":"function","file":"git2/object.h","line":137,"lineto":137,"args":[{"name":"type","type":"git_otype","comment":"object type to convert."}],"argline":"git_otype type","sig":"git_otype","return":{"type":"const char *","comment":" the corresponding string representation."},"description":"

Convert an object type to it's string representation.

\n","comments":"

The result is a pointer to a string in static memory and should not be free()'ed.

\n","group":"object","examples":{"general.c":["ex/v0.16.0/general.html#git_object_type2string-28"]}},"git_object_string2type":{"type":"function","file":"git2/object.h","line":145,"lineto":145,"args":[{"name":"str","type":"const char *","comment":"the string to convert."}],"argline":"const char *str","sig":"const char *","return":{"type":"git_otype","comment":" the corresponding git_otype."},"description":"

Convert a string object type representation to it's git_otype.

\n","comments":"","group":"object"},"git_object_typeisloose":{"type":"function","file":"git2/object.h","line":154,"lineto":154,"args":[{"name":"type","type":"git_otype","comment":"object type to test."}],"argline":"git_otype type","sig":"git_otype","return":{"type":"int","comment":" true if the type represents a valid loose object type,\n false otherwise."},"description":"

Determine if the given git_otype is a valid loose object type.

\n","comments":"","group":"object"},"git_odb_new":{"type":"function","file":"git2/odb.h","line":34,"lineto":34,"args":[{"name":"out","type":"git_odb **","comment":"location to store the database pointer, if opened.\n\t\t\tSet to NULL if the open failed."}],"argline":"git_odb **out","sig":"git_odb **","return":{"type":"int","comment":" GIT_SUCCESS or an error code"},"description":"

Create a new object database with no backends.

\n","comments":"

Before the ODB can be used for read/writing, a custom database backend must be manually added using git_odb_add_backend()

\n","group":"odb"},"git_odb_open":{"type":"function","file":"git2/odb.h","line":52,"lineto":52,"args":[{"name":"out","type":"git_odb **","comment":"location to store the database pointer, if opened.\n\t\t\tSet to NULL if the open failed."},{"name":"objects_dir","type":"const char *","comment":"path of the backends' \"objects\" directory."}],"argline":"git_odb **out, const char *objects_dir","sig":"git_odb **::const char *","return":{"type":"int","comment":" GIT_SUCCESS or an error code"},"description":"

Create a new object database and automatically add\n the two default backends:

\n","comments":"
- git_odb_backend_loose: read and write loose object files      from disk, assuming `objects_dir` as the Objects folder\n\n- git_odb_backend_pack: read objects from packfiles,        assuming `objects_dir` as the Objects folder which      contains a 'pack/' folder with the corresponding data\n
\n","group":"odb"},"git_odb_add_backend":{"type":"function","file":"git2/odb.h","line":67,"lineto":67,"args":[{"name":"odb","type":"git_odb *","comment":"database to add the backend to"},{"name":"backend","type":"git_odb_backend *","comment":"pointer to a git_odb_backend instance"},{"name":"priority","type":"int","comment":"Value for ordering the backends queue"}],"argline":"git_odb *odb, git_odb_backend *backend, int priority","sig":"git_odb *::git_odb_backend *::int","return":{"type":"int","comment":" 0 on sucess; error code otherwise"},"description":"

Add a custom backend to an existing Object DB

\n","comments":"

The backends are checked in relative ordering, based on the value of the priority parameter.

\n\n

Read for more information.

\n","group":"odb"},"git_odb_add_alternate":{"type":"function","file":"git2/odb.h","line":88,"lineto":88,"args":[{"name":"odb","type":"git_odb *","comment":"database to add the backend to"},{"name":"backend","type":"git_odb_backend *","comment":"pointer to a git_odb_backend instance"},{"name":"priority","type":"int","comment":"Value for ordering the backends queue"}],"argline":"git_odb *odb, git_odb_backend *backend, int priority","sig":"git_odb *::git_odb_backend *::int","return":{"type":"int","comment":" 0 on sucess; error code otherwise"},"description":"

Add a custom backend to an existing Object DB; this\n backend will work as an alternate.

\n","comments":"

Alternate backends are always checked for objects after all the main backends have been exhausted.

\n\n

The backends are checked in relative ordering, based on the value of the priority parameter.

\n\n

Writing is disabled on alternate backends.

\n\n

Read for more information.

\n","group":"odb"},"git_odb_free":{"type":"function","file":"git2/odb.h","line":95,"lineto":95,"args":[{"name":"db","type":"git_odb *","comment":"database pointer to close. If NULL no action is taken."}],"argline":"git_odb *db","sig":"git_odb *","return":{"type":"void","comment":null},"description":"

Close an open object database.

\n","comments":"","group":"odb"},"git_odb_read":{"type":"function","file":"git2/odb.h","line":114,"lineto":114,"args":[{"name":"out","type":"git_odb_object **","comment":"pointer where to store the read object"},{"name":"db","type":"git_odb *","comment":"database to search for the object in."},{"name":"id","type":"const git_oid *","comment":"identity of the object to read."}],"argline":"git_odb_object **out, git_odb *db, const git_oid *id","sig":"git_odb_object **::git_odb *::const git_oid *","return":{"type":"int","comment":" - GIT_SUCCESS if the object was read;\n - GIT_ENOTFOUND if the object is not in the database."},"description":"

Read an object from the database.

\n","comments":"

This method queries all available ODB backends trying to read the given OID.

\n\n

The returned object is reference counted and internally cached, so it should be closed by the user once it's no longer in use.

\n","group":"odb","examples":{"general.c":["ex/v0.16.0/general.html#git_odb_read-29"]}},"git_odb_read_prefix":{"type":"function","file":"git2/odb.h","line":142,"lineto":142,"args":[{"name":"out","type":"git_odb_object **","comment":"pointer where to store the read object"},{"name":"db","type":"git_odb *","comment":"database to search for the object in."},{"name":"short_id","type":"const git_oid *","comment":"a prefix of the id of the object to read."},{"name":"len","type":"unsigned int","comment":"the length of the prefix"}],"argline":"git_odb_object **out, git_odb *db, const git_oid *short_id, unsigned int len","sig":"git_odb_object **::git_odb *::const git_oid *::unsigned int","return":{"type":"int","comment":" GIT_SUCCESS if the object was read;\n\tGIT_ENOTFOUND if the object is not in the database.\n\tGIT_EAMBIGUOUS if the prefix is ambiguous (several objects match the prefix)"},"description":"

Read an object from the database, given a prefix\n of its identifier.

\n","comments":"

This method queries all available ODB backends trying to match the 'len' first hexadecimal characters of the 'short_id'. The remaining (GIT_OID_HEXSZ-len)*4 bits of 'short_id' must be 0s. 'len' must be at least GIT_OID_MINPREFIXLEN, and the prefix must be long enough to identify a unique object in all the backends; the method will fail otherwise.

\n\n

The returned object is reference counted and internally cached, so it should be closed by the user once it's no longer in use.

\n","group":"odb"},"git_odb_exists":{"type":"function","file":"git2/odb.h","line":173,"lineto":173,"args":[{"name":"db","type":"git_odb *","comment":"database to be searched for the given object."},{"name":"id","type":"const git_oid *","comment":"the object to search for."}],"argline":"git_odb *db, const git_oid *id","sig":"git_odb *::const git_oid *","return":{"type":"int","comment":" - 1, if the object was found\n - 0, otherwise"},"description":"

Determine if the given object can be found in the object database.

\n","comments":"","group":"odb"},"git_odb_open_rstream":{"type":"function","file":"git2/odb.h","line":248,"lineto":248,"args":[{"name":"stream","type":"git_odb_stream **","comment":"pointer where to store the stream"},{"name":"db","type":"git_odb *","comment":"object database where the stream will read from"},{"name":"oid","type":"const git_oid *","comment":"oid of the object the stream will read from"}],"argline":"git_odb_stream **stream, git_odb *db, const git_oid *oid","sig":"git_odb_stream **::git_odb *::const git_oid *","return":{"type":"int","comment":" 0 if the stream was created; error code otherwise"},"description":"

Open a stream to read an object from the ODB

\n","comments":"

Note that most backends do not support streaming reads because they store their objects as compressed/delta'ed blobs.

\n\n

It's recommended to use git_odb_read instead, which is assured to work on all backends.

\n\n

The returned stream will be of type GIT_STREAM_RDONLY and will have the following methods:

\n\n
    - stream->read: read `n` bytes from the stream      - stream->free: free the stream\n
\n\n

The stream must always be free'd or will leak memory.

\n","group":"odb"},"git_odb_hashfile":{"type":"function","file":"git2/odb.h","line":275,"lineto":275,"args":[{"name":"out","type":"git_oid *","comment":"oid structure the result is written into."},{"name":"path","type":"const char *","comment":"file to read and determine object id for"},{"name":"type","type":"git_otype","comment":"the type of the object that will be hashed"}],"argline":"git_oid *out, const char *path, git_otype type","sig":"git_oid *::const char *::git_otype","return":{"type":"int","comment":" GIT_SUCCESS or an error code"},"description":"

Read a file from disk and fill a git_oid with the object id\n that the file would have if it were written to the Object\n Database as an object of the given type. Similar functionality\n to git.git's git hash-object without the -w flag.

\n","comments":"","group":"odb"},"git_odb_object_free":{"type":"function","file":"git2/odb.h","line":285,"lineto":285,"args":[{"name":"object","type":"git_odb_object *","comment":"object to close"}],"argline":"git_odb_object *object","sig":"git_odb_object *","return":{"type":"void","comment":null},"description":"

Close an ODB object

\n","comments":"

This method must always be called once a git_odb_object is no longer needed, otherwise memory will leak.

\n","group":"odb","examples":{"general.c":["ex/v0.16.0/general.html#git_odb_object_free-30"]}},"git_odb_object_id":{"type":"function","file":"git2/odb.h","line":295,"lineto":295,"args":[{"name":"object","type":"git_odb_object *","comment":"the object"}],"argline":"git_odb_object *object","sig":"git_odb_object *","return":{"type":"const git_oid *","comment":" a pointer to the OID"},"description":"

Return the OID of an ODB object

\n","comments":"

This is the OID from which the object was read from

\n","group":"odb"},"git_odb_object_data":{"type":"function","file":"git2/odb.h","line":308,"lineto":308,"args":[{"name":"object","type":"git_odb_object *","comment":"the object"}],"argline":"git_odb_object *object","sig":"git_odb_object *","return":{"type":"const void *","comment":" a pointer to the data"},"description":"

Return the data of an ODB object

\n","comments":"

This is the uncompressed, raw data as read from the ODB, without the leading header.

\n\n

This pointer is owned by the object and shall not be free'd.

\n","group":"odb","examples":{"general.c":["ex/v0.16.0/general.html#git_odb_object_data-31"]}},"git_odb_object_type":{"type":"function","file":"git2/odb.h","line":327,"lineto":327,"args":[{"name":"object","type":"git_odb_object *","comment":"the object"}],"argline":"git_odb_object *object","sig":"git_odb_object *","return":{"type":"git_otype","comment":" the type"},"description":"

Return the type of an ODB object

\n","comments":"","group":"odb","examples":{"general.c":["ex/v0.16.0/general.html#git_odb_object_type-32"]}},"git_oid_fromstr":{"type":"function","file":"git2/oid.h","line":48,"lineto":48,"args":[{"name":"out","type":"git_oid *","comment":"oid structure the result is written into."},{"name":"str","type":"const char *","comment":"input hex string; must be pointing at the start of\n\t\tthe hex sequence and have at least the number of bytes\n\t\tneeded for an oid encoded in hex (40 bytes)."}],"argline":"git_oid *out, const char *str","sig":"git_oid *::const char *","return":{"type":"int","comment":" GIT_SUCCESS or an error code"},"description":"

Parse a hex formatted object id into a git_oid.

\n","comments":"","group":"oid","examples":{"general.c":["ex/v0.16.0/general.html#git_oid_fromstr-33","ex/v0.16.0/general.html#git_oid_fromstr-34","ex/v0.16.0/general.html#git_oid_fromstr-35","ex/v0.16.0/general.html#git_oid_fromstr-36","ex/v0.16.0/general.html#git_oid_fromstr-37","ex/v0.16.0/general.html#git_oid_fromstr-38","ex/v0.16.0/general.html#git_oid_fromstr-39","ex/v0.16.0/general.html#git_oid_fromstr-40"]}},"git_oid_fromraw":{"type":"function","file":"git2/oid.h","line":69,"lineto":69,"args":[{"name":"out","type":"git_oid *","comment":"oid structure the result is written into."},{"name":"raw","type":"const unsigned char *","comment":"the raw input bytes to be copied."}],"argline":"git_oid *out, const unsigned char *raw","sig":"git_oid *::const unsigned char *","return":{"type":"void","comment":null},"description":"

Copy an already raw oid into a git_oid structure.

\n","comments":"","group":"oid"},"git_oid_fmt":{"type":"function","file":"git2/oid.h","line":81,"lineto":81,"args":[{"name":"str","type":"char *","comment":"output hex string; must be pointing at the start of\n\t\tthe hex sequence and have at least the number of bytes\n\t\tneeded for an oid encoded in hex (40 bytes). Only the\n\t\toid digits are written; a '\n\\\n0' terminator must be added\n\t\tby the caller if it is required."},{"name":"oid","type":"const git_oid *","comment":"oid structure to format."}],"argline":"char *str, const git_oid *oid","sig":"char *::const git_oid *","return":{"type":"void","comment":null},"description":"

Format a git_oid into a hex string.

\n","comments":"","group":"oid","examples":{"general.c":["ex/v0.16.0/general.html#git_oid_fmt-41","ex/v0.16.0/general.html#git_oid_fmt-42","ex/v0.16.0/general.html#git_oid_fmt-43","ex/v0.16.0/general.html#git_oid_fmt-44","ex/v0.16.0/general.html#git_oid_fmt-45"],"network/fetch.c":["ex/v0.16.0/network/fetch.html#git_oid_fmt-6"],"network/index-pack.c":["ex/v0.16.0/network/index-pack.html#git_oid_fmt-6"],"network/ls-remote.c":["ex/v0.16.0/network/ls-remote.html#git_oid_fmt-1"]}},"git_oid_pathfmt":{"type":"function","file":"git2/oid.h","line":96,"lineto":96,"args":[{"name":"str","type":"char *","comment":"output hex string; must be pointing at the start of\n\t\tthe hex sequence and have at least the number of bytes\n\t\tneeded for an oid encoded in hex (41 bytes). Only the\n\t\toid digits are written; a '\n\\\n0' terminator must be added\n\t\tby the caller if it is required."},{"name":"oid","type":"const git_oid *","comment":"oid structure to format."}],"argline":"char *str, const git_oid *oid","sig":"char *::const git_oid *","return":{"type":"void","comment":null},"description":"

Format a git_oid into a loose-object path string.

\n","comments":"

The resulting string is "aa/...", where "aa" is the first two hex digitis of the oid and "..." is the remaining 38 digits.

\n","group":"oid"},"git_oid_allocfmt":{"type":"function","file":"git2/oid.h","line":105,"lineto":105,"args":[{"name":"oid","type":"const git_oid *","comment":"the oid structure to format"}],"argline":"const git_oid *oid","sig":"const git_oid *","return":{"type":"char *","comment":" the c-string; NULL if memory is exhausted. Caller must\n\t\t\tdeallocate the string with git__free()."},"description":"

Format a git_oid into a newly allocated c-string.

\n","comments":"","group":"oid"},"git_oid_cpy":{"type":"function","file":"git2/oid.h","line":130,"lineto":130,"args":[{"name":"out","type":"git_oid *","comment":"oid structure the result is written into."},{"name":"src","type":"const git_oid *","comment":"oid structure to copy from."}],"argline":"git_oid *out, const git_oid *src","sig":"git_oid *::const git_oid *","return":{"type":"void","comment":null},"description":"

Copy an oid from one structure to another.

\n","comments":"","group":"oid"},"git_oid_cmp":{"type":"function","file":"git2/oid.h","line":139,"lineto":139,"args":[{"name":"a","type":"const git_oid *","comment":"first oid structure."},{"name":"b","type":"const git_oid *","comment":"second oid structure."}],"argline":"const git_oid *a, const git_oid *b","sig":"const git_oid *::const git_oid *","return":{"type":"int","comment":" \n<\n0, 0, >0 if a \n<\n b, a == b, a > b."},"description":"

Compare two oid structures.

\n","comments":"","group":"oid"},"git_oid_ncmp":{"type":"function","file":"git2/oid.h","line":150,"lineto":150,"args":[{"name":"a","type":"const git_oid *","comment":"first oid structure."},{"name":"b","type":"const git_oid *","comment":"second oid structure."},{"name":"len","type":"unsigned int","comment":"the number of hex chars to compare"}],"argline":"const git_oid *a, const git_oid *b, unsigned int len","sig":"const git_oid *::const git_oid *::unsigned int","return":{"type":"int","comment":" 0 in case of a match"},"description":"

Compare the first 'len' hexadecimal characters (packets of 4 bits)\n of two oid structures.

\n","comments":"","group":"oid"},"git_oid_streq":{"type":"function","file":"git2/oid.h","line":160,"lineto":160,"args":[{"name":"a","type":"const git_oid *","comment":"oid structure."},{"name":"str","type":"const char *","comment":"input hex string of an object id."}],"argline":"const git_oid *a, const char *str","sig":"const git_oid *::const char *","return":{"type":"int","comment":" GIT_ENOTOID if str is not a valid hex string,\n GIT_SUCCESS in case of a match, GIT_ERROR otherwise."},"description":"

Check if an oid equals an hex formatted object id.

\n","comments":"","group":"oid"},"git_oid_shorten_add":{"type":"function","file":"git2/oid.h","line":207,"lineto":207,"args":[{"name":"os","type":"git_oid_shorten *","comment":"a `git_oid_shorten` instance"},{"name":"text_oid","type":"const char *","comment":"an OID in text form"}],"argline":"git_oid_shorten *os, const char *text_oid","sig":"git_oid_shorten *::const char *","return":{"type":"int","comment":" the minimal length to uniquely identify all OIDs\n\t\tadded so far to the set; or an error code (\n<\n0) if an\n\t\terror occurs."},"description":"

Add a new OID to set of shortened OIDs and calculate\n the minimal length to uniquely identify all the OIDs in\n the set.

\n","comments":"

The OID is expected to be a 40-char hexadecimal string. The OID is owned by the user and will not be modified or freed.

\n\n

For performance reasons, there is a hard-limit of how many OIDs can be added to a single set (around ~22000, assuming a mostly randomized distribution), which should be enough for any kind of program, and keeps the algorithm fast and memory-efficient.

\n\n

Attempting to add more than those OIDs will result in a GIT_ENOMEM error

\n","group":"oid"},"git_oid_shorten_free":{"type":"function","file":"git2/oid.h","line":214,"lineto":214,"args":[{"name":"os","type":"git_oid_shorten *","comment":"a `git_oid_shorten` instance"}],"argline":"git_oid_shorten *os","sig":"git_oid_shorten *","return":{"type":"void","comment":null},"description":"

Free an OID shortener instance

\n","comments":"","group":"oid"},"git_reflog_read":{"type":"function","file":"git2/reflog.h","line":33,"lineto":33,"args":[{"name":"reflog","type":"git_reflog **","comment":"pointer to reflog"},{"name":"ref","type":"git_reference *","comment":"reference to read the reflog for"}],"argline":"git_reflog **reflog, git_reference *ref","sig":"git_reflog **::git_reference *","return":{"type":"int","comment":" GIT_SUCCESS or an error code"},"description":"

Read the reflog for the given reference

\n","comments":"

The reflog must be freed manually by using git_reflog_free().

\n","group":"reflog"},"git_reflog_write":{"type":"function","file":"git2/reflog.h","line":51,"lineto":51,"args":[{"name":"ref","type":"git_reference *","comment":"the changed reference"},{"name":"oid_old","type":"const git_oid *","comment":"the OID the reference was pointing to"},{"name":"committer","type":"const git_signature *","comment":"the signature of the committer"},{"name":"msg","type":"const char *","comment":"the reflog message"}],"argline":"git_reference *ref, const git_oid *oid_old, const git_signature *committer, const char *msg","sig":"git_reference *::const git_oid *::const git_signature *::const char *","return":{"type":"int","comment":" GIT_SUCCESS or an error code"},"description":"

Write a new reflog for the given reference

\n","comments":"

If there is no reflog file for the given reference yet, it will be created.

\n\n

oid_old may be NULL in case it's a new reference.

\n\n

msg is optional and can be NULL.

\n","group":"reflog"},"git_reflog_rename":{"type":"function","file":"git2/reflog.h","line":60,"lineto":60,"args":[{"name":"ref","type":"git_reference *","comment":"the reference"},{"name":"new_name","type":"const char *","comment":"the new name of the reference"}],"argline":"git_reference *ref, const char *new_name","sig":"git_reference *::const char *","return":{"type":"int","comment":" GIT_SUCCESS or an error code"},"description":"

Rename the reflog for the given reference

\n","comments":"","group":"reflog"},"git_reflog_delete":{"type":"function","file":"git2/reflog.h","line":68,"lineto":68,"args":[{"name":"ref","type":"git_reference *","comment":"the reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"int","comment":" GIT_SUCCESS or an error code"},"description":"

Delete the reflog for the given reference

\n","comments":"","group":"reflog"},"git_reflog_entrycount":{"type":"function","file":"git2/reflog.h","line":76,"lineto":76,"args":[{"name":"reflog","type":"git_reflog *","comment":"the previously loaded reflog"}],"argline":"git_reflog *reflog","sig":"git_reflog *","return":{"type":"unsigned int","comment":" the number of log entries"},"description":"

Get the number of log entries in a reflog

\n","comments":"","group":"reflog"},"git_reflog_entry_byindex":{"type":"function","file":"git2/reflog.h","line":85,"lineto":85,"args":[{"name":"reflog","type":"git_reflog *","comment":"a previously loaded reflog"},{"name":"idx","type":"unsigned int","comment":"the position to lookup"}],"argline":"git_reflog *reflog, unsigned int idx","sig":"git_reflog *::unsigned int","return":{"type":"const git_reflog_entry *","comment":" the entry; NULL if not found"},"description":"

Lookup an entry by its index

\n","comments":"","group":"reflog"},"git_reflog_entry_oidold":{"type":"function","file":"git2/reflog.h","line":93,"lineto":93,"args":[{"name":"entry","type":"const git_reflog_entry *","comment":"a reflog entry"}],"argline":"const git_reflog_entry *entry","sig":"const git_reflog_entry *","return":{"type":"const git_oid *","comment":" the old oid"},"description":"

Get the old oid

\n","comments":"","group":"reflog"},"git_reflog_entry_oidnew":{"type":"function","file":"git2/reflog.h","line":101,"lineto":101,"args":[{"name":"entry","type":"const git_reflog_entry *","comment":"a reflog entry"}],"argline":"const git_reflog_entry *entry","sig":"const git_reflog_entry *","return":{"type":"const git_oid *","comment":" the new oid at this time"},"description":"

Get the new oid

\n","comments":"","group":"reflog"},"git_reflog_entry_committer":{"type":"function","file":"git2/reflog.h","line":109,"lineto":109,"args":[{"name":"entry","type":"const git_reflog_entry *","comment":"a reflog entry"}],"argline":"const git_reflog_entry *entry","sig":"const git_reflog_entry *","return":{"type":"git_signature *","comment":" the committer"},"description":"

Get the committer of this entry

\n","comments":"","group":"reflog"},"git_reflog_entry_msg":{"type":"function","file":"git2/reflog.h","line":117,"lineto":117,"args":[{"name":"entry","type":"const git_reflog_entry *","comment":"a reflog entry"}],"argline":"const git_reflog_entry *entry","sig":"const git_reflog_entry *","return":{"type":"char *","comment":" the log msg"},"description":"

Get the log msg

\n","comments":"","group":"reflog"},"git_reflog_free":{"type":"function","file":"git2/reflog.h","line":124,"lineto":124,"args":[{"name":"reflog","type":"git_reflog *","comment":"reflog to free"}],"argline":"git_reflog *reflog","sig":"git_reflog *","return":{"type":"void","comment":null},"description":"

Free the reflog

\n","comments":"","group":"reflog"},"git_reference_lookup":{"type":"function","file":"git2/refs.h","line":33,"lineto":33,"args":[{"name":"reference_out","type":"git_reference **","comment":"pointer to the looked-up reference"},{"name":"repo","type":"git_repository *","comment":"the repository to look up the reference"},{"name":"name","type":"const char *","comment":"the long name for the reference (e.g. HEAD, ref/heads/master, refs/tags/v0.1.0, ...)"}],"argline":"git_reference **reference_out, git_repository *repo, const char *name","sig":"git_reference **::git_repository *::const char *","return":{"type":"int","comment":" GIT_SUCCESS or an error code"},"description":"

Lookup a reference by its name in a repository.

\n","comments":"

The generated reference must be freed by the user.

\n","group":"reference","examples":{"general.c":["ex/v0.16.0/general.html#git_reference_lookup-46"]}},"git_reference_create_symbolic":{"type":"function","file":"git2/refs.h","line":53,"lineto":53,"args":[{"name":"ref_out","type":"git_reference **","comment":"Pointer to the newly created reference"},{"name":"repo","type":"git_repository *","comment":"Repository where that reference will live"},{"name":"name","type":"const char *","comment":"The name of the reference"},{"name":"target","type":"const char *","comment":"The target of the reference"},{"name":"force","type":"int","comment":"Overwrite existing references"}],"argline":"git_reference **ref_out, git_repository *repo, const char *name, const char *target, int force","sig":"git_reference **::git_repository *::const char *::const char *::int","return":{"type":"int","comment":" GIT_SUCCESS or an error code"},"description":"

Create a new symbolic reference.

\n","comments":"

The reference will be created in the repository and written to the disk.

\n\n

The generated reference must be freed by the user.

\n\n

If force is true and there already exists a reference with the same name, it will be overwritten.

\n","group":"reference"},"git_reference_create_oid":{"type":"function","file":"git2/refs.h","line":73,"lineto":73,"args":[{"name":"ref_out","type":"git_reference **","comment":"Pointer to the newly created reference"},{"name":"repo","type":"git_repository *","comment":"Repository where that reference will live"},{"name":"name","type":"const char *","comment":"The name of the reference"},{"name":"id","type":"const git_oid *","comment":"The object id pointed to by the reference."},{"name":"force","type":"int","comment":"Overwrite existing references"}],"argline":"git_reference **ref_out, git_repository *repo, const char *name, const git_oid *id, int force","sig":"git_reference **::git_repository *::const char *::const git_oid *::int","return":{"type":"int","comment":" GIT_SUCCESS or an error code"},"description":"

Create a new object id reference.

\n","comments":"

The reference will be created in the repository and written to the disk.

\n\n

The generated reference must be freed by the user.

\n\n

If force is true and there already exists a reference with the same name, it will be overwritten.

\n","group":"reference"},"git_reference_oid":{"type":"function","file":"git2/refs.h","line":83,"lineto":83,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"const git_oid *","comment":" a pointer to the oid if available, NULL otherwise"},"description":"

Get the OID pointed to by a reference.

\n","comments":"

Only available if the reference is direct (i.e. not symbolic)

\n","group":"reference","examples":{"general.c":["ex/v0.16.0/general.html#git_reference_oid-47"]}},"git_reference_target":{"type":"function","file":"git2/refs.h","line":93,"lineto":93,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"const char *","comment":" a pointer to the name if available, NULL otherwise"},"description":"

Get full name to the reference pointed by this reference

\n","comments":"

Only available if the reference is symbolic

\n","group":"reference","examples":{"general.c":["ex/v0.16.0/general.html#git_reference_target-48"]}},"git_reference_type":{"type":"function","file":"git2/refs.h","line":103,"lineto":103,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"git_rtype","comment":" the type"},"description":"

Get the type of a reference

\n","comments":"

Either direct (GIT_REF_OID) or symbolic (GIT_REF_SYMBOLIC)

\n","group":"reference","examples":{"general.c":["ex/v0.16.0/general.html#git_reference_type-49"]}},"git_reference_name":{"type":"function","file":"git2/refs.h","line":111,"lineto":111,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"const char *","comment":" the full name for the ref"},"description":"

Get the full name of a reference

\n","comments":"","group":"reference"},"git_reference_resolve":{"type":"function","file":"git2/refs.h","line":131,"lineto":131,"args":[{"name":"resolved_ref","type":"git_reference **","comment":"Pointer to the peeled reference"},{"name":"ref","type":"git_reference *","comment":"The reference"}],"argline":"git_reference **resolved_ref, git_reference *ref","sig":"git_reference **::git_reference *","return":{"type":"int","comment":" GIT_SUCCESS or an error code"},"description":"

Resolve a symbolic reference

\n","comments":"

Thie method iteratively peels a symbolic reference until it resolves to a direct reference to an OID.

\n\n

The peeled reference is returned in the resolved_ref argument, and must be freed manually once it's no longer needed.

\n\n

If a direct reference is passed as an argument, a copy of that reference is returned. This copy must be manually freed too.

\n","group":"reference"},"git_reference_owner":{"type":"function","file":"git2/refs.h","line":139,"lineto":139,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"git_repository *","comment":" a pointer to the repo"},"description":"

Get the repository where a reference resides

\n","comments":"","group":"reference"},"git_reference_set_target":{"type":"function","file":"git2/refs.h","line":154,"lineto":154,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"},{"name":"target","type":"const char *","comment":"The new target for the reference"}],"argline":"git_reference *ref, const char *target","sig":"git_reference *::const char *","return":{"type":"int","comment":" GIT_SUCCESS or an error code"},"description":"

Set the symbolic target of a reference.

\n","comments":"

The reference must be a symbolic reference, otherwise this method will fail.

\n\n

The reference will be automatically updated in memory and on disk.

\n","group":"reference"},"git_reference_set_oid":{"type":"function","file":"git2/refs.h","line":169,"lineto":169,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"},{"name":"id","type":"const git_oid *","comment":"The new target OID for the reference"}],"argline":"git_reference *ref, const git_oid *id","sig":"git_reference *::const git_oid *","return":{"type":"int","comment":" GIT_SUCCESS or an error code"},"description":"

Set the OID target of a reference.

\n","comments":"

The reference must be a direct reference, otherwise this method will fail.

\n\n

The reference will be automatically updated in memory and on disk.

\n","group":"reference"},"git_reference_rename":{"type":"function","file":"git2/refs.h","line":197,"lineto":197,"args":[{"name":"ref","type":"git_reference *","comment":"The reference to rename"},{"name":"new_name","type":"const char *","comment":"The new name for the reference"},{"name":"force","type":"int","comment":"Overwrite an existing reference"}],"argline":"git_reference *ref, const char *new_name, int force","sig":"git_reference *::const char *::int","return":{"type":"int","comment":" GIT_SUCCESS or an error code"},"description":"

Rename an existing reference

\n","comments":"

This method works for both direct and symbolic references. The new name will be checked for validity and may be modified into a normalized form.

\n\n

The given git_reference will be updated in place.

\n\n

The reference will be immediately renamed in-memory and on disk.

\n\n

If the force flag is not enabled, and there's already a reference with the given name, the renaming will fail.

\n\n

IMPORTANT: The user needs to write a proper reflog entry if the reflog is enabled for the repository. We only rename the reflog if it exists.

\n","group":"reference"},"git_reference_delete":{"type":"function","file":"git2/refs.h","line":210,"lineto":210,"args":[{"name":"ref","type":"git_reference *","comment":"The reference to remove"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"int","comment":" GIT_SUCCESS or an error code"},"description":"

Delete an existing reference

\n","comments":"

This method works for both direct and symbolic references.

\n\n

The reference will be immediately removed on disk and from memory. The given reference pointer will no longer be valid.

\n","group":"reference"},"git_reference_packall":{"type":"function","file":"git2/refs.h","line":225,"lineto":225,"args":[{"name":"repo","type":"git_repository *","comment":"Repository where the loose refs will be packed"}],"argline":"git_repository *repo","sig":"git_repository *","return":{"type":"int","comment":" GIT_SUCCESS or an error code"},"description":"

Pack all the loose references in the repository

\n","comments":"

This method will load into the cache all the loose references on the repository and update the packed-refs file with them.

\n\n

Once the packed-refs file has been written properly, the loose references will be removed from disk.

\n","group":"reference"},"git_reference_listall":{"type":"function","file":"git2/refs.h","line":248,"lineto":248,"args":[{"name":"array","type":"git_strarray *","comment":"Pointer to a git_strarray structure where\n\t\tthe reference names will be stored"},{"name":"repo","type":"git_repository *","comment":"Repository where to find the refs"},{"name":"list_flags","type":"unsigned int","comment":"Filtering flags for the reference\n\t\tlisting."}],"argline":"git_strarray *array, git_repository *repo, unsigned int list_flags","sig":"git_strarray *::git_repository *::unsigned int","return":{"type":"int","comment":" GIT_SUCCESS or an error code"},"description":"

Fill a list with all the references that can be found\n in a repository.

\n","comments":"

The listed references may be filtered by type, or using a bitwise OR of several types. Use the magic value GIT_REF_LISTALL to obtain all references, including packed ones.

\n\n

The string array will be filled with the names of all references; these values are owned by the user and should be free'd manually when no longer needed, using git_strarray_free.

\n","group":"reference","examples":{"general.c":["ex/v0.16.0/general.html#git_reference_listall-50"]}},"git_reference_foreach":{"type":"function","file":"git2/refs.h","line":270,"lineto":270,"args":[{"name":"repo","type":"git_repository *","comment":"Repository where to find the refs"},{"name":"list_flags","type":"unsigned int","comment":"Filtering flags for the reference\n\t\tlisting."},{"name":"callback","type":"int (*)(const char *, void *)","comment":"Function which will be called for every listed ref"},{"name":"payload","type":"void *","comment":"Additional data to pass to the callback"}],"argline":"git_repository *repo, unsigned int list_flags, int (*)(const char *, void *) callback, void *payload","sig":"git_repository *::unsigned int::int (*)(const char *, void *)::void *","return":{"type":"int","comment":" GIT_SUCCESS or an error code"},"description":"

Perform an operation on each reference in the repository

\n","comments":"

The processed references may be filtered by type, or using a bitwise OR of several types. Use the magic value GIT_REF_LISTALL to obtain all references, including packed ones.

\n\n

The callback function will be called for each of the references in the repository, and will receive the name of the reference and the payload value passed to this method.

\n","group":"reference"},"git_reference_is_packed":{"type":"function","file":"git2/refs.h","line":278,"lineto":278,"args":[{"name":"ref","type":"git_reference *","comment":"A git reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"int","comment":" 0 in case it's not packed; 1 otherwise"},"description":"

Check if a reference has been loaded from a packfile

\n","comments":"","group":"reference"},"git_reference_reload":{"type":"function","file":"git2/refs.h","line":298,"lineto":298,"args":[{"name":"ref","type":"git_reference *","comment":"The reference to reload"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"int","comment":" GIT_SUCCESS on success, or an error code"},"description":"

Reload a reference from disk

\n","comments":"

Reference pointers may become outdated if the Git repository is accessed simultaneously by other clients whilt the library is open.

\n\n

This method forces a reload of the reference from disk, to ensure that the provided information is still reliable.

\n\n

If the reload fails (e.g. the reference no longer exists on disk, or has become corrupted), an error code will be returned and the reference pointer will be invalidated.

\n","group":"reference"},"git_reference_free":{"type":"function","file":"git2/refs.h","line":305,"lineto":305,"args":[{"name":"ref","type":"git_reference *","comment":"git_reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"void","comment":null},"description":"

Free the given reference

\n","comments":"","group":"reference"},"git_refspec_src":{"type":"function","file":"git2/refspec.h","line":27,"lineto":27,"args":[{"name":"refspec","type":"const git_refspec *","comment":"the refspec"}],"argline":"const git_refspec *refspec","sig":"const git_refspec *","return":{"type":"const char *","comment":" the refspec's source specifier"},"description":"

Get the source specifier

\n","comments":"","group":"refspec"},"git_refspec_dst":{"type":"function","file":"git2/refspec.h","line":35,"lineto":35,"args":[{"name":"refspec","type":"const git_refspec *","comment":"the refspec"}],"argline":"const git_refspec *refspec","sig":"const git_refspec *","return":{"type":"const char *","comment":" the refspec's destination specifier"},"description":"

Get the destination specifier

\n","comments":"","group":"refspec"},"git_refspec_src_match":{"type":"function","file":"git2/refspec.h","line":45,"lineto":45,"args":[{"name":"refspec","type":"const git_refspec *","comment":"the refspec"},{"name":"refname","type":"const char *","comment":"the name of the reference to check"}],"argline":"const git_refspec *refspec, const char *refname","sig":"const git_refspec *::const char *","return":{"type":"int","comment":" GIT_SUCCESS on successful match; GIT_ENOMACH on match\n failure or an error code on other failure"},"description":"

Match a refspec's source descriptor with a reference name

\n","comments":"","group":"refspec"},"git_remote_new":{"type":"function","file":"git2/remote.h","line":44,"lineto":44,"args":[{"name":"out","type":"git_remote **","comment":"pointer to the new remote object"},{"name":"repo","type":"git_repository *","comment":"the associtated repository"},{"name":"url","type":"const char *","comment":"the remote repository's URL"},{"name":"name","type":"const char *","comment":"the remote's name"}],"argline":"git_remote **out, git_repository *repo, const char *url, const char *name","sig":"git_remote **::git_repository *::const char *::const char *","return":{"type":"int","comment":" GIT_SUCCESS or an error code"},"description":"

Create a remote in memory

\n","comments":"

Create a remote with the default refspecs in memory. You can use this when you have a URL instead of a remote's name.

\n","group":"remote","examples":{"network/fetch.c":["ex/v0.16.0/network/fetch.html#git_remote_new-7"],"network/ls-remote.c":["ex/v0.16.0/network/ls-remote.html#git_remote_new-2"]}},"git_remote_load":{"type":"function","file":"git2/remote.h","line":54,"lineto":54,"args":[{"name":"out","type":"git_remote **","comment":"pointer to the new remote object"},{"name":"repo","type":"git_repository *","comment":null},{"name":"name","type":"const char *","comment":"the remote's name"}],"argline":"git_remote **out, git_repository *repo, const char *name","sig":"git_remote **::git_repository *::const char *","return":{"type":"int","comment":" GIT_SUCCESS or an error code"},"description":"

Get the information for a particular remote

\n","comments":"","group":"remote","examples":{"network/ls-remote.c":["ex/v0.16.0/network/ls-remote.html#git_remote_load-3"]}},"git_remote_name":{"type":"function","file":"git2/remote.h","line":62,"lineto":62,"args":[{"name":"remote","type":"git_remote *","comment":"the remote"}],"argline":"git_remote *remote","sig":"git_remote *","return":{"type":"const char *","comment":" a pointer to the name"},"description":"

Get the remote's name

\n","comments":"","group":"remote"},"git_remote_url":{"type":"function","file":"git2/remote.h","line":70,"lineto":70,"args":[{"name":"remote","type":"git_remote *","comment":"the remote"}],"argline":"git_remote *remote","sig":"git_remote *","return":{"type":"const char *","comment":" a pointer to the url"},"description":"

Get the remote's url

\n","comments":"","group":"remote"},"git_remote_fetchspec":{"type":"function","file":"git2/remote.h","line":78,"lineto":78,"args":[{"name":"remote","type":"git_remote *","comment":"the remote"}],"argline":"git_remote *remote","sig":"git_remote *","return":{"type":"const git_refspec *","comment":" a pointer to the fetch refspec or NULL if it doesn't exist"},"description":"

Get the fetch refspec

\n","comments":"","group":"remote"},"git_remote_pushspec":{"type":"function","file":"git2/remote.h","line":87,"lineto":87,"args":[{"name":"remote","type":"git_remote *","comment":"the remote"}],"argline":"git_remote *remote","sig":"git_remote *","return":{"type":"const git_refspec *","comment":" a pointer to the push refspec or NULL if it doesn't exist"},"description":"

Get the push refspec

\n","comments":"","group":"remote"},"git_remote_connect":{"type":"function","file":"git2/remote.h","line":100,"lineto":100,"args":[{"name":"remote","type":"git_remote *","comment":"the remote to connect to"},{"name":"direction","type":"int","comment":"whether you want to receive or send data"}],"argline":"git_remote *remote, int direction","sig":"git_remote *::int","return":{"type":"int","comment":" GIT_SUCCESS or an error code"},"description":"

Open a connection to a remote

\n","comments":"

The transport is selected based on the URL. The direction argument is due to a limitation of the git protocol (over TCP or SSH) which starts up a specific binary which can only do the one or the other.

\n","group":"remote","examples":{"network/fetch.c":["ex/v0.16.0/network/fetch.html#git_remote_connect-8"],"network/ls-remote.c":["ex/v0.16.0/network/ls-remote.html#git_remote_connect-4","ex/v0.16.0/network/ls-remote.html#git_remote_connect-5"]}},"git_remote_ls":{"type":"function","file":"git2/remote.h","line":112,"lineto":112,"args":[{"name":"remote","type":"git_remote *","comment":"the remote"},{"name":"list_cb","type":"git_headlist_cb","comment":null},{"name":"payload","type":"void *","comment":null}],"argline":"git_remote *remote, git_headlist_cb list_cb, void *payload","sig":"git_remote *::git_headlist_cb::void *","return":{"type":"int","comment":" GIT_SUCCESS or an error code"},"description":"

Get a list of refs at the remote

\n","comments":"

The remote (or more exactly its transport) must be connected. The memory belongs to the remote.

\n","group":"remote","examples":{"network/ls-remote.c":["ex/v0.16.0/network/ls-remote.html#git_remote_ls-6","ex/v0.16.0/network/ls-remote.html#git_remote_ls-7"]}},"git_remote_download":{"type":"function","file":"git2/remote.h","line":127,"lineto":127,"args":[{"name":"filename","type":"char **","comment":"where to store the temproray filename"},{"name":"remote","type":"git_remote *","comment":"the remote to download from"}],"argline":"char **filename, git_remote *remote","sig":"char **::git_remote *","return":{"type":"int","comment":" GIT_SUCCESS or an error code"},"description":"

Download the packfile

\n","comments":"

Negotiate what objects should be downloaded and download the packfile with those objects. The packfile is downloaded with a temporary filename, as it's final name is not known yet. If there was no packfile needed (all the objects were available locally), filename will be NULL and the function will return success.

\n","group":"remote","examples":{"network/fetch.c":["ex/v0.16.0/network/fetch.html#git_remote_download-9"]}},"git_remote_connected":{"type":"function","file":"git2/remote.h","line":137,"lineto":137,"args":[{"name":"remote","type":"git_remote *","comment":null}],"argline":"git_remote *remote","sig":"git_remote *","return":{"type":"int","comment":" 1 if it's connected, 0 otherwise."},"description":"

Check whether the remote is connected

\n","comments":"

Check whether the remote's underlying transport is connected to the remote host.

\n","group":"remote"},"git_remote_disconnect":{"type":"function","file":"git2/remote.h","line":147,"lineto":147,"args":[{"name":"remote","type":"git_remote *","comment":"the remote to disconnect from"}],"argline":"git_remote *remote","sig":"git_remote *","return":{"type":"void","comment":null},"description":"

Disconnect from the remote

\n","comments":"

Close the connection to the remote and free the underlying transport.

\n","group":"remote"},"git_remote_free":{"type":"function","file":"git2/remote.h","line":154,"lineto":154,"args":[{"name":"remote","type":"git_remote *","comment":"the remote to free"}],"argline":"git_remote *remote","sig":"git_remote *","return":{"type":"void","comment":null},"description":"

Free the memory associated with a remote

\n","comments":"","group":"remote","examples":{"network/fetch.c":["ex/v0.16.0/network/fetch.html#git_remote_free-10"],"network/ls-remote.c":["ex/v0.16.0/network/ls-remote.html#git_remote_free-8","ex/v0.16.0/network/ls-remote.html#git_remote_free-9"]}},"git_remote_update_tips":{"type":"function","file":"git2/remote.h","line":164,"lineto":164,"args":[{"name":"remote","type":"git_remote *","comment":"the remote to update"}],"argline":"git_remote *remote","sig":"git_remote *","return":{"type":"int","comment":null},"description":"

Update the tips to the new state

\n","comments":"

Make sure that you only call this once you've successfully indexed or expanded the packfile.

\n","group":"remote","examples":{"network/fetch.c":["ex/v0.16.0/network/fetch.html#git_remote_update_tips-11"]}},"git_remote_valid_url":{"type":"function","file":"git2/remote.h","line":172,"lineto":172,"args":[{"name":"url","type":"const char *","comment":null}],"argline":"const char *url","sig":"const char *","return":{"type":"int","comment":null},"description":"

Return whether a string is a valid remote URL

\n","comments":"","group":"remote"},"git_repository_open":{"type":"function","file":"git2/repository.h","line":36,"lineto":36,"args":[{"name":"repository","type":"git_repository **","comment":"pointer to the repo which will be opened"},{"name":"path","type":"const char *","comment":"the path to the repository"}],"argline":"git_repository **repository, const char *path","sig":"git_repository **::const char *","return":{"type":"int","comment":" GIT_SUCCESS or an error code"},"description":"

Open a git repository.

\n","comments":"

The 'path' argument must point to either a git repository folder, or an existing work dir.

\n\n

The method will automatically detect if 'path' is a normal or bare repository or fail is 'path' is neither.

\n","group":"repository","examples":{"general.c":["ex/v0.16.0/general.html#git_repository_open-51","ex/v0.16.0/general.html#git_repository_open-52"],"network/git2.c":["ex/v0.16.0/network/git2.html#git_repository_open-2"]}},"git_repository_free":{"type":"function","file":"git2/repository.h","line":84,"lineto":84,"args":[{"name":"repo","type":"git_repository *","comment":"repository handle to close. If NULL nothing occurs."}],"argline":"git_repository *repo","sig":"git_repository *","return":{"type":"void","comment":null},"description":"

Free a previously allocated repository

\n","comments":"

Note that after a repository is free'd, all the objects it has spawned will still exist until they are manually closed by the user with git_object_free, but accessing any of the attributes of an object without a backing repository will result in undefined behavior

\n","group":"repository","examples":{"general.c":["ex/v0.16.0/general.html#git_repository_free-53"],"network/git2.c":["ex/v0.16.0/network/git2.html#git_repository_free-3"]}},"git_repository_init":{"type":"function","file":"git2/repository.h","line":100,"lineto":100,"args":[{"name":"repo_out","type":"git_repository **","comment":"pointer to the repo which will be created or reinitialized"},{"name":"path","type":"const char *","comment":"the path to the repository"},{"name":"is_bare","type":"unsigned int","comment":"if true, a Git repository without a working directory is created\n\t\tat the pointed path. If false, provided path will be considered as the working\n\t\tdirectory into which the .git directory will be created."}],"argline":"git_repository **repo_out, const char *path, unsigned int is_bare","sig":"git_repository **::const char *::unsigned int","return":{"type":"int","comment":" GIT_SUCCESS or an error code"},"description":"

Creates a new Git repository in the given folder.

\n","comments":"

TODO: - Reinit the repository

\n","group":"repository"},"git_repository_head":{"type":"function","file":"git2/repository.h","line":110,"lineto":110,"args":[{"name":"head_out","type":"git_reference **","comment":"pointer to the reference which will be retrieved"},{"name":"repo","type":"git_repository *","comment":"a repository object"}],"argline":"git_reference **head_out, git_repository *repo","sig":"git_reference **::git_repository *","return":{"type":"int","comment":" 0 on success; error code otherwise"},"description":"

Retrieve and resolve the reference pointed at by HEAD.

\n","comments":"","group":"repository"},"git_repository_head_detached":{"type":"function","file":"git2/repository.h","line":122,"lineto":122,"args":[{"name":"repo","type":"git_repository *","comment":"Repo to test"}],"argline":"git_repository *repo","sig":"git_repository *","return":{"type":"int","comment":" 1 if HEAD is detached, 0 if i'ts not; error code if there\n was an error."},"description":"

Check if a repository's HEAD is detached

\n","comments":"

A repository's HEAD is detached when it points directly to a commit instead of a branch.

\n","group":"repository"},"git_repository_head_orphan":{"type":"function","file":"git2/repository.h","line":134,"lineto":134,"args":[{"name":"repo","type":"git_repository *","comment":"Repo to test"}],"argline":"git_repository *repo","sig":"git_repository *","return":{"type":"int","comment":" 1 if the current branch is an orphan, 0 if it's not; error\n code if therewas an error"},"description":"

Check if the current branch is an orphan

\n","comments":"

An orphan branch is one named from HEAD but which doesn't exist in the refs namespace, because it doesn't have any commit to point to.

\n","group":"repository"},"git_repository_is_empty":{"type":"function","file":"git2/repository.h","line":146,"lineto":146,"args":[{"name":"repo","type":"git_repository *","comment":"Repo to test"}],"argline":"git_repository *repo","sig":"git_repository *","return":{"type":"int","comment":" 1 if the repository is empty, 0 if it isn't, error code\n if the repository is corrupted"},"description":"

Check if a repository is empty

\n","comments":"

An empty repository has just been initialized and contains no commits.

\n","group":"repository"},"git_repository_path":{"type":"function","file":"git2/repository.h","line":157,"lineto":157,"args":[{"name":"repo","type":"git_repository *","comment":"A repository object"}],"argline":"git_repository *repo","sig":"git_repository *","return":{"type":"const char *","comment":" the path to the repository"},"description":"

Get the path of this repository

\n","comments":"

This is the path of the .git folder for normal repositories, or of the repository itself for bare repositories.

\n","group":"repository"},"git_repository_workdir":{"type":"function","file":"git2/repository.h","line":168,"lineto":168,"args":[{"name":"repo","type":"git_repository *","comment":"A repository object"}],"argline":"git_repository *repo","sig":"git_repository *","return":{"type":"const char *","comment":" the path to the working dir, if it exists"},"description":"

Get the path of the working directory for this repository

\n","comments":"

If the repository is bare, this function will always return NULL.

\n","group":"repository"},"git_repository_set_workdir":{"type":"function","file":"git2/repository.h","line":185,"lineto":185,"args":[{"name":"repo","type":"git_repository *","comment":"A repository object"},{"name":"workdir","type":"const char *","comment":"The path to a working directory"}],"argline":"git_repository *repo, const char *workdir","sig":"git_repository *::const char *","return":{"type":"int","comment":" GIT_SUCCESS, or an error code"},"description":"

Set the path to the working directory for this repository

\n","comments":"

The working directory doesn't need to be the same one that contains the .git folder for this repository.

\n\n

If this repository is bare, setting its working directory will turn it into a normal repository, capable of performing all the common workdir operations (checkout, status, index manipulation, etc).

\n","group":"repository"},"git_repository_is_bare":{"type":"function","file":"git2/repository.h","line":193,"lineto":193,"args":[{"name":"repo","type":"git_repository *","comment":"Repo to test"}],"argline":"git_repository *repo","sig":"git_repository *","return":{"type":"int","comment":" 1 if the repository is bare, 0 otherwise."},"description":"

Check if a repository is bare

\n","comments":"","group":"repository"},"git_repository_config":{"type":"function","file":"git2/repository.h","line":209,"lineto":209,"args":[{"name":"out","type":"git_config **","comment":"Pointer to store the loaded config file"},{"name":"repo","type":"git_repository *","comment":"A repository object"}],"argline":"git_config **out, git_repository *repo","sig":"git_config **::git_repository *","return":{"type":"int","comment":" GIT_SUCCESS, or an error code"},"description":"

Get the configuration file for this repository.

\n","comments":"

If a configuration file has not been set, the default config set for the repository will be returned, including global and system configurations (if they are available).

\n\n

The configuration file must be freed once it's no longer being used by the user.

\n","group":"repository"},"git_repository_set_config":{"type":"function","file":"git2/repository.h","line":224,"lineto":224,"args":[{"name":"repo","type":"git_repository *","comment":"A repository object"},{"name":"config","type":"git_config *","comment":"A Config object"}],"argline":"git_repository *repo, git_config *config","sig":"git_repository *::git_config *","return":{"type":"void","comment":null},"description":"

Set the configuration file for this repository

\n","comments":"

This configuration file will be used for all configuration queries involving this repository.

\n\n

The repository will keep a reference to the config file; the user must still free the config after setting it to the repository, or it will leak.

\n","group":"repository"},"git_repository_odb":{"type":"function","file":"git2/repository.h","line":240,"lineto":240,"args":[{"name":"out","type":"git_odb **","comment":"Pointer to store the loaded ODB"},{"name":"repo","type":"git_repository *","comment":"A repository object"}],"argline":"git_odb **out, git_repository *repo","sig":"git_odb **::git_repository *","return":{"type":"int","comment":" GIT_SUCCESS, or an error code"},"description":"

Get the Object Database for this repository.

\n","comments":"

If a custom ODB has not been set, the default database for the repository will be returned (the one located in .git/objects).

\n\n

The ODB must be freed once it's no longer being used by the user.

\n","group":"repository","examples":{"general.c":["ex/v0.16.0/general.html#git_repository_odb-54"]}},"git_repository_set_odb":{"type":"function","file":"git2/repository.h","line":255,"lineto":255,"args":[{"name":"repo","type":"git_repository *","comment":"A repository object"},{"name":"odb","type":"git_odb *","comment":"An ODB object"}],"argline":"git_repository *repo, git_odb *odb","sig":"git_repository *::git_odb *","return":{"type":"void","comment":null},"description":"

Set the Object Database for this repository

\n","comments":"

The ODB will be used for all object-related operations involving this repository.

\n\n

The repository will keep a reference to the ODB; the user must still free the ODB object after setting it to the repository, or it will leak.

\n","group":"repository"},"git_repository_index":{"type":"function","file":"git2/repository.h","line":271,"lineto":271,"args":[{"name":"out","type":"git_index **","comment":"Pointer to store the loaded index"},{"name":"repo","type":"git_repository *","comment":"A repository object"}],"argline":"git_index **out, git_repository *repo","sig":"git_index **::git_repository *","return":{"type":"int","comment":" GIT_SUCCESS, or an error code"},"description":"

Get the Index file for this repository.

\n","comments":"

If a custom index has not been set, the default index for the repository will be returned (the one located in .git/index).

\n\n

The index must be freed once it's no longer being used by the user.

\n","group":"repository","examples":{"general.c":["ex/v0.16.0/general.html#git_repository_index-55"]}},"git_repository_set_index":{"type":"function","file":"git2/repository.h","line":286,"lineto":286,"args":[{"name":"repo","type":"git_repository *","comment":"A repository object"},{"name":"index","type":"git_index *","comment":"An index object"}],"argline":"git_repository *repo, git_index *index","sig":"git_repository *::git_index *","return":{"type":"void","comment":null},"description":"

Set the index file for this repository

\n","comments":"

This index will be used for all index-related operations involving this repository.

\n\n

The repository will keep a reference to the index file; the user must still free the index after setting it to the repository, or it will leak.

\n","group":"repository"},"git_revwalk_new":{"type":"function","file":"git2/revwalk.h","line":70,"lineto":70,"args":[{"name":"walker","type":"git_revwalk **","comment":"pointer to the new revision walker"},{"name":"repo","type":"git_repository *","comment":"the repo to walk through"}],"argline":"git_revwalk **walker, git_repository *repo","sig":"git_revwalk **::git_repository *","return":{"type":"int","comment":" GIT_SUCCESS or an error code"},"description":"

Allocate a new revision walker to iterate through a repo.

\n","comments":"

This revision walker uses a custom memory pool and an internal commit cache, so it is relatively expensive to allocate.

\n\n

For maximum performance, this revision walker should be reused for different walks.

\n\n

This revision walker is not thread safe: it may only be used to walk a repository on a single thread; however, it is possible to have several revision walkers in several different threads walking the same repository.

\n","group":"revwalk","examples":{"general.c":["ex/v0.16.0/general.html#git_revwalk_new-56"]}},"git_revwalk_reset":{"type":"function","file":"git2/revwalk.h","line":85,"lineto":85,"args":[{"name":"walker","type":"git_revwalk *","comment":"handle to reset."}],"argline":"git_revwalk *walker","sig":"git_revwalk *","return":{"type":"void","comment":null},"description":"

Reset the revision walker for reuse.

\n","comments":"

This will clear all the pushed and hidden commits, and leave the walker in a blank state (just like at creation) ready to receive new commit pushes and start a new walk.

\n\n

The revision walk is automatically reset when a walk is over.

\n","group":"revwalk"},"git_revwalk_push":{"type":"function","file":"git2/revwalk.h","line":102,"lineto":102,"args":[{"name":"walk","type":"git_revwalk *","comment":"the walker being used for the traversal."},{"name":"oid","type":"const git_oid *","comment":"the oid of the commit to start from."}],"argline":"git_revwalk *walk, const git_oid *oid","sig":"git_revwalk *::const git_oid *","return":{"type":"int","comment":" GIT_SUCCESS or an error code"},"description":"

Mark a commit to start traversal from.

\n","comments":"

The given OID must belong to a commit on the walked repository.

\n\n

The given commit will be used as one of the roots when starting the revision walk. At least one commit must be pushed the repository before a walk can be started.

\n","group":"revwalk","examples":{"general.c":["ex/v0.16.0/general.html#git_revwalk_push-57"]}},"git_revwalk_hide":{"type":"function","file":"git2/revwalk.h","line":118,"lineto":118,"args":[{"name":"walk","type":"git_revwalk *","comment":"the walker being used for the traversal."},{"name":"oid","type":"const git_oid *","comment":"the oid of commit that will be ignored during the traversal"}],"argline":"git_revwalk *walk, const git_oid *oid","sig":"git_revwalk *::const git_oid *","return":{"type":"int","comment":" GIT_SUCCESS or an error code"},"description":"

Mark a commit (and its ancestors) uninteresting for the output.

\n","comments":"

The given OID must belong to a commit on the walked repository.

\n\n

The resolved commit and all its parents will be hidden from the output on the revision walk.

\n","group":"revwalk"},"git_revwalk_next":{"type":"function","file":"git2/revwalk.h","line":138,"lineto":138,"args":[{"name":"oid","type":"git_oid *","comment":"Pointer where to store the oid of the next commit"},{"name":"walk","type":"git_revwalk *","comment":"the walker to pop the commit from."}],"argline":"git_oid *oid, git_revwalk *walk","sig":"git_oid *::git_revwalk *","return":{"type":"int","comment":" GIT_SUCCESS if the next commit was found;\n\tGIT_EREVWALKOVER if there are no commits left to iterate"},"description":"

Get the next commit from the revision walk.

\n","comments":"

The initial call to this method is not blocking when iterating through a repo with a time-sorting mode.

\n\n

Iterating with Topological or inverted modes makes the initial call blocking to preprocess the commit list, but this block should be mostly unnoticeable on most repositories (topological preprocessing times at 0.3s on the git.git repo).

\n\n

The revision walker is reset when the walk is over.

\n","group":"revwalk","examples":{"general.c":["ex/v0.16.0/general.html#git_revwalk_next-58"]}},"git_revwalk_sorting":{"type":"function","file":"git2/revwalk.h","line":149,"lineto":149,"args":[{"name":"walk","type":"git_revwalk *","comment":"the walker being used for the traversal."},{"name":"sort_mode","type":"unsigned int","comment":"combination of GIT_SORT_XXX flags"}],"argline":"git_revwalk *walk, unsigned int sort_mode","sig":"git_revwalk *::unsigned int","return":{"type":"void","comment":null},"description":"

Change the sorting mode when iterating through the\n repository's contents.

\n","comments":"

Changing the sorting mode resets the walker.

\n","group":"revwalk","examples":{"general.c":["ex/v0.16.0/general.html#git_revwalk_sorting-59"]}},"git_revwalk_free":{"type":"function","file":"git2/revwalk.h","line":156,"lineto":156,"args":[{"name":"walk","type":"git_revwalk *","comment":"traversal handle to close. If NULL nothing occurs."}],"argline":"git_revwalk *walk","sig":"git_revwalk *","return":{"type":"void","comment":null},"description":"

Free a revision walker previously allocated.

\n","comments":"","group":"revwalk","examples":{"general.c":["ex/v0.16.0/general.html#git_revwalk_free-60"]}},"git_revwalk_repository":{"type":"function","file":"git2/revwalk.h","line":165,"lineto":165,"args":[{"name":"walk","type":"git_revwalk *","comment":"the revision walker"}],"argline":"git_revwalk *walk","sig":"git_revwalk *","return":{"type":"git_repository *","comment":" the repository being walked"},"description":"

Return the repository on which this walker\n is operating.

\n","comments":"","group":"revwalk"},"git_signature_new":{"type":"function","file":"git2/signature.h","line":33,"lineto":33,"args":[{"name":"sig_out","type":"git_signature **","comment":"new signature, in case of error NULL"},{"name":"name","type":"const char *","comment":"name of the person"},{"name":"email","type":"const char *","comment":"email of the person"},{"name":"time","type":"git_time_t","comment":"time when the action happened"},{"name":"offset","type":"int","comment":"timezone offset in minutes for the time"}],"argline":"git_signature **sig_out, const char *name, const char *email, git_time_t time, int offset","sig":"git_signature **::const char *::const char *::git_time_t::int","return":{"type":"int","comment":" GIT_SUCCESS or an error code"},"description":"

Create a new action signature. The signature must be freed\n manually or using git_signature_free

\n","comments":"","group":"signature","examples":{"general.c":["ex/v0.16.0/general.html#git_signature_new-61","ex/v0.16.0/general.html#git_signature_new-62"]}},"git_signature_now":{"type":"function","file":"git2/signature.h","line":44,"lineto":44,"args":[{"name":"sig_out","type":"git_signature **","comment":"new signature, in case of error NULL"},{"name":"name","type":"const char *","comment":"name of the person"},{"name":"email","type":"const char *","comment":"email of the person"}],"argline":"git_signature **sig_out, const char *name, const char *email","sig":"git_signature **::const char *::const char *","return":{"type":"int","comment":" GIT_SUCCESS or an error code"},"description":"

Create a new action signature with a timestamp of 'now'. The\n signature must be freed manually or using git_signature_free

\n","comments":"","group":"signature"},"git_signature_dup":{"type":"function","file":"git2/signature.h","line":54,"lineto":54,"args":[{"name":"sig","type":"const git_signature *","comment":"signature to duplicated"}],"argline":"const git_signature *sig","sig":"const git_signature *","return":{"type":"git_signature *","comment":" a copy of sig, NULL on out of memory"},"description":"

Create a copy of an existing signature.

\n","comments":"

All internal strings are also duplicated.

\n","group":"signature"},"git_signature_free":{"type":"function","file":"git2/signature.h","line":61,"lineto":61,"args":[{"name":"sig","type":"git_signature *","comment":"signature to free"}],"argline":"git_signature *sig","sig":"git_signature *","return":{"type":"void","comment":null},"description":"

Free an existing signature

\n","comments":"","group":"signature"},"git_status_foreach":{"type":"function","file":"git2/status.h","line":47,"lineto":47,"args":[{"name":"repo","type":"git_repository *","comment":"a repository object"},{"name":"callback","type":"int (*)(const char *, unsigned int, void *)","comment":"the function to call on each file"},{"name":"payload","type":"void *","comment":null}],"argline":"git_repository *repo, int (*)(const char *, unsigned int, void *) callback, void *payload","sig":"git_repository *::int (*)(const char *, unsigned int, void *)::void *","return":{"type":"int","comment":" GIT_SUCCESS or the return value of the callback which did not return GIT_SUCCESS"},"description":"

Gather file statuses and run a callback for each one.

\n","comments":"

The callback is passed the path of the file, the status and the data pointer passed to this function. If the callback returns something other than GIT_SUCCESS, this function will return that value.

\n","group":"status"},"git_status_file":{"type":"function","file":"git2/status.h","line":59,"lineto":59,"args":[{"name":"status_flags","type":"unsigned int *","comment":"the status value"},{"name":"repo","type":"git_repository *","comment":"a repository object"},{"name":"path","type":"const char *","comment":"the file to retrieve status for, rooted at the repo's workdir"}],"argline":"unsigned int *status_flags, git_repository *repo, const char *path","sig":"unsigned int *::git_repository *::const char *","return":{"type":"int","comment":" GIT_EINVALIDPATH when `path` points at a folder, GIT_ENOTFOUND when\n\t\tthe file doesn't exist in any of HEAD, the index or the worktree,\n\t\tGIT_SUCCESS otherwise"},"description":"

Get file status for a single file

\n","comments":"","group":"status"},"git_status_should_ignore":{"type":"function","file":"git2/status.h","line":75,"lineto":75,"args":[{"name":"repo","type":"git_repository *","comment":"a repository object"},{"name":"path","type":"const char *","comment":"the file to check ignores for, rooted at the repo's workdir"},{"name":"ignored","type":"int *","comment":"boolean returning 0 if the file is not ignored, 1 if it is"}],"argline":"git_repository *repo, const char *path, int *ignored","sig":"git_repository *::const char *::int *","return":{"type":"int","comment":" GIT_SUCCESS if the ignore rules could be processed for the file\n\t\t(regardless of whether it exists or not), or an error \n<\n 0 if they could not."},"description":"

Test if the ignore rules apply to a given file.

\n","comments":"

This function simply checks the ignore rules to see if they would apply to the given file. Unlike git_status_file(), this indicates if the file would be ignored regardless of whether the file is already in the index or in the repository.

\n","group":"status"},"git_tag_lookup":{"type":"function","file":"git2/tag.h","line":32,"lineto":35,"args":[{"name":"tag","type":"git_tag **","comment":"pointer to the looked up tag"},{"name":"repo","type":"git_repository *","comment":"the repo to use when locating the tag."},{"name":"id","type":"const git_oid *","comment":"identity of the tag to locate."}],"argline":"git_tag **tag, git_repository *repo, const git_oid *id","sig":"git_tag **::git_repository *::const git_oid *","return":{"type":"int","comment":" GIT_SUCCESS or an error code"},"description":"

Lookup a tag object from the repository.

\n","comments":"","group":"tag","examples":{"general.c":["ex/v0.16.0/general.html#git_tag_lookup-63"]}},"git_tag_lookup_prefix":{"type":"function","file":"git2/tag.h","line":49,"lineto":52,"args":[{"name":"tag","type":"git_tag **","comment":"pointer to the looked up tag"},{"name":"repo","type":"git_repository *","comment":"the repo to use when locating the tag."},{"name":"id","type":"const git_oid *","comment":"identity of the tag to locate."},{"name":"len","type":"unsigned int","comment":"the length of the short identifier"}],"argline":"git_tag **tag, git_repository *repo, const git_oid *id, unsigned int len","sig":"git_tag **::git_repository *::const git_oid *::unsigned int","return":{"type":"int","comment":" GIT_SUCCESS or an error code"},"description":"

Lookup a tag object from the repository,\n given a prefix of its identifier (short id).

\n","comments":"","group":"tag"},"git_tag_free":{"type":"function","file":"git2/tag.h","line":66,"lineto":69,"args":[{"name":"tag","type":"git_tag *","comment":"the tag to close"}],"argline":"git_tag *tag","sig":"git_tag *","return":{"type":"void","comment":null},"description":"

Close an open tag

\n","comments":"

This is a wrapper around git_object_free()

\n\n

IMPORTANT: It is necessary to call this method when you stop using a tag. Failure to do so will cause a memory leak.

\n","group":"tag"},"git_tag_id":{"type":"function","file":"git2/tag.h","line":78,"lineto":78,"args":[{"name":"tag","type":"git_tag *","comment":"a previously loaded tag."}],"argline":"git_tag *tag","sig":"git_tag *","return":{"type":"const git_oid *","comment":" object identity for the tag."},"description":"

Get the id of a tag.

\n","comments":"","group":"tag"},"git_tag_target":{"type":"function","file":"git2/tag.h","line":90,"lineto":90,"args":[{"name":"target","type":"git_object **","comment":"pointer where to store the target"},{"name":"tag","type":"git_tag *","comment":"a previously loaded tag."}],"argline":"git_object **target, git_tag *tag","sig":"git_object **::git_tag *","return":{"type":"int","comment":" GIT_SUCCESS or an error code"},"description":"

Get the tagged object of a tag

\n","comments":"

This method performs a repository lookup for the given object and returns it

\n","group":"tag","examples":{"general.c":["ex/v0.16.0/general.html#git_tag_target-64"]}},"git_tag_target_oid":{"type":"function","file":"git2/tag.h","line":98,"lineto":98,"args":[{"name":"tag","type":"git_tag *","comment":"a previously loaded tag."}],"argline":"git_tag *tag","sig":"git_tag *","return":{"type":"const git_oid *","comment":" pointer to the OID"},"description":"

Get the OID of the tagged object of a tag

\n","comments":"","group":"tag"},"git_tag_type":{"type":"function","file":"git2/tag.h","line":106,"lineto":106,"args":[{"name":"tag","type":"git_tag *","comment":"a previously loaded tag."}],"argline":"git_tag *tag","sig":"git_tag *","return":{"type":"git_otype","comment":" type of the tagged object"},"description":"

Get the type of a tag's tagged object

\n","comments":"","group":"tag","examples":{"general.c":["ex/v0.16.0/general.html#git_tag_type-65"]}},"git_tag_name":{"type":"function","file":"git2/tag.h","line":114,"lineto":114,"args":[{"name":"tag","type":"git_tag *","comment":"a previously loaded tag."}],"argline":"git_tag *tag","sig":"git_tag *","return":{"type":"const char *","comment":" name of the tag"},"description":"

Get the name of a tag

\n","comments":"","group":"tag","examples":{"general.c":["ex/v0.16.0/general.html#git_tag_name-66"]}},"git_tag_tagger":{"type":"function","file":"git2/tag.h","line":122,"lineto":122,"args":[{"name":"tag","type":"git_tag *","comment":"a previously loaded tag."}],"argline":"git_tag *tag","sig":"git_tag *","return":{"type":"const git_signature *","comment":" reference to the tag's author"},"description":"

Get the tagger (author) of a tag

\n","comments":"","group":"tag"},"git_tag_message":{"type":"function","file":"git2/tag.h","line":130,"lineto":130,"args":[{"name":"tag","type":"git_tag *","comment":"a previously loaded tag."}],"argline":"git_tag *tag","sig":"git_tag *","return":{"type":"const char *","comment":" message of the tag"},"description":"

Get the message of a tag

\n","comments":"","group":"tag","examples":{"general.c":["ex/v0.16.0/general.html#git_tag_message-67"]}},"git_tag_create":{"type":"function","file":"git2/tag.h","line":165,"lineto":172,"args":[{"name":"oid","type":"git_oid *","comment":"Pointer where to store the OID of the\n newly created tag. If the tag already exists, this parameter\n will be the oid of the existing tag, and the function will\n return a GIT_EEXISTS error code."},{"name":"repo","type":"git_repository *","comment":"Repository where to store the tag"},{"name":"tag_name","type":"const char *","comment":"Name for the tag; this name is validated\n for consistency. It should also not conflict with an\n already existing tag name"},{"name":"target","type":"const git_object *","comment":"Object to which this tag points. This object\n must belong to the given `repo`."},{"name":"tagger","type":"const git_signature *","comment":"Signature of the tagger for this tag, and\n of the tagging time"},{"name":"message","type":"const char *","comment":"Full message for this tag"},{"name":"force","type":"int","comment":"Overwrite existing references"}],"argline":"git_oid *oid, git_repository *repo, const char *tag_name, const git_object *target, const git_signature *tagger, const char *message, int force","sig":"git_oid *::git_repository *::const char *::const git_object *::const git_signature *::const char *::int","return":{"type":"int","comment":" GIT_SUCCESS or an error code\n\tA tag object is written to the ODB, and a proper reference\n\tis written in the /refs/tags folder, pointing to it"},"description":"

Create a new tag in the repository from an object

\n","comments":"

A new reference will also be created pointing to this tag object. If force is true and a reference already exists with the given name, it'll be replaced.

\n","group":"tag"},"git_tag_create_frombuffer":{"type":"function","file":"git2/tag.h","line":183,"lineto":187,"args":[{"name":"oid","type":"git_oid *","comment":"Pointer where to store the OID of the newly created tag"},{"name":"repo","type":"git_repository *","comment":"Repository where to store the tag"},{"name":"buffer","type":"const char *","comment":"Raw tag data"},{"name":"force","type":"int","comment":"Overwrite existing tags"}],"argline":"git_oid *oid, git_repository *repo, const char *buffer, int force","sig":"git_oid *::git_repository *::const char *::int","return":{"type":"int","comment":" 0 on sucess; error code otherwise"},"description":"

Create a new tag in the repository from a buffer

\n","comments":"","group":"tag"},"git_tag_create_lightweight":{"type":"function","file":"git2/tag.h","line":216,"lineto":221,"args":[{"name":"oid","type":"git_oid *","comment":"Pointer where to store the OID of the provided\n target object. If the tag already exists, this parameter\n will be filled with the oid of the existing pointed object\n and the function will return a GIT_EEXISTS error code."},{"name":"repo","type":"git_repository *","comment":"Repository where to store the lightweight tag"},{"name":"tag_name","type":"const char *","comment":"Name for the tag; this name is validated\n for consistency. It should also not conflict with an\n already existing tag name"},{"name":"target","type":"const git_object *","comment":"Object to which this tag points. This object\n must belong to the given `repo`."},{"name":"force","type":"int","comment":"Overwrite existing references"}],"argline":"git_oid *oid, git_repository *repo, const char *tag_name, const git_object *target, int force","sig":"git_oid *::git_repository *::const char *::const git_object *::int","return":{"type":"int","comment":" GIT_SUCCESS or an error code\n\tA proper reference is written in the /refs/tags folder,\n pointing to the provided target object"},"description":"

Create a new lightweight tag pointing at a target object

\n","comments":"

A new direct reference will be created pointing to this target object. If force is true and a reference already exists with the given name, it'll be replaced.

\n","group":"tag"},"git_tag_delete":{"type":"function","file":"git2/tag.h","line":233,"lineto":235,"args":[{"name":"repo","type":"git_repository *","comment":"Repository where lives the tag"},{"name":"tag_name","type":"const char *","comment":"Name of the tag to be deleted;\n this name is validated for consistency."}],"argline":"git_repository *repo, const char *tag_name","sig":"git_repository *::const char *","return":{"type":"int","comment":" GIT_SUCCESS or an error code"},"description":"

Delete an existing tag reference.

\n","comments":"","group":"tag"},"git_tag_list":{"type":"function","file":"git2/tag.h","line":250,"lineto":252,"args":[{"name":"tag_names","type":"git_strarray *","comment":"Pointer to a git_strarray structure where\n\t\tthe tag names will be stored"},{"name":"repo","type":"git_repository *","comment":"Repository where to find the tags"}],"argline":"git_strarray *tag_names, git_repository *repo","sig":"git_strarray *::git_repository *","return":{"type":"int","comment":" GIT_SUCCESS or an error code"},"description":"

Fill a list with all the tags in the Repository

\n","comments":"

The string array will be filled with the names of the matching tags; these values are owned by the user and should be free'd manually when no longer needed, using git_strarray_free.

\n","group":"tag"},"git_tag_list_match":{"type":"function","file":"git2/tag.h","line":272,"lineto":275,"args":[{"name":"tag_names","type":"git_strarray *","comment":"Pointer to a git_strarray structure where\n\t\tthe tag names will be stored"},{"name":"pattern","type":"const char *","comment":"Standard fnmatch pattern"},{"name":"repo","type":"git_repository *","comment":"Repository where to find the tags"}],"argline":"git_strarray *tag_names, const char *pattern, git_repository *repo","sig":"git_strarray *::const char *::git_repository *","return":{"type":"int","comment":" GIT_SUCCESS or an error code"},"description":"

Fill a list with all the tags in the Repository\n which name match a defined pattern

\n","comments":"

If an empty pattern is provided, all the tags will be returned.

\n\n

The string array will be filled with the names of the matching tags; these values are owned by the user and should be free'd manually when no longer needed, using git_strarray_free.

\n","group":"tag"},"git_threads_init":{"type":"function","file":"git2/threads.h","line":31,"lineto":31,"args":[],"argline":"","sig":"","return":{"type":"void","comment":null},"description":"

Init the threading system.

\n","comments":"

If libgit2 has been built with GIT_THREADS on, this function must be called once before any other library functions.

\n\n

If libgit2 has been built without GIT_THREADS support, this function is a no-op.

\n","group":"threads"},"git_threads_shutdown":{"type":"function","file":"git2/threads.h","line":43,"lineto":43,"args":[],"argline":"","sig":"","return":{"type":"void","comment":null},"description":"

Shutdown the threading system.

\n","comments":"

If libgit2 has been built with GIT_THREADS on, this function must be called before shutting down the library.

\n\n

If libgit2 has been built without GIT_THREADS support, this function is a no-op.

\n","group":"threads"},"git_tree_lookup":{"type":"function","file":"git2/tree.h","line":32,"lineto":35,"args":[{"name":"tree","type":"git_tree **","comment":"pointer to the looked up tree"},{"name":"repo","type":"git_repository *","comment":"the repo to use when locating the tree."},{"name":"id","type":"const git_oid *","comment":"identity of the tree to locate."}],"argline":"git_tree **tree, git_repository *repo, const git_oid *id","sig":"git_tree **::git_repository *::const git_oid *","return":{"type":"int","comment":" GIT_SUCCESS or an error code"},"description":"

Lookup a tree object from the repository.

\n","comments":"","group":"tree","examples":{"general.c":["ex/v0.16.0/general.html#git_tree_lookup-68","ex/v0.16.0/general.html#git_tree_lookup-69"]}},"git_tree_lookup_prefix":{"type":"function","file":"git2/tree.h","line":49,"lineto":52,"args":[{"name":"tree","type":"git_tree **","comment":"pointer to the looked up tree"},{"name":"repo","type":"git_repository *","comment":"the repo to use when locating the tree."},{"name":"id","type":"const git_oid *","comment":"identity of the tree to locate."},{"name":"len","type":"unsigned int","comment":"the length of the short identifier"}],"argline":"git_tree **tree, git_repository *repo, const git_oid *id, unsigned int len","sig":"git_tree **::git_repository *::const git_oid *::unsigned int","return":{"type":"int","comment":" GIT_SUCCESS or an error code"},"description":"

Lookup a tree object from the repository,\n given a prefix of its identifier (short id).

\n","comments":"","group":"tree"},"git_tree_free":{"type":"function","file":"git2/tree.h","line":66,"lineto":69,"args":[{"name":"tree","type":"git_tree *","comment":"the tree to close"}],"argline":"git_tree *tree","sig":"git_tree *","return":{"type":"void","comment":null},"description":"

Close an open tree

\n","comments":"

This is a wrapper around git_object_free()

\n\n

IMPORTANT: It is necessary to call this method when you stop using a tree. Failure to do so will cause a memory leak.

\n","group":"tree"},"git_tree_id":{"type":"function","file":"git2/tree.h","line":78,"lineto":78,"args":[{"name":"tree","type":"git_tree *","comment":"a previously loaded tree."}],"argline":"git_tree *tree","sig":"git_tree *","return":{"type":"const git_oid *","comment":" object identity for the tree."},"description":"

Get the id of a tree.

\n","comments":"","group":"tree"},"git_tree_entrycount":{"type":"function","file":"git2/tree.h","line":86,"lineto":86,"args":[{"name":"tree","type":"git_tree *","comment":"a previously loaded tree."}],"argline":"git_tree *tree","sig":"git_tree *","return":{"type":"unsigned int","comment":" the number of entries in the tree"},"description":"

Get the number of entries listed in a tree

\n","comments":"","group":"tree","examples":{"general.c":["ex/v0.16.0/general.html#git_tree_entrycount-70"]}},"git_tree_entry_byname":{"type":"function","file":"git2/tree.h","line":95,"lineto":95,"args":[{"name":"tree","type":"git_tree *","comment":"a previously loaded tree."},{"name":"filename","type":"const char *","comment":"the filename of the desired entry"}],"argline":"git_tree *tree, const char *filename","sig":"git_tree *::const char *","return":{"type":"const git_tree_entry *","comment":" the tree entry; NULL if not found"},"description":"

Lookup a tree entry by its filename

\n","comments":"","group":"tree","examples":{"general.c":["ex/v0.16.0/general.html#git_tree_entry_byname-71"]}},"git_tree_entry_byindex":{"type":"function","file":"git2/tree.h","line":104,"lineto":104,"args":[{"name":"tree","type":"git_tree *","comment":"a previously loaded tree."},{"name":"idx","type":"unsigned int","comment":"the position in the entry list"}],"argline":"git_tree *tree, unsigned int idx","sig":"git_tree *::unsigned int","return":{"type":"const git_tree_entry *","comment":" the tree entry; NULL if not found"},"description":"

Lookup a tree entry by its position in the tree

\n","comments":"","group":"tree","examples":{"general.c":["ex/v0.16.0/general.html#git_tree_entry_byindex-72"]}},"git_tree_entry_attributes":{"type":"function","file":"git2/tree.h","line":112,"lineto":112,"args":[{"name":"entry","type":"const git_tree_entry *","comment":"a tree entry"}],"argline":"const git_tree_entry *entry","sig":"const git_tree_entry *","return":{"type":"unsigned int","comment":" attributes as an integer"},"description":"

Get the UNIX file attributes of a tree entry

\n","comments":"","group":"tree"},"git_tree_entry_name":{"type":"function","file":"git2/tree.h","line":120,"lineto":120,"args":[{"name":"entry","type":"const git_tree_entry *","comment":"a tree entry"}],"argline":"const git_tree_entry *entry","sig":"const git_tree_entry *","return":{"type":"const char *","comment":" the name of the file"},"description":"

Get the filename of a tree entry

\n","comments":"","group":"tree","examples":{"general.c":["ex/v0.16.0/general.html#git_tree_entry_name-73","ex/v0.16.0/general.html#git_tree_entry_name-74"]}},"git_tree_entry_id":{"type":"function","file":"git2/tree.h","line":128,"lineto":128,"args":[{"name":"entry","type":"const git_tree_entry *","comment":"a tree entry"}],"argline":"const git_tree_entry *entry","sig":"const git_tree_entry *","return":{"type":"const git_oid *","comment":" the oid of the object"},"description":"

Get the id of the object pointed by the entry

\n","comments":"","group":"tree"},"git_tree_entry_type":{"type":"function","file":"git2/tree.h","line":136,"lineto":136,"args":[{"name":"entry","type":"const git_tree_entry *","comment":"a tree entry"}],"argline":"const git_tree_entry *entry","sig":"const git_tree_entry *","return":{"type":"git_otype","comment":" the type of the pointed object"},"description":"

Get the type of the object pointed by the entry

\n","comments":"","group":"tree"},"git_tree_entry_2object":{"type":"function","file":"git2/tree.h","line":146,"lineto":146,"args":[{"name":"object_out","type":"git_object **","comment":null},{"name":"repo","type":"git_repository *","comment":"repository where to lookup the pointed object"},{"name":"entry","type":"const git_tree_entry *","comment":"a tree entry"}],"argline":"git_object **object_out, git_repository *repo, const git_tree_entry *entry","sig":"git_object **::git_repository *::const git_tree_entry *","return":{"type":"int","comment":" GIT_SUCCESS or an error code"},"description":"

Convert a tree entry to the git_object it points too.

\n","comments":"","group":"tree","examples":{"general.c":["ex/v0.16.0/general.html#git_tree_entry_2object-75"]}},"git_tree_create_fromindex":{"type":"function","file":"git2/tree.h","line":164,"lineto":164,"args":[{"name":"oid","type":"git_oid *","comment":"Pointer where to store the written tree"},{"name":"index","type":"git_index *","comment":"Index to write"}],"argline":"git_oid *oid, git_index *index","sig":"git_oid *::git_index *","return":{"type":"int","comment":" GIT_SUCCESS or an error code"},"description":"

Write a tree to the ODB from the index file

\n","comments":"

This method will scan the index and write a representation of its current state back to disk; it recursively creates tree objects for each of the subtrees stored in the index, but only returns the OID of the root tree. This is the OID that can be used e.g. to create a commit.

\n\n

The index instance cannot be bare, and needs to be associated to an existing repository.

\n","group":"tree"},"git_treebuilder_create":{"type":"function","file":"git2/tree.h","line":183,"lineto":183,"args":[{"name":"builder_p","type":"git_treebuilder **","comment":"Pointer where to store the tree builder"},{"name":"source","type":"const git_tree *","comment":"Source tree to initialize the builder (optional)"}],"argline":"git_treebuilder **builder_p, const git_tree *source","sig":"git_treebuilder **::const git_tree *","return":{"type":"int","comment":" 0 on sucess; error code otherwise"},"description":"

Create a new tree builder.

\n","comments":"

The tree builder can be used to create or modify trees in memory and write them as tree objects to the database.

\n\n

If the source parameter is not NULL, the tree builder will be initialized with the entries of the given tree.

\n\n

If the source parameter is NULL, the tree builder will have no entries and will have to be filled manually.

\n","group":"treebuilder"},"git_treebuilder_clear":{"type":"function","file":"git2/tree.h","line":190,"lineto":190,"args":[{"name":"bld","type":"git_treebuilder *","comment":"Builder to clear"}],"argline":"git_treebuilder *bld","sig":"git_treebuilder *","return":{"type":"void","comment":null},"description":"

Clear all the entires in the builder

\n","comments":"","group":"treebuilder"},"git_treebuilder_free":{"type":"function","file":"git2/tree.h","line":201,"lineto":201,"args":[{"name":"bld","type":"git_treebuilder *","comment":"Builder to free"}],"argline":"git_treebuilder *bld","sig":"git_treebuilder *","return":{"type":"void","comment":null},"description":"

Free a tree builder

\n","comments":"

This will clear all the entries and free to builder. Failing to free the builder after you're done using it will result in a memory leak

\n","group":"treebuilder"},"git_treebuilder_get":{"type":"function","file":"git2/tree.h","line":213,"lineto":213,"args":[{"name":"bld","type":"git_treebuilder *","comment":"Tree builder"},{"name":"filename","type":"const char *","comment":"Name of the entry"}],"argline":"git_treebuilder *bld, const char *filename","sig":"git_treebuilder *::const char *","return":{"type":"const git_tree_entry *","comment":" pointer to the entry; NULL if not found"},"description":"

Get an entry from the builder from its filename

\n","comments":"

The returned entry is owned by the builder and should not be freed manually.

\n","group":"treebuilder"},"git_treebuilder_insert":{"type":"function","file":"git2/tree.h","line":234,"lineto":234,"args":[{"name":"entry_out","type":"git_tree_entry **","comment":"Pointer to store the entry (optional)"},{"name":"bld","type":"git_treebuilder *","comment":"Tree builder"},{"name":"filename","type":"const char *","comment":"Filename of the entry"},{"name":"id","type":"const git_oid *","comment":"SHA1 oid of the entry"},{"name":"attributes","type":"unsigned int","comment":"Folder attributes of the entry"}],"argline":"git_tree_entry **entry_out, git_treebuilder *bld, const char *filename, const git_oid *id, unsigned int attributes","sig":"git_tree_entry **::git_treebuilder *::const char *::const git_oid *::unsigned int","return":{"type":"int","comment":" GIT_SUCCESS or an error code"},"description":"

Add or update an entry to the builder

\n","comments":"

Insert a new entry for filename in the builder with the given attributes.

\n\n

if an entry named filename already exists, its attributes will be updated with the given ones.

\n\n

The optional pointer entry_out can be used to retrieve a pointer to the newly created/updated entry.

\n","group":"treebuilder"},"git_treebuilder_remove":{"type":"function","file":"git2/tree.h","line":242,"lineto":242,"args":[{"name":"bld","type":"git_treebuilder *","comment":"Tree builder"},{"name":"filename","type":"const char *","comment":"Filename of the entry to remove"}],"argline":"git_treebuilder *bld, const char *filename","sig":"git_treebuilder *::const char *","return":{"type":"int","comment":null},"description":"

Remove an entry from the builder by its filename

\n","comments":"","group":"treebuilder"},"git_treebuilder_filter":{"type":"function","file":"git2/tree.h","line":255,"lineto":255,"args":[{"name":"bld","type":"git_treebuilder *","comment":"Tree builder"},{"name":"filter","type":"int (*)(const git_tree_entry *, void *)","comment":"Callback to filter entries"},{"name":"payload","type":"void *","comment":null}],"argline":"git_treebuilder *bld, int (*)(const git_tree_entry *, void *) filter, void *payload","sig":"git_treebuilder *::int (*)(const git_tree_entry *, void *)::void *","return":{"type":"void","comment":null},"description":"

Filter the entries in the tree

\n","comments":"

The filter callback will be called for each entry in the tree with a pointer to the entry and the provided payload: if the callback returns 1, the entry will be filtered (removed from the builder).

\n","group":"treebuilder"},"git_treebuilder_write":{"type":"function","file":"git2/tree.h","line":269,"lineto":269,"args":[{"name":"oid","type":"git_oid *","comment":"Pointer where to store the written OID"},{"name":"repo","type":"git_repository *","comment":"Repository where to store the object"},{"name":"bld","type":"git_treebuilder *","comment":"Tree builder to write"}],"argline":"git_oid *oid, git_repository *repo, git_treebuilder *bld","sig":"git_oid *::git_repository *::git_treebuilder *","return":{"type":"int","comment":" GIT_SUCCESS or an error code"},"description":"

Write the contents of the tree builder as a tree object

\n","comments":"

The tree builder will be written to the given repo, and it's identifying SHA1 hash will be stored in the oid pointer.

\n","group":"treebuilder"},"git_tree_get_subtree":{"type":"function","file":"git2/tree.h","line":284,"lineto":284,"args":[{"name":"subtree","type":"git_tree **","comment":"Pointer where to store the subtree"},{"name":"root","type":"git_tree *","comment":"A previously loaded tree which will be the root of the relative path"},{"name":"subtree_path","type":"const char *","comment":"Path to the contained subtree"}],"argline":"git_tree **subtree, git_tree *root, const char *subtree_path","sig":"git_tree **::git_tree *::const char *","return":{"type":"int","comment":" GIT_SUCCESS on success; GIT_ENOTFOUND if the path does not lead to a\n subtree, GIT_EINVALIDPATH or an error code"},"description":"

Retrieve a subtree contained in a tree, given its\n relative path.

\n","comments":"

The returned tree is owned by the repository and should be closed with the git_object_free method.

\n","group":"tree"},"git_tree_walk":{"type":"function","file":"git2/tree.h","line":314,"lineto":314,"args":[{"name":"tree","type":"git_tree *","comment":"The tree to walk"},{"name":"callback","type":"git_treewalk_cb","comment":"Function to call on each tree entry"},{"name":"mode","type":"int","comment":"Traversal mode (pre or post-order)"},{"name":"payload","type":"void *","comment":"Opaque pointer to be passed on each callback"}],"argline":"git_tree *tree, git_treewalk_cb callback, int mode, void *payload","sig":"git_tree *::git_treewalk_cb::int::void *","return":{"type":"int","comment":" GIT_SUCCESS or an error code"},"description":"

Traverse the entries in a tree and its subtrees in\n post or pre order

\n","comments":"

The entries will be traversed in the specified order, children subtrees will be automatically loaded as required, and the callback will be called once per entry with the current (relative) root for the entry and the entry data itself.

\n\n

If the callback returns a negative value, the passed entry will be skiped on the traversal.

\n","group":"tree"},"git_tree_diff":{"type":"function","file":"git2/tree.h","line":348,"lineto":348,"args":[{"name":"old","type":"git_tree *","comment":"the \"old\" tree"},{"name":"newer","type":"git_tree *","comment":"the \"newer\" tree"},{"name":"cb","type":"git_tree_diff_cb","comment":"callback"},{"name":"data","type":"void *","comment":"data to give to the callback"}],"argline":"git_tree *old, git_tree *newer, git_tree_diff_cb cb, void *data","sig":"git_tree *::git_tree *::git_tree_diff_cb::void *","return":{"type":"int","comment":" GIT_SUCCESS or an error code"},"description":"

Diff two trees

\n","comments":"

Compare two trees. For each difference in the trees, the callback will be called with a git_tree_diff_data filled with the relevant information.

\n","group":"tree"},"gitwin_set_codepage":{"type":"function","file":"git2/windows.h","line":41,"lineto":41,"args":[{"name":"codepage","type":"unsigned int","comment":"numeric codepage identifier"}],"argline":"unsigned int codepage","sig":"unsigned int","return":{"type":"void","comment":null},"description":"

Set the active codepage for Windows syscalls

\n","comments":"

All syscalls performed by the library will assume this codepage when converting paths and strings to use by the Windows kernel.

\n\n

The default value of UTF-8 will work automatically with most Git repositories created on Unix systems.

\n\n

This settings needs only be changed when working with repositories that contain paths in specific, non-UTF codepages.

\n\n

A full list of all available codepage identifiers may be found at:

\n\n

http://msdn.microsoft.com/en-us/library/windows/desktop/dd317756(v=vs.85).aspx

\n","group":"gitwin"},"gitwin_get_codepage":{"type":"function","file":"git2/windows.h","line":48,"lineto":48,"args":[],"argline":"","sig":"","return":{"type":"unsigned int","comment":" numeric codepage identifier"},"description":"

Return the active codepage for Windows syscalls

\n","comments":"","group":"gitwin"},"gitwin_set_utf8":{"type":"function","file":"git2/windows.h","line":54,"lineto":54,"args":[],"argline":"","sig":"","return":{"type":"void","comment":null},"description":"

Set the active Windows codepage to UTF-8 (this is\n the default value)

\n","comments":"","group":"gitwin"}},"callbacks":{"git_headlist_cb":{"type":"callback","file":"git2/net.h","line":47,"lineto":47,"args":[{"name":"","type":"git_remote_head *","comment":null},{"name":"","type":"void *","comment":null}],"argline":"git_remote_head *, void *","sig":"git_remote_head *::void *","return":{"type":"int","comment":null},"description":"

Callback for listing the remote heads

\n","comments":""},"git_treewalk_cb":{"type":"callback","file":"git2/tree.h","line":287,"lineto":287,"args":[{"name":"root","type":"const char *","comment":null},{"name":"entry","type":"git_tree_entry *","comment":null},{"name":"payload","type":"void *","comment":null}],"argline":"const char *root, git_tree_entry *entry, void *payload","sig":"const char *::git_tree_entry *::void *","return":{"type":"int","comment":null},"description":"

Callback for the tree traversal method

\n","comments":""}},"globals":{},"types":[["git_blob",{"decl":"git_blob","type":"struct","value":"git_blob","file":"git2/types.h","line":105,"lineto":105,"tdef":"typedef","description":" In-memory representation of a blob object. ","comments":"","used":{"returns":[],"needs":["git_blob_free","git_blob_lookup","git_blob_lookup_prefix","git_blob_rawcontent"]}}],["git_commit",{"decl":"git_commit","type":"struct","value":"git_commit","file":"git2/types.h","line":108,"lineto":108,"tdef":"typedef","description":" Parsed representation of a commit object. ","comments":"","used":{"returns":[],"needs":["git_commit_author","git_commit_committer","git_commit_create","git_commit_free","git_commit_id","git_commit_lookup","git_commit_lookup_prefix","git_commit_message","git_commit_message_encoding","git_commit_parent","git_commit_parent_oid","git_commit_parentcount","git_commit_time","git_commit_time_offset","git_commit_tree","git_commit_tree_oid"]}}],["git_config",{"decl":"git_config","type":"struct","value":"git_config","file":"git2/types.h","line":123,"lineto":123,"tdef":"typedef","description":" Memory representation of a set of config files ","comments":"","used":{"returns":[],"needs":["git_config_add_file","git_config_add_file_ondisk","git_config_delete","git_config_file__ondisk","git_config_foreach","git_config_free","git_config_get_bool","git_config_get_int32","git_config_get_int64","git_config_get_string","git_config_new","git_config_open_global","git_config_open_ondisk","git_config_set_bool","git_config_set_int32","git_config_set_int64","git_config_set_string","git_repository_config","git_repository_set_config"]}}],["git_config_file",{"decl":"git_config_file","type":"struct","value":"git_config_file","file":"git2/types.h","line":126,"lineto":126,"block":"struct git_config * cfg\nint (*)(struct git_config_file *) open\nint (*)(struct git_config_file *, const char *, const char **) get\nint (*)(struct git_config_file *, const char *, const char *) set\nint (*)(struct git_config_file *, const char *) del\nint (*)(struct git_config_file *, int (*)(const char *, const char *, void *), void *) foreach\nvoid (*)(struct git_config_file *) free","tdef":"typedef","description":" Interface to access a configuration file ","comments":"","fields":[{"type":"struct git_config *","name":"cfg","comments":""},{"type":"int (*)(struct git_config_file *)","name":"open","comments":""},{"type":"int (*)(struct git_config_file *, const char *, const char **)","name":"get","comments":""},{"type":"int (*)(struct git_config_file *, const char *, const char *)","name":"set","comments":""},{"type":"int (*)(struct git_config_file *, const char *)","name":"del","comments":""},{"type":"int (*)(struct git_config_file *, int (*)(const char *, const char *, void *), void *)","name":"foreach","comments":""},{"type":"void (*)(struct git_config_file *)","name":"free","comments":""}],"used":{"returns":[],"needs":["git_config_add_file","git_config_file__ondisk"]}}],["git_error",{"decl":["GIT_SUCCESS","GIT_ERROR","GIT_ENOTOID","GIT_ENOTFOUND","GIT_ENOMEM","GIT_EOSERR","GIT_EOBJTYPE","GIT_ENOTAREPO","GIT_EINVALIDTYPE","GIT_EMISSINGOBJDATA","GIT_EPACKCORRUPTED","GIT_EFLOCKFAIL","GIT_EZLIB","GIT_EBUSY","GIT_EBAREINDEX","GIT_EINVALIDREFNAME","GIT_EREFCORRUPTED","GIT_ETOONESTEDSYMREF","GIT_EPACKEDREFSCORRUPTED","GIT_EINVALIDPATH","GIT_EREVWALKOVER","GIT_EINVALIDREFSTATE","GIT_ENOTIMPLEMENTED","GIT_EEXISTS","GIT_EOVERFLOW","GIT_ENOTNUM","GIT_ESTREAM","GIT_EINVALIDARGS","GIT_EOBJCORRUPTED","GIT_EAMBIGUOUSOIDPREFIX","GIT_EPASSTHROUGH","GIT_ENOMATCH","GIT_ESHORTBUFFER"],"type":"enum","file":"git2/errors.h","line":20,"lineto":116,"block":"GIT_SUCCESS\nGIT_ERROR\nGIT_ENOTOID\nGIT_ENOTFOUND\nGIT_ENOMEM\nGIT_EOSERR\nGIT_EOBJTYPE\nGIT_ENOTAREPO\nGIT_EINVALIDTYPE\nGIT_EMISSINGOBJDATA\nGIT_EPACKCORRUPTED\nGIT_EFLOCKFAIL\nGIT_EZLIB\nGIT_EBUSY\nGIT_EBAREINDEX\nGIT_EINVALIDREFNAME\nGIT_EREFCORRUPTED\nGIT_ETOONESTEDSYMREF\nGIT_EPACKEDREFSCORRUPTED\nGIT_EINVALIDPATH\nGIT_EREVWALKOVER\nGIT_EINVALIDREFSTATE\nGIT_ENOTIMPLEMENTED\nGIT_EEXISTS\nGIT_EOVERFLOW\nGIT_ENOTNUM\nGIT_ESTREAM\nGIT_EINVALIDARGS\nGIT_EOBJCORRUPTED\nGIT_EAMBIGUOUSOIDPREFIX\nGIT_EPASSTHROUGH\nGIT_ENOMATCH\nGIT_ESHORTBUFFER","tdef":"typedef","description":" \n\n git2/errors.h\n ","comments":"

@{

\n","fields":[{"type":"int","name":"GIT_SUCCESS","comments":"","value":0},{"type":"int","name":"GIT_ERROR","comments":"","value":-1},{"type":"int","name":"GIT_ENOTOID","comments":"

Input was not a properly formatted Git object id.

\n","value":-2},{"type":"int","name":"GIT_ENOTFOUND","comments":"

Input does not exist in the scope searched.

\n","value":-3},{"type":"int","name":"GIT_ENOMEM","comments":"

Not enough space available.

\n","value":-4},{"type":"int","name":"GIT_EOSERR","comments":"

Consult the OS error information.

\n","value":-5},{"type":"int","name":"GIT_EOBJTYPE","comments":"

The specified object is of invalid type

\n","value":-6},{"type":"int","name":"GIT_ENOTAREPO","comments":"

The specified repository is invalid

\n","value":-7},{"type":"int","name":"GIT_EINVALIDTYPE","comments":"

The object type is invalid or doesn't match

\n","value":-8},{"type":"int","name":"GIT_EMISSINGOBJDATA","comments":"

The object cannot be written because it's missing internal data

\n","value":-9},{"type":"int","name":"GIT_EPACKCORRUPTED","comments":"

The packfile for the ODB is corrupted

\n","value":-10},{"type":"int","name":"GIT_EFLOCKFAIL","comments":"

Failed to acquire or release a file lock

\n","value":-11},{"type":"int","name":"GIT_EZLIB","comments":"

The Z library failed to inflate/deflate an object's data

\n","value":-12},{"type":"int","name":"GIT_EBUSY","comments":"

The queried object is currently busy

\n","value":-13},{"type":"int","name":"GIT_EBAREINDEX","comments":"

The index file is not backed up by an existing repository

\n","value":-14},{"type":"int","name":"GIT_EINVALIDREFNAME","comments":"

The name of the reference is not valid

\n","value":-15},{"type":"int","name":"GIT_EREFCORRUPTED","comments":"

The specified reference has its data corrupted

\n","value":-16},{"type":"int","name":"GIT_ETOONESTEDSYMREF","comments":"

The specified symbolic reference is too deeply nested

\n","value":-17},{"type":"int","name":"GIT_EPACKEDREFSCORRUPTED","comments":"

The pack-refs file is either corrupted or its format is not currently supported

\n","value":-18},{"type":"int","name":"GIT_EINVALIDPATH","comments":"

The path is invalid

\n","value":-19},{"type":"int","name":"GIT_EREVWALKOVER","comments":"

The revision walker is empty; there are no more commits left to iterate

\n","value":-20},{"type":"int","name":"GIT_EINVALIDREFSTATE","comments":"

The state of the reference is not valid

\n","value":-21},{"type":"int","name":"GIT_ENOTIMPLEMENTED","comments":"

This feature has not been implemented yet

\n","value":-22},{"type":"int","name":"GIT_EEXISTS","comments":"

A reference with this name already exists

\n","value":-23},{"type":"int","name":"GIT_EOVERFLOW","comments":"

The given integer literal is too large to be parsed

\n","value":-24},{"type":"int","name":"GIT_ENOTNUM","comments":"

The given literal is not a valid number

\n","value":-25},{"type":"int","name":"GIT_ESTREAM","comments":"

Streaming error

\n","value":-26},{"type":"int","name":"GIT_EINVALIDARGS","comments":"

invalid arguments to function

\n","value":-27},{"type":"int","name":"GIT_EOBJCORRUPTED","comments":"

The specified object has its data corrupted

\n","value":-28},{"type":"int","name":"GIT_EAMBIGUOUSOIDPREFIX","comments":"

The given short oid is ambiguous

\n","value":-29},{"type":"int","name":"GIT_EPASSTHROUGH","comments":"

Skip and passthrough the given ODB backend

\n","value":-30},{"type":"int","name":"GIT_ENOMATCH","comments":"

The path pattern and string did not match

\n","value":-31},{"type":"int","name":"GIT_ESHORTBUFFER","comments":"

The buffer is too short to satisfy the request

\n","value":-32}],"used":{"returns":[],"needs":[]}}],["git_index",{"decl":"git_index","type":"struct","value":"git_index","file":"git2/types.h","line":120,"lineto":120,"tdef":"typedef","description":" Memory representation of an index file. ","comments":"","used":{"returns":["git_index_get","git_index_get_unmerged_byindex","git_index_get_unmerged_bypath"],"needs":["git_index_add","git_index_add2","git_index_append","git_index_append2","git_index_clear","git_index_entry_stage","git_index_entrycount","git_index_entrycount_unmerged","git_index_find","git_index_free","git_index_get","git_index_get_unmerged_byindex","git_index_get_unmerged_bypath","git_index_open","git_index_read","git_index_read_tree","git_index_remove","git_index_uniq","git_index_write","git_indexer_free","git_indexer_hash","git_indexer_new","git_indexer_run","git_indexer_write","git_repository_index","git_repository_set_index","git_tree_create_fromindex"]}}],["git_index_entry",{"decl":["git_index_time ctime","git_index_time mtime","unsigned int dev","unsigned int ino","unsigned int mode","unsigned int uid","unsigned int gid","git_off_t file_size","git_oid oid","unsigned short flags","unsigned short flags_extended","char * path"],"type":"struct","value":"git_index_entry","file":"git2/index.h","line":67,"lineto":84,"block":"git_index_time ctime\ngit_index_time mtime\nunsigned int dev\nunsigned int ino\nunsigned int mode\nunsigned int uid\nunsigned int gid\ngit_off_t file_size\ngit_oid oid\nunsigned short flags\nunsigned short flags_extended\nchar * path","tdef":"typedef","description":" Memory representation of a file entry in the index. ","comments":"","fields":[{"type":"git_index_time","name":"ctime","comments":""},{"type":"git_index_time","name":"mtime","comments":""},{"type":"unsigned int","name":"dev","comments":""},{"type":"unsigned int","name":"ino","comments":""},{"type":"unsigned int","name":"mode","comments":""},{"type":"unsigned int","name":"uid","comments":""},{"type":"unsigned int","name":"gid","comments":""},{"type":"git_off_t","name":"file_size","comments":""},{"type":"git_oid","name":"oid","comments":""},{"type":"unsigned short","name":"flags","comments":""},{"type":"unsigned short","name":"flags_extended","comments":""},{"type":"char *","name":"path","comments":""}],"used":{"returns":["git_index_get","git_index_get_unmerged_byindex","git_index_get_unmerged_bypath"],"needs":["git_index_add2","git_index_append2","git_index_entry_stage"]}}],["git_index_entry_unmerged",{"decl":["unsigned int [3] mode","git_oid [3] oid","char * path"],"type":"struct","value":"git_index_entry_unmerged","file":"git2/index.h","line":87,"lineto":91,"block":"unsigned int [3] mode\ngit_oid [3] oid\nchar * path","tdef":"typedef","description":" Representation of an unmerged file entry in the index. ","comments":"","fields":[{"type":"unsigned int [3]","name":"mode","comments":""},{"type":"git_oid [3]","name":"oid","comments":""},{"type":"char *","name":"path","comments":""}],"used":{"returns":["git_index_get_unmerged_byindex","git_index_get_unmerged_bypath"],"needs":[]}}],["git_index_time",{"decl":["git_time_t seconds","unsigned int nanoseconds"],"type":"struct","value":"git_index_time","file":"git2/index.h","line":60,"lineto":64,"block":"git_time_t seconds\nunsigned int nanoseconds","tdef":"typedef","description":" Time used in a git index entry ","comments":"","fields":[{"type":"git_time_t","name":"seconds","comments":""},{"type":"unsigned int","name":"nanoseconds","comments":""}],"used":{"returns":[],"needs":[]}}],["git_indexer_stats",{"decl":["unsigned int total","unsigned int processed"],"type":"struct","value":"git_indexer_stats","file":"git2/indexer.h","line":19,"lineto":22,"block":"unsigned int total\nunsigned int processed","tdef":"typedef","description":" This is passed as the first argument to the callback to allow the\n user to see the progress.","comments":"","fields":[{"type":"unsigned int","name":"total","comments":""},{"type":"unsigned int","name":"processed","comments":""}],"used":{"returns":[],"needs":["git_indexer_run"]}}],["git_object",{"decl":"git_object","type":"struct","value":"git_object","file":"git2/types.h","line":96,"lineto":96,"tdef":"typedef","description":" Representation of a generic object in a repository ","comments":"","used":{"returns":[],"needs":["git_object_free","git_object_id","git_object_lookup","git_object_lookup_prefix","git_object_owner","git_object_type","git_tag_create","git_tag_create_lightweight","git_tag_target","git_tree_entry_2object"]}}],["git_odb",{"decl":"git_odb","type":"struct","value":"git_odb","file":"git2/types.h","line":78,"lineto":78,"tdef":"typedef","description":" An open object database handle. ","comments":"","used":{"returns":[],"needs":["git_odb_add_alternate","git_odb_add_backend","git_odb_exists","git_odb_free","git_odb_new","git_odb_object_data","git_odb_object_free","git_odb_object_id","git_odb_object_type","git_odb_open","git_odb_open_rstream","git_odb_read","git_odb_read_prefix","git_repository_odb","git_repository_set_odb"]}}],["git_odb_backend",{"decl":"git_odb_backend","type":"struct","value":"git_odb_backend","file":"git2/types.h","line":81,"lineto":81,"block":"git_odb * odb\nint (*)(void **, int *, git_otype *, struct git_odb_backend *, const git_oid *) read\nint (*)(git_oid *, void **, int *, git_otype *, struct git_odb_backend *, const git_oid *, unsigned int) read_prefix\nint (*)(int *, git_otype *, struct git_odb_backend *, const git_oid *) read_header\nint (*)(git_oid *, struct git_odb_backend *, const void *, int, git_otype) write\nint (*)(struct git_odb_stream **, struct git_odb_backend *, int, git_otype) writestream\nint (*)(struct git_odb_stream **, struct git_odb_backend *, const git_oid *) readstream\nint (*)(struct git_odb_backend *, const git_oid *) exists\nvoid (*)(struct git_odb_backend *) free","tdef":"typedef","description":" A custom backend in an ODB ","comments":"","fields":[{"type":"git_odb *","name":"odb","comments":""},{"type":"int (*)(void **, int *, git_otype *, struct git_odb_backend *, const git_oid *)","name":"read","comments":""},{"type":"int (*)(git_oid *, void **, int *, git_otype *, struct git_odb_backend *, const git_oid *, unsigned int)","name":"read_prefix","comments":""},{"type":"int (*)(int *, git_otype *, struct git_odb_backend *, const git_oid *)","name":"read_header","comments":""},{"type":"int (*)(git_oid *, struct git_odb_backend *, const void *, int, git_otype)","name":"write","comments":""},{"type":"int (*)(struct git_odb_stream **, struct git_odb_backend *, int, git_otype)","name":"writestream","comments":""},{"type":"int (*)(struct git_odb_stream **, struct git_odb_backend *, const git_oid *)","name":"readstream","comments":""},{"type":"int (*)(struct git_odb_backend *, const git_oid *)","name":"exists","comments":""},{"type":"void (*)(struct git_odb_backend *)","name":"free","comments":""}],"used":{"returns":[],"needs":["git_odb_add_alternate","git_odb_add_backend"]}}],["git_odb_object",{"decl":"git_odb_object","type":"struct","value":"git_odb_object","file":"git2/types.h","line":84,"lineto":84,"tdef":"typedef","description":" An object read from the ODB ","comments":"","used":{"returns":[],"needs":["git_odb_object_data","git_odb_object_free","git_odb_object_id","git_odb_object_type","git_odb_read","git_odb_read_prefix"]}}],["git_odb_stream",{"decl":"git_odb_stream","type":"struct","value":"git_odb_stream","file":"git2/types.h","line":87,"lineto":87,"tdef":"typedef","description":" A stream to read/write from the ODB ","comments":"","fields":[{"type":"struct git_odb_backend *","name":"backend","comments":""},{"type":"int","name":"mode","comments":""},{"type":"int (*)(struct git_odb_stream *, char *, int)","name":"read","comments":""},{"type":"int (*)(struct git_odb_stream *, const char *, int)","name":"write","comments":""},{"type":"int (*)(git_oid *, struct git_odb_stream *)","name":"finalize_write","comments":""},{"type":"void (*)(struct git_odb_stream *)","name":"free","comments":""}],"block":"struct git_odb_backend * backend\nint mode\nint (*)(struct git_odb_stream *, char *, int) read\nint (*)(struct git_odb_stream *, const char *, int) write\nint (*)(git_oid *, struct git_odb_stream *) finalize_write\nvoid (*)(struct git_odb_stream *) free","used":{"returns":[],"needs":["git_odb_open_rstream"]}}],["git_odb_streammode",{"decl":["GIT_STREAM_RDONLY","GIT_STREAM_WRONLY","GIT_STREAM_RW"],"type":"enum","file":"git2/odb_backend.h","line":89,"lineto":93,"block":"GIT_STREAM_RDONLY\nGIT_STREAM_WRONLY\nGIT_STREAM_RW","tdef":"typedef","description":" Streaming mode ","comments":"","fields":[{"type":"int","name":"GIT_STREAM_RDONLY","comments":"","value":2},{"type":"int","name":"GIT_STREAM_WRONLY","comments":"","value":4},{"type":"int","name":"GIT_STREAM_RW","comments":"","value":6}],"used":{"returns":[],"needs":[]}}],["git_oid",{"decl":"git_oid","type":"struct","value":"git_oid","file":"git2/oid.h","line":33,"lineto":33,"tdef":"typedef","description":" Unique identity of any object (commit, tree, blob, tag). ","comments":"","used":{"returns":["git_commit_id","git_commit_parent_oid","git_commit_tree_oid","git_indexer_hash","git_object_id","git_odb_object_id","git_reference_oid","git_reflog_entry_oidnew","git_reflog_entry_oidold","git_tag_id","git_tag_target_oid","git_tree_entry_id","git_tree_id"],"needs":["git_blob_create_fromfile","git_blob_lookup","git_blob_lookup_prefix","git_commit_create","git_commit_create_v","git_commit_lookup","git_commit_lookup_prefix","git_object_lookup","git_object_lookup_prefix","git_odb_exists","git_odb_hashfile","git_odb_open_rstream","git_odb_read","git_odb_read_prefix","git_oid_allocfmt","git_oid_cmp","git_oid_cpy","git_oid_fmt","git_oid_fromraw","git_oid_fromstr","git_oid_ncmp","git_oid_pathfmt","git_oid_shorten_add","git_oid_shorten_free","git_oid_streq","git_reference_create_oid","git_reference_set_oid","git_reflog_write","git_revwalk_hide","git_revwalk_next","git_revwalk_push","git_tag_create","git_tag_create_frombuffer","git_tag_create_lightweight","git_tag_lookup","git_tag_lookup_prefix","git_tree_create_fromindex","git_tree_lookup","git_tree_lookup_prefix","git_treebuilder_insert","git_treebuilder_write"]}}],["git_oid_shorten",{"decl":"git_oid_shorten","type":"struct","value":"git_oid_shorten","file":"git2/oid.h","line":165,"lineto":165,"tdef":"typedef","description":" OID Shortener object","comments":"","used":{"returns":[],"needs":["git_oid_shorten_add","git_oid_shorten_free"]}}],["git_otype",{"decl":["GIT_OBJ_ANY","GIT_OBJ_BAD","GIT_OBJ__EXT1","GIT_OBJ_COMMIT","GIT_OBJ_TREE","GIT_OBJ_BLOB","GIT_OBJ_TAG","GIT_OBJ__EXT2","GIT_OBJ_OFS_DELTA","GIT_OBJ_REF_DELTA"],"type":"enum","file":"git2/types.h","line":64,"lineto":75,"block":"GIT_OBJ_ANY\nGIT_OBJ_BAD\nGIT_OBJ__EXT1\nGIT_OBJ_COMMIT\nGIT_OBJ_TREE\nGIT_OBJ_BLOB\nGIT_OBJ_TAG\nGIT_OBJ__EXT2\nGIT_OBJ_OFS_DELTA\nGIT_OBJ_REF_DELTA","tdef":"typedef","description":" Basic type (loose or packed) of any Git object. ","comments":"","fields":[{"type":"int","name":"GIT_OBJ_ANY","comments":"

Object can be any of the following

\n","value":-2},{"type":"int","name":"GIT_OBJ_BAD","comments":"

Object is invalid.

\n","value":-1},{"type":"int","name":"GIT_OBJ__EXT1","comments":"

Reserved for future use.

\n","value":0},{"type":"int","name":"GIT_OBJ_COMMIT","comments":"

A commit object.

\n","value":1},{"type":"int","name":"GIT_OBJ_TREE","comments":"

A tree (directory listing) object.

\n","value":2},{"type":"int","name":"GIT_OBJ_BLOB","comments":"

A file revision object.

\n","value":3},{"type":"int","name":"GIT_OBJ_TAG","comments":"

An annotated tag object.

\n","value":4},{"type":"int","name":"GIT_OBJ__EXT2","comments":"

Reserved for future use.

\n","value":5},{"type":"int","name":"GIT_OBJ_OFS_DELTA","comments":"

A delta, base is given by an offset.

\n","value":6},{"type":"int","name":"GIT_OBJ_REF_DELTA","comments":"

A delta, base is given by object id.

\n","value":7}],"used":{"returns":["git_object_string2type","git_object_type","git_odb_object_type","git_tag_type","git_tree_entry_type"],"needs":["git_object_lookup","git_object_lookup_prefix","git_object_type2string","git_object_typeisloose","git_odb_hashfile"]}}],["git_reference",{"decl":"git_reference","type":"struct","value":"git_reference","file":"git2/types.h","line":148,"lineto":148,"tdef":"typedef","description":" In-memory representation of a reference. ","comments":"","used":{"returns":[],"needs":["git_reference_create_oid","git_reference_create_symbolic","git_reference_delete","git_reference_free","git_reference_is_packed","git_reference_lookup","git_reference_name","git_reference_oid","git_reference_owner","git_reference_reload","git_reference_rename","git_reference_resolve","git_reference_set_oid","git_reference_set_target","git_reference_target","git_reference_type","git_reflog_delete","git_reflog_read","git_reflog_rename","git_reflog_write","git_repository_head"]}}],["git_reflog",{"decl":"git_reflog","type":"struct","value":"git_reflog","file":"git2/types.h","line":132,"lineto":132,"tdef":"typedef","description":" Representation of a reference log ","comments":"","used":{"returns":["git_reflog_entry_byindex"],"needs":["git_reflog_entry_byindex","git_reflog_entry_committer","git_reflog_entry_msg","git_reflog_entry_oidnew","git_reflog_entry_oidold","git_reflog_entrycount","git_reflog_free","git_reflog_read"]}}],["git_reflog_entry",{"decl":"git_reflog_entry","type":"struct","value":"git_reflog_entry","file":"git2/types.h","line":129,"lineto":129,"tdef":"typedef","description":" Representation of a reference log entry ","comments":"","used":{"returns":["git_reflog_entry_byindex"],"needs":["git_reflog_entry_committer","git_reflog_entry_msg","git_reflog_entry_oidnew","git_reflog_entry_oidold"]}}],["git_remote_head",{"decl":["int local","git_oid oid","git_oid loid","char * name"],"type":"struct","value":"git_remote_head","file":"git2/net.h","line":37,"lineto":42,"block":"int local\ngit_oid oid\ngit_oid loid\nchar * name","tdef":null,"description":" Remote head description, given out on `ls` calls.","comments":"","fields":[{"type":"int","name":"local","comments":""},{"type":"git_oid","name":"oid","comments":""},{"type":"git_oid","name":"loid","comments":""},{"type":"char *","name":"name","comments":""}],"used":{"returns":[],"needs":["git_headlist_cb"]}}],["git_repository",{"decl":"git_repository","type":"struct","value":"git_repository","file":"git2/types.h","line":93,"lineto":93,"tdef":"typedef","description":" Representation of an existing git repository,\n including all its object contents","comments":"","used":{"returns":["git_object_owner","git_reference_owner","git_revwalk_repository"],"needs":["git_attr_add_macro","git_attr_cache_flush","git_attr_foreach","git_attr_get","git_blob_create_fromfile","git_blob_lookup","git_blob_lookup_prefix","git_commit_create","git_commit_create_v","git_commit_lookup","git_commit_lookup_prefix","git_object_lookup","git_object_lookup_prefix","git_reference_create_oid","git_reference_create_symbolic","git_reference_foreach","git_reference_listall","git_reference_lookup","git_reference_packall","git_remote_load","git_remote_new","git_repository_config","git_repository_free","git_repository_head","git_repository_head_detached","git_repository_head_orphan","git_repository_index","git_repository_init","git_repository_is_bare","git_repository_is_empty","git_repository_odb","git_repository_open","git_repository_path","git_repository_set_config","git_repository_set_index","git_repository_set_odb","git_repository_set_workdir","git_repository_workdir","git_revwalk_new","git_status_file","git_status_foreach","git_status_should_ignore","git_tag_create","git_tag_create_frombuffer","git_tag_create_lightweight","git_tag_delete","git_tag_list","git_tag_list_match","git_tag_lookup","git_tag_lookup_prefix","git_tree_entry_2object","git_tree_lookup","git_tree_lookup_prefix","git_treebuilder_write"]}}],["git_revwalk",{"decl":"git_revwalk","type":"struct","value":"git_revwalk","file":"git2/types.h","line":99,"lineto":99,"tdef":"typedef","description":" Representation of an in-progress walk through the commits in a repo ","comments":"","used":{"returns":[],"needs":["git_revwalk_free","git_revwalk_hide","git_revwalk_new","git_revwalk_next","git_revwalk_push","git_revwalk_repository","git_revwalk_reset","git_revwalk_sorting"]}}],["git_rtype",{"decl":["GIT_REF_INVALID","GIT_REF_OID","GIT_REF_SYMBOLIC","GIT_REF_PACKED","GIT_REF_HAS_PEEL","GIT_REF_LISTALL"],"type":"enum","file":"git2/types.h","line":151,"lineto":158,"block":"GIT_REF_INVALID\nGIT_REF_OID\nGIT_REF_SYMBOLIC\nGIT_REF_PACKED\nGIT_REF_HAS_PEEL\nGIT_REF_LISTALL","tdef":"typedef","description":" Basic type of any Git reference. ","comments":"","fields":[{"type":"int","name":"GIT_REF_INVALID","comments":"","value":0},{"type":"int","name":"GIT_REF_OID","comments":"

Invalid reference

\n","value":1},{"type":"int","name":"GIT_REF_SYMBOLIC","comments":"

A reference which points at an object id

\n","value":2},{"type":"int","name":"GIT_REF_PACKED","comments":"

A reference which points at another reference

\n","value":4},{"type":"int","name":"GIT_REF_HAS_PEEL","comments":"

A reference which points at another reference

\n","value":8},{"type":"int","name":"GIT_REF_LISTALL","comments":"

A reference which points at another reference

\n","value":7}],"used":{"returns":["git_reference_type"],"needs":[]}}],["git_signature",{"decl":["char * name","char * email","git_time when"],"type":"struct","value":"git_signature","file":"git2/types.h","line":141,"lineto":145,"block":"char * name\nchar * email\ngit_time when","tdef":"typedef","description":" An action signature (e.g. for committers, taggers, etc) ","comments":"","fields":[{"type":"char *","name":"name","comments":""},{"type":"char *","name":"email","comments":" full name of the author "},{"type":"git_time","name":"when","comments":" email of the author "}],"used":{"returns":["git_commit_author","git_commit_committer","git_reflog_entry_committer","git_signature_dup","git_tag_tagger"],"needs":["git_commit_create","git_commit_create_v","git_reflog_write","git_signature_dup","git_signature_free","git_signature_new","git_signature_now","git_tag_create"]}}],["git_status_t",{"decl":["GIT_STATUS_ADDED","GIT_STATUS_DELETED","GIT_STATUS_MODIFIED"],"type":"enum","file":"git2/tree.h","line":318,"lineto":322,"block":"GIT_STATUS_ADDED\nGIT_STATUS_DELETED\nGIT_STATUS_MODIFIED","tdef":"typedef","description":" \n@\n} ","comments":"","fields":[{"type":"int","name":"GIT_STATUS_ADDED","comments":"","value":1},{"type":"int","name":"GIT_STATUS_DELETED","comments":"","value":2},{"type":"int","name":"GIT_STATUS_MODIFIED","comments":"","value":3}],"used":{"returns":[],"needs":[]}}],["git_tag",{"decl":"git_tag","type":"struct","value":"git_tag","file":"git2/types.h","line":102,"lineto":102,"tdef":"typedef","description":" Parsed representation of a tag object. ","comments":"","used":{"returns":[],"needs":["git_tag_free","git_tag_id","git_tag_lookup","git_tag_lookup_prefix","git_tag_message","git_tag_name","git_tag_tagger","git_tag_target","git_tag_target_oid","git_tag_type"]}}],["git_time",{"decl":["git_time_t time","int offset"],"type":"struct","value":"git_time","file":"git2/types.h","line":135,"lineto":138,"block":"git_time_t time\nint offset","tdef":"typedef","description":" Time in a signature ","comments":"","fields":[{"type":"git_time_t","name":"time","comments":""},{"type":"int","name":"offset","comments":" time in seconds from epoch "}],"used":{"returns":["git_commit_time"],"needs":["git_signature_new"]}}],["git_tree",{"decl":"git_tree","type":"struct","value":"git_tree","file":"git2/types.h","line":114,"lineto":114,"tdef":"typedef","description":" Representation of a tree object. ","comments":"","used":{"returns":["git_tree_entry_byindex","git_tree_entry_byname","git_treebuilder_get"],"needs":["git_commit_create","git_commit_create_v","git_commit_tree","git_index_read_tree","git_tree_diff","git_tree_entry_2object","git_tree_entry_attributes","git_tree_entry_byindex","git_tree_entry_byname","git_tree_entry_id","git_tree_entry_name","git_tree_entry_type","git_tree_entrycount","git_tree_free","git_tree_get_subtree","git_tree_id","git_tree_lookup","git_tree_lookup_prefix","git_tree_walk","git_treebuilder_clear","git_treebuilder_create","git_treebuilder_filter","git_treebuilder_free","git_treebuilder_get","git_treebuilder_insert","git_treebuilder_remove","git_treebuilder_write","git_treewalk_cb"]}}],["git_tree_entry",{"decl":"git_tree_entry","type":"struct","value":"git_tree_entry","file":"git2/types.h","line":111,"lineto":111,"tdef":"typedef","description":" Representation of each one of the entries in a tree object. ","comments":"","used":{"returns":["git_tree_entry_byindex","git_tree_entry_byname","git_treebuilder_get"],"needs":["git_tree_entry_2object","git_tree_entry_attributes","git_tree_entry_id","git_tree_entry_name","git_tree_entry_type","git_treebuilder_filter","git_treebuilder_insert","git_treewalk_cb"]}}],["git_treebuilder",{"decl":"git_treebuilder","type":"struct","value":"git_treebuilder","file":"git2/types.h","line":117,"lineto":117,"tdef":"typedef","description":" Constructor for in-memory trees ","comments":"","used":{"returns":[],"needs":["git_treebuilder_clear","git_treebuilder_create","git_treebuilder_filter","git_treebuilder_free","git_treebuilder_get","git_treebuilder_insert","git_treebuilder_remove","git_treebuilder_write"]}}],["git_treewalk_mode",{"decl":["GIT_TREEWALK_PRE","GIT_TREEWALK_POST"],"type":"enum","file":"git2/tree.h","line":290,"lineto":293,"block":"GIT_TREEWALK_PRE\nGIT_TREEWALK_POST","tdef":null,"description":" Tree traversal modes ","comments":"","fields":[{"type":"int","name":"GIT_TREEWALK_PRE","comments":"","value":0},{"type":"int","name":"GIT_TREEWALK_POST","comments":"","value":1}],"used":{"returns":[],"needs":[]}}]],"prefix":"include","groups":[["attr",["git_attr_add_macro","git_attr_cache_flush","git_attr_foreach","git_attr_get"]],["blob",["git_blob_create_fromfile","git_blob_free","git_blob_lookup","git_blob_lookup_prefix","git_blob_rawcontent"]],["clearerror",["git_clearerror"]],["commit",["git_commit_author","git_commit_committer","git_commit_create","git_commit_create_v","git_commit_free","git_commit_id","git_commit_lookup","git_commit_lookup_prefix","git_commit_message","git_commit_message_encoding","git_commit_parent","git_commit_parent_oid","git_commit_parentcount","git_commit_time","git_commit_time_offset","git_commit_tree","git_commit_tree_oid"]],["config",["git_config_add_file","git_config_add_file_ondisk","git_config_delete","git_config_file__ondisk","git_config_find_global","git_config_find_system","git_config_foreach","git_config_free","git_config_get_bool","git_config_get_int32","git_config_get_int64","git_config_get_string","git_config_new","git_config_open_global","git_config_open_ondisk","git_config_set_bool","git_config_set_int32","git_config_set_int64","git_config_set_string"]],["gitwin",["gitwin_get_codepage","gitwin_set_codepage","gitwin_set_utf8"]],["index",["git_index_add","git_index_add2","git_index_append","git_index_append2","git_index_clear","git_index_entry_stage","git_index_entrycount","git_index_entrycount_unmerged","git_index_find","git_index_free","git_index_get","git_index_get_unmerged_byindex","git_index_get_unmerged_bypath","git_index_open","git_index_read","git_index_read_tree","git_index_remove","git_index_uniq","git_index_write"]],["indexer",["git_indexer_free","git_indexer_hash","git_indexer_new","git_indexer_run","git_indexer_write"]],["lasterror",["git_lasterror"]],["libgit2",["git_libgit2_version"]],["object",["git_object_free","git_object_id","git_object_lookup","git_object_lookup_prefix","git_object_owner","git_object_string2type","git_object_type","git_object_type2string","git_object_typeisloose"]],["odb",["git_odb_add_alternate","git_odb_add_backend","git_odb_exists","git_odb_free","git_odb_hashfile","git_odb_new","git_odb_object_data","git_odb_object_free","git_odb_object_id","git_odb_object_type","git_odb_open","git_odb_open_rstream","git_odb_read","git_odb_read_prefix"]],["oid",["git_oid_allocfmt","git_oid_cmp","git_oid_cpy","git_oid_fmt","git_oid_fromraw","git_oid_fromstr","git_oid_ncmp","git_oid_pathfmt","git_oid_shorten_add","git_oid_shorten_free","git_oid_streq"]],["reference",["git_reference_create_oid","git_reference_create_symbolic","git_reference_delete","git_reference_foreach","git_reference_free","git_reference_is_packed","git_reference_listall","git_reference_lookup","git_reference_name","git_reference_oid","git_reference_owner","git_reference_packall","git_reference_reload","git_reference_rename","git_reference_resolve","git_reference_set_oid","git_reference_set_target","git_reference_target","git_reference_type"]],["reflog",["git_reflog_delete","git_reflog_entry_byindex","git_reflog_entry_committer","git_reflog_entry_msg","git_reflog_entry_oidnew","git_reflog_entry_oidold","git_reflog_entrycount","git_reflog_free","git_reflog_read","git_reflog_rename","git_reflog_write"]],["refspec",["git_refspec_dst","git_refspec_src","git_refspec_src_match"]],["remote",["git_remote_connect","git_remote_connected","git_remote_disconnect","git_remote_download","git_remote_fetchspec","git_remote_free","git_remote_load","git_remote_ls","git_remote_name","git_remote_new","git_remote_pushspec","git_remote_update_tips","git_remote_url","git_remote_valid_url"]],["repository",["git_repository_config","git_repository_free","git_repository_head","git_repository_head_detached","git_repository_head_orphan","git_repository_index","git_repository_init","git_repository_is_bare","git_repository_is_empty","git_repository_odb","git_repository_open","git_repository_path","git_repository_set_config","git_repository_set_index","git_repository_set_odb","git_repository_set_workdir","git_repository_workdir"]],["revwalk",["git_revwalk_free","git_revwalk_hide","git_revwalk_new","git_revwalk_next","git_revwalk_push","git_revwalk_repository","git_revwalk_reset","git_revwalk_sorting"]],["signature",["git_signature_dup","git_signature_free","git_signature_new","git_signature_now"]],["status",["git_status_file","git_status_foreach","git_status_should_ignore"]],["strerror",["git_strerror"]],["tag",["git_tag_create","git_tag_create_frombuffer","git_tag_create_lightweight","git_tag_delete","git_tag_free","git_tag_id","git_tag_list","git_tag_list_match","git_tag_lookup","git_tag_lookup_prefix","git_tag_message","git_tag_name","git_tag_tagger","git_tag_target","git_tag_target_oid","git_tag_type"]],["threads",["git_threads_init","git_threads_shutdown"]],["tree",["git_tree_create_fromindex","git_tree_diff","git_tree_entry_2object","git_tree_entry_attributes","git_tree_entry_byindex","git_tree_entry_byname","git_tree_entry_id","git_tree_entry_name","git_tree_entry_type","git_tree_entrycount","git_tree_free","git_tree_get_subtree","git_tree_id","git_tree_lookup","git_tree_lookup_prefix","git_tree_walk"]],["treebuilder",["git_treebuilder_clear","git_treebuilder_create","git_treebuilder_filter","git_treebuilder_free","git_treebuilder_get","git_treebuilder_insert","git_treebuilder_remove","git_treebuilder_write"]]],"examples":[["general.c","ex/v0.16.0/general.html"],["network/fetch.c","ex/v0.16.0/network/fetch.html"],["network/git2.c","ex/v0.16.0/network/git2.html"],["network/index-pack.c","ex/v0.16.0/network/index-pack.html"],["network/ls-remote.c","ex/v0.16.0/network/ls-remote.html"],["showindex.c","ex/v0.16.0/showindex.html"]]}