blob: de5744f7233f4df9200c9772e5c53acab4dcb845 [file] [log] [blame]
{"files":[{"file":"attr.h","functions":["git_attr_get","git_attr_foreach","git_attr_cache_flush","git_attr_add_macro"],"meta":{},"lines":219},{"file":"blob.h","functions":["git_blob_lookup","git_blob_lookup_prefix","git_blob_free","git_blob_rawcontent","git_blob_create_fromfile","git_blob_create_fromdisk"],"meta":{},"lines":116},{"file":"branch.h","functions":["git_branch_delete","git_branch_list","git_branch_move"],"meta":{},"lines":118},{"file":"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":266},{"file":"common.h","functions":["git_libgit2_version"],"meta":{},"lines":100},{"file":"config.h","functions":["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_get_multivar","git_config_set_int32","git_config_set_int64","git_config_set_bool","git_config_set_string","git_config_set_multivar","git_config_delete","git_config_foreach"],"meta":{},"lines":315},{"file":"diff.h","functions":["git_diff_file_fn","git_diff_hunk_fn","git_diff_data_fn","git_diff_list_free","git_diff_tree_to_tree","git_diff_index_to_tree","git_diff_workdir_to_index","git_diff_workdir_to_tree","git_diff_merge","git_diff_foreach","git_diff_print_compact","git_diff_print_patch","git_diff_blobs"],"meta":{},"lines":356},{"file":"errors.h","functions":["giterr_last","giterr_clear"],"meta":{},"lines":104},{"file":"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":"indexer.h","functions":["git_indexer_stream_new","git_indexer_stream_finalize","git_indexer_stream_hash","git_indexer_stream_free","git_indexer_new","git_indexer_run","git_indexer_write","git_indexer_hash","git_indexer_free"],"meta":{},"lines":117},{"file":"merge.h","functions":["git_merge_base"],"meta":{},"lines":31},{"file":"net.h","functions":["git_headlist_cb"],"meta":{},"lines":47},{"file":"notes.h","functions":["git_note_read","git_note_message","git_note_oid","git_note_create","git_note_remove","git_note_free","git_note_default_ref","git_note_foreach"],"meta":{},"lines":135},{"file":"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":"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":"odb_backend.h","functions":[],"meta":{},"lines":93},{"file":"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_iszero","git_oid_shorten_add","git_oid_shorten_free"],"meta":{},"lines":219},{"file":"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":"refs.h","functions":["git_reference_lookup","git_reference_name_to_oid","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_list","git_reference_foreach","git_reference_is_packed","git_reference_reload","git_reference_free","git_reference_cmp"],"meta":{},"lines":325},{"file":"refspec.h","functions":["git_refspec_src","git_refspec_dst","git_refspec_src_matches"],"meta":{},"lines":45},{"file":"remote.h","functions":["git_remote_new","git_remote_load","git_remote_save","git_remote_name","git_remote_url","git_remote_set_fetchspec","git_remote_fetchspec","git_remote_set_pushspec","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","git_remote_supported_url","git_remote_list","git_remote_add"],"meta":{},"lines":230},{"file":"repository.h","functions":["git_repository_open","git_repository_open_ext","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":300},{"file":"revwalk.h","functions":["git_revwalk_new","git_revwalk_reset","git_revwalk_push","git_revwalk_push_glob","git_revwalk_push_head","git_revwalk_hide","git_revwalk_hide_glob","git_revwalk_hide_head","git_revwalk_push_ref","git_revwalk_hide_ref","git_revwalk_next","git_revwalk_sorting","git_revwalk_free","git_revwalk_repository"],"meta":{},"lines":233},{"file":"signature.h","functions":["git_signature_new","git_signature_now","git_signature_dup","git_signature_free"],"meta":{},"lines":61},{"file":"status.h","functions":["git_status_foreach","git_status_foreach_ext","git_status_file","git_status_should_ignore"],"meta":{},"lines":160},{"file":"submodule.h","functions":["git_submodule_foreach","git_submodule_lookup"],"meta":{},"lines":99},{"file":"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","git_tag_peel"],"meta":{},"lines":293},{"file":"threads.h","functions":["git_threads_init","git_threads_shutdown"],"meta":{},"lines":43},{"file":"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_to_object","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"],"meta":{},"lines":313},{"file":"types.h","functions":[],"meta":{},"lines":167},{"file":"windows.h","functions":["gitwin_set_codepage","gitwin_get_codepage","gitwin_set_utf8"],"meta":{},"lines":54}],"functions":{"git_attr_get":{"type":"function","file":"attr.h","line":126,"lineto":131,"args":[{"name":"value_out","type":"const char **","comment":"Output of the value of the attribute. Use the GIT_ATTR_...\n macros to test for TRUE, FALSE, UNSPECIFIED, etc. or just\n use the string value for attributes set to a value. You\n should NOT modify or free this value."},{"name":"repo","type":"git_repository *","comment":"The repository containing the path."},{"name":"flags","type":"uint32_t","comment":"A combination of GIT_ATTR_CHECK... flags."},{"name":"path","type":"const char *","comment":"The path to check for attributes. Relative paths are\n interpreted relative to the repo root. The file does\n not have to exist, but if it does not, then it will be\n treated as a plain file (not a directory)."},{"name":"name","type":"const char *","comment":"The name of the attribute to look up."}],"argline":"const char **value_out, git_repository *repo, uint32_t flags, const char *path, const char *name","sig":"const char **::git_repository *::uint32_t::const char *::const char *","return":{"type":"int","comment":null},"description":"<p>Look up the value of one git attribute for path.</p>\n","comments":"","group":"attr"},"git_attr_foreach":{"type":"function","file":"attr.h","line":188,"lineto":193,"args":[{"name":"repo","type":"git_repository *","comment":"The repository containing the path."},{"name":"flags","type":"uint32_t","comment":"A combination of GIT_ATTR_CHECK... flags."},{"name":"path","type":"const char *","comment":"The path inside the repo to check attributes. This\n does not have to exist, but if it does not, then\n it will be treated as a plain file (i.e. not a directory)."},{"name":"callback","type":"int (*)(const char *, const char *, void *)","comment":"The function that will be invoked on each attribute\n and attribute value. The name parameter will be the name\n of the attribute and the value will be the value it is\n set to, including possibly NULL if the attribute is\n explicitly set to UNSPECIFIED using the ! sign. This\n will be invoked only once per attribute name, even if\n there are multiple rules for a given file. The highest\n priority rule will be used."},{"name":"payload","type":"void *","comment":"Passed on as extra parameter to callback function."}],"argline":"git_repository *repo, uint32_t flags, const char *path, int (*)(const char *, const char *, void *) callback, void *payload","sig":"git_repository *::uint32_t::const char *::int (*)(const char *, const char *, void *)::void *","return":{"type":"int","comment":null},"description":"<p>Loop over all the git attributes for a path.</p>\n","comments":"","group":"attr"},"git_attr_cache_flush":{"type":"function","file":"attr.h","line":203,"lineto":204,"args":[{"name":"repo","type":"git_repository *","comment":null}],"argline":"git_repository *repo","sig":"git_repository *","return":{"type":"void","comment":null},"description":"<p>Flush the gitattributes cache.</p>\n","comments":"<p>Call this if you have reason to believe that the attributes files on disk no longer match the cached contents of memory. This will cause the attributes files to be reloaded the next time that an attribute access function is called.</p>\n","group":"attr"},"git_attr_add_macro":{"type":"function","file":"attr.h","line":216,"lineto":219,"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":"<p>Add a macro definition.</p>\n","comments":"<p>Macros will automatically be loaded from the top level <code>.gitattributes</code> file of the repository (plus the build-in &quot;binary&quot; macro). This function allows you to add others. For example, to add the default macro, you would call:</p>\n\n<pre><code>git_attr_add_macro(repo, &quot;binary&quot;, &quot;-diff -crlf&quot;);\n</code></pre>\n","group":"attr"},"git_blob_lookup":{"type":"function","file":"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":" 0 or an error code"},"description":"<p>Lookup a blob object from a repository.</p>\n","comments":"","group":"blob","examples":{"general.c":["ex/v0.17.0/general.html#git_blob_lookup-1"]}},"git_blob_lookup_prefix":{"type":"function","file":"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":" 0 or an error code"},"description":"<p>Lookup a blob object from a repository,\n given a prefix of its identifier (short id).</p>\n","comments":"","group":"blob"},"git_blob_free":{"type":"function","file":"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":"<p>Close an open blob</p>\n","comments":"<p>This is a wrapper around git_object_free()</p>\n\n<p>IMPORTANT: It <em>is</em> necessary to call this method when you stop using a blob. Failure to do so will cause a memory leak.</p>\n","group":"blob"},"git_blob_rawcontent":{"type":"function","file":"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":"<p>Get a read-only buffer with the raw content of a blob.</p>\n","comments":"<p>A pointer to the raw content of a blob is returned; this pointer is owned internally by the object and shall not be free&#39;d. The pointer may be invalidated at a later time.</p>\n","group":"blob","examples":{"general.c":["ex/v0.17.0/general.html#git_blob_rawcontent-2"]}},"git_blob_create_fromfile":{"type":"function","file":"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":" 0 or an error code"},"description":"<p>Read a file from the working folder of a repository\n and write it to the Object Database as a loose blob</p>\n","comments":"","group":"blob"},"git_blob_create_fromdisk":{"type":"function","file":"blob.h","line":116,"lineto":116,"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 can be bare or not"},{"name":"path","type":"const char *","comment":"file from which the blob will be created"}],"argline":"git_oid *oid, git_repository *repo, const char *path","sig":"git_oid *::git_repository *::const char *","return":{"type":"int","comment":" 0 or an error code"},"description":"<p>Read a file from the filesystem and write its content\n to the Object Database as a loose blob</p>\n","comments":"","group":"blob"},"git_branch_delete":{"type":"function","file":"branch.h","line":69,"lineto":72,"args":[{"name":"repo","type":"git_repository *","comment":"Repository where lives the branch."},{"name":"branch_name","type":"const char *","comment":"Name of the branch to be deleted;\n this name is validated for consistency."},{"name":"branch_type","type":"git_branch_t","comment":"Type of the considered branch. This should\n be valued with either GIT_BRANCH_LOCAL or GIT_BRANCH_REMOTE."}],"argline":"git_repository *repo, const char *branch_name, git_branch_t branch_type","sig":"git_repository *::const char *::git_branch_t","return":{"type":"int","comment":" 0 on success, GIT_ENOTFOUND if the branch\n doesn't exist or an error code."},"description":"<p>Delete an existing branch reference.</p>\n","comments":"","group":"branch"},"git_branch_list":{"type":"function","file":"branch.h","line":93,"lineto":96,"args":[{"name":"branch_names","type":"git_strarray *","comment":"Pointer to a git_strarray structure\n where the branch names will be stored."},{"name":"repo","type":"git_repository *","comment":"Repository where to find the branches."},{"name":"list_flags","type":"unsigned int","comment":"Filtering flags for the branch\n listing. Valid values are GIT_BRANCH_LOCAL, GIT_BRANCH_REMOTE\n or a combination of the two."}],"argline":"git_strarray *branch_names, git_repository *repo, unsigned int list_flags","sig":"git_strarray *::git_repository *::unsigned int","return":{"type":"int","comment":" 0 or an error code."},"description":"<p>Fill a list with all the branches in the Repository</p>\n","comments":"<p>The string array will be filled with the names of the matching branches; these values are owned by the user and should be free&#39;d manually when no longer needed, using <code>git_strarray_free</code>.</p>\n","group":"branch"},"git_branch_move":{"type":"function","file":"branch.h","line":114,"lineto":118,"args":[{"name":"repo","type":"git_repository *","comment":"Repository where lives the branch."},{"name":"old_branch_name","type":"const char *","comment":"Current name of the branch to be moved;\n this name is validated for consistency."},{"name":"new_branch_name","type":"const char *","comment":"Target name of the branch once the move\n is performed; this name is validated for consistency."},{"name":"force","type":"int","comment":"Overwrite existing branch."}],"argline":"git_repository *repo, const char *old_branch_name, const char *new_branch_name, int force","sig":"git_repository *::const char *::const char *::int","return":{"type":"int","comment":" 0 on success, GIT_ENOTFOUND if the branch\n doesn't exist or an error code."},"description":"<p>Move/rename an existing branch reference.</p>\n","comments":"","group":"branch"},"git_commit_lookup":{"type":"function","file":"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":" 0 or an error code"},"description":"<p>Lookup a commit object from a repository.</p>\n","comments":"","group":"commit","examples":{"general.c":["ex/v0.17.0/general.html#git_commit_lookup-3","ex/v0.17.0/general.html#git_commit_lookup-4","ex/v0.17.0/general.html#git_commit_lookup-5"]}},"git_commit_lookup_prefix":{"type":"function","file":"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":" 0 or an error code"},"description":"<p>Lookup a commit object from a repository,\n given a prefix of its identifier (short id).</p>\n","comments":"","group":"commit"},"git_commit_free":{"type":"function","file":"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":"<p>Close an open commit</p>\n","comments":"<p>This is a wrapper around git_object_free()</p>\n\n<p>IMPORTANT: It <em>is</em> necessary to call this method when you stop using a commit. Failure to do so will cause a memory leak.</p>\n","group":"commit","examples":{"general.c":["ex/v0.17.0/general.html#git_commit_free-6","ex/v0.17.0/general.html#git_commit_free-7","ex/v0.17.0/general.html#git_commit_free-8","ex/v0.17.0/general.html#git_commit_free-9"]}},"git_commit_id":{"type":"function","file":"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":"<p>Get the id of a commit.</p>\n","comments":"","group":"commit","examples":{"general.c":["ex/v0.17.0/general.html#git_commit_id-10"]}},"git_commit_message_encoding":{"type":"function","file":"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":"<p>Get the encoding for the message of a commit,\n as a string representing a standard encoding name.</p>\n","comments":"<p>The encoding may be NULL if the <code>encoding</code> header in the commit is missing; in that case UTF-8 is assumed.</p>\n","group":"commit"},"git_commit_message":{"type":"function","file":"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":"<p>Get the full message of a commit.</p>\n","comments":"","group":"commit","examples":{"general.c":["ex/v0.17.0/general.html#git_commit_message-11","ex/v0.17.0/general.html#git_commit_message-12"]}},"git_commit_time":{"type":"function","file":"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":"<p>Get the commit time (i.e. committer time) of a commit.</p>\n","comments":"","group":"commit","examples":{"general.c":["ex/v0.17.0/general.html#git_commit_time-13","ex/v0.17.0/general.html#git_commit_time-14"]}},"git_commit_time_offset":{"type":"function","file":"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":"<p>Get the commit timezone offset (i.e. committer&#39;s preferred timezone) of a commit.</p>\n","comments":"","group":"commit"},"git_commit_committer":{"type":"function","file":"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":"<p>Get the committer of a commit.</p>\n","comments":"","group":"commit","examples":{"general.c":["ex/v0.17.0/general.html#git_commit_committer-15"]}},"git_commit_author":{"type":"function","file":"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":"<p>Get the author of a commit.</p>\n","comments":"","group":"commit","examples":{"general.c":["ex/v0.17.0/general.html#git_commit_author-16","ex/v0.17.0/general.html#git_commit_author-17"]}},"git_commit_tree":{"type":"function","file":"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":" 0 or an error code"},"description":"<p>Get the tree pointed to by a commit.</p>\n","comments":"","group":"commit"},"git_commit_tree_oid":{"type":"function","file":"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":"<p>Get the id of the tree pointed to by a commit. This differs from\n <code>git_commit_tree</code> in that no attempts are made to fetch an object\n from the ODB.</p>\n","comments":"","group":"commit"},"git_commit_parentcount":{"type":"function","file":"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":"<p>Get the number of parents of this commit</p>\n","comments":"","group":"commit","examples":{"general.c":["ex/v0.17.0/general.html#git_commit_parentcount-18"]}},"git_commit_parent":{"type":"function","file":"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":" 0 or an error code"},"description":"<p>Get the specified parent of the commit.</p>\n","comments":"","group":"commit","examples":{"general.c":["ex/v0.17.0/general.html#git_commit_parent-19"]}},"git_commit_parent_oid":{"type":"function","file":"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":"<p>Get the oid of a specified parent for a commit. This is different from\n <code>git_commit_parent</code>, which will attempt to load the parent commit from\n the ODB.</p>\n","comments":"","group":"commit"},"git_commit_create":{"type":"function","file":"commit.h","line":228,"lineto":238,"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. If the reference doesn't\n\texist yet, it will be created."},{"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":" 0 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":"<p>Create a new commit in the repository using <code>git_object</code>\n instances as parameters.</p>\n","comments":"<p>The message will be cleaned up from excess whitespace it will be made sure that the last line ends with a &#39;&#39;.</p>\n","group":"commit"},"git_commit_create_v":{"type":"function","file":"commit.h","line":256,"lineto":266,"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":"<p>Create a new commit in the repository using a variable\n argument list.</p>\n","comments":"<p>The message will be cleaned up from excess whitespace it will be made sure that the last line ends with a &#39;&#39;.</p>\n\n<p>The parents for the commit are specified as a variable list of pointers to <code>const git_commit *</code>. Note that this is a convenience method which may not be safe to export for certain languages or compilers</p>\n\n<p>All other parameters remain the same</p>\n","group":"commit","examples":{"general.c":["ex/v0.17.0/general.html#git_commit_create_v-20"]}},"git_libgit2_version":{"type":"function","file":"common.h","line":100,"lineto":100,"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":"<p>Return the version of the libgit2 library\n being currently used.</p>\n","comments":"","group":"libgit2"},"git_config_open_global":{"type":"function","file":"config.h","line":91,"lineto":91,"args":[{"name":"out","type":"git_config **","comment":"Pointer to store the config instance"}],"argline":"git_config **out","sig":"git_config **","return":{"type":"int","comment":" 0 or an error code"},"description":"<p>Open the global configuration file</p>\n","comments":"<p>Utility wrapper that calls <code>git_config_find_global</code> and opens the located file, if it exists.</p>\n","group":"config"},"git_config_file__ondisk":{"type":"function","file":"config.h","line":104,"lineto":104,"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":"<p>Create a configuration file backend for ondisk files</p>\n","comments":"<p>These are the normal <code>.gitconfig</code> 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.</p>\n","group":"config"},"git_config_new":{"type":"function","file":"config.h","line":115,"lineto":115,"args":[{"name":"out","type":"git_config **","comment":"pointer to the new configuration"}],"argline":"git_config **out","sig":"git_config **","return":{"type":"int","comment":" 0 or an error code"},"description":"<p>Allocate a new configuration object</p>\n","comments":"<p>This object is empty, so you have to add a file to it before you can do anything with it.</p>\n","group":"config"},"git_config_add_file":{"type":"function","file":"config.h","line":132,"lineto":132,"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":" 0 or an error code"},"description":"<p>Add a generic config file instance to an existing config</p>\n","comments":"<p>Note that the configuration object will free the file automatically.</p>\n\n<p>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).</p>\n","group":"config"},"git_config_add_file_ondisk":{"type":"function","file":"config.h","line":153,"lineto":153,"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":" 0 or an error code"},"description":"<p>Add an on-disk config file instance to an existing config</p>\n","comments":"<p>The on-disk file pointed at by <code>path</code> will be opened and parsed; it&#39;s expected to be a native Git config file following the default Git config syntax (see man git-config).</p>\n\n<p>Note that the configuration object will free the file automatically.</p>\n\n<p>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).</p>\n","group":"config"},"git_config_open_ondisk":{"type":"function","file":"config.h","line":168,"lineto":168,"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":" 0 or an error code"},"description":"<p>Create a new config instance containing a single on-disk file</p>\n","comments":"<p>This method is a simple utility wrapper for the following sequence of calls: - git_config_new - git_config_add_file_ondisk</p>\n","group":"config","examples":{"general.c":["ex/v0.17.0/general.html#git_config_open_ondisk-21"]}},"git_config_free":{"type":"function","file":"config.h","line":175,"lineto":175,"args":[{"name":"cfg","type":"git_config *","comment":"the configuration to free"}],"argline":"git_config *cfg","sig":"git_config *","return":{"type":"void","comment":null},"description":"<p>Free the configuration and its associated memory and files</p>\n","comments":"","group":"config"},"git_config_get_int32":{"type":"function","file":"config.h","line":185,"lineto":185,"args":[{"name":"out","type":"int32_t *","comment":"pointer to the variable where the value should be stored"},{"name":"cfg","type":"git_config *","comment":"where to look for the variable"},{"name":"name","type":"const char *","comment":"the variable's name"}],"argline":"int32_t *out, git_config *cfg, const char *name","sig":"int32_t *::git_config *::const char *","return":{"type":"int","comment":" 0 or an error code"},"description":"<p>Get the value of an integer config variable.</p>\n","comments":"","group":"config","examples":{"general.c":["ex/v0.17.0/general.html#git_config_get_int32-22"]}},"git_config_get_int64":{"type":"function","file":"config.h","line":195,"lineto":195,"args":[{"name":"out","type":"int64_t *","comment":"pointer to the variable where the value should be stored"},{"name":"cfg","type":"git_config *","comment":"where to look for the variable"},{"name":"name","type":"const char *","comment":"the variable's name"}],"argline":"int64_t *out, git_config *cfg, const char *name","sig":"int64_t *::git_config *::const char *","return":{"type":"int","comment":" 0 or an error code"},"description":"<p>Get the value of a long integer config variable.</p>\n","comments":"","group":"config"},"git_config_get_bool":{"type":"function","file":"config.h","line":208,"lineto":208,"args":[{"name":"out","type":"int *","comment":"pointer to the variable where the value should be stored"},{"name":"cfg","type":"git_config *","comment":"where to look for the variable"},{"name":"name","type":"const char *","comment":"the variable's name"}],"argline":"int *out, git_config *cfg, const char *name","sig":"int *::git_config *::const char *","return":{"type":"int","comment":" 0 or an error code"},"description":"<p>Get the value of a boolean config variable.</p>\n","comments":"<p>This function uses the usual C convention of 0 being false and anything else true.</p>\n","group":"config"},"git_config_get_string":{"type":"function","file":"config.h","line":221,"lineto":221,"args":[{"name":"out","type":"const char **","comment":"pointer to the variable's value"},{"name":"cfg","type":"git_config *","comment":"where to look for the variable"},{"name":"name","type":"const char *","comment":"the variable's name"}],"argline":"const char **out, git_config *cfg, const char *name","sig":"const char **::git_config *::const char *","return":{"type":"int","comment":" 0 or an error code"},"description":"<p>Get the value of a string config variable.</p>\n","comments":"<p>The string is owned by the variable and should not be freed by the user.</p>\n","group":"config","examples":{"general.c":["ex/v0.17.0/general.html#git_config_get_string-23"]}},"git_config_get_multivar":{"type":"function","file":"config.h","line":235,"lineto":235,"args":[{"name":"cfg","type":"git_config *","comment":"where to look for the variable"},{"name":"name","type":"const char *","comment":"the variable's name"},{"name":"regexp","type":"const char *","comment":"regular expression to filter which variables we're\n interested in. Use NULL to indicate all"},{"name":"fn","type":"int (*)(const char *, void *)","comment":"the function to be called on each value of the variable"},{"name":"data","type":"void *","comment":"opaque pointer to pass to the callback"}],"argline":"git_config *cfg, const char *name, const char *regexp, int (*)(const char *, void *) fn, void *data","sig":"git_config *::const char *::const char *::int (*)(const char *, void *)::void *","return":{"type":"int","comment":null},"description":"<p>Get each value of a multivar.</p>\n","comments":"<p>The callback will be called on each variable found</p>\n","group":"config"},"git_config_set_int32":{"type":"function","file":"config.h","line":245,"lineto":245,"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":" 0 or an error code"},"description":"<p>Set the value of an integer config variable.</p>\n","comments":"","group":"config"},"git_config_set_int64":{"type":"function","file":"config.h","line":255,"lineto":255,"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":" 0 or an error code"},"description":"<p>Set the value of a long integer config variable.</p>\n","comments":"","group":"config"},"git_config_set_bool":{"type":"function","file":"config.h","line":265,"lineto":265,"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":" 0 or an error code"},"description":"<p>Set the value of a boolean config variable.</p>\n","comments":"","group":"config"},"git_config_set_string":{"type":"function","file":"config.h","line":278,"lineto":278,"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":" 0 or an error code"},"description":"<p>Set the value of a string config variable.</p>\n","comments":"<p>A copy of the string is made and the user is free to use it afterwards.</p>\n","group":"config"},"git_config_set_multivar":{"type":"function","file":"config.h","line":289,"lineto":289,"args":[{"name":"cfg","type":"git_config *","comment":"where to look for the variable"},{"name":"name","type":"const char *","comment":"the variable's name"},{"name":"regexp","type":"const char *","comment":"a regular expression to indicate which values to replace"},{"name":"value","type":"const char *","comment":"the new value."}],"argline":"git_config *cfg, const char *name, const char *regexp, const char *value","sig":"git_config *::const char *::const char *::const char *","return":{"type":"int","comment":null},"description":"<p>Set a multivar</p>\n","comments":"","group":"config"},"git_config_delete":{"type":"function","file":"config.h","line":297,"lineto":297,"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":"<p>Delete a config variable</p>\n","comments":"","group":"config"},"git_config_foreach":{"type":"function","file":"config.h","line":312,"lineto":315,"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":" 0 or the return value of the callback which didn't return 0"},"description":"<p>Perform an operation on each config variable.</p>\n","comments":"<p>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.</p>\n","group":"config"},"git_diff_list_free":{"type":"function","file":"diff.h","line":204,"lineto":204,"args":[{"name":"diff","type":"git_diff_list *","comment":null}],"argline":"git_diff_list *diff","sig":"git_diff_list *","return":{"type":"void","comment":null},"description":"<p>Deallocate a diff list.</p>\n","comments":"","group":"diff"},"git_diff_tree_to_tree":{"type":"function","file":"diff.h","line":215,"lineto":220,"args":[{"name":"repo","type":"git_repository *","comment":"The repository containing the trees."},{"name":"opts","type":"const git_diff_options *","comment":"Structure with options to influence diff or NULL for defaults."},{"name":"old_tree","type":"git_tree *","comment":"A git_tree object to diff from."},{"name":"new_tree","type":"git_tree *","comment":"A git_tree object to diff to."},{"name":"diff","type":"git_diff_list **","comment":"A pointer to a git_diff_list pointer that will be allocated."}],"argline":"git_repository *repo, const git_diff_options *opts, git_tree *old_tree, git_tree *new_tree, git_diff_list **diff","sig":"git_repository *::const git_diff_options *::git_tree *::git_tree *::git_diff_list **","return":{"type":"int","comment":null},"description":"<p>Compute a difference between two tree objects.</p>\n","comments":"","group":"diff"},"git_diff_index_to_tree":{"type":"function","file":"diff.h","line":230,"lineto":234,"args":[{"name":"repo","type":"git_repository *","comment":"The repository containing the tree and index."},{"name":"opts","type":"const git_diff_options *","comment":"Structure with options to influence diff or NULL for defaults."},{"name":"old_tree","type":"git_tree *","comment":"A git_tree object to diff from."},{"name":"diff","type":"git_diff_list **","comment":"A pointer to a git_diff_list pointer that will be allocated."}],"argline":"git_repository *repo, const git_diff_options *opts, git_tree *old_tree, git_diff_list **diff","sig":"git_repository *::const git_diff_options *::git_tree *::git_diff_list **","return":{"type":"int","comment":null},"description":"<p>Compute a difference between a tree and the index.</p>\n","comments":"","group":"diff"},"git_diff_workdir_to_index":{"type":"function","file":"diff.h","line":243,"lineto":246,"args":[{"name":"repo","type":"git_repository *","comment":"The repository."},{"name":"opts","type":"const git_diff_options *","comment":"Structure with options to influence diff or NULL for defaults."},{"name":"diff","type":"git_diff_list **","comment":"A pointer to a git_diff_list pointer that will be allocated."}],"argline":"git_repository *repo, const git_diff_options *opts, git_diff_list **diff","sig":"git_repository *::const git_diff_options *::git_diff_list **","return":{"type":"int","comment":null},"description":"<p>Compute a difference between the working directory and the index.</p>\n","comments":"","group":"diff"},"git_diff_workdir_to_tree":{"type":"function","file":"diff.h","line":265,"lineto":269,"args":[{"name":"repo","type":"git_repository *","comment":"The repository containing the tree."},{"name":"opts","type":"const git_diff_options *","comment":"Structure with options to influence diff or NULL for defaults."},{"name":"old_tree","type":"git_tree *","comment":"A git_tree object to diff from."},{"name":"diff","type":"git_diff_list **","comment":"A pointer to a git_diff_list pointer that will be allocated."}],"argline":"git_repository *repo, const git_diff_options *opts, git_tree *old_tree, git_diff_list **diff","sig":"git_repository *::const git_diff_options *::git_tree *::git_diff_list **","return":{"type":"int","comment":null},"description":"<p>Compute a difference between the working directory and a tree.</p>\n","comments":"<p>This returns strictly the differences between the tree and the files contained in the working directory, regardless of the state of files in the index. There is no direct equivalent in C git.</p>\n\n<p>This is <em>NOT</em> the same as &#39;git diff HEAD&#39; or &#39;git diff <SHA>&#39;. Those commands diff the tree, the index, and the workdir. To emulate those functions, call <code>git_diff_index_to_tree</code> and <code>git_diff_workdir_to_index</code>, then call <code>git_diff_merge</code> on the results.</p>\n","group":"diff"},"git_diff_merge":{"type":"function","file":"diff.h","line":284,"lineto":286,"args":[{"name":"onto","type":"git_diff_list *","comment":"Diff to merge into."},{"name":"from","type":"const git_diff_list *","comment":"Diff to merge."}],"argline":"git_diff_list *onto, const git_diff_list *from","sig":"git_diff_list *::const git_diff_list *","return":{"type":"int","comment":null},"description":"<p>Merge one diff list into another.</p>\n","comments":"<p>This merges items from the &quot;from&quot; list into the &quot;onto&quot; list. The resulting diff list will have all items that appear in either list. If an item appears in both lists, then it will be &quot;merged&quot; to appear as if the old version was from the &quot;onto&quot; list and the new version is from the &quot;from&quot; list (with the exception that if the item has a pending DELETE in the middle, then it will show as deleted).</p>\n","group":"diff"},"git_diff_foreach":{"type":"function","file":"diff.h","line":306,"lineto":311,"args":[{"name":"diff","type":"git_diff_list *","comment":null},{"name":"cb_data","type":"void *","comment":null},{"name":"file_cb","type":"git_diff_file_fn","comment":null},{"name":"hunk_cb","type":"git_diff_hunk_fn","comment":null},{"name":"line_cb","type":"git_diff_data_fn","comment":null}],"argline":"git_diff_list *diff, void *cb_data, git_diff_file_fn file_cb, git_diff_hunk_fn hunk_cb, git_diff_data_fn line_cb","sig":"git_diff_list *::void *::git_diff_file_fn::git_diff_hunk_fn::git_diff_data_fn","return":{"type":"int","comment":null},"description":"<p>Iterate over a diff list issuing callbacks.</p>\n","comments":"<p>If the hunk and/or line callbacks are not NULL, then this will calculate text diffs for all files it thinks are not binary. If those are both NULL, then this will not bother with the text diffs, so it can be efficient.</p>\n","group":"diff"},"git_diff_print_compact":{"type":"function","file":"diff.h","line":316,"lineto":319,"args":[{"name":"diff","type":"git_diff_list *","comment":null},{"name":"cb_data","type":"void *","comment":null},{"name":"print_cb","type":"git_diff_data_fn","comment":null}],"argline":"git_diff_list *diff, void *cb_data, git_diff_data_fn print_cb","sig":"git_diff_list *::void *::git_diff_data_fn","return":{"type":"int","comment":null},"description":"<p>Iterate over a diff generating text output like &quot;git diff --name-status&quot;.</p>\n","comments":"","group":"diff"},"git_diff_print_patch":{"type":"function","file":"diff.h","line":326,"lineto":329,"args":[{"name":"diff","type":"git_diff_list *","comment":null},{"name":"cb_data","type":"void *","comment":null},{"name":"print_cb","type":"git_diff_data_fn","comment":null}],"argline":"git_diff_list *diff, void *cb_data, git_diff_data_fn print_cb","sig":"git_diff_list *::void *::git_diff_data_fn","return":{"type":"int","comment":null},"description":"<p>Iterate over a diff generating text output like &quot;git diff&quot;.</p>\n","comments":"<p>This is a super easy way to generate a patch from a diff.</p>\n","group":"diff"},"git_diff_blobs":{"type":"function","file":"diff.h","line":349,"lineto":356,"args":[{"name":"old_blob","type":"git_blob *","comment":null},{"name":"new_blob","type":"git_blob *","comment":null},{"name":"options","type":"git_diff_options *","comment":null},{"name":"cb_data","type":"void *","comment":null},{"name":"file_cb","type":"git_diff_file_fn","comment":null},{"name":"hunk_cb","type":"git_diff_hunk_fn","comment":null},{"name":"line_cb","type":"git_diff_data_fn","comment":null}],"argline":"git_blob *old_blob, git_blob *new_blob, git_diff_options *options, void *cb_data, git_diff_file_fn file_cb, git_diff_hunk_fn hunk_cb, git_diff_data_fn line_cb","sig":"git_blob *::git_blob *::git_diff_options *::void *::git_diff_file_fn::git_diff_hunk_fn::git_diff_data_fn","return":{"type":"int","comment":null},"description":"<p>Directly run a text diff on two blobs.</p>\n","comments":"<p>Compared to a file, a blob lacks some contextual information. As such, the <code>git_diff_file</code> parameters of the callbacks will be filled accordingly to the following: <code>mode</code> will be set to 0, <code>path</code> will be set to NULL. When dealing with a NULL blob, <code>oid</code> will be set to 0.</p>\n\n<p>When at least one of the blobs being dealt with is binary, the <code>git_diff_delta</code> binary attribute will be set to 1 and no call to the hunk_cb nor line_cb will be made.</p>\n","group":"diff"},"giterr_last":{"type":"function","file":"errors.h","line":99,"lineto":99,"args":[],"argline":"","sig":"","return":{"type":"const git_error *","comment":" A git_error object."},"description":"<p>Return the last <code>git_error</code> object that was generated for the\n current thread or NULL if no error has occurred.</p>\n","comments":"","group":"giterr","examples":{"network/git2.c":["ex/v0.17.0/network/git2.html#giterr_last-1","ex/v0.17.0/network/git2.html#giterr_last-2"]}},"giterr_clear":{"type":"function","file":"errors.h","line":104,"lineto":104,"args":[],"argline":"","sig":"","return":{"type":"void","comment":null},"description":"<p>Clear the last library error that occurred for this thread.</p>\n","comments":"","group":"giterr"},"git_index_open":{"type":"function","file":"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":" 0 or an error code"},"description":"<p>Create a new bare Git index object as a memory representation\n of the Git index file in &#39;index_path&#39;, without a repository\n to back it.</p>\n","comments":"<p>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.</p>\n\n<p>If you need to access the index of an actual repository, use the <code>git_repository_index</code> wrapper.</p>\n\n<p>The index must be freed once it&#39;s no longer in use.</p>\n","group":"index"},"git_index_clear":{"type":"function","file":"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":"<p>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.</p>\n","comments":"","group":"index"},"git_index_free":{"type":"function","file":"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":"<p>Free an existing index object.</p>\n","comments":"","group":"index","examples":{"general.c":["ex/v0.17.0/general.html#git_index_free-24"]}},"git_index_read":{"type":"function","file":"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":" 0 or an error code"},"description":"<p>Update the contents of an existing index object in memory\n by reading from the hard disk.</p>\n","comments":"","group":"index"},"git_index_write":{"type":"function","file":"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":" 0 or an error code"},"description":"<p>Write an existing index object from memory back to disk\n using an atomic file lock.</p>\n","comments":"","group":"index"},"git_index_find":{"type":"function","file":"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":"<p>Find the first index of any entries which point to given\n path in the Git index.</p>\n","comments":"","group":"index"},"git_index_uniq":{"type":"function","file":"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":"<p>Remove all entries with equal path except last added</p>\n","comments":"","group":"index"},"git_index_add":{"type":"function","file":"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":" 0 or an error code"},"description":"<p>Add or update an index entry from a file in disk</p>\n","comments":"<p>The file <code>path</code> must be relative to the repository&#39;s working folder and must be readable.</p>\n\n<p>This method will fail in bare index instances.</p>\n\n<p>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.</p>\n","group":"index"},"git_index_add2":{"type":"function","file":"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":" 0 or an error code"},"description":"<p>Add or update an index entry from an in-memory struct</p>\n","comments":"<p>A full copy (including the &#39;path&#39; string) of the given &#39;source_entry&#39; will be inserted on the index.</p>\n","group":"index"},"git_index_append":{"type":"function","file":"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":" 0 or an error code"},"description":"<p>Add (append) an index entry from a file in disk</p>\n","comments":"<p>A new entry will always be inserted into the index; if the index already contains an entry for such path, the old entry will <strong>not</strong> be replaced.</p>\n\n<p>The file <code>path</code> must be relative to the repository&#39;s working folder and must be readable.</p>\n\n<p>This method will fail in bare index instances.</p>\n","group":"index"},"git_index_append2":{"type":"function","file":"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":" 0 or an error code"},"description":"<p>Add (append) an index entry from an in-memory struct</p>\n","comments":"<p>A new entry will always be inserted into the index; if the index already contains an entry for the path in the <code>entry</code> struct, the old entry will <strong>not</strong> be replaced.</p>\n\n<p>A full copy (including the &#39;path&#39; string) of the given &#39;source_entry&#39; will be inserted on the index.</p>\n","group":"index"},"git_index_remove":{"type":"function","file":"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":" 0 or an error code"},"description":"<p>Remove an entry from the index</p>\n","comments":"","group":"index"},"git_index_get":{"type":"function","file":"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":"<p>Get a pointer to one of the entries in the index</p>\n","comments":"<p>This entry can be modified, and the changes will be written back to disk on the next write() call.</p>\n\n<p>The entry should not be freed by the caller.</p>\n","group":"index","examples":{"general.c":["ex/v0.17.0/general.html#git_index_get-25"]}},"git_index_entrycount":{"type":"function","file":"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":"<p>Get the count of entries currently in the index</p>\n","comments":"","group":"index","examples":{"general.c":["ex/v0.17.0/general.html#git_index_entrycount-26"]}},"git_index_entrycount_unmerged":{"type":"function","file":"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":"<p>Get the count of unmerged entries currently in the index</p>\n","comments":"","group":"index"},"git_index_get_unmerged_bypath":{"type":"function","file":"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":"<p>Get an unmerged entry from the index.</p>\n","comments":"<p>The returned entry is read-only and should not be modified of freed by the caller.</p>\n","group":"index"},"git_index_get_unmerged_byindex":{"type":"function","file":"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":"<p>Get an unmerged entry from the index.</p>\n","comments":"<p>The returned entry is read-only and should not be modified of freed by the caller.</p>\n","group":"index"},"git_index_entry_stage":{"type":"function","file":"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":"<p>Return the stage number from a git index entry</p>\n","comments":"<p>This entry is calculated from the entrie&#39;s flag attribute like this:</p>\n\n<pre><code>(entry-&gt;flags &amp; GIT_IDXENTRY_STAGEMASK) &gt;&gt; GIT_IDXENTRY_STAGESHIFT\n</code></pre>\n","group":"index"},"git_index_read_tree":{"type":"function","file":"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":" 0 or an error code"},"description":"<p>Read a tree into the index file</p>\n","comments":"<p>The current index contents will be replaced by the specified tree.</p>\n","group":"index"},"git_indexer_stream_new":{"type":"function","file":"indexer.h","line":34,"lineto":34,"args":[{"name":"out","type":"git_indexer_stream **","comment":"where to store the inexer instance"},{"name":"gitdir","type":"const char *","comment":null}],"argline":"git_indexer_stream **out, const char *gitdir","sig":"git_indexer_stream **::const char *","return":{"type":"int","comment":null},"description":"<p>Create a new streaming indexer instance</p>\n","comments":"","group":"indexer","examples":{"network/index-pack.c":["ex/v0.17.0/network/index-pack.html#git_indexer_stream_new-1"]}},"git_indexer_stream_finalize":{"type":"function","file":"indexer.h","line":53,"lineto":53,"args":[{"name":"idx","type":"git_indexer_stream *","comment":"the indexer"},{"name":"stats","type":"git_indexer_stats *","comment":null}],"argline":"git_indexer_stream *idx, git_indexer_stats *stats","sig":"git_indexer_stream *::git_indexer_stats *","return":{"type":"int","comment":null},"description":"<p>Finalize the pack and index</p>\n","comments":"<p>Resolve any pending deltas and write out the index file</p>\n","group":"indexer","examples":{"network/index-pack.c":["ex/v0.17.0/network/index-pack.html#git_indexer_stream_finalize-2"]}},"git_indexer_stream_hash":{"type":"function","file":"indexer.h","line":63,"lineto":63,"args":[{"name":"idx","type":"git_indexer_stream *","comment":"the indexer instance"}],"argline":"git_indexer_stream *idx","sig":"git_indexer_stream *","return":{"type":"const git_oid *","comment":null},"description":"<p>Get the packfile&#39;s hash</p>\n","comments":"<p>A packfile&#39;s name is derived from the sorted hashing of all object names. This is only correct after the index has been finalized.</p>\n","group":"indexer","examples":{"network/index-pack.c":["ex/v0.17.0/network/index-pack.html#git_indexer_stream_hash-3"]}},"git_indexer_stream_free":{"type":"function","file":"indexer.h","line":70,"lineto":70,"args":[{"name":"idx","type":"git_indexer_stream *","comment":"the indexer to free"}],"argline":"git_indexer_stream *idx","sig":"git_indexer_stream *","return":{"type":"void","comment":null},"description":"<p>Free the indexer and its resources</p>\n","comments":"","group":"indexer","examples":{"network/index-pack.c":["ex/v0.17.0/network/index-pack.html#git_indexer_stream_free-4"]}},"git_indexer_new":{"type":"function","file":"indexer.h","line":78,"lineto":78,"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":"<p>Create a new indexer instance</p>\n","comments":"","group":"indexer","examples":{"network/index-pack.c":["ex/v0.17.0/network/index-pack.html#git_indexer_new-5"]}},"git_indexer_run":{"type":"function","file":"indexer.h","line":90,"lineto":90,"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":"<p>Iterate over the objects in the packfile and extract the information</p>\n","comments":"<p>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.</p>\n","group":"indexer","examples":{"network/index-pack.c":["ex/v0.17.0/network/index-pack.html#git_indexer_run-6"]}},"git_indexer_write":{"type":"function","file":"indexer.h","line":100,"lineto":100,"args":[{"name":"idx","type":"git_indexer *","comment":"the indexer instance"}],"argline":"git_indexer *idx","sig":"git_indexer *","return":{"type":"int","comment":null},"description":"<p>Write the index file to disk.</p>\n","comments":"<p>The file will be stored as pack-$hash.idx in the same directory as the packfile.</p>\n","group":"indexer","examples":{"network/index-pack.c":["ex/v0.17.0/network/index-pack.html#git_indexer_write-7"]}},"git_indexer_hash":{"type":"function","file":"indexer.h","line":110,"lineto":110,"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":"<p>Get the packfile&#39;s hash</p>\n","comments":"<p>A packfile&#39;s name is derived from the sorted hashing of all object names. This is only correct after the index has been written to disk.</p>\n","group":"indexer","examples":{"network/index-pack.c":["ex/v0.17.0/network/index-pack.html#git_indexer_hash-8"]}},"git_indexer_free":{"type":"function","file":"indexer.h","line":117,"lineto":117,"args":[{"name":"idx","type":"git_indexer *","comment":"the indexer to free"}],"argline":"git_indexer *idx","sig":"git_indexer *","return":{"type":"void","comment":null},"description":"<p>Free the indexer and its resources</p>\n","comments":"","group":"indexer","examples":{"network/index-pack.c":["ex/v0.17.0/network/index-pack.html#git_indexer_free-9"]}},"git_merge_base":{"type":"function","file":"merge.h","line":31,"lineto":31,"args":[{"name":"out","type":"git_oid *","comment":"the OID of a merge base between 'one' and 'two'"},{"name":"repo","type":"git_repository *","comment":"the repository where the commits exist"},{"name":"one","type":"git_oid *","comment":"one of the commits"},{"name":"two","type":"git_oid *","comment":"the other commit"}],"argline":"git_oid *out, git_repository *repo, git_oid *one, git_oid *two","sig":"git_oid *::git_repository *::git_oid *::git_oid *","return":{"type":"int","comment":null},"description":"<p>Find a merge base between two commits</p>\n","comments":"","group":"merge"},"git_note_read":{"type":"function","file":"notes.h","line":33,"lineto":34,"args":[{"name":"note","type":"git_note **","comment":"the note; NULL in case of error"},{"name":"repo","type":"git_repository *","comment":"the Git repository"},{"name":"notes_ref","type":"const char *","comment":"OID reference to use (optional); defaults to \"refs/notes/commits\""},{"name":"oid","type":"const git_oid *","comment":"OID of the object"}],"argline":"git_note **note, git_repository *repo, const char *notes_ref, const git_oid *oid","sig":"git_note **::git_repository *::const char *::const git_oid *","return":{"type":"int","comment":" 0 or an error code"},"description":"<p>Read the note for an object</p>\n","comments":"<p>The note must be freed manually by the user.</p>\n","group":"note"},"git_note_message":{"type":"function","file":"notes.h","line":42,"lineto":42,"args":[{"name":"note","type":"git_note *","comment":""}],"argline":"git_note *note","sig":"git_note *","return":{"type":"const char *","comment":" the note message"},"description":"<p>Get the note message</p>\n","comments":"","group":"note"},"git_note_oid":{"type":"function","file":"notes.h","line":51,"lineto":51,"args":[{"name":"note","type":"git_note *","comment":""}],"argline":"git_note *note","sig":"git_note *","return":{"type":"const git_oid *","comment":" the note object OID"},"description":"<p>Get the note object OID</p>\n","comments":"","group":"note"},"git_note_create":{"type":"function","file":"notes.h","line":67,"lineto":70,"args":[{"name":"out","type":"git_oid *","comment":null},{"name":"repo","type":"git_repository *","comment":"the Git repository"},{"name":"author","type":"git_signature *","comment":"signature of the notes commit author"},{"name":"committer","type":"git_signature *","comment":"signature of the notes commit committer"},{"name":"notes_ref","type":"const char *","comment":"OID reference to update (optional); defaults to \"refs/notes/commits\""},{"name":"oid","type":"const git_oid *","comment":"The note to add for object oid"},{"name":"note","type":"const char *","comment":null}],"argline":"git_oid *out, git_repository *repo, git_signature *author, git_signature *committer, const char *notes_ref, const git_oid *oid, const char *note","sig":"git_oid *::git_repository *::git_signature *::git_signature *::const char *::const git_oid *::const char *","return":{"type":"int","comment":" 0 or an error code"},"description":"<p>Add a note for an object</p>\n","comments":"","group":"note"},"git_note_remove":{"type":"function","file":"notes.h","line":84,"lineto":86,"args":[{"name":"repo","type":"git_repository *","comment":"the Git repository"},{"name":"notes_ref","type":"const char *","comment":"OID reference to use (optional); defaults to \"refs/notes/commits\""},{"name":"author","type":"git_signature *","comment":"signature of the notes commit author"},{"name":"committer","type":"git_signature *","comment":"signature of the notes commit committer"},{"name":"oid","type":"const git_oid *","comment":"the oid which note's to be removed"}],"argline":"git_repository *repo, const char *notes_ref, git_signature *author, git_signature *committer, const git_oid *oid","sig":"git_repository *::const char *::git_signature *::git_signature *::const git_oid *","return":{"type":"int","comment":" 0 or an error code"},"description":"<p>Remove the note for an object</p>\n","comments":"","group":"note"},"git_note_free":{"type":"function","file":"notes.h","line":93,"lineto":93,"args":[{"name":"note","type":"git_note *","comment":"git_note object"}],"argline":"git_note *note","sig":"git_note *","return":{"type":"void","comment":null},"description":"<p>Free a git_note object</p>\n","comments":"","group":"note"},"git_note_default_ref":{"type":"function","file":"notes.h","line":103,"lineto":103,"args":[{"name":"out","type":"const char **","comment":"Pointer to the default notes reference"},{"name":"repo","type":"git_repository *","comment":"The Git repository"}],"argline":"const char **out, git_repository *repo","sig":"const char **::git_repository *","return":{"type":"int","comment":" 0 or an error code"},"description":"<p>Get the default notes reference for a repository</p>\n","comments":"","group":"note"},"git_note_foreach":{"type":"function","file":"notes.h","line":130,"lineto":135,"args":[{"name":"repo","type":"git_repository *","comment":"Repository where to find the notes."},{"name":"notes_ref","type":"const char *","comment":"OID reference to read from (optional); defaults to \"refs/notes/commits\"."},{"name":"note_cb","type":"int (*)(git_note_data *, void *)","comment":"Callback to invoke per found annotation."},{"name":"payload","type":"void *","comment":"Extra parameter to callback function."}],"argline":"git_repository *repo, const char *notes_ref, int (*)(git_note_data *, void *) note_cb, void *payload","sig":"git_repository *::const char *::int (*)(git_note_data *, void *)::void *","return":{"type":"int","comment":" 0 or an error code."},"description":"<p>Loop over all the notes within a specified namespace\n and issue a callback for each one.</p>\n","comments":"","group":"note"},"git_object_lookup":{"type":"function","file":"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":"<p>Lookup a reference to one of the objects in a repostory.</p>\n","comments":"<p>The generated reference is owned by the repository and should be closed with the <code>git_object_free</code> method instead of free&#39;d manually.</p>\n\n<p>The &#39;type&#39; parameter must match the type of the object in the odb; the method will fail otherwise. The special value &#39;GIT_OBJ_ANY&#39; may be passed to let the method guess the object&#39;s type.</p>\n","group":"object"},"git_object_lookup_prefix":{"type":"function","file":"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":" 0 or an error code"},"description":"<p>Lookup a reference to one of the objects in a repostory,\n given a prefix of its identifier (short id).</p>\n","comments":"<p>The object obtained will be so that its identifier matches the first &#39;len&#39; hexadecimal characters (packets of 4 bits) of the given &#39;id&#39;. &#39;len&#39; must be at least GIT_OID_MINPREFIXLEN, and long enough to identify a unique object matching the prefix; otherwise the method will fail.</p>\n\n<p>The generated reference is owned by the repository and should be closed with the <code>git_object_free</code> method instead of free&#39;d manually.</p>\n\n<p>The &#39;type&#39; parameter must match the type of the object in the odb; the method will fail otherwise. The special value &#39;GIT_OBJ_ANY&#39; may be passed to let the method guess the object&#39;s type.</p>\n","group":"object"},"git_object_id":{"type":"function","file":"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":"<p>Get the id (SHA1) of a repository object</p>\n","comments":"","group":"object"},"git_object_type":{"type":"function","file":"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":"<p>Get the object type of an object</p>\n","comments":"","group":"object"},"git_object_owner":{"type":"function","file":"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":"<p>Get the repository that owns this object</p>\n","comments":"<p>Freeing or calling <code>git_repository_close</code> on the returned pointer will invalidate the actual object.</p>\n\n<p>Any other operation may be run on the repository without affecting the object.</p>\n","group":"object"},"git_object_free":{"type":"function","file":"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":"<p>Close an open object</p>\n","comments":"<p>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.</p>\n\n<p>IMPORTANT: It <em>is</em> necessary to call this method when you stop using an object. Failure to do so will cause a memory leak.</p>\n","group":"object","examples":{"general.c":["ex/v0.17.0/general.html#git_object_free-27"]}},"git_object_type2string":{"type":"function","file":"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":"<p>Convert an object type to it&#39;s string representation.</p>\n","comments":"<p>The result is a pointer to a string in static memory and should not be free()&#39;ed.</p>\n","group":"object","examples":{"general.c":["ex/v0.17.0/general.html#git_object_type2string-28"]}},"git_object_string2type":{"type":"function","file":"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":"<p>Convert a string object type representation to it&#39;s git_otype.</p>\n","comments":"","group":"object"},"git_object_typeisloose":{"type":"function","file":"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":"<p>Determine if the given git_otype is a valid loose object type.</p>\n","comments":"","group":"object"},"git_odb_new":{"type":"function","file":"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":" 0 or an error code"},"description":"<p>Create a new object database with no backends.</p>\n","comments":"<p>Before the ODB can be used for read/writing, a custom database backend must be manually added using <code>git_odb_add_backend()</code></p>\n","group":"odb"},"git_odb_open":{"type":"function","file":"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":" 0 or an error code"},"description":"<p>Create a new object database and automatically add\n the two default backends:</p>\n","comments":"<pre><code>- 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 &#39;pack/&#39; folder with the corresponding data\n</code></pre>\n","group":"odb"},"git_odb_add_backend":{"type":"function","file":"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":"<p>Add a custom backend to an existing Object DB</p>\n","comments":"<p>The backends are checked in relative ordering, based on the value of the <code>priority</code> parameter.</p>\n\n<p>Read <odb_backends.h> for more information.</p>\n","group":"odb"},"git_odb_add_alternate":{"type":"function","file":"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":"<p>Add a custom backend to an existing Object DB; this\n backend will work as an alternate.</p>\n","comments":"<p>Alternate backends are always checked for objects <em>after</em> all the main backends have been exhausted.</p>\n\n<p>The backends are checked in relative ordering, based on the value of the <code>priority</code> parameter.</p>\n\n<p>Writing is disabled on alternate backends.</p>\n\n<p>Read <odb_backends.h> for more information.</p>\n","group":"odb"},"git_odb_free":{"type":"function","file":"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":"<p>Close an open object database.</p>\n","comments":"","group":"odb"},"git_odb_read":{"type":"function","file":"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":" - 0 if the object was read;\n - GIT_ENOTFOUND if the object is not in the database."},"description":"<p>Read an object from the database.</p>\n","comments":"<p>This method queries all available ODB backends trying to read the given OID.</p>\n\n<p>The returned object is reference counted and internally cached, so it should be closed by the user once it&#39;s no longer in use.</p>\n","group":"odb","examples":{"general.c":["ex/v0.17.0/general.html#git_odb_read-29"]}},"git_odb_read_prefix":{"type":"function","file":"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":" 0 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":"<p>Read an object from the database, given a prefix\n of its identifier.</p>\n","comments":"<p>This method queries all available ODB backends trying to match the &#39;len&#39; first hexadecimal characters of the &#39;short_id&#39;. The remaining (GIT_OID_HEXSZ-len)*4 bits of &#39;short_id&#39; must be 0s. &#39;len&#39; 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.</p>\n\n<p>The returned object is reference counted and internally cached, so it should be closed by the user once it&#39;s no longer in use.</p>\n","group":"odb"},"git_odb_exists":{"type":"function","file":"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":"<p>Determine if the given object can be found in the object database.</p>\n","comments":"","group":"odb"},"git_odb_open_rstream":{"type":"function","file":"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":"<p>Open a stream to read an object from the ODB</p>\n","comments":"<p>Note that most backends do <em>not</em> support streaming reads because they store their objects as compressed/delta&#39;ed blobs.</p>\n\n<p>It&#39;s recommended to use <code>git_odb_read</code> instead, which is assured to work on all backends.</p>\n\n<p>The returned stream will be of type <code>GIT_STREAM_RDONLY</code> and will have the following methods:</p>\n\n<pre><code> - stream-&gt;read: read `n` bytes from the stream - stream-&gt;free: free the stream\n</code></pre>\n\n<p>The stream must always be free&#39;d or will leak memory.</p>\n","group":"odb"},"git_odb_hashfile":{"type":"function","file":"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":" 0 or an error code"},"description":"<p>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&#39;s <code>git hash-object</code> without the <code>-w</code> flag.</p>\n","comments":"","group":"odb"},"git_odb_object_free":{"type":"function","file":"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":"<p>Close an ODB object</p>\n","comments":"<p>This method must always be called once a <code>git_odb_object</code> is no longer needed, otherwise memory will leak.</p>\n","group":"odb","examples":{"general.c":["ex/v0.17.0/general.html#git_odb_object_free-30"]}},"git_odb_object_id":{"type":"function","file":"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":"<p>Return the OID of an ODB object</p>\n","comments":"<p>This is the OID from which the object was read from</p>\n","group":"odb"},"git_odb_object_data":{"type":"function","file":"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":"<p>Return the data of an ODB object</p>\n","comments":"<p>This is the uncompressed, raw data as read from the ODB, without the leading header.</p>\n\n<p>This pointer is owned by the object and shall not be free&#39;d.</p>\n","group":"odb","examples":{"general.c":["ex/v0.17.0/general.html#git_odb_object_data-31"]}},"git_odb_object_type":{"type":"function","file":"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":"<p>Return the type of an ODB object</p>\n","comments":"","group":"odb","examples":{"general.c":["ex/v0.17.0/general.html#git_odb_object_type-32"]}},"git_oid_fromstr":{"type":"function","file":"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":" 0 or an error code"},"description":"<p>Parse a hex formatted object id into a git_oid.</p>\n","comments":"","group":"oid","examples":{"general.c":["ex/v0.17.0/general.html#git_oid_fromstr-33","ex/v0.17.0/general.html#git_oid_fromstr-34","ex/v0.17.0/general.html#git_oid_fromstr-35","ex/v0.17.0/general.html#git_oid_fromstr-36","ex/v0.17.0/general.html#git_oid_fromstr-37","ex/v0.17.0/general.html#git_oid_fromstr-38","ex/v0.17.0/general.html#git_oid_fromstr-39","ex/v0.17.0/general.html#git_oid_fromstr-40"]}},"git_oid_fromraw":{"type":"function","file":"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":"<p>Copy an already raw oid into a git_oid structure.</p>\n","comments":"","group":"oid"},"git_oid_fmt":{"type":"function","file":"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":"<p>Format a git_oid into a hex string.</p>\n","comments":"","group":"oid","examples":{"general.c":["ex/v0.17.0/general.html#git_oid_fmt-41","ex/v0.17.0/general.html#git_oid_fmt-42","ex/v0.17.0/general.html#git_oid_fmt-43","ex/v0.17.0/general.html#git_oid_fmt-44","ex/v0.17.0/general.html#git_oid_fmt-45"],"network/fetch.c":["ex/v0.17.0/network/fetch.html#git_oid_fmt-1","ex/v0.17.0/network/fetch.html#git_oid_fmt-2"],"network/index-pack.c":["ex/v0.17.0/network/index-pack.html#git_oid_fmt-10","ex/v0.17.0/network/index-pack.html#git_oid_fmt-11"],"network/ls-remote.c":["ex/v0.17.0/network/ls-remote.html#git_oid_fmt-1"]}},"git_oid_pathfmt":{"type":"function","file":"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":"<p>Format a git_oid into a loose-object path string.</p>\n","comments":"<p>The resulting string is &quot;aa/...&quot;, where &quot;aa&quot; is the first two hex digitis of the oid and &quot;...&quot; is the remaining 38 digits.</p>\n","group":"oid"},"git_oid_allocfmt":{"type":"function","file":"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":"<p>Format a git_oid into a newly allocated c-string.</p>\n","comments":"","group":"oid"},"git_oid_cpy":{"type":"function","file":"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":"<p>Copy an oid from one structure to another.</p>\n","comments":"","group":"oid"},"git_oid_cmp":{"type":"function","file":"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":"<p>Compare two oid structures.</p>\n","comments":"","group":"oid"},"git_oid_ncmp":{"type":"function","file":"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":"<p>Compare the first &#39;len&#39; hexadecimal characters (packets of 4 bits)\n of two oid structures.</p>\n","comments":"","group":"oid"},"git_oid_streq":{"type":"function","file":"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 0 in case of a match, GIT_ERROR otherwise."},"description":"<p>Check if an oid equals an hex formatted object id.</p>\n","comments":"","group":"oid"},"git_oid_iszero":{"type":"function","file":"oid.h","line":165,"lineto":165,"args":[{"name":"a","type":"const git_oid *","comment":null}],"argline":"const git_oid *a","sig":"const git_oid *","return":{"type":"int","comment":null},"description":"<p>Check is an oid is all zeros.</p>\n","comments":"","group":"oid","examples":{"network/fetch.c":["ex/v0.17.0/network/fetch.html#git_oid_iszero-3"]}},"git_oid_shorten_add":{"type":"function","file":"oid.h","line":212,"lineto":212,"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":"<p>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.</p>\n","comments":"<p>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.</p>\n\n<p>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.</p>\n\n<p>Attempting to add more than those OIDs will result in a GIT_ENOMEM error</p>\n","group":"oid"},"git_oid_shorten_free":{"type":"function","file":"oid.h","line":219,"lineto":219,"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":"<p>Free an OID shortener instance</p>\n","comments":"","group":"oid"},"git_reflog_read":{"type":"function","file":"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":" 0 or an error code"},"description":"<p>Read the reflog for the given reference</p>\n","comments":"<p>The reflog must be freed manually by using git_reflog_free().</p>\n","group":"reflog"},"git_reflog_write":{"type":"function","file":"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":" 0 or an error code"},"description":"<p>Write a new reflog for the given reference</p>\n","comments":"<p>If there is no reflog file for the given reference yet, it will be created.</p>\n\n<p><code>oid_old</code> may be NULL in case it&#39;s a new reference.</p>\n\n<p><code>msg</code> is optional and can be NULL.</p>\n","group":"reflog"},"git_reflog_rename":{"type":"function","file":"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":" 0 or an error code"},"description":"<p>Rename the reflog for the given reference</p>\n","comments":"","group":"reflog"},"git_reflog_delete":{"type":"function","file":"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":" 0 or an error code"},"description":"<p>Delete the reflog for the given reference</p>\n","comments":"","group":"reflog"},"git_reflog_entrycount":{"type":"function","file":"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":"<p>Get the number of log entries in a reflog</p>\n","comments":"","group":"reflog"},"git_reflog_entry_byindex":{"type":"function","file":"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":"<p>Lookup an entry by its index</p>\n","comments":"","group":"reflog"},"git_reflog_entry_oidold":{"type":"function","file":"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":"<p>Get the old oid</p>\n","comments":"","group":"reflog"},"git_reflog_entry_oidnew":{"type":"function","file":"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":"<p>Get the new oid</p>\n","comments":"","group":"reflog"},"git_reflog_entry_committer":{"type":"function","file":"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":"<p>Get the committer of this entry</p>\n","comments":"","group":"reflog"},"git_reflog_entry_msg":{"type":"function","file":"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":"<p>Get the log msg</p>\n","comments":"","group":"reflog"},"git_reflog_free":{"type":"function","file":"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":"<p>Free the reflog</p>\n","comments":"","group":"reflog"},"git_reference_lookup":{"type":"function","file":"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":" 0 or an error code"},"description":"<p>Lookup a reference by its name in a repository.</p>\n","comments":"<p>The generated reference must be freed by the user.</p>\n","group":"reference","examples":{"general.c":["ex/v0.17.0/general.html#git_reference_lookup-46"]}},"git_reference_name_to_oid":{"type":"function","file":"refs.h","line":43,"lineto":44,"args":[{"name":"out","type":"git_oid *","comment":null},{"name":"repo","type":"git_repository *","comment":"The repository in which to look up the reference"},{"name":"name","type":"const char *","comment":"The long name for the reference"}],"argline":"git_oid *out, git_repository *repo, const char *name","sig":"git_oid *::git_repository *::const char *","return":{"type":"int","comment":" 0 on success, -1 if name could not be resolved"},"description":"<p>Lookup a reference by name and resolve immediately to OID.</p>\n","comments":"","group":"reference"},"git_reference_create_symbolic":{"type":"function","file":"refs.h","line":64,"lineto":64,"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":" 0 or an error code"},"description":"<p>Create a new symbolic reference.</p>\n","comments":"<p>The reference will be created in the repository and written to the disk.</p>\n\n<p>The generated reference must be freed by the user.</p>\n\n<p>If <code>force</code> is true and there already exists a reference with the same name, it will be overwritten.</p>\n","group":"reference"},"git_reference_create_oid":{"type":"function","file":"refs.h","line":84,"lineto":84,"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":" 0 or an error code"},"description":"<p>Create a new object id reference.</p>\n","comments":"<p>The reference will be created in the repository and written to the disk.</p>\n\n<p>The generated reference must be freed by the user.</p>\n\n<p>If <code>force</code> is true and there already exists a reference with the same name, it will be overwritten.</p>\n","group":"reference"},"git_reference_oid":{"type":"function","file":"refs.h","line":94,"lineto":94,"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":"<p>Get the OID pointed to by a reference.</p>\n","comments":"<p>Only available if the reference is direct (i.e. not symbolic)</p>\n","group":"reference","examples":{"general.c":["ex/v0.17.0/general.html#git_reference_oid-47"]}},"git_reference_target":{"type":"function","file":"refs.h","line":104,"lineto":104,"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":"<p>Get full name to the reference pointed by this reference</p>\n","comments":"<p>Only available if the reference is symbolic</p>\n","group":"reference","examples":{"general.c":["ex/v0.17.0/general.html#git_reference_target-48"]}},"git_reference_type":{"type":"function","file":"refs.h","line":114,"lineto":114,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"git_ref_t","comment":" the type"},"description":"<p>Get the type of a reference</p>\n","comments":"<p>Either direct (GIT_REF_OID) or symbolic (GIT_REF_SYMBOLIC)</p>\n","group":"reference","examples":{"general.c":["ex/v0.17.0/general.html#git_reference_type-49"]}},"git_reference_name":{"type":"function","file":"refs.h","line":122,"lineto":122,"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":"<p>Get the full name of a reference</p>\n","comments":"","group":"reference"},"git_reference_resolve":{"type":"function","file":"refs.h","line":142,"lineto":142,"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":" 0 or an error code"},"description":"<p>Resolve a symbolic reference</p>\n","comments":"<p>Thie method iteratively peels a symbolic reference until it resolves to a direct reference to an OID.</p>\n\n<p>The peeled reference is returned in the <code>resolved_ref</code> argument, and must be freed manually once it&#39;s no longer needed.</p>\n\n<p>If a direct reference is passed as an argument, a copy of that reference is returned. This copy must be manually freed too.</p>\n","group":"reference"},"git_reference_owner":{"type":"function","file":"refs.h","line":150,"lineto":150,"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":"<p>Get the repository where a reference resides</p>\n","comments":"","group":"reference"},"git_reference_set_target":{"type":"function","file":"refs.h","line":165,"lineto":165,"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":" 0 or an error code"},"description":"<p>Set the symbolic target of a reference.</p>\n","comments":"<p>The reference must be a symbolic reference, otherwise this method will fail.</p>\n\n<p>The reference will be automatically updated in memory and on disk.</p>\n","group":"reference"},"git_reference_set_oid":{"type":"function","file":"refs.h","line":180,"lineto":180,"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":" 0 or an error code"},"description":"<p>Set the OID target of a reference.</p>\n","comments":"<p>The reference must be a direct reference, otherwise this method will fail.</p>\n\n<p>The reference will be automatically updated in memory and on disk.</p>\n","group":"reference"},"git_reference_rename":{"type":"function","file":"refs.h","line":208,"lineto":208,"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":" 0 or an error code"},"description":"<p>Rename an existing reference</p>\n","comments":"<p>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.</p>\n\n<p>The given git_reference will be updated in place.</p>\n\n<p>The reference will be immediately renamed in-memory and on disk.</p>\n\n<p>If the <code>force</code> flag is not enabled, and there&#39;s already a reference with the given name, the renaming will fail.</p>\n\n<p>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.</p>\n","group":"reference"},"git_reference_delete":{"type":"function","file":"refs.h","line":221,"lineto":221,"args":[{"name":"ref","type":"git_reference *","comment":"The reference to remove"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"int","comment":" 0 or an error code"},"description":"<p>Delete an existing reference</p>\n","comments":"<p>This method works for both direct and symbolic references.</p>\n\n<p>The reference will be immediately removed on disk and from memory. The given reference pointer will no longer be valid.</p>\n","group":"reference"},"git_reference_packall":{"type":"function","file":"refs.h","line":236,"lineto":236,"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":" 0 or an error code"},"description":"<p>Pack all the loose references in the repository</p>\n","comments":"<p>This method will load into the cache all the loose references on the repository and update the <code>packed-refs</code> file with them.</p>\n\n<p>Once the <code>packed-refs</code> file has been written properly, the loose references will be removed from disk.</p>\n","group":"reference"},"git_reference_list":{"type":"function","file":"refs.h","line":259,"lineto":259,"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":" 0 or an error code"},"description":"<p>Fill a list with all the references that can be found\n in a repository.</p>\n","comments":"<p>The listed references may be filtered by type, or using a bitwise OR of several types. Use the magic value <code>GIT_REF_LISTALL</code> to obtain all references, including packed ones.</p>\n\n<p>The string array will be filled with the names of all references; these values are owned by the user and should be free&#39;d manually when no longer needed, using <code>git_strarray_free</code>.</p>\n","group":"reference"},"git_reference_foreach":{"type":"function","file":"refs.h","line":281,"lineto":281,"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":" 0 or an error code"},"description":"<p>Perform an operation on each reference in the repository</p>\n","comments":"<p>The processed references may be filtered by type, or using a bitwise OR of several types. Use the magic value <code>GIT_REF_LISTALL</code> to obtain all references, including packed ones.</p>\n\n<p>The <code>callback</code> function will be called for each of the references in the repository, and will receive the name of the reference and the <code>payload</code> value passed to this method.</p>\n","group":"reference"},"git_reference_is_packed":{"type":"function","file":"refs.h","line":289,"lineto":289,"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":"<p>Check if a reference has been loaded from a packfile</p>\n","comments":"","group":"reference"},"git_reference_reload":{"type":"function","file":"refs.h","line":309,"lineto":309,"args":[{"name":"ref","type":"git_reference *","comment":"The reference to reload"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"int","comment":" 0 on success, or an error code"},"description":"<p>Reload a reference from disk</p>\n","comments":"<p>Reference pointers may become outdated if the Git repository is accessed simultaneously by other clients whilt the library is open.</p>\n\n<p>This method forces a reload of the reference from disk, to ensure that the provided information is still reliable.</p>\n\n<p>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.</p>\n","group":"reference"},"git_reference_free":{"type":"function","file":"refs.h","line":316,"lineto":316,"args":[{"name":"ref","type":"git_reference *","comment":"git_reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"void","comment":null},"description":"<p>Free the given reference</p>\n","comments":"","group":"reference"},"git_reference_cmp":{"type":"function","file":"refs.h","line":325,"lineto":325,"args":[{"name":"ref1","type":"git_reference *","comment":"The first git_reference"},{"name":"ref2","type":"git_reference *","comment":"The second git_reference"}],"argline":"git_reference *ref1, git_reference *ref2","sig":"git_reference *::git_reference *","return":{"type":"int","comment":" 0 if the same, else a stable but meaningless ordering."},"description":"<p>Compare two references.</p>\n","comments":"","group":"reference"},"git_refspec_src":{"type":"function","file":"refspec.h","line":28,"lineto":28,"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":"<p>Get the source specifier</p>\n","comments":"","group":"refspec"},"git_refspec_dst":{"type":"function","file":"refspec.h","line":36,"lineto":36,"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":"<p>Get the destination specifier</p>\n","comments":"","group":"refspec"},"git_refspec_src_matches":{"type":"function","file":"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":" 1 if the refspec matches, 0 otherwise"},"description":"<p>Check if a refspec&#39;s source descriptor matches a reference </p>\n","comments":"","group":"refspec"},"git_remote_new":{"type":"function","file":"remote.h","line":46,"lineto":46,"args":[{"name":"out","type":"git_remote **","comment":"pointer to the new remote object"},{"name":"repo","type":"git_repository *","comment":"the associtated repository"},{"name":"name","type":"const char *","comment":"the remote's name"},{"name":"url","type":"const char *","comment":"the remote repository's URL"},{"name":"fetch","type":"const char *","comment":"the fetch refspec to use for this remote"}],"argline":"git_remote **out, git_repository *repo, const char *name, const char *url, const char *fetch","sig":"git_remote **::git_repository *::const char *::const char *::const char *","return":{"type":"int","comment":" 0 or an error code"},"description":"<p>Create a remote in memory</p>\n","comments":"<p>Create a remote with the default refspecs in memory. You can use this when you have a URL instead of a remote&#39;s name.</p>\n","group":"remote","examples":{"network/fetch.c":["ex/v0.17.0/network/fetch.html#git_remote_new-4"],"network/ls-remote.c":["ex/v0.17.0/network/ls-remote.html#git_remote_new-2"]}},"git_remote_load":{"type":"function","file":"remote.h","line":56,"lineto":56,"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":" 0 or an error code"},"description":"<p>Get the information for a particular remote</p>\n","comments":"","group":"remote","examples":{"network/fetch.c":["ex/v0.17.0/network/fetch.html#git_remote_load-5"],"network/ls-remote.c":["ex/v0.17.0/network/ls-remote.html#git_remote_load-3"]}},"git_remote_save":{"type":"function","file":"remote.h","line":64,"lineto":64,"args":[{"name":"remote","type":"const git_remote *","comment":"the remote to save to config"}],"argline":"const git_remote *remote","sig":"const git_remote *","return":{"type":"int","comment":" 0 or an error code"},"description":"<p>Save a remote to its repository&#39;s configuration</p>\n","comments":"","group":"remote"},"git_remote_name":{"type":"function","file":"remote.h","line":72,"lineto":72,"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":"<p>Get the remote&#39;s name</p>\n","comments":"","group":"remote"},"git_remote_url":{"type":"function","file":"remote.h","line":80,"lineto":80,"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":"<p>Get the remote&#39;s url</p>\n","comments":"","group":"remote"},"git_remote_set_fetchspec":{"type":"function","file":"remote.h","line":89,"lineto":89,"args":[{"name":"remote","type":"git_remote *","comment":"the remote\n \n\n spec the new fetch refspec"},{"name":"spec","type":"const char *","comment":null}],"argline":"git_remote *remote, const char *spec","sig":"git_remote *::const char *","return":{"type":"int","comment":" 0 or an error value"},"description":"<p>Set the remote&#39;s fetch refspec</p>\n","comments":"","group":"remote"},"git_remote_fetchspec":{"type":"function","file":"remote.h","line":97,"lineto":97,"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":"<p>Get the fetch refspec</p>\n","comments":"","group":"remote"},"git_remote_set_pushspec":{"type":"function","file":"remote.h","line":106,"lineto":106,"args":[{"name":"remote","type":"git_remote *","comment":"the remote\n \n\n spec the new push refspec"},{"name":"spec","type":"const char *","comment":null}],"argline":"git_remote *remote, const char *spec","sig":"git_remote *::const char *","return":{"type":"int","comment":" 0 or an error value"},"description":"<p>Set the remote&#39;s push refspec</p>\n","comments":"","group":"remote"},"git_remote_pushspec":{"type":"function","file":"remote.h","line":115,"lineto":115,"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":"<p>Get the push refspec</p>\n","comments":"","group":"remote"},"git_remote_connect":{"type":"function","file":"remote.h","line":128,"lineto":128,"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":" 0 or an error code"},"description":"<p>Open a connection to a remote</p>\n","comments":"<p>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.</p>\n","group":"remote","examples":{"network/fetch.c":["ex/v0.17.0/network/fetch.html#git_remote_connect-6"],"network/ls-remote.c":["ex/v0.17.0/network/ls-remote.html#git_remote_connect-4","ex/v0.17.0/network/ls-remote.html#git_remote_connect-5"]}},"git_remote_ls":{"type":"function","file":"remote.h","line":140,"lineto":140,"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":" 0 or an error code"},"description":"<p>Get a list of refs at the remote</p>\n","comments":"<p>The remote (or more exactly its transport) must be connected. The memory belongs to the remote.</p>\n","group":"remote","examples":{"network/ls-remote.c":["ex/v0.17.0/network/ls-remote.html#git_remote_ls-6","ex/v0.17.0/network/ls-remote.html#git_remote_ls-7"]}},"git_remote_download":{"type":"function","file":"remote.h","line":155,"lineto":155,"args":[{"name":"remote","type":"git_remote *","comment":"the remote to download from"},{"name":"bytes","type":"git_off_t *","comment":null},{"name":"stats","type":"git_indexer_stats *","comment":null}],"argline":"git_remote *remote, git_off_t *bytes, git_indexer_stats *stats","sig":"git_remote *::git_off_t *::git_indexer_stats *","return":{"type":"int","comment":" 0 or an error code"},"description":"<p>Download the packfile</p>\n","comments":"<p>Negotiate what objects should be downloaded and download the packfile with those objects. The packfile is downloaded with a temporary filename, as it&#39;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.</p>\n","group":"remote","examples":{"network/fetch.c":["ex/v0.17.0/network/fetch.html#git_remote_download-7"]}},"git_remote_connected":{"type":"function","file":"remote.h","line":165,"lineto":165,"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":"<p>Check whether the remote is connected</p>\n","comments":"<p>Check whether the remote&#39;s underlying transport is connected to the remote host.</p>\n","group":"remote"},"git_remote_disconnect":{"type":"function","file":"remote.h","line":175,"lineto":175,"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":"<p>Disconnect from the remote</p>\n","comments":"<p>Close the connection to the remote and free the underlying transport.</p>\n","group":"remote","examples":{"network/fetch.c":["ex/v0.17.0/network/fetch.html#git_remote_disconnect-8"]}},"git_remote_free":{"type":"function","file":"remote.h","line":185,"lineto":185,"args":[{"name":"remote","type":"git_remote *","comment":"the remote to free"}],"argline":"git_remote *remote","sig":"git_remote *","return":{"type":"void","comment":null},"description":"<p>Free the memory associated with a remote</p>\n","comments":"<p>This also disconnects from the remote, if the connection has not been closed yet (using git_remote_disconnect).</p>\n","group":"remote","examples":{"network/fetch.c":["ex/v0.17.0/network/fetch.html#git_remote_free-9","ex/v0.17.0/network/fetch.html#git_remote_free-10"],"network/ls-remote.c":["ex/v0.17.0/network/ls-remote.html#git_remote_free-8","ex/v0.17.0/network/ls-remote.html#git_remote_free-9"]}},"git_remote_update_tips":{"type":"function","file":"remote.h","line":193,"lineto":193,"args":[{"name":"remote","type":"git_remote *","comment":"the remote to update"},{"name":"cb","type":"int (*)(const char *, const git_oid *, const git_oid *)","comment":"callback to run on each ref update. 'a' is the old value, 'b' is then new value"}],"argline":"git_remote *remote, int (*)(const char *, const git_oid *, const git_oid *) cb","sig":"git_remote *::int (*)(const char *, const git_oid *, const git_oid *)","return":{"type":"int","comment":null},"description":"<p>Update the tips to the new state</p>\n","comments":"","group":"remote","examples":{"network/fetch.c":["ex/v0.17.0/network/fetch.html#git_remote_update_tips-11"]}},"git_remote_valid_url":{"type":"function","file":"remote.h","line":201,"lineto":201,"args":[{"name":"url","type":"const char *","comment":null}],"argline":"const char *url","sig":"const char *","return":{"type":"int","comment":null},"description":"<p>Return whether a string is a valid remote URL</p>\n","comments":"","group":"remote"},"git_remote_supported_url":{"type":"function","file":"remote.h","line":209,"lineto":209,"args":[{"name":"url","type":"const char *","comment":"the url to check"}],"argline":"const char *url","sig":"const char *","return":{"type":"int","comment":" 1 if the url is supported, 0 otherwise"},"description":"<p>Return whether the passed URL is supported by this version of the library.</p>\n","comments":"","group":"remote"},"git_remote_list":{"type":"function","file":"remote.h","line":220,"lineto":220,"args":[{"name":"remotes_list","type":"git_strarray *","comment":"a string array with the names of the remotes"},{"name":"repo","type":"git_repository *","comment":"the repository to query"}],"argline":"git_strarray *remotes_list, git_repository *repo","sig":"git_strarray *::git_repository *","return":{"type":"int","comment":" 0 or an error code"},"description":"<p>Get a list of the configured remotes for a repo</p>\n","comments":"<p>The string array must be freed by the user.</p>\n","group":"remote"},"git_remote_add":{"type":"function","file":"remote.h","line":230,"lineto":230,"args":[{"name":"out","type":"git_remote **","comment":"the resulting remote"},{"name":"repo","type":"git_repository *","comment":"the repository in which to create the remote"},{"name":"name","type":"const char *","comment":"the remote's name"},{"name":"url","type":"const char *","comment":"the remote's url"}],"argline":"git_remote **out, git_repository *repo, const char *name, const char *url","sig":"git_remote **::git_repository *::const char *::const char *","return":{"type":"int","comment":null},"description":"<p>Add a remote with the default fetch refspec to the repository&#39;s configuration</p>\n","comments":"","group":"remote"},"git_repository_open":{"type":"function","file":"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":" 0 or an error code"},"description":"<p>Open a git repository.</p>\n","comments":"<p>The &#39;path&#39; argument must point to either a git repository folder, or an existing work dir.</p>\n\n<p>The method will automatically detect if &#39;path&#39; is a normal or bare repository or fail is &#39;path&#39; is neither.</p>\n","group":"repository","examples":{"general.c":["ex/v0.17.0/general.html#git_repository_open-50","ex/v0.17.0/general.html#git_repository_open-51"],"network/git2.c":["ex/v0.17.0/network/git2.html#git_repository_open-3"]}},"git_repository_open_ext":{"type":"function","file":"repository.h","line":81,"lineto":85,"args":[{"name":"repo","type":"git_repository **","comment":null},{"name":"start_path","type":"const char *","comment":null},{"name":"flags","type":"uint32_t","comment":null},{"name":"ceiling_dirs","type":"const char *","comment":null}],"argline":"git_repository **repo, const char *start_path, uint32_t flags, const char *ceiling_dirs","sig":"git_repository **::const char *::uint32_t::const char *","return":{"type":"int","comment":null},"description":"<p>Find and open a repository with extended controls.</p>\n","comments":"","group":"repository"},"git_repository_free":{"type":"function","file":"repository.h","line":98,"lineto":98,"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":"<p>Free a previously allocated repository</p>\n","comments":"<p>Note that after a repository is free&#39;d, all the objects it has spawned will still exist until they are manually closed by the user with <code>git_object_free</code>, but accessing any of the attributes of an object without a backing repository will result in undefined behavior</p>\n","group":"repository","examples":{"general.c":["ex/v0.17.0/general.html#git_repository_free-52"],"network/git2.c":["ex/v0.17.0/network/git2.html#git_repository_free-4"]}},"git_repository_init":{"type":"function","file":"repository.h","line":114,"lineto":114,"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":" 0 or an error code"},"description":"<p>Creates a new Git repository in the given folder.</p>\n","comments":"<p>TODO: - Reinit the repository</p>\n","group":"repository"},"git_repository_head":{"type":"function","file":"repository.h","line":124,"lineto":124,"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":"<p>Retrieve and resolve the reference pointed at by HEAD.</p>\n","comments":"","group":"repository"},"git_repository_head_detached":{"type":"function","file":"repository.h","line":136,"lineto":136,"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":"<p>Check if a repository&#39;s HEAD is detached</p>\n","comments":"<p>A repository&#39;s HEAD is detached when it points directly to a commit instead of a branch.</p>\n","group":"repository"},"git_repository_head_orphan":{"type":"function","file":"repository.h","line":148,"lineto":148,"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":"<p>Check if the current branch is an orphan</p>\n","comments":"<p>An orphan branch is one named from HEAD but which doesn&#39;t exist in the refs namespace, because it doesn&#39;t have any commit to point to.</p>\n","group":"repository"},"git_repository_is_empty":{"type":"function","file":"repository.h","line":160,"lineto":160,"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":"<p>Check if a repository is empty</p>\n","comments":"<p>An empty repository has just been initialized and contains no commits.</p>\n","group":"repository"},"git_repository_path":{"type":"function","file":"repository.h","line":171,"lineto":171,"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":"<p>Get the path of this repository</p>\n","comments":"<p>This is the path of the <code>.git</code> folder for normal repositories, or of the repository itself for bare repositories.</p>\n","group":"repository"},"git_repository_workdir":{"type":"function","file":"repository.h","line":182,"lineto":182,"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":"<p>Get the path of the working directory for this repository</p>\n","comments":"<p>If the repository is bare, this function will always return NULL.</p>\n","group":"repository"},"git_repository_set_workdir":{"type":"function","file":"repository.h","line":199,"lineto":199,"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":" 0, or an error code"},"description":"<p>Set the path to the working directory for this repository</p>\n","comments":"<p>The working directory doesn&#39;t need to be the same one that contains the <code>.git</code> folder for this repository.</p>\n\n<p>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).</p>\n","group":"repository"},"git_repository_is_bare":{"type":"function","file":"repository.h","line":207,"lineto":207,"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":"<p>Check if a repository is bare</p>\n","comments":"","group":"repository"},"git_repository_config":{"type":"function","file":"repository.h","line":223,"lineto":223,"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":" 0, or an error code"},"description":"<p>Get the configuration file for this repository.</p>\n","comments":"<p>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).</p>\n\n<p>The configuration file must be freed once it&#39;s no longer being used by the user.</p>\n","group":"repository"},"git_repository_set_config":{"type":"function","file":"repository.h","line":238,"lineto":238,"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":"<p>Set the configuration file for this repository</p>\n","comments":"<p>This configuration file will be used for all configuration queries involving this repository.</p>\n\n<p>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.</p>\n","group":"repository"},"git_repository_odb":{"type":"function","file":"repository.h","line":254,"lineto":254,"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":" 0, or an error code"},"description":"<p>Get the Object Database for this repository.</p>\n","comments":"<p>If a custom ODB has not been set, the default database for the repository will be returned (the one located in <code>.git/objects</code>).</p>\n\n<p>The ODB must be freed once it&#39;s no longer being used by the user.</p>\n","group":"repository","examples":{"general.c":["ex/v0.17.0/general.html#git_repository_odb-53"]}},"git_repository_set_odb":{"type":"function","file":"repository.h","line":269,"lineto":269,"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":"<p>Set the Object Database for this repository</p>\n","comments":"<p>The ODB will be used for all object-related operations involving this repository.</p>\n\n<p>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.</p>\n","group":"repository"},"git_repository_index":{"type":"function","file":"repository.h","line":285,"lineto":285,"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":" 0, or an error code"},"description":"<p>Get the Index file for this repository.</p>\n","comments":"<p>If a custom index has not been set, the default index for the repository will be returned (the one located in <code>.git/index</code>).</p>\n\n<p>The index must be freed once it&#39;s no longer being used by the user.</p>\n","group":"repository","examples":{"general.c":["ex/v0.17.0/general.html#git_repository_index-54"]}},"git_repository_set_index":{"type":"function","file":"repository.h","line":300,"lineto":300,"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":"<p>Set the index file for this repository</p>\n","comments":"<p>This index will be used for all index-related operations involving this repository.</p>\n\n<p>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.</p>\n","group":"repository"},"git_revwalk_new":{"type":"function","file":"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":" 0 or an error code"},"description":"<p>Allocate a new revision walker to iterate through a repo.</p>\n","comments":"<p>This revision walker uses a custom memory pool and an internal commit cache, so it is relatively expensive to allocate.</p>\n\n<p>For maximum performance, this revision walker should be reused for different walks.</p>\n\n<p>This revision walker is <em>not</em> 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.</p>\n","group":"revwalk","examples":{"general.c":["ex/v0.17.0/general.html#git_revwalk_new-55"]}},"git_revwalk_reset":{"type":"function","file":"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":"<p>Reset the revision walker for reuse.</p>\n","comments":"<p>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.</p>\n\n<p>The revision walk is automatically reset when a walk is over.</p>\n","group":"revwalk"},"git_revwalk_push":{"type":"function","file":"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":" 0 or an error code"},"description":"<p>Mark a commit to start traversal from.</p>\n","comments":"<p>The given OID must belong to a commit on the walked repository.</p>\n\n<p>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.</p>\n","group":"revwalk","examples":{"general.c":["ex/v0.17.0/general.html#git_revwalk_push-56"]}},"git_revwalk_push_glob":{"type":"function","file":"revwalk.h","line":117,"lineto":117,"args":[{"name":"walk","type":"git_revwalk *","comment":"the walker being used for the traversal"},{"name":"glob","type":"const char *","comment":"the glob pattern references should match"}],"argline":"git_revwalk *walk, const char *glob","sig":"git_revwalk *::const char *","return":{"type":"int","comment":" 0 or an error code"},"description":"<p>Push matching references</p>\n","comments":"<p>The OIDs pinted to by the references that match the given glob pattern will be pushed to the revision walker.</p>\n\n<p>A leading &#39;refs/&#39; is implied it not present as well as a trailing &#39;/ <em>&#39; if the glob lacks &#39;?&#39;, &#39;</em>&#39; or &#39;[&#39;.</p>\n","group":"revwalk"},"git_revwalk_push_head":{"type":"function","file":"revwalk.h","line":125,"lineto":125,"args":[{"name":"walk","type":"git_revwalk *","comment":"the walker being used for the traversal"}],"argline":"git_revwalk *walk","sig":"git_revwalk *","return":{"type":"int","comment":" 0 or an error code"},"description":"<p>Push the repository&#39;s HEAD</p>\n","comments":"","group":"revwalk"},"git_revwalk_hide":{"type":"function","file":"revwalk.h","line":140,"lineto":140,"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":" 0 or an error code"},"description":"<p>Mark a commit (and its ancestors) uninteresting for the output.</p>\n","comments":"<p>The given OID must belong to a commit on the walked repository.</p>\n\n<p>The resolved commit and all its parents will be hidden from the output on the revision walk.</p>\n","group":"revwalk"},"git_revwalk_hide_glob":{"type":"function","file":"revwalk.h","line":156,"lineto":156,"args":[{"name":"walk","type":"git_revwalk *","comment":"the walker being used for the traversal"},{"name":"glob","type":"const char *","comment":"the glob pattern references should match"}],"argline":"git_revwalk *walk, const char *glob","sig":"git_revwalk *::const char *","return":{"type":"int","comment":" 0 or an error code"},"description":"<p>Hide matching references.</p>\n","comments":"<p>The OIDs pinted to by the references that match the given glob pattern and their ancestors will be hidden from the output on the revision walk.</p>\n\n<p>A leading &#39;refs/&#39; is implied it not present as well as a trailing &#39;/ <em>&#39; if the glob lacks &#39;?&#39;, &#39;</em>&#39; or &#39;[&#39;.</p>\n","group":"revwalk"},"git_revwalk_hide_head":{"type":"function","file":"revwalk.h","line":164,"lineto":164,"args":[{"name":"walk","type":"git_revwalk *","comment":"the walker being used for the traversal"}],"argline":"git_revwalk *walk","sig":"git_revwalk *","return":{"type":"int","comment":" 0 or an error code"},"description":"<p>Hide the repository&#39;s HEAD</p>\n","comments":"","group":"revwalk"},"git_revwalk_push_ref":{"type":"function","file":"revwalk.h","line":175,"lineto":175,"args":[{"name":"walk","type":"git_revwalk *","comment":"the walker being used for the traversal"},{"name":"refname","type":"const char *","comment":"the referece to push"}],"argline":"git_revwalk *walk, const char *refname","sig":"git_revwalk *::const char *","return":{"type":"int","comment":" 0 or an error code"},"description":"<p>Push the OID pointed to by a reference</p>\n","comments":"<p>The reference must point to a commit.</p>\n","group":"revwalk"},"git_revwalk_hide_ref":{"type":"function","file":"revwalk.h","line":186,"lineto":186,"args":[{"name":"walk","type":"git_revwalk *","comment":"the walker being used for the traversal"},{"name":"refname","type":"const char *","comment":"the referece to hide"}],"argline":"git_revwalk *walk, const char *refname","sig":"git_revwalk *::const char *","return":{"type":"int","comment":" 0 or an error code"},"description":"<p>Hide the OID pointed to by a reference</p>\n","comments":"<p>The reference must point to a commit.</p>\n","group":"revwalk"},"git_revwalk_next":{"type":"function","file":"revwalk.h","line":206,"lineto":206,"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":" 0 if the next commit was found;\n\tGIT_REVWALKOVER if there are no commits left to iterate"},"description":"<p>Get the next commit from the revision walk.</p>\n","comments":"<p>The initial call to this method is <em>not</em> blocking when iterating through a repo with a time-sorting mode.</p>\n\n<p>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).</p>\n\n<p>The revision walker is reset when the walk is over.</p>\n","group":"revwalk","examples":{"general.c":["ex/v0.17.0/general.html#git_revwalk_next-57"]}},"git_revwalk_sorting":{"type":"function","file":"revwalk.h","line":217,"lineto":217,"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":"<p>Change the sorting mode when iterating through the\n repository&#39;s contents.</p>\n","comments":"<p>Changing the sorting mode resets the walker.</p>\n","group":"revwalk","examples":{"general.c":["ex/v0.17.0/general.html#git_revwalk_sorting-58"]}},"git_revwalk_free":{"type":"function","file":"revwalk.h","line":224,"lineto":224,"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":"<p>Free a revision walker previously allocated.</p>\n","comments":"","group":"revwalk","examples":{"general.c":["ex/v0.17.0/general.html#git_revwalk_free-59"]}},"git_revwalk_repository":{"type":"function","file":"revwalk.h","line":233,"lineto":233,"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":"<p>Return the repository on which this walker\n is operating.</p>\n","comments":"","group":"revwalk"},"git_signature_new":{"type":"function","file":"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":" 0 or an error code"},"description":"<p>Create a new action signature. The signature must be freed\n manually or using git_signature_free</p>\n","comments":"","group":"signature","examples":{"general.c":["ex/v0.17.0/general.html#git_signature_new-60","ex/v0.17.0/general.html#git_signature_new-61"]}},"git_signature_now":{"type":"function","file":"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":" 0 or an error code"},"description":"<p>Create a new action signature with a timestamp of &#39;now&#39;. The\n signature must be freed manually or using git_signature_free</p>\n","comments":"","group":"signature"},"git_signature_dup":{"type":"function","file":"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":"<p>Create a copy of an existing signature.</p>\n","comments":"<p>All internal strings are also duplicated. </p>\n","group":"signature"},"git_signature_free":{"type":"function","file":"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":"<p>Free an existing signature</p>\n","comments":"","group":"signature"},"git_status_foreach":{"type":"function","file":"status.h","line":47,"lineto":50,"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":" 0 on success or the return value of the callback that was non-zero"},"description":"<p>Gather file statuses and run a callback for each one.</p>\n","comments":"<p>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 0, this function will return that value.</p>\n","group":"status"},"git_status_foreach_ext":{"type":"function","file":"status.h","line":122,"lineto":126,"args":[{"name":"repo","type":"git_repository *","comment":null},{"name":"opts","type":"const git_status_options *","comment":null},{"name":"callback","type":"int (*)(const char *, unsigned int, void *)","comment":null},{"name":"payload","type":"void *","comment":null}],"argline":"git_repository *repo, const git_status_options *opts, int (*)(const char *, unsigned int, void *) callback, void *payload","sig":"git_repository *::const git_status_options *::int (*)(const char *, unsigned int, void *)::void *","return":{"type":"int","comment":null},"description":"<p>Gather file status information and run callbacks as requested.</p>\n","comments":"","group":"status"},"git_status_file":{"type":"function","file":"status.h","line":138,"lineto":141,"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\t0 otherwise"},"description":"<p>Get file status for a single file</p>\n","comments":"","group":"status"},"git_status_should_ignore":{"type":"function","file":"status.h","line":157,"lineto":160,"args":[{"name":"ignored","type":"int *","comment":"boolean returning 0 if the file is not ignored, 1 if it is"},{"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."}],"argline":"int *ignored, git_repository *repo, const char *path","sig":"int *::git_repository *::const char *","return":{"type":"int","comment":" 0 if ignore rules could be processed for the file (regardless\n of whether it exists or not), or an error \n<\n 0 if they could not."},"description":"<p>Test if the ignore rules apply to a given file.</p>\n","comments":"<p>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.</p>\n","group":"status"},"git_submodule_foreach":{"type":"function","file":"submodule.h","line":78,"lineto":81,"args":[{"name":"repo","type":"git_repository *","comment":"The repository"},{"name":"callback","type":"int (*)(const char *, void *)","comment":"Function to be called with the name of each submodule.\n Return a non-zero value to terminate the iteration."},{"name":"payload","type":"void *","comment":"Extra data to pass to callback"}],"argline":"git_repository *repo, int (*)(const char *, void *) callback, void *payload","sig":"git_repository *::int (*)(const char *, void *)::void *","return":{"type":"int","comment":" 0 on success, -1 on error, or non-zero return value of callback"},"description":"<p>Iterate over all submodules of a repository.</p>\n","comments":"","group":"submodule"},"git_submodule_lookup":{"type":"function","file":"submodule.h","line":96,"lineto":99,"args":[{"name":"submodule","type":"git_submodule **","comment":"Pointer to submodule description object pointer.."},{"name":"repo","type":"git_repository *","comment":"The repository."},{"name":"name","type":"const char *","comment":"The name of the submodule. Trailing slashes will be ignored."}],"argline":"git_submodule **submodule, git_repository *repo, const char *name","sig":"git_submodule **::git_repository *::const char *","return":{"type":"int","comment":" 0 on success, GIT_ENOTFOUND if submodule does not exist, -1 on error"},"description":"<p>Lookup submodule information by name or path.</p>\n","comments":"<p>Given either the submodule name or path (they are ususally the same), this returns a structure describing the submodule. If the submodule does not exist, this will return GIT_ENOTFOUND and set the submodule pointer to NULL.</p>\n","group":"submodule"},"git_tag_lookup":{"type":"function","file":"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":" 0 or an error code"},"description":"<p>Lookup a tag object from the repository.</p>\n","comments":"","group":"tag","examples":{"general.c":["ex/v0.17.0/general.html#git_tag_lookup-62"]}},"git_tag_lookup_prefix":{"type":"function","file":"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":" 0 or an error code"},"description":"<p>Lookup a tag object from the repository,\n given a prefix of its identifier (short id).</p>\n","comments":"","group":"tag"},"git_tag_free":{"type":"function","file":"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":"<p>Close an open tag</p>\n","comments":"<p>This is a wrapper around git_object_free()</p>\n\n<p>IMPORTANT: It <em>is</em> necessary to call this method when you stop using a tag. Failure to do so will cause a memory leak.</p>\n","group":"tag"},"git_tag_id":{"type":"function","file":"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":"<p>Get the id of a tag.</p>\n","comments":"","group":"tag"},"git_tag_target":{"type":"function","file":"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":" 0 or an error code"},"description":"<p>Get the tagged object of a tag</p>\n","comments":"<p>This method performs a repository lookup for the given object and returns it</p>\n","group":"tag","examples":{"general.c":["ex/v0.17.0/general.html#git_tag_target-63"]}},"git_tag_target_oid":{"type":"function","file":"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":"<p>Get the OID of the tagged object of a tag</p>\n","comments":"","group":"tag"},"git_tag_type":{"type":"function","file":"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":"<p>Get the type of a tag&#39;s tagged object</p>\n","comments":"","group":"tag","examples":{"general.c":["ex/v0.17.0/general.html#git_tag_type-64"]}},"git_tag_name":{"type":"function","file":"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":"<p>Get the name of a tag</p>\n","comments":"","group":"tag","examples":{"general.c":["ex/v0.17.0/general.html#git_tag_name-65"]}},"git_tag_tagger":{"type":"function","file":"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":"<p>Get the tagger (author) of a tag</p>\n","comments":"","group":"tag"},"git_tag_message":{"type":"function","file":"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":"<p>Get the message of a tag</p>\n","comments":"","group":"tag","examples":{"general.c":["ex/v0.17.0/general.html#git_tag_message-66"]}},"git_tag_create":{"type":"function","file":"tag.h","line":168,"lineto":175,"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":" 0 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":"<p>Create a new tag in the repository from an object</p>\n","comments":"<p>A new reference will also be created pointing to this tag object. If <code>force</code> is true and a reference already exists with the given name, it&#39;ll be replaced.</p>\n\n<p>The message will be cleaned up from excess whitespace it will be made sure that the last line ends with a &#39;&#39;.</p>\n","group":"tag"},"git_tag_create_frombuffer":{"type":"function","file":"tag.h","line":186,"lineto":190,"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":"<p>Create a new tag in the repository from a buffer</p>\n","comments":"","group":"tag"},"git_tag_create_lightweight":{"type":"function","file":"tag.h","line":219,"lineto":224,"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":" 0 or an error code\n\tA proper reference is written in the /refs/tags folder,\n pointing to the provided target object"},"description":"<p>Create a new lightweight tag pointing at a target object</p>\n","comments":"<p>A new direct reference will be created pointing to this target object. If <code>force</code> is true and a reference already exists with the given name, it&#39;ll be replaced.</p>\n","group":"tag"},"git_tag_delete":{"type":"function","file":"tag.h","line":236,"lineto":238,"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":" 0 or an error code"},"description":"<p>Delete an existing tag reference.</p>\n","comments":"","group":"tag"},"git_tag_list":{"type":"function","file":"tag.h","line":253,"lineto":255,"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":" 0 or an error code"},"description":"<p>Fill a list with all the tags in the Repository</p>\n","comments":"<p>The string array will be filled with the names of the matching tags; these values are owned by the user and should be free&#39;d manually when no longer needed, using <code>git_strarray_free</code>.</p>\n","group":"tag"},"git_tag_list_match":{"type":"function","file":"tag.h","line":275,"lineto":278,"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":" 0 or an error code"},"description":"<p>Fill a list with all the tags in the Repository\n which name match a defined pattern</p>\n","comments":"<p>If an empty pattern is provided, all the tags will be returned.</p>\n\n<p>The string array will be filled with the names of the matching tags; these values are owned by the user and should be free&#39;d manually when no longer needed, using <code>git_strarray_free</code>.</p>\n","group":"tag"},"git_tag_peel":{"type":"function","file":"tag.h","line":291,"lineto":293,"args":[{"name":"tag_target","type":"git_object **","comment":"Pointer to the peeled git_object"},{"name":"tag","type":"git_tag *","comment":"The tag to be processed"}],"argline":"git_object **tag_target, git_tag *tag","sig":"git_object **::git_tag *","return":{"type":"int","comment":" 0 or an error code"},"description":"<p>Recursively peel a tag until a non tag git_object\n is met</p>\n","comments":"<p>The retrieved <code>tag_target</code> object is owned by the repository and should be closed with the <code>git_object_free</code> method.</p>\n","group":"tag"},"git_threads_init":{"type":"function","file":"threads.h","line":31,"lineto":31,"args":[],"argline":"","sig":"","return":{"type":"void","comment":null},"description":"<p>Init the threading system.</p>\n","comments":"<p>If libgit2 has been built with GIT_THREADS on, this function must be called once before any other library functions.</p>\n\n<p>If libgit2 has been built without GIT_THREADS support, this function is a no-op.</p>\n","group":"threads"},"git_threads_shutdown":{"type":"function","file":"threads.h","line":43,"lineto":43,"args":[],"argline":"","sig":"","return":{"type":"void","comment":null},"description":"<p>Shutdown the threading system.</p>\n","comments":"<p>If libgit2 has been built with GIT_THREADS on, this function must be called before shutting down the library.</p>\n\n<p>If libgit2 has been built without GIT_THREADS support, this function is a no-op.</p>\n","group":"threads"},"git_tree_lookup":{"type":"function","file":"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":" 0 or an error code"},"description":"<p>Lookup a tree object from the repository.</p>\n","comments":"","group":"tree","examples":{"general.c":["ex/v0.17.0/general.html#git_tree_lookup-67","ex/v0.17.0/general.html#git_tree_lookup-68"]}},"git_tree_lookup_prefix":{"type":"function","file":"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":" 0 or an error code"},"description":"<p>Lookup a tree object from the repository,\n given a prefix of its identifier (short id).</p>\n","comments":"","group":"tree"},"git_tree_free":{"type":"function","file":"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":"<p>Close an open tree</p>\n","comments":"<p>This is a wrapper around git_object_free()</p>\n\n<p>IMPORTANT: It <em>is</em> necessary to call this method when you stop using a tree. Failure to do so will cause a memory leak.</p>\n","group":"tree"},"git_tree_id":{"type":"function","file":"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":"<p>Get the id of a tree.</p>\n","comments":"","group":"tree"},"git_tree_entrycount":{"type":"function","file":"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":"<p>Get the number of entries listed in a tree</p>\n","comments":"","group":"tree","examples":{"general.c":["ex/v0.17.0/general.html#git_tree_entrycount-69"]}},"git_tree_entry_byname":{"type":"function","file":"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":"<p>Lookup a tree entry by its filename</p>\n","comments":"","group":"tree","examples":{"general.c":["ex/v0.17.0/general.html#git_tree_entry_byname-70"]}},"git_tree_entry_byindex":{"type":"function","file":"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":"<p>Lookup a tree entry by its position in the tree</p>\n","comments":"","group":"tree","examples":{"general.c":["ex/v0.17.0/general.html#git_tree_entry_byindex-71"]}},"git_tree_entry_attributes":{"type":"function","file":"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":"<p>Get the UNIX file attributes of a tree entry</p>\n","comments":"","group":"tree"},"git_tree_entry_name":{"type":"function","file":"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":"<p>Get the filename of a tree entry</p>\n","comments":"","group":"tree","examples":{"general.c":["ex/v0.17.0/general.html#git_tree_entry_name-72","ex/v0.17.0/general.html#git_tree_entry_name-73"]}},"git_tree_entry_id":{"type":"function","file":"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":"<p>Get the id of the object pointed by the entry</p>\n","comments":"","group":"tree"},"git_tree_entry_type":{"type":"function","file":"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":"<p>Get the type of the object pointed by the entry</p>\n","comments":"","group":"tree"},"git_tree_entry_to_object":{"type":"function","file":"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":" 0 or an error code"},"description":"<p>Convert a tree entry to the git_object it points too.</p>\n","comments":"","group":"tree","examples":{"general.c":["ex/v0.17.0/general.html#git_tree_entry_to_object-74"]}},"git_tree_create_fromindex":{"type":"function","file":"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":" 0 or an error code"},"description":"<p>Write a tree to the ODB from the index file</p>\n","comments":"<p>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.</p>\n\n<p>The index instance cannot be bare, and needs to be associated to an existing repository.</p>\n","group":"tree"},"git_treebuilder_create":{"type":"function","file":"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":"<p>Create a new tree builder.</p>\n","comments":"<p>The tree builder can be used to create or modify trees in memory and write them as tree objects to the database.</p>\n\n<p>If the <code>source</code> parameter is not NULL, the tree builder will be initialized with the entries of the given tree.</p>\n\n<p>If the <code>source</code> parameter is NULL, the tree builder will have no entries and will have to be filled manually.</p>\n","group":"treebuilder"},"git_treebuilder_clear":{"type":"function","file":"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":"<p>Clear all the entires in the builder</p>\n","comments":"","group":"treebuilder"},"git_treebuilder_free":{"type":"function","file":"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":"<p>Free a tree builder</p>\n","comments":"<p>This will clear all the entries and free to builder. Failing to free the builder after you&#39;re done using it will result in a memory leak</p>\n","group":"treebuilder"},"git_treebuilder_get":{"type":"function","file":"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":"<p>Get an entry from the builder from its filename</p>\n","comments":"<p>The returned entry is owned by the builder and should not be freed manually.</p>\n","group":"treebuilder"},"git_treebuilder_insert":{"type":"function","file":"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":" 0 or an error code"},"description":"<p>Add or update an entry to the builder</p>\n","comments":"<p>Insert a new entry for <code>filename</code> in the builder with the given attributes.</p>\n\n<p>if an entry named <code>filename</code> already exists, its attributes will be updated with the given ones.</p>\n\n<p>The optional pointer <code>entry_out</code> can be used to retrieve a pointer to the newly created/updated entry.</p>\n","group":"treebuilder"},"git_treebuilder_remove":{"type":"function","file":"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":"<p>Remove an entry from the builder by its filename</p>\n","comments":"","group":"treebuilder"},"git_treebuilder_filter":{"type":"function","file":"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":"<p>Filter the entries in the tree</p>\n","comments":"<p>The <code>filter</code> callback will be called for each entry in the tree with a pointer to the entry and the provided <code>payload</code>: if the callback returns 1, the entry will be filtered (removed from the builder).</p>\n","group":"treebuilder"},"git_treebuilder_write":{"type":"function","file":"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":" 0 or an error code"},"description":"<p>Write the contents of the tree builder as a tree object</p>\n","comments":"<p>The tree builder will be written to the given <code>repo</code>, and it&#39;s identifying SHA1 hash will be stored in the <code>oid</code> pointer.</p>\n","group":"treebuilder"},"git_tree_get_subtree":{"type":"function","file":"tree.h","line":283,"lineto":283,"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":" 0 on success; GIT_ENOTFOUND if the path does not lead to a subtree"},"description":"<p>Retrieve a subtree contained in a tree, given its\n relative path.</p>\n","comments":"<p>The returned tree is owned by the repository and should be closed with the <code>git_object_free</code> method.</p>\n","group":"tree"},"git_tree_walk":{"type":"function","file":"tree.h","line":313,"lineto":313,"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":" 0 or an error code"},"description":"<p>Traverse the entries in a tree and its subtrees in\n post or pre order</p>\n","comments":"<p>The entries will be traversed in the specified order, children subtrees will be automatically loaded as required, and the <code>callback</code> will be called once per entry with the current (relative) root for the entry and the entry data itself.</p>\n\n<p>If the callback returns a negative value, the passed entry will be skiped on the traversal.</p>\n","group":"tree"},"gitwin_set_codepage":{"type":"function","file":"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":"<p>Set the active codepage for Windows syscalls</p>\n","comments":"<p>All syscalls performed by the library will assume this codepage when converting paths and strings to use by the Windows kernel.</p>\n\n<p>The default value of UTF-8 will work automatically with most Git repositories created on Unix systems.</p>\n\n<p>This settings needs only be changed when working with repositories that contain paths in specific, non-UTF codepages.</p>\n\n<p>A full list of all available codepage identifiers may be found at:</p>\n\n<p>http://msdn.microsoft.com/en-us/library/windows/desktop/dd317756(v=vs.85).aspx</p>\n","group":"gitwin"},"gitwin_get_codepage":{"type":"function","file":"windows.h","line":48,"lineto":48,"args":[],"argline":"","sig":"","return":{"type":"unsigned int","comment":" numeric codepage identifier"},"description":"<p>Return the active codepage for Windows syscalls</p>\n","comments":"","group":"gitwin"},"gitwin_set_utf8":{"type":"function","file":"windows.h","line":54,"lineto":54,"args":[],"argline":"","sig":"","return":{"type":"void","comment":null},"description":"<p>Set the active Windows codepage to UTF-8 (this is\n the default value)</p>\n","comments":"","group":"gitwin"}},"callbacks":{"git_diff_file_fn":{"type":"callback","file":"diff.h","line":128,"lineto":131,"args":[{"name":"cb_data","type":"void *","comment":null},{"name":"delta","type":"git_diff_delta *","comment":null},{"name":"progress","type":"float","comment":null}],"argline":"void *cb_data, git_diff_delta *delta, float progress","sig":"void *::git_diff_delta *::float","return":{"type":"int","comment":null},"description":"<p>When iterating over a diff, callback that will be made per file.</p>\n","comments":""},"git_diff_hunk_fn":{"type":"callback","file":"diff.h","line":146,"lineto":151,"args":[{"name":"cb_data","type":"void *","comment":null},{"name":"delta","type":"git_diff_delta *","comment":null},{"name":"range","type":"git_diff_range *","comment":null},{"name":"header","type":"const char *","comment":null},{"name":"header_len","type":"int","comment":null}],"argline":"void *cb_data, git_diff_delta *delta, git_diff_range *range, const char *header, int header_len","sig":"void *::git_diff_delta *::git_diff_range *::const char *::int","return":{"type":"int","comment":null},"description":"<p>When iterating over a diff, callback that will be made per hunk.</p>\n","comments":""},"git_diff_data_fn":{"type":"callback","file":"diff.h","line":186,"lineto":192,"args":[{"name":"cb_data","type":"void *","comment":null},{"name":"delta","type":"git_diff_delta *","comment":null},{"name":"range","type":"git_diff_range *","comment":null},{"name":"line_origin","type":"char","comment":null},{"name":"content","type":"const char *","comment":null},{"name":"content_len","type":"int","comment":null}],"argline":"void *cb_data, git_diff_delta *delta, git_diff_range *range, char line_origin, const char *content, int content_len","sig":"void *::git_diff_delta *::git_diff_range *::char::const char *::int","return":{"type":"int","comment":null},"description":"<p>When iterating over a diff, callback that will be made per text diff\n line. In this context, the provided range will be NULL.</p>\n","comments":"<p>When printing a diff, callback that will be made to output each line of text. This uses some extra GIT_DIFF_LINE_... constants for output of lines of file and hunk headers.</p>\n"},"git_headlist_cb":{"type":"callback","file":"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":"<p>Callback for listing the remote heads</p>\n","comments":""},"git_treewalk_cb":{"type":"callback","file":"tree.h","line":286,"lineto":286,"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":"<p>Callback for the tree traversal method </p>\n","comments":""}},"globals":{},"types":[["git_blob",{"decl":"git_blob","type":"struct","value":"git_blob","file":"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_diff_blobs"]}}],["git_branch_t",{"decl":["GIT_BRANCH_LOCAL","GIT_BRANCH_REMOTE"],"type":"enum","file":"types.h","line":164,"lineto":167,"block":"GIT_BRANCH_LOCAL\nGIT_BRANCH_REMOTE","tdef":"typedef","description":" Basic type of any Git branch. ","comments":"","fields":[{"type":"int","name":"GIT_BRANCH_LOCAL","comments":"","value":1},{"type":"int","name":"GIT_BRANCH_REMOTE","comments":"","value":2}],"used":{"returns":[],"needs":["git_branch_delete"]}}],["git_commit",{"decl":"git_commit","type":"struct","value":"git_commit","file":"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":"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_multivar","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_multivar","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":"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 *, int (*)(const char *, void *), void *) get_multivar\nint (*)(struct git_config_file *, const char *, const char *) set\nint (*)(git_config_file *, const char *, const char *, const char *) set_multivar\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 *, int (*)(const char *, void *), void *)","name":"get_multivar","comments":""},{"type":"int (*)(struct git_config_file *, const char *, const char *)","name":"set","comments":""},{"type":"int (*)(git_config_file *, const char *, const char *, const char *)","name":"set_multivar","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_delta_t",{"decl":["GIT_DELTA_UNMODIFIED","GIT_DELTA_ADDED","GIT_DELTA_DELETED","GIT_DELTA_MODIFIED","GIT_DELTA_RENAMED","GIT_DELTA_COPIED","GIT_DELTA_IGNORED","GIT_DELTA_UNTRACKED"],"type":"enum","file":"diff.h","line":82,"lineto":91,"block":"GIT_DELTA_UNMODIFIED\nGIT_DELTA_ADDED\nGIT_DELTA_DELETED\nGIT_DELTA_MODIFIED\nGIT_DELTA_RENAMED\nGIT_DELTA_COPIED\nGIT_DELTA_IGNORED\nGIT_DELTA_UNTRACKED","tdef":"typedef","description":" What type of change is described by a git_diff_delta?","comments":"","fields":[{"type":"int","name":"GIT_DELTA_UNMODIFIED","comments":"","value":0},{"type":"int","name":"GIT_DELTA_ADDED","comments":"","value":1},{"type":"int","name":"GIT_DELTA_DELETED","comments":"","value":2},{"type":"int","name":"GIT_DELTA_MODIFIED","comments":"","value":3},{"type":"int","name":"GIT_DELTA_RENAMED","comments":"","value":4},{"type":"int","name":"GIT_DELTA_COPIED","comments":"","value":5},{"type":"int","name":"GIT_DELTA_IGNORED","comments":"","value":6},{"type":"int","name":"GIT_DELTA_UNTRACKED","comments":"","value":7}],"used":{"returns":[],"needs":[]}}],["git_diff_delta",{"decl":["git_diff_file old_file","git_diff_file new_file","git_delta_t status","unsigned int similarity","int binary"],"type":"struct","value":"git_diff_delta","file":"diff.h","line":117,"lineto":123,"block":"git_diff_file old_file\ngit_diff_file new_file\ngit_delta_t status\nunsigned int similarity\nint binary","tdef":"typedef","description":" Description of changes to one file.","comments":"<p>When iterating over a diff list object, this will generally be passed to most callback functions and you can use the contents to understand exactly what has changed.</p>\n\n<p>Under some circumstances, not all fields will be filled in, but the code generally tries to fill in as much as possible. One example is that the &quot;binary&quot; field will not actually look at file contents if you do not pass in hunk and/or line callbacks to the diff foreach iteration function. It will just use the git attributes for those files.</p>\n","fields":[{"type":"git_diff_file","name":"old_file","comments":""},{"type":"git_diff_file","name":"new_file","comments":""},{"type":"git_delta_t","name":"status","comments":""},{"type":"unsigned int","name":"similarity","comments":" for RENAMED and COPIED, value 0-100 "},{"type":"int","name":"binary","comments":""}],"used":{"returns":[],"needs":["git_diff_data_fn","git_diff_file_fn","git_diff_hunk_fn"]}}],["git_diff_file",{"decl":["git_oid oid","char * path","uint16_t mode","git_off_t size","unsigned int flags"],"type":"struct","value":"git_diff_file","file":"diff.h","line":96,"lineto":102,"block":"git_oid oid\nchar * path\nuint16_t mode\ngit_off_t size\nunsigned int flags","tdef":"typedef","description":" Description of one side of a diff.","comments":"","fields":[{"type":"git_oid","name":"oid","comments":""},{"type":"char *","name":"path","comments":""},{"type":"uint16_t","name":"mode","comments":""},{"type":"git_off_t","name":"size","comments":""},{"type":"unsigned int","name":"flags","comments":""}],"used":{"returns":[],"needs":["git_diff_blobs","git_diff_foreach"]}}],["git_diff_list",{"decl":"git_diff_list","type":"struct","value":"git_diff_list","file":"diff.h","line":68,"lineto":68,"tdef":"typedef","description":" The diff list object that contains all individual file deltas.","comments":"","used":{"returns":[],"needs":["git_diff_foreach","git_diff_index_to_tree","git_diff_list_free","git_diff_merge","git_diff_print_compact","git_diff_print_patch","git_diff_tree_to_tree","git_diff_workdir_to_index","git_diff_workdir_to_tree"]}}],["git_diff_range",{"decl":["int old_start","int old_lines","int new_start","int new_lines"],"type":"struct","value":"git_diff_range","file":"diff.h","line":136,"lineto":141,"block":"int old_start\nint old_lines\nint new_start\nint new_lines","tdef":"typedef","description":" Structure describing a hunk of a diff.","comments":"","fields":[{"type":"int","name":"old_start","comments":""},{"type":"int","name":"old_lines","comments":""},{"type":"int","name":"new_start","comments":""},{"type":"int","name":"new_lines","comments":""}],"used":{"returns":[],"needs":["git_diff_data_fn","git_diff_hunk_fn"]}}],["git_index",{"decl":"git_index","type":"struct","value":"git_index","file":"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_stream_finalize","git_indexer_stream_free","git_indexer_stream_hash","git_indexer_stream_new","git_indexer_write","git_remote_download","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":"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":"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":"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":"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_indexer_stream_finalize","git_remote_download"]}}],["git_note",{"decl":"git_note","type":"struct","value":"git_note","file":"types.h","line":135,"lineto":135,"tdef":"typedef","description":" Representation of a git note ","comments":"","used":{"returns":[],"needs":["git_note_foreach","git_note_free","git_note_message","git_note_oid","git_note_read"]}}],["git_note_data",{"decl":["git_oid blob_oid","git_oid annotated_object_oid"],"type":"struct","value":"git_note_data","file":"notes.h","line":111,"lineto":114,"block":"git_oid blob_oid\ngit_oid annotated_object_oid","tdef":"typedef","description":" Basic components of a note","comments":"<ul>\n<li>Oid of the blob containing the message - Oid of the git object being annotated</li>\n</ul>\n","fields":[{"type":"git_oid","name":"blob_oid","comments":""},{"type":"git_oid","name":"annotated_object_oid","comments":""}],"used":{"returns":[],"needs":["git_note_foreach"]}}],["git_object",{"decl":"git_object","type":"struct","value":"git_object","file":"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_peel","git_tag_target","git_tree_entry_to_object"]}}],["git_odb",{"decl":"git_odb","type":"struct","value":"git_odb","file":"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":"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":"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":"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_oid",{"decl":"git_oid","type":"struct","value":"git_oid","file":"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_indexer_stream_hash","git_note_oid","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_fromdisk","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_merge_base","git_note_create","git_note_read","git_note_remove","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_iszero","git_oid_ncmp","git_oid_pathfmt","git_oid_shorten_add","git_oid_shorten_free","git_oid_streq","git_reference_create_oid","git_reference_name_to_oid","git_reference_set_oid","git_reflog_write","git_remote_update_tips","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":"oid.h","line":170,"lineto":170,"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":"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":"<p>Object can be any of the following </p>\n","value":-2},{"type":"int","name":"GIT_OBJ_BAD","comments":"<p>Object is invalid. </p>\n","value":-1},{"type":"int","name":"GIT_OBJ__EXT1","comments":"<p>Reserved for future use. </p>\n","value":0},{"type":"int","name":"GIT_OBJ_COMMIT","comments":"<p>A commit object. </p>\n","value":1},{"type":"int","name":"GIT_OBJ_TREE","comments":"<p>A tree (directory listing) object. </p>\n","value":2},{"type":"int","name":"GIT_OBJ_BLOB","comments":"<p>A file revision object. </p>\n","value":3},{"type":"int","name":"GIT_OBJ_TAG","comments":"<p>An annotated tag object. </p>\n","value":4},{"type":"int","name":"GIT_OBJ__EXT2","comments":"<p>Reserved for future use. </p>\n","value":5},{"type":"int","name":"GIT_OBJ_OFS_DELTA","comments":"<p>A delta, base is given by an offset. </p>\n","value":6},{"type":"int","name":"GIT_OBJ_REF_DELTA","comments":"<p>A delta, base is given by object id. </p>\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_ref_t",{"decl":["GIT_REF_INVALID","GIT_REF_OID","GIT_REF_SYMBOLIC","GIT_REF_PACKED","GIT_REF_HAS_PEEL","GIT_REF_LISTALL"],"type":"enum","file":"types.h","line":154,"lineto":161,"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":"<p>Invalid reference </p>\n","value":1},{"type":"int","name":"GIT_REF_SYMBOLIC","comments":"<p>A reference which points at an object id </p>\n","value":2},{"type":"int","name":"GIT_REF_PACKED","comments":"<p>A reference which points at another reference </p>\n","value":4},{"type":"int","name":"GIT_REF_HAS_PEEL","comments":"<p>A reference which points at another reference </p>\n","value":8},{"type":"int","name":"GIT_REF_LISTALL","comments":"<p>A reference which points at another reference </p>\n","value":7}],"used":{"returns":["git_reference_type"],"needs":[]}}],["git_reference",{"decl":"git_reference","type":"struct","value":"git_reference","file":"types.h","line":151,"lineto":151,"tdef":"typedef","description":" In-memory representation of a reference. ","comments":"","used":{"returns":[],"needs":["git_reference_cmp","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":"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":"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":"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":"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_fromdisk","git_blob_create_fromfile","git_blob_lookup","git_blob_lookup_prefix","git_branch_delete","git_branch_list","git_branch_move","git_commit_create","git_commit_create_v","git_commit_lookup","git_commit_lookup_prefix","git_diff_index_to_tree","git_diff_tree_to_tree","git_diff_workdir_to_index","git_diff_workdir_to_tree","git_merge_base","git_note_create","git_note_default_ref","git_note_foreach","git_note_read","git_note_remove","git_object_lookup","git_object_lookup_prefix","git_reference_create_oid","git_reference_create_symbolic","git_reference_foreach","git_reference_list","git_reference_lookup","git_reference_name_to_oid","git_reference_packall","git_remote_add","git_remote_list","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_open_ext","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_foreach_ext","git_status_should_ignore","git_submodule_foreach","git_submodule_lookup","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_to_object","git_tree_lookup","git_tree_lookup_prefix","git_treebuilder_write"]}}],["git_revwalk",{"decl":"git_revwalk","type":"struct","value":"git_revwalk","file":"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_hide_glob","git_revwalk_hide_head","git_revwalk_hide_ref","git_revwalk_new","git_revwalk_next","git_revwalk_push","git_revwalk_push_glob","git_revwalk_push_head","git_revwalk_push_ref","git_revwalk_repository","git_revwalk_reset","git_revwalk_sorting"]}}],["git_signature",{"decl":["char * name","char * email","git_time when"],"type":"struct","value":"git_signature","file":"types.h","line":144,"lineto":148,"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_note_create","git_note_remove","git_reflog_write","git_signature_dup","git_signature_free","git_signature_new","git_signature_now","git_tag_create"]}}],["git_status_show_t",{"decl":["GIT_STATUS_SHOW_INDEX_AND_WORKDIR","GIT_STATUS_SHOW_INDEX_ONLY","GIT_STATUS_SHOW_WORKDIR_ONLY","GIT_STATUS_SHOW_INDEX_THEN_WORKDIR"],"type":"enum","file":"status.h","line":71,"lineto":76,"block":"GIT_STATUS_SHOW_INDEX_AND_WORKDIR\nGIT_STATUS_SHOW_INDEX_ONLY\nGIT_STATUS_SHOW_WORKDIR_ONLY\nGIT_STATUS_SHOW_INDEX_THEN_WORKDIR","tdef":"typedef","description":" Select the files on which to report status.","comments":"<ul>\n<li>GIT_STATUS_SHOW_INDEX_AND_WORKDIR is the default. This is the rough equivalent of <code>git status --porcelain</code> where each file will receive a callback indicating its status in the index and in the workdir. - GIT_STATUS_SHOW_INDEX_ONLY will only make callbacks for index side of status. The status of the index contents relative to the HEAD will be given. - GIT_STATUS_SHOW_WORKDIR_ONLY will only make callbacks for the workdir side of status, reporting the status of workdir content relative to the index. - GIT_STATUS_SHOW_INDEX_THEN_WORKDIR behaves like index-only followed by workdir-only, causing two callbacks to be issued per file (first index then workdir). This is slightly more efficient than making separate calls. This makes it easier to emulate the output of a plain <code>git status</code>.</li>\n</ul>\n","fields":[{"type":"int","name":"GIT_STATUS_SHOW_INDEX_AND_WORKDIR","comments":"","value":0},{"type":"int","name":"GIT_STATUS_SHOW_INDEX_ONLY","comments":"","value":1},{"type":"int","name":"GIT_STATUS_SHOW_WORKDIR_ONLY","comments":"","value":2},{"type":"int","name":"GIT_STATUS_SHOW_INDEX_THEN_WORKDIR","comments":"","value":3}],"used":{"returns":[],"needs":[]}}],["git_submodule",{"decl":["char * name","char * path","char * url","git_oid oid","git_submodule_update_t update","git_submodule_ignore_t ignore","int fetch_recurse","int refcount"],"type":"struct","value":"git_submodule","file":"submodule.h","line":58,"lineto":67,"block":"char * name\nchar * path\nchar * url\ngit_oid oid\ngit_submodule_update_t update\ngit_submodule_ignore_t ignore\nint fetch_recurse\nint refcount","tdef":"typedef","description":" Description of submodule","comments":"<p>This record describes a submodule found in a repository. There should be an entry for every submodule found in the HEAD and for every submodule described in .gitmodules. The fields are as follows:</p>\n\n<ul>\n<li><code>name</code> is the name of the submodule from .gitmodules. - <code>path</code> is the path to the submodule from the repo working directory. It is almost always the same as <code>name</code>. - <code>url</code> is the url for the submodule. - <code>oid</code> is the HEAD SHA1 for the submodule. - <code>update</code> is a value from above - see gitmodules(5) update. - <code>ignore</code> is a value from above - see gitmodules(5) ignore. - <code>fetch_recurse</code> is 0 or 1 - see gitmodules(5) fetchRecurseSubmodules. - <code>refcount</code> is for internal use.</li>\n</ul>\n\n<p>If the submodule has been added to .gitmodules but not yet git added, then the <code>oid</code> will be zero. If the submodule has been deleted, but the delete has not been committed yet, then the <code>oid</code> will be set, but the <code>url</code> will be NULL.</p>\n","fields":[{"type":"char *","name":"name","comments":""},{"type":"char *","name":"path","comments":""},{"type":"char *","name":"url","comments":""},{"type":"git_oid","name":"oid","comments":""},{"type":"git_submodule_update_t","name":"update","comments":""},{"type":"git_submodule_ignore_t","name":"ignore","comments":""},{"type":"int","name":"fetch_recurse","comments":""},{"type":"int","name":"refcount","comments":""}],"used":{"returns":[],"needs":["git_submodule_lookup"]}}],["git_submodule_update_t",{"decl":["GIT_SUBMODULE_UPDATE_CHECKOUT","GIT_SUBMODULE_UPDATE_REBASE","GIT_SUBMODULE_UPDATE_MERGE"],"type":"enum","file":"submodule.h","line":23,"lineto":27,"block":"GIT_SUBMODULE_UPDATE_CHECKOUT\nGIT_SUBMODULE_UPDATE_REBASE\nGIT_SUBMODULE_UPDATE_MERGE","tdef":"typedef","description":" \n\n git2/submodule.h\n ","comments":"<p>@{</p>\n","fields":[{"type":"int","name":"GIT_SUBMODULE_UPDATE_CHECKOUT","comments":"","value":0},{"type":"int","name":"GIT_SUBMODULE_UPDATE_REBASE","comments":"","value":1},{"type":"int","name":"GIT_SUBMODULE_UPDATE_MERGE","comments":"","value":2}],"used":{"returns":[],"needs":[]}}],["git_tag",{"decl":"git_tag","type":"struct","value":"git_tag","file":"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_peel","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":"types.h","line":138,"lineto":141,"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":"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_diff_index_to_tree","git_diff_tree_to_tree","git_diff_workdir_to_tree","git_index_read_tree","git_tree_entry_attributes","git_tree_entry_byindex","git_tree_entry_byname","git_tree_entry_id","git_tree_entry_name","git_tree_entry_to_object","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":"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_attributes","git_tree_entry_id","git_tree_entry_name","git_tree_entry_to_object","git_tree_entry_type","git_treebuilder_filter","git_treebuilder_insert","git_treewalk_cb"]}}],["git_treebuilder",{"decl":"git_treebuilder","type":"struct","value":"git_treebuilder","file":"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":"tree.h","line":289,"lineto":292,"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/git2","groups":[["attr",["git_attr_add_macro","git_attr_cache_flush","git_attr_foreach","git_attr_get"]],["blob",["git_blob_create_fromdisk","git_blob_create_fromfile","git_blob_free","git_blob_lookup","git_blob_lookup_prefix","git_blob_rawcontent"]],["branch",["git_branch_delete","git_branch_list","git_branch_move"]],["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_foreach","git_config_free","git_config_get_bool","git_config_get_int32","git_config_get_int64","git_config_get_multivar","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_multivar","git_config_set_string"]],["diff",["git_diff_blobs","git_diff_foreach","git_diff_index_to_tree","git_diff_list_free","git_diff_merge","git_diff_print_compact","git_diff_print_patch","git_diff_tree_to_tree","git_diff_workdir_to_index","git_diff_workdir_to_tree"]],["giterr",["giterr_clear","giterr_last"]],["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_stream_finalize","git_indexer_stream_free","git_indexer_stream_hash","git_indexer_stream_new","git_indexer_write"]],["libgit2",["git_libgit2_version"]],["merge",["git_merge_base"]],["note",["git_note_create","git_note_default_ref","git_note_foreach","git_note_free","git_note_message","git_note_oid","git_note_read","git_note_remove"]],["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_iszero","git_oid_ncmp","git_oid_pathfmt","git_oid_shorten_add","git_oid_shorten_free","git_oid_streq"]],["reference",["git_reference_cmp","git_reference_create_oid","git_reference_create_symbolic","git_reference_delete","git_reference_foreach","git_reference_free","git_reference_is_packed","git_reference_list","git_reference_lookup","git_reference_name","git_reference_name_to_oid","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_matches"]],["remote",["git_remote_add","git_remote_connect","git_remote_connected","git_remote_disconnect","git_remote_download","git_remote_fetchspec","git_remote_free","git_remote_list","git_remote_load","git_remote_ls","git_remote_name","git_remote_new","git_remote_pushspec","git_remote_save","git_remote_set_fetchspec","git_remote_set_pushspec","git_remote_supported_url","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_open_ext","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_hide_glob","git_revwalk_hide_head","git_revwalk_hide_ref","git_revwalk_new","git_revwalk_next","git_revwalk_push","git_revwalk_push_glob","git_revwalk_push_head","git_revwalk_push_ref","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_foreach_ext","git_status_should_ignore"]],["submodule",["git_submodule_foreach","git_submodule_lookup"]],["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_peel","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_entry_attributes","git_tree_entry_byindex","git_tree_entry_byname","git_tree_entry_id","git_tree_entry_name","git_tree_entry_to_object","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":[["diff.c","ex/v0.17.0/diff.html"],["general.c","ex/v0.17.0/general.html"],["network/fetch.c","ex/v0.17.0/network/fetch.html"],["network/git2.c","ex/v0.17.0/network/git2.html"],["network/index-pack.c","ex/v0.17.0/network/index-pack.html"],["network/ls-remote.c","ex/v0.17.0/network/ls-remote.html"],["showindex.c","ex/v0.17.0/showindex.html"]]}