summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarlos Martín Nieto <cmn@dwim.me>2012-11-02 12:51:35 +0100
committerCarlos Martín Nieto <cmn@dwim.me>2012-11-02 12:51:35 +0100
commit9930b01e61a69750d3bb37ee37bc8c08d407de60 (patch)
treeefadaf15eb08a7fa4c09060b95479acee0a8d341
parent1d5dac64de88f0eaf4ebcc45beae7f39ceeaed76 (diff)
downloadlibgit2-9930b01e61a69750d3bb37ee37bc8c08d407de60.tar.gz
generated docs
-rw-r--r--HEAD.json2
-rw-r--r--ex/HEAD/clone.html123
-rw-r--r--ex/HEAD/diff.html74
-rw-r--r--ex/HEAD/fetch.html28
-rw-r--r--ex/HEAD/general.html156
-rw-r--r--ex/HEAD/index-pack.html18
-rw-r--r--ex/HEAD/showindex.html38
-rw-r--r--ex/v0.13.0/general.html150
-rw-r--r--ex/v0.13.0/showindex.html16
-rw-r--r--ex/v0.14.0/general.html154
-rw-r--r--ex/v0.14.0/showindex.html16
-rw-r--r--ex/v0.15.0/general.html152
-rw-r--r--ex/v0.15.0/showindex.html16
-rw-r--r--ex/v0.16.0/fetch.html22
-rw-r--r--ex/v0.16.0/general.html154
-rw-r--r--ex/v0.16.0/index-pack.html10
-rw-r--r--ex/v0.16.0/showindex.html16
-rw-r--r--ex/v0.17.0/diff.html52
-rw-r--r--ex/v0.17.0/general.html152
-rw-r--r--ex/v0.17.0/index-pack.html20
-rw-r--r--ex/v0.17.0/showindex.html16
-rw-r--r--project.json2
-rw-r--r--v0.1.0.json2
-rw-r--r--v0.10.0.json2
-rw-r--r--v0.11.0.json2
-rw-r--r--v0.12.0.json2
-rw-r--r--v0.13.0.json2
-rw-r--r--v0.14.0.json2
-rw-r--r--v0.15.0.json2
-rw-r--r--v0.16.0.json2
-rw-r--r--v0.17.0.json2
-rw-r--r--v0.2.0.json2
-rw-r--r--v0.3.0.json2
-rw-r--r--v0.8.0.json2
34 files changed, 710 insertions, 701 deletions
diff --git a/HEAD.json b/HEAD.json
index ad0cadeb0..685da00b6 100644
--- a/HEAD.json
+++ b/HEAD.json
@@ -1 +1 @@
-{"files":[{"file":"reflog.h","functions":["git_reflog_read","git_reflog_write","git_reflog_append","git_reflog_rename","git_reflog_delete","git_reflog_entrycount","git_reflog_entry_byindex","git_reflog_drop","git_reflog_entry_oidold","git_reflog_entry_oidnew","git_reflog_entry_committer","git_reflog_entry_msg","git_reflog_free"],"meta":{"brief":"Git reflog management routines","defgroup":"git_reflog Git reflog management routines","ingroup":"Git","comments":"\n"},"lines":158},{"file":"clone.h","functions":["git_clone","git_clone_bare"],"meta":{"brief":"Git cloning routines","defgroup":"git_clone Git cloning routines","ingroup":"Git","comments":"\n"},"lines":59},{"file":"branch.h","functions":["git_branch_create","git_branch_delete","git_branch_foreach","git_branch_move","git_branch_lookup","git_branch_tracking"],"meta":{"brief":"Git branch parsing routines","defgroup":"git_branch Git branch management","ingroup":"Git","comments":"\n"},"lines":153},{"file":"indexer.h","functions":["git_indexer_stream_new","git_indexer_stream_add","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":122},{"file":"common.h","functions":["git_libgit2_version","git_libgit2_capabilities"],"meta":{"brief":"Git common platform definitions","defgroup":"git_common Git common platform definitions","ingroup":"Git","comments":"\n"},"lines":131},{"file":"refspec.h","functions":["git_refspec_parse","git_refspec_src","git_refspec_dst","git_refspec_force","git_refspec_src_matches","git_refspec_transform"],"meta":{"brief":"Git refspec attributes","defgroup":"git_refspec Git refspec attributes","ingroup":"Git","comments":"\n"},"lines":76},{"file":"signature.h","functions":["git_signature_new","git_signature_now","git_signature_dup","git_signature_free"],"meta":{"brief":"Git signature creation","defgroup":"git_signature Git signature creation","ingroup":"Git","comments":"\n"},"lines":68},{"file":"version.h","functions":[],"meta":{},"lines":15},{"file":"status.h","functions":["git_status_foreach","git_status_foreach_ext","git_status_file","git_status_should_ignore"],"meta":{"brief":"Git file status routines","defgroup":"git_status Git file status routines","ingroup":"Git","comments":"\n"},"lines":167},{"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":{"brief":"Git notes management routines","defgroup":"git_note Git notes management routines","ingroup":"Git","comments":"\n"},"lines":143},{"file":"config.h","functions":["git_config_find_global","git_config_find_system","git_config_open_default","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","git_config_foreach_match","git_config_get_mapped"],"meta":{"brief":"Git config management routines","defgroup":"git_config Git config management routines","ingroup":"Git","comments":"\n"},"lines":375},{"file":"net.h","functions":[],"meta":{"brief":"Git networking declarations","ingroup":"Git","comments":"\n"},"lines":51},{"file":"reset.h","functions":["git_reset"],"meta":{"brief":"Git reset management routines","ingroup":"Git","comments":"\n"},"lines":47},{"file":"blob.h","functions":["git_blob_lookup","git_blob_lookup_prefix","git_blob_free","git_blob_rawcontent","git_blob_rawsize","git_blob_create_fromfile","git_blob_create_fromdisk","git_blob_create_fromchunks","git_blob_create_frombuffer"],"meta":{"brief":"Git blob load and write routines","defgroup":"git_blob Git blob load and write routines","ingroup":"Git","comments":"\n"},"lines":174},{"file":"index.h","functions":["git_index_open","git_index_clear","git_index_free","git_index_caps","git_index_set_caps","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":{"brief":"Git index parsing and manipulation routines","defgroup":"git_index Git index parsing and manipulation routines","ingroup":"Git","comments":"\n"},"lines":353},{"file":"repository.h","functions":["git_repository_open","git_repository_wrap_odb","git_repository_discover","git_repository_open_ext","git_repository_free","git_repository_init","git_repository_init_ext","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","git_repository_message","git_repository_message_remove","git_repository_hashfile","git_repository_set_head","git_repository_set_head_detached","git_repository_detach_head"],"meta":{"brief":"Git repository management routines","defgroup":"git_repository Git repository management routines","ingroup":"Git","comments":"\n"},"lines":572},{"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":{"brief":"Git tag parsing routines","defgroup":"git_tag Git tag management","ingroup":"Git","comments":"\n"},"lines":297},{"file":"odb_backend.h","functions":[],"meta":{"brief":"Git custom backend functions","defgroup":"git_backend Git custom backend API","ingroup":"Git","comments":"\n"},"lines":113},{"file":"revparse.h","functions":["git_revparse_single"],"meta":{"brief":"Git revision parsing routines","defgroup":"git_revparse Git revision parsing routines","ingroup":"Git","comments":"\n"},"lines":36},{"file":"stdint.h","functions":[],"meta":{},"lines":247},{"file":"inttypes.h","functions":[],"meta":{},"lines":305},{"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_nth_gen_ancestor","git_commit_create","git_commit_create_v"],"meta":{"brief":"Git commit parsing, formatting routines","defgroup":"git_commit Git commit parsing, formatting routines","ingroup":"Git","comments":"\n"},"lines":289},{"file":"types.h","functions":[],"meta":{"brief":"libgit2 base & compatibility types","ingroup":"Git","comments":"\n"},"lines":198},{"file":"remote.h","functions":["git_remote_new","git_remote_load","git_remote_save","git_remote_name","git_remote_url","git_remote_pushurl","git_remote_set_url","git_remote_set_pushurl","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","git_remote_check_cert","git_remote_set_callbacks"],"meta":{"brief":"Git remote management functions","defgroup":"git_remote remote management functions","ingroup":"Git","comments":"\n"},"lines":309},{"file":"merge.h","functions":["git_merge_base","git_merge_base_many"],"meta":{"brief":"Git merge-base routines","defgroup":"git_revwalk Git merge-base routines","ingroup":"Git","comments":"\n"},"lines":45},{"file":"diff.h","functions":["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_status_char","git_diff_print_patch","git_diff_num_deltas","git_diff_num_deltas_of_type","git_diff_get_patch","git_diff_patch_free","git_diff_patch_delta","git_diff_patch_num_hunks","git_diff_patch_get_hunk","git_diff_patch_num_lines_in_hunk","git_diff_patch_get_line_in_hunk","git_diff_blobs"],"meta":{"brief":"Git tree and file differencing routines.","ingroup":"Git","comments":"\n"},"lines":607},{"file":"checkout.h","functions":["git_checkout_head","git_checkout_index","git_checkout_tree"],"meta":{"brief":"Git checkout routines","defgroup":"git_checkout Git checkout routines","ingroup":"Git","comments":"\n"},"lines":109},{"file":"tree.h","functions":["git_tree_lookup","git_tree_lookup_prefix","git_tree_free","git_tree_entry_free","git_tree_entry_dup","git_tree_id","git_tree_entrycount","git_tree_entry_byname","git_tree_entry_byindex","git_tree_entry_byoid","git_tree_entry_filemode","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_entry_bypath","git_tree_walk"],"meta":{"brief":"Git tree parsing, loading routines","defgroup":"git_tree Git tree parsing, loading routines","ingroup":"Git","comments":"\n"},"lines":374},{"file":"submodule.h","functions":["git_submodule_lookup","git_submodule_foreach","git_submodule_add_setup","git_submodule_add_finalize","git_submodule_add_to_index","git_submodule_save","git_submodule_owner","git_submodule_name","git_submodule_path","git_submodule_url","git_submodule_set_url","git_submodule_index_oid","git_submodule_head_oid","git_submodule_wd_oid","git_submodule_ignore","git_submodule_set_ignore","git_submodule_update","git_submodule_set_update","git_submodule_fetch_recurse_submodules","git_submodule_set_fetch_recurse_submodules","git_submodule_init","git_submodule_sync","git_submodule_open","git_submodule_reload","git_submodule_reload_all","git_submodule_status"],"meta":{"brief":"Git submodule management utilities","defgroup":"git_submodule Git submodule management routines","ingroup":"Git","comments":"\n"},"lines":502},{"file":"ignore.h","functions":["git_ignore_add_rule","git_ignore_clear_internal_rules","git_ignore_path_is_ignored"],"meta":{},"lines":74},{"file":"message.h","functions":["git_message_prettify"],"meta":{"brief":"Git message management routines","ingroup":"Git","comments":"\n"},"lines":43},{"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_read_header","git_odb_exists","git_odb_foreach","git_odb_write","git_odb_open_wstream","git_odb_open_rstream","git_odb_hash","git_odb_hashfile","git_odb_object_free","git_odb_object_id","git_odb_object_data","git_odb_object_size","git_odb_object_type"],"meta":{"brief":"Git object database routines","defgroup":"git_odb Git object database routines","ingroup":"Git","comments":"\n"},"lines":348},{"file":"threads.h","functions":["git_threads_init","git_threads_shutdown"],"meta":{"brief":"Library level thread functions","defgroup":"git_thread Threading functions","ingroup":"Git","comments":"\n"},"lines":47},{"file":"oid.h","functions":["git_oid_fromstr","git_oid_fromstrn","git_oid_fromraw","git_oid_fmt","git_oid_pathfmt","git_oid_allocfmt","git_oid_tostr","git_oid_cpy","git_oid_cmp","git_oid_equal","git_oid_ncmp","git_oid_streq","git_oid_iszero","git_oid_shorten_new","git_oid_shorten_add","git_oid_shorten_free"],"meta":{"brief":"Git object id routines","defgroup":"git_oid Git object id routines","ingroup":"Git","comments":"\n"},"lines":249},{"file":"attr.h","functions":["git_attr_get","git_attr_get_many","git_attr_foreach","git_attr_cache_flush","git_attr_add_macro"],"meta":{"brief":"Git attribute management routines","defgroup":"git_attr Git attribute management routines","ingroup":"Git","comments":"\n"},"lines":238},{"file":"errors.h","functions":["giterr_last","giterr_clear","giterr_set_str","giterr_set_oom"],"meta":{"brief":"Git error handling routines and variables","ingroup":"Git","comments":"\n"},"lines":110},{"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":{"brief":"Git revision traversal routines","defgroup":"git_revwalk Git revision traversal routines","ingroup":"Git","comments":"\n"},"lines":237},{"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","git_object__size","git_object_peel"],"meta":{"brief":"Git revision object management routines","defgroup":"git_object Git revision object management routines","ingroup":"Git","comments":"\n"},"lines":193},{"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","git_reference_foreach_glob","git_reference_has_log","git_reference_is_branch","git_reference_is_remote","git_reference_normalize_name","git_reference_peel","git_reference_is_valid_name"],"meta":{"brief":"Git reference management routines","defgroup":"git_reference Git reference management routines","ingroup":"Git","comments":"\n"},"lines":468}],"functions":{"git_reflog_read":{"type":"function","file":"reflog.h","line":37,"lineto":37,"args":[{"name":"reflog","type":"git_reflog **","comment":"pointer to reflog"},{"name":"ref","type":"git_reference *","comment":"log pointer to reflog"}],"argline":"git_reflog **reflog, git_reference *ref","sig":"git_reflog **::git_reference *","return":{"type":"int","comment":"0 or an error code"},"description":"Read the reflog for the given reference","comments":"If there is no reflog file for the given\nreference yet, an empty reflog object will\nbe returned.\n\nThe reflog must be freed manually by using\ngit_reflog_free().\n","group":"reflog"},"git_reflog_write":{"type":"function","file":"reflog.h","line":46,"lineto":46,"args":[{"name":"reflog","type":"git_reflog *","comment":"an existing reflog object"}],"argline":"git_reflog *reflog","sig":"git_reflog *","return":{"type":"int","comment":"0 or an error code"},"description":"Write an existing in-memory reflog object back to disk\nusing an atomic file lock.","comments":"","group":"reflog"},"git_reflog_append":{"type":"function","file":"reflog.h","line":59,"lineto":59,"args":[{"name":"reflog","type":"git_reflog *","comment":"an existing reflog object"},{"name":"new_oid","type":"const git_oid *","comment":"the OID the reference is now 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_reflog *reflog, const git_oid *new_oid, const git_signature *committer, const char *msg","sig":"git_reflog *::const git_oid *::const git_signature *::const char *","return":{"type":"int","comment":"0 or an error code"},"description":"Add a new entry to the reflog.","comments":"`msg` is optional and can be NULL.\n","group":"reflog"},"git_reflog_rename":{"type":"function","file":"reflog.h","line":70,"lineto":70,"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":"Rename the reflog for the given reference","comments":"The reflog to be renamed is expected to already exist\n","group":"reflog"},"git_reflog_delete":{"type":"function","file":"reflog.h","line":78,"lineto":78,"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":"Delete the reflog for the given reference","comments":"","group":"reflog"},"git_reflog_entrycount":{"type":"function","file":"reflog.h","line":86,"lineto":86,"args":[{"name":"reflog","type":"git_reflog *","comment":"the previously loaded reflog"}],"argline":"git_reflog *reflog","sig":"git_reflog *","return":{"type":"unsigned int","comment":"the number of log entries"},"description":"Get the number of log entries in a reflog","comments":"","group":"reflog"},"git_reflog_entry_byindex":{"type":"function","file":"reflog.h","line":95,"lineto":95,"args":[{"name":"reflog","type":"git_reflog *","comment":"a previously loaded reflog"},{"name":"idx","type":"size_t","comment":"the position to lookup"}],"argline":"git_reflog *reflog, size_t idx","sig":"git_reflog *::size_t","return":{"type":"const git_reflog_entry *","comment":"the entry; NULL if not found"},"description":"Lookup an entry by its index","comments":"","group":"reflog"},"git_reflog_drop":{"type":"function","file":"reflog.h","line":112,"lineto":115,"args":[{"name":"reflog","type":"git_reflog *","comment":"a previously loaded reflog."},{"name":"idx","type":"unsigned int","comment":"the position of the entry to remove."},{"name":"rewrite_previous_entry","type":"int","comment":"1 to rewrite the history; 0 otherwise."}],"argline":"git_reflog *reflog,\n\tunsigned int idx,\n\tint rewrite_previous_entry","sig":"git_reflog *::unsigned int::int","return":{"type":"int","comment":"0 on success or an error code."},"description":"Remove an entry from the reflog by its index","comments":"To ensure there's no gap in the log history, set the `rewrite_previosu_entry` to 1.\nWhen deleting entry `n`, member old_oid of entry `n-1` (if any) will be updated with\nthe value of memeber new_oid of entry `n+1`.\n","group":"reflog"},"git_reflog_entry_oidold":{"type":"function","file":"reflog.h","line":123,"lineto":123,"args":[{"name":"entry","type":"const git_reflog_entry *","comment":"a reflog entry"}],"argline":"const git_reflog_entry *entry","sig":"const git_reflog_entry *","return":{"type":"const git_oid *","comment":"the old oid"},"description":"Get the old oid","comments":"","group":"reflog"},"git_reflog_entry_oidnew":{"type":"function","file":"reflog.h","line":131,"lineto":131,"args":[{"name":"entry","type":"const git_reflog_entry *","comment":"a reflog entry"}],"argline":"const git_reflog_entry *entry","sig":"const git_reflog_entry *","return":{"type":"const git_oid *","comment":"the new oid at this time"},"description":"Get the new oid","comments":"","group":"reflog"},"git_reflog_entry_committer":{"type":"function","file":"reflog.h","line":139,"lineto":139,"args":[{"name":"entry","type":"const git_reflog_entry *","comment":"a reflog entry"}],"argline":"const git_reflog_entry *entry","sig":"const git_reflog_entry *","return":{"type":"git_signature *","comment":"the committer"},"description":"Get the committer of this entry","comments":"","group":"reflog"},"git_reflog_entry_msg":{"type":"function","file":"reflog.h","line":147,"lineto":147,"args":[{"name":"entry","type":"const git_reflog_entry *","comment":"a reflog entry"}],"argline":"const git_reflog_entry *entry","sig":"const git_reflog_entry *","return":{"type":"char *","comment":"the log msg"},"description":"Get the log msg","comments":"","group":"reflog"},"git_reflog_free":{"type":"function","file":"reflog.h","line":154,"lineto":154,"args":[{"name":"reflog","type":"git_reflog *","comment":"reflog to free"}],"argline":"git_reflog *reflog","sig":"git_reflog *","return":{"type":"void"},"description":"Free the reflog","comments":"","group":"reflog"},"git_clone":{"type":"function","file":"clone.h","line":36,"lineto":41,"args":[{"name":"out","type":"git_repository **","comment":"pointer that will receive the resulting repository object"},{"name":"origin_url","type":"const char *","comment":"repository to clone from"},{"name":"workdir_path","type":"const char *","comment":"local directory to clone to"},{"name":"fetch_stats","type":"git_indexer_stats *","comment":"pointer to structure that receives fetch progress information (may be NULL)"},{"name":"checkout_stats","type":"git_indexer_stats *"},{"name":"checkout_opts","type":"git_checkout_opts *","comment":"options for the checkout step (may be NULL)"}],"argline":"git_repository **out,\n\t\t\t\t\t\t\t\t const char *origin_url,\n\t\t\t\t\t\t\t\t const char *workdir_path,\n\t\t\t\t\t\t\t\t git_indexer_stats *fetch_stats,\n\t\t\t\t\t\t\t\t git_indexer_stats *checkout_stats,\n\t\t\t\t\t\t\t\t git_checkout_opts *checkout_opts","sig":"git_repository **::const char *::const char *::git_indexer_stats *::git_indexer_stats *::git_checkout_opts *","return":{"type":"int","comment":"0 on success, GIT_ERROR otherwise (use giterr_last for information about the error)"},"description":"Clone a remote repository, and checkout the branch pointed to by the remote\nHEAD.","comments":"","group":"clone","examples":{"network/clone.c":["ex/HEAD/clone.html#git_clone-1"]}},"git_clone_bare":{"type":"function","file":"clone.h","line":52,"lineto":55,"args":[{"name":"out","type":"git_repository **","comment":"pointer that will receive the resulting repository object"},{"name":"origin_url","type":"const char *","comment":"repository to clone from"},{"name":"dest_path","type":"const char *","comment":"local directory to clone to"},{"name":"fetch_stats","type":"git_indexer_stats *","comment":"pointer to structure that receives fetch progress information (may be NULL)"}],"argline":"git_repository **out,\n\t\t\t\t\t\t\t\t\t\t const char *origin_url,\n\t\t\t\t\t\t\t\t\t\t const char *dest_path,\n\t\t\t\t\t\t\t\t\t\t git_indexer_stats *fetch_stats","sig":"git_repository **::const char *::const char *::git_indexer_stats *","return":{"type":"int","comment":"0 on success, GIT_ERROR otherwise (use giterr_last for information about the error)"},"description":"Create a bare clone of a remote repository.","comments":"","group":"clone"},"git_branch_create":{"type":"function","file":"branch.h","line":49,"lineto":54,"args":[{"name":"branch_out","type":"git_reference **","comment":"Pointer where to store the underlying reference."},{"name":"repo","type":"git_repository *"},{"name":"branch_name","type":"const char *","comment":"Name for the branch; this name is validated for consistency. It should also not conflict with an already existing branch name."},{"name":"target","type":"const git_object *","comment":"Object to which this branch should point. This object must belong to the given `repo` and can either be a git_commit or a git_tag. When a git_tag is being passed, it should be dereferencable to a git_commit which oid will be used as the target of the branch."},{"name":"force","type":"int","comment":"Overwrite existing branch."}],"argline":"git_reference **branch_out,\n\t\tgit_repository *repo,\n\t\tconst char *branch_name,\n\t\tconst git_object *target,\n\t\tint force","sig":"git_reference **::git_repository *::const char *::const git_object *::int","return":{"type":"int","comment":"0 or an error code. A proper reference is written in the refs/heads namespace pointing to the provided target commit."},"description":"Create a new branch pointing at a target commit","comments":"A new direct reference will be created pointing to\nthis target commit. If `force` is true and a reference\nalready exists with the given name, it'll be replaced.\n\nThe returned reference must be freed by the user.\n","group":"branch"},"git_branch_delete":{"type":"function","file":"branch.h","line":65,"lineto":65,"args":[{"name":"branch","type":"git_reference *","comment":"A valid reference representing a branch"}],"argline":"git_reference *branch","sig":"git_reference *","return":{"type":"int","comment":"0 on success, or an error code."},"description":"Delete an existing branch reference.","comments":"If the branch is successfully deleted, the passed reference\nobject will be freed and invalidated.\n","group":"branch"},"git_branch_foreach":{"type":"function","file":"branch.h","line":84,"lineto":92,"args":[{"name":"repo","type":"git_repository *","comment":"Repository where to find the branches."},{"name":"list_flags","type":"unsigned int","comment":"Filtering flags for the branch listing. Valid values are GIT_BRANCH_LOCAL, GIT_BRANCH_REMOTE or a combination of the two."},{"name":"branch_cb","type":"int (*)(\n\t\t\tconst char *branch_name,\n\t\t\tgit_branch_t branch_type,\n\t\t\tvoid *payload)","comment":"Callback to invoke per found branch."},{"name":"payload","type":"void *","comment":"Extra parameter to callback function."}],"argline":"git_repository *repo,\n\t\tunsigned int list_flags,\n\t\tint (*branch_cb)(\n\t\t\tconst char *branch_name,\n\t\t\tgit_branch_t branch_type,\n\t\t\tvoid *payload),\n\t\tvoid *payload","sig":"git_repository *::unsigned int::int (*)(\n\t\t\tconst char *branch_name,\n\t\t\tgit_branch_t branch_type,\n\t\t\tvoid *payload)::void *","return":{"type":"int","comment":"0 on success, GIT_EUSER on non-zero callback, or error code"},"description":"Loop over all the branches and issue a callback for each one.","comments":"If the callback returns a non-zero value, this will stop looping.\n","group":"branch"},"git_branch_move":{"type":"function","file":"branch.h","line":106,"lineto":109,"args":[{"name":"branch","type":"git_reference *","comment":"Current underlying reference of the branch."},{"name":"new_branch_name","type":"const char *","comment":"Target name of the branch once the move is performed; this name is validated for consistency."},{"name":"force","type":"int","comment":"Overwrite existing branch."}],"argline":"git_reference *branch,\n\t\tconst char *new_branch_name,\n\t\tint force","sig":"git_reference *::const char *::int","return":{"type":"int","comment":"0 on success, or an error code."},"description":"Move/rename an existing local branch reference.","comments":"","group":"branch"},"git_branch_lookup":{"type":"function","file":"branch.h","line":129,"lineto":133,"args":[{"name":"branch_out","type":"git_reference **","comment":"pointer to the looked-up branch reference"},{"name":"repo","type":"git_repository *","comment":"the repository to look up the branch"},{"name":"branch_name","type":"const char *","comment":"Name of the branch to be looked-up; this name is validated for consistency."},{"name":"branch_type","type":"git_branch_t","comment":"Type of the considered branch. This should be valued with either GIT_BRANCH_LOCAL or GIT_BRANCH_REMOTE."}],"argline":"git_reference **branch_out,\n\t\tgit_repository *repo,\n\t\tconst char *branch_name,\n\t\tgit_branch_t branch_type","sig":"git_reference **::git_repository *::const char *::git_branch_t","return":{"type":"int","comment":"0 on success; GIT_ENOTFOUND when no matching branch exists, otherwise an error code."},"description":"Lookup a branch by its name in a repository.","comments":"The generated reference must be freed by the user.\n","group":"branch"},"git_branch_tracking":{"type":"function","file":"branch.h","line":147,"lineto":149,"args":[{"name":"tracking_out","type":"git_reference **","comment":"Pointer where to store the retrieved reference."},{"name":"branch","type":"git_reference *","comment":"Current underlying reference of the branch."}],"argline":"git_reference **tracking_out,\n\t\tgit_reference *branch","sig":"git_reference **::git_reference *","return":{"type":"int","comment":"0 on success; GIT_ENOTFOUND when no remote tracking reference exists, otherwise an error code."},"description":"Return the reference supporting the remote tracking branch,\ngiven a local branch reference.","comments":"","group":"branch"},"git_indexer_stream_new":{"type":"function","file":"indexer.h","line":35,"lineto":35,"args":[{"name":"out","type":"git_indexer_stream **","comment":"where to store the indexer instance"},{"name":"path","type":"const char *","comment":"to the directory where the packfile should be stored"}],"argline":"git_indexer_stream **out, const char *path","sig":"git_indexer_stream **::const char *","return":{"type":"int"},"description":"Create a new streaming indexer instance","comments":"","group":"indexer","examples":{"network/index-pack.c":["ex/HEAD/index-pack.html#git_indexer_stream_new-1"]}},"git_indexer_stream_add":{"type":"function","file":"indexer.h","line":45,"lineto":45,"args":[{"name":"idx","type":"git_indexer_stream *","comment":"the indexer"},{"name":"data","type":"const void *","comment":"the data to add"},{"name":"size","type":"size_t","comment":"the size of the data"},{"name":"stats","type":"git_indexer_stats *","comment":"stat storage"}],"argline":"git_indexer_stream *idx, const void *data, size_t size, git_indexer_stats *stats","sig":"git_indexer_stream *::const void *::size_t::git_indexer_stats *","return":{"type":"int"},"description":"Add data to the indexer","comments":"","group":"indexer","examples":{"network/index-pack.c":["ex/HEAD/index-pack.html#git_indexer_stream_add-2"]}},"git_indexer_stream_finalize":{"type":"function","file":"indexer.h","line":54,"lineto":54,"args":[{"name":"idx","type":"git_indexer_stream *","comment":"the indexer"},{"name":"stats","type":"git_indexer_stats *"}],"argline":"git_indexer_stream *idx, git_indexer_stats *stats","sig":"git_indexer_stream *::git_indexer_stats *","return":{"type":"int"},"description":"Finalize the pack and index","comments":"Resolve any pending deltas and write out the index file\n","group":"indexer","examples":{"network/index-pack.c":["ex/HEAD/index-pack.html#git_indexer_stream_finalize-3"]}},"git_indexer_stream_hash":{"type":"function","file":"indexer.h","line":64,"lineto":64,"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 *"},"description":"Get the packfile's hash","comments":"A packfile's name is derived from the sorted hashing of all object\nnames. This is only correct after the index has been finalized.\n","group":"indexer","examples":{"network/index-pack.c":["ex/HEAD/index-pack.html#git_indexer_stream_hash-4"]}},"git_indexer_stream_free":{"type":"function","file":"indexer.h","line":71,"lineto":71,"args":[{"name":"idx","type":"git_indexer_stream *","comment":"the indexer to free"}],"argline":"git_indexer_stream *idx","sig":"git_indexer_stream *","return":{"type":"void"},"description":"Free the indexer and its resources","comments":"","group":"indexer","examples":{"network/index-pack.c":["ex/HEAD/index-pack.html#git_indexer_stream_free-5"]}},"git_indexer_new":{"type":"function","file":"indexer.h","line":79,"lineto":79,"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"},"description":"Create a new indexer instance","comments":"","group":"indexer"},"git_indexer_run":{"type":"function","file":"indexer.h","line":91,"lineto":91,"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"},"description":"Iterate over the objects in the packfile and extract the information","comments":"Indexing a packfile can be very expensive so this function is\nexpected to be run in a worker thread and the stats used to provide\nfeedback the user.\n","group":"indexer"},"git_indexer_write":{"type":"function","file":"indexer.h","line":101,"lineto":101,"args":[{"name":"idx","type":"git_indexer *","comment":"the indexer instance"}],"argline":"git_indexer *idx","sig":"git_indexer *","return":{"type":"int"},"description":"Write the index file to disk.","comments":"The file will be stored as pack-$hash.idx in the same directory as\nthe packfile.\n","group":"indexer"},"git_indexer_hash":{"type":"function","file":"indexer.h","line":111,"lineto":111,"args":[{"name":"idx","type":"git_indexer *","comment":"the indexer instance"}],"argline":"git_indexer *idx","sig":"git_indexer *","return":{"type":"const git_oid *"},"description":"Get the packfile's hash","comments":"A packfile's name is derived from the sorted hashing of all object\nnames. This is only correct after the index has been written to disk.\n","group":"indexer"},"git_indexer_free":{"type":"function","file":"indexer.h","line":118,"lineto":122,"args":[{"name":"idx","type":"git_indexer *","comment":"the indexer to free"}],"argline":"git_indexer *idx","sig":"git_indexer *","return":{"type":"void"},"description":"Free the indexer and its resources","comments":"","group":"indexer"},"git_libgit2_version":{"type":"function","file":"common.h","line":104,"lineto":104,"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"},"description":"Return the version of the libgit2 library\nbeing currently used.","comments":"","group":"libgit2"},"git_libgit2_capabilities":{"type":"function","file":"common.h","line":127,"lineto":127,"args":[],"argline":"void","sig":"","return":{"type":"int","comment":"A combination of GIT_CAP_* values. - GIT_CAP_THREADS Libgit2 was compiled with thread support. Note that thread support is still to be seen as a 'work in progress'. - GIT_CAP_HTTPS Libgit2 supports the https:// protocol. This requires the open ssl library to be found when compiling libgit2."},"description":"Query compile time options for libgit2.","comments":"","group":"libgit2"},"git_refspec_parse":{"type":"function","file":"refspec.h","line":28,"lineto":28,"args":[{"name":"refspec","type":"git_refspec *","comment":"pointer to the refspec structure to be used"},{"name":"str","type":"const char *","comment":"the refspec as a string"}],"argline":"git_refspec *refspec, const char *str","sig":"git_refspec *::const char *","return":{"type":"int"},"description":"Parse a refspec string and create a refspec object","comments":"","group":"refspec"},"git_refspec_src":{"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 source specifier"},"description":"Get the source specifier","comments":"","group":"refspec"},"git_refspec_dst":{"type":"function","file":"refspec.h","line":44,"lineto":44,"args":[{"name":"refspec","type":"const git_refspec *","comment":"the refspec"}],"argline":"const git_refspec *refspec","sig":"const git_refspec *","return":{"type":"const char *","comment":"the refspec's destination specifier"},"description":"Get the destination specifier","comments":"","group":"refspec"},"git_refspec_force":{"type":"function","file":"refspec.h","line":52,"lineto":52,"args":[{"name":"refspec","type":"const git_refspec *","comment":"the refspec"}],"argline":"const git_refspec *refspec","sig":"const git_refspec *","return":{"type":"int","comment":"1 if force update has been set, 0 otherwise"},"description":"Get the force update setting","comments":"","group":"refspec"},"git_refspec_src_matches":{"type":"function","file":"refspec.h","line":61,"lineto":61,"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":"Check if a refspec's source descriptor matches a reference","comments":"","group":"refspec"},"git_refspec_transform":{"type":"function","file":"refspec.h","line":72,"lineto":76,"args":[{"name":"out","type":"char *","comment":"where to store the target name"},{"name":"outlen","type":"size_t","comment":"the size ouf the `out` buffer"},{"name":"spec","type":"const git_refspec *","comment":"the refspec"},{"name":"name","type":"const char *","comment":"the name of the reference to transform"}],"argline":"char *out, size_t outlen, const git_refspec *spec, const char *name","sig":"char *::size_t::const git_refspec *::const char *","return":{"type":"int","comment":"0, GIT_EBUFS or another error"},"description":"Transform a reference to its target following the refspec's rules","comments":"","group":"refspec"},"git_signature_new":{"type":"function","file":"signature.h","line":36,"lineto":36,"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":"Create a new action signature. The signature must be freed\nmanually or using git_signature_free","comments":"Note: angle brackets ('<' and '>') characters are not allowed\nto be used in either the `name` or the `email` parameter.\n","group":"signature","examples":{"general.c":["ex/HEAD/general.html#git_signature_new-1","ex/HEAD/general.html#git_signature_new-2"]}},"git_signature_now":{"type":"function","file":"signature.h","line":47,"lineto":47,"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":"Create a new action signature with a timestamp of 'now'. The\nsignature must be freed manually or using git_signature_free","comments":"","group":"signature"},"git_signature_dup":{"type":"function","file":"signature.h","line":57,"lineto":57,"args":[{"name":"sig","type":"const git_signature *","comment":"signature to duplicated"}],"argline":"const git_signature *sig","sig":"const git_signature *","return":{"type":"git_signature *","comment":"a copy of sig, NULL on out of memory"},"description":"Create a copy of an existing signature.","comments":"All internal strings are also duplicated.","group":"signature"},"git_signature_free":{"type":"function","file":"signature.h","line":64,"lineto":64,"args":[{"name":"sig","type":"git_signature *","comment":"signature to free"}],"argline":"git_signature *sig","sig":"git_signature *","return":{"type":"void"},"description":"Free an existing signature","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 *"}],"argline":"git_repository *repo,\n\tint (*callback)(const char *, unsigned int, void *),\n\tvoid *payload","sig":"git_repository *::int (*)(const char *, unsigned int, void *)::void *","return":{"type":"int","comment":"0 on success, GIT_EUSER on non-zero callback, or error code"},"description":"Gather file statuses and run a callback for each one.","comments":"The callback is passed the path of the file, the status and the data\npointer passed to this function. If the callback returns something other\nthan 0, this function will stop looping and return GIT_EUSER.\n","group":"status"},"git_status_foreach_ext":{"type":"function","file":"status.h","line":125,"lineto":129,"args":[{"name":"repo","type":"git_repository *"},{"name":"opts","type":"const git_status_options *"},{"name":"callback","type":"int (*)(const char *, unsigned int, void *)"},{"name":"payload","type":"void *"}],"argline":"git_repository *repo,\n\tconst git_status_options *opts,\n\tint (*callback)(const char *, unsigned int, void *),\n\tvoid *payload","sig":"git_repository *::const git_status_options *::int (*)(const char *, unsigned int, void *)::void *","return":{"type":"int"},"description":"Gather file status information and run callbacks as requested.","comments":"","group":"status"},"git_status_file":{"type":"function","file":"status.h","line":141,"lineto":144,"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,\n\tgit_repository *repo,\n\tconst char *path","sig":"unsigned int *::git_repository *::const char *","return":{"type":"int","comment":"GIT_EINVALIDPATH when `path` points at a folder, GIT_ENOTFOUND when the file doesn't exist in any of HEAD, the index or the worktree, 0 otherwise"},"description":"Get file status for a single file","comments":"","group":"status"},"git_status_should_ignore":{"type":"function","file":"status.h","line":160,"lineto":163,"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,\n\tgit_repository *repo,\n\tconst char *path","sig":"int *::git_repository *::const char *","return":{"type":"int","comment":"0 if ignore rules could be processed for the file (regardless of whether it exists or not), or an error < 0 if they could not."},"description":"Test if the ignore rules apply to a given file.","comments":"This function simply checks the ignore rules to see if they would apply\nto the given file. Unlike git_status_file(), this indicates if the file\nwould be ignored regardless of whether the file is already in the index\nor in the repository.\n","group":"status"},"git_note_read":{"type":"function","file":"notes.h","line":34,"lineto":35,"args":[{"name":"note","type":"git_note **","comment":"pointer to the read note; NULL in case of error"},{"name":"repo","type":"git_repository *","comment":"repository where to look up the note"},{"name":"notes_ref","type":"const char *","comment":"canonical name of the reference to use (optional); defaults to \"refs/notes/commits\""},{"name":"oid","type":"const git_oid *","comment":"OID of the git object to read the note from"}],"argline":"git_note **note, git_repository *repo,\n\t\t\t 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":"Read the note for an object","comments":"The note must be freed manually by the user.\n","group":"note"},"git_note_message":{"type":"function","file":"notes.h","line":43,"lineto":43,"args":[{"name":"note","type":"git_note *","comment":""}],"argline":"git_note *note","sig":"git_note *","return":{"type":"const char *","comment":"the note message"},"description":"Get the note message","comments":"","group":"note"},"git_note_oid":{"type":"function","file":"notes.h","line":52,"lineto":52,"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":"Get the note object OID","comments":"","group":"note"},"git_note_create":{"type":"function","file":"notes.h","line":68,"lineto":71,"args":[{"name":"out","type":"git_oid *","comment":"pointer to store the OID (optional); NULL in case of error"},{"name":"repo","type":"git_repository *","comment":"repository where to store the note"},{"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":"canonical name of the reference to use (optional); defaults to \"refs/notes/commits\""},{"name":"oid","type":"const git_oid *","comment":"OID of the git object to decorate"},{"name":"note","type":"const char *","comment":"s_ref canonical name of the reference to use (optional); defaults to \"refs/notes/commits\""}],"argline":"git_oid *out, git_repository *repo,\n\t\t\t\tgit_signature *author, git_signature *committer,\n\t\t\t\tconst char *notes_ref, const git_oid *oid,\n\t\t\t\t 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":"Add a note for an object","comments":"","group":"note"},"git_note_remove":{"type":"function","file":"notes.h","line":86,"lineto":88,"args":[{"name":"repo","type":"git_repository *","comment":"repository where the note lives"},{"name":"notes_ref","type":"const char *","comment":"canonical name of the 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":"OID of the git object to remove the note from"}],"argline":"git_repository *repo, const char *notes_ref,\n\t\t\t\tgit_signature *author, git_signature *committer,\n\t\t\t\tconst 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":"Remove the note for an object","comments":"","group":"note"},"git_note_free":{"type":"function","file":"notes.h","line":95,"lineto":95,"args":[{"name":"note","type":"git_note *","comment":"git_note object"}],"argline":"git_note *note","sig":"git_note *","return":{"type":"void"},"description":"Free a git_note object","comments":"","group":"note"},"git_note_default_ref":{"type":"function","file":"notes.h","line":105,"lineto":105,"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":"Get the default notes reference for a repository","comments":"","group":"note"},"git_note_foreach":{"type":"function","file":"notes.h","line":134,"lineto":139,"args":[{"name":"repo","type":"git_repository *","comment":"Repository where to find the notes."},{"name":"notes_ref","type":"const char *","comment":"Reference to read from (optional); defaults to \"refs/notes/commits\"."},{"name":"note_cb","type":"int (*)(git_note_data *note_data, void *payload)","comment":"Callback to invoke per found annotation. Return non-zero to stop looping."},{"name":"payload","type":"void *","comment":"Extra parameter to callback function."}],"argline":"git_repository *repo,\n\tconst char *notes_ref,\n\tint (*note_cb)(git_note_data *note_data, void *payload),\n\tvoid *payload","sig":"git_repository *::const char *::int (*)(git_note_data *note_data, void *payload)::void *","return":{"type":"int","comment":"0 on success, GIT_EUSER on non-zero callback, or error code"},"description":"Loop over all the notes within a specified namespace\nand issue a callback for each one.","comments":"","group":"note"},"git_config_find_global":{"type":"function","file":"config.h","line":68,"lineto":68,"args":[{"name":"global_config_path","type":"char *","comment":"Buffer of GIT_PATH_MAX length to store the path"},{"name":"length","type":"size_t"}],"argline":"char *global_config_path, size_t length","sig":"char *::size_t","return":{"type":"int","comment":"0 if a global configuration file has been found. Its path will be stored in `buffer`."},"description":"Locate the path to the global configuration file","comments":"The user or global configuration file is usually\nlocated in `$HOME/.gitconfig`.\n\nThis method will try to guess the full path to that\nfile, if the file exists. The returned path\nmay be used on any `git_config` call to load the\nglobal configuration file.\n","group":"config"},"git_config_find_system":{"type":"function","file":"config.h","line":80,"lineto":80,"args":[{"name":"system_config_path","type":"char *","comment":"Buffer of GIT_PATH_MAX length to store the path"},{"name":"length","type":"size_t"}],"argline":"char *system_config_path, size_t length","sig":"char *::size_t","return":{"type":"int","comment":"0 if a system configuration file has been found. Its path will be stored in `buffer`."},"description":"Locate the path to the system configuration file","comments":"If /etc/gitconfig doesn't exist, it will look for\n%PROGRAMFILES%\\Git\\etc\\gitconfig.\n","group":"config"},"git_config_open_default":{"type":"function","file":"config.h","line":92,"lineto":92,"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":"Open the global and system configuration files","comments":"Utility wrapper that finds the global and system configuration files\nand opens them into a single prioritized config object that can be\nused when accessing default config data outside a repository.\n","group":"config"},"git_config_file__ondisk":{"type":"function","file":"config.h","line":105,"lineto":105,"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"},"description":"Create a configuration file backend for ondisk files","comments":"These are the normal `.gitconfig` files that Core Git\nprocesses. Note that you first have to add this file to a\nconfiguration object before you can query it for configuration\nvariables.\n","group":"config"},"git_config_new":{"type":"function","file":"config.h","line":116,"lineto":116,"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":"Allocate a new configuration object","comments":"This object is empty, so you have to add a file to it before you\ncan do anything with it.\n","group":"config"},"git_config_add_file":{"type":"function","file":"config.h","line":133,"lineto":133,"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":"Add a generic config file instance to an existing config","comments":"Note that the configuration object will free the file\nautomatically.\n\nFurther queries on this config object will access each\nof the config file instances in order (instances with\na higher priority will be accessed first).\n","group":"config"},"git_config_add_file_ondisk":{"type":"function","file":"config.h","line":154,"lineto":154,"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":"Add an on-disk config file instance to an existing config","comments":"The on-disk file pointed at by `path` will be opened and\nparsed; it's expected to be a native Git config file following\nthe default Git config syntax (see man git-config).\n\nNote that the configuration object will free the file\nautomatically.\n\nFurther queries on this config object will access each\nof the config file instances in order (instances with\na higher priority will be accessed first).\n","group":"config"},"git_config_open_ondisk":{"type":"function","file":"config.h","line":169,"lineto":169,"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":"Create a new config instance containing a single on-disk file","comments":"This method is a simple utility wrapper for the following sequence\nof calls:\n- git_config_new\n- git_config_add_file_ondisk\n","group":"config","examples":{"general.c":["ex/HEAD/general.html#git_config_open_ondisk-3"]}},"git_config_free":{"type":"function","file":"config.h","line":176,"lineto":176,"args":[{"name":"cfg","type":"git_config *","comment":"the configuration to free"}],"argline":"git_config *cfg","sig":"git_config *","return":{"type":"void"},"description":"Free the configuration and its associated memory and files","comments":"","group":"config"},"git_config_get_int32":{"type":"function","file":"config.h","line":186,"lineto":186,"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":"Get the value of an integer config variable.","comments":"","group":"config","examples":{"general.c":["ex/HEAD/general.html#git_config_get_int32-4"]}},"git_config_get_int64":{"type":"function","file":"config.h","line":196,"lineto":196,"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":"Get the value of a long integer config variable.","comments":"","group":"config"},"git_config_get_bool":{"type":"function","file":"config.h","line":209,"lineto":209,"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":"Get the value of a boolean config variable.","comments":"This function uses the usual C convention of 0 being false and\nanything else true.\n","group":"config"},"git_config_get_string":{"type":"function","file":"config.h","line":222,"lineto":222,"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":"Get the value of a string config variable.","comments":"The string is owned by the variable and should not be freed by the\nuser.\n","group":"config","examples":{"general.c":["ex/HEAD/general.html#git_config_get_string-5"]}},"git_config_get_multivar":{"type":"function","file":"config.h","line":236,"lineto":236,"args":[{"name":"cfg","type":"git_config *","comment":"where to look for the variable"},{"name":"name","type":"const char *","comment":"the variable's name"},{"name":"regexp","type":"const char *","comment":"regular expression to filter which variables we're 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 (*fn)(const char *, void *), void *data","sig":"git_config *::const char *::const char *::int (*)(const char *, void *)::void *","return":{"type":"int"},"description":"Get each value of a multivar.","comments":"The callback will be called on each variable found\n","group":"config"},"git_config_set_int32":{"type":"function","file":"config.h","line":246,"lineto":246,"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":"Set the value of an integer config variable.","comments":"","group":"config"},"git_config_set_int64":{"type":"function","file":"config.h","line":256,"lineto":256,"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":"Set the value of a long integer config variable.","comments":"","group":"config"},"git_config_set_bool":{"type":"function","file":"config.h","line":266,"lineto":266,"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":"Set the value of a boolean config variable.","comments":"","group":"config"},"git_config_set_string":{"type":"function","file":"config.h","line":279,"lineto":279,"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":"Set the value of a string config variable.","comments":"A copy of the string is made and the user is free to use it\nafterwards.\n","group":"config"},"git_config_set_multivar":{"type":"function","file":"config.h","line":290,"lineto":290,"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"},"description":"Set a multivar","comments":"","group":"config"},"git_config_delete":{"type":"function","file":"config.h","line":298,"lineto":298,"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"},"description":"Delete a config variable","comments":"","group":"config"},"git_config_foreach":{"type":"function","file":"config.h","line":313,"lineto":316,"args":[{"name":"cfg","type":"git_config *","comment":"where to get the variables from"},{"name":"callback","type":"int (*)(const char *var_name, const char *value, void *payload)","comment":"the function to call on each variable"},{"name":"payload","type":"void *","comment":"the data to pass to the callback"}],"argline":"git_config *cfg,\n\tint (*callback)(const char *var_name, const char *value, void *payload),\n\tvoid *payload","sig":"git_config *::int (*)(const char *var_name, const char *value, void *payload)::void *","return":{"type":"int","comment":"0 on success, GIT_EUSER on non-zero callback, or error code"},"description":"Perform an operation on each config variable.","comments":"The callback receives the normalized name and value of each variable\nin the config backend, and the data pointer passed to this function.\nAs soon as one of the callback functions returns something other than 0,\nthis function stops iterating and returns `GIT_EUSER`.\n","group":"config"},"git_config_foreach_match":{"type":"function","file":"config.h","line":331,"lineto":335,"args":[{"name":"cfg","type":"git_config *","comment":"where to get the variables from"},{"name":"regexp","type":"const char *","comment":"regular expression to match against config names"},{"name":"callback","type":"int (*)(const char *var_name, const char *value, void *payload)","comment":"the function to call on each variable"},{"name":"payload","type":"void *","comment":"the data to pass to the callback"}],"argline":"git_config *cfg,\n\tconst char *regexp,\n\tint (*callback)(const char *var_name, const char *value, void *payload),\n\tvoid *payload","sig":"git_config *::const char *::int (*)(const char *var_name, const char *value, void *payload)::void *","return":{"type":"int","comment":"0 or the return value of the callback which didn't return 0"},"description":"Perform an operation on each config variable matching a regular expression.","comments":"This behaviors like `git_config_foreach` with an additional filter of a\nregular expression that filters which config keys are passed to the\ncallback.\n","group":"config"},"git_config_get_mapped":{"type":"function","file":"config.h","line":371,"lineto":371,"args":[{"name":"out","type":"int *","comment":"place to store the result of the mapping"},{"name":"cfg","type":"git_config *","comment":"config file to get the variables from"},{"name":"name","type":"const char *","comment":"name of the config variable to lookup"},{"name":"maps","type":"git_cvar_map *","comment":"array of `git_cvar_map` objects specifying the possible mappings"},{"name":"map_n","type":"size_t","comment":"number of mapping objects in `maps`"}],"argline":"int *out, git_config *cfg, const char *name, git_cvar_map *maps, size_t map_n","sig":"int *::git_config *::const char *::git_cvar_map *::size_t","return":{"type":"int","comment":"0 on success, error code otherwise"},"description":"Query the value of a config variable and return it mapped to\nan integer constant.","comments":"This is a helper method to easily map different possible values\nto a variable to integer constants that easily identify them.\n\nA mapping array looks as follows:\n\ngit_cvar_map autocrlf_mapping[] = {\n\t{GIT_CVAR_FALSE, NULL, GIT_AUTO_CRLF_FALSE},\n\t{GIT_CVAR_TRUE, NULL, GIT_AUTO_CRLF_TRUE},\n\t{GIT_CVAR_STRING, \"input\", GIT_AUTO_CRLF_INPUT},\n\t{GIT_CVAR_STRING, \"default\", GIT_AUTO_CRLF_DEFAULT}};\n\nOn any \"false\" value for the variable (e.g. \"false\", \"FALSE\", \"no\"), the\nmapping will store `GIT_AUTO_CRLF_FALSE` in the `out` parameter.\n\nThe same thing applies for any \"true\" value such as \"true\", \"yes\" or \"1\", storing\nthe `GIT_AUTO_CRLF_TRUE` variable.\n\nOtherwise, if the value matches the string \"input\" (with case insensitive comparison),\nthe given constant will be stored in `out`, and likewise for \"default\".\n\nIf not a single match can be made to store in `out`, an error code will be\nreturned.\n","group":"config"},"git_reset":{"type":"function","file":"reset.h","line":43,"lineto":43,"args":[{"name":"repo","type":"git_repository *","comment":"Repository where to perform the reset operation."},{"name":"target","type":"git_object *","comment":"Object to which the Head should be moved to. This object must belong to the given `repo` and can either be a git_commit or a git_tag. When a git_tag is being passed, it should be dereferencable to a git_commit which oid will be used as the target of the branch."},{"name":"reset_type","type":"git_reset_type","comment":"Kind of reset operation to perform."}],"argline":"git_repository *repo, git_object *target, git_reset_type reset_type","sig":"git_repository *::git_object *::git_reset_type","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Sets the current head to the specified commit oid and optionally\nresets the index and working tree to match.","comments":"When specifying a Soft kind of reset, the head will be moved to the commit.\n\nSpecifying a Mixed kind of reset will trigger a Soft reset and the index will\nbe replaced with the content of the commit tree.\n\nSpecifying a Hard kind of reset will trigger a Mixed reset and the working\ndirectory will be replaced with the content of the index.\n\nTODO: Implement remaining kinds of resets.\n","group":"reset"},"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":"Lookup a blob object from a repository.","comments":"","group":"blob","examples":{"general.c":["ex/HEAD/general.html#git_blob_lookup-6"]}},"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":"size_t","comment":"the length of the short identifier"}],"argline":"git_blob **blob, git_repository *repo, const git_oid *id, size_t len","sig":"git_blob **::git_repository *::const git_oid *::size_t","return":{"type":"int","comment":"0 or an error code"},"description":"Lookup a blob object from a repository,\ngiven a prefix of its identifier (short id).","comments":"@see git_object_lookup_prefix\n","group":"blob"},"git_blob_free":{"type":"function","file":"blob.h","line":65,"lineto":68,"args":[{"name":"blob","type":"git_blob *","comment":"the blob to close"}],"argline":"git_blob *blob","sig":"git_blob *","return":{"type":"void"},"description":"Close an open blob","comments":"This is a wrapper around git_object_free()\n\nIMPORTANT:\nIt *is* necessary to call this method when you stop\nusing a blob. Failure to do so will cause a memory leak.\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":"Get a read-only buffer with the raw content of a blob.","comments":"A pointer to the raw content of a blob is returned;\nthis pointer is owned internally by the object and shall\nnot be free'd. The pointer may be invalidated at a later\ntime.\n","group":"blob","examples":{"general.c":["ex/HEAD/general.html#git_blob_rawcontent-7"]}},"git_blob_rawsize":{"type":"function","file":"blob.h","line":91,"lineto":91,"args":[{"name":"blob","type":"git_blob *","comment":"pointer to the blob"}],"argline":"git_blob *blob","sig":"git_blob *","return":{"type":"size_t","comment":"size on bytes"},"description":"Get the size in bytes of the contents of a blob","comments":"","group":"blob","examples":{"general.c":["ex/HEAD/general.html#git_blob_rawsize-8","ex/HEAD/general.html#git_blob_rawsize-9"]}},"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. this repository cannot be bare"},{"name":"path","type":"const char *","comment":"file from which the blob will be created, relative 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":"Read a file from the working folder of a repository\nand write it to the Object Database as a loose blob","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. this 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":"Read a file from the filesystem and write its content\nto the Object Database as a loose blob","comments":"","group":"blob"},"git_blob_create_fromchunks":{"type":"function","file":"blob.h","line":154,"lineto":159,"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. This repository can be bare or not."},{"name":"hintpath","type":"const char *","comment":"if not NULL, will help selecting the filters to apply onto the content of the blob to be created."},{"name":"source_cb","type":"int (*)(char *content, size_t max_length, void *payload)"},{"name":"payload","type":"void *"}],"argline":"git_oid *oid,\n\tgit_repository *repo,\n\tconst char *hintpath,\n\tint (*source_cb)(char *content, size_t max_length, void *payload),\n\tvoid *payload","sig":"git_oid *::git_repository *::const char *::int (*)(char *content, size_t max_length, void *payload)::void *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Write a loose blob to the Object Database from a\nprovider of chunks of data.","comments":"Provided the `hintpath` parameter is filled, its value\nwill help to determine what git filters should be applied\nto the object before it can be placed to the object database.\n\n\nThe implementation of the callback has to respect the\nfollowing rules:\n\n - `content` will have to be filled by the consumer. The maximum number\nof bytes that the buffer can accept per call is defined by the\n`max_length` parameter. Allocation and freeing of the buffer will be taken\ncare of by the function.\n\n - The callback is expected to return the number of bytes\nthat `content` have been filled with.\n\n - When there is no more data to stream, the callback should\nreturn 0. This will prevent it from being invoked anymore.\n\n - When an error occurs, the callback should return -1.\n\n","group":"blob"},"git_blob_create_frombuffer":{"type":"function","file":"blob.h","line":170,"lineto":170,"args":[{"name":"oid","type":"git_oid *","comment":"return the oid of the written blob"},{"name":"repo","type":"git_repository *","comment":"repository where to blob will be written"},{"name":"buffer","type":"const void *","comment":"data to be written into the blob"},{"name":"len","type":"size_t","comment":"length of the data"}],"argline":"git_oid *oid, git_repository *repo, const void *buffer, size_t len","sig":"git_oid *::git_repository *::const void *::size_t","return":{"type":"int","comment":"0 or an error code"},"description":"Write an in-memory buffer to the ODB as a blob","comments":"","group":"blob"},"git_index_open":{"type":"function","file":"index.h","line":120,"lineto":120,"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":"Create a new bare Git index object as a memory representation\nof the Git index file in 'index_path', without a repository\nto back it.","comments":"Since there is no ODB or working directory behind this index,\nany Index methods which rely on these (e.g. index_add) will\nfail with the GIT_EBAREINDEX error code.\n\nIf you need to access the index of an actual repository,\nuse the `git_repository_index` wrapper.\n\nThe index must be freed once it's no longer in use.\n","group":"index"},"git_index_clear":{"type":"function","file":"index.h","line":129,"lineto":129,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"void"},"description":"Clear the contents (all the entries) of an index object.\nThis clears the index object in memory; changes must be manually\nwritten to disk for them to take effect.","comments":"","group":"index"},"git_index_free":{"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":"void"},"description":"Free an existing index object.","comments":"","group":"index","examples":{"showindex.c":["ex/HEAD/showindex.html#git_index_free-1"],"general.c":["ex/HEAD/general.html#git_index_free-10"]}},"git_index_caps":{"type":"function","file":"index.h","line":144,"lineto":144,"args":[{"name":"index","type":"const git_index *","comment":"An existing index object"}],"argline":"const git_index *index","sig":"const git_index *","return":{"type":"unsigned int","comment":"A combination of GIT_INDEXCAP values"},"description":"Read index capabilities flags.","comments":"","group":"index"},"git_index_set_caps":{"type":"function","file":"index.h","line":157,"lineto":157,"args":[{"name":"index","type":"git_index *","comment":"An existing index object"},{"name":"caps","type":"unsigned int","comment":"A combination of GIT_INDEXCAP values"}],"argline":"git_index *index, unsigned int caps","sig":"git_index *::unsigned int","return":{"type":"int","comment":"0 on success, -1 on failure"},"description":"Set index capabilities flags.","comments":"If you pass `GIT_INDEXCAP_FROM_OWNER` for the caps, then the\ncapabilities will be read from the config of the owner object,\nlooking at `core.ignorecase`, `core.filemode`, `core.symlinks`.\n","group":"index"},"git_index_read":{"type":"function","file":"index.h","line":166,"lineto":166,"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":"Update the contents of an existing index object in memory\nby reading from the hard disk.","comments":"","group":"index","examples":{"showindex.c":["ex/HEAD/showindex.html#git_index_read-2"]}},"git_index_write":{"type":"function","file":"index.h","line":175,"lineto":175,"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":"Write an existing index object from memory back to disk\nusing an atomic file lock.","comments":"","group":"index"},"git_index_find":{"type":"function","file":"index.h","line":185,"lineto":185,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"},{"name":"path","type":"const char *","comment":"path to search"}],"argline":"git_index *index, const char *path","sig":"git_index *::const char *","return":{"type":"int","comment":"an index >= 0 if found, -1 otherwise"},"description":"Find the first index of any entries which point to given\npath in the Git index.","comments":"","group":"index"},"git_index_uniq":{"type":"function","file":"index.h","line":192,"lineto":192,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"void"},"description":"Remove all entries with equal path except last added","comments":"","group":"index"},"git_index_add":{"type":"function","file":"index.h","line":211,"lineto":211,"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":"Add or update an index entry from a file in disk","comments":"The file `path` must be relative to the repository's\nworking folder and must be readable.\n\nThis method will fail in bare index instances.\n\nThis forces the file to be added to the index, not looking\nat gitignore rules. Those rules can be evaluated through\nthe git_status APIs (in status.h) before calling this.\n","group":"index"},"git_index_add2":{"type":"function","file":"index.h","line":223,"lineto":223,"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":"Add or update an index entry from an in-memory struct","comments":"A full copy (including the 'path' string) of the given\n'source_entry' will be inserted on the index.\n","group":"index"},"git_index_append":{"type":"function","file":"index.h","line":242,"lineto":242,"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":"Add (append) an index entry from a file in disk","comments":"A new entry will always be inserted into the index;\nif the index already contains an entry for such\npath, the old entry will **not** be replaced.\n\nThe file `path` must be relative to the repository's\nworking folder and must be readable.\n\nThis method will fail in bare index instances.\n","group":"index"},"git_index_append2":{"type":"function","file":"index.h","line":259,"lineto":259,"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":"Add (append) an index entry from an in-memory struct","comments":"A new entry will always be inserted into the index;\nif the index already contains an entry for the path\nin the `entry` struct, the old entry will **not** be\nreplaced.\n\nA full copy (including the 'path' string) of the given\n'source_entry' will be inserted on the index.\n","group":"index"},"git_index_remove":{"type":"function","file":"index.h","line":268,"lineto":268,"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":"Remove an entry from the index","comments":"","group":"index"},"git_index_get":{"type":"function","file":"index.h","line":283,"lineto":283,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"},{"name":"n","type":"size_t","comment":"the position of the entry"}],"argline":"git_index *index, size_t n","sig":"git_index *::size_t","return":{"type":"git_index_entry *","comment":"a pointer to the entry; NULL if out of bounds"},"description":"Get a pointer to one of the entries in the index","comments":"This entry can be modified, and the changes will be written\nback to disk on the next write() call.\n\nThe entry should not be freed by the caller.\n","group":"index","examples":{"showindex.c":["ex/HEAD/showindex.html#git_index_get-3"],"general.c":["ex/HEAD/general.html#git_index_get-11"]}},"git_index_entrycount":{"type":"function","file":"index.h","line":291,"lineto":291,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"unsigned int","comment":"integer of count of current entries"},"description":"Get the count of entries currently in the index","comments":"","group":"index","examples":{"showindex.c":["ex/HEAD/showindex.html#git_index_entrycount-4"],"general.c":["ex/HEAD/general.html#git_index_entrycount-12"]}},"git_index_entrycount_unmerged":{"type":"function","file":"index.h","line":299,"lineto":299,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"unsigned int","comment":"integer of count of current unmerged entries"},"description":"Get the count of unmerged entries currently in the index","comments":"","group":"index"},"git_index_get_unmerged_bypath":{"type":"function","file":"index.h","line":311,"lineto":311,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"},{"name":"path","type":"const char *","comment":"path to search"}],"argline":"git_index *index, const char *path","sig":"git_index *::const char *","return":{"type":"const git_index_entry_unmerged *","comment":"the unmerged entry; NULL if not found"},"description":"Get an unmerged entry from the index.","comments":"The returned entry is read-only and should not be modified\nof freed by the caller.\n","group":"index"},"git_index_get_unmerged_byindex":{"type":"function","file":"index.h","line":323,"lineto":323,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"},{"name":"n","type":"size_t","comment":"the position of the entry"}],"argline":"git_index *index, size_t n","sig":"git_index *::size_t","return":{"type":"const git_index_entry_unmerged *","comment":"a pointer to the unmerged entry; NULL if out of bounds"},"description":"Get an unmerged entry from the index.","comments":"The returned entry is read-only and should not be modified\nof freed by the caller.\n","group":"index"},"git_index_entry_stage":{"type":"function","file":"index.h","line":336,"lineto":336,"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"},"description":"Return the stage number from a git index entry","comments":"This entry is calculated from the entry's flag\nattribute like this:\n\n(entry->flags & GIT_IDXENTRY_STAGEMASK) >> GIT_IDXENTRY_STAGESHIFT\n","group":"index"},"git_index_read_tree":{"type":"function","file":"index.h","line":349,"lineto":349,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"},{"name":"tree","type":"git_tree *","comment":"tree to read"},{"name":"stats","type":"git_indexer_stats *","comment":"structure that receives the total node count (may be NULL)"}],"argline":"git_index *index, git_tree *tree, git_indexer_stats *stats","sig":"git_index *::git_tree *::git_indexer_stats *","return":{"type":"int","comment":"0 or an error code"},"description":"Read a tree into the index file with stats","comments":"The current index contents will be replaced by the specified tree. The total\nnode count is collected in stats.\n","group":"index"},"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":"Open a git repository.","comments":"The 'path' argument must point to either a git repository\nfolder, or an existing work dir.\n\nThe method will automatically detect if 'path' is a normal\nor bare repository or fail is 'path' is neither.\n","group":"repository","examples":{"showindex.c":["ex/HEAD/showindex.html#git_repository_open-5"],"general.c":["ex/HEAD/general.html#git_repository_open-13","ex/HEAD/general.html#git_repository_open-14"],"network/git2.c":["ex/HEAD/git2.html#git_repository_open-1"]}},"git_repository_wrap_odb":{"type":"function","file":"repository.h","line":49,"lineto":49,"args":[{"name":"repository","type":"git_repository **","comment":"pointer to the repo"},{"name":"odb","type":"git_odb *","comment":"the object database to wrap"}],"argline":"git_repository **repository, git_odb *odb","sig":"git_repository **::git_odb *","return":{"type":"int","comment":"0 or an error code"},"description":"Create a \"fake\" repository to wrap an object database","comments":"Create a repository object to wrap an object database to be used\nwith the API when all you have is an object database. This doesn't\nhave any paths associated with it, so use with care.\n","group":"repository"},"git_repository_discover":{"type":"function","file":"repository.h","line":79,"lineto":84,"args":[{"name":"repository_path","type":"char *","comment":"The user allocated buffer which will contain the found path."},{"name":"size","type":"size_t","comment":"repository_path size"},{"name":"start_path","type":"const char *","comment":"The base path where the lookup starts."},{"name":"across_fs","type":"int","comment":"If true, then the lookup will not stop when a filesystem device change is detected while exploring parent directories."},{"name":"ceiling_dirs","type":"const char *","comment":"A GIT_PATH_LIST_SEPARATOR separated list of absolute symbolic link free paths. The lookup will stop when any of this paths is reached. Note that the lookup always performs on start_path no matter start_path appears in ceiling_dirs ceiling_dirs might be NULL (which is equivalent to an empty string)"}],"argline":"char *repository_path,\n\t\tsize_t size,\n\t\tconst char *start_path,\n\t\tint across_fs,\n\t\tconst char *ceiling_dirs","sig":"char *::size_t::const char *::int::const char *","return":{"type":"int","comment":"0 or an error code"},"description":"Look for a git repository and copy its path in the given buffer.\nThe lookup start from base_path and walk across parent directories\nif nothing has been found. The lookup ends when the first repository\nis found, or when reaching a directory referenced in ceiling_dirs\nor when the filesystem changes (in case across_fs is true).","comments":"The method will automatically detect if the repository is bare\n(if there is a repository).\n","group":"repository"},"git_repository_open_ext":{"type":"function","file":"repository.h","line":120,"lineto":124,"args":[{"name":"repo","type":"git_repository **","comment":"_out Pointer to the repo which will be opened. This can actually be NULL if you only want to use the error code to see if a repo at this path could be opened."},{"name":"start_path","type":"const char *","comment":"Path to open as git repository. If the flags permit \"searching\", then this can be a path to a subdirectory inside the working directory of the repository."},{"name":"flags","type":"uint32_t","comment":"A combination of the GIT_REPOSITORY_OPEN flags above."},{"name":"ceiling_dirs","type":"const char *","comment":"A GIT_PATH_LIST_SEPARATOR delimited list of path prefixes at which the search for a containing repository should terminate."}],"argline":"git_repository **repo,\n\tconst char *start_path,\n\tuint32_t flags,\n\tconst char *ceiling_dirs","sig":"git_repository **::const char *::uint32_t::const char *","return":{"type":"int","comment":"0 on success, GIT_ENOTFOUND if no repository could be found, or -1 if there was a repository but open failed for some reason (such as repo corruption or system errors)."},"description":"Find and open a repository with extended controls.","comments":"","group":"repository","examples":{"diff.c":["ex/HEAD/diff.html#git_repository_open_ext-1"]}},"git_repository_free":{"type":"function","file":"repository.h","line":137,"lineto":137,"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"},"description":"Free a previously allocated repository","comments":"Note that after a repository is free'd, all the objects it has spawned\nwill still exist until they are manually closed by the user\nwith `git_object_free`, but accessing any of the attributes of\nan object without a backing repository will result in undefined\nbehavior\n","group":"repository","examples":{"showindex.c":["ex/HEAD/showindex.html#git_repository_free-6"],"general.c":["ex/HEAD/general.html#git_repository_free-15"],"network/git2.c":["ex/HEAD/git2.html#git_repository_free-2"],"network/clone.c":["ex/HEAD/clone.html#git_repository_free-2"],"diff.c":["ex/HEAD/diff.html#git_repository_free-2"]}},"git_repository_init":{"type":"function","file":"repository.h","line":154,"lineto":157,"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","comment":"if true, a Git repository without a working directory is created at the pointed path. If false, provided path will be considered as the working directory into which the .git directory will be created."}],"argline":"git_repository **repo_out,\n\tconst char *path,\n\tunsigned is_bare","sig":"git_repository **::const char *::unsigned","return":{"type":"int","comment":"0 or an error code"},"description":"Creates a new Git repository in the given folder.","comments":"TODO:\n- Reinit the repository\n","group":"repository"},"git_repository_init_ext":{"type":"function","file":"repository.h","line":264,"lineto":267,"args":[{"name":"repo_out","type":"git_repository **","comment":"Pointer to the repo which will be created or reinitialized."},{"name":"repo_path","type":"const char *","comment":"The path to the repository."},{"name":"opts","type":"git_repository_init_options *","comment":"Pointer to git_repository_init_options struct."}],"argline":"git_repository **repo_out,\n\tconst char *repo_path,\n\tgit_repository_init_options *opts","sig":"git_repository **::const char *::git_repository_init_options *","return":{"type":"int","comment":"0 or an error code on failure."},"description":"Create a new Git repository in the given folder with extended controls.","comments":"This will initialize a new git repository (creating the repo_path\nif requested by flags) and working directory as needed. It will\nauto-detect the case sensitivity of the file system and if the\nfile system supports file mode bits correctly.\n","group":"repository"},"git_repository_head":{"type":"function","file":"repository.h","line":277,"lineto":277,"args":[{"name":"head_out","type":"git_reference **","comment":"pointer to the reference which will be retrieved"},{"name":"repo","type":"git_repository *","comment":"a repository object"}],"argline":"git_reference **head_out, git_repository *repo","sig":"git_reference **::git_repository *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Retrieve and resolve the reference pointed at by HEAD.","comments":"","group":"repository"},"git_repository_head_detached":{"type":"function","file":"repository.h","line":289,"lineto":289,"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 it's not; error code if there was an error."},"description":"Check if a repository's HEAD is detached","comments":"A repository's HEAD is detached when it points directly to a commit\ninstead of a branch.\n","group":"repository"},"git_repository_head_orphan":{"type":"function","file":"repository.h","line":301,"lineto":301,"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 code if there was an error"},"description":"Check if the current branch is an orphan","comments":"An orphan branch is one named from HEAD but which doesn't exist in\nthe refs namespace, because it doesn't have any commit to point to.\n","group":"repository"},"git_repository_is_empty":{"type":"function","file":"repository.h","line":313,"lineto":313,"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 if the repository is corrupted"},"description":"Check if a repository is empty","comments":"An empty repository has just been initialized and contains\nno commits.\n","group":"repository"},"git_repository_path":{"type":"function","file":"repository.h","line":324,"lineto":324,"args":[{"name":"repo","type":"git_repository *","comment":"A repository object"}],"argline":"git_repository *repo","sig":"git_repository *","return":{"type":"const char *","comment":"the path to the repository"},"description":"Get the path of this repository","comments":"This is the path of the `.git` folder for normal repositories,\nor of the repository itself for bare repositories.\n","group":"repository"},"git_repository_workdir":{"type":"function","file":"repository.h","line":335,"lineto":335,"args":[{"name":"repo","type":"git_repository *","comment":"A repository object"}],"argline":"git_repository *repo","sig":"git_repository *","return":{"type":"const char *","comment":"the path to the working dir, if it exists"},"description":"Get the path of the working directory for this repository","comments":"If the repository is bare, this function will always return\nNULL.\n","group":"repository"},"git_repository_set_workdir":{"type":"function","file":"repository.h","line":354,"lineto":355,"args":[{"name":"repo","type":"git_repository *","comment":"A repository object"},{"name":"workdir","type":"const char *","comment":"The path to a working directory"},{"name":"update_gitlink","type":"int","comment":"Create/update gitlink in workdir and set config \"core.worktree\" (if workdir is not the parent of the .git directory)"}],"argline":"git_repository *repo, const char *workdir, int update_gitlink","sig":"git_repository *::const char *::int","return":{"type":"int","comment":"0, or an error code"},"description":"Set the path to the working directory for this repository","comments":"The working directory doesn't need to be the same one\nthat contains the `.git` folder for this repository.\n\nIf this repository is bare, setting its working directory\nwill turn it into a normal repository, capable of performing\nall the common workdir operations (checkout, status, index\nmanipulation, etc).\n","group":"repository"},"git_repository_is_bare":{"type":"function","file":"repository.h","line":363,"lineto":363,"args":[{"name":"repo","type":"git_repository *","comment":"Repo to test"}],"argline":"git_repository *repo","sig":"git_repository *","return":{"type":"int","comment":"1 if the repository is bare, 0 otherwise."},"description":"Check if a repository is bare","comments":"","group":"repository"},"git_repository_config":{"type":"function","file":"repository.h","line":379,"lineto":379,"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":"Get the configuration file for this repository.","comments":"If a configuration file has not been set, the default\nconfig set for the repository will be returned, including\nglobal and system configurations (if they are available).\n\nThe configuration file must be freed once it's no longer\nbeing used by the user.\n","group":"repository"},"git_repository_set_config":{"type":"function","file":"repository.h","line":394,"lineto":394,"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"},"description":"Set the configuration file for this repository","comments":"This configuration file will be used for all configuration\nqueries involving this repository.\n\nThe repository will keep a reference to the config file;\nthe user must still free the config after setting it\nto the repository, or it will leak.\n","group":"repository"},"git_repository_odb":{"type":"function","file":"repository.h","line":410,"lineto":410,"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":"Get the Object Database for this repository.","comments":"If a custom ODB has not been set, the default\ndatabase for the repository will be returned (the one\nlocated in `.git/objects`).\n\nThe ODB must be freed once it's no longer being used by\nthe user.\n","group":"repository","examples":{"general.c":["ex/HEAD/general.html#git_repository_odb-16"]}},"git_repository_set_odb":{"type":"function","file":"repository.h","line":425,"lineto":425,"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"},"description":"Set the Object Database for this repository","comments":"The ODB will be used for all object-related operations\ninvolving this repository.\n\nThe repository will keep a reference to the ODB; the user\nmust still free the ODB object after setting it to the\nrepository, or it will leak.\n","group":"repository"},"git_repository_index":{"type":"function","file":"repository.h","line":441,"lineto":441,"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":"Get the Index file for this repository.","comments":"If a custom index has not been set, the default\nindex for the repository will be returned (the one\nlocated in `.git/index`).\n\nThe index must be freed once it's no longer being used by\nthe user.\n","group":"repository","examples":{"showindex.c":["ex/HEAD/showindex.html#git_repository_index-7"],"general.c":["ex/HEAD/general.html#git_repository_index-17"]}},"git_repository_set_index":{"type":"function","file":"repository.h","line":456,"lineto":456,"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"},"description":"Set the index file for this repository","comments":"This index will be used for all index-related operations\ninvolving this repository.\n\nThe repository will keep a reference to the index file;\nthe user must still free the index after setting it\nto the repository, or it will leak.\n","group":"repository"},"git_repository_message":{"type":"function","file":"repository.h","line":475,"lineto":475,"args":[{"name":"buffer","type":"char *","comment":"Buffer to write data into or NULL to just read required size"},{"name":"len","type":"size_t","comment":"Length of buffer in bytes"},{"name":"repo","type":"git_repository *","comment":"Repository to read prepared message from"}],"argline":"char *buffer, size_t len, git_repository *repo","sig":"char *::size_t::git_repository *","return":{"type":"int","comment":"Bytes written to buffer, GIT_ENOTFOUND if no message, or -1 on error"},"description":"Retrieve git's prepared message","comments":"Operations such as git revert/cherry-pick/merge with the -n option\nstop just short of creating a commit with the changes and save\ntheir prepared message in .git/MERGE_MSG so the next git-commit\nexecution can present it to the user for them to amend if they\nwish.\n\nUse this function to get the contents of this file. Don't forget to\nremove the file after you create the commit.\n","group":"repository"},"git_repository_message_remove":{"type":"function","file":"repository.h","line":482,"lineto":482,"args":[{"name":"repo","type":"git_repository *"}],"argline":"git_repository *repo","sig":"git_repository *","return":{"type":"int"},"description":"Remove git's prepared message.","comments":"Remove the message that `git_repository_message` retrieves.","group":"repository"},"git_repository_hashfile":{"type":"function","file":"repository.h","line":502,"lineto":507,"args":[{"name":"out","type":"git_oid *","comment":"Output value of calculated SHA"},{"name":"repo","type":"git_repository *","comment":"Repository pointer"},{"name":"path","type":"const char *","comment":"Path to file on disk whose contents should be hashed. If the repository is not NULL, this can be a relative path."},{"name":"type","type":"git_otype","comment":"The object type to hash as (e.g. GIT_OBJ_BLOB)"},{"name":"as_path","type":"const char *","comment":"The path to use to look up filtering rules. If this is NULL, then the `path` parameter will be used instead. If this is passed as the empty string, then no filters will be applied when calculating the hash."}],"argline":"git_oid *out,\n git_repository *repo,\n const char *path,\n git_otype type,\n const char *as_path","sig":"git_oid *::git_repository *::const char *::git_otype::const char *","return":{"type":"int"},"description":"Calculate hash of file using repository filtering rules.","comments":"If you simply want to calculate the hash of a file on disk with no filters,\nyou can just use the `git_odb_hashfile()` API. However, if you want to\nhash a file in the repository and you want to apply filtering rules (e.g.\ncrlf filters) before generating the SHA, then use this function.\n","group":"repository"},"git_repository_set_head":{"type":"function","file":"repository.h","line":527,"lineto":529,"args":[{"name":"repo","type":"git_repository*","comment":"Repository pointer"},{"name":"refname","type":"const char*","comment":"Canonical name of the reference the HEAD should point at"}],"argline":"git_repository* repo,\n\tconst char* refname","sig":"git_repository*::const char*","return":{"type":"int","comment":"0 on success, or an error code"},"description":"Make the repository HEAD point to the specified reference.","comments":"If the provided reference points to a Tree or a Blob, the HEAD is\nunaltered and -1 is returned.\n\nIf the provided reference points to a branch, the HEAD will point\nto that branch, staying attached, or become attached if it isn't yet.\nIf the branch doesn't exist yet, no error will be return. The HEAD\nwill then be attached to an unborn branch.\n\nOtherwise, the HEAD will be detached and will directly point to\nthe Commit.\n","group":"repository"},"git_repository_set_head_detached":{"type":"function","file":"repository.h","line":547,"lineto":549,"args":[{"name":"repo","type":"git_repository*","comment":"Repository pointer"},{"name":"commitish","type":"const git_oid*","comment":"Object id of the Commit the HEAD should point to"}],"argline":"git_repository* repo,\n\tconst git_oid* commitish","sig":"git_repository*::const git_oid*","return":{"type":"int","comment":"0 on success, or an error code"},"description":"Make the repository HEAD directly point to the Commit.","comments":"If the provided committish cannot be found in the repository, the HEAD\nis unaltered and GIT_ENOTFOUND is returned.\n\nIf the provided commitish cannot be peeled into a commit, the HEAD\nis unaltered and -1 is returned.\n\nOtherwise, the HEAD will eventually be detached and will directly point to\nthe peeled Commit.\n","group":"repository"},"git_repository_detach_head":{"type":"function","file":"repository.h","line":567,"lineto":568,"args":[{"name":"repo","type":"git_repository*","comment":"Repository pointer"}],"argline":"git_repository* repo","sig":"git_repository*","return":{"type":"int","comment":"0 on success, or an error code"},"description":"Detach the HEAD.","comments":"If the HEAD is already detached and points to a Commit, 0 is returned.\n\nIf the HEAD is already detached and points to a Tag, the HEAD is\nupdated into making it point to the peeled Commit, and 0 is returned.\n\nIf the HEAD is already detached and points to a non commitish, the HEAD is \nunaletered, and -1 is returned.\n\nOtherwise, the HEAD will be detached and point to the peeled Commit.\n","group":"repository"},"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":"Lookup a tag object from the repository.","comments":"","group":"tag","examples":{"general.c":["ex/HEAD/general.html#git_tag_lookup-18"]}},"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":"size_t","comment":"the length of the short identifier"}],"argline":"git_tag **tag, git_repository *repo, const git_oid *id, size_t len","sig":"git_tag **::git_repository *::const git_oid *::size_t","return":{"type":"int","comment":"0 or an error code"},"description":"Lookup a tag object from the repository,\ngiven a prefix of its identifier (short id).","comments":"@see git_object_lookup_prefix\n","group":"tag"},"git_tag_free":{"type":"function","file":"tag.h","line":65,"lineto":68,"args":[{"name":"tag","type":"git_tag *","comment":"the tag to close"}],"argline":"git_tag *tag","sig":"git_tag *","return":{"type":"void"},"description":"Close an open tag","comments":"This is a wrapper around git_object_free()\n\nIMPORTANT:\nIt *is* necessary to call this method when you stop\nusing a tag. Failure to do so will cause a memory leak.\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":"Get the id of a tag.","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":"Get the tagged object of a tag","comments":"This method performs a repository lookup for the\ngiven object and returns it\n","group":"tag","examples":{"general.c":["ex/HEAD/general.html#git_tag_target-19"]}},"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":"Get the OID of the tagged object of a tag","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":"Get the type of a tag's tagged object","comments":"","group":"tag","examples":{"general.c":["ex/HEAD/general.html#git_tag_type-20"]}},"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":"Get the name of a tag","comments":"","group":"tag","examples":{"general.c":["ex/HEAD/general.html#git_tag_name-21"]}},"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":"Get the tagger (author) of a tag","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":"Get the message of a tag","comments":"","group":"tag","examples":{"general.c":["ex/HEAD/general.html#git_tag_message-22"]}},"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 newly created tag. If the tag already exists, this parameter will be the oid of the existing tag, and the function will 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 for consistency. It should also not conflict with an already existing tag name"},{"name":"target","type":"const git_object *","comment":"Object to which this tag points. This object must belong to the given `repo`."},{"name":"tagger","type":"const git_signature *","comment":"Signature of the tagger for this tag, and 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,\n\t\tgit_repository *repo,\n\t\tconst char *tag_name,\n\t\tconst git_object *target,\n\t\tconst git_signature *tagger,\n\t\tconst char *message,\n\t\tint 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 A tag object is written to the ODB, and a proper reference is written in the /refs/tags folder, pointing to it"},"description":"Create a new tag in the repository from an object","comments":"A new reference will also be created pointing to\nthis tag object. If `force` is true and a reference\nalready exists with the given name, it'll be replaced.\n\nThe message will not be cleaned up. This can be achieved\nthrough `git_message_prettify()`.\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,\n\t\tgit_repository *repo,\n\t\tconst char *buffer,\n\t\tint force","sig":"git_oid *::git_repository *::const char *::int","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Create a new tag in the repository from a buffer","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 target object. If the tag already exists, this parameter will be filled with the oid of the existing pointed object 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 for consistency. It should also not conflict with an already existing tag name"},{"name":"target","type":"const git_object *","comment":"Object to which this tag points. This object must belong to the given `repo`."},{"name":"force","type":"int","comment":"Overwrite existing references"}],"argline":"git_oid *oid,\n\t\tgit_repository *repo,\n\t\tconst char *tag_name,\n\t\tconst git_object *target,\n\t\tint force","sig":"git_oid *::git_repository *::const char *::const git_object *::int","return":{"type":"int","comment":"0 or an error code A proper reference is written in the /refs/tags folder, pointing to the provided target object"},"description":"Create a new lightweight tag pointing at a target object","comments":"A new direct reference will be created pointing to\nthis target object. If `force` is true and a reference\nalready exists with the given name, it'll be replaced.\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; this name is validated for consistency."}],"argline":"git_repository *repo,\n\t\tconst char *tag_name","sig":"git_repository *::const char *","return":{"type":"int","comment":"0 or an error code"},"description":"Delete an existing tag reference.","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 the tag names will be stored"},{"name":"repo","type":"git_repository *","comment":"Repository where to find the tags"}],"argline":"git_strarray *tag_names,\n\t\tgit_repository *repo","sig":"git_strarray *::git_repository *","return":{"type":"int","comment":"0 or an error code"},"description":"Fill a list with all the tags in the Repository","comments":"The string array will be filled with the names of the\nmatching tags; these values are owned by the user and\nshould be free'd manually when no longer needed, using\n`git_strarray_free`.\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 the 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,\n\t\tconst char *pattern,\n\t\tgit_repository *repo","sig":"git_strarray *::const char *::git_repository *","return":{"type":"int","comment":"0 or an error code"},"description":"Fill a list with all the tags in the Repository\nwhich name match a defined pattern","comments":"If an empty pattern is provided, all the tags\nwill be returned.\n\nThe string array will be filled with the names of the\nmatching tags; these values are owned by the user and\nshould be free'd manually when no longer needed, using\n`git_strarray_free`.\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":"_target Pointer to the peeled git_object"}],"argline":"git_object **tag_target,\n\t\tgit_tag *tag","sig":"git_object **::git_tag *","return":{"type":"int","comment":"0 or an error code"},"description":"Recursively peel a tag until a non tag git_object\nis met","comments":"The retrieved `tag_target` object is owned by the repository\nand should be closed with the `git_object_free` method.\n","group":"tag"},"git_revparse_single":{"type":"function","file":"revparse.h","line":32,"lineto":32,"args":[{"name":"out","type":"git_object **","comment":"pointer to output object"},{"name":"repo","type":"git_repository *","comment":"the repository to search in"},{"name":"spec","type":"const char *","comment":"the textual specification for an object"}],"argline":"git_object **out, git_repository *repo, const char *spec","sig":"git_object **::git_repository *::const char *","return":{"type":"int","comment":"on success, GIT_ERROR otherwise (use git_error_last for information about the error)"},"description":"Find an object, as specified by a revision string. See `man gitrevisions`, or the documentation\nfor `git rev-parse` for information on the syntax accepted.","comments":"","group":"revparse"},"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 an 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":"Lookup a commit object from a repository.","comments":"","group":"commit","examples":{"general.c":["ex/HEAD/general.html#git_commit_lookup-23","ex/HEAD/general.html#git_commit_lookup-24","ex/HEAD/general.html#git_commit_lookup-25"]}},"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 an annotated tag it will be peeled back to the commit."},{"name":"len","type":"size_t","comment":"the length of the short identifier"}],"argline":"git_commit **commit, git_repository *repo, const git_oid *id, size_t len","sig":"git_commit **::git_repository *::const git_oid *::size_t","return":{"type":"int","comment":"0 or an error code"},"description":"Lookup a commit object from a repository,\ngiven a prefix of its identifier (short id).","comments":"@see git_object_lookup_prefix\n","group":"commit"},"git_commit_free":{"type":"function","file":"commit.h","line":67,"lineto":70,"args":[{"name":"commit","type":"git_commit *","comment":"the commit to close"}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"void"},"description":"Close an open commit","comments":"This is a wrapper around git_object_free()\n\nIMPORTANT:\nIt *is* necessary to call this method when you stop\nusing a commit. Failure to do so will cause a memory leak.\n","group":"commit","examples":{"general.c":["ex/HEAD/general.html#git_commit_free-26","ex/HEAD/general.html#git_commit_free-27","ex/HEAD/general.html#git_commit_free-28","ex/HEAD/general.html#git_commit_free-29"]}},"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":"Get the id of a commit.","comments":"","group":"commit","examples":{"general.c":["ex/HEAD/general.html#git_commit_id-30"]}},"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":"Get the encoding for the message of a commit,\nas a string representing a standard encoding name.","comments":"The encoding may be NULL if the `encoding` header\nin the commit is missing; in that case UTF-8 is assumed.\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":"Get the full message of a commit.","comments":"","group":"commit","examples":{"general.c":["ex/HEAD/general.html#git_commit_message-31","ex/HEAD/general.html#git_commit_message-32"]}},"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":"Get the commit time (i.e. committer time) of a commit.","comments":"","group":"commit","examples":{"general.c":["ex/HEAD/general.html#git_commit_time-33","ex/HEAD/general.html#git_commit_time-34"]}},"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":"Get the commit timezone offset (i.e. committer's preferred timezone) of a commit.","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":"Get the committer of a commit.","comments":"","group":"commit","examples":{"general.c":["ex/HEAD/general.html#git_commit_committer-35"]}},"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":"Get the author of a commit.","comments":"","group":"commit","examples":{"general.c":["ex/HEAD/general.html#git_commit_author-36","ex/HEAD/general.html#git_commit_author-37"]}},"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":"Get the tree pointed to by a commit.","comments":"","group":"commit","examples":{"diff.c":["ex/HEAD/diff.html#git_commit_tree-3"]}},"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":"Get the id of the tree pointed to by a commit. This differs from\n`git_commit_tree` in that no attempts are made to fetch an object\nfrom the ODB.","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":"Get the number of parents of this commit","comments":"","group":"commit","examples":{"general.c":["ex/HEAD/general.html#git_commit_parentcount-38"]}},"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":"Get the specified parent of the commit.","comments":"","group":"commit","examples":{"general.c":["ex/HEAD/general.html#git_commit_parent-39"]}},"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":"Get the oid of a specified parent for a commit. This is different from\n`git_commit_parent`, which will attempt to load the parent commit from\nthe ODB.","comments":"","group":"commit"},"git_commit_nth_gen_ancestor":{"type":"function","file":"commit.h","line":195,"lineto":198,"args":[{"name":"ancestor","type":"git_commit **","comment":"Pointer where to store the ancestor commit"},{"name":"commit","type":"const git_commit *","comment":"a previously loaded commit."},{"name":"n","type":"unsigned int","comment":"the requested generation"}],"argline":"git_commit **ancestor,\n\tconst git_commit *commit,\n\tunsigned int n","sig":"git_commit **::const git_commit *::unsigned int","return":{"type":"int","comment":"0 on success; GIT_ENOTFOUND if no matching ancestor exists or an error code"},"description":"Get the commit object that is the <n>th generation ancestor\nof the named commit object, following only the first parents.\nThe returned commit has to be freed by the caller.","comments":"Passing `0` as the generation number returns another instance of the\nbase commit itself.\n","group":"commit"},"git_commit_create":{"type":"function","file":"commit.h","line":247,"lineto":257,"args":[{"name":"oid","type":"git_oid *","comment":"Pointer where to store the OID of the newly 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 will be updated to point to this commit. If the reference is not direct, it will be resolved to a direct reference. Use \"HEAD\" to update the HEAD of the current branch and make it point to this commit. If the reference doesn't exist yet, it will be created."},{"name":"author","type":"const git_signature *","comment":"Signature representing the author and the authory time of this commit"},{"name":"committer","type":"const git_signature *","comment":"Signature representing the committer and the commit time of this commit"},{"name":"message_encoding","type":"const char *","comment":"The encoding for the message in the commit, represented with a standard encoding name. E.g. \"UTF-8\". If NULL, no encoding header is written and UTF-8 is assumed."},{"name":"message","type":"const char *","comment":"_encoding The encoding for the message in the commit, represented with a standard encoding name. E.g. \"UTF-8\". If NULL, no encoding header is written and UTF-8 is assumed."},{"name":"tree","type":"const git_tree *","comment":"An instance of a `git_tree` object that will be used as the tree for the commit. This tree object must also be owned by the given `repo`."},{"name":"parent_count","type":"int","comment":"Number of parents for this commit"}],"argline":"git_oid *oid,\n\t\tgit_repository *repo,\n\t\tconst char *update_ref,\n\t\tconst git_signature *author,\n\t\tconst git_signature *committer,\n\t\tconst char *message_encoding,\n\t\tconst char *message,\n\t\tconst git_tree *tree,\n\t\tint parent_count,\n\t\tconst git_commit *parents[]","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":"0 or an error code The created commit will be written to the Object Database and the given reference will be updated to point to it"},"description":"Create a new commit in the repository using `git_object`\ninstances as parameters.","comments":"The message will not be cleaned up. This can be achieved\nthrough `git_message_prettify()`.\n","group":"commit"},"git_commit_create_v":{"type":"function","file":"commit.h","line":275,"lineto":285,"args":[{"name":"oid","type":"git_oid *"},{"name":"repo","type":"git_repository *"},{"name":"update_ref","type":"const char *"},{"name":"author","type":"const git_signature *"},{"name":"committer","type":"const git_signature *"},{"name":"message_encoding","type":"const char *"},{"name":"message","type":"const char *"},{"name":"tree","type":"const git_tree *"},{"name":"parent_count","type":"int"}],"argline":"git_oid *oid,\n\t\tgit_repository *repo,\n\t\tconst char *update_ref,\n\t\tconst git_signature *author,\n\t\tconst git_signature *committer,\n\t\tconst char *message_encoding,\n\t\tconst char *message,\n\t\tconst git_tree *tree,\n\t\tint parent_count,\n\t\t...","sig":"git_oid *::git_repository *::const char *::const git_signature *::const git_signature *::const char *::const char *::const git_tree *::int","return":{"type":"int"},"description":"Create a new commit in the repository using a variable\nargument list.","comments":"The message will be cleaned up from excess whitespace\nit will be made sure that the last line ends with a '\\n'.\n\nThe parents for the commit are specified as a variable\nlist of pointers to `const git_commit *`. Note that this\nis a convenience method which may not be safe to export\nfor certain languages or compilers\n\nAll other parameters remain the same\n\n@see git_commit_create","group":"commit","examples":{"general.c":["ex/HEAD/general.html#git_commit_create_v-40"]}},"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 associated 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":"Create a remote in memory","comments":"Create a remote with the default refspecs in memory. You can use\nthis when you have a URL instead of a remote's name.\n","group":"remote","examples":{"network/ls-remote.c":["ex/HEAD/ls-remote.html#git_remote_new-1"],"network/fetch.c":["ex/HEAD/fetch.html#git_remote_new-1"]}},"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 *"},{"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":"Get the information for a particular remote","comments":"","group":"remote","examples":{"network/ls-remote.c":["ex/HEAD/ls-remote.html#git_remote_load-2"],"network/fetch.c":["ex/HEAD/fetch.html#git_remote_load-2"]}},"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":"Save a remote to its repository's configuration","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":"Get the remote's name","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":"Get the remote's url","comments":"","group":"remote"},"git_remote_pushurl":{"type":"function","file":"remote.h","line":88,"lineto":88,"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 or NULL if no special url for pushing is set"},"description":"Get the remote's url for pushing","comments":"","group":"remote"},"git_remote_set_url":{"type":"function","file":"remote.h","line":99,"lineto":99,"args":[{"name":"remote","type":"git_remote *","comment":"the remote"},{"name":"url","type":"const char*","comment":"the url to set"}],"argline":"git_remote *remote, const char* url","sig":"git_remote *::const char*","return":{"type":"int","comment":"0 or an error value"},"description":"Set the remote's url","comments":"Existing connections will not be updated.\n","group":"remote"},"git_remote_set_pushurl":{"type":"function","file":"remote.h","line":110,"lineto":110,"args":[{"name":"remote","type":"git_remote *","comment":"the remote"},{"name":"url","type":"const char*","comment":"the url to set or NULL to clear the pushurl"}],"argline":"git_remote *remote, const char* url","sig":"git_remote *::const char*","return":{"type":"int","comment":"0 or an error value"},"description":"Set the remote's url for pushing","comments":"Existing connections will not be updated.\n","group":"remote"},"git_remote_set_fetchspec":{"type":"function","file":"remote.h","line":119,"lineto":119,"args":[{"name":"remote","type":"git_remote *","comment":"the remote @apram spec the new fetch refspec"},{"name":"spec","type":"const char *"}],"argline":"git_remote *remote, const char *spec","sig":"git_remote *::const char *","return":{"type":"int","comment":"0 or an error value"},"description":"Set the remote's fetch refspec","comments":"","group":"remote"},"git_remote_fetchspec":{"type":"function","file":"remote.h","line":127,"lineto":127,"args":[{"name":"remote","type":"git_remote *","comment":"the remote"}],"argline":"git_remote *remote","sig":"git_remote *","return":{"type":"const git_refspec *","comment":"a pointer to the fetch refspec or NULL if it doesn't exist"},"description":"Get the fetch refspec","comments":"","group":"remote"},"git_remote_set_pushspec":{"type":"function","file":"remote.h","line":136,"lineto":136,"args":[{"name":"remote","type":"git_remote *","comment":"the remote"},{"name":"spec","type":"const char *","comment":"the new push refspec"}],"argline":"git_remote *remote, const char *spec","sig":"git_remote *::const char *","return":{"type":"int","comment":"0 or an error value"},"description":"Set the remote's push refspec","comments":"","group":"remote"},"git_remote_pushspec":{"type":"function","file":"remote.h","line":144,"lineto":144,"args":[{"name":"remote","type":"git_remote *","comment":"the remote"}],"argline":"git_remote *remote","sig":"git_remote *","return":{"type":"const git_refspec *","comment":"a pointer to the push refspec or NULL if it doesn't exist"},"description":"Get the push refspec","comments":"","group":"remote"},"git_remote_connect":{"type":"function","file":"remote.h","line":158,"lineto":158,"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":"Open a connection to a remote","comments":"The transport is selected based on the URL. The direction argument\nis due to a limitation of the git protocol (over TCP or SSH) which\nstarts up a specific binary which can only do the one or the other.\n","group":"remote","examples":{"network/ls-remote.c":["ex/HEAD/ls-remote.html#git_remote_connect-3","ex/HEAD/ls-remote.html#git_remote_connect-4"],"network/fetch.c":["ex/HEAD/fetch.html#git_remote_connect-3"]}},"git_remote_ls":{"type":"function","file":"remote.h","line":173,"lineto":173,"args":[{"name":"remote","type":"git_remote *","comment":"the remote"},{"name":"list_cb","type":"git_headlist_cb"},{"name":"payload","type":"void *"}],"argline":"git_remote *remote, git_headlist_cb list_cb, void *payload","sig":"git_remote *::git_headlist_cb::void *","return":{"type":"int","comment":"0 on success, GIT_EUSER on non-zero callback, or error code"},"description":"Get a list of refs at the remote","comments":"The remote (or more exactly its transport) must be connected. The\nmemory belongs to the remote.\n\nIf you a return a non-zero value from the callback, this will stop\nlooping over the refs.\n","group":"remote","examples":{"network/ls-remote.c":["ex/HEAD/ls-remote.html#git_remote_ls-5","ex/HEAD/ls-remote.html#git_remote_ls-6","ex/HEAD/ls-remote.html#git_remote_ls-7"]}},"git_remote_download":{"type":"function","file":"remote.h","line":188,"lineto":188,"args":[{"name":"remote","type":"git_remote *","comment":"the remote to download from"},{"name":"bytes","type":"git_off_t *"},{"name":"stats","type":"git_indexer_stats *"}],"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":"Download the packfile","comments":"Negotiate what objects should be downloaded and download the\npackfile with those objects. The packfile is downloaded with a\ntemporary filename, as it's final name is not known yet. If there\nwas no packfile needed (all the objects were available locally),\nfilename will be NULL and the function will return success.\n","group":"remote","examples":{"network/fetch.c":["ex/HEAD/fetch.html#git_remote_download-4"]}},"git_remote_connected":{"type":"function","file":"remote.h","line":198,"lineto":198,"args":[{"name":"remote","type":"git_remote *"}],"argline":"git_remote *remote","sig":"git_remote *","return":{"type":"int","comment":"1 if it's connected, 0 otherwise."},"description":"Check whether the remote is connected","comments":"Check whether the remote's underlying transport is connected to the\nremote host.\n","group":"remote"},"git_remote_disconnect":{"type":"function","file":"remote.h","line":208,"lineto":208,"args":[{"name":"remote","type":"git_remote *","comment":"the remote to disconnect from"}],"argline":"git_remote *remote","sig":"git_remote *","return":{"type":"void"},"description":"Disconnect from the remote","comments":"Close the connection to the remote and free the underlying\ntransport.\n","group":"remote","examples":{"network/fetch.c":["ex/HEAD/fetch.html#git_remote_disconnect-5"]}},"git_remote_free":{"type":"function","file":"remote.h","line":218,"lineto":218,"args":[{"name":"remote","type":"git_remote *","comment":"the remote to free"}],"argline":"git_remote *remote","sig":"git_remote *","return":{"type":"void"},"description":"Free the memory associated with a remote","comments":"This also disconnects from the remote, if the connection\nhas not been closed yet (using git_remote_disconnect).\n","group":"remote","examples":{"network/ls-remote.c":["ex/HEAD/ls-remote.html#git_remote_free-8","ex/HEAD/ls-remote.html#git_remote_free-9"],"network/fetch.c":["ex/HEAD/fetch.html#git_remote_free-6","ex/HEAD/fetch.html#git_remote_free-7"]}},"git_remote_update_tips":{"type":"function","file":"remote.h","line":226,"lineto":226,"args":[{"name":"remote","type":"git_remote *","comment":"the remote to update"}],"argline":"git_remote *remote","sig":"git_remote *","return":{"type":"int"},"description":"Update the tips to the new state","comments":"","group":"remote","examples":{"network/fetch.c":["ex/HEAD/fetch.html#git_remote_update_tips-8"]}},"git_remote_valid_url":{"type":"function","file":"remote.h","line":234,"lineto":234,"args":[{"name":"url","type":"const char *","comment":"the url to check"}],"argline":"const char *url","sig":"const char *","return":{"type":"int"},"description":"Return whether a string is a valid remote URL","comments":"","group":"remote"},"git_remote_supported_url":{"type":"function","file":"remote.h","line":242,"lineto":242,"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":"Return whether the passed URL is supported by this version of the library.","comments":"","group":"remote"},"git_remote_list":{"type":"function","file":"remote.h","line":253,"lineto":253,"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":"Get a list of the configured remotes for a repo","comments":"The string array must be freed by the user.\n","group":"remote"},"git_remote_add":{"type":"function","file":"remote.h","line":263,"lineto":263,"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"},"description":"Add a remote with the default fetch refspec to the repository's configuration","comments":"","group":"remote"},"git_remote_check_cert":{"type":"function","file":"remote.h","line":271,"lineto":271,"args":[{"name":"remote","type":"git_remote *","comment":"the remote to configure"},{"name":"check","type":"int","comment":"whether to check the server's certificate (defaults to yes)"}],"argline":"git_remote *remote, int check","sig":"git_remote *::int","return":{"type":"void"},"description":"Choose whether to check the server's certificate (applies to HTTPS only)","comments":"","group":"remote"},"git_remote_set_callbacks":{"type":"function","file":"remote.h","line":305,"lineto":305,"args":[{"name":"remote","type":"git_remote *","comment":"the remote to configure"},{"name":"callbacks","type":"git_remote_callbacks *","comment":"a pointer to the user's callback settings"}],"argline":"git_remote *remote, git_remote_callbacks *callbacks","sig":"git_remote *::git_remote_callbacks *","return":{"type":"void"},"description":"Set the callbacks for a remote","comments":"Note that the remote keeps its own copy of the data and you need to\ncall this function again if you want to change the callbacks.\n","group":"remote","examples":{"network/fetch.c":["ex/HEAD/fetch.html#git_remote_set_callbacks-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":"const git_oid *","comment":"one of the commits"},{"name":"two","type":"const git_oid *","comment":"the other commit"}],"argline":"git_oid *out, git_repository *repo, const git_oid *one, const git_oid *two","sig":"git_oid *::git_repository *::const git_oid *::const git_oid *","return":{"type":"int"},"description":"Find a merge base between two commits","comments":"","group":"merge"},"git_merge_base_many":{"type":"function","file":"merge.h","line":41,"lineto":41,"args":[{"name":"out","type":"git_oid *","comment":"the OID of a merge base considering all the commits"},{"name":"repo","type":"git_repository *","comment":"the repository where the commits exist"},{"name":"length","type":"size_t","comment":"The number of commits in the provided `input_array`"}],"argline":"git_oid *out, git_repository *repo, const git_oid input_array[], size_t length","sig":"git_oid *::git_repository *::size_t","return":{"type":"int"},"description":"Find a merge base given a list of commits","comments":"","group":"merge"},"git_diff_list_free":{"type":"function","file":"diff.h","line":241,"lineto":241,"args":[{"name":"diff","type":"git_diff_list *"}],"argline":"git_diff_list *diff","sig":"git_diff_list *","return":{"type":"void"},"description":"Deallocate a diff list.","comments":"","group":"diff","examples":{"diff.c":["ex/HEAD/diff.html#git_diff_list_free-4","ex/HEAD/diff.html#git_diff_list_free-5"]}},"git_diff_tree_to_tree":{"type":"function","file":"diff.h","line":254,"lineto":259,"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.\ncan be 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,\n\tconst git_diff_options *opts, \n\tgit_tree *old_tree,\n\tgit_tree *new_tree,\n\tgit_diff_list **diff","sig":"git_repository *::const git_diff_options *::git_tree *::git_tree *::git_diff_list **","return":{"type":"int"},"description":"Compute a difference between two tree objects.","comments":"This is equivalent to `git diff <treeish> <treeish>`\n","group":"diff","examples":{"diff.c":["ex/HEAD/diff.html#git_diff_tree_to_tree-6"]}},"git_diff_index_to_tree":{"type":"function","file":"diff.h","line":272,"lineto":276,"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.\ncan be 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,\n\tconst git_diff_options *opts, \n\tgit_tree *old_tree,\n\tgit_diff_list **diff","sig":"git_repository *::const git_diff_options *::git_tree *::git_diff_list **","return":{"type":"int"},"description":"Compute a difference between a tree and the index.","comments":"This is equivalent to `git diff --cached <treeish>` or if you pass\nthe HEAD tree, then like `git diff --cached`.\n","group":"diff","examples":{"diff.c":["ex/HEAD/diff.html#git_diff_index_to_tree-7","ex/HEAD/diff.html#git_diff_index_to_tree-8","ex/HEAD/diff.html#git_diff_index_to_tree-9"]}},"git_diff_workdir_to_index":{"type":"function","file":"diff.h","line":290,"lineto":293,"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.\ncan be 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,\n\tconst git_diff_options *opts, \n\tgit_diff_list **diff","sig":"git_repository *::const git_diff_options *::git_diff_list **","return":{"type":"int"},"description":"Compute a difference between the working directory and the index.","comments":"This matches the `git diff` command. See the note below on\n`git_diff_workdir_to_tree` for a discussion of the difference between\n`git diff` and `git diff HEAD` and how to emulate a `git diff <treeish>`\nusing libgit2.\n","group":"diff","examples":{"diff.c":["ex/HEAD/diff.html#git_diff_workdir_to_index-10","ex/HEAD/diff.html#git_diff_workdir_to_index-11"]}},"git_diff_workdir_to_tree":{"type":"function","file":"diff.h","line":322,"lineto":326,"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.\ncan be 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,\n\tconst git_diff_options *opts, \n\tgit_tree *old_tree,\n\tgit_diff_list **diff","sig":"git_repository *::const git_diff_options *::git_tree *::git_diff_list **","return":{"type":"int"},"description":"Compute a difference between the working directory and a tree.","comments":"This is *NOT* the same as `git diff <treeish>`. Running `git diff HEAD`\nor the like actually uses information from the index, along with the tree\nand workdir dir info.\n\nThis function returns strictly the differences between the tree and the\nfiles contained in the working directory, regardless of the state of\nfiles in the index. It may come as a surprise, but there is no direct\nequivalent in core git.\n\nTo emulate `git diff <treeish>`, you should call both\n`git_diff_index_to_tree` and `git_diff_workdir_to_index`, then call\n`git_diff_merge` on the results. That will yield a `git_diff_list` that\nmatches the git output.\n\nIf this seems confusing, take the case of a file with a staged deletion\nwhere the file has then been put back into the working dir and modified.\nThe tree-to-workdir diff for that file is 'modified', but core git would\nshow status 'deleted' since there is a pending deletion in the index.\n","group":"diff"},"git_diff_merge":{"type":"function","file":"diff.h","line":341,"lineto":343,"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,\n\tconst git_diff_list *from","sig":"git_diff_list *::const git_diff_list *","return":{"type":"int"},"description":"Merge one diff list into another.","comments":"This merges items from the \"from\" list into the \"onto\" list. The\nresulting diff list will have all items that appear in either list.\nIf an item appears in both lists, then it will be \"merged\" to appear\nas if the old version was from the \"onto\" list and the new version\nis from the \"from\" list (with the exception that if the item has a\npending DELETE in the middle, then it will show as deleted).\n","group":"diff","examples":{"diff.c":["ex/HEAD/diff.html#git_diff_merge-12"]}},"git_diff_foreach":{"type":"function","file":"diff.h","line":380,"lineto":385,"args":[{"name":"diff","type":"git_diff_list *","comment":"A git_diff_list generated by one of the above functions."},{"name":"cb_data","type":"void *","comment":"Reference pointer that will be passed to your callbacks."},{"name":"file_cb","type":"git_diff_file_fn","comment":"Callback function to make per file in the diff."},{"name":"hunk_cb","type":"git_diff_hunk_fn","comment":"Optional callback to make per hunk of text diff. This callback is called to describe a range of lines in the diff. It will not be issued for binary files."},{"name":"line_cb","type":"git_diff_data_fn","comment":"Optional callback to make per line of diff text. This same callback will be made for context lines, added, and removed lines, and even for a deleted trailing newline."}],"argline":"git_diff_list *diff,\n\tvoid *cb_data,\n\tgit_diff_file_fn file_cb,\n\tgit_diff_hunk_fn hunk_cb,\n\tgit_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":"0 on success, GIT_EUSER on non-zero callback, or error code"},"description":"Loop over all deltas in a diff list issuing callbacks.","comments":"This will iterate through all of the files described in a diff. You\nshould provide a file callback to learn about each file.\n\nThe \"hunk\" and \"line\" callbacks are optional, and the text diff of the\nfiles will only be calculated if they are not NULL. Of course, these\ncallbacks will not be invoked for binary files on the diff list or for\nfiles whose only changed is a file mode change.\n\nReturning a non-zero value from any of the callbacks will terminate\nthe iteration and cause this return `GIT_EUSER`.\n","group":"diff"},"git_diff_print_compact":{"type":"function","file":"diff.h","line":398,"lineto":401,"args":[{"name":"diff","type":"git_diff_list *","comment":"A git_diff_list generated by one of the above functions."},{"name":"cb_data","type":"void *","comment":"Reference pointer that will be passed to your callback."},{"name":"print_cb","type":"git_diff_data_fn","comment":"Callback to make per line of diff text."}],"argline":"git_diff_list *diff,\n\tvoid *cb_data,\n\tgit_diff_data_fn print_cb","sig":"git_diff_list *::void *::git_diff_data_fn","return":{"type":"int","comment":"0 on success, GIT_EUSER on non-zero callback, or error code"},"description":"Iterate over a diff generating text output like \"git diff --name-status\".","comments":"Returning a non-zero value from the callbacks will terminate the\niteration and cause this return `GIT_EUSER`.\n","group":"diff","examples":{"diff.c":["ex/HEAD/diff.html#git_diff_print_compact-13"]}},"git_diff_status_char":{"type":"function","file":"diff.h","line":415,"lineto":415,"args":[{"name":"status","type":"git_delta_t"}],"argline":"git_delta_t status","sig":"git_delta_t","return":{"type":"char","comment":"The single character label for that code"},"description":"Look up the single character abbreviation for a delta status code.","comments":"When you call `git_diff_print_compact` it prints single letter codes into\nthe output such as 'A' for added, 'D' for deleted, 'M' for modified, etc.\nIt is sometimes convenient to convert a git_delta_t value into these\nletters for your own purposes. This function does just that. By the\nway, unmodified will return a space (i.e. ' ').\n","group":"diff"},"git_diff_print_patch":{"type":"function","file":"diff.h","line":434,"lineto":437,"args":[{"name":"diff","type":"git_diff_list *","comment":"A git_diff_list generated by one of the above functions."},{"name":"cb_data","type":"void *","comment":"Reference pointer that will be passed to your callbacks."},{"name":"print_cb","type":"git_diff_data_fn","comment":"Callback function to output lines of the diff. This same function will be called for file headers, hunk headers, and diff lines. Fortunately, you can probably use various GIT_DIFF_LINE constants to determine what text you are given."}],"argline":"git_diff_list *diff,\n\tvoid *cb_data,\n\tgit_diff_data_fn print_cb","sig":"git_diff_list *::void *::git_diff_data_fn","return":{"type":"int","comment":"0 on success, GIT_EUSER on non-zero callback, or error code"},"description":"Iterate over a diff generating text output like \"git diff\".","comments":"This is a super easy way to generate a patch from a diff.\n\nReturning a non-zero value from the callbacks will terminate the\niteration and cause this return `GIT_EUSER`.\n","group":"diff","examples":{"diff.c":["ex/HEAD/diff.html#git_diff_print_patch-14"]}},"git_diff_num_deltas":{"type":"function","file":"diff.h","line":445,"lineto":445,"args":[{"name":"diff","type":"git_diff_list *","comment":"A git_diff_list generated by one of the above functions"}],"argline":"git_diff_list *diff","sig":"git_diff_list *","return":{"type":"size_t","comment":"Count of number of deltas in the list"},"description":"Query how many diff records are there in a diff list.","comments":"","group":"diff"},"git_diff_num_deltas_of_type":{"type":"function","file":"diff.h","line":458,"lineto":460,"args":[{"name":"diff","type":"git_diff_list *","comment":"A git_diff_list generated by one of the above functions"},{"name":"type","type":"git_delta_t","comment":"A git_delta_t value to filter the count"}],"argline":"git_diff_list *diff,\n\tgit_delta_t type","sig":"git_diff_list *::git_delta_t","return":{"type":"size_t","comment":"Count of number of deltas matching delta_t type"},"description":"Query how many diff deltas are there in a diff list filtered by type.","comments":"This works just like `git_diff_entrycount()` with an extra parameter\nthat is a `git_delta_t` and returns just the count of how many deltas\nmatch that particular type.\n","group":"diff"},"git_diff_get_patch":{"type":"function","file":"diff.h","line":487,"lineto":491,"args":[{"name":"patch","type":"git_diff_patch **","comment":"Output parameter for the delta patch object"},{"name":"delta","type":"const git_diff_delta **","comment":"Output parameter for the delta object"},{"name":"diff","type":"git_diff_list *","comment":"Diff list object"},{"name":"idx","type":"size_t","comment":"Index into diff list"}],"argline":"git_diff_patch **patch,\n\tconst git_diff_delta **delta,\n\tgit_diff_list *diff,\n\tsize_t idx","sig":"git_diff_patch **::const git_diff_delta **::git_diff_list *::size_t","return":{"type":"int","comment":"0 on success, other value < 0 on error"},"description":"Return the diff delta and patch for an entry in the diff list.","comments":"The `git_diff_patch` is a newly created object contains the text diffs\nfor the delta. You have to call `git_diff_patch_free()` when you are\ndone with it. You can use the patch object to loop over all the hunks\nand lines in the diff of the one delta.\n\nFor an unchanged file or a binary file, no `git_diff_patch` will be\ncreated, the output will be set to NULL, and the `binary` flag will be\nset true in the `git_diff_delta` structure.\n\nThe `git_diff_delta` pointer points to internal data and you do not have\nto release it when you are done with it. It will go away when the\n`git_diff_list` and `git_diff_patch` go away.\n\nIt is okay to pass NULL for either of the output parameters; if you pass\nNULL for the `git_diff_patch`, then the text diff will not be calculated.\n","group":"diff"},"git_diff_patch_free":{"type":"function","file":"diff.h","line":496,"lineto":497,"args":[{"name":"patch","type":"git_diff_patch *"}],"argline":"git_diff_patch *patch","sig":"git_diff_patch *","return":{"type":"void"},"description":"Free a git_diff_patch object.","comments":"","group":"diff"},"git_diff_patch_delta":{"type":"function","file":"diff.h","line":502,"lineto":503,"args":[{"name":"patch","type":"git_diff_patch *"}],"argline":"git_diff_patch *patch","sig":"git_diff_patch *","return":{"type":"const git_diff_delta *"},"description":"Get the delta associated with a patch","comments":"","group":"diff"},"git_diff_patch_num_hunks":{"type":"function","file":"diff.h","line":508,"lineto":509,"args":[{"name":"patch","type":"git_diff_patch *"}],"argline":"git_diff_patch *patch","sig":"git_diff_patch *","return":{"type":"size_t"},"description":"Get the number of hunks in a patch","comments":"","group":"diff"},"git_diff_patch_get_hunk":{"type":"function","file":"diff.h","line":527,"lineto":533,"args":[{"name":"range","type":"const git_diff_range **","comment":"Output pointer to git_diff_range of hunk"},{"name":"header","type":"const char **","comment":"Output pointer to header string for hunk. Unlike the content pointer for each line, this will be NUL-terminated"},{"name":"header_len","type":"size_t *","comment":"Output value of characters in header string"},{"name":"lines_in_hunk","type":"size_t *","comment":"Output count of total lines in this hunk"},{"name":"patch","type":"git_diff_patch *","comment":"Input pointer to patch object"},{"name":"hunk_idx","type":"size_t","comment":"Input index of hunk to get information about"}],"argline":"const git_diff_range **range,\n\tconst char **header,\n\tsize_t *header_len,\n\tsize_t *lines_in_hunk,\n\tgit_diff_patch *patch,\n\tsize_t hunk_idx","sig":"const git_diff_range **::const char **::size_t *::size_t *::git_diff_patch *::size_t","return":{"type":"int","comment":"0 on success, GIT_ENOTFOUND if hunk_idx out of range, <0 on error"},"description":"Get the information about a hunk in a patch","comments":"Given a patch and a hunk index into the patch, this returns detailed\ninformation about that hunk. Any of the output pointers can be passed\nas NULL if you don't care about that particular piece of information.\n","group":"diff"},"git_diff_patch_num_lines_in_hunk":{"type":"function","file":"diff.h","line":542,"lineto":544,"args":[{"name":"patch","type":"git_diff_patch *","comment":"The git_diff_patch object"},{"name":"hunk_idx","type":"size_t","comment":"Index of the hunk"}],"argline":"git_diff_patch *patch,\n\tsize_t hunk_idx","sig":"git_diff_patch *::size_t","return":{"type":"int","comment":"Number of lines in hunk or -1 if invalid hunk index"},"description":"Get the number of lines in a hunk.","comments":"","group":"diff"},"git_diff_patch_get_line_in_hunk":{"type":"function","file":"diff.h","line":564,"lineto":572,"args":[{"name":"line_origin","type":"char *","comment":"A GIT_DIFF_LINE constant from above"},{"name":"content","type":"const char **","comment":"Pointer to content of diff line, not NUL-terminated"},{"name":"content_len","type":"size_t *","comment":"Number of characters in content"},{"name":"old_lineno","type":"int *","comment":"Line number in old file or -1 if line is added"},{"name":"new_lineno","type":"int *","comment":"Line number in new file or -1 if line is deleted"},{"name":"patch","type":"git_diff_patch *","comment":"The patch to look in"},{"name":"hunk_idx","type":"size_t","comment":"The index of the hunk"},{"name":"line_of_hunk","type":"size_t"}],"argline":"char *line_origin,\n\tconst char **content,\n\tsize_t *content_len,\n\tint *old_lineno,\n\tint *new_lineno,\n\tgit_diff_patch *patch,\n\tsize_t hunk_idx,\n\tsize_t line_of_hunk","sig":"char *::const char **::size_t *::int *::int *::git_diff_patch *::size_t::size_t","return":{"type":"int","comment":"0 on success, <0 on failure"},"description":"Get data about a line in a hunk of a patch.","comments":"Given a patch, a hunk index, and a line index in the hunk, this\nwill return a lot of details about that line. If you pass a hunk\nindex larger than the number of hunks or a line index larger than\nthe number of lines in the hunk, this will return -1.\n","group":"diff"},"git_diff_blobs":{"type":"function","file":"diff.h","line":595,"lineto":604,"args":[{"name":"old_blob","type":"git_blob *"},{"name":"new_blob","type":"git_blob *"},{"name":"options","type":"const git_diff_options *"},{"name":"cb_data","type":"void *"},{"name":"file_cb","type":"git_diff_file_fn"},{"name":"hunk_cb","type":"git_diff_hunk_fn"},{"name":"line_cb","type":"git_diff_data_fn"}],"argline":"git_blob *old_blob,\n\tgit_blob *new_blob,\n\tconst git_diff_options *options,\n\tvoid *cb_data,\n\tgit_diff_file_fn file_cb,\n\tgit_diff_hunk_fn hunk_cb,\n\tgit_diff_data_fn line_cb","sig":"git_blob *::git_blob *::const git_diff_options *::void *::git_diff_file_fn::git_diff_hunk_fn::git_diff_data_fn","return":{"type":"int","comment":"0 on success, GIT_EUSER on non-zero callback, or error code"},"description":"Directly run a text diff on two blobs.","comments":"Compared to a file, a blob lacks some contextual information. As such,\nthe `git_diff_file` parameters of the callbacks will be filled\naccordingly to the following: `mode` will be set to 0, `path` will be set\nto NULL. When dealing with a NULL blob, `oid` will be set to 0.\n\nWhen at least one of the blobs being dealt with is binary, the\n`git_diff_delta` binary attribute will be set to 1 and no call to the\nhunk_cb nor line_cb will be made.\n","group":"diff"},"git_checkout_head":{"type":"function","file":"checkout.h","line":70,"lineto":73,"args":[{"name":"repo","type":"git_repository *","comment":"repository to check out (must be non-bare)"},{"name":"opts","type":"git_checkout_opts *","comment":"specifies checkout options (may be NULL)"},{"name":"stats","type":"git_indexer_stats *","comment":"structure through which progress information is reported"}],"argline":"git_repository *repo,\n\tgit_checkout_opts *opts,\n\tgit_indexer_stats *stats","sig":"git_repository *::git_checkout_opts *::git_indexer_stats *","return":{"type":"int","comment":"0 on success, GIT_ERROR otherwise (use giterr_last for information about the error)"},"description":"Updates files in the index and the working tree to match the content of the\ncommit pointed at by HEAD.","comments":"","group":"checkout"},"git_checkout_index":{"type":"function","file":"checkout.h","line":84,"lineto":87,"args":[{"name":"repo","type":"git_repository *","comment":"repository to check out (must be non-bare)"},{"name":"opts","type":"git_checkout_opts *","comment":"specifies checkout options (may be NULL)"},{"name":"stats","type":"git_indexer_stats *","comment":"structure through which progress information is reported"}],"argline":"git_repository *repo,\n\tgit_checkout_opts *opts,\n\tgit_indexer_stats *stats","sig":"git_repository *::git_checkout_opts *::git_indexer_stats *","return":{"type":"int","comment":"0 on success, GIT_ERROR otherwise (use giterr_last for information about the error)"},"description":"Updates files in the working tree to match the content of the index.","comments":"","group":"checkout"},"git_checkout_tree":{"type":"function","file":"checkout.h","line":101,"lineto":105,"args":[{"name":"repo","type":"git_repository *","comment":"repository to check out (must be non-bare)"},{"name":"treeish","type":"git_object *","comment":"a commit, tag or tree which content will be used to update the working directory"},{"name":"opts","type":"git_checkout_opts *","comment":"specifies checkout options (may be NULL)"},{"name":"stats","type":"git_indexer_stats *","comment":"structure through which progress information is reported"}],"argline":"git_repository *repo,\n\tgit_object *treeish,\n\tgit_checkout_opts *opts,\n\tgit_indexer_stats *stats","sig":"git_repository *::git_object *::git_checkout_opts *::git_indexer_stats *","return":{"type":"int","comment":"0 on success, GIT_ERROR otherwise (use giterr_last for information about the error)"},"description":"Updates files in the index and working tree to match the content of the\ntree pointed at by the treeish.","comments":"","group":"checkout"},"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":"Lookup a tree object from the repository.","comments":"","group":"tree","examples":{"general.c":["ex/HEAD/general.html#git_tree_lookup-41","ex/HEAD/general.html#git_tree_lookup-42"]}},"git_tree_lookup_prefix":{"type":"function","file":"tree.h","line":49,"lineto":56,"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":"size_t","comment":"the length of the short identifier"}],"argline":"git_tree **tree,\n\tgit_repository *repo,\n\tconst git_oid *id,\n\tsize_t len","sig":"git_tree **::git_repository *::const git_oid *::size_t","return":{"type":"int","comment":"0 or an error code"},"description":"Lookup a tree object from the repository,\ngiven a prefix of its identifier (short id).","comments":"@see git_object_lookup_prefix\n","group":"tree"},"git_tree_free":{"type":"function","file":"tree.h","line":69,"lineto":72,"args":[{"name":"tree","type":"git_tree *","comment":"the tree to close"}],"argline":"git_tree *tree","sig":"git_tree *","return":{"type":"void"},"description":"Close an open tree","comments":"This is a wrapper around git_object_free()\n\nIMPORTANT:\nIt *is* necessary to call this method when you stop\nusing a tree. Failure to do so will cause a memory leak.\n","group":"tree","examples":{"diff.c":["ex/HEAD/diff.html#git_tree_free-15","ex/HEAD/diff.html#git_tree_free-16"]}},"git_tree_entry_free":{"type":"function","file":"tree.h","line":83,"lineto":83,"args":[{"name":"entry","type":"git_tree_entry *","comment":"The entry to free"}],"argline":"git_tree_entry *entry","sig":"git_tree_entry *","return":{"type":"void"},"description":"Free a tree entry","comments":"IMPORTANT: This function is only needed for tree\nentries owned by the user, such as the ones returned\nby `git_tree_entry_dup`.\n","group":"tree"},"git_tree_entry_dup":{"type":"function","file":"tree.h","line":95,"lineto":95,"args":[{"name":"entry","type":"const git_tree_entry *","comment":"A tree entry to duplicate"}],"argline":"const git_tree_entry *entry","sig":"const git_tree_entry *","return":{"type":"git_tree_entry *","comment":"a copy of the original entry"},"description":"Duplicate a tree entry","comments":"Create a copy of a tree entry. The returned copy is owned\nby the user, and must be freed manually with\n`git_tree_entry_free`.\n","group":"tree"},"git_tree_id":{"type":"function","file":"tree.h","line":103,"lineto":103,"args":[{"name":"tree","type":"git_tree *","comment":"a previously loaded tree."}],"argline":"git_tree *tree","sig":"git_tree *","return":{"type":"const git_oid *","comment":"object identity for the tree."},"description":"Get the id of a tree.","comments":"","group":"tree"},"git_tree_entrycount":{"type":"function","file":"tree.h","line":111,"lineto":111,"args":[{"name":"tree","type":"git_tree *","comment":"a previously loaded tree."}],"argline":"git_tree *tree","sig":"git_tree *","return":{"type":"unsigned int","comment":"the number of entries in the tree"},"description":"Get the number of entries listed in a tree","comments":"","group":"tree","examples":{"general.c":["ex/HEAD/general.html#git_tree_entrycount-43"]}},"git_tree_entry_byname":{"type":"function","file":"tree.h","line":120,"lineto":120,"args":[{"name":"tree","type":"git_tree *","comment":"a previously loaded tree."},{"name":"filename","type":"const char *","comment":"the filename of the desired entry"}],"argline":"git_tree *tree, const char *filename","sig":"git_tree *::const char *","return":{"type":"const git_tree_entry *","comment":"the tree entry; NULL if not found"},"description":"Lookup a tree entry by its filename","comments":"","group":"tree","examples":{"general.c":["ex/HEAD/general.html#git_tree_entry_byname-44"]}},"git_tree_entry_byindex":{"type":"function","file":"tree.h","line":129,"lineto":129,"args":[{"name":"tree","type":"git_tree *","comment":"a previously loaded tree."},{"name":"idx","type":"size_t","comment":"the position in the entry list"}],"argline":"git_tree *tree, size_t idx","sig":"git_tree *::size_t","return":{"type":"const git_tree_entry *","comment":"the tree entry; NULL if not found"},"description":"Lookup a tree entry by its position in the tree","comments":"","group":"tree","examples":{"general.c":["ex/HEAD/general.html#git_tree_entry_byindex-45"]}},"git_tree_entry_byoid":{"type":"function","file":"tree.h","line":140,"lineto":140,"args":[{"name":"tree","type":"git_tree *","comment":"a previously loaded tree."},{"name":"oid","type":"const git_oid *","comment":"the sha being looked for"}],"argline":"git_tree *tree, const git_oid *oid","sig":"git_tree *::const git_oid *","return":{"type":"const git_tree_entry *","comment":"the tree entry; NULL if not found"},"description":"Lookup a tree entry by SHA value.","comments":"Warning: this must examine every entry in the tree, so it is not fast.\n","group":"tree"},"git_tree_entry_filemode":{"type":"function","file":"tree.h","line":148,"lineto":148,"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_filemode_t","comment":"filemode as an integer"},"description":"Get the UNIX file attributes of a tree entry","comments":"","group":"tree"},"git_tree_entry_name":{"type":"function","file":"tree.h","line":156,"lineto":156,"args":[{"name":"entry","type":"const git_tree_entry *","comment":"a tree entry"}],"argline":"const git_tree_entry *entry","sig":"const git_tree_entry *","return":{"type":"const char *","comment":"the name of the file"},"description":"Get the filename of a tree entry","comments":"","group":"tree","examples":{"general.c":["ex/HEAD/general.html#git_tree_entry_name-46","ex/HEAD/general.html#git_tree_entry_name-47"]}},"git_tree_entry_id":{"type":"function","file":"tree.h","line":164,"lineto":164,"args":[{"name":"entry","type":"const git_tree_entry *","comment":"a tree entry"}],"argline":"const git_tree_entry *entry","sig":"const git_tree_entry *","return":{"type":"const git_oid *","comment":"the oid of the object"},"description":"Get the id of the object pointed by the entry","comments":"","group":"tree"},"git_tree_entry_type":{"type":"function","file":"tree.h","line":172,"lineto":172,"args":[{"name":"entry","type":"const git_tree_entry *","comment":"a tree entry"}],"argline":"const git_tree_entry *entry","sig":"const git_tree_entry *","return":{"type":"git_otype","comment":"the type of the pointed object"},"description":"Get the type of the object pointed by the entry","comments":"","group":"tree"},"git_tree_entry_to_object":{"type":"function","file":"tree.h","line":182,"lineto":185,"args":[{"name":"object_out","type":"git_object **"},{"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,\n\tgit_repository *repo,\n\tconst git_tree_entry *entry","sig":"git_object **::git_repository *::const git_tree_entry *","return":{"type":"int","comment":"0 or an error code"},"description":"Convert a tree entry to the git_object it points too.","comments":"","group":"tree","examples":{"general.c":["ex/HEAD/general.html#git_tree_entry_to_object-48"]}},"git_tree_create_fromindex":{"type":"function","file":"tree.h","line":203,"lineto":203,"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":"Write a tree to the ODB from the index file","comments":"This method will scan the index and write a representation\nof its current state back to disk; it recursively creates\ntree objects for each of the subtrees stored in the index,\nbut only returns the OID of the root tree. This is the OID\nthat can be used e.g. to create a commit.\n\nThe index instance cannot be bare, and needs to be associated\nto an existing repository.\n","group":"tree"},"git_treebuilder_create":{"type":"function","file":"tree.h","line":222,"lineto":222,"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 success; error code otherwise"},"description":"Create a new tree builder.","comments":"The tree builder can be used to create or modify\ntrees in memory and write them as tree objects to the\ndatabase.\n\nIf the `source` parameter is not NULL, the tree builder\nwill be initialized with the entries of the given tree.\n\nIf the `source` parameter is NULL, the tree builder will\nhave no entries and will have to be filled manually.\n","group":"treebuilder"},"git_treebuilder_clear":{"type":"function","file":"tree.h","line":229,"lineto":229,"args":[{"name":"bld","type":"git_treebuilder *","comment":"Builder to clear"}],"argline":"git_treebuilder *bld","sig":"git_treebuilder *","return":{"type":"void"},"description":"Clear all the entires in the builder","comments":"","group":"treebuilder"},"git_treebuilder_free":{"type":"function","file":"tree.h","line":240,"lineto":240,"args":[{"name":"bld","type":"git_treebuilder *","comment":"Builder to free"}],"argline":"git_treebuilder *bld","sig":"git_treebuilder *","return":{"type":"void"},"description":"Free a tree builder","comments":"This will clear all the entries and free to builder.\nFailing to free the builder after you're done using it\nwill result in a memory leak\n","group":"treebuilder"},"git_treebuilder_get":{"type":"function","file":"tree.h","line":252,"lineto":252,"args":[{"name":"bld","type":"git_treebuilder *","comment":"Tree builder"},{"name":"filename","type":"const char *","comment":"Name of the entry"}],"argline":"git_treebuilder *bld, const char *filename","sig":"git_treebuilder *::const char *","return":{"type":"const git_tree_entry *","comment":"pointer to the entry; NULL if not found"},"description":"Get an entry from the builder from its filename","comments":"The returned entry is owned by the builder and should\nnot be freed manually.\n","group":"treebuilder"},"git_treebuilder_insert":{"type":"function","file":"tree.h","line":279,"lineto":284,"args":[{"name":"entry_out","type":"const 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":"filemode","type":"git_filemode_t","comment":"Folder attributes of the entry. This parameter must be valued with one of the following entries: 0040000, 0100644, 0100755, 0120000 or 0160000."}],"argline":"const git_tree_entry **entry_out,\n\tgit_treebuilder *bld,\n\tconst char *filename,\n\tconst git_oid *id,\n\tgit_filemode_t filemode","sig":"const git_tree_entry **::git_treebuilder *::const char *::const git_oid *::git_filemode_t","return":{"type":"int","comment":"0 or an error code"},"description":"Add or update an entry to the builder","comments":"Insert a new entry for `filename` in the builder with the\ngiven attributes.\n\nif an entry named `filename` already exists, its attributes\nwill be updated with the given ones.\n\nThe optional pointer `entry_out` can be used to retrieve a\npointer to the newly created/updated entry.\n\nNo attempt is being made to ensure that the provided oid points\nto an existing git object in the object database, nor that the\nattributes make sense regarding the type of the pointed at object.\n","group":"treebuilder"},"git_treebuilder_remove":{"type":"function","file":"tree.h","line":292,"lineto":292,"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"},"description":"Remove an entry from the builder by its filename","comments":"","group":"treebuilder"},"git_treebuilder_filter":{"type":"function","file":"tree.h","line":305,"lineto":308,"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 *"}],"argline":"git_treebuilder *bld,\n\tint (*filter)(const git_tree_entry *, void *),\n\tvoid *payload","sig":"git_treebuilder *::int (*)(const git_tree_entry *, void *)::void *","return":{"type":"void"},"description":"Filter the entries in the tree","comments":"The `filter` callback will be called for each entry\nin the tree with a pointer to the entry and the\nprovided `payload`: if the callback returns 1, the\nentry will be filtered (removed from the builder).\n","group":"treebuilder"},"git_treebuilder_write":{"type":"function","file":"tree.h","line":322,"lineto":322,"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":"Write the contents of the tree builder as a tree object","comments":"The tree builder will be written to the given `repo`, and\nit's identifying SHA1 hash will be stored in the `oid`\npointer.\n","group":"treebuilder"},"git_tree_entry_bypath":{"type":"function","file":"tree.h","line":336,"lineto":339,"args":[{"name":"entry","type":"git_tree_entry **","comment":"Pointer where to store the tree entry"},{"name":"root","type":"git_tree *","comment":"A previously loaded tree which will be the root of the relative path"},{"name":"path","type":"const char *"}],"argline":"git_tree_entry **entry,\n\tgit_tree *root,\n\tconst char *path","sig":"git_tree_entry **::git_tree *::const char *","return":{"type":"int","comment":"0 on success; GIT_ENOTFOUND if the path does not exist"},"description":"Retrieve a tree entry contained in a tree or in any\nof its subtrees, given its relative path.","comments":"The returned tree entry is owned by the user and must\nbe freed manually with `git_tree_entry_free`.\n","group":"tree"},"git_tree_walk":{"type":"function","file":"tree.h","line":370,"lineto":370,"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":"Traverse the entries in a tree and its subtrees in\npost or pre order","comments":"The entries will be traversed in the specified order,\nchildren subtrees will be automatically loaded as required,\nand the `callback` will be called once per entry with\nthe current (relative) root for the entry and the entry\ndata itself.\n\nIf the callback returns a positive value, the passed entry will be\nskipped on the traversal (in pre mode). A negative value stops the\nwalk.\n","group":"tree"},"git_submodule_lookup":{"type":"function","file":"submodule.h","line":154,"lineto":157,"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,\n\tgit_repository *repo,\n\tconst char *name","sig":"git_submodule **::git_repository *::const char *","return":{"type":"int","comment":"0 on success, GIT_ENOTFOUND if submodule does not exist, GIT_EEXISTS if submodule exists in working directory only, -1 on other errors."},"description":"Lookup submodule information by name or path.","comments":"Given either the submodule name or path (they are usually the same), this\nreturns a structure describing the submodule.\n\nThere are two expected error scenarios:\n\n- The submodule is not mentioned in the HEAD, the index, and the config,\n but does \"exist\" in the working directory (i.e. there is a subdirectory\n that is a valid self-contained git repo). In this case, this function\n returns GIT_EEXISTS to indicate the the submodule exists but not in a\n state where a git_submodule can be instantiated.\n- The submodule is not mentioned in the HEAD, index, or config and the\n working directory doesn't contain a value git repo at that path.\n There may or may not be anything else at that path, but nothing that\n looks like a submodule. In this case, this returns GIT_ENOTFOUND.\n\nThe submodule object is owned by the containing repo and will be freed\nwhen the repo is freed. The caller need not free the submodule.\n","group":"submodule"},"git_submodule_foreach":{"type":"function","file":"submodule.h","line":177,"lineto":180,"args":[{"name":"repo","type":"git_repository *","comment":"The repository"},{"name":"callback","type":"int (*)(git_submodule *sm, const char *name, void *payload)","comment":"Function to be called with the name of each submodule. Return a non-zero value to terminate the iteration."},{"name":"payload","type":"void *","comment":"Extra data to pass to callback"}],"argline":"git_repository *repo,\n\tint (*callback)(git_submodule *sm, const char *name, void *payload),\n\tvoid *payload","sig":"git_repository *::int (*)(git_submodule *sm, const char *name, void *payload)::void *","return":{"type":"int","comment":"0 on success, -1 on error, or non-zero return value of callback"},"description":"Iterate over all tracked submodules of a repository.","comments":"See the note on `git_submodule` above. This iterates over the tracked\nsubmodules as decribed therein.\n\nIf you are concerned about items in the working directory that look like\nsubmodules but are not tracked, the diff API will generate a diff record\nfor workdir items that look like submodules but are not tracked, showing\nthem as added in the workdir. Also, the status API will treat the entire\nsubdirectory of a contained git repo as a single GIT_STATUS_WT_NEW item.\n","group":"submodule"},"git_submodule_add_setup":{"type":"function","file":"submodule.h","line":205,"lineto":210,"args":[{"name":"submodule","type":"git_submodule **","comment":"The newly created submodule ready to open for clone"},{"name":"repo","type":"git_repository *","comment":"Superproject repository to contain the new submodule"},{"name":"url","type":"const char *","comment":"URL for the submodules remote"},{"name":"path","type":"const char *","comment":"Path at which the submodule should be created"},{"name":"use_gitlink","type":"int","comment":"Should workdir contain a gitlink to the repo in .git/modules vs. repo directly in workdir."}],"argline":"git_submodule **submodule,\n\tgit_repository *repo,\n\tconst char *url,\n\tconst char *path,\n\tint use_gitlink","sig":"git_submodule **::git_repository *::const char *::const char *::int","return":{"type":"int","comment":"0 on success, GIT_EEXISTS if submodule already exists, -1 on other errors."},"description":"Set up a new git submodule for checkout.","comments":"This does \"git submodule add\" up to the fetch and checkout of the\nsubmodule contents. It preps a new submodule, creates an entry in\n.gitmodules and creates an empty initialized repository either at the\ngiven path in the working directory or in .git/modules with a gitlink\nfrom the working directory to the new repo.\n\nTo fully emulate \"git submodule add\" call this function, then open the\nsubmodule repo and perform the clone step as needed. Lastly, call\n`git_submodule_add_finalize()` to wrap up adding the new submodule and\n.gitmodules to the index to be ready to commit.\n","group":"submodule"},"git_submodule_add_finalize":{"type":"function","file":"submodule.h","line":222,"lineto":222,"args":[{"name":"submodule","type":"git_submodule *","comment":"The submodule to finish adding."}],"argline":"git_submodule *submodule","sig":"git_submodule *","return":{"type":"int"},"description":"Resolve the setup of a new git submodule.","comments":"This should be called on a submodule once you have called add setup\nand done the clone of the submodule. This adds the .gitmodules file\nand the newly cloned submodule to the index to be ready to be committed\n(but doesn't actually do the commit).\n","group":"submodule"},"git_submodule_add_to_index":{"type":"function","file":"submodule.h","line":234,"lineto":236,"args":[{"name":"submodule","type":"git_submodule *","comment":"The submodule to add to the index"},{"name":"write_index","type":"int","comment":"Boolean if this should immediately write the index file. If you pass this as false, you will have to get the git_index and explicitly call `git_index_write()` on it to save the change."}],"argline":"git_submodule *submodule,\n\tint write_index","sig":"git_submodule *::int","return":{"type":"int","comment":"0 on success, <0 on failure"},"description":"Add current submodule HEAD commit to index of superproject.","comments":"","group":"submodule"},"git_submodule_save":{"type":"function","file":"submodule.h","line":250,"lineto":250,"args":[{"name":"submodule","type":"git_submodule *","comment":"The submodule to write."}],"argline":"git_submodule *submodule","sig":"git_submodule *","return":{"type":"int","comment":"0 on success, <0 on failure."},"description":"Write submodule settings to .gitmodules file.","comments":"This commits any in-memory changes to the submodule to the gitmodules\nfile on disk. You may also be interested in `git_submodule_init()` which\nwrites submodule info to \".git/config\" (which is better for local changes\nto submodule settings) and/or `git_submodule_sync()` which writes\nsettings about remotes to the actual submodule repository.\n","group":"submodule"},"git_submodule_owner":{"type":"function","file":"submodule.h","line":263,"lineto":263,"args":[{"name":"submodule","type":"git_submodule *","comment":"Pointer to submodule object"}],"argline":"git_submodule *submodule","sig":"git_submodule *","return":{"type":"git_repository *","comment":"Pointer to `git_repository`"},"description":"Get the containing repository for a submodule.","comments":"This returns a pointer to the repository that contains the submodule.\nThis is a just a reference to the repository that was passed to the\noriginal `git_submodule_lookup()` call, so if that repository has been\nfreed, then this may be a dangling reference.\n","group":"submodule"},"git_submodule_name":{"type":"function","file":"submodule.h","line":271,"lineto":271,"args":[{"name":"submodule","type":"git_submodule *","comment":"Pointer to submodule object"}],"argline":"git_submodule *submodule","sig":"git_submodule *","return":{"type":"const char *","comment":"Pointer to the submodule name"},"description":"Get the name of submodule.","comments":"","group":"submodule"},"git_submodule_path":{"type":"function","file":"submodule.h","line":282,"lineto":282,"args":[{"name":"submodule","type":"git_submodule *","comment":"Pointer to submodule object"}],"argline":"git_submodule *submodule","sig":"git_submodule *","return":{"type":"const char *","comment":"Pointer to the submodule path"},"description":"Get the path to the submodule.","comments":"The path is almost always the same as the submodule name, but the\ntwo are actually not required to match.\n","group":"submodule"},"git_submodule_url":{"type":"function","file":"submodule.h","line":290,"lineto":290,"args":[{"name":"submodule","type":"git_submodule *","comment":"Pointer to submodule object"}],"argline":"git_submodule *submodule","sig":"git_submodule *","return":{"type":"const char *","comment":"Pointer to the submodule url"},"description":"Get the URL for the submodule.","comments":"","group":"submodule"},"git_submodule_set_url":{"type":"function","file":"submodule.h","line":306,"lineto":306,"args":[{"name":"submodule","type":"git_submodule *","comment":"Pointer to the submodule object"},{"name":"url","type":"const char *","comment":"URL that should be used for the submodule"}],"argline":"git_submodule *submodule, const char *url","sig":"git_submodule *::const char *","return":{"type":"int","comment":"0 on success, <0 on failure"},"description":"Set the URL for the submodule.","comments":"This sets the URL in memory for the submodule. This will be used for\nany following submodule actions while this submodule data is in memory.\n\nAfter calling this, you may wish to call `git_submodule_save()` to write\nthe changes back to the \".gitmodules\" file and `git_submodule_sync()` to\nwrite the changes to the checked out submodule repository.\n","group":"submodule"},"git_submodule_index_oid":{"type":"function","file":"submodule.h","line":314,"lineto":314,"args":[{"name":"submodule","type":"git_submodule *","comment":"Pointer to submodule object"}],"argline":"git_submodule *submodule","sig":"git_submodule *","return":{"type":"const git_oid *","comment":"Pointer to git_oid or NULL if submodule is not in index."},"description":"Get the OID for the submodule in the index.","comments":"","group":"submodule"},"git_submodule_head_oid":{"type":"function","file":"submodule.h","line":322,"lineto":322,"args":[{"name":"submodule","type":"git_submodule *","comment":"Pointer to submodule object"}],"argline":"git_submodule *submodule","sig":"git_submodule *","return":{"type":"const git_oid *","comment":"Pointer to git_oid or NULL if submodule is not in the HEAD."},"description":"Get the OID for the submodule in the current HEAD tree.","comments":"","group":"submodule"},"git_submodule_wd_oid":{"type":"function","file":"submodule.h","line":335,"lineto":335,"args":[{"name":"submodule","type":"git_submodule *","comment":"Pointer to submodule object"}],"argline":"git_submodule *submodule","sig":"git_submodule *","return":{"type":"const git_oid *","comment":"Pointer to git_oid or NULL if submodule is not checked out."},"description":"Get the OID for the submodule in the current working directory.","comments":"This returns the OID that corresponds to looking up 'HEAD' in the checked\nout submodule. If there are pending changes in the index or anything\nelse, this won't notice that. You should call `git_submodule_status()`\nfor a more complete picture about the state of the working directory.\n","group":"submodule"},"git_submodule_ignore":{"type":"function","file":"submodule.h","line":355,"lineto":356,"args":[],"argline":"_t) git_submodule_ignore(\n\tgit_submodule *submodule)","sig":"","return":{"type":"GIT_EXTERN("},"description":"Get the ignore rule for the submodule.","comments":"There are four ignore values:\n\n - **GIT_SUBMODULE_IGNORE_NONE** will consider any change to the contents\n of the submodule from a clean checkout to be dirty, including the\n addition of untracked files. This is the default if unspecified.\n - **GIT_SUBMODULE_IGNORE_UNTRACKED** examines the contents of the\n working tree (i.e. call `git_status_foreach()` on the submodule) but\n UNTRACKED files will not count as making the submodule dirty.\n - **GIT_SUBMODULE_IGNORE_DIRTY** means to only check if the HEAD of the\n submodule has moved for status. This is fast since it does not need to\n scan the working tree of the submodule at all.\n - **GIT_SUBMODULE_IGNORE_ALL** means not to open the submodule repo.\n The working directory will be consider clean so long as there is a\n checked out version present.","group":"submodule"},"git_submodule_set_ignore":{"type":"function","file":"submodule.h","line":372,"lineto":374,"args":[{"name":"submodule","type":"git_submodule *"},{"name":"ignore","type":"git_submodule_ignore_t"}],"argline":"git_submodule *submodule,\n\tgit_submodule_ignore_t ignore","sig":"git_submodule *::git_submodule_ignore_t","return":{"type":"git_submodule_ignore_t","comment":"old value for ignore"},"description":"Set the ignore rule for the submodule.","comments":"This sets the ignore rule in memory for the submodule. This will be used\nfor any following actions (such as `git_submodule_status()`) while the\nsubmodule is in memory. You should call `git_submodule_save()` if you\nwant to persist the new ignore role.\n\nCalling this again with GIT_SUBMODULE_IGNORE_DEFAULT or calling\n`git_submodule_reload()` will revert the rule to the value that was in the\noriginal config.\n","group":"submodule"},"git_submodule_update":{"type":"function","file":"submodule.h","line":379,"lineto":380,"args":[],"argline":"_t) git_submodule_update(\n\tgit_submodule *submodule)","sig":"","return":{"type":"GIT_EXTERN("},"description":"Get the update rule for the submodule.","comments":"","group":"submodule"},"git_submodule_set_update":{"type":"function","file":"submodule.h","line":394,"lineto":396,"args":[{"name":"submodule","type":"git_submodule *"},{"name":"update","type":"git_submodule_update_t"}],"argline":"git_submodule *submodule,\n\tgit_submodule_update_t update","sig":"git_submodule *::git_submodule_update_t","return":{"type":"git_submodule_update_t","comment":"old value for update"},"description":"Set the update rule for the submodule.","comments":"This sets the update rule in memory for the submodule. You should call\n`git_submodule_save()` if you want to persist the new update rule.\n\nCalling this again with GIT_SUBMODULE_UPDATE_DEFAULT or calling\n`git_submodule_reload()` will revert the rule to the value that was in the\noriginal config.\n","group":"submodule"},"git_submodule_fetch_recurse_submodules":{"type":"function","file":"submodule.h","line":409,"lineto":410,"args":[{"name":"submodule","type":"git_submodule *"}],"argline":"git_submodule *submodule","sig":"git_submodule *","return":{"type":"int","comment":"0 if fetchRecurseSubmodules is false, 1 if true"},"description":"Read the fetchRecurseSubmodules rule for a submodule.","comments":"This accesses the submodule.<name>.fetchRecurseSubmodules value for\nthe submodule that controls fetching behavior for the submodule.\n\nNote that at this time, libgit2 does not honor this setting and the\nfetch functionality current ignores submodules.\n","group":"submodule"},"git_submodule_set_fetch_recurse_submodules":{"type":"function","file":"submodule.h","line":423,"lineto":425,"args":[{"name":"submodule","type":"git_submodule *","comment":"The submodule to modify"},{"name":"fetch_recurse_submodules","type":"int","comment":"Boolean value"}],"argline":"git_submodule *submodule,\n\tint fetch_recurse_submodules","sig":"git_submodule *::int","return":{"type":"int","comment":"old value for fetchRecurseSubmodules"},"description":"Set the fetchRecurseSubmodules rule for a submodule.","comments":"This sets the submodule.<name>.fetchRecurseSubmodules value for\nthe submodule. You should call `git_submodule_save()` if you want\nto persist the new value.\n","group":"submodule"},"git_submodule_init":{"type":"function","file":"submodule.h","line":440,"lineto":440,"args":[{"name":"submodule","type":"git_submodule *","comment":"The submodule to write into the superproject config"},{"name":"overwrite","type":"int","comment":"By default, existing entries will not be overwritten, but setting this to true forces them to be updated."}],"argline":"git_submodule *submodule, int overwrite","sig":"git_submodule *::int","return":{"type":"int","comment":"0 on success, <0 on failure."},"description":"Copy submodule info into \".git/config\" file.","comments":"Just like \"git submodule init\", this copies information about the\nsubmodule into \".git/config\". You can use the accessor functions\nabove to alter the in-memory git_submodule object and control what\nis written to the config, overriding what is in .gitmodules.\n","group":"submodule"},"git_submodule_sync":{"type":"function","file":"submodule.h","line":450,"lineto":450,"args":[{"name":"submodule","type":"git_submodule *"}],"argline":"git_submodule *submodule","sig":"git_submodule *","return":{"type":"int"},"description":"Copy submodule remote info into submodule repo.","comments":"This copies the information about the submodules URL into the checked out\nsubmodule config, acting like \"git submodule sync\". This is useful if\nyou have altered the URL for the submodule (or it has been altered by a\nfetch of upstream changes) and you need to update your local repo.","group":"submodule"},"git_submodule_open":{"type":"function","file":"submodule.h","line":464,"lineto":466,"args":[{"name":"repo","type":"git_repository **"},{"name":"submodule","type":"git_submodule *","comment":"Submodule to be opened"}],"argline":"git_repository **repo,\n\tgit_submodule *submodule","sig":"git_repository **::git_submodule *","return":{"type":"int","comment":"0 on success, <0 if submodule repo could not be opened."},"description":"Open the repository for a submodule.","comments":"This is a newly opened repository object. The caller is responsible for\ncalling `git_repository_free()` on it when done. Multiple calls to this\nfunction will return distinct `git_repository` objects. This will only\nwork if the submodule is checked out into the working directory.\n","group":"submodule"},"git_submodule_reload":{"type":"function","file":"submodule.h","line":474,"lineto":474,"args":[{"name":"submodule","type":"git_submodule *"}],"argline":"git_submodule *submodule","sig":"git_submodule *","return":{"type":"int"},"description":"Reread submodule info from config, index, and HEAD.","comments":"Call this to reread cached submodule information for this submodule if\nyou have reason to believe that it has changed.","group":"submodule"},"git_submodule_reload_all":{"type":"function","file":"submodule.h","line":481,"lineto":481,"args":[{"name":"repo","type":"git_repository *"}],"argline":"git_repository *repo","sig":"git_repository *","return":{"type":"int"},"description":"Reread all submodule info.","comments":"Call this to reload all cached submodule information for the repo.","group":"submodule"},"git_submodule_status":{"type":"function","file":"submodule.h","line":496,"lineto":498,"args":[{"name":"status","type":"unsigned int *","comment":"Combination of `GIT_SUBMODULE_STATUS` flags"},{"name":"submodule","type":"git_submodule *","comment":"Submodule for which to get status"}],"argline":"unsigned int *status,\n\tgit_submodule *submodule","sig":"unsigned int *::git_submodule *","return":{"type":"int","comment":"0 on success, <0 on error"},"description":"Get the status for a submodule.","comments":"This looks at a submodule and tries to determine the status. It\nwill return a combination of the `GIT_SUBMODULE_STATUS` values above.\nHow deeply it examines the working directory to do this will depend\non the `git_submodule_ignore_t` value for the submodule - which can be\nset either temporarily or permanently with `git_submodule_set_ignore()`.\n","group":"submodule"},"git_ignore_add_rule":{"type":"function","file":"ignore.h","line":37,"lineto":39,"args":[{"name":"repo","type":"git_repository *","comment":"The repository to add ignore rules to."},{"name":"rules","type":"const char *","comment":"Text of rules, a la the contents of a .gitignore file. It is okay to have multiple rules in the text; if so, each rule should be terminated with a newline."}],"argline":"git_repository *repo,\n\tconst char *rules","sig":"git_repository *::const char *","return":{"type":"int","comment":"0 on success"},"description":"Add ignore rules for a repository.","comments":"Excludesfile rules (i.e. .gitignore rules) are generally read from\n.gitignore files in the repository tree or from a shared system file\nonly if a \"core.excludesfile\" config value is set. The library also\nkeeps a set of per-repository internal ignores that can be configured\nin-memory and will not persist. This function allows you to add to\nthat internal rules list.\n\nExample usage:\n\n error = git_ignore_add(myrepo, \"*.c\\ndir/\\nFile with space\\n\");\n\nThis would add three rules to the ignores.\n","group":"ignore"},"git_ignore_clear_internal_rules":{"type":"function","file":"ignore.h","line":51,"lineto":52,"args":[{"name":"repo","type":"git_repository *","comment":"The repository to remove ignore rules from."}],"argline":"git_repository *repo","sig":"git_repository *","return":{"type":"int","comment":"0 on success"},"description":"Clear ignore rules that were explicitly added.","comments":"Clears the internal ignore rules that have been set up. This will not\nturn off the rules in .gitignore files that actually exist in the\nfilesystem.\n","group":"ignore"},"git_ignore_path_is_ignored":{"type":"function","file":"ignore.h","line":67,"lineto":74,"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, relative to the repo's workdir."}],"argline":"int *ignored,\n\tgit_repository *repo,\n\tconst char *path","sig":"int *::git_repository *::const char *","return":{"type":"int","comment":"0 if ignore rules could be processed for the file (regardless of whether it exists or not), or an error < 0 if they could not."},"description":"Test if the ignore rules apply to a given path.","comments":"This function simply checks the ignore rules to see if they would apply\nto the given file. This indicates if the file would be ignored regardless\nof whether the file is already in the index or commited to the repository.\n","group":"ignore"},"git_message_prettify":{"type":"function","file":"message.h","line":39,"lineto":39,"args":[{"name":"message_out","type":"char *","comment":"The user allocated buffer which will be filled with the cleaned up message. Pass NULL if you just want to get the size of the prettified message as the output value."},{"name":"buffer_size","type":"size_t"},{"name":"message","type":"const char *","comment":"_out The user allocated buffer which will be filled with the cleaned up message. Pass NULL if you just want to get the size of the prettified message as the output value."},{"name":"strip_comments","type":"int","comment":"1 to remove lines starting with a \"#\", 0 otherwise."}],"argline":"char *message_out, size_t buffer_size, const char *message, int strip_comments","sig":"char *::size_t::const char *::int","return":{"type":"int","comment":"-1 on error, else number of characters in prettified message including the trailing NUL byte"},"description":"Clean up message from excess whitespace and make sure that the last line\nends with a '\\n'.","comments":"Optionally, can remove lines starting with a \"#\".\n","group":"message"},"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. Set to NULL if the open failed."}],"argline":"git_odb **out","sig":"git_odb **","return":{"type":"int","comment":"0 or an error code"},"description":"Create a new object database with no backends.","comments":"Before the ODB can be used for read/writing, a custom database\nbackend must be manually added using `git_odb_add_backend()`\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. Set 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":"Create a new object database and automatically add\nthe two default backends:","comments":"- git_odb_backend_loose: read and write loose object files\n\tfrom disk, assuming `objects_dir` as the Objects folder\n\n- git_odb_backend_pack: read objects from packfiles,\n\tassuming `objects_dir` as the Objects folder which\n\tcontains a 'pack/' folder with the corresponding data\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 success; error code otherwise"},"description":"Add a custom backend to an existing Object DB","comments":"The backends are checked in relative ordering, based on the\nvalue of the `priority` parameter.\n\nRead <odb_backends.h> for more information.\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 success; error code otherwise"},"description":"Add a custom backend to an existing Object DB; this\nbackend will work as an alternate.","comments":"Alternate backends are always checked for objects *after*\nall the main backends have been exhausted.\n\nThe backends are checked in relative ordering, based on the\nvalue of the `priority` parameter.\n\nWriting is disabled on alternate backends.\n\nRead <odb_backends.h> for more information.\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"},"description":"Close an open object database.","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; - GIT_ENOTFOUND if the object is not in the database."},"description":"Read an object from the database.","comments":"This method queries all available ODB backends\ntrying to read the given OID.\n\nThe returned object is reference counted and\ninternally cached, so it should be closed\nby the user once it's no longer in use.\n","group":"odb","examples":{"general.c":["ex/HEAD/general.html#git_odb_read-49"]}},"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":"size_t","comment":"the length of the prefix"}],"argline":"git_odb_object **out, git_odb *db, const git_oid *short_id, size_t len","sig":"git_odb_object **::git_odb *::const git_oid *::size_t","return":{"type":"int","comment":"0 if the object was read; GIT_ENOTFOUND if the object is not in the database. GIT_EAMBIGUOUS if the prefix is ambiguous (several objects match the prefix)"},"description":"Read an object from the database, given a prefix\nof its identifier.","comments":"This method queries all available ODB backends\ntrying to match the 'len' first hexadecimal\ncharacters of the 'short_id'.\nThe remaining (GIT_OID_HEXSZ-len)*4 bits of\n'short_id' must be 0s.\n'len' must be at least GIT_OID_MINPREFIXLEN,\nand the prefix must be long enough to identify\na unique object in all the backends; the\nmethod will fail otherwise.\n\nThe returned object is reference counted and\ninternally cached, so it should be closed\nby the user once it's no longer in use.\n","group":"odb"},"git_odb_read_header":{"type":"function","file":"odb.h","line":162,"lineto":162,"args":[{"name":"len_p","type":"size_t *","comment":"pointer where to store the length"},{"name":"type_p","type":"git_otype *","comment":"pointer where to store the type"},{"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":"size_t *len_p, git_otype *type_p, git_odb *db, const git_oid *id","sig":"size_t *::git_otype *::git_odb *::const git_oid *","return":{"type":"int","comment":"- 0 if the object was read; - GIT_ENOTFOUND if the object is not in the database."},"description":"Read the header of an object from the database, without\nreading its full contents.","comments":"The header includes the length and the type of an object.\n\nNote that most backends do not support reading only the header\nof an object, so the whole object will be read and then the\nheader will be returned.\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 - 0, otherwise"},"description":"Determine if the given object can be found in the object database.","comments":"","group":"odb"},"git_odb_foreach":{"type":"function","file":"odb.h","line":188,"lineto":188,"args":[{"name":"db","type":"git_odb *","comment":"database to use"},{"name":"cb","type":"int (*)(git_oid *oid, void *data)","comment":"the callback to call for each object"},{"name":"data","type":"void *","comment":"data to pass to the callback"}],"argline":"git_odb *db, int (*cb)(git_oid *oid, void *data), void *data","sig":"git_odb *::int (*)(git_oid *oid, void *data)::void *","return":{"type":"int","comment":"0 on success, GIT_EUSER on non-zero callback, or error code"},"description":"List all objects available in the database","comments":"The callback will be called for each object available in the\ndatabase. Note that the objects are likely to be returned in the index\norder, which would make accessing the objects in that order inefficient.\nReturn a non-zero value from the callback to stop looping.\n","group":"odb"},"git_odb_write":{"type":"function","file":"odb.h","line":208,"lineto":208,"args":[{"name":"oid","type":"git_oid *","comment":"pointer to store the OID result of the write"},{"name":"odb","type":"git_odb *","comment":"object database where to store the object"},{"name":"data","type":"const void *","comment":"buffer with the data to store"},{"name":"len","type":"size_t","comment":"size of the buffer"},{"name":"type","type":"git_otype","comment":"type of the data to store"}],"argline":"git_oid *oid, git_odb *odb, const void *data, size_t len, git_otype type","sig":"git_oid *::git_odb *::const void *::size_t::git_otype","return":{"type":"int","comment":"0 or an error code"},"description":"Write an object directly into the ODB","comments":"This method writes a full object straight into the ODB.\nFor most cases, it is preferred to write objects through a write\nstream, which is both faster and less memory intensive, specially\nfor big objects.\n\nThis method is provided for compatibility with custom backends\nwhich are not able to support streaming writes\n","group":"odb","examples":{"general.c":["ex/HEAD/general.html#git_odb_write-50"]}},"git_odb_open_wstream":{"type":"function","file":"odb.h","line":237,"lineto":237,"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 write"},{"name":"size","type":"size_t","comment":"final size of the object that will be written"},{"name":"type","type":"git_otype","comment":"type of the object that will be written"}],"argline":"git_odb_stream **stream, git_odb *db, size_t size, git_otype type","sig":"git_odb_stream **::git_odb *::size_t::git_otype","return":{"type":"int","comment":"0 if the stream was created; error code otherwise"},"description":"Open a stream to write an object into the ODB","comments":"The type and final length of the object must be specified\nwhen opening the stream.\n\nThe returned stream will be of type `GIT_STREAM_WRONLY` and\nwill have the following methods:\n\n\t- stream->write: write `n` bytes into the stream\n\t- stream->finalize_write: close the stream and store the object in\n\t\tthe odb\n\t- stream->free: free the stream\n\nThe streaming write won't be effective until `stream->finalize_write`\nis called and returns without an error\n\nThe stream must always be free'd or will leak memory.\n\n@see git_odb_stream\n","group":"odb"},"git_odb_open_rstream":{"type":"function","file":"odb.h","line":263,"lineto":263,"args":[{"name":"stream","type":"git_odb_stream **","comment":"pointer where to store the stream"},{"name":"db","type":"git_odb *","comment":"object database where the stream will read from"},{"name":"oid","type":"const git_oid *","comment":"oid of the object the stream will read from"}],"argline":"git_odb_stream **stream, git_odb *db, const git_oid *oid","sig":"git_odb_stream **::git_odb *::const git_oid *","return":{"type":"int","comment":"0 if the stream was created; error code otherwise"},"description":"Open a stream to read an object from the ODB","comments":"Note that most backends do *not* support streaming reads\nbecause they store their objects as compressed/delta'ed blobs.\n\nIt's recommended to use `git_odb_read` instead, which is\nassured to work on all backends.\n\nThe returned stream will be of type `GIT_STREAM_RDONLY` and\nwill have the following methods:\n\n\t- stream->read: read `n` bytes from the stream\n\t- stream->free: free the stream\n\nThe stream must always be free'd or will leak memory.\n\n@see git_odb_stream\n","group":"odb"},"git_odb_hash":{"type":"function","file":"odb.h","line":277,"lineto":277,"args":[{"name":"id","type":"git_oid *","comment":"the resulting object-ID."},{"name":"data","type":"const void *","comment":"data to hash"},{"name":"len","type":"size_t","comment":"size of the data"},{"name":"type","type":"git_otype","comment":"of the data to hash"}],"argline":"git_oid *id, const void *data, size_t len, git_otype type","sig":"git_oid *::const void *::size_t::git_otype","return":{"type":"int","comment":"0 or an error code"},"description":"Determine the object-ID (sha1 hash) of a data buffer","comments":"The resulting SHA-1 OID will be the identifier for the data\nbuffer as if the data buffer it were to written to the ODB.\n","group":"odb"},"git_odb_hashfile":{"type":"function","file":"odb.h","line":292,"lineto":292,"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":"Read a file from disk and fill a git_oid with the object id\nthat the file would have if it were written to the Object\nDatabase as an object of the given type (w/o applying filters).\nSimilar functionality to git.git's `git hash-object` without\nthe `-w` flag, however, with the --no-filters flag.\nIf you need filters, see git_repository_hashfile.","comments":"","group":"odb"},"git_odb_object_free":{"type":"function","file":"odb.h","line":302,"lineto":302,"args":[{"name":"object","type":"git_odb_object *","comment":"object to close"}],"argline":"git_odb_object *object","sig":"git_odb_object *","return":{"type":"void"},"description":"Close an ODB object","comments":"This method must always be called once a `git_odb_object` is no\nlonger needed, otherwise memory will leak.\n","group":"odb","examples":{"general.c":["ex/HEAD/general.html#git_odb_object_free-51"]}},"git_odb_object_id":{"type":"function","file":"odb.h","line":312,"lineto":312,"args":[{"name":"object","type":"git_odb_object *","comment":"the object"}],"argline":"git_odb_object *object","sig":"git_odb_object *","return":{"type":"const git_oid *","comment":"a pointer to the OID"},"description":"Return the OID of an ODB object","comments":"This is the OID from which the object was read from\n","group":"odb"},"git_odb_object_data":{"type":"function","file":"odb.h","line":325,"lineto":325,"args":[{"name":"object","type":"git_odb_object *","comment":"the object"}],"argline":"git_odb_object *object","sig":"git_odb_object *","return":{"type":"const void *","comment":"a pointer to the data"},"description":"Return the data of an ODB object","comments":"This is the uncompressed, raw data as read from the ODB,\nwithout the leading header.\n\nThis pointer is owned by the object and shall not be free'd.\n","group":"odb","examples":{"general.c":["ex/HEAD/general.html#git_odb_object_data-52"]}},"git_odb_object_size":{"type":"function","file":"odb.h","line":336,"lineto":336,"args":[{"name":"object","type":"git_odb_object *","comment":"the object"}],"argline":"git_odb_object *object","sig":"git_odb_object *","return":{"type":"size_t","comment":"the size"},"description":"Return the size of an ODB object","comments":"This is the real size of the `data` buffer, not the\nactual size of the object.\n","group":"odb","examples":{"general.c":["ex/HEAD/general.html#git_odb_object_size-53"]}},"git_odb_object_type":{"type":"function","file":"odb.h","line":344,"lineto":344,"args":[{"name":"object","type":"git_odb_object *","comment":"the object"}],"argline":"git_odb_object *object","sig":"git_odb_object *","return":{"type":"git_otype","comment":"the type"},"description":"Return the type of an ODB object","comments":"","group":"odb","examples":{"general.c":["ex/HEAD/general.html#git_odb_object_type-54"]}},"git_threads_init":{"type":"function","file":"threads.h","line":31,"lineto":31,"args":[],"argline":"void","sig":"","return":{"type":"void"},"description":"Init the threading system.","comments":"If libgit2 has been built with GIT_THREADS\non, this function must be called once before\nany other library functions.\n\nIf libgit2 has been built without GIT_THREADS\nsupport, this function is a no-op.","group":"threads"},"git_threads_shutdown":{"type":"function","file":"threads.h","line":43,"lineto":43,"args":[],"argline":"void","sig":"","return":{"type":"void"},"description":"Shutdown the threading system.","comments":"If libgit2 has been built with GIT_THREADS\non, this function must be called before shutting\ndown the library.\n\nIf libgit2 has been built without GIT_THREADS\nsupport, this function is a no-op.","group":"threads"},"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 the hex sequence and have at least the number of bytes needed 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":"Parse a hex formatted object id into a git_oid.","comments":"","group":"oid","examples":{"general.c":["ex/HEAD/general.html#git_oid_fromstr-55","ex/HEAD/general.html#git_oid_fromstr-56","ex/HEAD/general.html#git_oid_fromstr-57","ex/HEAD/general.html#git_oid_fromstr-58","ex/HEAD/general.html#git_oid_fromstr-59","ex/HEAD/general.html#git_oid_fromstr-60","ex/HEAD/general.html#git_oid_fromstr-61","ex/HEAD/general.html#git_oid_fromstr-62"]}},"git_oid_fromstrn":{"type":"function","file":"oid.h","line":61,"lineto":61,"args":[{"name":"out","type":"git_oid *","comment":"oid structure the result is written into."},{"name":"str","type":"const char *","comment":"input hex string of at least size `length`"},{"name":"length","type":"size_t","comment":"length of the input string"}],"argline":"git_oid *out, const char *str, size_t length","sig":"git_oid *::const char *::size_t","return":{"type":"int","comment":"0 or an error code"},"description":"Parse N characters of a hex formatted object id into a git_oid","comments":"If N is odd, N-1 characters will be parsed instead.\nThe remaining space in the git_oid will be set to zero.\n","group":"oid","examples":{"diff.c":["ex/HEAD/diff.html#git_oid_fromstrn-17"]}},"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"},"description":"Copy an already raw oid into a git_oid structure.","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 the hex sequence and have at least the number of bytes needed for an oid encoded in hex (40 bytes). Only the oid digits are written; a '\\\\0' terminator must be added by 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"},"description":"Format a git_oid into a hex string.","comments":"","group":"oid","examples":{"showindex.c":["ex/HEAD/showindex.html#git_oid_fmt-8"],"general.c":["ex/HEAD/general.html#git_oid_fmt-63","ex/HEAD/general.html#git_oid_fmt-64","ex/HEAD/general.html#git_oid_fmt-65","ex/HEAD/general.html#git_oid_fmt-66","ex/HEAD/general.html#git_oid_fmt-67"],"network/ls-remote.c":["ex/HEAD/ls-remote.html#git_oid_fmt-10"],"network/index-pack.c":["ex/HEAD/index-pack.html#git_oid_fmt-6"],"network/fetch.c":["ex/HEAD/fetch.html#git_oid_fmt-10","ex/HEAD/fetch.html#git_oid_fmt-11"]}},"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 the hex sequence and have at least the number of bytes needed for an oid encoded in hex (41 bytes). Only the oid digits are written; a '\\\\0' terminator must be added by 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"},"description":"Format a git_oid into a loose-object path string.","comments":"The resulting string is \"aa/...\", where \"aa\" is the first two\nhex digits of the oid and \"...\" is the remaining 38 digits.\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 deallocate the string with git__free()."},"description":"Format a git_oid into a newly allocated c-string.","comments":"","group":"oid"},"git_oid_tostr":{"type":"function","file":"oid.h","line":122,"lineto":122,"args":[{"name":"out","type":"char *","comment":"the buffer into which the oid string is output."},{"name":"n","type":"size_t","comment":"the size of the out buffer."},{"name":"oid","type":"const git_oid *","comment":"the oid structure to format."}],"argline":"char *out, size_t n, const git_oid *oid","sig":"char *::size_t::const git_oid *","return":{"type":"char *","comment":"the out buffer pointer, assuming no input parameter errors, otherwise a pointer to an empty string."},"description":"Format a git_oid into a buffer as a hex format c-string.","comments":"If the buffer is smaller than GIT_OID_HEXSZ+1, then the resulting\noid c-string will be truncated to n-1 characters. If there are\nany input parameter errors (out == NULL, n == 0, oid == NULL),\nthen a pointer to an empty string is returned, so that the return\nvalue can always be printed.\n","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"},"description":"Copy an oid from one structure to another.","comments":"","group":"oid"},"git_oid_cmp":{"type":"function","file":"oid.h","line":139,"lineto":151,"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":"<0, 0, >0 if a < b, a == b, a > b."},"description":"Compare two oid structures.","comments":"","group":"oid"},"git_oid_equal":{"type":"function","file":"oid.h","line":160,"lineto":163,"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":"true if equal, false otherwise"},"description":"Compare two oid structures for equality","comments":"","group":"oid"},"git_oid_ncmp":{"type":"function","file":"oid.h","line":174,"lineto":174,"args":[{"name":"a","type":"const git_oid *","comment":"first oid structure."},{"name":"b","type":"const git_oid *","comment":"second oid structure."},{"name":"len","type":"size_t","comment":"the number of hex chars to compare"}],"argline":"const git_oid *a, const git_oid *b, size_t len","sig":"const git_oid *::const git_oid *::size_t","return":{"type":"int","comment":"0 in case of a match"},"description":"Compare the first 'len' hexadecimal characters (packets of 4 bits)\nof two oid structures.","comments":"","group":"oid"},"git_oid_streq":{"type":"function","file":"oid.h","line":184,"lineto":184,"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, 0 in case of a match, GIT_ERROR otherwise."},"description":"Check if an oid equals an hex formatted object id.","comments":"","group":"oid"},"git_oid_iszero":{"type":"function","file":"oid.h","line":191,"lineto":191,"args":[{"name":"a","type":"const git_oid *"}],"argline":"const git_oid *a","sig":"const git_oid *","return":{"type":"int","comment":"1 if all zeros, 0 otherwise."},"description":"Check is an oid is all zeros.","comments":"","group":"oid","examples":{"network/fetch.c":["ex/HEAD/fetch.html#git_oid_iszero-12"]}},"git_oid_shorten_new":{"type":"function","file":"oid.h","line":212,"lineto":212,"args":[{"name":"min_length","type":"size_t","comment":"The minimal length for all identifiers, which will be used even if shorter OIDs would still be unique."}],"argline":"size_t min_length","sig":"size_t","return":{"type":"git_oid_shorten *","comment":"a `git_oid_shorten` instance, NULL if OOM"},"description":"Create a new OID shortener.","comments":"The OID shortener is used to process a list of OIDs\nin text form and return the shortest length that would\nuniquely identify all of them.\n\nE.g. look at the result of `git log --abbrev`.\n","group":"oid"},"git_oid_shorten_add":{"type":"function","file":"oid.h","line":238,"lineto":238,"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 added so far to the set; or an error code (<0) if an error occurs."},"description":"Add a new OID to set of shortened OIDs and calculate\nthe minimal length to uniquely identify all the OIDs in\nthe set.","comments":"The OID is expected to be a 40-char hexadecimal string.\nThe OID is owned by the user and will not be modified\nor freed.\n\nFor performance reasons, there is a hard-limit of how many\nOIDs can be added to a single set (around ~22000, assuming\na mostly randomized distribution), which should be enough\nfor any kind of program, and keeps the algorithm fast and\nmemory-efficient.\n\nAttempting to add more than those OIDs will result in a\nGIT_ENOMEM error\n","group":"oid"},"git_oid_shorten_free":{"type":"function","file":"oid.h","line":245,"lineto":245,"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"},"description":"Free an OID shortener instance","comments":"","group":"oid"},"git_attr_get":{"type":"function","file":"attr.h","line":142,"lineto":147,"args":[{"name":"value_out","type":"const char **","comment":"Output of the value of the attribute. Use the GIT_ATTR_... macros to test for TRUE, FALSE, UNSPECIFIED, etc. or just use the string value for attributes set to a value. You 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 interpreted relative to the repo root. The file does not have to exist, but if it does not, then it will be 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,\n git_repository *repo,\n\tuint32_t flags,\n\tconst char *path,\n\tconst char *name","sig":"const char **::git_repository *::uint32_t::const char *::const char *","return":{"type":"int"},"description":"Look up the value of one git attribute for path.","comments":"","group":"attr"},"git_attr_get_many":{"type":"function","file":"attr.h","line":178,"lineto":184,"args":[{"name":"values_out","type":"const char **"},{"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 does not have to exist, but if it does not, then it will be treated as a plain file (i.e. not a directory)."},{"name":"num_attr","type":"size_t","comment":"The number of attributes being looked up"},{"name":"names","type":"const char **","comment":"An array of num_attr strings containing attribute names."}],"argline":"const char **values_out,\n\tgit_repository *repo,\n\tuint32_t flags,\n\tconst char *path,\n\tsize_t num_attr,\n\tconst char **names","sig":"const char **::git_repository *::uint32_t::const char *::size_t::const char **","return":{"type":"int"},"description":"Look up a list of git attributes for path.","comments":"Use this if you have a known list of attributes that you want to\nlook up in a single call. This is somewhat more efficient than\ncalling `git_attr_get()` multiple times.\n\nFor example, you might write:\n\n const char *attrs[] = { \"crlf\", \"diff\", \"foo\" };\n const char **values[3];\n git_attr_get_many(values, repo, 0, \"my/fun/file.c\", 3, attrs);\n\nThen you could loop through the 3 values to get the settings for\nthe three attributes you asked about.\n","group":"attr"},"git_attr_foreach":{"type":"function","file":"attr.h","line":203,"lineto":208,"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":"Path inside the repo to check attributes. This does not have to exist, but if it does not, then it will be treated as a plain file (i.e. not a directory)."},{"name":"callback","type":"int (*)(const char *name, const char *value, void *payload)","comment":"Function to invoke on each attribute name and value. The value may be NULL is the attribute is explicitly set to UNSPECIFIED using the '!' sign. Callback will be invoked only once per attribute name, even if there are multiple rules for a given file. The highest priority rule will be used. Return a non-zero value from this to stop looping."},{"name":"payload","type":"void *","comment":"Passed on as extra parameter to callback function."}],"argline":"git_repository *repo,\n\tuint32_t flags,\n\tconst char *path,\n\tint (*callback)(const char *name, const char *value, void *payload),\n\tvoid *payload","sig":"git_repository *::uint32_t::const char *::int (*)(const char *name, const char *value, void *payload)::void *","return":{"type":"int","comment":"0 on success, GIT_EUSER on non-zero callback, or error code"},"description":"Loop over all the git attributes for a path.","comments":"","group":"attr"},"git_attr_cache_flush":{"type":"function","file":"attr.h","line":218,"lineto":219,"args":[{"name":"repo","type":"git_repository *"}],"argline":"git_repository *repo","sig":"git_repository *","return":{"type":"void"},"description":"Flush the gitattributes cache.","comments":"Call this if you have reason to believe that the attributes files on\ndisk no longer match the cached contents of memory. This will cause\nthe attributes files to be reloaded the next time that an attribute\naccess function is called.","group":"attr"},"git_attr_add_macro":{"type":"function","file":"attr.h","line":231,"lineto":234,"args":[{"name":"repo","type":"git_repository *"},{"name":"name","type":"const char *"},{"name":"values","type":"const char *"}],"argline":"git_repository *repo,\n\tconst char *name,\n\tconst char *values","sig":"git_repository *::const char *::const char *","return":{"type":"int"},"description":"Add a macro definition.","comments":"Macros will automatically be loaded from the top level `.gitattributes`\nfile of the repository (plus the build-in \"binary\" macro). This\nfunction allows you to add others. For example, to add the default\nmacro, you would call:\n\n git_attr_add_macro(repo, \"binary\", \"-diff -crlf\");","group":"attr"},"giterr_last":{"type":"function","file":"errors.h","line":67,"lineto":67,"args":[],"argline":"void","sig":"","return":{"type":"const git_error *","comment":"A git_error object."},"description":"Return the last `git_error` object that was generated for the\ncurrent thread or NULL if no error has occurred.","comments":"","group":"giterr","examples":{"network/git2.c":["ex/HEAD/git2.html#giterr_last-3","ex/HEAD/git2.html#giterr_last-4"]}},"giterr_clear":{"type":"function","file":"errors.h","line":72,"lineto":72,"args":[],"argline":"void","sig":"","return":{"type":"void"},"description":"Clear the last library error that occurred for this thread.","comments":"","group":"giterr"},"giterr_set_str":{"type":"function","file":"errors.h","line":95,"lineto":95,"args":[{"name":"error_class","type":"int","comment":"One of the `git_error_t` enum above describing the general subsystem that is responsible for the error."},{"name":"string","type":"const char *"}],"argline":"int error_class, const char *string","sig":"int::const char *","return":{"type":"void"},"description":"Set the error message string for this thread.","comments":"This function is public so that custom ODB backends and the like can\nrelay an error message through libgit2. Most regular users of libgit2\nwill never need to call this function -- actually, calling it in most\ncircumstances (for example, calling from within a callback function)\nwill just end up having the value overwritten by libgit2 internals.\n\nThis error message is stored in thread-local storage and only applies\nto the particular thread that this libgit2 call is made from.\n\nNOTE: Passing the `error_class` as GITERR_OS has a special behavior: we\nattempt to append the system default error message for the last OS error\nthat occurred and then clear the last error. The specific implementation\nof looking up and clearing this last OS error will vary by platform.\n","group":"giterr"},"giterr_set_oom":{"type":"function","file":"errors.h","line":106,"lineto":106,"args":[],"argline":"void","sig":"","return":{"type":"void"},"description":"Set the error message to a special value for memory allocation failure.","comments":"The normal `giterr_set_str()` function attempts to `strdup()` the string\nthat is passed in. This is not a good idea when the error in question\nis a memory allocation failure. That circumstance has a special setter\nfunction that sets the error string to a known and statically allocated\ninternal value.","group":"giterr"},"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":"Allocate a new revision walker to iterate through a repo.","comments":"This revision walker uses a custom memory pool and an internal\ncommit cache, so it is relatively expensive to allocate.\n\nFor maximum performance, this revision walker should be\nreused for different walks.\n\nThis revision walker is *not* thread safe: it may only be\nused to walk a repository on a single thread; however,\nit is possible to have several revision walkers in\nseveral different threads walking the same repository.\n","group":"revwalk","examples":{"general.c":["ex/HEAD/general.html#git_revwalk_new-68"]}},"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"},"description":"Reset the revision walker for reuse.","comments":"This will clear all the pushed and hidden commits, and\nleave the walker in a blank state (just like at\ncreation) ready to receive new commit pushes and\nstart a new walk.\n\nThe revision walk is automatically reset when a walk\nis over.\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":"Mark a commit to start traversal from.","comments":"The given OID must belong to a commit on the walked\nrepository.\n\nThe given commit will be used as one of the roots\nwhen starting the revision walk. At least one commit\nmust be pushed the repository before a walk can\nbe started.\n","group":"revwalk","examples":{"general.c":["ex/HEAD/general.html#git_revwalk_push-69"]}},"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":"Push matching references","comments":"The OIDs pointed to by the references that match the given glob\npattern will be pushed to the revision walker.\n\nA leading 'refs/' is implied if not present as well as a trailing\n'/ *' if the glob lacks '?', '*' or '['.\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":"Push the repository's HEAD","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":"Mark a commit (and its ancestors) uninteresting for the output.","comments":"The given OID must belong to a commit on the walked\nrepository.\n\nThe resolved commit and all its parents will be hidden from the\noutput on the revision walk.\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":"Hide matching references.","comments":"The OIDs pointed to by the references that match the given glob\npattern and their ancestors will be hidden from the output on the\nrevision walk.\n\nA leading 'refs/' is implied if not present as well as a trailing\n'/ *' if the glob lacks '?', '*' or '['.\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":"Hide the repository's HEAD","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 reference to push"}],"argline":"git_revwalk *walk, const char *refname","sig":"git_revwalk *::const char *","return":{"type":"int","comment":"0 or an error code"},"description":"Push the OID pointed to by a reference","comments":"The reference must point to a commit.\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 reference to hide"}],"argline":"git_revwalk *walk, const char *refname","sig":"git_revwalk *::const char *","return":{"type":"int","comment":"0 or an error code"},"description":"Hide the OID pointed to by a reference","comments":"The reference must point to a commit.\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; GIT_ITEROVER if there are no commits left to iterate"},"description":"Get the next commit from the revision walk.","comments":"The initial call to this method is *not* blocking when\niterating through a repo with a time-sorting mode.\n\nIterating with Topological or inverted modes makes the initial\ncall blocking to preprocess the commit list, but this block should be\nmostly unnoticeable on most repositories (topological preprocessing\ntimes at 0.3s on the git.git repo).\n\nThe revision walker is reset when the walk is over.\n","group":"revwalk","examples":{"general.c":["ex/HEAD/general.html#git_revwalk_next-70"]}},"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"},"description":"Change the sorting mode when iterating through the\nrepository's contents.","comments":"Changing the sorting mode resets the walker.\n","group":"revwalk","examples":{"general.c":["ex/HEAD/general.html#git_revwalk_sorting-71"]}},"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"},"description":"Free a revision walker previously allocated.","comments":"","group":"revwalk","examples":{"general.c":["ex/HEAD/general.html#git_revwalk_free-72"]}},"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":"Return the repository on which this walker\nis operating.","comments":"","group":"revwalk"},"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,\n\t\tgit_repository *repo,\n\t\tconst git_oid *id,\n\t\tgit_otype type","sig":"git_object **::git_repository *::const git_oid *::git_otype","return":{"type":"int","comment":"a reference to the object"},"description":"Lookup a reference to one of the objects in a repository.","comments":"The generated reference is owned by the repository and\nshould be closed with the `git_object_free` method\ninstead of free'd manually.\n\nThe 'type' parameter must match the type of the object\nin the odb; the method will fail otherwise.\nThe special value 'GIT_OBJ_ANY' may be passed to let\nthe method guess the object's type.\n","group":"object","examples":{"diff.c":["ex/HEAD/diff.html#git_object_lookup-18"]}},"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":"size_t","comment":"the length of the short identifier"},{"name":"type","type":"git_otype","comment":"the type of the object"}],"argline":"git_object **object_out,\n\t\tgit_repository *repo,\n\t\tconst git_oid *id,\n\t\tsize_t len,\n\t\tgit_otype type","sig":"git_object **::git_repository *::const git_oid *::size_t::git_otype","return":{"type":"int","comment":"0 or an error code"},"description":"Lookup a reference to one of the objects in a repository,\ngiven a prefix of its identifier (short id).","comments":"The object obtained will be so that its identifier\nmatches the first 'len' hexadecimal characters\n(packets of 4 bits) of the given 'id'.\n'len' must be at least GIT_OID_MINPREFIXLEN, and\nlong enough to identify a unique object matching\nthe prefix; otherwise the method will fail.\n\nThe generated reference is owned by the repository and\nshould be closed with the `git_object_free` method\ninstead of free'd manually.\n\nThe 'type' parameter must match the type of the object\nin the odb; the method will fail otherwise.\nThe special value 'GIT_OBJ_ANY' may be passed to let\nthe method guess the object's type.\n","group":"object","examples":{"diff.c":["ex/HEAD/diff.html#git_object_lookup_prefix-19"]}},"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":"Get the id (SHA1) of a repository object","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":"Get the object type of an object","comments":"","group":"object","examples":{"diff.c":["ex/HEAD/diff.html#git_object_type-20"]}},"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":"Get the repository that owns this object","comments":"Freeing or calling `git_repository_close` on the\nreturned pointer will invalidate the actual object.\n\nAny other operation may be run on the repository without\naffecting the object.\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"},"description":"Close an open object","comments":"This method instructs the library to close an existing\nobject; note that git_objects are owned and cached by the repository\nso the object may or may not be freed after this library call,\ndepending on how aggressive is the caching mechanism used\nby the repository.\n\nIMPORTANT:\nIt *is* necessary to call this method when you stop using\nan object. Failure to do so will cause a memory leak.\n","group":"object","examples":{"general.c":["ex/HEAD/general.html#git_object_free-73"],"diff.c":["ex/HEAD/diff.html#git_object_free-21"]}},"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":"Convert an object type to it's string representation.","comments":"The result is a pointer to a string in static memory and\nshould not be free()'ed.\n","group":"object","examples":{"general.c":["ex/HEAD/general.html#git_object_type2string-74"]}},"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":"Convert a string object type representation to it's git_otype.","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, false otherwise."},"description":"Determine if the given git_otype is a valid loose object type.","comments":"","group":"object"},"git_object__size":{"type":"function","file":"object.h","line":168,"lineto":168,"args":[{"name":"type","type":"git_otype","comment":"object type to get its size"}],"argline":"git_otype type","sig":"git_otype","return":{"type":"size_t","comment":"size in bytes of the object"},"description":"Get the size in bytes for the structure which\nacts as an in-memory representation of any given\nobject type.","comments":"For all the core types, this would the equivalent\nof calling `sizeof(git_commit)` if the core types\nwere not opaque on the external API.\n","group":"object"},"git_object_peel":{"type":"function","file":"object.h","line":185,"lineto":188,"args":[{"name":"peeled","type":"git_object **","comment":"Pointer to the peeled git_object"},{"name":"object","type":"git_object *","comment":"The object to be processed"},{"name":"target_type","type":"git_otype","comment":"The type of the requested object"}],"argline":"git_object **peeled,\n\t\tgit_object *object,\n\t\tgit_otype target_type","sig":"git_object **::git_object *::git_otype","return":{"type":"int","comment":"0 or an error code"},"description":"Recursively peel an object until an object of the specified type is met.","comments":"The retrieved `peeled` object is owned by the repository and should be\nclosed with the `git_object_free` method.\n\nIf you pass `GIT_OBJ_ANY` as the target type, then the object will be\npeeled until the type changes (e.g. a tag will be chased until the\nreferenced object is no longer a tag).\n","group":"object"},"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":"Lookup a reference by its name in a repository.","comments":"The generated reference must be freed by the user.\n","group":"reference","examples":{"general.c":["ex/HEAD/general.html#git_reference_lookup-75"],"diff.c":["ex/HEAD/diff.html#git_reference_lookup-22"]}},"git_reference_name_to_oid":{"type":"function","file":"refs.h","line":43,"lineto":44,"args":[{"name":"out","type":"git_oid *"},{"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":"Lookup a reference by name and resolve immediately to OID.","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":"Create a new symbolic reference.","comments":"The reference will be created in the repository and written\nto the disk.\n\nThe generated reference must be freed by the user.\n\nIf `force` is true and there already exists a reference\nwith the same name, it will be overwritten.\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":"Create a new object id reference.","comments":"The reference will be created in the repository and written\nto the disk.\n\nThe generated reference must be freed by the user.\n\nIf `force` is true and there already exists a reference\nwith the same name, it will be overwritten.\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":"Get the OID pointed to by a reference.","comments":"Only available if the reference is direct (i.e. not symbolic)\n","group":"reference","examples":{"general.c":["ex/HEAD/general.html#git_reference_oid-76"],"diff.c":["ex/HEAD/diff.html#git_reference_oid-23"]}},"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":"Get full name to the reference pointed by this reference","comments":"Only available if the reference is symbolic\n","group":"reference","examples":{"general.c":["ex/HEAD/general.html#git_reference_target-77"]}},"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":"Get the type of a reference","comments":"Either direct (GIT_REF_OID) or symbolic (GIT_REF_SYMBOLIC)\n","group":"reference","examples":{"general.c":["ex/HEAD/general.html#git_reference_type-78"]}},"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":"Get the full name of a reference","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":"Resolve a symbolic reference","comments":"This method iteratively peels a symbolic reference\nuntil it resolves to a direct reference to an OID.\n\nThe peeled reference is returned in the `resolved_ref`\nargument, and must be freed manually once it's no longer\nneeded.\n\nIf a direct reference is passed as an argument,\na copy of that reference is returned. This copy must\nbe manually freed too.\n","group":"reference","examples":{"diff.c":["ex/HEAD/diff.html#git_reference_resolve-24"]}},"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":"Get the repository where a reference resides","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":"Set the symbolic target of a reference.","comments":"The reference must be a symbolic reference, otherwise\nthis method will fail.\n\nThe reference will be automatically updated in\nmemory and on disk.\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":"Set the OID target of a reference.","comments":"The reference must be a direct reference, otherwise\nthis method will fail.\n\nThe reference will be automatically updated in\nmemory and on disk.\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":"Rename an existing reference","comments":"This method works for both direct and symbolic references.\nThe new name will be checked for validity and may be\nmodified into a normalized form.\n\nThe given git_reference will be updated in place.\n\nThe reference will be immediately renamed in-memory\nand on disk.\n\nIf the `force` flag is not enabled, and there's already\na reference with the given name, the renaming will fail.\n\nIMPORTANT:\nThe user needs to write a proper reflog entry if the\nreflog is enabled for the repository. We only rename\nthe reflog if it exists.\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":"Delete an existing reference","comments":"This method works for both direct and symbolic references.\n\nThe reference will be immediately removed on disk and from\nmemory. The given reference pointer will no longer be valid.\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":"Pack all the loose references in the repository","comments":"This method will load into the cache all the loose\nreferences on the repository and update the\n`packed-refs` file with them.\n\nOnce the `packed-refs` file has been written properly,\nthe loose references will be removed from disk.\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 the 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 listing."}],"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":"Fill a list with all the references that can be found\nin a repository.","comments":"The listed references may be filtered by type, or using\na bitwise OR of several types. Use the magic value\n`GIT_REF_LISTALL` to obtain all references, including\npacked ones.\n\nThe string array will be filled with the names of all\nreferences; these values are owned by the user and\nshould be free'd manually when no longer needed, using\n`git_strarray_free`.\n","group":"reference","examples":{"general.c":["ex/HEAD/general.html#git_reference_list-79"]}},"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 listing."},{"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 (*callback)(const char *, void *), void *payload","sig":"git_repository *::unsigned int::int (*)(const char *, void *)::void *","return":{"type":"int","comment":"0 on success, GIT_EUSER on non-zero callback, or error code"},"description":"Perform an operation on each reference in the repository","comments":"The processed references may be filtered by type, or using\na bitwise OR of several types. Use the magic value\n`GIT_REF_LISTALL` to obtain all references, including\npacked ones.\n\nThe `callback` function will be called for each of the references\nin the repository, and will receive the name of the reference and\nthe `payload` value passed to this method. Returning a non-zero\nvalue from the callback will terminate the iteration.\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":"Check if a reference has been loaded from a packfile","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":"Reload a reference from disk","comments":"Reference pointers may become outdated if the Git\nrepository is accessed simultaneously by other clients\nwhile the library is open.\n\nThis method forces a reload of the reference from disk,\nto ensure that the provided information is still\nreliable.\n\nIf the reload fails (e.g. the reference no longer exists\non disk, or has become corrupted), an error code will be\nreturned and the reference pointer will be invalidated.\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"},"description":"Free the given reference","comments":"","group":"reference","examples":{"diff.c":["ex/HEAD/diff.html#git_reference_free-25","ex/HEAD/diff.html#git_reference_free-26"]}},"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":"Compare two references.","comments":"","group":"reference"},"git_reference_foreach_glob":{"type":"function","file":"refs.h","line":349,"lineto":357,"args":[{"name":"repo","type":"git_repository *","comment":"Repository where to find the references."},{"name":"glob","type":"const char *","comment":"Glob pattern references should match."},{"name":"list_flags","type":"unsigned int","comment":"Filtering flags for the reference listing."},{"name":"callback","type":"int (*)(\n\t\t\tconst char *reference_name,\n\t\t\tvoid *payload)","comment":"Callback to invoke per found reference."},{"name":"payload","type":"void *","comment":"Extra parameter to callback function."}],"argline":"git_repository *repo,\n\t\tconst char *glob,\n\t\tunsigned int list_flags,\n\t\tint (*callback)(\n\t\t\tconst char *reference_name,\n\t\t\tvoid *payload),\n\t\tvoid *payload","sig":"git_repository *::const char *::unsigned int::int (*)(\n\t\t\tconst char *reference_name,\n\t\t\tvoid *payload)::void *","return":{"type":"int","comment":"0 or an error code."},"description":"Loop over all the references and issue a callback for each one\nwhich name matches the given glob pattern.","comments":"The processed references may be filtered by type, or using\na bitwise OR of several types. Use the magic value\n`GIT_REF_LISTALL` to obtain all references, including\npacked ones.\n","group":"reference"},"git_reference_has_log":{"type":"function","file":"refs.h","line":367,"lineto":367,"args":[{"name":"ref","type":"git_reference *","comment":"A git reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"int","comment":"0 when no reflog can be found, 1 when it exists; otherwise an error code."},"description":"Check if a reflog exists for the specified reference.","comments":"","group":"reference"},"git_reference_is_branch":{"type":"function","file":"refs.h","line":377,"lineto":377,"args":[{"name":"ref","type":"git_reference *","comment":"A git reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"int","comment":"1 when the reference lives in the refs/heads namespace; 0 otherwise."},"description":"Check if a reference is a local branch.","comments":"","group":"reference"},"git_reference_is_remote":{"type":"function","file":"refs.h","line":387,"lineto":390,"args":[{"name":"ref","type":"git_reference *","comment":"A git reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"int","comment":"1 when the reference lives in the refs/remotes namespace; 0 otherwise."},"description":"Check if a reference is a remote tracking branch","comments":"","group":"reference"},"git_reference_normalize_name":{"type":"function","file":"refs.h","line":430,"lineto":434,"args":[{"name":"buffer_out","type":"char *","comment":"The user allocated buffer where the normalized name will be stored."},{"name":"buffer_size","type":"size_t","comment":"buffer_out size"},{"name":"name","type":"const char *","comment":"name to be checked."},{"name":"flags","type":"unsigned int","comment":"Flags to determine the options to be applied while checking the validatity of the name."}],"argline":"char *buffer_out,\n\tsize_t buffer_size,\n\tconst char *name,\n\tunsigned int flags","sig":"char *::size_t::const char *::unsigned int","return":{"type":"int","comment":"0 or an error code."},"description":"Normalize the reference name by removing any leading\nslash (/) characters and collapsing runs of adjacent slashes\nbetween name components into a single slash.","comments":"Once normalized, if the reference name is valid, it will be\nreturned in the user allocated buffer.\n","group":"reference"},"git_reference_peel":{"type":"function","file":"refs.h","line":451,"lineto":454,"args":[{"name":"out","type":"git_object **"},{"name":"ref","type":"git_reference *","comment":"The reference to be processed"},{"name":"type","type":"git_otype"}],"argline":"git_object **out,\n\tgit_reference *ref,\n\tgit_otype type","sig":"git_object **::git_reference *::git_otype","return":{"type":"int","comment":"0 or an error code"},"description":"Recursively peel an reference until an object of the\nspecified type is met.","comments":"The retrieved `peeled` object is owned by the repository\nand should be closed with the `git_object_free` method.\n\nIf you pass `GIT_OBJ_ANY` as the target type, then the object\nwill be peeled until a non-tag object is met.\n","group":"reference"},"git_reference_is_valid_name":{"type":"function","file":"refs.h","line":463,"lineto":464,"args":[{"name":"refname","type":"const char *","comment":"name to be checked."}],"argline":"const char *refname","sig":"const char *","return":{"type":"int","comment":"1 if the reference name is acceptable; 0 if it isn't"},"description":"Ensure the reference name is well-formed.","comments":"","group":"reference"}},"globals":{"GIT_BEGIN_DECL":{"value":"","file":"common.h","line":24,"comments":"Start declarations in C mode"},"GIT_END_DECL":{"value":"","file":"common.h","line":26,"comments":"End declarations in C mode"},"GIT_EXTERN(type)":{"value":"extern __attribute__((visibility(\"default\"))) type","file":"common.h","line":30,"comments":"Declare a public function exported for application use."},"GIT_INLINE(type)":{"value":"static __inline type","file":"common.h","line":41,"comments":"Declare a function as always inlined."},"GIT_FORMAT_PRINTF(a,b)":{"value":"__attribute__((format (printf, a, b)))","file":"common.h","line":48,"comments":"Declare a function's takes printf style arguments."},"GIT_PATH_LIST_SEPARATOR":{"value":"';'","file":"common.h","line":77,"comments":"The separator used in path list strings (ie like in the PATH\nenvironment variable). A semi-colon \";\" is used on Windows, and\na colon \":\" for all other systems."},"GIT_PATH_MAX":{"value":"4096","file":"common.h","line":86,"comments":"The maximum length of a valid git path."},"GIT_CAP_THREADS":{"file":"common.h","line":110,"value":"( 1 << 0 )","comments":"Combinations of these values describe the capabilities of libgit2."},"GIT_CAP_HTTPS":{"file":"common.h","line":111,"value":"( 1 << 1 )\n","comments":"Combinations of these values describe the capabilities of libgit2."},"GIT_INDEXCAP_IGNORE_CASE":{"file":"index.h","line":96,"value":"1","comments":"Capabilities of system that affect index actions."},"GIT_INDEXCAP_NO_FILEMODE":{"file":"index.h","line":97,"value":"2","comments":"Capabilities of system that affect index actions."},"GIT_INDEXCAP_NO_SYMLINKS":{"file":"index.h","line":98,"value":"4","comments":"Capabilities of system that affect index actions."},"GIT_INDEXCAP_FROM_OWNER":{"file":"index.h","line":99,"value":"~0u\n","comments":"Capabilities of system that affect index actions."},"GIT_STREAM_RDONLY":{"file":"odb_backend.h","line":89,"value":"(1 << 1)","comments":"Streaming mode"},"GIT_STREAM_WRONLY":{"file":"odb_backend.h","line":90,"value":"(1 << 2)","comments":"Streaming mode"},"GIT_STREAM_RW":{"file":"odb_backend.h","line":91,"value":"(GIT_STREAM_RDONLY | GIT_STREAM_WRONLY)","comments":"Streaming mode"},"GIT_DIFF_NORMAL":{"file":"diff.h","line":37,"value":"0","comments":"Flags for diff options. A combination of these flags can be passed\nin via the `flags` value in the `git_diff_options`."},"GIT_DIFF_REVERSE":{"file":"diff.h","line":38,"value":"(1 << 0)","comments":"Flags for diff options. A combination of these flags can be passed\nin via the `flags` value in the `git_diff_options`."},"GIT_DIFF_FORCE_TEXT":{"file":"diff.h","line":39,"value":"(1 << 1)","comments":"Flags for diff options. A combination of these flags can be passed\nin via the `flags` value in the `git_diff_options`."},"GIT_DIFF_IGNORE_WHITESPACE":{"file":"diff.h","line":40,"value":"(1 << 2)","comments":"Flags for diff options. A combination of these flags can be passed\nin via the `flags` value in the `git_diff_options`."},"GIT_DIFF_IGNORE_WHITESPACE_CHANGE":{"file":"diff.h","line":41,"value":"(1 << 3)","comments":"Flags for diff options. A combination of these flags can be passed\nin via the `flags` value in the `git_diff_options`."},"GIT_DIFF_IGNORE_WHITESPACE_EOL":{"file":"diff.h","line":42,"value":"(1 << 4)","comments":"Flags for diff options. A combination of these flags can be passed\nin via the `flags` value in the `git_diff_options`."},"GIT_DIFF_IGNORE_SUBMODULES":{"file":"diff.h","line":43,"value":"(1 << 5)","comments":"Flags for diff options. A combination of these flags can be passed\nin via the `flags` value in the `git_diff_options`."},"GIT_DIFF_PATIENCE":{"file":"diff.h","line":44,"value":"(1 << 6)","comments":"Flags for diff options. A combination of these flags can be passed\nin via the `flags` value in the `git_diff_options`."},"GIT_DIFF_INCLUDE_IGNORED":{"file":"diff.h","line":45,"value":"(1 << 7)","comments":"Flags for diff options. A combination of these flags can be passed\nin via the `flags` value in the `git_diff_options`."},"GIT_DIFF_INCLUDE_UNTRACKED":{"file":"diff.h","line":46,"value":"(1 << 8)","comments":"Flags for diff options. A combination of these flags can be passed\nin via the `flags` value in the `git_diff_options`."},"GIT_DIFF_INCLUDE_UNMODIFIED":{"file":"diff.h","line":47,"value":"(1 << 9)","comments":"Flags for diff options. A combination of these flags can be passed\nin via the `flags` value in the `git_diff_options`."},"GIT_DIFF_RECURSE_UNTRACKED_DIRS":{"file":"diff.h","line":48,"value":"(1 << 10)","comments":"Flags for diff options. A combination of these flags can be passed\nin via the `flags` value in the `git_diff_options`."},"GIT_DIFF_DISABLE_PATHSPEC_MATCH":{"file":"diff.h","line":49,"value":"(1 << 11)","comments":"Flags for diff options. A combination of these flags can be passed\nin via the `flags` value in the `git_diff_options`."},"GIT_OID_RAWSZ":{"value":"20","file":"oid.h","line":23,"comments":"Size (in bytes) of a raw/binary oid"},"GIT_OID_HEXSZ":{"value":"(GIT_OID_RAWSZ * 2)","file":"oid.h","line":26,"comments":"Size (in bytes) of a hex formatted oid"},"GIT_OID_MINPREFIXLEN":{"value":"4","file":"oid.h","line":30,"comments":"Minimum length (in number of hex characters,\ni.e. packets of 4 bits) of an oid prefix"},"GIT_ATTR_TRUE(attr)":{"value":"(git_attr_value(attr) == GIT_ATTR_TRUE_T)","file":"attr.h","line":33,"comments":"GIT_ATTR_TRUE checks if an attribute is set on. In core git\nparlance, this the value for \"Set\" attributes.\n\nFor example, if the attribute file contains:\n\n *.c foo\n\nThen for file `xyz.c` looking up attribute \"foo\" gives a value for\nwhich `GIT_ATTR_TRUE(value)` is true."},"GIT_ATTR_FALSE(attr)":{"value":"(git_attr_value(attr) == GIT_ATTR_FALSE_T)","file":"attr.h","line":47,"comments":"GIT_ATTR_FALSE checks if an attribute is set off. In core git\nparlance, this is the value for attributes that are \"Unset\" (not to\nbe confused with values that a \"Unspecified\").\n\nFor example, if the attribute file contains:\n\n *.h -foo\n\nThen for file `zyx.h` looking up attribute \"foo\" gives a value for\nwhich `GIT_ATTR_FALSE(value)` is true."},"GIT_ATTR_UNSPECIFIED(attr)":{"value":"(git_attr_value(attr) == GIT_ATTR_UNSPECIFIED_T)","file":"attr.h","line":65,"comments":"GIT_ATTR_UNSPECIFIED checks if an attribute is unspecified. This\nmay be due to the attribute not being mentioned at all or because\nthe attribute was explicitly set unspecified via the `!` operator.\n\nFor example, if the attribute file contains:\n\n *.c foo\n *.h -foo\n onefile.c !foo\n\nThen for `onefile.c` looking up attribute \"foo\" yields a value with\n`GIT_ATTR_UNSPECIFIED(value)` of true. Also, looking up \"foo\" on\nfile `onefile.rb` or looking up \"bar\" on any file will all give\n`GIT_ATTR_UNSPECIFIED(value)` of true."},"GIT_ATTR_HAS_VALUE(attr)":{"value":"(git_attr_value(attr) == GIT_ATTR_VALUE_T)","file":"attr.h","line":77,"comments":"GIT_ATTR_HAS_VALUE checks if an attribute is set to a value (as\nopposed to TRUE, FALSE or UNSPECIFIED). This would be the case if\nfor a file with something like:\n\n *.txt eol=lf\n\nGiven this, looking up \"eol\" for `onefile.txt` will give back the\nstring \"lf\" and `GIT_ATTR_SET_TO_VALUE(attr)` will return true."},"GIT_ATTR_CHECK_NO_SYSTEM":{"value":"(1 << 2)","file":"attr.h","line":125,"comments":"Check attribute flags: Using the system attributes file.\n\nNormally, attribute checks include looking in the /etc (or system\nequivalent) directory for a `gitattributes` file. Passing this\nflag will cause attribute checks to ignore that file."},"GIT_OK":{"file":"errors.h","line":22,"value":"0","comments":"Generic return codes"},"GIT_ERROR":{"file":"errors.h","line":23,"value":"-1","comments":"Generic return codes"},"GIT_ENOTFOUND":{"file":"errors.h","line":24,"value":"-3","comments":"Generic return codes"},"GIT_EEXISTS":{"file":"errors.h","line":25,"value":"-4","comments":"Generic return codes"},"GIT_EAMBIGUOUS":{"file":"errors.h","line":26,"value":"-5","comments":"Generic return codes"},"GIT_EBUFS":{"file":"errors.h","line":27,"value":"-6","comments":"Generic return codes"},"GIT_EUSER":{"file":"errors.h","line":28,"value":"-7","comments":"Generic return codes"},"GIT_EBAREREPO":{"file":"errors.h","line":29,"value":"-8","comments":"Generic return codes"},"GIT_PASSTHROUGH":{"file":"errors.h","line":31,"value":"-30","comments":"Generic return codes"},"GIT_ITEROVER":{"file":"errors.h","line":32,"value":"-31","comments":"Generic return codes"},"GIT_SORT_NONE":{"value":"(0)","file":"revwalk.h","line":29,"comments":"Sort the repository contents in no particular ordering;\nthis sorting is arbitrary, implementation-specific\nand subject to change at any time.\nThis is the default sorting for new walkers."},"GIT_SORT_TOPOLOGICAL":{"value":"(1 << 0)","file":"revwalk.h","line":36,"comments":"Sort the repository contents in topological order\n(parents before children); this sorting mode\ncan be combined with time sorting."},"GIT_SORT_TIME":{"value":"(1 << 1)","file":"revwalk.h","line":43,"comments":"Sort the repository contents by commit time;\nthis sorting mode can be combined with\ntopological sorting."},"GIT_SORT_REVERSE":{"value":"(1 << 2)","file":"revwalk.h","line":50,"comments":"Iterate through the repository contents in reverse\norder; this sorting mode can be combined with\nany of the above."}},"types":[["GIT_ATTR_CHECK",{"type":"enum","file":"attr.h","line":114,"lineto":116,"block":"GIT_ATTR_CHECK_FILE_THEN_INDEX\nGIT_ATTR_CHECK_INDEX_THEN_FILE\nGIT_ATTR_CHECK_INDEX_ONLY","tdef":null,"comments":"Check attribute flags: Reading values from index and working directory.\n\nWhen checking attributes, it is possible to check attribute files\nin both the working directory (if there is one) and the index (if\nthere is one). You can explicitly choose where to check and in\nwhich order using the following flags.\n\nCore git usually checks the working directory then the index,\nexcept during a checkout when it checks the index first. It will\nuse index only for creating archives or for a bare repo (if an\nindex has been specified for the bare repo).","used":{"returns":[],"needs":[]}}],["GIT_DIFF_FILE",{"type":"enum","file":"diff.h","line":96,"lineto":104,"block":"GIT_DIFF_FILE_VALID_OID\nGIT_DIFF_FILE_FREE_PATH\nGIT_DIFF_FILE_BINARY\nGIT_DIFF_FILE_NOT_BINARY\nGIT_DIFF_FILE_FREE_DATA\nGIT_DIFF_FILE_UNMAP_DATA\nGIT_DIFF_FILE_NO_DATA","tdef":null,"comments":"Flags that can be set for the file on side of a diff.\n\nMost of the flags are just for internal consumption by libgit2,\nbut some of them may be interesting to external users. They are:\n\n- VALID_OID - the `oid` value is computed and correct\n- FREE_PATH - the `path` string is separated allocated memory\n- BINARY - this file should be considered binary data\n- NOT_BINARY - this file should be considered text data\n- FREE_DATA - the internal file data is kept in allocated memory\n- UNMAP_DATA - the internal file data is kept in mmap'ed memory\n- NO_DATA - this side of the diff should not be loaded","used":{"returns":[],"needs":[]}}],["GIT_DIFF_LINE",{"type":"enum","file":"diff.h","line":189,"lineto":204,"block":"GIT_DIFF_LINE_CONTEXT\nGIT_DIFF_LINE_ADDITION\nGIT_DIFF_LINE_DELETION\nGIT_DIFF_LINE_ADD_EOFNL\nGIT_DIFF_LINE_DEL_EOFNL\nGIT_DIFF_LINE_FILE_HDR\nGIT_DIFF_LINE_HUNK_HDR\nGIT_DIFF_LINE_BINARY","tdef":null,"comments":"Line origin constants.\n\nThese values describe where a line came from and will be passed to\nthe git_diff_data_fn when iterating over a diff. There are some\nspecial origin constants at the end that are used for the text\noutput callbacks to demarcate lines that are actually part of\nthe file or hunk headers.","used":{"returns":[],"needs":[]}}],["GIT_REPOSITORY_INIT",{"type":"enum","file":"repository.h","line":185,"lineto":192,"block":"GIT_REPOSITORY_INIT_BARE\nGIT_REPOSITORY_INIT_NO_REINIT\nGIT_REPOSITORY_INIT_NO_DOTGIT_DIR\nGIT_REPOSITORY_INIT_MKDIR\nGIT_REPOSITORY_INIT_MKPATH\nGIT_REPOSITORY_INIT_EXTERNAL_TEMPLATE","tdef":null,"comments":"Option flags for `git_repository_init_ext`.\n\nThese flags configure extra behaviors to `git_repository_init_ext`.\nIn every case, the default behavior is the zero value (i.e. flag is\nnot set). Just OR the flag values together for the `flags` parameter\nwhen initializing a new repo. Details of individual values are:\n\n* BARE - Create a bare repository with no working directory.\n* NO_REINIT - Return an EEXISTS error if the repo_path appears to\n already be an git repository.\n* NO_DOTGIT_DIR - Normally a \"/.git/\" will be appended to the repo\n path for non-bare repos (if it is not already there), but\n passing this flag prevents that behavior.\n* MKDIR - Make the repo_path (and workdir_path) as needed. Init is\n always willing to create the \".git\" directory even without this\n flag. This flag tells init to create the trailing component of\n the repo and workdir paths as needed.\n* MKPATH - Recursively make all components of the repo and workdir\n paths as necessary.\n* EXTERNAL_TEMPLATE - libgit2 normally uses internal templates to\n initialize a new repo. This flags enables external templates,\n looking the \"template_path\" from the options if set, or the\n `init.templatedir` global config if not, or falling back on\n \"/usr/share/git-core/templates\" if it exists.","used":{"returns":[],"needs":[]}}],["GIT_REPOSITORY_INIT_SHARED",{"type":"enum","file":"repository.h","line":207,"lineto":211,"block":"GIT_REPOSITORY_INIT_SHARED_UMASK\nGIT_REPOSITORY_INIT_SHARED_GROUP\nGIT_REPOSITORY_INIT_SHARED_ALL","tdef":null,"comments":"Mode options for `git_repository_init_ext`.\n\nSet the mode field of the `git_repository_init_options` structure\neither to the custom mode that you would like, or to one of the\nfollowing modes:\n\n* SHARED_UMASK - Use permissions configured by umask - the default.\n* SHARED_GROUP - Use \"--shared=group\" behavior, chmod'ing the new repo\n to be group writable and \"g+sx\" for sticky group assignment.\n* SHARED_ALL - Use \"--shared=all\" behavior, adding world readability.\n* Anything else - Set to custom value.","used":{"returns":[],"needs":[]}}],["GIT_REPOSITORY_OPEN",{"type":"enum","file":"repository.h","line":98,"lineto":101,"block":"GIT_REPOSITORY_OPEN_NO_SEARCH\nGIT_REPOSITORY_OPEN_CROSS_FS","tdef":null,"comments":"Option flags for `git_repository_open_ext`.\n\n* GIT_REPOSITORY_OPEN_NO_SEARCH - Only open the repository if it can be\n immediately found in the start_path. Do not walk up from the\n start_path looking at parent directories.\n* GIT_REPOSITORY_OPEN_CROSS_FS - Unless this flag is set, open will not\n continue searching across filesystem boundaries (i.e. when `st_dev`\n changes from the `stat` system call). (E.g. Searching in a user's home\n directory \"/home/user/source/\" will not return \"/.git/\" as the found\n repo if \"/\" is a different filesystem than \"/home\".)","used":{"returns":[],"needs":[]}}],["GIT_STATUS_OPT",{"type":"enum","file":"status.h","line":102,"lineto":109,"block":"GIT_STATUS_OPT_INCLUDE_UNTRACKED\nGIT_STATUS_OPT_INCLUDE_IGNORED\nGIT_STATUS_OPT_INCLUDE_UNMODIFIED\nGIT_STATUS_OPT_EXCLUDE_SUBMODULES\nGIT_STATUS_OPT_RECURSE_UNTRACKED_DIRS\nGIT_STATUS_OPT_DISABLE_PATHSPEC_MATCH","tdef":null,"comments":"Flags to control status callbacks\n\n- GIT_STATUS_OPT_INCLUDE_UNTRACKED says that callbacks should\n be made on untracked files. These will only be made if the\n workdir files are included in the status \"show\" option.\n- GIT_STATUS_OPT_INCLUDE_IGNORED says that ignored files should\n get callbacks. Again, these callbacks will only be made if\n the workdir files are included in the status \"show\" option.\n Right now, there is no option to include all files in\n directories that are ignored completely.\n- GIT_STATUS_OPT_INCLUDE_UNMODIFIED indicates that callback\n should be made even on unmodified files.\n- GIT_STATUS_OPT_EXCLUDE_SUBMODULES indicates that directories\n which appear to be submodules should just be skipped over.\n- GIT_STATUS_OPT_RECURSE_UNTRACKED_DIRS indicates that the\n contents of untracked directories should be included in the\n status. Normally if an entire directory is new, then just\n the top-level directory will be included (with a trailing\n slash on the entry name). Given this flag, the directory\n itself will not be included, but all the files in it will.\n- GIT_STATUS_OPT_DISABLE_PATHSPEC_MATCH indicates that the given\n path will be treated as a literal path, and not as a pathspec.","used":{"returns":[],"needs":[]}}],["git_blob",{"type":"struct","value":"git_blob","file":"types.h","line":108,"lineto":108,"block":"","tdef":"typedef","comments":"In-memory representation of a blob object.","used":{"returns":[],"needs":["git_blob_free","git_blob_lookup","git_blob_lookup_prefix","git_blob_rawcontent","git_blob_rawsize","git_diff_blobs"]}}],["git_branch_t",{"type":"enum","file":"types.h","line":167,"lineto":170,"block":"GIT_BRANCH_LOCAL\nGIT_BRANCH_REMOTE","tdef":"typedef","comments":"Basic type of any Git branch.","used":{"returns":[],"needs":["git_branch_foreach","git_branch_lookup"]}}],["git_commit",{"type":"struct","value":"git_commit","file":"types.h","line":111,"lineto":111,"block":"","tdef":"typedef","comments":"Parsed representation of a commit object.","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_nth_gen_ancestor","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",{"type":"struct","value":"git_config","file":"types.h","line":126,"lineto":126,"block":"","tdef":"typedef","comments":"Memory representation of a set of config files","used":{"returns":[],"needs":["git_config_add_file","git_config_add_file_ondisk","git_config_delete","git_config_foreach","git_config_foreach_match","git_config_free","git_config_get_bool","git_config_get_int32","git_config_get_int64","git_config_get_mapped","git_config_get_multivar","git_config_get_string","git_config_new","git_config_open_default","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",{"type":"struct","value":"git_config_file","file":"types.h","line":129,"lineto":129,"block":"","tdef":"typedef","comments":"Interface to access a configuration file","used":{"returns":[],"needs":["git_config_add_file","git_config_file__ondisk"]}}],["git_delta_t",{"type":"enum","file":"diff.h","line":109,"lineto":118,"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","comments":"What type of change is described by a git_diff_delta?","used":{"returns":[],"needs":["git_diff_num_deltas_of_type","git_diff_status_char"]}}],["git_diff_data_fn",{"type":"function pointer","value":"git_diff_data_fn","file":"diff.h","line":214,"lineto":220,"comments":"When iterating over a diff, callback that will be made per text diff\nline. In this context, the provided range will be NULL.\n\nWhen printing a diff, callback that will be made to output each line\nof text. This uses some extra GIT_DIFF_LINE_... constants for output\nof lines of file and hunk headers.","used":{"returns":[],"needs":["git_diff_blobs","git_diff_foreach","git_diff_print_compact","git_diff_print_patch"]}}],["git_diff_delta",{"type":"struct","value":"git_diff_delta","file":"diff.h","line":144,"lineto":150,"block":"git_diff_file old_file\ngit_diff_file new_file\ngit_delta_t status\nunsigned int similarity\nint binary","tdef":"typedef","comments":"Description of changes to one file.\n\nWhen iterating over a diff list object, this will generally be passed to\nmost callback functions and you can use the contents to understand\nexactly what has changed.\n\nUnder some circumstances, not all fields will be filled in, but the code\ngenerally tries to fill in as much as possible. One example is that the\n\"binary\" field will not actually look at file contents if you do not\npass in hunk and/or line callbacks to the diff foreach iteration function.\nIt will just use the git attributes for those files.","used":{"returns":["git_diff_patch_delta"],"needs":["git_diff_get_patch"]}}],["git_diff_file",{"type":"struct","value":"git_diff_file","file":"diff.h","line":123,"lineto":129,"block":"git_oid oid\nconst char *path\ngit_off_t size\nunsigned int flags\nuint16_t mode","tdef":"typedef","comments":"Description of one side of a diff.","used":{"returns":[],"needs":[]}}],["git_diff_file_fn",{"type":"function pointer","value":"git_diff_file_fn","file":"diff.h","line":155,"lineto":158,"comments":"When iterating over a diff, callback that will be made per file.","used":{"returns":[],"needs":["git_diff_blobs","git_diff_foreach"]}}],["git_diff_hunk_fn",{"type":"function pointer","value":"git_diff_hunk_fn","file":"diff.h","line":173,"lineto":178,"comments":"When iterating over a diff, callback that will be made per hunk.","used":{"returns":[],"needs":["git_diff_blobs","git_diff_foreach"]}}],["git_diff_list",{"type":"struct","value":"git_diff_list","file":"diff.h","line":80,"lineto":80,"block":"","tdef":"typedef","comments":"The diff list object that contains all individual file deltas.","used":{"returns":[],"needs":["git_diff_foreach","git_diff_get_patch","git_diff_index_to_tree","git_diff_list_free","git_diff_merge","git_diff_num_deltas","git_diff_num_deltas_of_type","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_options",{"type":"struct","value":"git_diff_options","file":"diff.h","line":67,"lineto":75,"block":"uint32_t flags\nuint16_t context_lines\nuint16_t interhunk_lines\nchar *old_prefix\nchar *new_prefix\ngit_strarray pathspec\ngit_off_t max_size","tdef":"typedef","comments":"Structure describing options about how the diff should be executed.\n\nSetting all values of the structure to zero will yield the default\nvalues. Similarly, passing NULL for the options structure will\ngive the defaults. The default values are marked below.\n\n- flags: a combination of the GIT_DIFF_... values above\n- context_lines: number of lines of context to show around diffs\n- interhunk_lines: min lines between diff hunks to merge them\n- old_prefix: \"directory\" to prefix to old file names (default \"a\")\n- new_prefix: \"directory\" to prefix to new file names (default \"b\")\n- pathspec: array of paths / patterns to constrain diff\n- max_size: maximum blob size to diff, above this treated as binary","used":{"returns":[],"needs":["git_diff_blobs","git_diff_index_to_tree","git_diff_tree_to_tree","git_diff_workdir_to_index","git_diff_workdir_to_tree"]}}],["git_diff_patch",{"type":"struct","value":"git_diff_patch","file":"diff.h","line":228,"lineto":228,"block":"","tdef":"typedef","comments":"The diff patch is used to store all the text diffs for a delta.\n\nYou can easily loop over the content of patches and get information about\nthem.","used":{"returns":[],"needs":["git_diff_get_patch","git_diff_patch_delta","git_diff_patch_free","git_diff_patch_get_hunk","git_diff_patch_get_line_in_hunk","git_diff_patch_num_hunks","git_diff_patch_num_lines_in_hunk"]}}],["git_diff_range",{"type":"struct","value":"git_diff_range","file":"diff.h","line":163,"lineto":168,"block":"int old_start\nint old_lines\nint new_start\nint new_lines","tdef":"typedef","comments":"Structure describing a hunk of a diff.","used":{"returns":[],"needs":["git_diff_patch_get_hunk"]}}],["git_error_t",{"type":"enum","file":"errors.h","line":41,"lineto":59,"block":"GITERR_NOMEMORY\nGITERR_OS\nGITERR_INVALID\nGITERR_REFERENCE\nGITERR_ZLIB\nGITERR_REPOSITORY\nGITERR_CONFIG\nGITERR_REGEX\nGITERR_ODB\nGITERR_INDEX\nGITERR_OBJECT\nGITERR_NET\nGITERR_TAG\nGITERR_TREE\nGITERR_INDEXER\nGITERR_SSL\nGITERR_SUBMODULE","tdef":"typedef","comments":"Error classes","used":{"returns":[],"needs":[]}}],["git_filemode_t",{"type":"enum","file":"types.h","line":180,"lineto":193,"block":"GIT_FILEMODE_NEW\nGIT_FILEMODE_TREE\nGIT_FILEMODE_BLOB\nGIT_FILEMODE_BLOB_EXECUTABLE\nGIT_FILEMODE_LINK\nGIT_FILEMODE_COMMIT","tdef":"typedef","comments":"Valid modes for index and tree entries.","used":{"returns":[],"needs":["git_treebuilder_insert"]}}],["git_headlist_cb",{"type":"function pointer","value":"git_headlist_cb","file":"net.h","line":47,"lineto":47,"comments":"Callback for listing the remote heads","used":{"returns":[],"needs":["git_remote_ls"]}}],["git_index",{"type":"struct","value":"git_index","file":"types.h","line":123,"lineto":123,"block":"","tdef":"typedef","comments":"Memory representation of an index file.","used":{"returns":[],"needs":["git_index_add","git_index_add2","git_index_append","git_index_append2","git_index_caps","git_index_clear","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_set_caps","git_index_uniq","git_index_write","git_repository_index","git_repository_set_index","git_tree_create_fromindex"]}}],["git_index_entry",{"type":"struct","value":"git_index_entry","file":"index.h","line":68,"lineto":85,"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","comments":"Memory representation of a file entry in the index.","used":{"returns":["git_index_get"],"needs":["git_index_add2","git_index_append2","git_index_entry_stage"]}}],["git_index_entry_unmerged",{"type":"struct","value":"git_index_entry_unmerged","file":"index.h","line":88,"lineto":92,"block":"unsigned int mode[3]\ngit_oid oid[3]\nchar *path","tdef":"typedef","comments":"Representation of an unmerged file entry in the index.","used":{"returns":["git_index_get_unmerged_byindex","git_index_get_unmerged_bypath"],"needs":[]}}],["git_index_time",{"type":"struct","value":"git_index_time","file":"index.h","line":61,"lineto":65,"block":"git_time_t seconds\nunsigned int nanoseconds","tdef":"typedef","comments":"Time used in a git index entry","used":{"returns":[],"needs":[]}}],["git_indexer_stats",{"type":"struct","value":"git_indexer_stats","file":"indexer.h","line":19,"lineto":27,"block":"unsigned int total\nunsigned int processed\nunsigned int received","tdef":"typedef","comments":"This is passed as the first argument to the callback to allow the\nuser to see the progress.","used":{"returns":[],"needs":["git_checkout_head","git_checkout_index","git_checkout_tree","git_clone","git_clone_bare","git_index_read_tree","git_indexer_run","git_indexer_stream_add","git_indexer_stream_finalize","git_remote_download"]}}],["git_note",{"type":"struct","value":"git_note","file":"types.h","line":138,"lineto":138,"block":"","tdef":"typedef","comments":"Representation of a git note","used":{"returns":[],"needs":["git_note_free","git_note_message","git_note_oid","git_note_read"]}}],["git_note_data",{"type":"struct","value":"git_note_data","file":"notes.h","line":113,"lineto":116,"block":"git_oid blob_oid\ngit_oid annotated_object_oid","tdef":"typedef","comments":"Basic components of a note\n\n - Oid of the blob containing the message\n - Oid of the git object being annotated","used":{"returns":[],"needs":["git_note_foreach"]}}],["git_object",{"type":"struct","value":"git_object","file":"types.h","line":99,"lineto":99,"block":"","tdef":"typedef","comments":"Representation of a generic object in a repository","used":{"returns":[],"needs":["git_branch_create","git_checkout_tree","git_object_free","git_object_id","git_object_lookup","git_object_lookup_prefix","git_object_owner","git_object_peel","git_object_type","git_reference_peel","git_reset","git_revparse_single","git_tag_create","git_tag_create_lightweight","git_tag_peel","git_tag_target","git_tree_entry_to_object"]}}],["git_odb",{"type":"struct","value":"git_odb","file":"types.h","line":81,"lineto":81,"block":"","tdef":"typedef","comments":"An open object database handle.","used":{"returns":[],"needs":["git_odb_add_alternate","git_odb_add_backend","git_odb_exists","git_odb_foreach","git_odb_free","git_odb_new","git_odb_open","git_odb_open_rstream","git_odb_open_wstream","git_odb_read","git_odb_read_header","git_odb_read_prefix","git_odb_write","git_repository_odb","git_repository_set_odb","git_repository_wrap_odb"]}}],["git_odb_backend",{"type":"struct","value":"git_odb_backend","file":"types.h","line":84,"lineto":84,"block":"","tdef":"typedef","comments":"A custom backend in an ODB","used":{"returns":[],"needs":["git_odb_add_alternate","git_odb_add_backend"]}}],["git_odb_object",{"type":"struct","value":"git_odb_object","file":"types.h","line":87,"lineto":87,"block":"","tdef":"typedef","comments":"An object read from the ODB","used":{"returns":[],"needs":["git_odb_object_data","git_odb_object_free","git_odb_object_id","git_odb_object_size","git_odb_object_type","git_odb_read","git_odb_read_prefix"]}}],["git_odb_stream",{"type":"struct","value":"git_odb_stream","file":"types.h","line":90,"lineto":90,"block":"","tdef":"typedef","comments":"A stream to read/write from the ODB","used":{"returns":[],"needs":["git_odb_open_rstream","git_odb_open_wstream"]}}],["git_oid",{"type":"struct","value":"git_oid","file":"oid.h","line":33,"lineto":37,"block":"","tdef":"typedef","comments":"Unique identity of any object (commit, tree, blob, tag).","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_submodule_head_oid","git_submodule_index_oid","git_submodule_wd_oid","git_tag_id","git_tag_target_oid","git_tree_entry_id","git_tree_id"],"needs":["git_blob_create_frombuffer","git_blob_create_fromchunks","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_merge_base_many","git_note_create","git_note_read","git_note_remove","git_object_lookup","git_object_lookup_prefix","git_odb_exists","git_odb_foreach","git_odb_hash","git_odb_hashfile","git_odb_open_rstream","git_odb_read","git_odb_read_header","git_odb_read_prefix","git_odb_write","git_oid_allocfmt","git_oid_cmp","git_oid_cpy","git_oid_equal","git_oid_fmt","git_oid_fromraw","git_oid_fromstr","git_oid_fromstrn","git_oid_iszero","git_oid_ncmp","git_oid_pathfmt","git_oid_streq","git_oid_tostr","git_reference_create_oid","git_reference_name_to_oid","git_reference_set_oid","git_reflog_append","git_repository_hashfile","git_repository_set_head_detached","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_entry_byoid","git_tree_lookup","git_tree_lookup_prefix","git_treebuilder_insert","git_treebuilder_write"]}}],["git_oid_shorten",{"type":"struct","value":"git_oid_shorten","file":"oid.h","line":196,"lineto":196,"block":"","tdef":"typedef","comments":"OID Shortener object","used":{"returns":["git_oid_shorten_new"],"needs":["git_oid_shorten_add","git_oid_shorten_free"]}}],["git_otype",{"type":"enum","file":"types.h","line":67,"lineto":78,"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","comments":"Basic type (loose or packed) of any Git object.","used":{"returns":[],"needs":["git_object__size","git_object_lookup","git_object_lookup_prefix","git_object_peel","git_object_type2string","git_object_typeisloose","git_odb_hash","git_odb_hashfile","git_odb_open_wstream","git_odb_read_header","git_odb_write","git_reference_peel","git_repository_hashfile"]}}],["git_ref_t",{"type":"enum","file":"types.h","line":157,"lineto":164,"block":"GIT_REF_INVALID\nGIT_REF_OID\nGIT_REF_SYMBOLIC\nGIT_REF_PACKED\nGIT_REF_HAS_PEEL\nGIT_REF_LISTALL","tdef":"typedef","comments":"Basic type of any Git reference.","used":{"returns":[],"needs":[]}}],["git_reference",{"type":"struct","value":"git_reference","file":"types.h","line":154,"lineto":154,"block":"","tdef":"typedef","comments":"In-memory representation of a reference.","used":{"returns":[],"needs":["git_branch_create","git_branch_delete","git_branch_lookup","git_branch_move","git_branch_tracking","git_reference_cmp","git_reference_create_oid","git_reference_create_symbolic","git_reference_delete","git_reference_free","git_reference_has_log","git_reference_is_branch","git_reference_is_packed","git_reference_is_remote","git_reference_lookup","git_reference_name","git_reference_oid","git_reference_owner","git_reference_peel","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_repository_head"]}}],["git_reflog",{"type":"struct","value":"git_reflog","file":"types.h","line":135,"lineto":135,"block":"","tdef":"typedef","comments":"Representation of a reference log","used":{"returns":[],"needs":["git_reflog_append","git_reflog_drop","git_reflog_entry_byindex","git_reflog_entrycount","git_reflog_free","git_reflog_read","git_reflog_write"]}}],["git_reflog_entry",{"type":"struct","value":"git_reflog_entry","file":"types.h","line":132,"lineto":132,"block":"","tdef":"typedef","comments":"Representation of a reference log entry","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_callbacks",{"type":"struct","value":"git_remote_callbacks","file":"remote.h","line":289,"lineto":294,"block":"void (*progress)(const char *str, int len, void *data)\nint (*completion)(git_remote_completion_type type, void *data)\nint (*update_tips)(const char *refname, const git_oid *a, const git_oid *b, void *data)\nvoid *data","tdef":null,"comments":"The callback settings structure\n\nSet the calbacks to be called by the remote.","used":{"returns":[],"needs":["git_remote_set_callbacks"]}}],["git_remote_head",{"type":"struct","value":"git_remote_head","file":"net.h","line":37,"lineto":42,"block":"int local:1\ngit_oid oid\ngit_oid loid\nchar *name","tdef":null,"comments":"Remote head description, given out on `ls` calls.","used":{"returns":[],"needs":[]}}],["git_repository",{"type":"struct","value":"git_repository","file":"types.h","line":96,"lineto":96,"block":"","tdef":"typedef","comments":"Representation of an existing git repository,\nincluding all its object contents","used":{"returns":["git_object_owner","git_reference_owner","git_revwalk_repository","git_submodule_owner"],"needs":["git_attr_add_macro","git_attr_cache_flush","git_attr_foreach","git_attr_get","git_attr_get_many","git_blob_create_frombuffer","git_blob_create_fromchunks","git_blob_create_fromdisk","git_blob_create_fromfile","git_blob_lookup","git_blob_lookup_prefix","git_branch_create","git_branch_foreach","git_branch_lookup","git_checkout_head","git_checkout_index","git_checkout_tree","git_clone","git_clone_bare","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_ignore_add_rule","git_ignore_clear_internal_rules","git_ignore_path_is_ignored","git_merge_base","git_merge_base_many","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_foreach_glob","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_detach_head","git_repository_free","git_repository_hashfile","git_repository_head","git_repository_head_detached","git_repository_head_orphan","git_repository_index","git_repository_init","git_repository_init_ext","git_repository_is_bare","git_repository_is_empty","git_repository_message","git_repository_message_remove","git_repository_odb","git_repository_open","git_repository_open_ext","git_repository_path","git_repository_set_config","git_repository_set_head","git_repository_set_head_detached","git_repository_set_index","git_repository_set_odb","git_repository_set_workdir","git_repository_workdir","git_repository_wrap_odb","git_reset","git_revparse_single","git_revwalk_new","git_status_file","git_status_foreach","git_status_foreach_ext","git_status_should_ignore","git_submodule_add_setup","git_submodule_foreach","git_submodule_lookup","git_submodule_open","git_submodule_reload_all","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_repository_init_options",{"type":"struct","value":"git_repository_init_options","file":"repository.h","line":241,"lineto":249,"block":"uint32_t flags\nuint32_t mode\nconst char *workdir_path\nconst char *description\nconst char *template_path\nconst char *initial_head\nconst char *origin_url","tdef":"typedef","comments":"Extended options structure for `git_repository_init_ext`.\n\nThis contains extra options for `git_repository_init_ext` that enable\nadditional initialization features. The fields are:\n\n* flags - Combination of GIT_REPOSITORY_INIT flags above.\n* mode - Set to one of the standard GIT_REPOSITORY_INIT_SHARED_...\n constants above, or to a custom value that you would like.\n* workdir_path - The path to the working dir or NULL for default (i.e.\n repo_path parent on non-bare repos). IF THIS IS RELATIVE PATH,\n IT WILL BE EVALUATED RELATIVE TO THE REPO_PATH. If this is not\n the \"natural\" working directory, a .git gitlink file will be\n created here linking to the repo_path.\n* description - If set, this will be used to initialize the \"description\"\n file in the repository, instead of using the template content.\n* template_path - When GIT_REPOSITORY_INIT_EXTERNAL_TEMPLATE is set,\n this contains the path to use for the template directory. If\n this is NULL, the config or default directory options will be\n used instead.\n* initial_head - The name of the head to point HEAD at. If NULL, then\n this will be treated as \"master\" and the HEAD ref will be set\n to \"refs/heads/master\". If this begins with \"refs/\" it will be\n used verbatim; otherwise \"refs/heads/\" will be prefixed.\n* origin_url - If this is non-NULL, then after the rest of the\n repository initialization is completed, an \"origin\" remote\n will be added pointing to this URL.","used":{"returns":[],"needs":["git_repository_init_ext"]}}],["git_reset_type",{"type":"enum","file":"types.h","line":173,"lineto":177,"block":"GIT_RESET_SOFT\nGIT_RESET_MIXED\nGIT_RESET_HARD","tdef":"typedef","comments":"Kinds of reset operation.","used":{"returns":[],"needs":["git_reset"]}}],["git_revwalk",{"type":"struct","value":"git_revwalk","file":"types.h","line":102,"lineto":102,"block":"","tdef":"typedef","comments":"Representation of an in-progress walk through the commits in a repo","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",{"type":"struct","value":"git_signature","file":"types.h","line":147,"lineto":151,"block":"char *name\nchar *email\ngit_time when","tdef":"typedef","comments":"An action signature (e.g. for committers, taggers, etc)","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_append","git_signature_dup","git_signature_free","git_signature_new","git_signature_now","git_tag_create"]}}],["git_status_options",{"type":"struct","value":"git_status_options","file":"status.h","line":116,"lineto":120,"block":"git_status_show_t show\nunsigned int flags\ngit_strarray pathspec","tdef":"typedef","comments":"Options to control how callbacks will be made by\n`git_status_foreach_ext()`.","used":{"returns":[],"needs":["git_status_foreach_ext"]}}],["git_status_show_t",{"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","comments":"Select the files on which to report status.\n\n- GIT_STATUS_SHOW_INDEX_AND_WORKDIR is the default. This is the\n rough equivalent of `git status --porcelain` where each file\n will receive a callback indicating its status in the index and\n in the workdir.\n- GIT_STATUS_SHOW_INDEX_ONLY will only make callbacks for index\n side of status. The status of the index contents relative to\n the HEAD will be given.\n- GIT_STATUS_SHOW_WORKDIR_ONLY will only make callbacks for the\n workdir side of status, reporting the status of workdir content\n relative to the index.\n- GIT_STATUS_SHOW_INDEX_THEN_WORKDIR behaves like index-only\n followed by workdir-only, causing two callbacks to be issued\n per file (first index then workdir). This is slightly more\n efficient than making separate calls. This makes it easier to\n emulate the output of a plain `git status`.","used":{"returns":[],"needs":[]}}],["git_submodule",{"type":"struct","value":"git_submodule","file":"submodule.h","line":32,"lineto":32,"block":"","tdef":"typedef","comments":"Opaque structure representing a submodule.\n\nSubmodule support in libgit2 builds a list of known submodules and keeps\nit in the repository. The list is built from the .gitmodules file, the\n.git/config file, the index, and the HEAD tree. Items in the working\ndirectory that look like submodules (i.e. a git repo) but are not\nmentioned in those places won't be tracked.","used":{"returns":[],"needs":["git_submodule_add_finalize","git_submodule_add_setup","git_submodule_add_to_index","git_submodule_fetch_recurse_submodules","git_submodule_foreach","git_submodule_head_oid","git_submodule_ignore","git_submodule_index_oid","git_submodule_init","git_submodule_lookup","git_submodule_name","git_submodule_open","git_submodule_owner","git_submodule_path","git_submodule_reload","git_submodule_save","git_submodule_set_fetch_recurse_submodules","git_submodule_set_ignore","git_submodule_set_update","git_submodule_set_url","git_submodule_status","git_submodule_sync","git_submodule_update","git_submodule_url","git_submodule_wd_oid"]}}],["git_submodule_ignore_t",{"type":"enum","file":"submodule.h","line":55,"lineto":61,"block":"GIT_SUBMODULE_IGNORE_DEFAULT\nGIT_SUBMODULE_IGNORE_NONE\nGIT_SUBMODULE_IGNORE_UNTRACKED\nGIT_SUBMODULE_IGNORE_DIRTY\nGIT_SUBMODULE_IGNORE_ALL","tdef":"typedef","comments":"Values that could be specified for how closely to examine the\nworking directory when getting submodule status.\n\nUse the DEFUALT value if you have altered the ignore value via\n`git_submodule_set_ignore()` and wish to reset to the original value.","used":{"returns":[],"needs":["git_submodule_set_ignore"]}}],["git_submodule_status_t",{"type":"enum","file":"submodule.h","line":105,"lineto":124,"block":"GIT_SUBMODULE_STATUS_IN_HEAD\nGIT_SUBMODULE_STATUS_IN_INDEX\nGIT_SUBMODULE_STATUS_IN_CONFIG\nGIT_SUBMODULE_STATUS_IN_WD\nGIT_SUBMODULE_STATUS_INDEX_ADDED\nGIT_SUBMODULE_STATUS_INDEX_DELETED\nGIT_SUBMODULE_STATUS_INDEX_MODIFIED\nGIT_SUBMODULE_STATUS_WD_UNINITIALIZED\nGIT_SUBMODULE_STATUS_WD_ADDED\nGIT_SUBMODULE_STATUS_WD_DELETED\nGIT_SUBMODULE_STATUS_WD_MODIFIED\nGIT_SUBMODULE_STATUS_WD_INDEX_MODIFIED\nGIT_SUBMODULE_STATUS_WD_WD_MODIFIED\nGIT_SUBMODULE_STATUS_WD_UNTRACKED","tdef":"typedef","comments":"Return codes for submodule status.\n\nA combination of these flags will be returned to describe the status of a\nsubmodule. Depending on the \"ignore\" property of the submodule, some of\nthe flags may never be returned because they indicate changes that are\nsupposed to be ignored.\n\nSubmodule info is contained in 4 places: the HEAD tree, the index, config\nfiles (both .git/config and .gitmodules), and the working directory. Any\nor all of those places might be missing information about the submodule\ndepending on what state the repo is in. We consider all four places to\nbuild the combination of status flags.\n\nThere are four values that are not really status, but give basic info\nabout what sources of submodule data are available. These will be\nreturned even if ignore is set to \"ALL\".\n\n* IN_HEAD - superproject head contains submodule\n* IN_INDEX - superproject index contains submodule\n* IN_CONFIG - superproject gitmodules has submodule\n* IN_WD - superproject workdir has submodule\n\nThe following values will be returned so long as ignore is not \"ALL\".\n\n* INDEX_ADDED - in index, not in head\n* INDEX_DELETED - in head, not in index\n* INDEX_MODIFIED - index and head don't match\n* WD_UNINITIALIZED - workdir contains empty directory\n* WD_ADDED - in workdir, not index\n* WD_DELETED - in index, not workdir\n* WD_MODIFIED - index and workdir head don't match\n\nThe following can only be returned if ignore is \"NONE\" or \"UNTRACKED\".\n\n* WD_INDEX_MODIFIED - submodule workdir index is dirty\n* WD_WD_MODIFIED - submodule workdir has modified files\n\nLastly, the following will only be returned for ignore \"NONE\".\n\n* WD_UNTRACKED - wd contains untracked files","used":{"returns":[],"needs":[]}}],["git_submodule_update_t",{"type":"enum","file":"submodule.h","line":40,"lineto":46,"block":"GIT_SUBMODULE_UPDATE_DEFAULT\nGIT_SUBMODULE_UPDATE_CHECKOUT\nGIT_SUBMODULE_UPDATE_REBASE\nGIT_SUBMODULE_UPDATE_MERGE\nGIT_SUBMODULE_UPDATE_NONE","tdef":"typedef","comments":"Values that could be specified for the update rule of a submodule.\n\nUse the DEFAULT value if you have altered the update value via\n`git_submodule_set_update()` and wish to reset to the original default.","used":{"returns":[],"needs":["git_submodule_set_update"]}}],["git_tag",{"type":"struct","value":"git_tag","file":"types.h","line":105,"lineto":105,"block":"","tdef":"typedef","comments":"Parsed representation of a tag object.","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",{"type":"struct","value":"git_time","file":"types.h","line":141,"lineto":144,"block":"git_time_t time\nint offset","tdef":"typedef","comments":"Time in a signature","used":{"returns":[],"needs":[]}}],["git_tree",{"type":"struct","value":"git_tree","file":"types.h","line":117,"lineto":117,"block":"","tdef":"typedef","comments":"Representation of a tree object.","used":{"returns":[],"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_byindex","git_tree_entry_byname","git_tree_entry_byoid","git_tree_entry_bypath","git_tree_entrycount","git_tree_free","git_tree_id","git_tree_lookup","git_tree_lookup_prefix","git_tree_walk","git_treebuilder_create"]}}],["git_tree_entry",{"type":"struct","value":"git_tree_entry","file":"types.h","line":114,"lineto":114,"block":"","tdef":"typedef","comments":"Representation of each one of the entries in a tree object.","used":{"returns":["git_tree_entry_byindex","git_tree_entry_byname","git_tree_entry_byoid","git_tree_entry_dup","git_treebuilder_get"],"needs":["git_tree_entry_bypath","git_tree_entry_dup","git_tree_entry_filemode","git_tree_entry_free","git_tree_entry_id","git_tree_entry_name","git_tree_entry_to_object","git_tree_entry_type","git_treebuilder_filter","git_treebuilder_insert"]}}],["git_treebuilder",{"type":"struct","value":"git_treebuilder","file":"types.h","line":120,"lineto":120,"block":"","tdef":"typedef","comments":"Constructor for in-memory trees","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_cb",{"type":"function pointer","value":"git_treewalk_cb","file":"tree.h","line":342,"lineto":342,"comments":"Callback for the tree traversal method","used":{"returns":[],"needs":["git_tree_walk"]}}]],"prefix":"include/git2","groups":[["attr",["git_attr_add_macro","git_attr_cache_flush","git_attr_foreach","git_attr_get","git_attr_get_many"]],["blob",["git_blob_create_frombuffer","git_blob_create_fromchunks","git_blob_create_fromdisk","git_blob_create_fromfile","git_blob_free","git_blob_lookup","git_blob_lookup_prefix","git_blob_rawcontent","git_blob_rawsize"]],["branch",["git_branch_create","git_branch_delete","git_branch_foreach","git_branch_lookup","git_branch_move","git_branch_tracking"]],["checkout",["git_checkout_head","git_checkout_index","git_checkout_tree"]],["clone",["git_clone","git_clone_bare"]],["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_nth_gen_ancestor","git_commit_parent","git_commit_parent_oid","git_commit_parentcount","git_commit_time","git_commit_time_offset","git_commit_tree","git_commit_tree_oid"]],["config",["git_config_add_file","git_config_add_file_ondisk","git_config_delete","git_config_file__ondisk","git_config_find_global","git_config_find_system","git_config_foreach","git_config_foreach_match","git_config_free","git_config_get_bool","git_config_get_int32","git_config_get_int64","git_config_get_mapped","git_config_get_multivar","git_config_get_string","git_config_new","git_config_open_default","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_get_patch","git_diff_index_to_tree","git_diff_list_free","git_diff_merge","git_diff_num_deltas","git_diff_num_deltas_of_type","git_diff_patch_delta","git_diff_patch_free","git_diff_patch_get_hunk","git_diff_patch_get_line_in_hunk","git_diff_patch_num_hunks","git_diff_patch_num_lines_in_hunk","git_diff_print_compact","git_diff_print_patch","git_diff_status_char","git_diff_tree_to_tree","git_diff_workdir_to_index","git_diff_workdir_to_tree"]],["giterr",["giterr_clear","giterr_last","giterr_set_oom","giterr_set_str"]],["ignore",["git_ignore_add_rule","git_ignore_clear_internal_rules","git_ignore_path_is_ignored"]],["index",["git_index_add","git_index_add2","git_index_append","git_index_append2","git_index_caps","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_set_caps","git_index_uniq","git_index_write"]],["indexer",["git_indexer_free","git_indexer_hash","git_indexer_new","git_indexer_run","git_indexer_stream_add","git_indexer_stream_finalize","git_indexer_stream_free","git_indexer_stream_hash","git_indexer_stream_new","git_indexer_write"]],["libgit2",["git_libgit2_capabilities","git_libgit2_version"]],["merge",["git_merge_base","git_merge_base_many"]],["message",["git_message_prettify"]],["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__size","git_object_free","git_object_id","git_object_lookup","git_object_lookup_prefix","git_object_owner","git_object_peel","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_foreach","git_odb_free","git_odb_hash","git_odb_hashfile","git_odb_new","git_odb_object_data","git_odb_object_free","git_odb_object_id","git_odb_object_size","git_odb_object_type","git_odb_open","git_odb_open_rstream","git_odb_open_wstream","git_odb_read","git_odb_read_header","git_odb_read_prefix","git_odb_write"]],["oid",["git_oid_allocfmt","git_oid_cmp","git_oid_cpy","git_oid_equal","git_oid_fmt","git_oid_fromraw","git_oid_fromstr","git_oid_fromstrn","git_oid_iszero","git_oid_ncmp","git_oid_pathfmt","git_oid_shorten_add","git_oid_shorten_free","git_oid_shorten_new","git_oid_streq","git_oid_tostr"]],["reference",["git_reference_cmp","git_reference_create_oid","git_reference_create_symbolic","git_reference_delete","git_reference_foreach","git_reference_foreach_glob","git_reference_free","git_reference_has_log","git_reference_is_branch","git_reference_is_packed","git_reference_is_remote","git_reference_is_valid_name","git_reference_list","git_reference_lookup","git_reference_name","git_reference_name_to_oid","git_reference_normalize_name","git_reference_oid","git_reference_owner","git_reference_packall","git_reference_peel","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_append","git_reflog_delete","git_reflog_drop","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_force","git_refspec_parse","git_refspec_src","git_refspec_src_matches","git_refspec_transform"]],["remote",["git_remote_add","git_remote_check_cert","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_pushurl","git_remote_save","git_remote_set_callbacks","git_remote_set_fetchspec","git_remote_set_pushspec","git_remote_set_pushurl","git_remote_set_url","git_remote_supported_url","git_remote_update_tips","git_remote_url","git_remote_valid_url"]],["repository",["git_repository_config","git_repository_detach_head","git_repository_discover","git_repository_free","git_repository_hashfile","git_repository_head","git_repository_head_detached","git_repository_head_orphan","git_repository_index","git_repository_init","git_repository_init_ext","git_repository_is_bare","git_repository_is_empty","git_repository_message","git_repository_message_remove","git_repository_odb","git_repository_open","git_repository_open_ext","git_repository_path","git_repository_set_config","git_repository_set_head","git_repository_set_head_detached","git_repository_set_index","git_repository_set_odb","git_repository_set_workdir","git_repository_workdir","git_repository_wrap_odb"]],["reset",["git_reset"]],["revparse",["git_revparse_single"]],["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_add_finalize","git_submodule_add_setup","git_submodule_add_to_index","git_submodule_fetch_recurse_submodules","git_submodule_foreach","git_submodule_head_oid","git_submodule_ignore","git_submodule_index_oid","git_submodule_init","git_submodule_lookup","git_submodule_name","git_submodule_open","git_submodule_owner","git_submodule_path","git_submodule_reload","git_submodule_reload_all","git_submodule_save","git_submodule_set_fetch_recurse_submodules","git_submodule_set_ignore","git_submodule_set_update","git_submodule_set_url","git_submodule_status","git_submodule_sync","git_submodule_update","git_submodule_url","git_submodule_wd_oid"]],["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_byindex","git_tree_entry_byname","git_tree_entry_byoid","git_tree_entry_bypath","git_tree_entry_dup","git_tree_entry_filemode","git_tree_entry_free","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_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":[["showindex.c","ex/HEAD/showindex.html"],["general.c","ex/HEAD/general.html"],["network/ls-remote.c","ex/HEAD/ls-remote.html"],["network/git2.c","ex/HEAD/git2.html"],["network/clone.c","ex/HEAD/clone.html"],["network/index-pack.c","ex/HEAD/index-pack.html"],["network/fetch.c","ex/HEAD/fetch.html"],["diff.c","ex/HEAD/diff.html"]]} \ No newline at end of file
+{"files":[{"file":"version.h","functions":[],"meta":{},"lines":15},{"file":"types.h","functions":[],"meta":{"brief":"libgit2 base & compatibility types","ingroup":"Git","comments":"\n"},"lines":201},{"file":"tree.h","functions":["git_tree_lookup","git_tree_lookup_prefix","git_tree_free","git_tree_entry_free","git_tree_entry_dup","git_tree_id","git_tree_entrycount","git_tree_entry_byname","git_tree_entry_byindex","git_tree_entry_byoid","git_tree_entry_filemode","git_tree_entry_name","git_tree_entry_id","git_tree_entry_type","git_tree_entry_to_object","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_entry_bypath","git_tree_walk"],"meta":{"brief":"Git tree parsing, loading routines","defgroup":"git_tree Git tree parsing, loading routines","ingroup":"Git","comments":"\n"},"lines":356},{"file":"transport.h","functions":["git_transport_new","git_transport_valid_url","git_transport_dummy","git_transport_local","git_transport_smart","git_smart_subtransport_http","git_smart_subtransport_git"],"meta":{"brief":"Git transport interfaces and functions","defgroup":"git_transport interfaces and functions","ingroup":"Git","comments":"\n"},"lines":257},{"file":"threads.h","functions":["git_threads_init","git_threads_shutdown"],"meta":{"brief":"Library level thread functions","defgroup":"git_thread Threading functions","ingroup":"Git","comments":"\n"},"lines":47},{"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_foreach","git_tag_peel"],"meta":{"brief":"Git tag parsing routines","defgroup":"git_tag Git tag management","ingroup":"Git","comments":"\n"},"lines":313},{"file":"submodule.h","functions":["git_submodule_lookup","git_submodule_foreach","git_submodule_add_setup","git_submodule_add_finalize","git_submodule_add_to_index","git_submodule_save","git_submodule_owner","git_submodule_name","git_submodule_path","git_submodule_url","git_submodule_set_url","git_submodule_index_oid","git_submodule_head_oid","git_submodule_wd_oid","git_submodule_ignore","git_submodule_set_ignore","git_submodule_update","git_submodule_set_update","git_submodule_fetch_recurse_submodules","git_submodule_set_fetch_recurse_submodules","git_submodule_init","git_submodule_sync","git_submodule_open","git_submodule_reload","git_submodule_reload_all","git_submodule_status"],"meta":{"brief":"Git submodule management utilities","defgroup":"git_submodule Git submodule management routines","ingroup":"Git","comments":"\n"},"lines":509},{"file":"strarray.h","functions":["git_strarray_free","git_strarray_copy"],"meta":{"brief":"Git string array routines","defgroup":"git_strarray Git string array routines","ingroup":"Git","comments":"\n"},"lines":53},{"file":"stdint.h","functions":[],"meta":{},"lines":247},{"file":"status.h","functions":["git_status_foreach","git_status_foreach_ext","git_status_file","git_status_should_ignore"],"meta":{"brief":"Git file status routines","defgroup":"git_status Git file status routines","ingroup":"Git","comments":"\n"},"lines":215},{"file":"stash.h","functions":["git_stash_save","git_stash_foreach","git_stash_drop"],"meta":{"brief":"Git stash management routines","ingroup":"Git","comments":"\n"},"lines":122},{"file":"signature.h","functions":["git_signature_new","git_signature_now","git_signature_dup","git_signature_free"],"meta":{"brief":"Git signature creation","defgroup":"git_signature Git signature creation","ingroup":"Git","comments":"\n"},"lines":68},{"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":{"brief":"Git revision traversal routines","defgroup":"git_revwalk Git revision traversal routines","ingroup":"Git","comments":"\n"},"lines":237},{"file":"revparse.h","functions":["git_revparse_single"],"meta":{"brief":"Git revision parsing routines","defgroup":"git_revparse Git revision parsing routines","ingroup":"Git","comments":"\n"},"lines":36},{"file":"reset.h","functions":["git_reset"],"meta":{"brief":"Git reset management routines","ingroup":"Git","comments":"\n"},"lines":47},{"file":"repository.h","functions":["git_repository_open","git_repository_wrap_odb","git_repository_discover","git_repository_open_ext","git_repository_free","git_repository_init","git_repository_init_ext","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","git_repository_message","git_repository_message_remove","git_repository_hashfile","git_repository_set_head","git_repository_set_head_detached","git_repository_detach_head","git_repository_state"],"meta":{"brief":"Git repository management routines","defgroup":"git_repository Git repository management routines","ingroup":"Git","comments":"\n"},"lines":596},{"file":"remote.h","functions":["git_remote_new","git_remote_load","git_remote_save","git_remote_name","git_remote_url","git_remote_pushurl","git_remote_set_url","git_remote_set_pushurl","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_stop","git_remote_disconnect","git_remote_free","git_remote_update_tips","git_remote_valid_url","git_remote_supported_url","git_remote_list","git_remote_add","git_remote_check_cert","git_remote_set_transport","git_remote_set_callbacks","git_remote_stats","git_remote_autotag","git_remote_set_autotag","git_remote_rename"],"meta":{"brief":"Git remote management functions","defgroup":"git_remote remote management functions","ingroup":"Git","comments":"\n"},"lines":384},{"file":"refspec.h","functions":["git_refspec_src","git_refspec_dst","git_refspec_force","git_refspec_src_matches","git_refspec_transform"],"meta":{"brief":"Git refspec attributes","defgroup":"git_refspec Git refspec attributes","ingroup":"Git","comments":"\n"},"lines":68},{"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","git_reference_foreach_glob","git_reference_has_log","git_reference_is_branch","git_reference_is_remote","git_reference_normalize_name","git_reference_peel","git_reference_is_valid_name"],"meta":{"brief":"Git reference management routines","defgroup":"git_reference Git reference management routines","ingroup":"Git","comments":"\n"},"lines":493},{"file":"reflog.h","functions":["git_reflog_read","git_reflog_write","git_reflog_append","git_reflog_rename","git_reflog_delete","git_reflog_entrycount","git_reflog_entry_byindex","git_reflog_drop","git_reflog_entry_oidold","git_reflog_entry_oidnew","git_reflog_entry_committer","git_reflog_entry_msg","git_reflog_free"],"meta":{"brief":"Git reflog management routines","defgroup":"git_reflog Git reflog management routines","ingroup":"Git","comments":"\n"},"lines":158},{"file":"pack.h","functions":["git_packbuilder_new","git_packbuilder_set_threads","git_packbuilder_insert","git_packbuilder_insert_tree","git_packbuilder_write","git_packbuilder_free"],"meta":{"brief":"Git pack management routines","defgroup":"git_pack Git pack management routines","ingroup":"Git","comments":"\n"},"lines":89},{"file":"oid.h","functions":["git_oid_fromstr","git_oid_fromstrn","git_oid_fromraw","git_oid_fmt","git_oid_pathfmt","git_oid_allocfmt","git_oid_tostr","git_oid_cpy","git_oid_cmp","git_oid_equal","git_oid_ncmp","git_oid_streq","git_oid_iszero","git_oid_shorten_new","git_oid_shorten_add","git_oid_shorten_free"],"meta":{"brief":"Git object id routines","defgroup":"git_oid Git object id routines","ingroup":"Git","comments":"\n"},"lines":249},{"file":"odb_backend.h","functions":[],"meta":{"brief":"Git custom backend functions","defgroup":"git_backend Git custom backend API","ingroup":"Git","comments":"\n"},"lines":113},{"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_read_header","git_odb_exists","git_odb_foreach","git_odb_write","git_odb_open_wstream","git_odb_open_rstream","git_odb_hash","git_odb_hashfile","git_odb_object_free","git_odb_object_id","git_odb_object_data","git_odb_object_size","git_odb_object_type"],"meta":{"brief":"Git object database routines","defgroup":"git_odb Git object database routines","ingroup":"Git","comments":"\n"},"lines":348},{"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","git_object__size","git_object_peel"],"meta":{"brief":"Git revision object management routines","defgroup":"git_object Git revision object management routines","ingroup":"Git","comments":"\n"},"lines":193},{"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":{"brief":"Git notes management routines","defgroup":"git_note Git notes management routines","ingroup":"Git","comments":"\n"},"lines":143},{"file":"net.h","functions":[],"meta":{"brief":"Git networking declarations","ingroup":"Git","comments":"\n"},"lines":51},{"file":"message.h","functions":["git_message_prettify"],"meta":{"brief":"Git message management routines","ingroup":"Git","comments":"\n"},"lines":43},{"file":"merge.h","functions":["git_merge_base","git_merge_base_many"],"meta":{"brief":"Git merge-base routines","defgroup":"git_revwalk Git merge-base routines","ingroup":"Git","comments":"\n"},"lines":45},{"file":"inttypes.h","functions":[],"meta":{},"lines":305},{"file":"indexer.h","functions":["git_indexer_stream_new","git_indexer_stream_add","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":134},{"file":"index.h","functions":["git_index_open","git_index_new","git_index_free","git_index_owner","git_index_caps","git_index_set_caps","git_index_read","git_index_write","git_index_read_tree","git_index_write_tree","git_index_write_tree_to","git_index_entrycount","git_index_clear","git_index_get_byindex","git_index_get_bypath","git_index_remove","git_index_add","git_index_entry_stage","git_index_add_from_workdir","git_index_find","git_index_conflict_add","git_index_conflict_get","git_index_conflict_remove","git_index_conflict_cleanup","git_index_reuc_entrycount","git_index_reuc_find","git_index_reuc_get_bypath","git_index_reuc_get_byindex","git_index_reuc_add","git_index_reuc_remove"],"meta":{"brief":"Git index parsing and manipulation routines","defgroup":"git_index Git index parsing and manipulation routines","ingroup":"Git","comments":"\n"},"lines":525},{"file":"ignore.h","functions":["git_ignore_add_rule","git_ignore_clear_internal_rules","git_ignore_path_is_ignored"],"meta":{},"lines":77},{"file":"errors.h","functions":["giterr_last","giterr_clear","giterr_set_str","giterr_set_oom"],"meta":{"brief":"Git error handling routines and variables","ingroup":"Git","comments":"\n"},"lines":114},{"file":"diff.h","functions":["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_status_char","git_diff_print_patch","git_diff_num_deltas","git_diff_num_deltas_of_type","git_diff_get_patch","git_diff_patch_free","git_diff_patch_delta","git_diff_patch_num_hunks","git_diff_patch_get_hunk","git_diff_patch_num_lines_in_hunk","git_diff_patch_get_line_in_hunk","git_diff_patch_print","git_diff_patch_to_str","git_diff_blobs"],"meta":{"brief":"Git tree and file differencing routines.","ingroup":"Git","comments":"\n"},"lines":667},{"file":"config.h","functions":["git_config_find_global","git_config_find_xdg","git_config_find_system","git_config_open_default","git_config_file__ondisk","git_config_new","git_config_add_file","git_config_add_file_ondisk","git_config_open_ondisk","git_config_open_level","git_config_refresh","git_config_free","git_config_get_config_entry","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","git_config_foreach_match","git_config_get_mapped","git_config_lookup_map_value","git_config_parse_bool","git_config_parse_int64","git_config_parse_int32"],"meta":{"brief":"Git config management routines","defgroup":"git_config Git config management routines","ingroup":"Git","comments":"\n"},"lines":547},{"file":"common.h","functions":["git_libgit2_version","git_libgit2_capabilities"],"meta":{"brief":"Git common platform definitions","defgroup":"git_common Git common platform definitions","ingroup":"Git","comments":"\n"},"lines":124},{"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_nth_gen_ancestor","git_commit_create","git_commit_create_v"],"meta":{"brief":"Git commit parsing, formatting routines","defgroup":"git_commit Git commit parsing, formatting routines","ingroup":"Git","comments":"\n"},"lines":289},{"file":"clone.h","functions":["git_clone","git_clone_bare"],"meta":{"brief":"Git cloning routines","defgroup":"git_clone Git cloning routines","ingroup":"Git","comments":"\n"},"lines":70},{"file":"checkout.h","functions":["git_checkout_head","git_checkout_index","git_checkout_tree"],"meta":{"brief":"Git checkout routines","defgroup":"git_checkout Git checkout routines","ingroup":"Git","comments":"\n"},"lines":128},{"file":"branch.h","functions":["git_branch_create","git_branch_delete","git_branch_foreach","git_branch_move","git_branch_lookup","git_branch_tracking","git_branch_is_head"],"meta":{"brief":"Git branch parsing routines","defgroup":"git_branch Git branch management","ingroup":"Git","comments":"\n"},"lines":164},{"file":"blob.h","functions":["git_blob_lookup","git_blob_lookup_prefix","git_blob_free","git_blob_rawcontent","git_blob_rawsize","git_blob_create_fromfile","git_blob_create_fromdisk","git_blob_create_fromchunks","git_blob_create_frombuffer"],"meta":{"brief":"Git blob load and write routines","defgroup":"git_blob Git blob load and write routines","ingroup":"Git","comments":"\n"},"lines":174},{"file":"attr.h","functions":["git_attr_get","git_attr_get_many","git_attr_foreach","git_attr_cache_flush","git_attr_add_macro"],"meta":{"brief":"Git attribute management routines","defgroup":"git_attr Git attribute management routines","ingroup":"Git","comments":"\n"},"lines":238}],"functions":{"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":"Lookup a tree object from the repository.","comments":"","group":"tree","examples":{"general.c":["ex/HEAD/general.html#git_tree_lookup-1","ex/HEAD/general.html#git_tree_lookup-2"]}},"git_tree_lookup_prefix":{"type":"function","file":"tree.h","line":49,"lineto":56,"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":"size_t","comment":"the length of the short identifier"}],"argline":"git_tree **tree,\n\tgit_repository *repo,\n\tconst git_oid *id,\n\tsize_t len","sig":"git_tree **::git_repository *::const git_oid *::size_t","return":{"type":"int","comment":"0 or an error code"},"description":"Lookup a tree object from the repository,\ngiven a prefix of its identifier (short id).","comments":"@see git_object_lookup_prefix\n","group":"tree"},"git_tree_free":{"type":"function","file":"tree.h","line":69,"lineto":72,"args":[{"name":"tree","type":"git_tree *","comment":"the tree to close"}],"argline":"git_tree *tree","sig":"git_tree *","return":{"type":"void"},"description":"Close an open tree","comments":"This is a wrapper around git_object_free()\n\nIMPORTANT:\nIt *is* necessary to call this method when you stop\nusing a tree. Failure to do so will cause a memory leak.\n","group":"tree","examples":{"diff.c":["ex/HEAD/diff.html#git_tree_free-1","ex/HEAD/diff.html#git_tree_free-2"]}},"git_tree_entry_free":{"type":"function","file":"tree.h","line":83,"lineto":83,"args":[{"name":"entry","type":"git_tree_entry *","comment":"The entry to free"}],"argline":"git_tree_entry *entry","sig":"git_tree_entry *","return":{"type":"void"},"description":"Free a tree entry","comments":"IMPORTANT: This function is only needed for tree\nentries owned by the user, such as the ones returned\nby `git_tree_entry_dup`.\n","group":"tree"},"git_tree_entry_dup":{"type":"function","file":"tree.h","line":95,"lineto":95,"args":[{"name":"entry","type":"const git_tree_entry *","comment":"A tree entry to duplicate"}],"argline":"const git_tree_entry *entry","sig":"const git_tree_entry *","return":{"type":"git_tree_entry *","comment":"a copy of the original entry"},"description":"Duplicate a tree entry","comments":"Create a copy of a tree entry. The returned copy is owned\nby the user, and must be freed manually with\n`git_tree_entry_free`.\n","group":"tree"},"git_tree_id":{"type":"function","file":"tree.h","line":103,"lineto":103,"args":[{"name":"tree","type":"const git_tree *","comment":"a previously loaded tree."}],"argline":"const git_tree *tree","sig":"const git_tree *","return":{"type":"const git_oid *","comment":"object identity for the tree."},"description":"Get the id of a tree.","comments":"","group":"tree"},"git_tree_entrycount":{"type":"function","file":"tree.h","line":111,"lineto":111,"args":[{"name":"tree","type":"const git_tree *","comment":"a previously loaded tree."}],"argline":"const git_tree *tree","sig":"const git_tree *","return":{"type":"unsigned int","comment":"the number of entries in the tree"},"description":"Get the number of entries listed in a tree","comments":"","group":"tree","examples":{"general.c":["ex/HEAD/general.html#git_tree_entrycount-3"]}},"git_tree_entry_byname":{"type":"function","file":"tree.h","line":120,"lineto":120,"args":[{"name":"tree","type":"git_tree *","comment":"a previously loaded tree."},{"name":"filename","type":"const char *","comment":"the filename of the desired entry"}],"argline":"git_tree *tree, const char *filename","sig":"git_tree *::const char *","return":{"type":"const git_tree_entry *","comment":"the tree entry; NULL if not found"},"description":"Lookup a tree entry by its filename","comments":"","group":"tree","examples":{"general.c":["ex/HEAD/general.html#git_tree_entry_byname-4"]}},"git_tree_entry_byindex":{"type":"function","file":"tree.h","line":129,"lineto":129,"args":[{"name":"tree","type":"git_tree *","comment":"a previously loaded tree."},{"name":"idx","type":"size_t","comment":"the position in the entry list"}],"argline":"git_tree *tree, size_t idx","sig":"git_tree *::size_t","return":{"type":"const git_tree_entry *","comment":"the tree entry; NULL if not found"},"description":"Lookup a tree entry by its position in the tree","comments":"","group":"tree","examples":{"general.c":["ex/HEAD/general.html#git_tree_entry_byindex-5"]}},"git_tree_entry_byoid":{"type":"function","file":"tree.h","line":140,"lineto":140,"args":[{"name":"tree","type":"git_tree *","comment":"a previously loaded tree."},{"name":"oid","type":"const git_oid *","comment":"the sha being looked for"}],"argline":"git_tree *tree, const git_oid *oid","sig":"git_tree *::const git_oid *","return":{"type":"const git_tree_entry *","comment":"the tree entry; NULL if not found"},"description":"Lookup a tree entry by SHA value.","comments":"Warning: this must examine every entry in the tree, so it is not fast.\n","group":"tree"},"git_tree_entry_filemode":{"type":"function","file":"tree.h","line":148,"lineto":148,"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_filemode_t","comment":"filemode as an integer"},"description":"Get the UNIX file attributes of a tree entry","comments":"","group":"tree"},"git_tree_entry_name":{"type":"function","file":"tree.h","line":156,"lineto":156,"args":[{"name":"entry","type":"const git_tree_entry *","comment":"a tree entry"}],"argline":"const git_tree_entry *entry","sig":"const git_tree_entry *","return":{"type":"const char *","comment":"the name of the file"},"description":"Get the filename of a tree entry","comments":"","group":"tree","examples":{"general.c":["ex/HEAD/general.html#git_tree_entry_name-6","ex/HEAD/general.html#git_tree_entry_name-7"]}},"git_tree_entry_id":{"type":"function","file":"tree.h","line":164,"lineto":164,"args":[{"name":"entry","type":"const git_tree_entry *","comment":"a tree entry"}],"argline":"const git_tree_entry *entry","sig":"const git_tree_entry *","return":{"type":"const git_oid *","comment":"the oid of the object"},"description":"Get the id of the object pointed by the entry","comments":"","group":"tree"},"git_tree_entry_type":{"type":"function","file":"tree.h","line":172,"lineto":172,"args":[{"name":"entry","type":"const git_tree_entry *","comment":"a tree entry"}],"argline":"const git_tree_entry *entry","sig":"const git_tree_entry *","return":{"type":"git_otype","comment":"the type of the pointed object"},"description":"Get the type of the object pointed by the entry","comments":"","group":"tree"},"git_tree_entry_to_object":{"type":"function","file":"tree.h","line":182,"lineto":185,"args":[{"name":"object_out","type":"git_object **"},{"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,\n\tgit_repository *repo,\n\tconst git_tree_entry *entry","sig":"git_object **::git_repository *::const git_tree_entry *","return":{"type":"int","comment":"0 or an error code"},"description":"Convert a tree entry to the git_object it points too.","comments":"","group":"tree","examples":{"general.c":["ex/HEAD/general.html#git_tree_entry_to_object-8"]}},"git_treebuilder_create":{"type":"function","file":"tree.h","line":204,"lineto":204,"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 success; error code otherwise"},"description":"Create a new tree builder.","comments":"The tree builder can be used to create or modify\ntrees in memory and write them as tree objects to the\ndatabase.\n\nIf the `source` parameter is not NULL, the tree builder\nwill be initialized with the entries of the given tree.\n\nIf the `source` parameter is NULL, the tree builder will\nhave no entries and will have to be filled manually.\n","group":"treebuilder"},"git_treebuilder_clear":{"type":"function","file":"tree.h","line":211,"lineto":211,"args":[{"name":"bld","type":"git_treebuilder *","comment":"Builder to clear"}],"argline":"git_treebuilder *bld","sig":"git_treebuilder *","return":{"type":"void"},"description":"Clear all the entires in the builder","comments":"","group":"treebuilder"},"git_treebuilder_free":{"type":"function","file":"tree.h","line":222,"lineto":222,"args":[{"name":"bld","type":"git_treebuilder *","comment":"Builder to free"}],"argline":"git_treebuilder *bld","sig":"git_treebuilder *","return":{"type":"void"},"description":"Free a tree builder","comments":"This will clear all the entries and free to builder.\nFailing to free the builder after you're done using it\nwill result in a memory leak\n","group":"treebuilder"},"git_treebuilder_get":{"type":"function","file":"tree.h","line":234,"lineto":234,"args":[{"name":"bld","type":"git_treebuilder *","comment":"Tree builder"},{"name":"filename","type":"const char *","comment":"Name of the entry"}],"argline":"git_treebuilder *bld, const char *filename","sig":"git_treebuilder *::const char *","return":{"type":"const git_tree_entry *","comment":"pointer to the entry; NULL if not found"},"description":"Get an entry from the builder from its filename","comments":"The returned entry is owned by the builder and should\nnot be freed manually.\n","group":"treebuilder"},"git_treebuilder_insert":{"type":"function","file":"tree.h","line":261,"lineto":266,"args":[{"name":"entry_out","type":"const 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":"filemode","type":"git_filemode_t","comment":"Folder attributes of the entry. This parameter must be valued with one of the following entries: 0040000, 0100644, 0100755, 0120000 or 0160000."}],"argline":"const git_tree_entry **entry_out,\n\tgit_treebuilder *bld,\n\tconst char *filename,\n\tconst git_oid *id,\n\tgit_filemode_t filemode","sig":"const git_tree_entry **::git_treebuilder *::const char *::const git_oid *::git_filemode_t","return":{"type":"int","comment":"0 or an error code"},"description":"Add or update an entry to the builder","comments":"Insert a new entry for `filename` in the builder with the\ngiven attributes.\n\nif an entry named `filename` already exists, its attributes\nwill be updated with the given ones.\n\nThe optional pointer `entry_out` can be used to retrieve a\npointer to the newly created/updated entry.\n\nNo attempt is being made to ensure that the provided oid points\nto an existing git object in the object database, nor that the\nattributes make sense regarding the type of the pointed at object.\n","group":"treebuilder"},"git_treebuilder_remove":{"type":"function","file":"tree.h","line":274,"lineto":274,"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"},"description":"Remove an entry from the builder by its filename","comments":"","group":"treebuilder"},"git_treebuilder_filter":{"type":"function","file":"tree.h","line":287,"lineto":290,"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 *"}],"argline":"git_treebuilder *bld,\n\tint (*filter)(const git_tree_entry *, void *),\n\tvoid *payload","sig":"git_treebuilder *::int (*)(const git_tree_entry *, void *)::void *","return":{"type":"void"},"description":"Filter the entries in the tree","comments":"The `filter` callback will be called for each entry\nin the tree with a pointer to the entry and the\nprovided `payload`: if the callback returns 1, the\nentry will be filtered (removed from the builder).\n","group":"treebuilder"},"git_treebuilder_write":{"type":"function","file":"tree.h","line":304,"lineto":304,"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":"Write the contents of the tree builder as a tree object","comments":"The tree builder will be written to the given `repo`, and\nit's identifying SHA1 hash will be stored in the `oid`\npointer.\n","group":"treebuilder"},"git_tree_entry_bypath":{"type":"function","file":"tree.h","line":318,"lineto":321,"args":[{"name":"entry","type":"git_tree_entry **","comment":"Pointer where to store the tree entry"},{"name":"root","type":"git_tree *","comment":"A previously loaded tree which will be the root of the relative path"},{"name":"path","type":"const char *"}],"argline":"git_tree_entry **entry,\n\tgit_tree *root,\n\tconst char *path","sig":"git_tree_entry **::git_tree *::const char *","return":{"type":"int","comment":"0 on success; GIT_ENOTFOUND if the path does not exist"},"description":"Retrieve a tree entry contained in a tree or in any\nof its subtrees, given its relative path.","comments":"The returned tree entry is owned by the user and must\nbe freed manually with `git_tree_entry_free`.\n","group":"tree"},"git_tree_walk":{"type":"function","file":"tree.h","line":352,"lineto":352,"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":"Traverse the entries in a tree and its subtrees in\npost or pre order","comments":"The entries will be traversed in the specified order,\nchildren subtrees will be automatically loaded as required,\nand the `callback` will be called once per entry with\nthe current (relative) root for the entry and the entry\ndata itself.\n\nIf the callback returns a positive value, the passed entry will be\nskipped on the traversal (in pre mode). A negative value stops the\nwalk.\n","group":"tree"},"git_transport_new":{"type":"function","file":"transport.h","line":102,"lineto":102,"args":[{"name":"transport","type":"git_transport **","comment":"The newly created transport (out)"},{"name":"url","type":"const char *","comment":"The URL to connect to"}],"argline":"git_transport **transport, const char *url","sig":"git_transport **::const char *","return":{"type":"int","comment":"0 or an error code"},"description":"Function to use to create a transport from a URL. The transport database\nis scanned to find a transport that implements the scheme of the URI (i.e.\ngit:// or http://) and a transport object is returned to the caller.","comments":"","group":"transport"},"git_transport_valid_url":{"type":"function","file":"transport.h","line":112,"lineto":118,"args":[{"name":"url","type":"const char *","comment":"The URL to check"}],"argline":"const char *url","sig":"const char *","return":{"type":"int","comment":"Zero if the URL is not valid; nonzero otherwise"},"description":"Function which checks to see if a transport could be created for the\ngiven URL (i.e. checks to see if libgit2 has a transport that supports\nthe given URL's scheme)","comments":"","group":"transport"},"git_transport_dummy":{"type":"function","file":"transport.h","line":127,"lineto":129,"args":[{"name":"transport","type":"git_transport **","comment":"The newly created transport (out)"},{"name":"param","type":"void *","comment":"You must pass NULL for this parameter."}],"argline":"git_transport **transport,\n\t void *param","sig":"git_transport **::void *","return":{"type":"int","comment":"0 or an error code"},"description":"Create an instance of the dummy transport.","comments":"","group":"transport"},"git_transport_local":{"type":"function","file":"transport.h","line":138,"lineto":140,"args":[{"name":"transport","type":"git_transport **","comment":"The newly created transport (out)"},{"name":"param","type":"void *","comment":"You must pass NULL for this parameter."}],"argline":"git_transport **transport,\n\t void *param","sig":"git_transport **::void *","return":{"type":"int","comment":"0 or an error code"},"description":"Create an instance of the local transport.","comments":"","group":"transport"},"git_transport_smart":{"type":"function","file":"transport.h","line":149,"lineto":225,"args":[{"name":"transport","type":"git_transport **","comment":"The newly created transport (out)"},{"name":"param","type":"void *","comment":"A pointer to a git_smart_subtransport_definition"}],"argline":"git_transport **transport,\n\t void *param","sig":"git_transport **::void *","return":{"type":"int","comment":"0 or an error code"},"description":"Create an instance of the smart transport.","comments":"","group":"transport"},"git_smart_subtransport_http":{"type":"function","file":"transport.h","line":236,"lineto":238,"args":[{"name":"out","type":"git_smart_subtransport **","comment":"The newly created subtransport"},{"name":"owner","type":"git_transport*","comment":"The smart transport to own this subtransport"}],"argline":"git_smart_subtransport **out,\n\tgit_transport* owner","sig":"git_smart_subtransport **::git_transport*","return":{"type":"int","comment":"0 or an error code"},"description":"Create an instance of the http subtransport. This subtransport\nalso supports https. On Win32, this subtransport may be implemented\nusing the WinHTTP library.","comments":"","group":"smart"},"git_smart_subtransport_git":{"type":"function","file":"transport.h","line":247,"lineto":253,"args":[{"name":"out","type":"git_smart_subtransport **","comment":"The newly created subtransport"},{"name":"owner","type":"git_transport*","comment":"The smart transport to own this subtransport"}],"argline":"git_smart_subtransport **out,\n\tgit_transport* owner","sig":"git_smart_subtransport **::git_transport*","return":{"type":"int","comment":"0 or an error code"},"description":"Create an instance of the git subtransport.","comments":"","group":"smart"},"git_threads_init":{"type":"function","file":"threads.h","line":31,"lineto":31,"args":[],"argline":"void","sig":"","return":{"type":"void"},"description":"Init the threading system.","comments":"If libgit2 has been built with GIT_THREADS\non, this function must be called once before\nany other library functions.\n\nIf libgit2 has been built without GIT_THREADS\nsupport, this function is a no-op.","group":"threads"},"git_threads_shutdown":{"type":"function","file":"threads.h","line":43,"lineto":43,"args":[],"argline":"void","sig":"","return":{"type":"void"},"description":"Shutdown the threading system.","comments":"If libgit2 has been built with GIT_THREADS\non, this function must be called before shutting\ndown the library.\n\nIf libgit2 has been built without GIT_THREADS\nsupport, this function is a no-op.","group":"threads"},"git_tag_lookup":{"type":"function","file":"tag.h","line":33,"lineto":36,"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":"Lookup a tag object from the repository.","comments":"","group":"tag","examples":{"general.c":["ex/HEAD/general.html#git_tag_lookup-9"]}},"git_tag_lookup_prefix":{"type":"function","file":"tag.h","line":50,"lineto":53,"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":"size_t","comment":"the length of the short identifier"}],"argline":"git_tag **tag, git_repository *repo, const git_oid *id, size_t len","sig":"git_tag **::git_repository *::const git_oid *::size_t","return":{"type":"int","comment":"0 or an error code"},"description":"Lookup a tag object from the repository,\ngiven a prefix of its identifier (short id).","comments":"@see git_object_lookup_prefix\n","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"},"description":"Close an open tag","comments":"This is a wrapper around git_object_free()\n\nIMPORTANT:\nIt *is* necessary to call this method when you stop\nusing a tag. Failure to do so will cause a memory leak.\n","group":"tag"},"git_tag_id":{"type":"function","file":"tag.h","line":79,"lineto":79,"args":[{"name":"tag","type":"git_tag *","comment":"a previously loaded tag."}],"argline":"git_tag *tag","sig":"git_tag *","return":{"type":"const git_oid *","comment":"object identity for the tag."},"description":"Get the id of a tag.","comments":"","group":"tag"},"git_tag_target":{"type":"function","file":"tag.h","line":91,"lineto":91,"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":"Get the tagged object of a tag","comments":"This method performs a repository lookup for the\ngiven object and returns it\n","group":"tag","examples":{"general.c":["ex/HEAD/general.html#git_tag_target-10"]}},"git_tag_target_oid":{"type":"function","file":"tag.h","line":99,"lineto":99,"args":[{"name":"tag","type":"git_tag *","comment":"a previously loaded tag."}],"argline":"git_tag *tag","sig":"git_tag *","return":{"type":"const git_oid *","comment":"pointer to the OID"},"description":"Get the OID of the tagged object of a tag","comments":"","group":"tag"},"git_tag_type":{"type":"function","file":"tag.h","line":107,"lineto":107,"args":[{"name":"tag","type":"git_tag *","comment":"a previously loaded tag."}],"argline":"git_tag *tag","sig":"git_tag *","return":{"type":"git_otype","comment":"type of the tagged object"},"description":"Get the type of a tag's tagged object","comments":"","group":"tag","examples":{"general.c":["ex/HEAD/general.html#git_tag_type-11"]}},"git_tag_name":{"type":"function","file":"tag.h","line":115,"lineto":115,"args":[{"name":"tag","type":"git_tag *","comment":"a previously loaded tag."}],"argline":"git_tag *tag","sig":"git_tag *","return":{"type":"const char *","comment":"name of the tag"},"description":"Get the name of a tag","comments":"","group":"tag","examples":{"general.c":["ex/HEAD/general.html#git_tag_name-12"]}},"git_tag_tagger":{"type":"function","file":"tag.h","line":123,"lineto":123,"args":[{"name":"tag","type":"git_tag *","comment":"a previously loaded tag."}],"argline":"git_tag *tag","sig":"git_tag *","return":{"type":"const git_signature *","comment":"reference to the tag's author"},"description":"Get the tagger (author) of a tag","comments":"","group":"tag"},"git_tag_message":{"type":"function","file":"tag.h","line":131,"lineto":131,"args":[{"name":"tag","type":"git_tag *","comment":"a previously loaded tag."}],"argline":"git_tag *tag","sig":"git_tag *","return":{"type":"const char *","comment":"message of the tag"},"description":"Get the message of a tag","comments":"","group":"tag","examples":{"general.c":["ex/HEAD/general.html#git_tag_message-13"]}},"git_tag_create":{"type":"function","file":"tag.h","line":169,"lineto":176,"args":[{"name":"oid","type":"git_oid *","comment":"Pointer where to store the OID of the newly created tag. If the tag already exists, this parameter will be the oid of the existing tag, and the function will 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 for consistency. It should also not conflict with an already existing tag name"},{"name":"target","type":"const git_object *","comment":"Object to which this tag points. This object must belong to the given `repo`."},{"name":"tagger","type":"const git_signature *","comment":"Signature of the tagger for this tag, and 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,\n\t\tgit_repository *repo,\n\t\tconst char *tag_name,\n\t\tconst git_object *target,\n\t\tconst git_signature *tagger,\n\t\tconst char *message,\n\t\tint 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 A tag object is written to the ODB, and a proper reference is written in the /refs/tags folder, pointing to it"},"description":"Create a new tag in the repository from an object","comments":"A new reference will also be created pointing to\nthis tag object. If `force` is true and a reference\nalready exists with the given name, it'll be replaced.\n\nThe message will not be cleaned up. This can be achieved\nthrough `git_message_prettify()`.\n","group":"tag"},"git_tag_create_frombuffer":{"type":"function","file":"tag.h","line":187,"lineto":191,"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,\n\t\tgit_repository *repo,\n\t\tconst char *buffer,\n\t\tint force","sig":"git_oid *::git_repository *::const char *::int","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Create a new tag in the repository from a buffer","comments":"","group":"tag"},"git_tag_create_lightweight":{"type":"function","file":"tag.h","line":220,"lineto":225,"args":[{"name":"oid","type":"git_oid *","comment":"Pointer where to store the OID of the provided target object. If the tag already exists, this parameter will be filled with the oid of the existing pointed object 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 for consistency. It should also not conflict with an already existing tag name"},{"name":"target","type":"const git_object *","comment":"Object to which this tag points. This object must belong to the given `repo`."},{"name":"force","type":"int","comment":"Overwrite existing references"}],"argline":"git_oid *oid,\n\t\tgit_repository *repo,\n\t\tconst char *tag_name,\n\t\tconst git_object *target,\n\t\tint force","sig":"git_oid *::git_repository *::const char *::const git_object *::int","return":{"type":"int","comment":"0 or an error code A proper reference is written in the /refs/tags folder, pointing to the provided target object"},"description":"Create a new lightweight tag pointing at a target object","comments":"A new direct reference will be created pointing to\nthis target object. If `force` is true and a reference\nalready exists with the given name, it'll be replaced.\n","group":"tag"},"git_tag_delete":{"type":"function","file":"tag.h","line":237,"lineto":239,"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; this name is validated for consistency."}],"argline":"git_repository *repo,\n\t\tconst char *tag_name","sig":"git_repository *::const char *","return":{"type":"int","comment":"0 or an error code"},"description":"Delete an existing tag reference.","comments":"","group":"tag"},"git_tag_list":{"type":"function","file":"tag.h","line":254,"lineto":256,"args":[{"name":"tag_names","type":"git_strarray *","comment":"Pointer to a git_strarray structure where the tag names will be stored"},{"name":"repo","type":"git_repository *","comment":"Repository where to find the tags"}],"argline":"git_strarray *tag_names,\n\t\tgit_repository *repo","sig":"git_strarray *::git_repository *","return":{"type":"int","comment":"0 or an error code"},"description":"Fill a list with all the tags in the Repository","comments":"The string array will be filled with the names of the\nmatching tags; these values are owned by the user and\nshould be free'd manually when no longer needed, using\n`git_strarray_free`.\n","group":"tag"},"git_tag_list_match":{"type":"function","file":"tag.h","line":276,"lineto":282,"args":[{"name":"tag_names","type":"git_strarray *","comment":"Pointer to a git_strarray structure where the 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,\n\t\tconst char *pattern,\n\t\tgit_repository *repo","sig":"git_strarray *::const char *::git_repository *","return":{"type":"int","comment":"0 or an error code"},"description":"Fill a list with all the tags in the Repository\nwhich name match a defined pattern","comments":"If an empty pattern is provided, all the tags\nwill be returned.\n\nThe string array will be filled with the names of the\nmatching tags; these values are owned by the user and\nshould be free'd manually when no longer needed, using\n`git_strarray_free`.\n","group":"tag"},"git_tag_foreach":{"type":"function","file":"tag.h","line":290,"lineto":293,"args":[{"name":"repo","type":"git_repository *","comment":"Repository"},{"name":"cb","type":"git_tag_foreach_cb","comment":"Callback function"},{"name":"cb_data","type":"void *","comment":"Pointer to callback data (optional)"}],"argline":"git_repository *repo,\n\t\tgit_tag_foreach_cb cb,\n\t\tvoid *cb_data","sig":"git_repository *::git_tag_foreach_cb::void *","return":{"type":"int"},"description":"Call callback `cb' for each tag in the repository","comments":"","group":"tag"},"git_tag_peel":{"type":"function","file":"tag.h","line":307,"lineto":309,"args":[{"name":"tag_target","type":"git_object **","comment":"Pointer to the peeled git_object"},{"name":"tag","type":"git_tag *","comment":"_target Pointer to the peeled git_object"}],"argline":"git_object **tag_target,\n\t\tgit_tag *tag","sig":"git_object **::git_tag *","return":{"type":"int","comment":"0 or an error code"},"description":"Recursively peel a tag until a non tag git_object\nis met","comments":"The retrieved `tag_target` object is owned by the repository\nand should be closed with the `git_object_free` method.\n","group":"tag"},"git_submodule_lookup":{"type":"function","file":"submodule.h","line":161,"lineto":164,"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,\n\tgit_repository *repo,\n\tconst char *name","sig":"git_submodule **::git_repository *::const char *","return":{"type":"int","comment":"0 on success, GIT_ENOTFOUND if submodule does not exist, GIT_EEXISTS if submodule exists in working directory only, -1 on other errors."},"description":"Lookup submodule information by name or path.","comments":"Given either the submodule name or path (they are usually the same), this\nreturns a structure describing the submodule.\n\nThere are two expected error scenarios:\n\n- The submodule is not mentioned in the HEAD, the index, and the config,\n but does \"exist\" in the working directory (i.e. there is a subdirectory\n that is a valid self-contained git repo). In this case, this function\n returns GIT_EEXISTS to indicate the the submodule exists but not in a\n state where a git_submodule can be instantiated.\n- The submodule is not mentioned in the HEAD, index, or config and the\n working directory doesn't contain a value git repo at that path.\n There may or may not be anything else at that path, but nothing that\n looks like a submodule. In this case, this returns GIT_ENOTFOUND.\n\nThe submodule object is owned by the containing repo and will be freed\nwhen the repo is freed. The caller need not free the submodule.\n","group":"submodule"},"git_submodule_foreach":{"type":"function","file":"submodule.h","line":184,"lineto":187,"args":[{"name":"repo","type":"git_repository *","comment":"The repository"},{"name":"callback","type":"int (*)(git_submodule *sm, const char *name, void *payload)","comment":"Function to be called with the name of each submodule. Return a non-zero value to terminate the iteration."},{"name":"payload","type":"void *","comment":"Extra data to pass to callback"}],"argline":"git_repository *repo,\n\tint (*callback)(git_submodule *sm, const char *name, void *payload),\n\tvoid *payload","sig":"git_repository *::int (*)(git_submodule *sm, const char *name, void *payload)::void *","return":{"type":"int","comment":"0 on success, -1 on error, or non-zero return value of callback"},"description":"Iterate over all tracked submodules of a repository.","comments":"See the note on `git_submodule` above. This iterates over the tracked\nsubmodules as decribed therein.\n\nIf you are concerned about items in the working directory that look like\nsubmodules but are not tracked, the diff API will generate a diff record\nfor workdir items that look like submodules but are not tracked, showing\nthem as added in the workdir. Also, the status API will treat the entire\nsubdirectory of a contained git repo as a single GIT_STATUS_WT_NEW item.\n","group":"submodule"},"git_submodule_add_setup":{"type":"function","file":"submodule.h","line":212,"lineto":217,"args":[{"name":"submodule","type":"git_submodule **","comment":"The newly created submodule ready to open for clone"},{"name":"repo","type":"git_repository *","comment":"Superproject repository to contain the new submodule"},{"name":"url","type":"const char *","comment":"URL for the submodules remote"},{"name":"path","type":"const char *","comment":"Path at which the submodule should be created"},{"name":"use_gitlink","type":"int","comment":"Should workdir contain a gitlink to the repo in .git/modules vs. repo directly in workdir."}],"argline":"git_submodule **submodule,\n\tgit_repository *repo,\n\tconst char *url,\n\tconst char *path,\n\tint use_gitlink","sig":"git_submodule **::git_repository *::const char *::const char *::int","return":{"type":"int","comment":"0 on success, GIT_EEXISTS if submodule already exists, -1 on other errors."},"description":"Set up a new git submodule for checkout.","comments":"This does \"git submodule add\" up to the fetch and checkout of the\nsubmodule contents. It preps a new submodule, creates an entry in\n.gitmodules and creates an empty initialized repository either at the\ngiven path in the working directory or in .git/modules with a gitlink\nfrom the working directory to the new repo.\n\nTo fully emulate \"git submodule add\" call this function, then open the\nsubmodule repo and perform the clone step as needed. Lastly, call\n`git_submodule_add_finalize()` to wrap up adding the new submodule and\n.gitmodules to the index to be ready to commit.\n","group":"submodule"},"git_submodule_add_finalize":{"type":"function","file":"submodule.h","line":229,"lineto":229,"args":[{"name":"submodule","type":"git_submodule *","comment":"The submodule to finish adding."}],"argline":"git_submodule *submodule","sig":"git_submodule *","return":{"type":"int"},"description":"Resolve the setup of a new git submodule.","comments":"This should be called on a submodule once you have called add setup\nand done the clone of the submodule. This adds the .gitmodules file\nand the newly cloned submodule to the index to be ready to be committed\n(but doesn't actually do the commit).\n","group":"submodule"},"git_submodule_add_to_index":{"type":"function","file":"submodule.h","line":241,"lineto":243,"args":[{"name":"submodule","type":"git_submodule *","comment":"The submodule to add to the index"},{"name":"write_index","type":"int","comment":"Boolean if this should immediately write the index file. If you pass this as false, you will have to get the git_index and explicitly call `git_index_write()` on it to save the change."}],"argline":"git_submodule *submodule,\n\tint write_index","sig":"git_submodule *::int","return":{"type":"int","comment":"0 on success, <0 on failure"},"description":"Add current submodule HEAD commit to index of superproject.","comments":"","group":"submodule"},"git_submodule_save":{"type":"function","file":"submodule.h","line":257,"lineto":257,"args":[{"name":"submodule","type":"git_submodule *","comment":"The submodule to write."}],"argline":"git_submodule *submodule","sig":"git_submodule *","return":{"type":"int","comment":"0 on success, <0 on failure."},"description":"Write submodule settings to .gitmodules file.","comments":"This commits any in-memory changes to the submodule to the gitmodules\nfile on disk. You may also be interested in `git_submodule_init()` which\nwrites submodule info to \".git/config\" (which is better for local changes\nto submodule settings) and/or `git_submodule_sync()` which writes\nsettings about remotes to the actual submodule repository.\n","group":"submodule"},"git_submodule_owner":{"type":"function","file":"submodule.h","line":270,"lineto":270,"args":[{"name":"submodule","type":"git_submodule *","comment":"Pointer to submodule object"}],"argline":"git_submodule *submodule","sig":"git_submodule *","return":{"type":"git_repository *","comment":"Pointer to `git_repository`"},"description":"Get the containing repository for a submodule.","comments":"This returns a pointer to the repository that contains the submodule.\nThis is a just a reference to the repository that was passed to the\noriginal `git_submodule_lookup()` call, so if that repository has been\nfreed, then this may be a dangling reference.\n","group":"submodule"},"git_submodule_name":{"type":"function","file":"submodule.h","line":278,"lineto":278,"args":[{"name":"submodule","type":"git_submodule *","comment":"Pointer to submodule object"}],"argline":"git_submodule *submodule","sig":"git_submodule *","return":{"type":"const char *","comment":"Pointer to the submodule name"},"description":"Get the name of submodule.","comments":"","group":"submodule"},"git_submodule_path":{"type":"function","file":"submodule.h","line":289,"lineto":289,"args":[{"name":"submodule","type":"git_submodule *","comment":"Pointer to submodule object"}],"argline":"git_submodule *submodule","sig":"git_submodule *","return":{"type":"const char *","comment":"Pointer to the submodule path"},"description":"Get the path to the submodule.","comments":"The path is almost always the same as the submodule name, but the\ntwo are actually not required to match.\n","group":"submodule"},"git_submodule_url":{"type":"function","file":"submodule.h","line":297,"lineto":297,"args":[{"name":"submodule","type":"git_submodule *","comment":"Pointer to submodule object"}],"argline":"git_submodule *submodule","sig":"git_submodule *","return":{"type":"const char *","comment":"Pointer to the submodule url"},"description":"Get the URL for the submodule.","comments":"","group":"submodule"},"git_submodule_set_url":{"type":"function","file":"submodule.h","line":313,"lineto":313,"args":[{"name":"submodule","type":"git_submodule *","comment":"Pointer to the submodule object"},{"name":"url","type":"const char *","comment":"URL that should be used for the submodule"}],"argline":"git_submodule *submodule, const char *url","sig":"git_submodule *::const char *","return":{"type":"int","comment":"0 on success, <0 on failure"},"description":"Set the URL for the submodule.","comments":"This sets the URL in memory for the submodule. This will be used for\nany following submodule actions while this submodule data is in memory.\n\nAfter calling this, you may wish to call `git_submodule_save()` to write\nthe changes back to the \".gitmodules\" file and `git_submodule_sync()` to\nwrite the changes to the checked out submodule repository.\n","group":"submodule"},"git_submodule_index_oid":{"type":"function","file":"submodule.h","line":321,"lineto":321,"args":[{"name":"submodule","type":"git_submodule *","comment":"Pointer to submodule object"}],"argline":"git_submodule *submodule","sig":"git_submodule *","return":{"type":"const git_oid *","comment":"Pointer to git_oid or NULL if submodule is not in index."},"description":"Get the OID for the submodule in the index.","comments":"","group":"submodule"},"git_submodule_head_oid":{"type":"function","file":"submodule.h","line":329,"lineto":329,"args":[{"name":"submodule","type":"git_submodule *","comment":"Pointer to submodule object"}],"argline":"git_submodule *submodule","sig":"git_submodule *","return":{"type":"const git_oid *","comment":"Pointer to git_oid or NULL if submodule is not in the HEAD."},"description":"Get the OID for the submodule in the current HEAD tree.","comments":"","group":"submodule"},"git_submodule_wd_oid":{"type":"function","file":"submodule.h","line":342,"lineto":342,"args":[{"name":"submodule","type":"git_submodule *","comment":"Pointer to submodule object"}],"argline":"git_submodule *submodule","sig":"git_submodule *","return":{"type":"const git_oid *","comment":"Pointer to git_oid or NULL if submodule is not checked out."},"description":"Get the OID for the submodule in the current working directory.","comments":"This returns the OID that corresponds to looking up 'HEAD' in the checked\nout submodule. If there are pending changes in the index or anything\nelse, this won't notice that. You should call `git_submodule_status()`\nfor a more complete picture about the state of the working directory.\n","group":"submodule"},"git_submodule_ignore":{"type":"function","file":"submodule.h","line":362,"lineto":363,"args":[],"argline":"_t) git_submodule_ignore(\n\tgit_submodule *submodule)","sig":"","return":{"type":"GIT_EXTERN("},"description":"Get the ignore rule for the submodule.","comments":"There are four ignore values:\n\n - **GIT_SUBMODULE_IGNORE_NONE** will consider any change to the contents\n of the submodule from a clean checkout to be dirty, including the\n addition of untracked files. This is the default if unspecified.\n - **GIT_SUBMODULE_IGNORE_UNTRACKED** examines the contents of the\n working tree (i.e. call `git_status_foreach()` on the submodule) but\n UNTRACKED files will not count as making the submodule dirty.\n - **GIT_SUBMODULE_IGNORE_DIRTY** means to only check if the HEAD of the\n submodule has moved for status. This is fast since it does not need to\n scan the working tree of the submodule at all.\n - **GIT_SUBMODULE_IGNORE_ALL** means not to open the submodule repo.\n The working directory will be consider clean so long as there is a\n checked out version present.","group":"submodule"},"git_submodule_set_ignore":{"type":"function","file":"submodule.h","line":379,"lineto":381,"args":[{"name":"submodule","type":"git_submodule *"},{"name":"ignore","type":"git_submodule_ignore_t"}],"argline":"git_submodule *submodule,\n\tgit_submodule_ignore_t ignore","sig":"git_submodule *::git_submodule_ignore_t","return":{"type":"git_submodule_ignore_t","comment":"old value for ignore"},"description":"Set the ignore rule for the submodule.","comments":"This sets the ignore rule in memory for the submodule. This will be used\nfor any following actions (such as `git_submodule_status()`) while the\nsubmodule is in memory. You should call `git_submodule_save()` if you\nwant to persist the new ignore role.\n\nCalling this again with GIT_SUBMODULE_IGNORE_DEFAULT or calling\n`git_submodule_reload()` will revert the rule to the value that was in the\noriginal config.\n","group":"submodule"},"git_submodule_update":{"type":"function","file":"submodule.h","line":386,"lineto":387,"args":[],"argline":"_t) git_submodule_update(\n\tgit_submodule *submodule)","sig":"","return":{"type":"GIT_EXTERN("},"description":"Get the update rule for the submodule.","comments":"","group":"submodule"},"git_submodule_set_update":{"type":"function","file":"submodule.h","line":401,"lineto":403,"args":[{"name":"submodule","type":"git_submodule *"},{"name":"update","type":"git_submodule_update_t"}],"argline":"git_submodule *submodule,\n\tgit_submodule_update_t update","sig":"git_submodule *::git_submodule_update_t","return":{"type":"git_submodule_update_t","comment":"old value for update"},"description":"Set the update rule for the submodule.","comments":"This sets the update rule in memory for the submodule. You should call\n`git_submodule_save()` if you want to persist the new update rule.\n\nCalling this again with GIT_SUBMODULE_UPDATE_DEFAULT or calling\n`git_submodule_reload()` will revert the rule to the value that was in the\noriginal config.\n","group":"submodule"},"git_submodule_fetch_recurse_submodules":{"type":"function","file":"submodule.h","line":416,"lineto":417,"args":[{"name":"submodule","type":"git_submodule *"}],"argline":"git_submodule *submodule","sig":"git_submodule *","return":{"type":"int","comment":"0 if fetchRecurseSubmodules is false, 1 if true"},"description":"Read the fetchRecurseSubmodules rule for a submodule.","comments":"This accesses the submodule.<name>.fetchRecurseSubmodules value for\nthe submodule that controls fetching behavior for the submodule.\n\nNote that at this time, libgit2 does not honor this setting and the\nfetch functionality current ignores submodules.\n","group":"submodule"},"git_submodule_set_fetch_recurse_submodules":{"type":"function","file":"submodule.h","line":430,"lineto":432,"args":[{"name":"submodule","type":"git_submodule *","comment":"The submodule to modify"},{"name":"fetch_recurse_submodules","type":"int","comment":"Boolean value"}],"argline":"git_submodule *submodule,\n\tint fetch_recurse_submodules","sig":"git_submodule *::int","return":{"type":"int","comment":"old value for fetchRecurseSubmodules"},"description":"Set the fetchRecurseSubmodules rule for a submodule.","comments":"This sets the submodule.<name>.fetchRecurseSubmodules value for\nthe submodule. You should call `git_submodule_save()` if you want\nto persist the new value.\n","group":"submodule"},"git_submodule_init":{"type":"function","file":"submodule.h","line":447,"lineto":447,"args":[{"name":"submodule","type":"git_submodule *","comment":"The submodule to write into the superproject config"},{"name":"overwrite","type":"int","comment":"By default, existing entries will not be overwritten, but setting this to true forces them to be updated."}],"argline":"git_submodule *submodule, int overwrite","sig":"git_submodule *::int","return":{"type":"int","comment":"0 on success, <0 on failure."},"description":"Copy submodule info into \".git/config\" file.","comments":"Just like \"git submodule init\", this copies information about the\nsubmodule into \".git/config\". You can use the accessor functions\nabove to alter the in-memory git_submodule object and control what\nis written to the config, overriding what is in .gitmodules.\n","group":"submodule"},"git_submodule_sync":{"type":"function","file":"submodule.h","line":457,"lineto":457,"args":[{"name":"submodule","type":"git_submodule *"}],"argline":"git_submodule *submodule","sig":"git_submodule *","return":{"type":"int"},"description":"Copy submodule remote info into submodule repo.","comments":"This copies the information about the submodules URL into the checked out\nsubmodule config, acting like \"git submodule sync\". This is useful if\nyou have altered the URL for the submodule (or it has been altered by a\nfetch of upstream changes) and you need to update your local repo.","group":"submodule"},"git_submodule_open":{"type":"function","file":"submodule.h","line":471,"lineto":473,"args":[{"name":"repo","type":"git_repository **"},{"name":"submodule","type":"git_submodule *","comment":"Submodule to be opened"}],"argline":"git_repository **repo,\n\tgit_submodule *submodule","sig":"git_repository **::git_submodule *","return":{"type":"int","comment":"0 on success, <0 if submodule repo could not be opened."},"description":"Open the repository for a submodule.","comments":"This is a newly opened repository object. The caller is responsible for\ncalling `git_repository_free()` on it when done. Multiple calls to this\nfunction will return distinct `git_repository` objects. This will only\nwork if the submodule is checked out into the working directory.\n","group":"submodule"},"git_submodule_reload":{"type":"function","file":"submodule.h","line":481,"lineto":481,"args":[{"name":"submodule","type":"git_submodule *"}],"argline":"git_submodule *submodule","sig":"git_submodule *","return":{"type":"int"},"description":"Reread submodule info from config, index, and HEAD.","comments":"Call this to reread cached submodule information for this submodule if\nyou have reason to believe that it has changed.","group":"submodule"},"git_submodule_reload_all":{"type":"function","file":"submodule.h","line":488,"lineto":488,"args":[{"name":"repo","type":"git_repository *"}],"argline":"git_repository *repo","sig":"git_repository *","return":{"type":"int"},"description":"Reread all submodule info.","comments":"Call this to reload all cached submodule information for the repo.","group":"submodule"},"git_submodule_status":{"type":"function","file":"submodule.h","line":503,"lineto":505,"args":[{"name":"status","type":"unsigned int *","comment":"Combination of `GIT_SUBMODULE_STATUS` flags"},{"name":"submodule","type":"git_submodule *","comment":"Submodule for which to get status"}],"argline":"unsigned int *status,\n\tgit_submodule *submodule","sig":"unsigned int *::git_submodule *","return":{"type":"int","comment":"0 on success, <0 on error"},"description":"Get the status for a submodule.","comments":"This looks at a submodule and tries to determine the status. It\nwill return a combination of the `GIT_SUBMODULE_STATUS` values above.\nHow deeply it examines the working directory to do this will depend\non the `git_submodule_ignore_t` value for the submodule - which can be\nset either temporarily or permanently with `git_submodule_set_ignore()`.\n","group":"submodule"},"git_strarray_free":{"type":"function","file":"strarray.h","line":36,"lineto":36,"args":[{"name":"array","type":"git_strarray *","comment":"array to close"}],"argline":"git_strarray *array","sig":"git_strarray *","return":{"type":"void"},"description":"Close a string array object","comments":"This method must always be called once a git_strarray is no\nlonger needed, otherwise memory will leak.\n","group":"strarray","examples":{"general.c":["ex/HEAD/general.html#git_strarray_free-14"]}},"git_strarray_copy":{"type":"function","file":"strarray.h","line":47,"lineto":47,"args":[{"name":"tgt","type":"git_strarray *","comment":"target"},{"name":"src","type":"const git_strarray *","comment":"source"}],"argline":"git_strarray *tgt, const git_strarray *src","sig":"git_strarray *::const git_strarray *","return":{"type":"int"},"description":"Copy a string array object from source to target.","comments":"Note: target is overwritten and hence should be empty, \notherwise its contents are leaked.\n","group":"strarray"},"git_status_foreach":{"type":"function","file":"status.h","line":64,"lineto":67,"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":"Pointer to pass through to callback function"}],"argline":"git_repository *repo,\n\tint (*callback)(const char *, unsigned int, void *),\n\tvoid *payload","sig":"git_repository *::int (*)(const char *, unsigned int, void *)::void *","return":{"type":"int","comment":"0 on success, GIT_EUSER on non-zero callback, or error code"},"description":"Gather file statuses and run a callback for each one.","comments":"The callback is passed the path of the file, the status (a combination of\nthe `git_status_t` values above) and the `payload` data pointer passed\ninto this function.\n\nIf the callback returns a non-zero value, this function will stop looping\nand return GIT_EUSER.\n","group":"status"},"git_status_foreach_ext":{"type":"function","file":"status.h","line":168,"lineto":172,"args":[{"name":"repo","type":"git_repository *","comment":"Repository object"},{"name":"opts","type":"const git_status_options *","comment":"Status options structure"},{"name":"callback","type":"int (*)(const char *, unsigned int, void *)","comment":"The function to call on each file"},{"name":"payload","type":"void *","comment":"Pointer to pass through to callback function"}],"argline":"git_repository *repo,\n\tconst git_status_options *opts,\n\tint (*callback)(const char *, unsigned int, void *),\n\tvoid *payload","sig":"git_repository *::const git_status_options *::int (*)(const char *, unsigned int, void *)::void *","return":{"type":"int","comment":"0 on success, GIT_EUSER on non-zero callback, or error code"},"description":"Gather file status information and run callbacks as requested.","comments":"This is an extended version of the `git_status_foreach()` API that\nallows for more granular control over which paths will be processed and\nin what order. See the `git_status_options` structure for details\nabout the additional controls that this makes available.\n","group":"status"},"git_status_file":{"type":"function","file":"status.h","line":187,"lineto":190,"args":[{"name":"status_flags","type":"unsigned int *","comment":"The status value for the file"},{"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,\n\tgit_repository *repo,\n\tconst char *path","sig":"unsigned int *::git_repository *::const char *","return":{"type":"int","comment":"0 on success, GIT_ENOTFOUND if the file is not found in the HEAD, index, and work tree, GIT_EINVALIDPATH if `path` points at a folder, GIT_EAMBIGUOUS if \"path\" matches multiple files, -1 on other error."},"description":"Get file status for a single file.","comments":"This is not quite the same as calling `git_status_foreach_ext()` with\nthe pathspec set to the specified path.\n","group":"status"},"git_status_should_ignore":{"type":"function","file":"status.h","line":208,"lineto":211,"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,\n\tgit_repository *repo,\n\tconst char *path","sig":"int *::git_repository *::const char *","return":{"type":"int","comment":"0 if ignore rules could be processed for the file (regardless of whether it exists or not), or an error < 0 if they could not."},"description":"Test if the ignore rules apply to a given file.","comments":"This function checks the ignore rules to see if they would apply to the\ngiven file. This indicates if the file would be ignored regardless of\nwhether the file is already in the index or commited to the repository.\n\nOne way to think of this is if you were to do \"git add .\" on the\ndirectory containing the file, would it be added or not?\n","group":"status"},"git_stash_save":{"type":"function","file":"stash.h","line":57,"lineto":62,"args":[{"name":"out","type":"git_oid *","comment":"Object id of the commit containing the stashed state. This commit is also the target of the direct reference refs/stash."},{"name":"repo","type":"git_repository *","comment":"The owning repository."},{"name":"stasher","type":"git_signature *","comment":"The identity of the person performing the stashing."},{"name":"message","type":"const char *","comment":"Optional description along with the stashed state."},{"name":"flags","type":"uint32_t","comment":"Flags to control the stashing process."}],"argline":"git_oid *out,\n\tgit_repository *repo,\n\tgit_signature *stasher,\n\tconst char *message,\n\tuint32_t flags","sig":"git_oid *::git_repository *::git_signature *::const char *::uint32_t","return":{"type":"int","comment":"0 on success, GIT_ENOTFOUND where there's nothing to stash, or error code."},"description":"Save the local modifications to a new stash.","comments":"","group":"stash"},"git_stash_foreach":{"type":"function","file":"stash.h","line":100,"lineto":103,"args":[{"name":"repo","type":"git_repository *","comment":"Repository where to find the stash."},{"name":"callback","type":"stash_cb"},{"name":"payload","type":"void *","comment":"Extra parameter to callback function."}],"argline":"git_repository *repo,\n\tstash_cb callback,\n\tvoid *payload","sig":"git_repository *::stash_cb::void *","return":{"type":"int","comment":"0 on success, GIT_EUSER on non-zero callback, or error code"},"description":"Loop over all the stashed states and issue a callback for each one.","comments":"If the callback returns a non-zero value, this will stop looping.\n","group":"stash"},"git_stash_drop":{"type":"function","file":"stash.h","line":115,"lineto":117,"args":[{"name":"repo","type":"git_repository *","comment":"The owning repository."},{"name":"index","type":"size_t","comment":"The position within the stash list. 0 points to the most recent stashed state."}],"argline":"git_repository *repo,\n\tsize_t index","sig":"git_repository *::size_t","return":{"type":"int","comment":"0 on success, or error code"},"description":"Remove a single stashed state from the stash list.","comments":"","group":"stash"},"git_signature_new":{"type":"function","file":"signature.h","line":36,"lineto":36,"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":"Create a new action signature. The signature must be freed\nmanually or using git_signature_free","comments":"Note: angle brackets ('<' and '>') characters are not allowed\nto be used in either the `name` or the `email` parameter.\n","group":"signature","examples":{"general.c":["ex/HEAD/general.html#git_signature_new-15","ex/HEAD/general.html#git_signature_new-16"]}},"git_signature_now":{"type":"function","file":"signature.h","line":47,"lineto":47,"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":"Create a new action signature with a timestamp of 'now'. The\nsignature must be freed manually or using git_signature_free","comments":"","group":"signature"},"git_signature_dup":{"type":"function","file":"signature.h","line":57,"lineto":57,"args":[{"name":"sig","type":"const git_signature *","comment":"signature to duplicated"}],"argline":"const git_signature *sig","sig":"const git_signature *","return":{"type":"git_signature *","comment":"a copy of sig, NULL on out of memory"},"description":"Create a copy of an existing signature.","comments":"All internal strings are also duplicated.","group":"signature"},"git_signature_free":{"type":"function","file":"signature.h","line":64,"lineto":64,"args":[{"name":"sig","type":"git_signature *","comment":"signature to free"}],"argline":"git_signature *sig","sig":"git_signature *","return":{"type":"void"},"description":"Free an existing signature","comments":"","group":"signature"},"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":"Allocate a new revision walker to iterate through a repo.","comments":"This revision walker uses a custom memory pool and an internal\ncommit cache, so it is relatively expensive to allocate.\n\nFor maximum performance, this revision walker should be\nreused for different walks.\n\nThis revision walker is *not* thread safe: it may only be\nused to walk a repository on a single thread; however,\nit is possible to have several revision walkers in\nseveral different threads walking the same repository.\n","group":"revwalk","examples":{"general.c":["ex/HEAD/general.html#git_revwalk_new-17"]}},"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"},"description":"Reset the revision walker for reuse.","comments":"This will clear all the pushed and hidden commits, and\nleave the walker in a blank state (just like at\ncreation) ready to receive new commit pushes and\nstart a new walk.\n\nThe revision walk is automatically reset when a walk\nis over.\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":"Mark a commit to start traversal from.","comments":"The given OID must belong to a commit on the walked\nrepository.\n\nThe given commit will be used as one of the roots\nwhen starting the revision walk. At least one commit\nmust be pushed the repository before a walk can\nbe started.\n","group":"revwalk","examples":{"general.c":["ex/HEAD/general.html#git_revwalk_push-18"]}},"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":"Push matching references","comments":"The OIDs pointed to by the references that match the given glob\npattern will be pushed to the revision walker.\n\nA leading 'refs/' is implied if not present as well as a trailing\n'/ *' if the glob lacks '?', '*' or '['.\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":"Push the repository's HEAD","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":"Mark a commit (and its ancestors) uninteresting for the output.","comments":"The given OID must belong to a commit on the walked\nrepository.\n\nThe resolved commit and all its parents will be hidden from the\noutput on the revision walk.\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":"Hide matching references.","comments":"The OIDs pointed to by the references that match the given glob\npattern and their ancestors will be hidden from the output on the\nrevision walk.\n\nA leading 'refs/' is implied if not present as well as a trailing\n'/ *' if the glob lacks '?', '*' or '['.\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":"Hide the repository's HEAD","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 reference to push"}],"argline":"git_revwalk *walk, const char *refname","sig":"git_revwalk *::const char *","return":{"type":"int","comment":"0 or an error code"},"description":"Push the OID pointed to by a reference","comments":"The reference must point to a commit.\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 reference to hide"}],"argline":"git_revwalk *walk, const char *refname","sig":"git_revwalk *::const char *","return":{"type":"int","comment":"0 or an error code"},"description":"Hide the OID pointed to by a reference","comments":"The reference must point to a commit.\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; GIT_ITEROVER if there are no commits left to iterate"},"description":"Get the next commit from the revision walk.","comments":"The initial call to this method is *not* blocking when\niterating through a repo with a time-sorting mode.\n\nIterating with Topological or inverted modes makes the initial\ncall blocking to preprocess the commit list, but this block should be\nmostly unnoticeable on most repositories (topological preprocessing\ntimes at 0.3s on the git.git repo).\n\nThe revision walker is reset when the walk is over.\n","group":"revwalk","examples":{"general.c":["ex/HEAD/general.html#git_revwalk_next-19"]}},"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"},"description":"Change the sorting mode when iterating through the\nrepository's contents.","comments":"Changing the sorting mode resets the walker.\n","group":"revwalk","examples":{"general.c":["ex/HEAD/general.html#git_revwalk_sorting-20"]}},"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"},"description":"Free a revision walker previously allocated.","comments":"","group":"revwalk","examples":{"general.c":["ex/HEAD/general.html#git_revwalk_free-21"]}},"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":"Return the repository on which this walker\nis operating.","comments":"","group":"revwalk"},"git_revparse_single":{"type":"function","file":"revparse.h","line":32,"lineto":32,"args":[{"name":"out","type":"git_object **","comment":"pointer to output object"},{"name":"repo","type":"git_repository *","comment":"the repository to search in"},{"name":"spec","type":"const char *","comment":"the textual specification for an object"}],"argline":"git_object **out, git_repository *repo, const char *spec","sig":"git_object **::git_repository *::const char *","return":{"type":"int","comment":"on success, GIT_ERROR otherwise (use git_error_last for information about the error)"},"description":"Find an object, as specified by a revision string. See `man gitrevisions`, or the documentation\nfor `git rev-parse` for information on the syntax accepted.","comments":"","group":"revparse"},"git_reset":{"type":"function","file":"reset.h","line":43,"lineto":43,"args":[{"name":"repo","type":"git_repository *","comment":"Repository where to perform the reset operation."},{"name":"target","type":"git_object *","comment":"Object to which the Head should be moved to. This object must belong to the given `repo` and can either be a git_commit or a git_tag. When a git_tag is being passed, it should be dereferencable to a git_commit which oid will be used as the target of the branch."},{"name":"reset_type","type":"git_reset_type","comment":"Kind of reset operation to perform."}],"argline":"git_repository *repo, git_object *target, git_reset_type reset_type","sig":"git_repository *::git_object *::git_reset_type","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Sets the current head to the specified commit oid and optionally\nresets the index and working tree to match.","comments":"When specifying a Soft kind of reset, the head will be moved to the commit.\n\nSpecifying a Mixed kind of reset will trigger a Soft reset and the index will\nbe replaced with the content of the commit tree.\n\nSpecifying a Hard kind of reset will trigger a Mixed reset and the working\ndirectory will be replaced with the content of the index.\n\nTODO: Implement remaining kinds of resets.\n","group":"reset"},"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":"Open a git repository.","comments":"The 'path' argument must point to either a git repository\nfolder, or an existing work dir.\n\nThe method will automatically detect if 'path' is a normal\nor bare repository or fail is 'path' is neither.\n","group":"repository","examples":{"network/git2.c":["ex/HEAD/git2.html#git_repository_open-1"],"general.c":["ex/HEAD/general.html#git_repository_open-22","ex/HEAD/general.html#git_repository_open-23"]}},"git_repository_wrap_odb":{"type":"function","file":"repository.h","line":49,"lineto":49,"args":[{"name":"repository","type":"git_repository **","comment":"pointer to the repo"},{"name":"odb","type":"git_odb *","comment":"the object database to wrap"}],"argline":"git_repository **repository, git_odb *odb","sig":"git_repository **::git_odb *","return":{"type":"int","comment":"0 or an error code"},"description":"Create a \"fake\" repository to wrap an object database","comments":"Create a repository object to wrap an object database to be used\nwith the API when all you have is an object database. This doesn't\nhave any paths associated with it, so use with care.\n","group":"repository"},"git_repository_discover":{"type":"function","file":"repository.h","line":79,"lineto":84,"args":[{"name":"repository_path","type":"char *","comment":"The user allocated buffer which will contain the found path."},{"name":"size","type":"size_t","comment":"repository_path size"},{"name":"start_path","type":"const char *","comment":"The base path where the lookup starts."},{"name":"across_fs","type":"int","comment":"If true, then the lookup will not stop when a filesystem device change is detected while exploring parent directories."},{"name":"ceiling_dirs","type":"const char *","comment":"A GIT_PATH_LIST_SEPARATOR separated list of absolute symbolic link free paths. The lookup will stop when any of this paths is reached. Note that the lookup always performs on start_path no matter start_path appears in ceiling_dirs ceiling_dirs might be NULL (which is equivalent to an empty string)"}],"argline":"char *repository_path,\n\t\tsize_t size,\n\t\tconst char *start_path,\n\t\tint across_fs,\n\t\tconst char *ceiling_dirs","sig":"char *::size_t::const char *::int::const char *","return":{"type":"int","comment":"0 or an error code"},"description":"Look for a git repository and copy its path in the given buffer.\nThe lookup start from base_path and walk across parent directories\nif nothing has been found. The lookup ends when the first repository\nis found, or when reaching a directory referenced in ceiling_dirs\nor when the filesystem changes (in case across_fs is true).","comments":"The method will automatically detect if the repository is bare\n(if there is a repository).\n","group":"repository"},"git_repository_open_ext":{"type":"function","file":"repository.h","line":120,"lineto":124,"args":[{"name":"repo","type":"git_repository **","comment":"_out Pointer to the repo which will be opened. This can actually be NULL if you only want to use the error code to see if a repo at this path could be opened."},{"name":"start_path","type":"const char *","comment":"Path to open as git repository. If the flags permit \"searching\", then this can be a path to a subdirectory inside the working directory of the repository."},{"name":"flags","type":"uint32_t","comment":"A combination of the GIT_REPOSITORY_OPEN flags above."},{"name":"ceiling_dirs","type":"const char *","comment":"A GIT_PATH_LIST_SEPARATOR delimited list of path prefixes at which the search for a containing repository should terminate."}],"argline":"git_repository **repo,\n\tconst char *start_path,\n\tuint32_t flags,\n\tconst char *ceiling_dirs","sig":"git_repository **::const char *::uint32_t::const char *","return":{"type":"int","comment":"0 on success, GIT_ENOTFOUND if no repository could be found, or -1 if there was a repository but open failed for some reason (such as repo corruption or system errors)."},"description":"Find and open a repository with extended controls.","comments":"","group":"repository","examples":{"showindex.c":["ex/HEAD/showindex.html#git_repository_open_ext-1"],"diff.c":["ex/HEAD/diff.html#git_repository_open_ext-3"]}},"git_repository_free":{"type":"function","file":"repository.h","line":137,"lineto":137,"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"},"description":"Free a previously allocated repository","comments":"Note that after a repository is free'd, all the objects it has spawned\nwill still exist until they are manually closed by the user\nwith `git_object_free`, but accessing any of the attributes of\nan object without a backing repository will result in undefined\nbehavior\n","group":"repository","examples":{"showindex.c":["ex/HEAD/showindex.html#git_repository_free-2"],"network/git2.c":["ex/HEAD/git2.html#git_repository_free-2"],"network/clone.c":["ex/HEAD/clone.html#git_repository_free-1"],"general.c":["ex/HEAD/general.html#git_repository_free-24"],"diff.c":["ex/HEAD/diff.html#git_repository_free-4"]}},"git_repository_init":{"type":"function","file":"repository.h","line":154,"lineto":157,"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","comment":"if true, a Git repository without a working directory is created at the pointed path. If false, provided path will be considered as the working directory into which the .git directory will be created."}],"argline":"git_repository **repo_out,\n\tconst char *path,\n\tunsigned is_bare","sig":"git_repository **::const char *::unsigned","return":{"type":"int","comment":"0 or an error code"},"description":"Creates a new Git repository in the given folder.","comments":"TODO:\n- Reinit the repository\n","group":"repository"},"git_repository_init_ext":{"type":"function","file":"repository.h","line":264,"lineto":267,"args":[{"name":"repo_out","type":"git_repository **","comment":"Pointer to the repo which will be created or reinitialized."},{"name":"repo_path","type":"const char *","comment":"The path to the repository."},{"name":"opts","type":"git_repository_init_options *","comment":"Pointer to git_repository_init_options struct."}],"argline":"git_repository **repo_out,\n\tconst char *repo_path,\n\tgit_repository_init_options *opts","sig":"git_repository **::const char *::git_repository_init_options *","return":{"type":"int","comment":"0 or an error code on failure."},"description":"Create a new Git repository in the given folder with extended controls.","comments":"This will initialize a new git repository (creating the repo_path\nif requested by flags) and working directory as needed. It will\nauto-detect the case sensitivity of the file system and if the\nfile system supports file mode bits correctly.\n","group":"repository"},"git_repository_head":{"type":"function","file":"repository.h","line":278,"lineto":278,"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, GIT_EORPHANEDHEAD when HEAD points to a non existing branch, an error code otherwise"},"description":"Retrieve and resolve the reference pointed at by HEAD.","comments":"","group":"repository"},"git_repository_head_detached":{"type":"function","file":"repository.h","line":290,"lineto":290,"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 it's not; error code if there was an error."},"description":"Check if a repository's HEAD is detached","comments":"A repository's HEAD is detached when it points directly to a commit\ninstead of a branch.\n","group":"repository"},"git_repository_head_orphan":{"type":"function","file":"repository.h","line":302,"lineto":302,"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 code if there was an error"},"description":"Check if the current branch is an orphan","comments":"An orphan branch is one named from HEAD but which doesn't exist in\nthe refs namespace, because it doesn't have any commit to point to.\n","group":"repository"},"git_repository_is_empty":{"type":"function","file":"repository.h","line":314,"lineto":314,"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 if the repository is corrupted"},"description":"Check if a repository is empty","comments":"An empty repository has just been initialized and contains\nno commits.\n","group":"repository"},"git_repository_path":{"type":"function","file":"repository.h","line":325,"lineto":325,"args":[{"name":"repo","type":"git_repository *","comment":"A repository object"}],"argline":"git_repository *repo","sig":"git_repository *","return":{"type":"const char *","comment":"the path to the repository"},"description":"Get the path of this repository","comments":"This is the path of the `.git` folder for normal repositories,\nor of the repository itself for bare repositories.\n","group":"repository"},"git_repository_workdir":{"type":"function","file":"repository.h","line":336,"lineto":336,"args":[{"name":"repo","type":"git_repository *","comment":"A repository object"}],"argline":"git_repository *repo","sig":"git_repository *","return":{"type":"const char *","comment":"the path to the working dir, if it exists"},"description":"Get the path of the working directory for this repository","comments":"If the repository is bare, this function will always return\nNULL.\n","group":"repository"},"git_repository_set_workdir":{"type":"function","file":"repository.h","line":355,"lineto":356,"args":[{"name":"repo","type":"git_repository *","comment":"A repository object"},{"name":"workdir","type":"const char *","comment":"The path to a working directory"},{"name":"update_gitlink","type":"int","comment":"Create/update gitlink in workdir and set config \"core.worktree\" (if workdir is not the parent of the .git directory)"}],"argline":"git_repository *repo, const char *workdir, int update_gitlink","sig":"git_repository *::const char *::int","return":{"type":"int","comment":"0, or an error code"},"description":"Set the path to the working directory for this repository","comments":"The working directory doesn't need to be the same one\nthat contains the `.git` folder for this repository.\n\nIf this repository is bare, setting its working directory\nwill turn it into a normal repository, capable of performing\nall the common workdir operations (checkout, status, index\nmanipulation, etc).\n","group":"repository"},"git_repository_is_bare":{"type":"function","file":"repository.h","line":364,"lineto":364,"args":[{"name":"repo","type":"git_repository *","comment":"Repo to test"}],"argline":"git_repository *repo","sig":"git_repository *","return":{"type":"int","comment":"1 if the repository is bare, 0 otherwise."},"description":"Check if a repository is bare","comments":"","group":"repository"},"git_repository_config":{"type":"function","file":"repository.h","line":380,"lineto":380,"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":"Get the configuration file for this repository.","comments":"If a configuration file has not been set, the default\nconfig set for the repository will be returned, including\nglobal and system configurations (if they are available).\n\nThe configuration file must be freed once it's no longer\nbeing used by the user.\n","group":"repository"},"git_repository_set_config":{"type":"function","file":"repository.h","line":395,"lineto":395,"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"},"description":"Set the configuration file for this repository","comments":"This configuration file will be used for all configuration\nqueries involving this repository.\n\nThe repository will keep a reference to the config file;\nthe user must still free the config after setting it\nto the repository, or it will leak.\n","group":"repository"},"git_repository_odb":{"type":"function","file":"repository.h","line":411,"lineto":411,"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":"Get the Object Database for this repository.","comments":"If a custom ODB has not been set, the default\ndatabase for the repository will be returned (the one\nlocated in `.git/objects`).\n\nThe ODB must be freed once it's no longer being used by\nthe user.\n","group":"repository","examples":{"general.c":["ex/HEAD/general.html#git_repository_odb-25"]}},"git_repository_set_odb":{"type":"function","file":"repository.h","line":426,"lineto":426,"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"},"description":"Set the Object Database for this repository","comments":"The ODB will be used for all object-related operations\ninvolving this repository.\n\nThe repository will keep a reference to the ODB; the user\nmust still free the ODB object after setting it to the\nrepository, or it will leak.\n","group":"repository"},"git_repository_index":{"type":"function","file":"repository.h","line":442,"lineto":442,"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":"Get the Index file for this repository.","comments":"If a custom index has not been set, the default\nindex for the repository will be returned (the one\nlocated in `.git/index`).\n\nThe index must be freed once it's no longer being used by\nthe user.\n","group":"repository","examples":{"showindex.c":["ex/HEAD/showindex.html#git_repository_index-3"],"general.c":["ex/HEAD/general.html#git_repository_index-26"]}},"git_repository_set_index":{"type":"function","file":"repository.h","line":457,"lineto":457,"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"},"description":"Set the index file for this repository","comments":"This index will be used for all index-related operations\ninvolving this repository.\n\nThe repository will keep a reference to the index file;\nthe user must still free the index after setting it\nto the repository, or it will leak.\n","group":"repository"},"git_repository_message":{"type":"function","file":"repository.h","line":476,"lineto":476,"args":[{"name":"buffer","type":"char *","comment":"Buffer to write data into or NULL to just read required size"},{"name":"len","type":"size_t","comment":"Length of buffer in bytes"},{"name":"repo","type":"git_repository *","comment":"Repository to read prepared message from"}],"argline":"char *buffer, size_t len, git_repository *repo","sig":"char *::size_t::git_repository *","return":{"type":"int","comment":"Bytes written to buffer, GIT_ENOTFOUND if no message, or -1 on error"},"description":"Retrieve git's prepared message","comments":"Operations such as git revert/cherry-pick/merge with the -n option\nstop just short of creating a commit with the changes and save\ntheir prepared message in .git/MERGE_MSG so the next git-commit\nexecution can present it to the user for them to amend if they\nwish.\n\nUse this function to get the contents of this file. Don't forget to\nremove the file after you create the commit.\n","group":"repository"},"git_repository_message_remove":{"type":"function","file":"repository.h","line":483,"lineto":483,"args":[{"name":"repo","type":"git_repository *"}],"argline":"git_repository *repo","sig":"git_repository *","return":{"type":"int"},"description":"Remove git's prepared message.","comments":"Remove the message that `git_repository_message` retrieves.","group":"repository"},"git_repository_hashfile":{"type":"function","file":"repository.h","line":503,"lineto":508,"args":[{"name":"out","type":"git_oid *","comment":"Output value of calculated SHA"},{"name":"repo","type":"git_repository *","comment":"Repository pointer"},{"name":"path","type":"const char *","comment":"Path to file on disk whose contents should be hashed. If the repository is not NULL, this can be a relative path."},{"name":"type","type":"git_otype","comment":"The object type to hash as (e.g. GIT_OBJ_BLOB)"},{"name":"as_path","type":"const char *","comment":"The path to use to look up filtering rules. If this is NULL, then the `path` parameter will be used instead. If this is passed as the empty string, then no filters will be applied when calculating the hash."}],"argline":"git_oid *out,\n git_repository *repo,\n const char *path,\n git_otype type,\n const char *as_path","sig":"git_oid *::git_repository *::const char *::git_otype::const char *","return":{"type":"int"},"description":"Calculate hash of file using repository filtering rules.","comments":"If you simply want to calculate the hash of a file on disk with no filters,\nyou can just use the `git_odb_hashfile()` API. However, if you want to\nhash a file in the repository and you want to apply filtering rules (e.g.\ncrlf filters) before generating the SHA, then use this function.\n","group":"repository"},"git_repository_set_head":{"type":"function","file":"repository.h","line":528,"lineto":530,"args":[{"name":"repo","type":"git_repository*","comment":"Repository pointer"},{"name":"refname","type":"const char*","comment":"Canonical name of the reference the HEAD should point at"}],"argline":"git_repository* repo,\n\tconst char* refname","sig":"git_repository*::const char*","return":{"type":"int","comment":"0 on success, or an error code"},"description":"Make the repository HEAD point to the specified reference.","comments":"If the provided reference points to a Tree or a Blob, the HEAD is\nunaltered and -1 is returned.\n\nIf the provided reference points to a branch, the HEAD will point\nto that branch, staying attached, or become attached if it isn't yet.\nIf the branch doesn't exist yet, no error will be return. The HEAD\nwill then be attached to an unborn branch.\n\nOtherwise, the HEAD will be detached and will directly point to\nthe Commit.\n","group":"repository"},"git_repository_set_head_detached":{"type":"function","file":"repository.h","line":548,"lineto":550,"args":[{"name":"repo","type":"git_repository*","comment":"Repository pointer"},{"name":"commitish","type":"const git_oid*","comment":"Object id of the Commit the HEAD should point to"}],"argline":"git_repository* repo,\n\tconst git_oid* commitish","sig":"git_repository*::const git_oid*","return":{"type":"int","comment":"0 on success, or an error code"},"description":"Make the repository HEAD directly point to the Commit.","comments":"If the provided committish cannot be found in the repository, the HEAD\nis unaltered and GIT_ENOTFOUND is returned.\n\nIf the provided commitish cannot be peeled into a commit, the HEAD\nis unaltered and -1 is returned.\n\nOtherwise, the HEAD will eventually be detached and will directly point to\nthe peeled Commit.\n","group":"repository"},"git_repository_detach_head":{"type":"function","file":"repository.h","line":569,"lineto":583,"args":[{"name":"repo","type":"git_repository*","comment":"Repository pointer"}],"argline":"git_repository* repo","sig":"git_repository*","return":{"type":"int","comment":"0 on success, GIT_EORPHANEDHEAD when HEAD points to a non existing branch or an error code"},"description":"Detach the HEAD.","comments":"If the HEAD is already detached and points to a Commit, 0 is returned.\n\nIf the HEAD is already detached and points to a Tag, the HEAD is\nupdated into making it point to the peeled Commit, and 0 is returned.\n\nIf the HEAD is already detached and points to a non commitish, the HEAD is \nunaletered, and -1 is returned.\n\nOtherwise, the HEAD will be detached and point to the peeled Commit.\n","group":"repository"},"git_repository_state":{"type":"function","file":"repository.h","line":592,"lineto":592,"args":[{"name":"repo","type":"git_repository *","comment":"Repository pointer"}],"argline":"git_repository *repo","sig":"git_repository *","return":{"type":"int","comment":"The state of the repository"},"description":"Determines the status of a git repository - ie, whether an operation\n(merge, cherry-pick, etc) is in progress.","comments":"","group":"repository"},"git_remote_new":{"type":"function","file":"remote.h","line":48,"lineto":48,"args":[{"name":"out","type":"git_remote **","comment":"pointer to the new remote object"},{"name":"repo","type":"git_repository *","comment":"the associated 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":"Create a remote in memory","comments":"Create a remote with the default refspecs in memory. You can use\nthis when you have a URL instead of a remote's name.\n","group":"remote","examples":{"network/ls-remote.c":["ex/HEAD/ls-remote.html#git_remote_new-1"],"network/fetch.c":["ex/HEAD/fetch.html#git_remote_new-1"]}},"git_remote_load":{"type":"function","file":"remote.h","line":58,"lineto":58,"args":[{"name":"out","type":"git_remote **","comment":"pointer to the new remote object"},{"name":"repo","type":"git_repository *"},{"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":"Get the information for a particular remote","comments":"","group":"remote","examples":{"network/ls-remote.c":["ex/HEAD/ls-remote.html#git_remote_load-2"],"network/fetch.c":["ex/HEAD/fetch.html#git_remote_load-2"]}},"git_remote_save":{"type":"function","file":"remote.h","line":66,"lineto":66,"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":"Save a remote to its repository's configuration","comments":"","group":"remote"},"git_remote_name":{"type":"function","file":"remote.h","line":74,"lineto":74,"args":[{"name":"remote","type":"git_remote *","comment":"the remote"}],"argline":"git_remote *remote","sig":"git_remote *","return":{"type":"const char *","comment":"a pointer to the name"},"description":"Get the remote's name","comments":"","group":"remote"},"git_remote_url":{"type":"function","file":"remote.h","line":82,"lineto":82,"args":[{"name":"remote","type":"git_remote *","comment":"the remote"}],"argline":"git_remote *remote","sig":"git_remote *","return":{"type":"const char *","comment":"a pointer to the url"},"description":"Get the remote's url","comments":"","group":"remote"},"git_remote_pushurl":{"type":"function","file":"remote.h","line":90,"lineto":90,"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 or NULL if no special url for pushing is set"},"description":"Get the remote's url for pushing","comments":"","group":"remote"},"git_remote_set_url":{"type":"function","file":"remote.h","line":101,"lineto":101,"args":[{"name":"remote","type":"git_remote *","comment":"the remote"},{"name":"url","type":"const char*","comment":"the url to set"}],"argline":"git_remote *remote, const char* url","sig":"git_remote *::const char*","return":{"type":"int","comment":"0 or an error value"},"description":"Set the remote's url","comments":"Existing connections will not be updated.\n","group":"remote"},"git_remote_set_pushurl":{"type":"function","file":"remote.h","line":112,"lineto":112,"args":[{"name":"remote","type":"git_remote *","comment":"the remote"},{"name":"url","type":"const char*","comment":"the url to set or NULL to clear the pushurl"}],"argline":"git_remote *remote, const char* url","sig":"git_remote *::const char*","return":{"type":"int","comment":"0 or an error value"},"description":"Set the remote's url for pushing","comments":"Existing connections will not be updated.\n","group":"remote"},"git_remote_set_fetchspec":{"type":"function","file":"remote.h","line":121,"lineto":121,"args":[{"name":"remote","type":"git_remote *","comment":"the remote @apram spec the new fetch refspec"},{"name":"spec","type":"const char *"}],"argline":"git_remote *remote, const char *spec","sig":"git_remote *::const char *","return":{"type":"int","comment":"0 or an error value"},"description":"Set the remote's fetch refspec","comments":"","group":"remote"},"git_remote_fetchspec":{"type":"function","file":"remote.h","line":129,"lineto":129,"args":[{"name":"remote","type":"git_remote *","comment":"the remote"}],"argline":"git_remote *remote","sig":"git_remote *","return":{"type":"const git_refspec *","comment":"a pointer to the fetch refspec or NULL if it doesn't exist"},"description":"Get the fetch refspec","comments":"","group":"remote"},"git_remote_set_pushspec":{"type":"function","file":"remote.h","line":138,"lineto":138,"args":[{"name":"remote","type":"git_remote *","comment":"the remote"},{"name":"spec","type":"const char *","comment":"the new push refspec"}],"argline":"git_remote *remote, const char *spec","sig":"git_remote *::const char *","return":{"type":"int","comment":"0 or an error value"},"description":"Set the remote's push refspec","comments":"","group":"remote"},"git_remote_pushspec":{"type":"function","file":"remote.h","line":146,"lineto":146,"args":[{"name":"remote","type":"git_remote *","comment":"the remote"}],"argline":"git_remote *remote","sig":"git_remote *","return":{"type":"const git_refspec *","comment":"a pointer to the push refspec or NULL if it doesn't exist"},"description":"Get the push refspec","comments":"","group":"remote"},"git_remote_connect":{"type":"function","file":"remote.h","line":160,"lineto":160,"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":"Open a connection to a remote","comments":"The transport is selected based on the URL. The direction argument\nis due to a limitation of the git protocol (over TCP or SSH) which\nstarts up a specific binary which can only do the one or the other.\n","group":"remote","examples":{"network/ls-remote.c":["ex/HEAD/ls-remote.html#git_remote_connect-3","ex/HEAD/ls-remote.html#git_remote_connect-4"],"network/fetch.c":["ex/HEAD/fetch.html#git_remote_connect-3"]}},"git_remote_ls":{"type":"function","file":"remote.h","line":175,"lineto":175,"args":[{"name":"remote","type":"git_remote *","comment":"the remote"},{"name":"list_cb","type":"git_headlist_cb"},{"name":"payload","type":"void *"}],"argline":"git_remote *remote, git_headlist_cb list_cb, void *payload","sig":"git_remote *::git_headlist_cb::void *","return":{"type":"int","comment":"0 on success, GIT_EUSER on non-zero callback, or error code"},"description":"Get a list of refs at the remote","comments":"The remote (or more exactly its transport) must be connected. The\nmemory belongs to the remote.\n\nIf you a return a non-zero value from the callback, this will stop\nlooping over the refs.\n","group":"remote","examples":{"network/ls-remote.c":["ex/HEAD/ls-remote.html#git_remote_ls-5","ex/HEAD/ls-remote.html#git_remote_ls-6","ex/HEAD/ls-remote.html#git_remote_ls-7"]}},"git_remote_download":{"type":"function","file":"remote.h","line":193,"lineto":196,"args":[{"name":"remote","type":"git_remote *","comment":"the remote to download from"},{"name":"progress_cb","type":"git_transfer_progress_callback","comment":"function to call with progress information. Be aware that this is called inline with network and indexing operations, so performance may be affected."},{"name":"progress_payload","type":"void *","comment":"payload for the progress callback"}],"argline":"git_remote *remote,\n\t\tgit_transfer_progress_callback progress_cb,\n\t\tvoid *progress_payload","sig":"git_remote *::git_transfer_progress_callback::void *","return":{"type":"int","comment":"0 or an error code"},"description":"Download the packfile","comments":"Negotiate what objects should be downloaded and download the\npackfile with those objects. The packfile is downloaded with a\ntemporary filename, as it's final name is not known yet. If there\nwas no packfile needed (all the objects were available locally),\nfilename will be NULL and the function will return success.\n","group":"remote","examples":{"network/fetch.c":["ex/HEAD/fetch.html#git_remote_download-4"]}},"git_remote_connected":{"type":"function","file":"remote.h","line":206,"lineto":206,"args":[{"name":"remote","type":"git_remote *"}],"argline":"git_remote *remote","sig":"git_remote *","return":{"type":"int","comment":"1 if it's connected, 0 otherwise."},"description":"Check whether the remote is connected","comments":"Check whether the remote's underlying transport is connected to the\nremote host.\n","group":"remote"},"git_remote_stop":{"type":"function","file":"remote.h","line":214,"lineto":214,"args":[{"name":"remote","type":"git_remote *"}],"argline":"git_remote *remote","sig":"git_remote *","return":{"type":"void"},"description":"Cancel the operation","comments":"At certain points in its operation, the network code checks whether\nthe operation has been cancelled and if so stops the operation.","group":"remote"},"git_remote_disconnect":{"type":"function","file":"remote.h","line":224,"lineto":224,"args":[{"name":"remote","type":"git_remote *","comment":"the remote to disconnect from"}],"argline":"git_remote *remote","sig":"git_remote *","return":{"type":"void"},"description":"Disconnect from the remote","comments":"Close the connection to the remote and free the underlying\ntransport.\n","group":"remote","examples":{"network/fetch.c":["ex/HEAD/fetch.html#git_remote_disconnect-5"]}},"git_remote_free":{"type":"function","file":"remote.h","line":234,"lineto":234,"args":[{"name":"remote","type":"git_remote *","comment":"the remote to free"}],"argline":"git_remote *remote","sig":"git_remote *","return":{"type":"void"},"description":"Free the memory associated with a remote","comments":"This also disconnects from the remote, if the connection\nhas not been closed yet (using git_remote_disconnect).\n","group":"remote","examples":{"network/ls-remote.c":["ex/HEAD/ls-remote.html#git_remote_free-8","ex/HEAD/ls-remote.html#git_remote_free-9"],"network/fetch.c":["ex/HEAD/fetch.html#git_remote_free-6","ex/HEAD/fetch.html#git_remote_free-7"]}},"git_remote_update_tips":{"type":"function","file":"remote.h","line":242,"lineto":242,"args":[{"name":"remote","type":"git_remote *","comment":"the remote to update"}],"argline":"git_remote *remote","sig":"git_remote *","return":{"type":"int"},"description":"Update the tips to the new state","comments":"","group":"remote","examples":{"network/fetch.c":["ex/HEAD/fetch.html#git_remote_update_tips-8"]}},"git_remote_valid_url":{"type":"function","file":"remote.h","line":250,"lineto":250,"args":[{"name":"url","type":"const char *","comment":"the url to check"}],"argline":"const char *url","sig":"const char *","return":{"type":"int"},"description":"Return whether a string is a valid remote URL","comments":"","group":"remote"},"git_remote_supported_url":{"type":"function","file":"remote.h","line":258,"lineto":258,"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":"Return whether the passed URL is supported by this version of the library.","comments":"","group":"remote"},"git_remote_list":{"type":"function","file":"remote.h","line":269,"lineto":269,"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":"Get a list of the configured remotes for a repo","comments":"The string array must be freed by the user.\n","group":"remote"},"git_remote_add":{"type":"function","file":"remote.h","line":279,"lineto":279,"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"},"description":"Add a remote with the default fetch refspec to the repository's configuration","comments":"","group":"remote"},"git_remote_check_cert":{"type":"function","file":"remote.h","line":287,"lineto":287,"args":[{"name":"remote","type":"git_remote *","comment":"the remote to configure"},{"name":"check","type":"int","comment":"whether to check the server's certificate (defaults to yes)"}],"argline":"git_remote *remote, int check","sig":"git_remote *::int","return":{"type":"void"},"description":"Choose whether to check the server's certificate (applies to HTTPS only)","comments":"","group":"remote"},"git_remote_set_transport":{"type":"function","file":"remote.h","line":300,"lineto":300,"args":[{"name":"remote","type":"git_remote *","comment":"the remote to configure"},{"name":"transport","type":"git_transport *","comment":"the transport object for the remote to use"}],"argline":"git_remote *remote, git_transport *transport","sig":"git_remote *::git_transport *","return":{"type":"int"},"description":"Sets a custom transport for the remote. The caller can use this function\nto bypass the automatic discovery of a transport by URL scheme (i.e.\nhttp://, https://, git://) and supply their own transport to be used\ninstead. After providing the transport to a remote using this function,\nthe transport object belongs exclusively to that remote, and the remote will\nfree it when it is freed with git_remote_free.","comments":"","group":"remote"},"git_remote_set_callbacks":{"type":"function","file":"remote.h","line":333,"lineto":333,"args":[{"name":"remote","type":"git_remote *","comment":"the remote to configure"},{"name":"callbacks","type":"git_remote_callbacks *","comment":"a pointer to the user's callback settings"}],"argline":"git_remote *remote, git_remote_callbacks *callbacks","sig":"git_remote *::git_remote_callbacks *","return":{"type":"void"},"description":"Set the callbacks for a remote","comments":"Note that the remote keeps its own copy of the data and you need to\ncall this function again if you want to change the callbacks.\n","group":"remote","examples":{"network/fetch.c":["ex/HEAD/fetch.html#git_remote_set_callbacks-9"]}},"git_remote_stats":{"type":"function","file":"remote.h","line":338,"lineto":345,"args":[{"name":"remote","type":"git_remote *"}],"argline":"git_remote *remote","sig":"git_remote *","return":{"type":"const git_transfer_progress *"},"description":"Get the statistics structure that is filled in by the fetch operation.","comments":"","group":"remote","examples":{"network/fetch.c":["ex/HEAD/fetch.html#git_remote_stats-10"]}},"git_remote_autotag":{"type":"function","file":"remote.h","line":353,"lineto":353,"args":[{"name":"remote","type":"git_remote *","comment":"the remote to query"}],"argline":"git_remote *remote","sig":"git_remote *","return":{"type":"int","comment":"the auto-follow setting"},"description":"Retrieve the tag auto-follow setting","comments":"","group":"remote"},"git_remote_set_autotag":{"type":"function","file":"remote.h","line":361,"lineto":361,"args":[{"name":"remote","type":"git_remote *","comment":"the remote to configure"},{"name":"value","type":"int","comment":"a GIT_REMOTE_DOWNLOAD_TAGS value"}],"argline":"git_remote *remote, int value","sig":"git_remote *::int","return":{"type":"void"},"description":"Set the tag auto-follow setting","comments":"","group":"remote"},"git_remote_rename":{"type":"function","file":"remote.h","line":376,"lineto":380,"args":[{"name":"remote","type":"git_remote *","comment":"the remote to rename"},{"name":"new_name","type":"const char *","comment":"the new name the remote should bear"},{"name":"callback","type":"int (*)(const char *problematic_refspec, void *payload)","comment":"Optional callback to notify the consumer of fetch refspecs that haven't been automatically updated and need potential manual tweaking."},{"name":"payload","type":"void *","comment":"Additional data to pass to the callback"}],"argline":"git_remote *remote,\n\tconst char *new_name,\n\tint (*callback)(const char *problematic_refspec, void *payload),\n\tvoid *payload","sig":"git_remote *::const char *::int (*)(const char *problematic_refspec, void *payload)::void *","return":{"type":"int","comment":"0 or an error code"},"description":"Give the remote a new name","comments":"All remote-tracking branches and configuration settings\nfor the remote are updated.\n","group":"remote"},"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":"Get the source specifier","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":"Get the destination specifier","comments":"","group":"refspec"},"git_refspec_force":{"type":"function","file":"refspec.h","line":44,"lineto":44,"args":[{"name":"refspec","type":"const git_refspec *","comment":"the refspec"}],"argline":"const git_refspec *refspec","sig":"const git_refspec *","return":{"type":"int","comment":"1 if force update has been set, 0 otherwise"},"description":"Get the force update setting","comments":"","group":"refspec"},"git_refspec_src_matches":{"type":"function","file":"refspec.h","line":53,"lineto":53,"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":"Check if a refspec's source descriptor matches a reference","comments":"","group":"refspec"},"git_refspec_transform":{"type":"function","file":"refspec.h","line":64,"lineto":68,"args":[{"name":"out","type":"char *","comment":"where to store the target name"},{"name":"outlen","type":"size_t","comment":"the size ouf the `out` buffer"},{"name":"spec","type":"const git_refspec *","comment":"the refspec"},{"name":"name","type":"const char *","comment":"the name of the reference to transform"}],"argline":"char *out, size_t outlen, const git_refspec *spec, const char *name","sig":"char *::size_t::const git_refspec *::const char *","return":{"type":"int","comment":"0, GIT_EBUFS or another error"},"description":"Transform a reference to its target following the refspec's rules","comments":"","group":"refspec"},"git_reference_lookup":{"type":"function","file":"refs.h","line":37,"lineto":37,"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, refs/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":"Lookup a reference by name in a repository.","comments":"The returned reference must be freed by the user.\n\nSee `git_reference_create_symbolic()` for documentation about valid\nreference names.\n","group":"reference","examples":{"general.c":["ex/HEAD/general.html#git_reference_lookup-27"],"diff.c":["ex/HEAD/diff.html#git_reference_lookup-5"]}},"git_reference_name_to_oid":{"type":"function","file":"refs.h","line":51,"lineto":52,"args":[{"name":"out","type":"git_oid *"},{"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":"Lookup a reference by name and resolve immediately to OID.","comments":"This function provides a quick way to resolve a reference name straight\nthrough to the object id that it refers to. This avoids having to\nallocate or free any `git_reference` objects for simple situations.\n","group":"reference"},"git_reference_create_symbolic":{"type":"function","file":"refs.h","line":83,"lineto":83,"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":"Create a new symbolic reference.","comments":"A symbolic reference is a reference name that refers to another\nreference name. If the other name moves, the symbolic name will move,\ntoo. As a simple example, the \"HEAD\" reference might refer to\n\"refs/heads/master\" while on the \"master\" branch of a repository.\n\nThe symbolic reference will be created in the repository and written to\nthe disk. The generated reference object must be freed by the user.\n\nValid reference names must follow one of two patterns:\n\n1. Top-level names must contain only capital letters and underscores,\n and must begin and end with a letter. (e.g. \"HEAD\", \"ORIG_HEAD\").\n2. Names prefixed with \"refs/\" can be almost anything. You must avoid\n the characters '~', '^', ':', '\\\\', '?', '[', and '*', and the\n sequences \"..\" and \"@{\" which have special meaning to revparse.\n\nThis function will return an error if a reference already exists with the\ngiven name unless `force` is true, in which case it will be overwritten.\n","group":"reference"},"git_reference_create_oid":{"type":"function","file":"refs.h","line":115,"lineto":115,"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":"Create a new direct reference.","comments":"A direct reference (also called an object id reference) refers directly\nto a specific object id (a.k.a. OID or SHA) in the repository. The id\npermanently refers to the object (although the reference itself can be\nmoved). For example, in libgit2 the direct ref \"refs/tags/v0.17.0\"\nrefers to OID 5b9fac39d8a76b9139667c26a63e6b3f204b3977.\n\nThe direct reference will be created in the repository and written to\nthe disk. The generated reference object must be freed by the user.\n\nValid reference names must follow one of two patterns:\n\n1. Top-level names must contain only capital letters and underscores,\n and must begin and end with a letter. (e.g. \"HEAD\", \"ORIG_HEAD\").\n2. Names prefixed with \"refs/\" can be almost anything. You must avoid\n the characters '~', '^', ':', '\\\\', '?', '[', and '*', and the\n sequences \"..\" and \"@{\" which have special meaning to revparse.\n\nThis function will return an error if a reference already exists with the\ngiven name unless `force` is true, in which case it will be overwritten.\n","group":"reference"},"git_reference_oid":{"type":"function","file":"refs.h","line":130,"lineto":130,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"const git_oid *","comment":"a pointer to the oid if available, NULL otherwise"},"description":"Get the OID pointed to by a direct reference.","comments":"Only available if the reference is direct (i.e. an object id reference,\nnot a symbolic one).\n\nTo find the OID of a symbolic ref, call `git_reference_resolve()` and\nthen this function (or maybe use `git_reference_name_to_oid()` to\ndirectly resolve a reference name all the way through to an OID).\n","group":"reference","examples":{"general.c":["ex/HEAD/general.html#git_reference_oid-28"],"diff.c":["ex/HEAD/diff.html#git_reference_oid-6"]}},"git_reference_target":{"type":"function","file":"refs.h","line":140,"lineto":140,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"const char *","comment":"a pointer to the name if available, NULL otherwise"},"description":"Get full name to the reference pointed to by a symbolic reference.","comments":"Only available if the reference is symbolic.\n","group":"reference","examples":{"general.c":["ex/HEAD/general.html#git_reference_target-29"]}},"git_reference_type":{"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_ref_t","comment":"the type"},"description":"Get the type of a reference.","comments":"Either direct (GIT_REF_OID) or symbolic (GIT_REF_SYMBOLIC)\n","group":"reference","examples":{"general.c":["ex/HEAD/general.html#git_reference_type-30"]}},"git_reference_name":{"type":"function","file":"refs.h","line":160,"lineto":160,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"const char *","comment":"the full name for the ref"},"description":"Get the full name of a reference.","comments":"See `git_reference_create_symbolic()` for rules about valid names.\n","group":"reference"},"git_reference_resolve":{"type":"function","file":"refs.h","line":178,"lineto":178,"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":"Resolve a symbolic reference to a direct reference.","comments":"This method iteratively peels a symbolic reference until it resolves to\na direct reference to an OID.\n\nThe peeled reference is returned in the `resolved_ref` argument, and\nmust be freed manually once it's no longer needed.\n\nIf a direct reference is passed as an argument, a copy of that\nreference is returned. This copy must be manually freed too.\n","group":"reference","examples":{"diff.c":["ex/HEAD/diff.html#git_reference_resolve-7"]}},"git_reference_owner":{"type":"function","file":"refs.h","line":186,"lineto":186,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"git_repository *","comment":"a pointer to the repo"},"description":"Get the repository where a reference resides.","comments":"","group":"reference"},"git_reference_set_target":{"type":"function","file":"refs.h","line":199,"lineto":199,"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":"Set the symbolic target of a reference.","comments":"The reference must be a symbolic reference, otherwise this will fail.\n\nThe reference will be automatically updated in memory and on disk.\n","group":"reference"},"git_reference_set_oid":{"type":"function","file":"refs.h","line":212,"lineto":212,"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":"Set the OID target of a reference.","comments":"The reference must be a direct reference, otherwise this will fail.\n\nThe reference will be automatically updated in memory and on disk.\n","group":"reference"},"git_reference_rename":{"type":"function","file":"refs.h","line":239,"lineto":239,"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":"Rename an existing reference.","comments":"This method works for both direct and symbolic references.\nThe new name will be checked for validity and may be\nmodified into a normalized form.\n\nThe given git_reference will be updated in place.\n\nThe reference will be immediately renamed in-memory and on disk.\n\nIf the `force` flag is not enabled, and there's already\na reference with the given name, the renaming will fail.\n\nIMPORTANT:\nThe user needs to write a proper reflog entry if the\nreflog is enabled for the repository. We only rename\nthe reflog if it exists.\n","group":"reference"},"git_reference_delete":{"type":"function","file":"refs.h","line":252,"lineto":252,"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":"Delete an existing reference.","comments":"This method works for both direct and symbolic references.\n\nThe reference will be immediately removed on disk and from memory\n(i.e. freed). The given reference pointer will no longer be valid.\n","group":"reference"},"git_reference_packall":{"type":"function","file":"refs.h","line":267,"lineto":267,"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":"Pack all the loose references in the repository.","comments":"This method will load into the cache all the loose\nreferences on the repository and update the\n`packed-refs` file with them.\n\nOnce the `packed-refs` file has been written properly,\nthe loose references will be removed from disk.\n","group":"reference"},"git_reference_list":{"type":"function","file":"refs.h","line":288,"lineto":288,"args":[{"name":"array","type":"git_strarray *","comment":"Pointer to a git_strarray structure where the 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 listing"}],"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":"Fill a list with all the references that can be found in a repository.","comments":"Using the `list_flags` parameter, the listed references may be filtered\nby type (`GIT_REF_OID` or `GIT_REF_SYMBOLIC`) or using a bitwise OR of\n`git_ref_t` values. To include packed refs, include `GIT_REF_PACKED`.\nFor convenience, use the value `GIT_REF_LISTALL` to obtain all\nreferences, including packed ones.\n\nThe string array will be filled with the names of all references; these\nvalues are owned by the user and should be free'd manually when no\nlonger needed, using `git_strarray_free()`.\n","group":"reference","examples":{"general.c":["ex/HEAD/general.html#git_reference_list-31"]}},"git_reference_foreach":{"type":"function","file":"refs.h","line":310,"lineto":310,"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 listing."},{"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 (*callback)(const char *, void *), void *payload","sig":"git_repository *::unsigned int::int (*)(const char *, void *)::void *","return":{"type":"int","comment":"0 on success, GIT_EUSER on non-zero callback, or error code"},"description":"Perform a callback on each reference in the repository.","comments":"Using the `list_flags` parameter, the references may be filtered by\ntype (`GIT_REF_OID` or `GIT_REF_SYMBOLIC`) or using a bitwise OR of\n`git_ref_t` values. To include packed refs, include `GIT_REF_PACKED`.\nFor convenience, use the value `GIT_REF_LISTALL` to obtain all\nreferences, including packed ones.\n\nThe `callback` function will be called for each reference in the\nrepository, receiving the name of the reference and the `payload` value\npassed to this method. Returning a non-zero value from the callback\nwill terminate the iteration.\n","group":"reference"},"git_reference_is_packed":{"type":"function","file":"refs.h","line":318,"lineto":318,"args":[{"name":"ref","type":"git_reference *","comment":"A git reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"int","comment":"0 in case it's not packed; 1 otherwise"},"description":"Check if a reference has been loaded from a packfile.","comments":"","group":"reference"},"git_reference_reload":{"type":"function","file":"refs.h","line":336,"lineto":336,"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":"Reload a reference from disk.","comments":"Reference pointers can become outdated if the Git repository is\naccessed simultaneously by other clients while the library is open.\n\nThis method forces a reload of the reference from disk, to ensure that\nthe provided information is still reliable.\n\nIf the reload fails (e.g. the reference no longer exists on disk, or\nhas become corrupted), an error code will be returned and the reference\npointer will be invalidated and freed.\n","group":"reference"},"git_reference_free":{"type":"function","file":"refs.h","line":343,"lineto":343,"args":[{"name":"ref","type":"git_reference *","comment":"git_reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"void"},"description":"Free the given reference.","comments":"","group":"reference","examples":{"diff.c":["ex/HEAD/diff.html#git_reference_free-8","ex/HEAD/diff.html#git_reference_free-9"]}},"git_reference_cmp":{"type":"function","file":"refs.h","line":352,"lineto":352,"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":"Compare two references.","comments":"","group":"reference"},"git_reference_foreach_glob":{"type":"function","file":"refs.h","line":373,"lineto":378,"args":[{"name":"repo","type":"git_repository *","comment":"Repository where to find the refs"},{"name":"glob","type":"const char *","comment":"Pattern to match (fnmatch-style) against reference name."},{"name":"list_flags","type":"unsigned int","comment":"Filtering flags for the reference listing."},{"name":"callback","type":"int (*)(const char *reference_name, void *payload)","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,\n\tconst char *glob,\n\tunsigned int list_flags,\n\tint (*callback)(const char *reference_name, void *payload),\n\tvoid *payload","sig":"git_repository *::const char *::unsigned int::int (*)(const char *reference_name, void *payload)::void *","return":{"type":"int","comment":"0 on success, GIT_EUSER on non-zero callback, or error code"},"description":"Perform a callback on each reference in the repository whose name\nmatches the given pattern.","comments":"This function acts like `git_reference_foreach()` with an additional\npattern match being applied to the reference name before issuing the\ncallback function. See that function for more information.\n\nThe pattern is matched using fnmatch or \"glob\" style where a '*' matches\nany sequence of letters, a '?' matches any letter, and square brackets\ncan be used to define character ranges (such as \"[0-9]\" for digits).\n","group":"reference"},"git_reference_has_log":{"type":"function","file":"refs.h","line":388,"lineto":388,"args":[{"name":"ref","type":"git_reference *","comment":"A git reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"int","comment":"0 when no reflog can be found, 1 when it exists; otherwise an error code."},"description":"Check if a reflog exists for the specified reference.","comments":"","group":"reference"},"git_reference_is_branch":{"type":"function","file":"refs.h","line":398,"lineto":398,"args":[{"name":"ref","type":"git_reference *","comment":"A git reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"int","comment":"1 when the reference lives in the refs/heads namespace; 0 otherwise."},"description":"Check if a reference is a local branch.","comments":"","group":"reference"},"git_reference_is_remote":{"type":"function","file":"refs.h","line":408,"lineto":412,"args":[{"name":"ref","type":"git_reference *","comment":"A git reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"int","comment":"1 when the reference lives in the refs/remotes namespace; 0 otherwise."},"description":"Check if a reference is a remote tracking branch","comments":"","group":"reference"},"git_reference_normalize_name":{"type":"function","file":"refs.h","line":450,"lineto":454,"args":[{"name":"buffer_out","type":"char *","comment":"User allocated buffer to store normalized name"},{"name":"buffer_size","type":"size_t","comment":"Size of buffer_out"},{"name":"name","type":"const char *","comment":"Reference name to be checked."},{"name":"flags","type":"unsigned int","comment":"Flags to constrain name validation rules - see the GIT_REF_FORMAT constants above."}],"argline":"char *buffer_out,\n\tsize_t buffer_size,\n\tconst char *name,\n\tunsigned int flags","sig":"char *::size_t::const char *::unsigned int","return":{"type":"int","comment":"0 on success or error code (GIT_EBUFS if buffer is too small, -1 if reference is invalid)"},"description":"Normalize reference name and check validity.","comments":"This will normalize the reference name by removing any leading slash\n'/' characters and collapsing runs of adjacent slashes between name\ncomponents into a single slash.\n\nOnce normalized, if the reference name is valid, it will be returned in\nthe user allocated buffer.\n","group":"reference"},"git_reference_peel":{"type":"function","file":"refs.h","line":470,"lineto":473,"args":[{"name":"out","type":"git_object **"},{"name":"ref","type":"git_reference *","comment":"The reference to be processed"},{"name":"type","type":"git_otype"}],"argline":"git_object **out,\n\tgit_reference *ref,\n\tgit_otype type","sig":"git_object **::git_reference *::git_otype","return":{"type":"int","comment":"0 or an error code"},"description":"Recursively peel reference until object of the specified type is found.","comments":"The retrieved `peeled` object is owned by the repository\nand should be closed with the `git_object_free` method.\n\nIf you pass `GIT_OBJ_ANY` as the target type, then the object\nwill be peeled until a non-tag object is met.\n","group":"reference"},"git_reference_is_valid_name":{"type":"function","file":"refs.h","line":489,"lineto":489,"args":[{"name":"refname","type":"const char *","comment":"name to be checked."}],"argline":"const char *refname","sig":"const char *","return":{"type":"int","comment":"1 if the reference name is acceptable; 0 if it isn't"},"description":"Ensure the reference name is well-formed.","comments":"Valid reference names must follow one of two patterns:\n\n1. Top-level names must contain only capital letters and underscores,\n and must begin and end with a letter. (e.g. \"HEAD\", \"ORIG_HEAD\").\n2. Names prefixed with \"refs/\" can be almost anything. You must avoid\n the characters '~', '^', ':', '\\\\', '?', '[', and '*', and the\n sequences \"..\" and \"@{\" which have special meaning to revparse.\n","group":"reference"},"git_reflog_read":{"type":"function","file":"reflog.h","line":37,"lineto":37,"args":[{"name":"reflog","type":"git_reflog **","comment":"pointer to reflog"},{"name":"ref","type":"git_reference *","comment":"log pointer to reflog"}],"argline":"git_reflog **reflog, git_reference *ref","sig":"git_reflog **::git_reference *","return":{"type":"int","comment":"0 or an error code"},"description":"Read the reflog for the given reference","comments":"If there is no reflog file for the given\nreference yet, an empty reflog object will\nbe returned.\n\nThe reflog must be freed manually by using\ngit_reflog_free().\n","group":"reflog"},"git_reflog_write":{"type":"function","file":"reflog.h","line":46,"lineto":46,"args":[{"name":"reflog","type":"git_reflog *","comment":"an existing reflog object"}],"argline":"git_reflog *reflog","sig":"git_reflog *","return":{"type":"int","comment":"0 or an error code"},"description":"Write an existing in-memory reflog object back to disk\nusing an atomic file lock.","comments":"","group":"reflog"},"git_reflog_append":{"type":"function","file":"reflog.h","line":59,"lineto":59,"args":[{"name":"reflog","type":"git_reflog *","comment":"an existing reflog object"},{"name":"new_oid","type":"const git_oid *","comment":"the OID the reference is now 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_reflog *reflog, const git_oid *new_oid, const git_signature *committer, const char *msg","sig":"git_reflog *::const git_oid *::const git_signature *::const char *","return":{"type":"int","comment":"0 or an error code"},"description":"Add a new entry to the reflog.","comments":"`msg` is optional and can be NULL.\n","group":"reflog"},"git_reflog_rename":{"type":"function","file":"reflog.h","line":70,"lineto":70,"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":"Rename the reflog for the given reference","comments":"The reflog to be renamed is expected to already exist\n","group":"reflog"},"git_reflog_delete":{"type":"function","file":"reflog.h","line":78,"lineto":78,"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":"Delete the reflog for the given reference","comments":"","group":"reflog"},"git_reflog_entrycount":{"type":"function","file":"reflog.h","line":86,"lineto":86,"args":[{"name":"reflog","type":"git_reflog *","comment":"the previously loaded reflog"}],"argline":"git_reflog *reflog","sig":"git_reflog *","return":{"type":"unsigned int","comment":"the number of log entries"},"description":"Get the number of log entries in a reflog","comments":"","group":"reflog"},"git_reflog_entry_byindex":{"type":"function","file":"reflog.h","line":95,"lineto":95,"args":[{"name":"reflog","type":"git_reflog *","comment":"a previously loaded reflog"},{"name":"idx","type":"size_t","comment":"the position to lookup"}],"argline":"git_reflog *reflog, size_t idx","sig":"git_reflog *::size_t","return":{"type":"const git_reflog_entry *","comment":"the entry; NULL if not found"},"description":"Lookup an entry by its index","comments":"","group":"reflog"},"git_reflog_drop":{"type":"function","file":"reflog.h","line":112,"lineto":115,"args":[{"name":"reflog","type":"git_reflog *","comment":"a previously loaded reflog."},{"name":"idx","type":"unsigned int","comment":"the position of the entry to remove."},{"name":"rewrite_previous_entry","type":"int","comment":"1 to rewrite the history; 0 otherwise."}],"argline":"git_reflog *reflog,\n\tunsigned int idx,\n\tint rewrite_previous_entry","sig":"git_reflog *::unsigned int::int","return":{"type":"int","comment":"0 on success or an error code."},"description":"Remove an entry from the reflog by its index","comments":"To ensure there's no gap in the log history, set `rewrite_previous_entry`\nparam value to 1. When deleting entry `n`, member old_oid of entry `n-1`\n(if any) will be updated with the value of member new_oid of entry `n+1`.\n","group":"reflog"},"git_reflog_entry_oidold":{"type":"function","file":"reflog.h","line":123,"lineto":123,"args":[{"name":"entry","type":"const git_reflog_entry *","comment":"a reflog entry"}],"argline":"const git_reflog_entry *entry","sig":"const git_reflog_entry *","return":{"type":"const git_oid *","comment":"the old oid"},"description":"Get the old oid","comments":"","group":"reflog"},"git_reflog_entry_oidnew":{"type":"function","file":"reflog.h","line":131,"lineto":131,"args":[{"name":"entry","type":"const git_reflog_entry *","comment":"a reflog entry"}],"argline":"const git_reflog_entry *entry","sig":"const git_reflog_entry *","return":{"type":"const git_oid *","comment":"the new oid at this time"},"description":"Get the new oid","comments":"","group":"reflog"},"git_reflog_entry_committer":{"type":"function","file":"reflog.h","line":139,"lineto":139,"args":[{"name":"entry","type":"const git_reflog_entry *","comment":"a reflog entry"}],"argline":"const git_reflog_entry *entry","sig":"const git_reflog_entry *","return":{"type":"git_signature *","comment":"the committer"},"description":"Get the committer of this entry","comments":"","group":"reflog"},"git_reflog_entry_msg":{"type":"function","file":"reflog.h","line":147,"lineto":147,"args":[{"name":"entry","type":"const git_reflog_entry *","comment":"a reflog entry"}],"argline":"const git_reflog_entry *entry","sig":"const git_reflog_entry *","return":{"type":"char *","comment":"the log msg"},"description":"Get the log msg","comments":"","group":"reflog"},"git_reflog_free":{"type":"function","file":"reflog.h","line":154,"lineto":154,"args":[{"name":"reflog","type":"git_reflog *","comment":"reflog to free"}],"argline":"git_reflog *reflog","sig":"git_reflog *","return":{"type":"void"},"description":"Free the reflog","comments":"","group":"reflog"},"git_packbuilder_new":{"type":"function","file":"pack.h","line":30,"lineto":30,"args":[{"name":"out","type":"git_packbuilder **","comment":"The new packbuilder object"},{"name":"repo","type":"git_repository *","comment":"The repository"}],"argline":"git_packbuilder **out, git_repository *repo","sig":"git_packbuilder **::git_repository *","return":{"type":"int","comment":"0 or an error code"},"description":"Initialize a new packbuilder","comments":"","group":"packbuilder"},"git_packbuilder_set_threads":{"type":"function","file":"pack.h","line":42,"lineto":42,"args":[{"name":"pb","type":"git_packbuilder *","comment":"The packbuilder"},{"name":"n","type":"unsigned int","comment":"Number of threads to spawn"}],"argline":"git_packbuilder *pb, unsigned int n","sig":"git_packbuilder *::unsigned int","return":{"type":"void"},"description":"Set number of threads to spawn","comments":"By default, libgit2 won't spawn any threads at all;\nwhen set to 0, libgit2 will autodetect the number of\nCPUs.\n","group":"packbuilder"},"git_packbuilder_insert":{"type":"function","file":"pack.h","line":56,"lineto":56,"args":[{"name":"pb","type":"git_packbuilder *","comment":"The packbuilder"},{"name":"oid","type":"const git_oid *","comment":"The oid of the commit"},{"name":"name","type":"const char *"}],"argline":"git_packbuilder *pb, const git_oid *oid,\tconst char *name","sig":"git_packbuilder *::const git_oid *::const char *","return":{"type":"int","comment":"0 or an error code"},"description":"Insert a single object","comments":"For an optimal pack it's mandatory to insert objects in recency order,\ncommits followed by trees and blobs.\n","group":"packbuilder"},"git_packbuilder_insert_tree":{"type":"function","file":"pack.h","line":68,"lineto":68,"args":[{"name":"pb","type":"git_packbuilder *","comment":"The packbuilder"},{"name":"oid","type":"const git_oid *","comment":"The oid of the root tree"}],"argline":"git_packbuilder *pb, const git_oid *oid","sig":"git_packbuilder *::const git_oid *","return":{"type":"int","comment":"0 or an error code"},"description":"Insert a root tree object","comments":"This will add the tree as well as all referenced trees and blobs.\n","group":"packbuilder"},"git_packbuilder_write":{"type":"function","file":"pack.h","line":78,"lineto":78,"args":[{"name":"pb","type":"git_packbuilder *","comment":"The packbuilder"},{"name":"file","type":"const char *"}],"argline":"git_packbuilder *pb, const char *file","sig":"git_packbuilder *::const char *","return":{"type":"int","comment":"0 or an error code"},"description":"Write the new pack and the corresponding index to path","comments":"","group":"packbuilder"},"git_packbuilder_free":{"type":"function","file":"pack.h","line":85,"lineto":85,"args":[{"name":"pb","type":"git_packbuilder *","comment":"The packbuilder"}],"argline":"git_packbuilder *pb","sig":"git_packbuilder *","return":{"type":"void"},"description":"Free the packbuilder and all associated data","comments":"","group":"packbuilder"},"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 the hex sequence and have at least the number of bytes needed 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":"Parse a hex formatted object id into a git_oid.","comments":"","group":"oid","examples":{"general.c":["ex/HEAD/general.html#git_oid_fromstr-32","ex/HEAD/general.html#git_oid_fromstr-33","ex/HEAD/general.html#git_oid_fromstr-34","ex/HEAD/general.html#git_oid_fromstr-35","ex/HEAD/general.html#git_oid_fromstr-36","ex/HEAD/general.html#git_oid_fromstr-37","ex/HEAD/general.html#git_oid_fromstr-38","ex/HEAD/general.html#git_oid_fromstr-39"]}},"git_oid_fromstrn":{"type":"function","file":"oid.h","line":61,"lineto":61,"args":[{"name":"out","type":"git_oid *","comment":"oid structure the result is written into."},{"name":"str","type":"const char *","comment":"input hex string of at least size `length`"},{"name":"length","type":"size_t","comment":"length of the input string"}],"argline":"git_oid *out, const char *str, size_t length","sig":"git_oid *::const char *::size_t","return":{"type":"int","comment":"0 or an error code"},"description":"Parse N characters of a hex formatted object id into a git_oid","comments":"If N is odd, N-1 characters will be parsed instead.\nThe remaining space in the git_oid will be set to zero.\n","group":"oid","examples":{"diff.c":["ex/HEAD/diff.html#git_oid_fromstrn-10"]}},"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"},"description":"Copy an already raw oid into a git_oid structure.","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 the hex sequence and have at least the number of bytes needed for an oid encoded in hex (40 bytes). Only the oid digits are written; a '\\\\0' terminator must be added by 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"},"description":"Format a git_oid into a hex string.","comments":"","group":"oid","examples":{"showindex.c":["ex/HEAD/showindex.html#git_oid_fmt-4"],"network/ls-remote.c":["ex/HEAD/ls-remote.html#git_oid_fmt-10"],"network/index-pack.c":["ex/HEAD/index-pack.html#git_oid_fmt-1"],"network/fetch.c":["ex/HEAD/fetch.html#git_oid_fmt-11","ex/HEAD/fetch.html#git_oid_fmt-12"],"general.c":["ex/HEAD/general.html#git_oid_fmt-40","ex/HEAD/general.html#git_oid_fmt-41","ex/HEAD/general.html#git_oid_fmt-42","ex/HEAD/general.html#git_oid_fmt-43","ex/HEAD/general.html#git_oid_fmt-44"]}},"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 the hex sequence and have at least the number of bytes needed for an oid encoded in hex (41 bytes). Only the oid digits are written; a '\\\\0' terminator must be added by 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"},"description":"Format a git_oid into a loose-object path string.","comments":"The resulting string is \"aa/...\", where \"aa\" is the first two\nhex digits of the oid and \"...\" is the remaining 38 digits.\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 deallocate the string with git__free()."},"description":"Format a git_oid into a newly allocated c-string.","comments":"","group":"oid"},"git_oid_tostr":{"type":"function","file":"oid.h","line":122,"lineto":122,"args":[{"name":"out","type":"char *","comment":"the buffer into which the oid string is output."},{"name":"n","type":"size_t","comment":"the size of the out buffer."},{"name":"oid","type":"const git_oid *","comment":"the oid structure to format."}],"argline":"char *out, size_t n, const git_oid *oid","sig":"char *::size_t::const git_oid *","return":{"type":"char *","comment":"the out buffer pointer, assuming no input parameter errors, otherwise a pointer to an empty string."},"description":"Format a git_oid into a buffer as a hex format c-string.","comments":"If the buffer is smaller than GIT_OID_HEXSZ+1, then the resulting\noid c-string will be truncated to n-1 characters. If there are\nany input parameter errors (out == NULL, n == 0, oid == NULL),\nthen a pointer to an empty string is returned, so that the return\nvalue can always be printed.\n","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"},"description":"Copy an oid from one structure to another.","comments":"","group":"oid"},"git_oid_cmp":{"type":"function","file":"oid.h","line":139,"lineto":151,"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":"<0, 0, >0 if a < b, a == b, a > b."},"description":"Compare two oid structures.","comments":"","group":"oid"},"git_oid_equal":{"type":"function","file":"oid.h","line":160,"lineto":163,"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":"true if equal, false otherwise"},"description":"Compare two oid structures for equality","comments":"","group":"oid"},"git_oid_ncmp":{"type":"function","file":"oid.h","line":174,"lineto":174,"args":[{"name":"a","type":"const git_oid *","comment":"first oid structure."},{"name":"b","type":"const git_oid *","comment":"second oid structure."},{"name":"len","type":"size_t","comment":"the number of hex chars to compare"}],"argline":"const git_oid *a, const git_oid *b, size_t len","sig":"const git_oid *::const git_oid *::size_t","return":{"type":"int","comment":"0 in case of a match"},"description":"Compare the first 'len' hexadecimal characters (packets of 4 bits)\nof two oid structures.","comments":"","group":"oid"},"git_oid_streq":{"type":"function","file":"oid.h","line":184,"lineto":184,"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, 0 in case of a match, GIT_ERROR otherwise."},"description":"Check if an oid equals an hex formatted object id.","comments":"","group":"oid"},"git_oid_iszero":{"type":"function","file":"oid.h","line":191,"lineto":191,"args":[{"name":"a","type":"const git_oid *"}],"argline":"const git_oid *a","sig":"const git_oid *","return":{"type":"int","comment":"1 if all zeros, 0 otherwise."},"description":"Check is an oid is all zeros.","comments":"","group":"oid","examples":{"network/fetch.c":["ex/HEAD/fetch.html#git_oid_iszero-13"]}},"git_oid_shorten_new":{"type":"function","file":"oid.h","line":212,"lineto":212,"args":[{"name":"min_length","type":"size_t","comment":"The minimal length for all identifiers, which will be used even if shorter OIDs would still be unique."}],"argline":"size_t min_length","sig":"size_t","return":{"type":"git_oid_shorten *","comment":"a `git_oid_shorten` instance, NULL if OOM"},"description":"Create a new OID shortener.","comments":"The OID shortener is used to process a list of OIDs\nin text form and return the shortest length that would\nuniquely identify all of them.\n\nE.g. look at the result of `git log --abbrev`.\n","group":"oid"},"git_oid_shorten_add":{"type":"function","file":"oid.h","line":238,"lineto":238,"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 added so far to the set; or an error code (<0) if an error occurs."},"description":"Add a new OID to set of shortened OIDs and calculate\nthe minimal length to uniquely identify all the OIDs in\nthe set.","comments":"The OID is expected to be a 40-char hexadecimal string.\nThe OID is owned by the user and will not be modified\nor freed.\n\nFor performance reasons, there is a hard-limit of how many\nOIDs can be added to a single set (around ~22000, assuming\na mostly randomized distribution), which should be enough\nfor any kind of program, and keeps the algorithm fast and\nmemory-efficient.\n\nAttempting to add more than those OIDs will result in a\nGIT_ENOMEM error\n","group":"oid"},"git_oid_shorten_free":{"type":"function","file":"oid.h","line":245,"lineto":245,"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"},"description":"Free an OID shortener instance","comments":"","group":"oid"},"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. Set to NULL if the open failed."}],"argline":"git_odb **out","sig":"git_odb **","return":{"type":"int","comment":"0 or an error code"},"description":"Create a new object database with no backends.","comments":"Before the ODB can be used for read/writing, a custom database\nbackend must be manually added using `git_odb_add_backend()`\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. Set 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":"Create a new object database and automatically add\nthe two default backends:","comments":"- git_odb_backend_loose: read and write loose object files\n\tfrom disk, assuming `objects_dir` as the Objects folder\n\n- git_odb_backend_pack: read objects from packfiles,\n\tassuming `objects_dir` as the Objects folder which\n\tcontains a 'pack/' folder with the corresponding data\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 success; error code otherwise"},"description":"Add a custom backend to an existing Object DB","comments":"The backends are checked in relative ordering, based on the\nvalue of the `priority` parameter.\n\nRead <odb_backends.h> for more information.\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 success; error code otherwise"},"description":"Add a custom backend to an existing Object DB; this\nbackend will work as an alternate.","comments":"Alternate backends are always checked for objects *after*\nall the main backends have been exhausted.\n\nThe backends are checked in relative ordering, based on the\nvalue of the `priority` parameter.\n\nWriting is disabled on alternate backends.\n\nRead <odb_backends.h> for more information.\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"},"description":"Close an open object database.","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; - GIT_ENOTFOUND if the object is not in the database."},"description":"Read an object from the database.","comments":"This method queries all available ODB backends\ntrying to read the given OID.\n\nThe returned object is reference counted and\ninternally cached, so it should be closed\nby the user once it's no longer in use.\n","group":"odb","examples":{"general.c":["ex/HEAD/general.html#git_odb_read-45"]}},"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":"size_t","comment":"the length of the prefix"}],"argline":"git_odb_object **out, git_odb *db, const git_oid *short_id, size_t len","sig":"git_odb_object **::git_odb *::const git_oid *::size_t","return":{"type":"int","comment":"0 if the object was read; GIT_ENOTFOUND if the object is not in the database. GIT_EAMBIGUOUS if the prefix is ambiguous (several objects match the prefix)"},"description":"Read an object from the database, given a prefix\nof its identifier.","comments":"This method queries all available ODB backends\ntrying to match the 'len' first hexadecimal\ncharacters of the 'short_id'.\nThe remaining (GIT_OID_HEXSZ-len)*4 bits of\n'short_id' must be 0s.\n'len' must be at least GIT_OID_MINPREFIXLEN,\nand the prefix must be long enough to identify\na unique object in all the backends; the\nmethod will fail otherwise.\n\nThe returned object is reference counted and\ninternally cached, so it should be closed\nby the user once it's no longer in use.\n","group":"odb"},"git_odb_read_header":{"type":"function","file":"odb.h","line":162,"lineto":162,"args":[{"name":"len_p","type":"size_t *","comment":"pointer where to store the length"},{"name":"type_p","type":"git_otype *","comment":"pointer where to store the type"},{"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":"size_t *len_p, git_otype *type_p, git_odb *db, const git_oid *id","sig":"size_t *::git_otype *::git_odb *::const git_oid *","return":{"type":"int","comment":"- 0 if the object was read; - GIT_ENOTFOUND if the object is not in the database."},"description":"Read the header of an object from the database, without\nreading its full contents.","comments":"The header includes the length and the type of an object.\n\nNote that most backends do not support reading only the header\nof an object, so the whole object will be read and then the\nheader will be returned.\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 - 0, otherwise"},"description":"Determine if the given object can be found in the object database.","comments":"","group":"odb"},"git_odb_foreach":{"type":"function","file":"odb.h","line":188,"lineto":188,"args":[{"name":"db","type":"git_odb *","comment":"database to use"},{"name":"cb","type":"int (*)(git_oid *oid, void *data)","comment":"the callback to call for each object"},{"name":"data","type":"void *","comment":"data to pass to the callback"}],"argline":"git_odb *db, int (*cb)(git_oid *oid, void *data), void *data","sig":"git_odb *::int (*)(git_oid *oid, void *data)::void *","return":{"type":"int","comment":"0 on success, GIT_EUSER on non-zero callback, or error code"},"description":"List all objects available in the database","comments":"The callback will be called for each object available in the\ndatabase. Note that the objects are likely to be returned in the index\norder, which would make accessing the objects in that order inefficient.\nReturn a non-zero value from the callback to stop looping.\n","group":"odb"},"git_odb_write":{"type":"function","file":"odb.h","line":208,"lineto":208,"args":[{"name":"oid","type":"git_oid *","comment":"pointer to store the OID result of the write"},{"name":"odb","type":"git_odb *","comment":"object database where to store the object"},{"name":"data","type":"const void *","comment":"buffer with the data to store"},{"name":"len","type":"size_t","comment":"size of the buffer"},{"name":"type","type":"git_otype","comment":"type of the data to store"}],"argline":"git_oid *oid, git_odb *odb, const void *data, size_t len, git_otype type","sig":"git_oid *::git_odb *::const void *::size_t::git_otype","return":{"type":"int","comment":"0 or an error code"},"description":"Write an object directly into the ODB","comments":"This method writes a full object straight into the ODB.\nFor most cases, it is preferred to write objects through a write\nstream, which is both faster and less memory intensive, specially\nfor big objects.\n\nThis method is provided for compatibility with custom backends\nwhich are not able to support streaming writes\n","group":"odb","examples":{"general.c":["ex/HEAD/general.html#git_odb_write-46"]}},"git_odb_open_wstream":{"type":"function","file":"odb.h","line":237,"lineto":237,"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 write"},{"name":"size","type":"size_t","comment":"final size of the object that will be written"},{"name":"type","type":"git_otype","comment":"type of the object that will be written"}],"argline":"git_odb_stream **stream, git_odb *db, size_t size, git_otype type","sig":"git_odb_stream **::git_odb *::size_t::git_otype","return":{"type":"int","comment":"0 if the stream was created; error code otherwise"},"description":"Open a stream to write an object into the ODB","comments":"The type and final length of the object must be specified\nwhen opening the stream.\n\nThe returned stream will be of type `GIT_STREAM_WRONLY` and\nwill have the following methods:\n\n\t- stream->write: write `n` bytes into the stream\n\t- stream->finalize_write: close the stream and store the object in\n\t\tthe odb\n\t- stream->free: free the stream\n\nThe streaming write won't be effective until `stream->finalize_write`\nis called and returns without an error\n\nThe stream must always be free'd or will leak memory.\n\n@see git_odb_stream\n","group":"odb"},"git_odb_open_rstream":{"type":"function","file":"odb.h","line":263,"lineto":263,"args":[{"name":"stream","type":"git_odb_stream **","comment":"pointer where to store the stream"},{"name":"db","type":"git_odb *","comment":"object database where the stream will read from"},{"name":"oid","type":"const git_oid *","comment":"oid of the object the stream will read from"}],"argline":"git_odb_stream **stream, git_odb *db, const git_oid *oid","sig":"git_odb_stream **::git_odb *::const git_oid *","return":{"type":"int","comment":"0 if the stream was created; error code otherwise"},"description":"Open a stream to read an object from the ODB","comments":"Note that most backends do *not* support streaming reads\nbecause they store their objects as compressed/delta'ed blobs.\n\nIt's recommended to use `git_odb_read` instead, which is\nassured to work on all backends.\n\nThe returned stream will be of type `GIT_STREAM_RDONLY` and\nwill have the following methods:\n\n\t- stream->read: read `n` bytes from the stream\n\t- stream->free: free the stream\n\nThe stream must always be free'd or will leak memory.\n\n@see git_odb_stream\n","group":"odb"},"git_odb_hash":{"type":"function","file":"odb.h","line":277,"lineto":277,"args":[{"name":"id","type":"git_oid *","comment":"the resulting object-ID."},{"name":"data","type":"const void *","comment":"data to hash"},{"name":"len","type":"size_t","comment":"size of the data"},{"name":"type","type":"git_otype","comment":"of the data to hash"}],"argline":"git_oid *id, const void *data, size_t len, git_otype type","sig":"git_oid *::const void *::size_t::git_otype","return":{"type":"int","comment":"0 or an error code"},"description":"Determine the object-ID (sha1 hash) of a data buffer","comments":"The resulting SHA-1 OID will be the identifier for the data\nbuffer as if the data buffer it were to written to the ODB.\n","group":"odb"},"git_odb_hashfile":{"type":"function","file":"odb.h","line":292,"lineto":292,"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":"Read a file from disk and fill a git_oid with the object id\nthat the file would have if it were written to the Object\nDatabase as an object of the given type (w/o applying filters).\nSimilar functionality to git.git's `git hash-object` without\nthe `-w` flag, however, with the --no-filters flag.\nIf you need filters, see git_repository_hashfile.","comments":"","group":"odb"},"git_odb_object_free":{"type":"function","file":"odb.h","line":302,"lineto":302,"args":[{"name":"object","type":"git_odb_object *","comment":"object to close"}],"argline":"git_odb_object *object","sig":"git_odb_object *","return":{"type":"void"},"description":"Close an ODB object","comments":"This method must always be called once a `git_odb_object` is no\nlonger needed, otherwise memory will leak.\n","group":"odb","examples":{"general.c":["ex/HEAD/general.html#git_odb_object_free-47"]}},"git_odb_object_id":{"type":"function","file":"odb.h","line":312,"lineto":312,"args":[{"name":"object","type":"git_odb_object *","comment":"the object"}],"argline":"git_odb_object *object","sig":"git_odb_object *","return":{"type":"const git_oid *","comment":"a pointer to the OID"},"description":"Return the OID of an ODB object","comments":"This is the OID from which the object was read from\n","group":"odb"},"git_odb_object_data":{"type":"function","file":"odb.h","line":325,"lineto":325,"args":[{"name":"object","type":"git_odb_object *","comment":"the object"}],"argline":"git_odb_object *object","sig":"git_odb_object *","return":{"type":"const void *","comment":"a pointer to the data"},"description":"Return the data of an ODB object","comments":"This is the uncompressed, raw data as read from the ODB,\nwithout the leading header.\n\nThis pointer is owned by the object and shall not be free'd.\n","group":"odb","examples":{"general.c":["ex/HEAD/general.html#git_odb_object_data-48"]}},"git_odb_object_size":{"type":"function","file":"odb.h","line":336,"lineto":336,"args":[{"name":"object","type":"git_odb_object *","comment":"the object"}],"argline":"git_odb_object *object","sig":"git_odb_object *","return":{"type":"size_t","comment":"the size"},"description":"Return the size of an ODB object","comments":"This is the real size of the `data` buffer, not the\nactual size of the object.\n","group":"odb","examples":{"general.c":["ex/HEAD/general.html#git_odb_object_size-49"]}},"git_odb_object_type":{"type":"function","file":"odb.h","line":344,"lineto":344,"args":[{"name":"object","type":"git_odb_object *","comment":"the object"}],"argline":"git_odb_object *object","sig":"git_odb_object *","return":{"type":"git_otype","comment":"the type"},"description":"Return the type of an ODB object","comments":"","group":"odb","examples":{"general.c":["ex/HEAD/general.html#git_odb_object_type-50"]}},"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,\n\t\tgit_repository *repo,\n\t\tconst git_oid *id,\n\t\tgit_otype type","sig":"git_object **::git_repository *::const git_oid *::git_otype","return":{"type":"int","comment":"a reference to the object"},"description":"Lookup a reference to one of the objects in a repository.","comments":"The generated reference is owned by the repository and\nshould be closed with the `git_object_free` method\ninstead of free'd manually.\n\nThe 'type' parameter must match the type of the object\nin the odb; the method will fail otherwise.\nThe special value 'GIT_OBJ_ANY' may be passed to let\nthe method guess the object's type.\n","group":"object","examples":{"diff.c":["ex/HEAD/diff.html#git_object_lookup-11"]}},"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":"size_t","comment":"the length of the short identifier"},{"name":"type","type":"git_otype","comment":"the type of the object"}],"argline":"git_object **object_out,\n\t\tgit_repository *repo,\n\t\tconst git_oid *id,\n\t\tsize_t len,\n\t\tgit_otype type","sig":"git_object **::git_repository *::const git_oid *::size_t::git_otype","return":{"type":"int","comment":"0 or an error code"},"description":"Lookup a reference to one of the objects in a repository,\ngiven a prefix of its identifier (short id).","comments":"The object obtained will be so that its identifier\nmatches the first 'len' hexadecimal characters\n(packets of 4 bits) of the given 'id'.\n'len' must be at least GIT_OID_MINPREFIXLEN, and\nlong enough to identify a unique object matching\nthe prefix; otherwise the method will fail.\n\nThe generated reference is owned by the repository and\nshould be closed with the `git_object_free` method\ninstead of free'd manually.\n\nThe 'type' parameter must match the type of the object\nin the odb; the method will fail otherwise.\nThe special value 'GIT_OBJ_ANY' may be passed to let\nthe method guess the object's type.\n","group":"object","examples":{"diff.c":["ex/HEAD/diff.html#git_object_lookup_prefix-12"]}},"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":"Get the id (SHA1) of a repository object","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":"Get the object type of an object","comments":"","group":"object","examples":{"diff.c":["ex/HEAD/diff.html#git_object_type-13"]}},"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":"Get the repository that owns this object","comments":"Freeing or calling `git_repository_close` on the\nreturned pointer will invalidate the actual object.\n\nAny other operation may be run on the repository without\naffecting the object.\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"},"description":"Close an open object","comments":"This method instructs the library to close an existing\nobject; note that git_objects are owned and cached by the repository\nso the object may or may not be freed after this library call,\ndepending on how aggressive is the caching mechanism used\nby the repository.\n\nIMPORTANT:\nIt *is* necessary to call this method when you stop using\nan object. Failure to do so will cause a memory leak.\n","group":"object","examples":{"general.c":["ex/HEAD/general.html#git_object_free-51"],"diff.c":["ex/HEAD/diff.html#git_object_free-14"]}},"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":"Convert an object type to it's string representation.","comments":"The result is a pointer to a string in static memory and\nshould not be free()'ed.\n","group":"object","examples":{"general.c":["ex/HEAD/general.html#git_object_type2string-52"]}},"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":"Convert a string object type representation to it's git_otype.","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, false otherwise."},"description":"Determine if the given git_otype is a valid loose object type.","comments":"","group":"object"},"git_object__size":{"type":"function","file":"object.h","line":168,"lineto":168,"args":[{"name":"type","type":"git_otype","comment":"object type to get its size"}],"argline":"git_otype type","sig":"git_otype","return":{"type":"size_t","comment":"size in bytes of the object"},"description":"Get the size in bytes for the structure which\nacts as an in-memory representation of any given\nobject type.","comments":"For all the core types, this would the equivalent\nof calling `sizeof(git_commit)` if the core types\nwere not opaque on the external API.\n","group":"object"},"git_object_peel":{"type":"function","file":"object.h","line":185,"lineto":188,"args":[{"name":"peeled","type":"git_object **","comment":"Pointer to the peeled git_object"},{"name":"object","type":"git_object *","comment":"The object to be processed"},{"name":"target_type","type":"git_otype","comment":"The type of the requested object"}],"argline":"git_object **peeled,\n\t\tgit_object *object,\n\t\tgit_otype target_type","sig":"git_object **::git_object *::git_otype","return":{"type":"int","comment":"0 or an error code"},"description":"Recursively peel an object until an object of the specified type is met.","comments":"The retrieved `peeled` object is owned by the repository and should be\nclosed with the `git_object_free` method.\n\nIf you pass `GIT_OBJ_ANY` as the target type, then the object will be\npeeled until the type changes (e.g. a tag will be chased until the\nreferenced object is no longer a tag).\n","group":"object"},"git_note_read":{"type":"function","file":"notes.h","line":34,"lineto":35,"args":[{"name":"note","type":"git_note **","comment":"pointer to the read note; NULL in case of error"},{"name":"repo","type":"git_repository *","comment":"repository where to look up the note"},{"name":"notes_ref","type":"const char *","comment":"canonical name of the reference to use (optional); defaults to \"refs/notes/commits\""},{"name":"oid","type":"const git_oid *","comment":"OID of the git object to read the note from"}],"argline":"git_note **note, git_repository *repo,\n\t\t\t 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":"Read the note for an object","comments":"The note must be freed manually by the user.\n","group":"note"},"git_note_message":{"type":"function","file":"notes.h","line":43,"lineto":43,"args":[{"name":"note","type":"git_note *","comment":""}],"argline":"git_note *note","sig":"git_note *","return":{"type":"const char *","comment":"the note message"},"description":"Get the note message","comments":"","group":"note"},"git_note_oid":{"type":"function","file":"notes.h","line":52,"lineto":52,"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":"Get the note object OID","comments":"","group":"note"},"git_note_create":{"type":"function","file":"notes.h","line":68,"lineto":71,"args":[{"name":"out","type":"git_oid *","comment":"pointer to store the OID (optional); NULL in case of error"},{"name":"repo","type":"git_repository *","comment":"repository where to store the note"},{"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":"canonical name of the reference to use (optional); defaults to \"refs/notes/commits\""},{"name":"oid","type":"const git_oid *","comment":"OID of the git object to decorate"},{"name":"note","type":"const char *","comment":"s_ref canonical name of the reference to use (optional); defaults to \"refs/notes/commits\""}],"argline":"git_oid *out, git_repository *repo,\n\t\t\t\tgit_signature *author, git_signature *committer,\n\t\t\t\tconst char *notes_ref, const git_oid *oid,\n\t\t\t\t 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":"Add a note for an object","comments":"","group":"note"},"git_note_remove":{"type":"function","file":"notes.h","line":86,"lineto":88,"args":[{"name":"repo","type":"git_repository *","comment":"repository where the note lives"},{"name":"notes_ref","type":"const char *","comment":"canonical name of the 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":"OID of the git object to remove the note from"}],"argline":"git_repository *repo, const char *notes_ref,\n\t\t\t\tgit_signature *author, git_signature *committer,\n\t\t\t\tconst 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":"Remove the note for an object","comments":"","group":"note"},"git_note_free":{"type":"function","file":"notes.h","line":95,"lineto":95,"args":[{"name":"note","type":"git_note *","comment":"git_note object"}],"argline":"git_note *note","sig":"git_note *","return":{"type":"void"},"description":"Free a git_note object","comments":"","group":"note"},"git_note_default_ref":{"type":"function","file":"notes.h","line":105,"lineto":105,"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":"Get the default notes reference for a repository","comments":"","group":"note"},"git_note_foreach":{"type":"function","file":"notes.h","line":134,"lineto":139,"args":[{"name":"repo","type":"git_repository *","comment":"Repository where to find the notes."},{"name":"notes_ref","type":"const char *","comment":"Reference to read from (optional); defaults to \"refs/notes/commits\"."},{"name":"note_cb","type":"int (*)(git_note_data *note_data, void *payload)","comment":"Callback to invoke per found annotation. Return non-zero to stop looping."},{"name":"payload","type":"void *","comment":"Extra parameter to callback function."}],"argline":"git_repository *repo,\n\tconst char *notes_ref,\n\tint (*note_cb)(git_note_data *note_data, void *payload),\n\tvoid *payload","sig":"git_repository *::const char *::int (*)(git_note_data *note_data, void *payload)::void *","return":{"type":"int","comment":"0 on success, GIT_EUSER on non-zero callback, or error code"},"description":"Loop over all the notes within a specified namespace\nand issue a callback for each one.","comments":"","group":"note"},"git_message_prettify":{"type":"function","file":"message.h","line":39,"lineto":39,"args":[{"name":"message_out","type":"char *","comment":"The user allocated buffer which will be filled with the cleaned up message. Pass NULL if you just want to get the size of the prettified message as the output value."},{"name":"buffer_size","type":"size_t"},{"name":"message","type":"const char *","comment":"_out The user allocated buffer which will be filled with the cleaned up message. Pass NULL if you just want to get the size of the prettified message as the output value."},{"name":"strip_comments","type":"int","comment":"1 to remove lines starting with a \"#\", 0 otherwise."}],"argline":"char *message_out, size_t buffer_size, const char *message, int strip_comments","sig":"char *::size_t::const char *::int","return":{"type":"int","comment":"-1 on error, else number of characters in prettified message including the trailing NUL byte"},"description":"Clean up message from excess whitespace and make sure that the last line\nends with a '\\n'.","comments":"Optionally, can remove lines starting with a \"#\".\n","group":"message"},"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":"const git_oid *","comment":"one of the commits"},{"name":"two","type":"const git_oid *","comment":"the other commit"}],"argline":"git_oid *out, git_repository *repo, const git_oid *one, const git_oid *two","sig":"git_oid *::git_repository *::const git_oid *::const git_oid *","return":{"type":"int"},"description":"Find a merge base between two commits","comments":"","group":"merge"},"git_merge_base_many":{"type":"function","file":"merge.h","line":41,"lineto":41,"args":[{"name":"out","type":"git_oid *","comment":"the OID of a merge base considering all the commits"},{"name":"repo","type":"git_repository *","comment":"the repository where the commits exist"},{"name":"length","type":"size_t","comment":"The number of commits in the provided `input_array`"}],"argline":"git_oid *out, git_repository *repo, const git_oid input_array[], size_t length","sig":"git_oid *::git_repository *::size_t","return":{"type":"int"},"description":"Find a merge base given a list of commits","comments":"","group":"merge"},"git_indexer_stream_new":{"type":"function","file":"indexer.h","line":43,"lineto":47,"args":[{"name":"out","type":"git_indexer_stream **","comment":"where to store the indexer instance"},{"name":"path","type":"const char *","comment":"to the directory where the packfile should be stored"},{"name":"progress_cb","type":"git_transfer_progress_callback","comment":"function to call with progress information"},{"name":"progress_callback_payload","type":"void *"}],"argline":"git_indexer_stream **out,\n\t\tconst char *path,\n\t\tgit_transfer_progress_callback progress_cb,\n\t\tvoid *progress_callback_payload","sig":"git_indexer_stream **::const char *::git_transfer_progress_callback::void *","return":{"type":"int"},"description":"Create a new streaming indexer instance","comments":"","group":"indexer","examples":{"network/index-pack.c":["ex/HEAD/index-pack.html#git_indexer_stream_new-2"]}},"git_indexer_stream_add":{"type":"function","file":"indexer.h","line":57,"lineto":57,"args":[{"name":"idx","type":"git_indexer_stream *","comment":"the indexer"},{"name":"data","type":"const void *","comment":"the data to add"},{"name":"size","type":"size_t","comment":"the size of the data"},{"name":"stats","type":"git_transfer_progress *","comment":"stat storage"}],"argline":"git_indexer_stream *idx, const void *data, size_t size, git_transfer_progress *stats","sig":"git_indexer_stream *::const void *::size_t::git_transfer_progress *","return":{"type":"int"},"description":"Add data to the indexer","comments":"","group":"indexer","examples":{"network/index-pack.c":["ex/HEAD/index-pack.html#git_indexer_stream_add-3"]}},"git_indexer_stream_finalize":{"type":"function","file":"indexer.h","line":66,"lineto":66,"args":[{"name":"idx","type":"git_indexer_stream *","comment":"the indexer"},{"name":"stats","type":"git_transfer_progress *"}],"argline":"git_indexer_stream *idx, git_transfer_progress *stats","sig":"git_indexer_stream *::git_transfer_progress *","return":{"type":"int"},"description":"Finalize the pack and index","comments":"Resolve any pending deltas and write out the index file\n","group":"indexer","examples":{"network/index-pack.c":["ex/HEAD/index-pack.html#git_indexer_stream_finalize-4"]}},"git_indexer_stream_hash":{"type":"function","file":"indexer.h","line":76,"lineto":76,"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 *"},"description":"Get the packfile's hash","comments":"A packfile's name is derived from the sorted hashing of all object\nnames. This is only correct after the index has been finalized.\n","group":"indexer","examples":{"network/index-pack.c":["ex/HEAD/index-pack.html#git_indexer_stream_hash-5"]}},"git_indexer_stream_free":{"type":"function","file":"indexer.h","line":83,"lineto":83,"args":[{"name":"idx","type":"git_indexer_stream *","comment":"the indexer to free"}],"argline":"git_indexer_stream *idx","sig":"git_indexer_stream *","return":{"type":"void"},"description":"Free the indexer and its resources","comments":"","group":"indexer","examples":{"network/index-pack.c":["ex/HEAD/index-pack.html#git_indexer_stream_free-6"]}},"git_indexer_new":{"type":"function","file":"indexer.h","line":91,"lineto":91,"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"},"description":"Create a new indexer instance","comments":"","group":"indexer"},"git_indexer_run":{"type":"function","file":"indexer.h","line":103,"lineto":103,"args":[{"name":"idx","type":"git_indexer *","comment":"the indexer instance"},{"name":"stats","type":"git_transfer_progress *","comment":"storage for the running state"}],"argline":"git_indexer *idx, git_transfer_progress *stats","sig":"git_indexer *::git_transfer_progress *","return":{"type":"int"},"description":"Iterate over the objects in the packfile and extract the information","comments":"Indexing a packfile can be very expensive so this function is\nexpected to be run in a worker thread and the stats used to provide\nfeedback the user.\n","group":"indexer"},"git_indexer_write":{"type":"function","file":"indexer.h","line":113,"lineto":113,"args":[{"name":"idx","type":"git_indexer *","comment":"the indexer instance"}],"argline":"git_indexer *idx","sig":"git_indexer *","return":{"type":"int"},"description":"Write the index file to disk.","comments":"The file will be stored as pack-$hash.idx in the same directory as\nthe packfile.\n","group":"indexer"},"git_indexer_hash":{"type":"function","file":"indexer.h","line":123,"lineto":123,"args":[{"name":"idx","type":"git_indexer *","comment":"the indexer instance"}],"argline":"git_indexer *idx","sig":"git_indexer *","return":{"type":"const git_oid *"},"description":"Get the packfile's hash","comments":"A packfile's name is derived from the sorted hashing of all object\nnames. This is only correct after the index has been written to disk.\n","group":"indexer"},"git_indexer_free":{"type":"function","file":"indexer.h","line":130,"lineto":134,"args":[{"name":"idx","type":"git_indexer *","comment":"the indexer to free"}],"argline":"git_indexer *idx","sig":"git_indexer *","return":{"type":"void"},"description":"Free the indexer and its resources","comments":"","group":"indexer"},"git_index_open":{"type":"function","file":"index.h","line":126,"lineto":126,"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":"Create a new bare Git index object as a memory representation\nof the Git index file in 'index_path', without a repository\nto back it.","comments":"Since there is no ODB or working directory behind this index,\nany Index methods which rely on these (e.g. index_add) will\nfail with the GIT_EBAREINDEX error code.\n\nIf you need to access the index of an actual repository,\nuse the `git_repository_index` wrapper.\n\nThe index must be freed once it's no longer in use.\n","group":"index"},"git_index_new":{"type":"function","file":"index.h","line":139,"lineto":139,"args":[{"name":"index","type":"git_index **","comment":"the pointer for the new index"}],"argline":"git_index **index","sig":"git_index **","return":{"type":"int","comment":"0 or an error code"},"description":"Create an in-memory index object.","comments":"This index object cannot be read/written to the filesystem,\nbut may be used to perform in-memory index operations.\n\nThe index must be freed once it's no longer in use.\n","group":"index"},"git_index_free":{"type":"function","file":"index.h","line":146,"lineto":146,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"void"},"description":"Free an existing index object.","comments":"","group":"index","examples":{"showindex.c":["ex/HEAD/showindex.html#git_index_free-5"],"general.c":["ex/HEAD/general.html#git_index_free-53"]}},"git_index_owner":{"type":"function","file":"index.h","line":154,"lineto":154,"args":[{"name":"index","type":"const git_index *","comment":"The index"}],"argline":"const git_index *index","sig":"const git_index *","return":{"type":"git_repository *","comment":"A pointer to the repository"},"description":"Get the repository this index relates to","comments":"","group":"index"},"git_index_caps":{"type":"function","file":"index.h","line":162,"lineto":162,"args":[{"name":"index","type":"const git_index *","comment":"An existing index object"}],"argline":"const git_index *index","sig":"const git_index *","return":{"type":"unsigned int","comment":"A combination of GIT_INDEXCAP values"},"description":"Read index capabilities flags.","comments":"","group":"index"},"git_index_set_caps":{"type":"function","file":"index.h","line":175,"lineto":175,"args":[{"name":"index","type":"git_index *","comment":"An existing index object"},{"name":"caps","type":"unsigned int","comment":"A combination of GIT_INDEXCAP values"}],"argline":"git_index *index, unsigned int caps","sig":"git_index *::unsigned int","return":{"type":"int","comment":"0 on success, -1 on failure"},"description":"Set index capabilities flags.","comments":"If you pass `GIT_INDEXCAP_FROM_OWNER` for the caps, then the\ncapabilities will be read from the config of the owner object,\nlooking at `core.ignorecase`, `core.filemode`, `core.symlinks`.\n","group":"index"},"git_index_read":{"type":"function","file":"index.h","line":184,"lineto":184,"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":"Update the contents of an existing index object in memory\nby reading from the hard disk.","comments":"","group":"index","examples":{"showindex.c":["ex/HEAD/showindex.html#git_index_read-6"]}},"git_index_write":{"type":"function","file":"index.h","line":193,"lineto":193,"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":"Write an existing index object from memory back to disk\nusing an atomic file lock.","comments":"","group":"index"},"git_index_read_tree":{"type":"function","file":"index.h","line":204,"lineto":204,"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":"Read a tree into the index file with stats","comments":"The current index contents will be replaced by the specified tree.\n","group":"index"},"git_index_write_tree":{"type":"function","file":"index.h","line":222,"lineto":222,"args":[{"name":"oid","type":"git_oid *","comment":"Pointer where to store the OID of 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":"Write the index as a tree","comments":"This method will scan the index and write a representation\nof its current state back to disk; it recursively creates\ntree objects for each of the subtrees stored in the index,\nbut only returns the OID of the root tree. This is the OID\nthat can be used e.g. to create a commit.\n\nThe index instance cannot be bare, and needs to be associated\nto an existing repository.\n","group":"index"},"git_index_write_tree_to":{"type":"function","file":"index.h","line":236,"lineto":236,"args":[{"name":"oid","type":"git_oid *","comment":"Pointer where to store OID of the the written tree"},{"name":"index","type":"git_index *","comment":"Index to write"},{"name":"repo","type":"git_repository *","comment":"Repository where to write the tree"}],"argline":"git_oid *oid, git_index *index, git_repository *repo","sig":"git_oid *::git_index *::git_repository *","return":{"type":"int","comment":"0 or an error code"},"description":"Write the index as a tree to the given repository","comments":"This method will do the same as `git_index_write_tree`, but\nletting the user choose the repository where the tree will\nbe written.\n","group":"index"},"git_index_entrycount":{"type":"function","file":"index.h","line":255,"lineto":255,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"unsigned int","comment":"integer of count of current entries"},"description":"Get the count of entries currently in the index","comments":"","group":"index","examples":{"showindex.c":["ex/HEAD/showindex.html#git_index_entrycount-7"],"general.c":["ex/HEAD/general.html#git_index_entrycount-54"]}},"git_index_clear":{"type":"function","file":"index.h","line":264,"lineto":264,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"void"},"description":"Clear the contents (all the entries) of an index object.\nThis clears the index object in memory; changes must be manually\nwritten to disk for them to take effect.","comments":"","group":"index"},"git_index_get_byindex":{"type":"function","file":"index.h","line":279,"lineto":279,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"},{"name":"n","type":"size_t","comment":"the position of the entry"}],"argline":"git_index *index, size_t n","sig":"git_index *::size_t","return":{"type":"git_index_entry *","comment":"a pointer to the entry; NULL if out of bounds"},"description":"Get a pointer to one of the entries in the index","comments":"The values of this entry can be modified (except the path)\nand the changes will be written back to disk on the next\nwrite() call.\n\nThe entry should not be freed by the caller.\n","group":"index","examples":{"showindex.c":["ex/HEAD/showindex.html#git_index_get_byindex-8"],"general.c":["ex/HEAD/general.html#git_index_get_byindex-55"]}},"git_index_get_bypath":{"type":"function","file":"index.h","line":295,"lineto":295,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"},{"name":"path","type":"const char *","comment":"path to search"},{"name":"stage","type":"int","comment":"stage to search"}],"argline":"git_index *index, const char *path, int stage","sig":"git_index *::const char *::int","return":{"type":"git_index_entry *","comment":"a pointer to the entry; NULL if it was not found"},"description":"Get a pointer to one of the entries in the index","comments":"The values of this entry can be modified (except the path)\nand the changes will be written back to disk on the next\nwrite() call.\n\nThe entry should not be freed by the caller.\n","group":"index"},"git_index_remove":{"type":"function","file":"index.h","line":305,"lineto":305,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"},{"name":"path","type":"const char *","comment":"path to search"},{"name":"stage","type":"int","comment":"stage to search"}],"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":"Remove an entry from the index","comments":"","group":"index"},"git_index_add":{"type":"function","file":"index.h","line":321,"lineto":321,"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":"Add or update an index entry from an in-memory struct","comments":"If a previous index entry exists that has the same path and stage\nas the given 'source_entry', it will be replaced. Otherwise, the\n'source_entry' will be added.\n\nA full copy (including the 'path' string) of the given\n'source_entry' will be inserted on the index.\n","group":"index"},"git_index_entry_stage":{"type":"function","file":"index.h","line":334,"lineto":334,"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"},"description":"Return the stage number from a git index entry","comments":"This entry is calculated from the entry's flag\nattribute like this:\n\n(entry->flags & GIT_IDXENTRY_STAGEMASK) >> GIT_IDXENTRY_STAGESHIFT\n","group":"index","examples":{"showindex.c":["ex/HEAD/showindex.html#git_index_entry_stage-9"]}},"git_index_add_from_workdir":{"type":"function","file":"index.h","line":365,"lineto":365,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"},{"name":"path","type":"const char *","comment":"filename to add"}],"argline":"git_index *index, const char *path","sig":"git_index *::const char *","return":{"type":"int","comment":"0 or an error code"},"description":"Add or update an index entry from a file in disk","comments":"The file `path` must be relative to the repository's\nworking folder and must be readable.\n\nThis method will fail in bare index instances.\n\nThis forces the file to be added to the index, not looking\nat gitignore rules. Those rules can be evaluated through\nthe git_status APIs (in status.h) before calling this.\n\nIf this file currently is the result of a merge conflict, this\nfile will no longer be marked as conflicting. The data about\nthe conflict will be moved to the \"resolve undo\" (REUC) section.\n","group":"index"},"git_index_find":{"type":"function","file":"index.h","line":375,"lineto":375,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"},{"name":"path","type":"const char *","comment":"path to search"}],"argline":"git_index *index, const char *path","sig":"git_index *::const char *","return":{"type":"int","comment":"an index >= 0 if found, -1 otherwise"},"description":"Find the first index of any entries which point to given\npath in the Git index.","comments":"","group":"index"},"git_index_conflict_add":{"type":"function","file":"index.h","line":399,"lineto":402,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"},{"name":"ancestor_entry","type":"const git_index_entry *","comment":"the entry data for the ancestor of the conflict"},{"name":"our_entry","type":"const git_index_entry *","comment":"the entry data for our side of the merge conflict"},{"name":"their_entry","type":"const git_index_entry *","comment":"the entry data for their side of the merge conflict"}],"argline":"git_index *index,\n\tconst git_index_entry *ancestor_entry,\n\tconst git_index_entry *our_entry,\n\tconst git_index_entry *their_entry","sig":"git_index *::const git_index_entry *::const git_index_entry *::const git_index_entry *","return":{"type":"int","comment":"0 or an error code"},"description":"Add or update index entries to represent a conflict","comments":"The entries are the entries from the tree included in the merge. Any\nentry may be null to indicate that that file was not present in the\ntrees during the merge. For example, ancestor_entry may be NULL to\nindicate that a file was added in both branches and must be resolved.\n","group":"index"},"git_index_conflict_get":{"type":"function","file":"index.h","line":417,"lineto":417,"args":[{"name":"ancestor_out","type":"git_index_entry **","comment":"Pointer to store the ancestor entry"},{"name":"our_out","type":"git_index_entry **","comment":"Pointer to store the our entry"},{"name":"their_out","type":"git_index_entry **","comment":"Pointer to store the their entry"},{"name":"index","type":"git_index *","comment":"an existing index object"},{"name":"path","type":"const char *","comment":"path to search"}],"argline":"git_index_entry **ancestor_out, git_index_entry **our_out, git_index_entry **their_out, git_index *index, const char *path","sig":"git_index_entry **::git_index_entry **::git_index_entry **::git_index *::const char *","return":{"type":"int"},"description":"Get the index entries that represent a conflict of a single file.","comments":"The values of this entry can be modified (except the paths)\nand the changes will be written back to disk on the next\nwrite() call.\n","group":"index"},"git_index_conflict_remove":{"type":"function","file":"index.h","line":425,"lineto":425,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"},{"name":"path","type":"const char *","comment":"to search"}],"argline":"git_index *index, const char *path","sig":"git_index *::const char *","return":{"type":"int"},"description":"Removes the index entries that represent a conflict of a single file.","comments":"","group":"index"},"git_index_conflict_cleanup":{"type":"function","file":"index.h","line":432,"lineto":432,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"void"},"description":"Remove all conflicts in the index (entries with a stage greater than 0.)","comments":"","group":"index"},"git_index_reuc_entrycount":{"type":"function","file":"index.h","line":449,"lineto":449,"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 resolve undo entries"},"description":"Get the count of resolve undo entries currently in the index.","comments":"","group":"index"},"git_index_reuc_find":{"type":"function","file":"index.h","line":459,"lineto":459,"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":"Finds the resolve undo entry that points to the given path in the Git\nindex.","comments":"","group":"index"},"git_index_reuc_get_bypath":{"type":"function","file":"index.h","line":471,"lineto":471,"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_reuc_entry *","comment":"the resolve undo entry; NULL if not found"},"description":"Get a resolve undo entry from the index.","comments":"The returned entry is read-only and should not be modified\nof freed by the caller.\n","group":"index"},"git_index_reuc_get_byindex":{"type":"function","file":"index.h","line":483,"lineto":483,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"},{"name":"n","type":"size_t","comment":"the position of the entry"}],"argline":"git_index *index, size_t n","sig":"git_index *::size_t","return":{"type":"const git_index_reuc_entry *","comment":"a pointer to the resolve undo entry; NULL if out of bounds"},"description":"Get a resolve undo entry from the index.","comments":"The returned entry is read-only and should not be modified\nof freed by the caller.\n","group":"index"},"git_index_reuc_add":{"type":"function","file":"index.h","line":507,"lineto":510,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"},{"name":"path","type":"const char *","comment":"filename to add"},{"name":"ancestor_mode","type":"int","comment":"mode of the ancestor file"},{"name":"ancestor_oid","type":"git_oid *","comment":"oid of the ancestor file"},{"name":"our_mode","type":"int","comment":"mode of our file"},{"name":"our_oid","type":"git_oid *","comment":"oid of our file"},{"name":"their_mode","type":"int","comment":"mode of their file"},{"name":"their_oid","type":"git_oid *","comment":"oid of their file"}],"argline":"git_index *index, const char *path,\n\tint ancestor_mode, git_oid *ancestor_oid,\n\tint our_mode, git_oid *our_oid,\n\tint their_mode, git_oid *their_oid","sig":"git_index *::const char *::int::git_oid *::int::git_oid *::int::git_oid *","return":{"type":"int","comment":"0 or an error code"},"description":"Adds an resolve undo entry for a file based on the given parameters.","comments":"The resolve undo entry contains the OIDs of files that were involved\nin a merge conflict after the conflict has been resolved. This allows\nconflicts to be re-resolved later.\n\nIf there exists a resolve undo entry for the given path in the index,\nit will be removed.\n\nThis method will fail in bare index instances.\n","group":"index"},"git_index_reuc_remove":{"type":"function","file":"index.h","line":519,"lineto":519,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"},{"name":"position","type":"int","comment":"position of the resolve undo entry to remove"}],"argline":"git_index *index, int position","sig":"git_index *::int","return":{"type":"int","comment":"0 or an error code"},"description":"Remove an resolve undo entry from the index","comments":"","group":"index"},"git_ignore_add_rule":{"type":"function","file":"ignore.h","line":37,"lineto":39,"args":[{"name":"repo","type":"git_repository *","comment":"The repository to add ignore rules to."},{"name":"rules","type":"const char *","comment":"Text of rules, a la the contents of a .gitignore file. It is okay to have multiple rules in the text; if so, each rule should be terminated with a newline."}],"argline":"git_repository *repo,\n\tconst char *rules","sig":"git_repository *::const char *","return":{"type":"int","comment":"0 on success"},"description":"Add ignore rules for a repository.","comments":"Excludesfile rules (i.e. .gitignore rules) are generally read from\n.gitignore files in the repository tree or from a shared system file\nonly if a \"core.excludesfile\" config value is set. The library also\nkeeps a set of per-repository internal ignores that can be configured\nin-memory and will not persist. This function allows you to add to\nthat internal rules list.\n\nExample usage:\n\n error = git_ignore_add_rule(myrepo, \"*.c\\ndir/\\nFile with space\\n\");\n\nThis would add three rules to the ignores.\n","group":"ignore"},"git_ignore_clear_internal_rules":{"type":"function","file":"ignore.h","line":51,"lineto":52,"args":[{"name":"repo","type":"git_repository *","comment":"The repository to remove ignore rules from."}],"argline":"git_repository *repo","sig":"git_repository *","return":{"type":"int","comment":"0 on success"},"description":"Clear ignore rules that were explicitly added.","comments":"Clears the internal ignore rules that have been set up. This will not\nturn off the rules in .gitignore files that actually exist in the\nfilesystem.\n","group":"ignore"},"git_ignore_path_is_ignored":{"type":"function","file":"ignore.h","line":70,"lineto":77,"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, relative to the repo's workdir."}],"argline":"int *ignored,\n\tgit_repository *repo,\n\tconst char *path","sig":"int *::git_repository *::const char *","return":{"type":"int","comment":"0 if ignore rules could be processed for the file (regardless of whether it exists or not), or an error < 0 if they could not."},"description":"Test if the ignore rules apply to a given path.","comments":"This function checks the ignore rules to see if they would apply to the\ngiven file. This indicates if the file would be ignored regardless of\nwhether the file is already in the index or commited to the repository.\n\nOne way to think of this is if you were to do \"git add .\" on the\ndirectory containing the file, would it be added or not?\n","group":"ignore"},"giterr_last":{"type":"function","file":"errors.h","line":71,"lineto":71,"args":[],"argline":"void","sig":"","return":{"type":"const git_error *","comment":"A git_error object."},"description":"Return the last `git_error` object that was generated for the\ncurrent thread or NULL if no error has occurred.","comments":"","group":"giterr","examples":{"network/git2.c":["ex/HEAD/git2.html#giterr_last-3","ex/HEAD/git2.html#giterr_last-4"],"network/clone.c":["ex/HEAD/clone.html#giterr_last-2"]}},"giterr_clear":{"type":"function","file":"errors.h","line":76,"lineto":76,"args":[],"argline":"void","sig":"","return":{"type":"void"},"description":"Clear the last library error that occurred for this thread.","comments":"","group":"giterr"},"giterr_set_str":{"type":"function","file":"errors.h","line":99,"lineto":99,"args":[{"name":"error_class","type":"int","comment":"One of the `git_error_t` enum above describing the general subsystem that is responsible for the error."},{"name":"string","type":"const char *"}],"argline":"int error_class, const char *string","sig":"int::const char *","return":{"type":"void"},"description":"Set the error message string for this thread.","comments":"This function is public so that custom ODB backends and the like can\nrelay an error message through libgit2. Most regular users of libgit2\nwill never need to call this function -- actually, calling it in most\ncircumstances (for example, calling from within a callback function)\nwill just end up having the value overwritten by libgit2 internals.\n\nThis error message is stored in thread-local storage and only applies\nto the particular thread that this libgit2 call is made from.\n\nNOTE: Passing the `error_class` as GITERR_OS has a special behavior: we\nattempt to append the system default error message for the last OS error\nthat occurred and then clear the last error. The specific implementation\nof looking up and clearing this last OS error will vary by platform.\n","group":"giterr"},"giterr_set_oom":{"type":"function","file":"errors.h","line":110,"lineto":110,"args":[],"argline":"void","sig":"","return":{"type":"void"},"description":"Set the error message to a special value for memory allocation failure.","comments":"The normal `giterr_set_str()` function attempts to `strdup()` the string\nthat is passed in. This is not a good idea when the error in question\nis a memory allocation failure. That circumstance has a special setter\nfunction that sets the error string to a known and statically allocated\ninternal value.","group":"giterr"},"git_diff_list_free":{"type":"function","file":"diff.h","line":273,"lineto":273,"args":[{"name":"diff","type":"git_diff_list *"}],"argline":"git_diff_list *diff","sig":"git_diff_list *","return":{"type":"void"},"description":"Deallocate a diff list.","comments":"","group":"diff","examples":{"diff.c":["ex/HEAD/diff.html#git_diff_list_free-15","ex/HEAD/diff.html#git_diff_list_free-16"]}},"git_diff_tree_to_tree":{"type":"function","file":"diff.h","line":286,"lineto":291,"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.\ncan be 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,\n\tconst git_diff_options *opts, \n\tgit_tree *old_tree,\n\tgit_tree *new_tree,\n\tgit_diff_list **diff","sig":"git_repository *::const git_diff_options *::git_tree *::git_tree *::git_diff_list **","return":{"type":"int"},"description":"Compute a difference between two tree objects.","comments":"This is equivalent to `git diff <treeish> <treeish>`\n","group":"diff","examples":{"diff.c":["ex/HEAD/diff.html#git_diff_tree_to_tree-17"]}},"git_diff_index_to_tree":{"type":"function","file":"diff.h","line":304,"lineto":308,"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.\ncan be 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,\n\tconst git_diff_options *opts, \n\tgit_tree *old_tree,\n\tgit_diff_list **diff","sig":"git_repository *::const git_diff_options *::git_tree *::git_diff_list **","return":{"type":"int"},"description":"Compute a difference between a tree and the index.","comments":"This is equivalent to `git diff --cached <treeish>` or if you pass\nthe HEAD tree, then like `git diff --cached`.\n","group":"diff","examples":{"diff.c":["ex/HEAD/diff.html#git_diff_index_to_tree-18","ex/HEAD/diff.html#git_diff_index_to_tree-19","ex/HEAD/diff.html#git_diff_index_to_tree-20"]}},"git_diff_workdir_to_index":{"type":"function","file":"diff.h","line":322,"lineto":325,"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.\ncan be 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,\n\tconst git_diff_options *opts, \n\tgit_diff_list **diff","sig":"git_repository *::const git_diff_options *::git_diff_list **","return":{"type":"int"},"description":"Compute a difference between the working directory and the index.","comments":"This matches the `git diff` command. See the note below on\n`git_diff_workdir_to_tree` for a discussion of the difference between\n`git diff` and `git diff HEAD` and how to emulate a `git diff <treeish>`\nusing libgit2.\n","group":"diff","examples":{"diff.c":["ex/HEAD/diff.html#git_diff_workdir_to_index-21","ex/HEAD/diff.html#git_diff_workdir_to_index-22"]}},"git_diff_workdir_to_tree":{"type":"function","file":"diff.h","line":354,"lineto":358,"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.\ncan be 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,\n\tconst git_diff_options *opts, \n\tgit_tree *old_tree,\n\tgit_diff_list **diff","sig":"git_repository *::const git_diff_options *::git_tree *::git_diff_list **","return":{"type":"int"},"description":"Compute a difference between the working directory and a tree.","comments":"This is *NOT* the same as `git diff <treeish>`. Running `git diff HEAD`\nor the like actually uses information from the index, along with the tree\nand workdir dir info.\n\nThis function returns strictly the differences between the tree and the\nfiles contained in the working directory, regardless of the state of\nfiles in the index. It may come as a surprise, but there is no direct\nequivalent in core git.\n\nTo emulate `git diff <treeish>`, you should call both\n`git_diff_index_to_tree` and `git_diff_workdir_to_index`, then call\n`git_diff_merge` on the results. That will yield a `git_diff_list` that\nmatches the git output.\n\nIf this seems confusing, take the case of a file with a staged deletion\nwhere the file has then been put back into the working dir and modified.\nThe tree-to-workdir diff for that file is 'modified', but core git would\nshow status 'deleted' since there is a pending deletion in the index.\n","group":"diff"},"git_diff_merge":{"type":"function","file":"diff.h","line":373,"lineto":375,"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,\n\tconst git_diff_list *from","sig":"git_diff_list *::const git_diff_list *","return":{"type":"int"},"description":"Merge one diff list into another.","comments":"This merges items from the \"from\" list into the \"onto\" list. The\nresulting diff list will have all items that appear in either list.\nIf an item appears in both lists, then it will be \"merged\" to appear\nas if the old version was from the \"onto\" list and the new version\nis from the \"from\" list (with the exception that if the item has a\npending DELETE in the middle, then it will show as deleted).\n","group":"diff","examples":{"diff.c":["ex/HEAD/diff.html#git_diff_merge-23"]}},"git_diff_foreach":{"type":"function","file":"diff.h","line":412,"lineto":417,"args":[{"name":"diff","type":"git_diff_list *","comment":"A git_diff_list generated by one of the above functions."},{"name":"cb_data","type":"void *","comment":"Reference pointer that will be passed to your callbacks."},{"name":"file_cb","type":"git_diff_file_fn","comment":"Callback function to make per file in the diff."},{"name":"hunk_cb","type":"git_diff_hunk_fn","comment":"Optional callback to make per hunk of text diff. This callback is called to describe a range of lines in the diff. It will not be issued for binary files."},{"name":"line_cb","type":"git_diff_data_fn","comment":"Optional callback to make per line of diff text. This same callback will be made for context lines, added, and removed lines, and even for a deleted trailing newline."}],"argline":"git_diff_list *diff,\n\tvoid *cb_data,\n\tgit_diff_file_fn file_cb,\n\tgit_diff_hunk_fn hunk_cb,\n\tgit_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":"0 on success, GIT_EUSER on non-zero callback, or error code"},"description":"Loop over all deltas in a diff list issuing callbacks.","comments":"This will iterate through all of the files described in a diff. You\nshould provide a file callback to learn about each file.\n\nThe \"hunk\" and \"line\" callbacks are optional, and the text diff of the\nfiles will only be calculated if they are not NULL. Of course, these\ncallbacks will not be invoked for binary files on the diff list or for\nfiles whose only changed is a file mode change.\n\nReturning a non-zero value from any of the callbacks will terminate\nthe iteration and cause this return `GIT_EUSER`.\n","group":"diff"},"git_diff_print_compact":{"type":"function","file":"diff.h","line":430,"lineto":433,"args":[{"name":"diff","type":"git_diff_list *","comment":"A git_diff_list generated by one of the above functions."},{"name":"cb_data","type":"void *","comment":"Reference pointer that will be passed to your callback."},{"name":"print_cb","type":"git_diff_data_fn","comment":"Callback to make per line of diff text."}],"argline":"git_diff_list *diff,\n\tvoid *cb_data,\n\tgit_diff_data_fn print_cb","sig":"git_diff_list *::void *::git_diff_data_fn","return":{"type":"int","comment":"0 on success, GIT_EUSER on non-zero callback, or error code"},"description":"Iterate over a diff generating text output like \"git diff --name-status\".","comments":"Returning a non-zero value from the callbacks will terminate the\niteration and cause this return `GIT_EUSER`.\n","group":"diff","examples":{"diff.c":["ex/HEAD/diff.html#git_diff_print_compact-24"]}},"git_diff_status_char":{"type":"function","file":"diff.h","line":447,"lineto":447,"args":[{"name":"status","type":"git_delta_t"}],"argline":"git_delta_t status","sig":"git_delta_t","return":{"type":"char","comment":"The single character label for that code"},"description":"Look up the single character abbreviation for a delta status code.","comments":"When you call `git_diff_print_compact` it prints single letter codes into\nthe output such as 'A' for added, 'D' for deleted, 'M' for modified, etc.\nIt is sometimes convenient to convert a git_delta_t value into these\nletters for your own purposes. This function does just that. By the\nway, unmodified will return a space (i.e. ' ').\n","group":"diff"},"git_diff_print_patch":{"type":"function","file":"diff.h","line":466,"lineto":469,"args":[{"name":"diff","type":"git_diff_list *","comment":"A git_diff_list generated by one of the above functions."},{"name":"cb_data","type":"void *","comment":"Reference pointer that will be passed to your callbacks."},{"name":"print_cb","type":"git_diff_data_fn","comment":"Callback function to output lines of the diff. This same function will be called for file headers, hunk headers, and diff lines. Fortunately, you can probably use various GIT_DIFF_LINE constants to determine what text you are given."}],"argline":"git_diff_list *diff,\n\tvoid *cb_data,\n\tgit_diff_data_fn print_cb","sig":"git_diff_list *::void *::git_diff_data_fn","return":{"type":"int","comment":"0 on success, GIT_EUSER on non-zero callback, or error code"},"description":"Iterate over a diff generating text output like \"git diff\".","comments":"This is a super easy way to generate a patch from a diff.\n\nReturning a non-zero value from the callbacks will terminate the\niteration and cause this return `GIT_EUSER`.\n","group":"diff","examples":{"diff.c":["ex/HEAD/diff.html#git_diff_print_patch-25"]}},"git_diff_num_deltas":{"type":"function","file":"diff.h","line":477,"lineto":477,"args":[{"name":"diff","type":"git_diff_list *","comment":"A git_diff_list generated by one of the above functions"}],"argline":"git_diff_list *diff","sig":"git_diff_list *","return":{"type":"size_t","comment":"Count of number of deltas in the list"},"description":"Query how many diff records are there in a diff list.","comments":"","group":"diff"},"git_diff_num_deltas_of_type":{"type":"function","file":"diff.h","line":490,"lineto":492,"args":[{"name":"diff","type":"git_diff_list *","comment":"A git_diff_list generated by one of the above functions"},{"name":"type","type":"git_delta_t","comment":"A git_delta_t value to filter the count"}],"argline":"git_diff_list *diff,\n\tgit_delta_t type","sig":"git_diff_list *::git_delta_t","return":{"type":"size_t","comment":"Count of number of deltas matching delta_t type"},"description":"Query how many diff deltas are there in a diff list filtered by type.","comments":"This works just like `git_diff_entrycount()` with an extra parameter\nthat is a `git_delta_t` and returns just the count of how many deltas\nmatch that particular type.\n","group":"diff"},"git_diff_get_patch":{"type":"function","file":"diff.h","line":519,"lineto":523,"args":[{"name":"patch","type":"git_diff_patch **","comment":"Output parameter for the delta patch object"},{"name":"delta","type":"const git_diff_delta **","comment":"Output parameter for the delta object"},{"name":"diff","type":"git_diff_list *","comment":"Diff list object"},{"name":"idx","type":"size_t","comment":"Index into diff list"}],"argline":"git_diff_patch **patch,\n\tconst git_diff_delta **delta,\n\tgit_diff_list *diff,\n\tsize_t idx","sig":"git_diff_patch **::const git_diff_delta **::git_diff_list *::size_t","return":{"type":"int","comment":"0 on success, other value < 0 on error"},"description":"Return the diff delta and patch for an entry in the diff list.","comments":"The `git_diff_patch` is a newly created object contains the text diffs\nfor the delta. You have to call `git_diff_patch_free()` when you are\ndone with it. You can use the patch object to loop over all the hunks\nand lines in the diff of the one delta.\n\nFor an unchanged file or a binary file, no `git_diff_patch` will be\ncreated, the output will be set to NULL, and the `binary` flag will be\nset true in the `git_diff_delta` structure.\n\nThe `git_diff_delta` pointer points to internal data and you do not have\nto release it when you are done with it. It will go away when the\n`git_diff_list` and `git_diff_patch` go away.\n\nIt is okay to pass NULL for either of the output parameters; if you pass\nNULL for the `git_diff_patch`, then the text diff will not be calculated.\n","group":"diff"},"git_diff_patch_free":{"type":"function","file":"diff.h","line":528,"lineto":529,"args":[{"name":"patch","type":"git_diff_patch *"}],"argline":"git_diff_patch *patch","sig":"git_diff_patch *","return":{"type":"void"},"description":"Free a git_diff_patch object.","comments":"","group":"diff"},"git_diff_patch_delta":{"type":"function","file":"diff.h","line":534,"lineto":535,"args":[{"name":"patch","type":"git_diff_patch *"}],"argline":"git_diff_patch *patch","sig":"git_diff_patch *","return":{"type":"const git_diff_delta *"},"description":"Get the delta associated with a patch","comments":"","group":"diff"},"git_diff_patch_num_hunks":{"type":"function","file":"diff.h","line":540,"lineto":541,"args":[{"name":"patch","type":"git_diff_patch *"}],"argline":"git_diff_patch *patch","sig":"git_diff_patch *","return":{"type":"size_t"},"description":"Get the number of hunks in a patch","comments":"","group":"diff"},"git_diff_patch_get_hunk":{"type":"function","file":"diff.h","line":559,"lineto":565,"args":[{"name":"range","type":"const git_diff_range **","comment":"Output pointer to git_diff_range of hunk"},{"name":"header","type":"const char **","comment":"Output pointer to header string for hunk. Unlike the content pointer for each line, this will be NUL-terminated"},{"name":"header_len","type":"size_t *","comment":"Output value of characters in header string"},{"name":"lines_in_hunk","type":"size_t *","comment":"Output count of total lines in this hunk"},{"name":"patch","type":"git_diff_patch *","comment":"Input pointer to patch object"},{"name":"hunk_idx","type":"size_t","comment":"Input index of hunk to get information about"}],"argline":"const git_diff_range **range,\n\tconst char **header,\n\tsize_t *header_len,\n\tsize_t *lines_in_hunk,\n\tgit_diff_patch *patch,\n\tsize_t hunk_idx","sig":"const git_diff_range **::const char **::size_t *::size_t *::git_diff_patch *::size_t","return":{"type":"int","comment":"0 on success, GIT_ENOTFOUND if hunk_idx out of range, <0 on error"},"description":"Get the information about a hunk in a patch","comments":"Given a patch and a hunk index into the patch, this returns detailed\ninformation about that hunk. Any of the output pointers can be passed\nas NULL if you don't care about that particular piece of information.\n","group":"diff"},"git_diff_patch_num_lines_in_hunk":{"type":"function","file":"diff.h","line":574,"lineto":576,"args":[{"name":"patch","type":"git_diff_patch *","comment":"The git_diff_patch object"},{"name":"hunk_idx","type":"size_t","comment":"Index of the hunk"}],"argline":"git_diff_patch *patch,\n\tsize_t hunk_idx","sig":"git_diff_patch *::size_t","return":{"type":"int","comment":"Number of lines in hunk or -1 if invalid hunk index"},"description":"Get the number of lines in a hunk.","comments":"","group":"diff"},"git_diff_patch_get_line_in_hunk":{"type":"function","file":"diff.h","line":596,"lineto":604,"args":[{"name":"line_origin","type":"char *","comment":"A GIT_DIFF_LINE constant from above"},{"name":"content","type":"const char **","comment":"Pointer to content of diff line, not NUL-terminated"},{"name":"content_len","type":"size_t *","comment":"Number of characters in content"},{"name":"old_lineno","type":"int *","comment":"Line number in old file or -1 if line is added"},{"name":"new_lineno","type":"int *","comment":"Line number in new file or -1 if line is deleted"},{"name":"patch","type":"git_diff_patch *","comment":"The patch to look in"},{"name":"hunk_idx","type":"size_t","comment":"The index of the hunk"},{"name":"line_of_hunk","type":"size_t"}],"argline":"char *line_origin,\n\tconst char **content,\n\tsize_t *content_len,\n\tint *old_lineno,\n\tint *new_lineno,\n\tgit_diff_patch *patch,\n\tsize_t hunk_idx,\n\tsize_t line_of_hunk","sig":"char *::const char **::size_t *::int *::int *::git_diff_patch *::size_t::size_t","return":{"type":"int","comment":"0 on success, <0 on failure"},"description":"Get data about a line in a hunk of a patch.","comments":"Given a patch, a hunk index, and a line index in the hunk, this\nwill return a lot of details about that line. If you pass a hunk\nindex larger than the number of hunks or a line index larger than\nthe number of lines in the hunk, this will return -1.\n","group":"diff"},"git_diff_patch_print":{"type":"function","file":"diff.h","line":618,"lineto":621,"args":[{"name":"patch","type":"git_diff_patch *","comment":"A git_diff_patch representing changes to one file"},{"name":"cb_data","type":"void *","comment":"Reference pointer that will be passed to your callbacks."},{"name":"print_cb","type":"git_diff_data_fn","comment":"Callback function to output lines of the patch. Will be called for file headers, hunk headers, and diff lines."}],"argline":"git_diff_patch *patch,\n\tvoid *cb_data,\n\tgit_diff_data_fn print_cb","sig":"git_diff_patch *::void *::git_diff_data_fn","return":{"type":"int","comment":"0 on success, GIT_EUSER on non-zero callback, or error code"},"description":"Serialize the patch to text via callback.","comments":"Returning a non-zero value from the callback will terminate the iteration\nand cause this return `GIT_EUSER`.\n","group":"diff"},"git_diff_patch_to_str":{"type":"function","file":"diff.h","line":630,"lineto":632,"args":[{"name":"string","type":"char **","comment":"Allocated string; caller must free."},{"name":"patch","type":"git_diff_patch *","comment":"A git_diff_patch representing changes to one file"}],"argline":"char **string,\n\tgit_diff_patch *patch","sig":"char **::git_diff_patch *","return":{"type":"int","comment":"0 on success, <0 on failure."},"description":"Get the content of a patch as a single diff text.","comments":"","group":"diff"},"git_diff_blobs":{"type":"function","file":"diff.h","line":655,"lineto":664,"args":[{"name":"old_blob","type":"git_blob *"},{"name":"new_blob","type":"git_blob *"},{"name":"options","type":"const git_diff_options *"},{"name":"cb_data","type":"void *"},{"name":"file_cb","type":"git_diff_file_fn"},{"name":"hunk_cb","type":"git_diff_hunk_fn"},{"name":"line_cb","type":"git_diff_data_fn"}],"argline":"git_blob *old_blob,\n\tgit_blob *new_blob,\n\tconst git_diff_options *options,\n\tvoid *cb_data,\n\tgit_diff_file_fn file_cb,\n\tgit_diff_hunk_fn hunk_cb,\n\tgit_diff_data_fn line_cb","sig":"git_blob *::git_blob *::const git_diff_options *::void *::git_diff_file_fn::git_diff_hunk_fn::git_diff_data_fn","return":{"type":"int","comment":"0 on success, GIT_EUSER on non-zero callback, or error code"},"description":"Directly run a text diff on two blobs.","comments":"Compared to a file, a blob lacks some contextual information. As such,\nthe `git_diff_file` parameters of the callbacks will be filled\naccordingly to the following: `mode` will be set to 0, `path` will be set\nto NULL. When dealing with a NULL blob, `oid` will be set to 0.\n\nWhen at least one of the blobs being dealt with is binary, the\n`git_diff_delta` binary attribute will be set to 1 and no call to the\nhunk_cb nor line_cb will be made.\n","group":"diff"},"git_config_find_global":{"type":"function","file":"config.h","line":94,"lineto":94,"args":[{"name":"global_config_path","type":"char *","comment":"Buffer of GIT_PATH_MAX length to store the path"},{"name":"length","type":"size_t"}],"argline":"char *global_config_path, size_t length","sig":"char *::size_t","return":{"type":"int","comment":"0 if a global configuration file has been found. Its path will be stored in `buffer`."},"description":"Locate the path to the global configuration file","comments":"The user or global configuration file is usually\nlocated in `$HOME/.gitconfig`.\n\nThis method will try to guess the full path to that\nfile, if the file exists. The returned path\nmay be used on any `git_config` call to load the\nglobal configuration file.\n\nThis method will not guess the path to the xdg compatible\nconfig file (.config/git/config).\n","group":"config"},"git_config_find_xdg":{"type":"function","file":"config.h","line":111,"lineto":111,"args":[{"name":"xdg_config_path","type":"char *","comment":"Buffer of GIT_PATH_MAX length to store the path"},{"name":"length","type":"size_t"}],"argline":"char *xdg_config_path, size_t length","sig":"char *::size_t","return":{"type":"int","comment":"0 if a xdg compatible configuration file has been found. Its path will be stored in `buffer`."},"description":"Locate the path to the global xdg compatible configuration file","comments":"The xdg compatible configuration file is usually\nlocated in `$HOME/.config/git/config`.\n\nThis method will try to guess the full path to that\nfile, if the file exists. The returned path\nmay be used on any `git_config` call to load the\nxdg compatible configuration file.\n","group":"config"},"git_config_find_system":{"type":"function","file":"config.h","line":123,"lineto":123,"args":[{"name":"system_config_path","type":"char *","comment":"Buffer of GIT_PATH_MAX length to store the path"},{"name":"length","type":"size_t"}],"argline":"char *system_config_path, size_t length","sig":"char *::size_t","return":{"type":"int","comment":"0 if a system configuration file has been found. Its path will be stored in `buffer`."},"description":"Locate the path to the system configuration file","comments":"If /etc/gitconfig doesn't exist, it will look for\n%PROGRAMFILES%\\Git\\etc\\gitconfig.\n","group":"config"},"git_config_open_default":{"type":"function","file":"config.h","line":135,"lineto":135,"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":"Open the global, XDG and system configuration files","comments":"Utility wrapper that finds the global, XDG and system configuration files\nand opens them into a single prioritized config object that can be\nused when accessing default config data outside a repository.\n","group":"config"},"git_config_file__ondisk":{"type":"function","file":"config.h","line":148,"lineto":148,"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"},"description":"Create a configuration file backend for ondisk files","comments":"These are the normal `.gitconfig` files that Core Git\nprocesses. Note that you first have to add this file to a\nconfiguration object before you can query it for configuration\nvariables.\n","group":"config"},"git_config_new":{"type":"function","file":"config.h","line":159,"lineto":159,"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":"Allocate a new configuration object","comments":"This object is empty, so you have to add a file to it before you\ncan do anything with it.\n","group":"config"},"git_config_add_file":{"type":"function","file":"config.h","line":179,"lineto":183,"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":"level","type":"unsigned int","comment":"the priority level of the backend"},{"name":"force","type":"int","comment":"if a config file already exists for the given priority level, replace it"}],"argline":"git_config *cfg,\n\tgit_config_file *file,\n\tunsigned int level,\n\tint force","sig":"git_config *::git_config_file *::unsigned int::int","return":{"type":"int","comment":"0 on success, GIT_EEXISTS when adding more than one file for a given priority level (and force_replace set to 0), or error code"},"description":"Add a generic config file instance to an existing config","comments":"Note that the configuration object will free the file\nautomatically.\n\nFurther queries on this config object will access each\nof the config file instances in order (instances with\na higher priority level will be accessed first).\n","group":"config"},"git_config_add_file_ondisk":{"type":"function","file":"config.h","line":207,"lineto":211,"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":"level","type":"unsigned int","comment":"the priority level of the backend"},{"name":"force","type":"int","comment":"if a config file already exists for the given priority level, replace it"}],"argline":"git_config *cfg,\n\tconst char *path,\n\tunsigned int level,\n\tint force","sig":"git_config *::const char *::unsigned int::int","return":{"type":"int","comment":"0 on success, GIT_EEXISTS when adding more than one file for a given priority level (and force_replace set to 0), or error code"},"description":"Add an on-disk config file instance to an existing config","comments":"The on-disk file pointed at by `path` will be opened and\nparsed; it's expected to be a native Git config file following\nthe default Git config syntax (see man git-config).\n\nNote that the configuration object will free the file\nautomatically.\n\nFurther queries on this config object will access each\nof the config file instances in order (instances with\na higher priority level will be accessed first).\n","group":"config"},"git_config_open_ondisk":{"type":"function","file":"config.h","line":226,"lineto":226,"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":"Create a new config instance containing a single on-disk file","comments":"This method is a simple utility wrapper for the following sequence\nof calls:\n- git_config_new\n- git_config_add_file_ondisk\n","group":"config","examples":{"general.c":["ex/HEAD/general.html#git_config_open_ondisk-56"]}},"git_config_open_level":{"type":"function","file":"config.h","line":241,"lineto":244,"args":[{"name":"cfg_out","type":"git_config **"},{"name":"cfg_parent","type":"git_config *"},{"name":"level","type":"unsigned int"}],"argline":"git_config **cfg_out,\n git_config *cfg_parent,\n unsigned int level","sig":"git_config **::git_config *::unsigned int","return":{"type":"int","comment":"0, GIT_ENOTFOUND if the passed level cannot be found in the multi-level parent config, or an error code"},"description":"Build a single-level focused config object from a multi-level one.","comments":"The returned config object can be used to perform get/set/delete operations\non a single specific level.\n\nGetting several times the same level from the same parent multi-level config\nwill return different config instances, but containing the same config_file\ninstance.\n","group":"config"},"git_config_refresh":{"type":"function","file":"config.h","line":257,"lineto":257,"args":[{"name":"cfg","type":"git_config *","comment":"The configuration to refresh"}],"argline":"git_config *cfg","sig":"git_config *","return":{"type":"int","comment":"0 or an error code"},"description":"Reload changed config files","comments":"A config file may be changed on disk out from under the in-memory\nconfig object. This function causes us to look for files that have\nbeen modified since we last loaded them and refresh the config with\nthe latest information.\n","group":"config"},"git_config_free":{"type":"function","file":"config.h","line":264,"lineto":264,"args":[{"name":"cfg","type":"git_config *","comment":"the configuration to free"}],"argline":"git_config *cfg","sig":"git_config *","return":{"type":"void"},"description":"Free the configuration and its associated memory and files","comments":"","group":"config"},"git_config_get_config_entry":{"type":"function","file":"config.h","line":277,"lineto":277,"args":[{"name":"out","type":"const git_config_entry **","comment":"pointer to the variable git_config_entry"},{"name":"cfg","type":"git_config *","comment":"where to look for the variable"},{"name":"name","type":"const char *","comment":"the variable's name"}],"argline":"const git_config_entry **out, git_config *cfg, const char *name","sig":"const git_config_entry **::git_config *::const char *","return":{"type":"int","comment":"0 or an error code"},"description":"Get the git_config_entry of a config variable.","comments":"The git_config_entry is owned by the config and should not be freed by the\nuser.\n","group":"config"},"git_config_get_int32":{"type":"function","file":"config.h","line":291,"lineto":291,"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":"Get the value of an integer config variable.","comments":"All config files will be looked into, in the order of their\ndefined level. A higher level means a higher priority. The\nfirst occurence of the variable will be returned here.\n","group":"config","examples":{"general.c":["ex/HEAD/general.html#git_config_get_int32-57"]}},"git_config_get_int64":{"type":"function","file":"config.h","line":305,"lineto":305,"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":"Get the value of a long integer config variable.","comments":"All config files will be looked into, in the order of their\ndefined level. A higher level means a higher priority. The\nfirst occurence of the variable will be returned here.\n","group":"config"},"git_config_get_bool":{"type":"function","file":"config.h","line":322,"lineto":322,"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":"Get the value of a boolean config variable.","comments":"This function uses the usual C convention of 0 being false and\nanything else true.\n\nAll config files will be looked into, in the order of their\ndefined level. A higher level means a higher priority. The\nfirst occurence of the variable will be returned here.\n","group":"config"},"git_config_get_string":{"type":"function","file":"config.h","line":339,"lineto":339,"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":"Get the value of a string config variable.","comments":"The string is owned by the variable and should not be freed by the\nuser.\n\nAll config files will be looked into, in the order of their\ndefined level. A higher level means a higher priority. The\nfirst occurence of the variable will be returned here.\n","group":"config","examples":{"general.c":["ex/HEAD/general.html#git_config_get_string-58"]}},"git_config_get_multivar":{"type":"function","file":"config.h","line":353,"lineto":353,"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 interested in. Use NULL to indicate all"},{"name":"fn","type":"int (*)(const git_config_entry *, 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 (*fn)(const git_config_entry *, void *), void *data","sig":"git_config *::const char *::const char *::int (*)(const git_config_entry *, void *)::void *","return":{"type":"int"},"description":"Get each value of a multivar.","comments":"The callback will be called on each variable found\n","group":"config"},"git_config_set_int32":{"type":"function","file":"config.h","line":364,"lineto":364,"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":"Set the value of an integer config variable in the config file\nwith the highest level (usually the local one).","comments":"","group":"config"},"git_config_set_int64":{"type":"function","file":"config.h","line":375,"lineto":375,"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":"Set the value of a long integer config variable in the config file\nwith the highest level (usually the local one).","comments":"","group":"config"},"git_config_set_bool":{"type":"function","file":"config.h","line":386,"lineto":386,"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":"Set the value of a boolean config variable in the config file\nwith the highest level (usually the local one).","comments":"","group":"config"},"git_config_set_string":{"type":"function","file":"config.h","line":400,"lineto":400,"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":"Set the value of a string config variable in the config file\nwith the highest level (usually the local one).","comments":"A copy of the string is made and the user is free to use it\nafterwards.\n","group":"config"},"git_config_set_multivar":{"type":"function","file":"config.h","line":410,"lineto":410,"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"},"description":"Set a multivar in the local config file.","comments":"","group":"config"},"git_config_delete":{"type":"function","file":"config.h","line":419,"lineto":419,"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"},"description":"Delete a config variable from the config file\nwith the highest level (usually the local one).","comments":"","group":"config"},"git_config_foreach":{"type":"function","file":"config.h","line":434,"lineto":437,"args":[{"name":"cfg","type":"git_config *","comment":"where to get the variables from"},{"name":"callback","type":"int (*)(const git_config_entry *, void *payload)","comment":"the function to call on each variable"},{"name":"payload","type":"void *","comment":"the data to pass to the callback"}],"argline":"git_config *cfg,\n\tint (*callback)(const git_config_entry *, void *payload),\n\tvoid *payload","sig":"git_config *::int (*)(const git_config_entry *, void *payload)::void *","return":{"type":"int","comment":"0 on success, GIT_EUSER on non-zero callback, or error code"},"description":"Perform an operation on each config variable.","comments":"The callback receives the normalized name and value of each variable\nin the config backend, and the data pointer passed to this function.\nAs soon as one of the callback functions returns something other than 0,\nthis function stops iterating and returns `GIT_EUSER`.\n","group":"config"},"git_config_foreach_match":{"type":"function","file":"config.h","line":452,"lineto":456,"args":[{"name":"cfg","type":"git_config *","comment":"where to get the variables from"},{"name":"regexp","type":"const char *","comment":"regular expression to match against config names"},{"name":"callback","type":"int (*)(const git_config_entry *entry, void *payload)","comment":"the function to call on each variable"},{"name":"payload","type":"void *","comment":"the data to pass to the callback"}],"argline":"git_config *cfg,\n\tconst char *regexp,\n\tint (*callback)(const git_config_entry *entry, void *payload),\n\tvoid *payload","sig":"git_config *::const char *::int (*)(const git_config_entry *entry, void *payload)::void *","return":{"type":"int","comment":"0 or the return value of the callback which didn't return 0"},"description":"Perform an operation on each config variable matching a regular expression.","comments":"This behaviors like `git_config_foreach` with an additional filter of a\nregular expression that filters which config keys are passed to the\ncallback.\n","group":"config"},"git_config_get_mapped":{"type":"function","file":"config.h","line":492,"lineto":492,"args":[{"name":"out","type":"int *","comment":"place to store the result of the mapping"},{"name":"cfg","type":"git_config *","comment":"config file to get the variables from"},{"name":"name","type":"const char *","comment":"name of the config variable to lookup"},{"name":"maps","type":"git_cvar_map *","comment":"array of `git_cvar_map` objects specifying the possible mappings"},{"name":"map_n","type":"size_t","comment":"number of mapping objects in `maps`"}],"argline":"int *out, git_config *cfg, const char *name, git_cvar_map *maps, size_t map_n","sig":"int *::git_config *::const char *::git_cvar_map *::size_t","return":{"type":"int","comment":"0 on success, error code otherwise"},"description":"Query the value of a config variable and return it mapped to\nan integer constant.","comments":"This is a helper method to easily map different possible values\nto a variable to integer constants that easily identify them.\n\nA mapping array looks as follows:\n\ngit_cvar_map autocrlf_mapping[] = {\n\t{GIT_CVAR_FALSE, NULL, GIT_AUTO_CRLF_FALSE},\n\t{GIT_CVAR_TRUE, NULL, GIT_AUTO_CRLF_TRUE},\n\t{GIT_CVAR_STRING, \"input\", GIT_AUTO_CRLF_INPUT},\n\t{GIT_CVAR_STRING, \"default\", GIT_AUTO_CRLF_DEFAULT}};\n\nOn any \"false\" value for the variable (e.g. \"false\", \"FALSE\", \"no\"), the\nmapping will store `GIT_AUTO_CRLF_FALSE` in the `out` parameter.\n\nThe same thing applies for any \"true\" value such as \"true\", \"yes\" or \"1\", storing\nthe `GIT_AUTO_CRLF_TRUE` variable.\n\nOtherwise, if the value matches the string \"input\" (with case insensitive comparison),\nthe given constant will be stored in `out`, and likewise for \"default\".\n\nIf not a single match can be made to store in `out`, an error code will be\nreturned.\n","group":"config"},"git_config_lookup_map_value":{"type":"function","file":"config.h","line":502,"lineto":506,"args":[{"name":"out","type":"int *","comment":"place to store the result of the parsing"},{"name":"maps","type":"git_cvar_map *","comment":"array of `git_cvar_map` objects specifying the possible mappings"},{"name":"map_n","type":"size_t","comment":"number of mapping objects in `maps`"},{"name":"value","type":"const char *","comment":"value to parse"}],"argline":"int *out,\n\tgit_cvar_map *maps,\n\tsize_t map_n,\n\tconst char *value","sig":"int *::git_cvar_map *::size_t::const char *","return":{"type":"int"},"description":"Maps a string value to an integer constant","comments":"","group":"config"},"git_config_parse_bool":{"type":"function","file":"config.h","line":518,"lineto":518,"args":[{"name":"out","type":"int *","comment":"place to store the result of the parsing"},{"name":"value","type":"const char *","comment":"value to parse"}],"argline":"int *out, const char *value","sig":"int *::const char *","return":{"type":"int"},"description":"Parse a string value as a bool.","comments":"Valid values for true are: 'true', 'yes', 'on', 1 or any\n number different from 0\nValid values for false are: 'false', 'no', 'off', 0\n","group":"config"},"git_config_parse_int64":{"type":"function","file":"config.h","line":530,"lineto":530,"args":[{"name":"out","type":"int64_t *","comment":"place to store the result of the parsing"},{"name":"value","type":"const char *","comment":"value to parse"}],"argline":"int64_t *out, const char *value","sig":"int64_t *::const char *","return":{"type":"int"},"description":"Parse a string value as an int64.","comments":"An optional value suffix of 'k', 'm', or 'g' will\ncause the value to be multiplied by 1024, 1048576,\nor 1073741824 prior to output.\n","group":"config"},"git_config_parse_int32":{"type":"function","file":"config.h","line":542,"lineto":542,"args":[{"name":"out","type":"int32_t *","comment":"place to store the result of the parsing"},{"name":"value","type":"const char *","comment":"value to parse"}],"argline":"int32_t *out, const char *value","sig":"int32_t *::const char *","return":{"type":"int"},"description":"Parse a string value as an int32.","comments":"An optional value suffix of 'k', 'm', or 'g' will\ncause the value to be multiplied by 1024, 1048576,\nor 1073741824 prior to output.\n","group":"config"},"git_libgit2_version":{"type":"function","file":"common.h","line":96,"lineto":96,"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"},"description":"Return the version of the libgit2 library\nbeing currently used.","comments":"","group":"libgit2"},"git_libgit2_capabilities":{"type":"function","file":"common.h","line":119,"lineto":119,"args":[],"argline":"void","sig":"","return":{"type":"int","comment":"A combination of GIT_CAP_* values. - GIT_CAP_THREADS Libgit2 was compiled with thread support. Note that thread support is still to be seen as a 'work in progress'. - GIT_CAP_HTTPS Libgit2 supports the https:// protocol. This requires the open ssl library to be found when compiling libgit2."},"description":"Query compile time options for libgit2.","comments":"","group":"libgit2"},"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 an 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":"Lookup a commit object from a repository.","comments":"","group":"commit","examples":{"general.c":["ex/HEAD/general.html#git_commit_lookup-59","ex/HEAD/general.html#git_commit_lookup-60","ex/HEAD/general.html#git_commit_lookup-61"]}},"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 an annotated tag it will be peeled back to the commit."},{"name":"len","type":"size_t","comment":"the length of the short identifier"}],"argline":"git_commit **commit, git_repository *repo, const git_oid *id, size_t len","sig":"git_commit **::git_repository *::const git_oid *::size_t","return":{"type":"int","comment":"0 or an error code"},"description":"Lookup a commit object from a repository,\ngiven a prefix of its identifier (short id).","comments":"@see git_object_lookup_prefix\n","group":"commit"},"git_commit_free":{"type":"function","file":"commit.h","line":67,"lineto":70,"args":[{"name":"commit","type":"git_commit *","comment":"the commit to close"}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"void"},"description":"Close an open commit","comments":"This is a wrapper around git_object_free()\n\nIMPORTANT:\nIt *is* necessary to call this method when you stop\nusing a commit. Failure to do so will cause a memory leak.\n","group":"commit","examples":{"general.c":["ex/HEAD/general.html#git_commit_free-62","ex/HEAD/general.html#git_commit_free-63","ex/HEAD/general.html#git_commit_free-64","ex/HEAD/general.html#git_commit_free-65"]}},"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":"Get the id of a commit.","comments":"","group":"commit","examples":{"general.c":["ex/HEAD/general.html#git_commit_id-66"]}},"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":"Get the encoding for the message of a commit,\nas a string representing a standard encoding name.","comments":"The encoding may be NULL if the `encoding` header\nin the commit is missing; in that case UTF-8 is assumed.\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":"Get the full message of a commit.","comments":"","group":"commit","examples":{"general.c":["ex/HEAD/general.html#git_commit_message-67","ex/HEAD/general.html#git_commit_message-68"]}},"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":"Get the commit time (i.e. committer time) of a commit.","comments":"","group":"commit","examples":{"general.c":["ex/HEAD/general.html#git_commit_time-69","ex/HEAD/general.html#git_commit_time-70"]}},"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":"Get the commit timezone offset (i.e. committer's preferred timezone) of a commit.","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":"Get the committer of a commit.","comments":"","group":"commit","examples":{"general.c":["ex/HEAD/general.html#git_commit_committer-71"]}},"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":"Get the author of a commit.","comments":"","group":"commit","examples":{"general.c":["ex/HEAD/general.html#git_commit_author-72","ex/HEAD/general.html#git_commit_author-73"]}},"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":"Get the tree pointed to by a commit.","comments":"","group":"commit","examples":{"diff.c":["ex/HEAD/diff.html#git_commit_tree-26"]}},"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":"Get the id of the tree pointed to by a commit. This differs from\n`git_commit_tree` in that no attempts are made to fetch an object\nfrom the ODB.","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":"Get the number of parents of this commit","comments":"","group":"commit","examples":{"general.c":["ex/HEAD/general.html#git_commit_parentcount-74"]}},"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":"Get the specified parent of the commit.","comments":"","group":"commit","examples":{"general.c":["ex/HEAD/general.html#git_commit_parent-75"]}},"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":"Get the oid of a specified parent for a commit. This is different from\n`git_commit_parent`, which will attempt to load the parent commit from\nthe ODB.","comments":"","group":"commit"},"git_commit_nth_gen_ancestor":{"type":"function","file":"commit.h","line":195,"lineto":198,"args":[{"name":"ancestor","type":"git_commit **","comment":"Pointer where to store the ancestor commit"},{"name":"commit","type":"const git_commit *","comment":"a previously loaded commit."},{"name":"n","type":"unsigned int","comment":"the requested generation"}],"argline":"git_commit **ancestor,\n\tconst git_commit *commit,\n\tunsigned int n","sig":"git_commit **::const git_commit *::unsigned int","return":{"type":"int","comment":"0 on success; GIT_ENOTFOUND if no matching ancestor exists or an error code"},"description":"Get the commit object that is the <n>th generation ancestor\nof the named commit object, following only the first parents.\nThe returned commit has to be freed by the caller.","comments":"Passing `0` as the generation number returns another instance of the\nbase commit itself.\n","group":"commit"},"git_commit_create":{"type":"function","file":"commit.h","line":247,"lineto":257,"args":[{"name":"oid","type":"git_oid *","comment":"Pointer where to store the OID of the newly 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 will be updated to point to this commit. If the reference is not direct, it will be resolved to a direct reference. Use \"HEAD\" to update the HEAD of the current branch and make it point to this commit. If the reference doesn't exist yet, it will be created."},{"name":"author","type":"const git_signature *","comment":"Signature representing the author and the authory time of this commit"},{"name":"committer","type":"const git_signature *","comment":"Signature representing the committer and the commit time of this commit"},{"name":"message_encoding","type":"const char *","comment":"The encoding for the message in the commit, represented with a standard encoding name. E.g. \"UTF-8\". If NULL, no encoding header is written and UTF-8 is assumed."},{"name":"message","type":"const char *","comment":"_encoding The encoding for the message in the commit, represented with a standard encoding name. E.g. \"UTF-8\". If NULL, no encoding header is written and UTF-8 is assumed."},{"name":"tree","type":"const git_tree *","comment":"An instance of a `git_tree` object that will be used as the tree for the commit. This tree object must also be owned by the given `repo`."},{"name":"parent_count","type":"int","comment":"Number of parents for this commit"}],"argline":"git_oid *oid,\n\t\tgit_repository *repo,\n\t\tconst char *update_ref,\n\t\tconst git_signature *author,\n\t\tconst git_signature *committer,\n\t\tconst char *message_encoding,\n\t\tconst char *message,\n\t\tconst git_tree *tree,\n\t\tint parent_count,\n\t\tconst git_commit *parents[]","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":"0 or an error code The created commit will be written to the Object Database and the given reference will be updated to point to it"},"description":"Create a new commit in the repository using `git_object`\ninstances as parameters.","comments":"The message will not be cleaned up. This can be achieved\nthrough `git_message_prettify()`.\n","group":"commit"},"git_commit_create_v":{"type":"function","file":"commit.h","line":275,"lineto":285,"args":[{"name":"oid","type":"git_oid *"},{"name":"repo","type":"git_repository *"},{"name":"update_ref","type":"const char *"},{"name":"author","type":"const git_signature *"},{"name":"committer","type":"const git_signature *"},{"name":"message_encoding","type":"const char *"},{"name":"message","type":"const char *"},{"name":"tree","type":"const git_tree *"},{"name":"parent_count","type":"int"}],"argline":"git_oid *oid,\n\t\tgit_repository *repo,\n\t\tconst char *update_ref,\n\t\tconst git_signature *author,\n\t\tconst git_signature *committer,\n\t\tconst char *message_encoding,\n\t\tconst char *message,\n\t\tconst git_tree *tree,\n\t\tint parent_count,\n\t\t...","sig":"git_oid *::git_repository *::const char *::const git_signature *::const git_signature *::const char *::const char *::const git_tree *::int","return":{"type":"int"},"description":"Create a new commit in the repository using a variable\nargument list.","comments":"The message will be cleaned up from excess whitespace\nit will be made sure that the last line ends with a '\\n'.\n\nThe parents for the commit are specified as a variable\nlist of pointers to `const git_commit *`. Note that this\nis a convenience method which may not be safe to export\nfor certain languages or compilers\n\nAll other parameters remain the same\n\n@see git_commit_create","group":"commit","examples":{"general.c":["ex/HEAD/general.html#git_commit_create_v-76"]}},"git_clone":{"type":"function","file":"clone.h","line":41,"lineto":47,"args":[{"name":"out","type":"git_repository **","comment":"pointer that will receive the resulting repository object"},{"name":"origin_url","type":"const char *","comment":"repository to clone from"},{"name":"workdir_path","type":"const char *","comment":"local directory to clone to"},{"name":"fetch_progress_cb","type":"git_transfer_progress_callback","comment":"optional callback for fetch progress. Be aware that this is called inline with network and indexing operations, so performance may be affected."},{"name":"fetch_progress_payload","type":"void *","comment":"payload for fetch_progress_cb"},{"name":"checkout_opts","type":"git_checkout_opts *","comment":"options for the checkout step. If NULL, no checkout is performed"}],"argline":"git_repository **out,\n\t\tconst char *origin_url,\n\t\tconst char *workdir_path,\n\t\tgit_transfer_progress_callback fetch_progress_cb,\n\t\tvoid *fetch_progress_payload,\n\t\tgit_checkout_opts *checkout_opts","sig":"git_repository **::const char *::const char *::git_transfer_progress_callback::void *::git_checkout_opts *","return":{"type":"int","comment":"0 on success, GIT_ERROR otherwise (use giterr_last for information about the error)"},"description":"Clone a remote repository, and checkout the branch pointed to by the remote\nHEAD.","comments":"","group":"clone","examples":{"network/clone.c":["ex/HEAD/clone.html#git_clone-3"]}},"git_clone_bare":{"type":"function","file":"clone.h","line":61,"lineto":66,"args":[{"name":"out","type":"git_repository **","comment":"pointer that will receive the resulting repository object"},{"name":"origin_url","type":"const char *","comment":"repository to clone from"},{"name":"dest_path","type":"const char *","comment":"local directory to clone to"},{"name":"fetch_progress_cb","type":"git_transfer_progress_callback","comment":"optional callback for fetch progress. Be aware that this is called inline with network and indexing operations, so performance may be affected."},{"name":"fetch_progress_payload","type":"void *","comment":"payload for fetch_progress_cb"}],"argline":"git_repository **out,\n\t\tconst char *origin_url,\n\t\tconst char *dest_path,\n\t\tgit_transfer_progress_callback fetch_progress_cb,\n\t\tvoid *fetch_progress_payload","sig":"git_repository **::const char *::const char *::git_transfer_progress_callback::void *","return":{"type":"int","comment":"0 on success, GIT_ERROR otherwise (use giterr_last for information about the error)"},"description":"Create a bare clone of a remote repository.","comments":"","group":"clone"},"git_checkout_head":{"type":"function","file":"checkout.h","line":94,"lineto":96,"args":[{"name":"repo","type":"git_repository *","comment":"repository to check out (must be non-bare)"},{"name":"opts","type":"git_checkout_opts *","comment":"specifies checkout options (may be NULL)"}],"argline":"git_repository *repo,\n\tgit_checkout_opts *opts","sig":"git_repository *::git_checkout_opts *","return":{"type":"int","comment":"0 on success, GIT_EORPHANEDHEAD when HEAD points to a non existing branch, GIT_ERROR otherwise (use giterr_last for information about the error)"},"description":"Updates files in the index and the working tree to match the content of the\ncommit pointed at by HEAD.","comments":"","group":"checkout"},"git_checkout_index":{"type":"function","file":"checkout.h","line":106,"lineto":108,"args":[{"name":"repo","type":"git_repository *","comment":"repository to check out (must be non-bare)"},{"name":"opts","type":"git_checkout_opts *","comment":"specifies checkout options (may be NULL)"}],"argline":"git_repository *repo,\n\tgit_checkout_opts *opts","sig":"git_repository *::git_checkout_opts *","return":{"type":"int","comment":"0 on success, GIT_ERROR otherwise (use giterr_last for information about the error)"},"description":"Updates files in the working tree to match the content of the index.","comments":"","group":"checkout"},"git_checkout_tree":{"type":"function","file":"checkout.h","line":121,"lineto":124,"args":[{"name":"repo","type":"git_repository *","comment":"repository to check out (must be non-bare)"},{"name":"treeish","type":"git_object *","comment":"a commit, tag or tree which content will be used to update the working directory"},{"name":"opts","type":"git_checkout_opts *","comment":"specifies checkout options (may be NULL)"}],"argline":"git_repository *repo,\n\tgit_object *treeish,\n\tgit_checkout_opts *opts","sig":"git_repository *::git_object *::git_checkout_opts *","return":{"type":"int","comment":"0 on success, GIT_ERROR otherwise (use giterr_last for information about the error)"},"description":"Updates files in the index and working tree to match the content of the\ntree pointed at by the treeish.","comments":"","group":"checkout"},"git_branch_create":{"type":"function","file":"branch.h","line":49,"lineto":54,"args":[{"name":"branch_out","type":"git_reference **","comment":"Pointer where to store the underlying reference."},{"name":"repo","type":"git_repository *"},{"name":"branch_name","type":"const char *","comment":"Name for the branch; this name is validated for consistency. It should also not conflict with an already existing branch name."},{"name":"target","type":"const git_object *","comment":"Object to which this branch should point. This object must belong to the given `repo` and can either be a git_commit or a git_tag. When a git_tag is being passed, it should be dereferencable to a git_commit which oid will be used as the target of the branch."},{"name":"force","type":"int","comment":"Overwrite existing branch."}],"argline":"git_reference **branch_out,\n\t\tgit_repository *repo,\n\t\tconst char *branch_name,\n\t\tconst git_object *target,\n\t\tint force","sig":"git_reference **::git_repository *::const char *::const git_object *::int","return":{"type":"int","comment":"0 or an error code. A proper reference is written in the refs/heads namespace pointing to the provided target commit."},"description":"Create a new branch pointing at a target commit","comments":"A new direct reference will be created pointing to\nthis target commit. If `force` is true and a reference\nalready exists with the given name, it'll be replaced.\n\nThe returned reference must be freed by the user.\n","group":"branch"},"git_branch_delete":{"type":"function","file":"branch.h","line":65,"lineto":65,"args":[{"name":"branch","type":"git_reference *","comment":"A valid reference representing a branch"}],"argline":"git_reference *branch","sig":"git_reference *","return":{"type":"int","comment":"0 on success, or an error code."},"description":"Delete an existing branch reference.","comments":"If the branch is successfully deleted, the passed reference\nobject will be freed and invalidated.\n","group":"branch"},"git_branch_foreach":{"type":"function","file":"branch.h","line":84,"lineto":92,"args":[{"name":"repo","type":"git_repository *","comment":"Repository where to find the branches."},{"name":"list_flags","type":"unsigned int","comment":"Filtering flags for the branch listing. Valid values are GIT_BRANCH_LOCAL, GIT_BRANCH_REMOTE or a combination of the two."},{"name":"branch_cb","type":"int (*)(\n\t\t\tconst char *branch_name,\n\t\t\tgit_branch_t branch_type,\n\t\t\tvoid *payload)","comment":"Callback to invoke per found branch."},{"name":"payload","type":"void *","comment":"Extra parameter to callback function."}],"argline":"git_repository *repo,\n\t\tunsigned int list_flags,\n\t\tint (*branch_cb)(\n\t\t\tconst char *branch_name,\n\t\t\tgit_branch_t branch_type,\n\t\t\tvoid *payload),\n\t\tvoid *payload","sig":"git_repository *::unsigned int::int (*)(\n\t\t\tconst char *branch_name,\n\t\t\tgit_branch_t branch_type,\n\t\t\tvoid *payload)::void *","return":{"type":"int","comment":"0 on success, GIT_EUSER on non-zero callback, or error code"},"description":"Loop over all the branches and issue a callback for each one.","comments":"If the callback returns a non-zero value, this will stop looping.\n","group":"branch"},"git_branch_move":{"type":"function","file":"branch.h","line":106,"lineto":109,"args":[{"name":"branch","type":"git_reference *","comment":"Current underlying reference of the branch."},{"name":"new_branch_name","type":"const char *","comment":"Target name of the branch once the move is performed; this name is validated for consistency."},{"name":"force","type":"int","comment":"Overwrite existing branch."}],"argline":"git_reference *branch,\n\t\tconst char *new_branch_name,\n\t\tint force","sig":"git_reference *::const char *::int","return":{"type":"int","comment":"0 on success, or an error code."},"description":"Move/rename an existing local branch reference.","comments":"","group":"branch"},"git_branch_lookup":{"type":"function","file":"branch.h","line":129,"lineto":133,"args":[{"name":"branch_out","type":"git_reference **","comment":"pointer to the looked-up branch reference"},{"name":"repo","type":"git_repository *","comment":"the repository to look up the branch"},{"name":"branch_name","type":"const char *","comment":"Name of the branch to be looked-up; this name is validated for consistency."},{"name":"branch_type","type":"git_branch_t","comment":"Type of the considered branch. This should be valued with either GIT_BRANCH_LOCAL or GIT_BRANCH_REMOTE."}],"argline":"git_reference **branch_out,\n\t\tgit_repository *repo,\n\t\tconst char *branch_name,\n\t\tgit_branch_t branch_type","sig":"git_reference **::git_repository *::const char *::git_branch_t","return":{"type":"int","comment":"0 on success; GIT_ENOTFOUND when no matching branch exists, otherwise an error code."},"description":"Lookup a branch by its name in a repository.","comments":"The generated reference must be freed by the user.\n","group":"branch"},"git_branch_tracking":{"type":"function","file":"branch.h","line":147,"lineto":149,"args":[{"name":"tracking_out","type":"git_reference **","comment":"Pointer where to store the retrieved reference."},{"name":"branch","type":"git_reference *","comment":"Current underlying reference of the branch."}],"argline":"git_reference **tracking_out,\n\t\tgit_reference *branch","sig":"git_reference **::git_reference *","return":{"type":"int","comment":"0 on success; GIT_ENOTFOUND when no remote tracking reference exists, otherwise an error code."},"description":"Return the reference supporting the remote tracking branch,\ngiven a local branch reference.","comments":"","group":"branch"},"git_branch_is_head":{"type":"function","file":"branch.h","line":159,"lineto":160,"args":[{"name":"branch","type":"git_reference *","comment":"Current underlying reference of the branch."}],"argline":"git_reference *branch","sig":"git_reference *","return":{"type":"int","comment":"1 if HEAD points at the branch, 0 if it isn't, error code otherwise."},"description":"Determine if the current local branch is pointed at by HEAD.","comments":"","group":"branch"},"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":"Lookup a blob object from a repository.","comments":"","group":"blob","examples":{"general.c":["ex/HEAD/general.html#git_blob_lookup-77"]}},"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":"size_t","comment":"the length of the short identifier"}],"argline":"git_blob **blob, git_repository *repo, const git_oid *id, size_t len","sig":"git_blob **::git_repository *::const git_oid *::size_t","return":{"type":"int","comment":"0 or an error code"},"description":"Lookup a blob object from a repository,\ngiven a prefix of its identifier (short id).","comments":"@see git_object_lookup_prefix\n","group":"blob"},"git_blob_free":{"type":"function","file":"blob.h","line":65,"lineto":68,"args":[{"name":"blob","type":"git_blob *","comment":"the blob to close"}],"argline":"git_blob *blob","sig":"git_blob *","return":{"type":"void"},"description":"Close an open blob","comments":"This is a wrapper around git_object_free()\n\nIMPORTANT:\nIt *is* necessary to call this method when you stop\nusing a blob. Failure to do so will cause a memory leak.\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":"Get a read-only buffer with the raw content of a blob.","comments":"A pointer to the raw content of a blob is returned;\nthis pointer is owned internally by the object and shall\nnot be free'd. The pointer may be invalidated at a later\ntime.\n","group":"blob","examples":{"general.c":["ex/HEAD/general.html#git_blob_rawcontent-78"]}},"git_blob_rawsize":{"type":"function","file":"blob.h","line":91,"lineto":91,"args":[{"name":"blob","type":"git_blob *","comment":"pointer to the blob"}],"argline":"git_blob *blob","sig":"git_blob *","return":{"type":"size_t","comment":"size on bytes"},"description":"Get the size in bytes of the contents of a blob","comments":"","group":"blob","examples":{"general.c":["ex/HEAD/general.html#git_blob_rawsize-79","ex/HEAD/general.html#git_blob_rawsize-80"]}},"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. this repository cannot be bare"},{"name":"path","type":"const char *","comment":"file from which the blob will be created, relative 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":"Read a file from the working folder of a repository\nand write it to the Object Database as a loose blob","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. this 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":"Read a file from the filesystem and write its content\nto the Object Database as a loose blob","comments":"","group":"blob"},"git_blob_create_fromchunks":{"type":"function","file":"blob.h","line":154,"lineto":159,"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. This repository can be bare or not."},{"name":"hintpath","type":"const char *","comment":"if not NULL, will help selecting the filters to apply onto the content of the blob to be created."},{"name":"source_cb","type":"int (*)(char *content, size_t max_length, void *payload)"},{"name":"payload","type":"void *"}],"argline":"git_oid *oid,\n\tgit_repository *repo,\n\tconst char *hintpath,\n\tint (*source_cb)(char *content, size_t max_length, void *payload),\n\tvoid *payload","sig":"git_oid *::git_repository *::const char *::int (*)(char *content, size_t max_length, void *payload)::void *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Write a loose blob to the Object Database from a\nprovider of chunks of data.","comments":"Provided the `hintpath` parameter is filled, its value\nwill help to determine what git filters should be applied\nto the object before it can be placed to the object database.\n\n\nThe implementation of the callback has to respect the\nfollowing rules:\n\n - `content` will have to be filled by the consumer. The maximum number\nof bytes that the buffer can accept per call is defined by the\n`max_length` parameter. Allocation and freeing of the buffer will be taken\ncare of by the function.\n\n - The callback is expected to return the number of bytes\nthat `content` have been filled with.\n\n - When there is no more data to stream, the callback should\nreturn 0. This will prevent it from being invoked anymore.\n\n - When an error occurs, the callback should return -1.\n\n","group":"blob"},"git_blob_create_frombuffer":{"type":"function","file":"blob.h","line":170,"lineto":170,"args":[{"name":"oid","type":"git_oid *","comment":"return the oid of the written blob"},{"name":"repo","type":"git_repository *","comment":"repository where to blob will be written"},{"name":"buffer","type":"const void *","comment":"data to be written into the blob"},{"name":"len","type":"size_t","comment":"length of the data"}],"argline":"git_oid *oid, git_repository *repo, const void *buffer, size_t len","sig":"git_oid *::git_repository *::const void *::size_t","return":{"type":"int","comment":"0 or an error code"},"description":"Write an in-memory buffer to the ODB as a blob","comments":"","group":"blob"},"git_attr_get":{"type":"function","file":"attr.h","line":142,"lineto":147,"args":[{"name":"value_out","type":"const char **","comment":"Output of the value of the attribute. Use the GIT_ATTR_... macros to test for TRUE, FALSE, UNSPECIFIED, etc. or just use the string value for attributes set to a value. You 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 interpreted relative to the repo root. The file does not have to exist, but if it does not, then it will be 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,\n git_repository *repo,\n\tuint32_t flags,\n\tconst char *path,\n\tconst char *name","sig":"const char **::git_repository *::uint32_t::const char *::const char *","return":{"type":"int"},"description":"Look up the value of one git attribute for path.","comments":"","group":"attr"},"git_attr_get_many":{"type":"function","file":"attr.h","line":178,"lineto":184,"args":[{"name":"values_out","type":"const char **"},{"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 does not have to exist, but if it does not, then it will be treated as a plain file (i.e. not a directory)."},{"name":"num_attr","type":"size_t","comment":"The number of attributes being looked up"},{"name":"names","type":"const char **","comment":"An array of num_attr strings containing attribute names."}],"argline":"const char **values_out,\n\tgit_repository *repo,\n\tuint32_t flags,\n\tconst char *path,\n\tsize_t num_attr,\n\tconst char **names","sig":"const char **::git_repository *::uint32_t::const char *::size_t::const char **","return":{"type":"int"},"description":"Look up a list of git attributes for path.","comments":"Use this if you have a known list of attributes that you want to\nlook up in a single call. This is somewhat more efficient than\ncalling `git_attr_get()` multiple times.\n\nFor example, you might write:\n\n const char *attrs[] = { \"crlf\", \"diff\", \"foo\" };\n const char **values[3];\n git_attr_get_many(values, repo, 0, \"my/fun/file.c\", 3, attrs);\n\nThen you could loop through the 3 values to get the settings for\nthe three attributes you asked about.\n","group":"attr"},"git_attr_foreach":{"type":"function","file":"attr.h","line":203,"lineto":208,"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":"Path inside the repo to check attributes. This does not have to exist, but if it does not, then it will be treated as a plain file (i.e. not a directory)."},{"name":"callback","type":"int (*)(const char *name, const char *value, void *payload)","comment":"Function to invoke on each attribute name and value. The value may be NULL is the attribute is explicitly set to UNSPECIFIED using the '!' sign. Callback will be invoked only once per attribute name, even if there are multiple rules for a given file. The highest priority rule will be used. Return a non-zero value from this to stop looping."},{"name":"payload","type":"void *","comment":"Passed on as extra parameter to callback function."}],"argline":"git_repository *repo,\n\tuint32_t flags,\n\tconst char *path,\n\tint (*callback)(const char *name, const char *value, void *payload),\n\tvoid *payload","sig":"git_repository *::uint32_t::const char *::int (*)(const char *name, const char *value, void *payload)::void *","return":{"type":"int","comment":"0 on success, GIT_EUSER on non-zero callback, or error code"},"description":"Loop over all the git attributes for a path.","comments":"","group":"attr"},"git_attr_cache_flush":{"type":"function","file":"attr.h","line":218,"lineto":219,"args":[{"name":"repo","type":"git_repository *"}],"argline":"git_repository *repo","sig":"git_repository *","return":{"type":"void"},"description":"Flush the gitattributes cache.","comments":"Call this if you have reason to believe that the attributes files on\ndisk no longer match the cached contents of memory. This will cause\nthe attributes files to be reloaded the next time that an attribute\naccess function is called.","group":"attr"},"git_attr_add_macro":{"type":"function","file":"attr.h","line":231,"lineto":234,"args":[{"name":"repo","type":"git_repository *"},{"name":"name","type":"const char *"},{"name":"values","type":"const char *"}],"argline":"git_repository *repo,\n\tconst char *name,\n\tconst char *values","sig":"git_repository *::const char *::const char *","return":{"type":"int"},"description":"Add a macro definition.","comments":"Macros will automatically be loaded from the top level `.gitattributes`\nfile of the repository (plus the build-in \"binary\" macro). This\nfunction allows you to add others. For example, to add the default\nmacro, you would call:\n\n git_attr_add_macro(repo, \"binary\", \"-diff -crlf\");","group":"attr"}},"globals":{"GIT_SORT_NONE":{"value":"(0)","file":"revwalk.h","line":29,"comments":"Sort the repository contents in no particular ordering;\nthis sorting is arbitrary, implementation-specific\nand subject to change at any time.\nThis is the default sorting for new walkers."},"GIT_SORT_TOPOLOGICAL":{"value":"(1 << 0)","file":"revwalk.h","line":36,"comments":"Sort the repository contents in topological order\n(parents before children); this sorting mode\ncan be combined with time sorting."},"GIT_SORT_TIME":{"value":"(1 << 1)","file":"revwalk.h","line":43,"comments":"Sort the repository contents by commit time;\nthis sorting mode can be combined with\ntopological sorting."},"GIT_SORT_REVERSE":{"value":"(1 << 2)","file":"revwalk.h","line":50,"comments":"Iterate through the repository contents in reverse\norder; this sorting mode can be combined with\nany of the above."},"GIT_OID_RAWSZ":{"value":"20","file":"oid.h","line":23,"comments":"Size (in bytes) of a raw/binary oid"},"GIT_OID_HEXSZ":{"value":"(GIT_OID_RAWSZ * 2)","file":"oid.h","line":26,"comments":"Size (in bytes) of a hex formatted oid"},"GIT_OID_MINPREFIXLEN":{"value":"4","file":"oid.h","line":30,"comments":"Minimum length (in number of hex characters,\ni.e. packets of 4 bits) of an oid prefix"},"GIT_STREAM_RDONLY":{"file":"odb_backend.h","line":89,"value":"(1 << 1)","comments":"Streaming mode"},"GIT_STREAM_WRONLY":{"file":"odb_backend.h","line":90,"value":"(1 << 2)","comments":"Streaming mode"},"GIT_STREAM_RW":{"file":"odb_backend.h","line":91,"value":"(GIT_STREAM_RDONLY | GIT_STREAM_WRONLY)","comments":"Streaming mode"},"GIT_INDEXCAP_IGNORE_CASE":{"file":"index.h","line":96,"value":"1","comments":"Capabilities of system that affect index actions."},"GIT_INDEXCAP_NO_FILEMODE":{"file":"index.h","line":97,"value":"2","comments":"Capabilities of system that affect index actions."},"GIT_INDEXCAP_NO_SYMLINKS":{"file":"index.h","line":98,"value":"4","comments":"Capabilities of system that affect index actions."},"GIT_INDEXCAP_FROM_OWNER":{"file":"index.h","line":99,"value":"~0u\n","comments":"Capabilities of system that affect index actions."},"GIT_OK":{"file":"errors.h","line":22,"value":"0","comments":"Generic return codes"},"GIT_ERROR":{"file":"errors.h","line":23,"value":"-1","comments":"Generic return codes"},"GIT_ENOTFOUND":{"file":"errors.h","line":24,"value":"-3","comments":"Generic return codes"},"GIT_EEXISTS":{"file":"errors.h","line":25,"value":"-4","comments":"Generic return codes"},"GIT_EAMBIGUOUS":{"file":"errors.h","line":26,"value":"-5","comments":"Generic return codes"},"GIT_EBUFS":{"file":"errors.h","line":27,"value":"-6","comments":"Generic return codes"},"GIT_EUSER":{"file":"errors.h","line":28,"value":"-7","comments":"Generic return codes"},"GIT_EBAREREPO":{"file":"errors.h","line":29,"value":"-8","comments":"Generic return codes"},"GIT_EORPHANEDHEAD":{"file":"errors.h","line":30,"value":"-9","comments":"Generic return codes"},"GIT_EUNMERGED":{"file":"errors.h","line":31,"value":"-10","comments":"Generic return codes"},"GIT_PASSTHROUGH":{"file":"errors.h","line":33,"value":"-30","comments":"Generic return codes"},"GIT_ITEROVER":{"file":"errors.h","line":34,"value":"-31","comments":"Generic return codes"},"GIT_CONFIG_LEVEL_SYSTEM":{"file":"config.h","line":31,"value":"1","comments":"Priority level of a config file.\nThese priority levels correspond to the natural escalation logic\n(from higher to lower) when searching for config entries in git.git.\n\ngit_config_open_default() and git_repository_config() honor those\npriority levels as well."},"GIT_CONFIG_LEVEL_XDG":{"file":"config.h","line":32,"value":"2","comments":"Priority level of a config file.\nThese priority levels correspond to the natural escalation logic\n(from higher to lower) when searching for config entries in git.git.\n\ngit_config_open_default() and git_repository_config() honor those\npriority levels as well."},"GIT_CONFIG_LEVEL_GLOBAL":{"file":"config.h","line":33,"value":"3","comments":"Priority level of a config file.\nThese priority levels correspond to the natural escalation logic\n(from higher to lower) when searching for config entries in git.git.\n\ngit_config_open_default() and git_repository_config() honor those\npriority levels as well."},"GIT_CONFIG_LEVEL_LOCAL":{"file":"config.h","line":34,"value":"4","comments":"Priority level of a config file.\nThese priority levels correspond to the natural escalation logic\n(from higher to lower) when searching for config entries in git.git.\n\ngit_config_open_default() and git_repository_config() honor those\npriority levels as well."},"GIT_CONFIG_HIGHEST_LEVEL":{"file":"config.h","line":35,"value":"-1","comments":"Priority level of a config file.\nThese priority levels correspond to the natural escalation logic\n(from higher to lower) when searching for config entries in git.git.\n\ngit_config_open_default() and git_repository_config() honor those\npriority levels as well."},"GIT_BEGIN_DECL":{"value":"","file":"common.h","line":24,"comments":"Start declarations in C mode"},"GIT_END_DECL":{"value":"","file":"common.h","line":26,"comments":"End declarations in C mode"},"GIT_EXTERN(type)":{"value":"extern __attribute__((visibility(\"default\"))) type","file":"common.h","line":30,"comments":"Declare a public function exported for application use."},"GIT_INLINE(type)":{"value":"static __inline type","file":"common.h","line":41,"comments":"Declare a function as always inlined."},"GIT_FORMAT_PRINTF(a,b)":{"value":"__attribute__((format (printf, a, b)))","file":"common.h","line":48,"comments":"Declare a function's takes printf style arguments."},"GIT_PATH_LIST_SEPARATOR":{"value":"';'","file":"common.h","line":77,"comments":"The separator used in path list strings (ie like in the PATH\nenvironment variable). A semi-colon \";\" is used on Windows, and\na colon \":\" for all other systems."},"GIT_PATH_MAX":{"value":"4096","file":"common.h","line":86,"comments":"The maximum length of a valid git path."},"GIT_CAP_THREADS":{"file":"common.h","line":102,"value":"( 1 << 0 )","comments":"Combinations of these values describe the capabilities of libgit2."},"GIT_CAP_HTTPS":{"file":"common.h","line":103,"value":"( 1 << 1 )\n","comments":"Combinations of these values describe the capabilities of libgit2."},"GIT_ATTR_TRUE(attr)":{"value":"(git_attr_value(attr) == GIT_ATTR_TRUE_T)","file":"attr.h","line":33,"comments":"GIT_ATTR_TRUE checks if an attribute is set on. In core git\nparlance, this the value for \"Set\" attributes.\n\nFor example, if the attribute file contains:\n\n *.c foo\n\nThen for file `xyz.c` looking up attribute \"foo\" gives a value for\nwhich `GIT_ATTR_TRUE(value)` is true."},"GIT_ATTR_FALSE(attr)":{"value":"(git_attr_value(attr) == GIT_ATTR_FALSE_T)","file":"attr.h","line":47,"comments":"GIT_ATTR_FALSE checks if an attribute is set off. In core git\nparlance, this is the value for attributes that are \"Unset\" (not to\nbe confused with values that a \"Unspecified\").\n\nFor example, if the attribute file contains:\n\n *.h -foo\n\nThen for file `zyx.h` looking up attribute \"foo\" gives a value for\nwhich `GIT_ATTR_FALSE(value)` is true."},"GIT_ATTR_UNSPECIFIED(attr)":{"value":"(git_attr_value(attr) == GIT_ATTR_UNSPECIFIED_T)","file":"attr.h","line":65,"comments":"GIT_ATTR_UNSPECIFIED checks if an attribute is unspecified. This\nmay be due to the attribute not being mentioned at all or because\nthe attribute was explicitly set unspecified via the `!` operator.\n\nFor example, if the attribute file contains:\n\n *.c foo\n *.h -foo\n onefile.c !foo\n\nThen for `onefile.c` looking up attribute \"foo\" yields a value with\n`GIT_ATTR_UNSPECIFIED(value)` of true. Also, looking up \"foo\" on\nfile `onefile.rb` or looking up \"bar\" on any file will all give\n`GIT_ATTR_UNSPECIFIED(value)` of true."},"GIT_ATTR_HAS_VALUE(attr)":{"value":"(git_attr_value(attr) == GIT_ATTR_VALUE_T)","file":"attr.h","line":77,"comments":"GIT_ATTR_HAS_VALUE checks if an attribute is set to a value (as\nopposed to TRUE, FALSE or UNSPECIFIED). This would be the case if\nfor a file with something like:\n\n *.txt eol=lf\n\nGiven this, looking up \"eol\" for `onefile.txt` will give back the\nstring \"lf\" and `GIT_ATTR_SET_TO_VALUE(attr)` will return true."},"GIT_ATTR_CHECK_NO_SYSTEM":{"value":"(1 << 2)","file":"attr.h","line":125,"comments":"Check attribute flags: Using the system attributes file.\n\nNormally, attribute checks include looking in the /etc (or system\nequivalent) directory for a `gitattributes` file. Passing this\nflag will cause attribute checks to ignore that file."}},"types":[["GIT_ATTR_CHECK",{"type":"enum","file":"attr.h","line":114,"lineto":116,"block":"GIT_ATTR_CHECK_FILE_THEN_INDEX\nGIT_ATTR_CHECK_INDEX_THEN_FILE\nGIT_ATTR_CHECK_INDEX_ONLY","tdef":null,"comments":"Check attribute flags: Reading values from index and working directory.\n\nWhen checking attributes, it is possible to check attribute files\nin both the working directory (if there is one) and the index (if\nthere is one). You can explicitly choose where to check and in\nwhich order using the following flags.\n\nCore git usually checks the working directory then the index,\nexcept during a checkout when it checks the index first. It will\nuse index only for creating archives or for a bare repo (if an\nindex has been specified for the bare repo).","used":{"returns":[],"needs":[]}}],["GIT_DIFF_FILE",{"type":"enum","file":"diff.h","line":127,"lineto":135,"block":"GIT_DIFF_FILE_VALID_OID\nGIT_DIFF_FILE_FREE_PATH\nGIT_DIFF_FILE_BINARY\nGIT_DIFF_FILE_NOT_BINARY\nGIT_DIFF_FILE_FREE_DATA\nGIT_DIFF_FILE_UNMAP_DATA\nGIT_DIFF_FILE_NO_DATA","tdef":null,"comments":"Flags that can be set for the file on side of a diff.\n\nMost of the flags are just for internal consumption by libgit2,\nbut some of them may be interesting to external users.","used":{"returns":[],"needs":[]}}],["GIT_DIFF_LINE",{"type":"enum","file":"diff.h","line":221,"lineto":236,"block":"GIT_DIFF_LINE_CONTEXT\nGIT_DIFF_LINE_ADDITION\nGIT_DIFF_LINE_DELETION\nGIT_DIFF_LINE_ADD_EOFNL\nGIT_DIFF_LINE_DEL_EOFNL\nGIT_DIFF_LINE_FILE_HDR\nGIT_DIFF_LINE_HUNK_HDR\nGIT_DIFF_LINE_BINARY","tdef":null,"comments":"Line origin constants.\n\nThese values describe where a line came from and will be passed to\nthe git_diff_data_fn when iterating over a diff. There are some\nspecial origin constants at the end that are used for the text\noutput callbacks to demarcate lines that are actually part of\nthe file or hunk headers.","used":{"returns":[],"needs":[]}}],["GIT_REPOSITORY_INIT",{"type":"enum","file":"repository.h","line":185,"lineto":192,"block":"GIT_REPOSITORY_INIT_BARE\nGIT_REPOSITORY_INIT_NO_REINIT\nGIT_REPOSITORY_INIT_NO_DOTGIT_DIR\nGIT_REPOSITORY_INIT_MKDIR\nGIT_REPOSITORY_INIT_MKPATH\nGIT_REPOSITORY_INIT_EXTERNAL_TEMPLATE","tdef":null,"comments":"Option flags for `git_repository_init_ext`.\n\nThese flags configure extra behaviors to `git_repository_init_ext`.\nIn every case, the default behavior is the zero value (i.e. flag is\nnot set). Just OR the flag values together for the `flags` parameter\nwhen initializing a new repo. Details of individual values are:\n\n* BARE - Create a bare repository with no working directory.\n* NO_REINIT - Return an EEXISTS error if the repo_path appears to\n already be an git repository.\n* NO_DOTGIT_DIR - Normally a \"/.git/\" will be appended to the repo\n path for non-bare repos (if it is not already there), but\n passing this flag prevents that behavior.\n* MKDIR - Make the repo_path (and workdir_path) as needed. Init is\n always willing to create the \".git\" directory even without this\n flag. This flag tells init to create the trailing component of\n the repo and workdir paths as needed.\n* MKPATH - Recursively make all components of the repo and workdir\n paths as necessary.\n* EXTERNAL_TEMPLATE - libgit2 normally uses internal templates to\n initialize a new repo. This flags enables external templates,\n looking the \"template_path\" from the options if set, or the\n `init.templatedir` global config if not, or falling back on\n \"/usr/share/git-core/templates\" if it exists.","used":{"returns":[],"needs":[]}}],["GIT_REPOSITORY_INIT_SHARED",{"type":"enum","file":"repository.h","line":207,"lineto":211,"block":"GIT_REPOSITORY_INIT_SHARED_UMASK\nGIT_REPOSITORY_INIT_SHARED_GROUP\nGIT_REPOSITORY_INIT_SHARED_ALL","tdef":null,"comments":"Mode options for `git_repository_init_ext`.\n\nSet the mode field of the `git_repository_init_options` structure\neither to the custom mode that you would like, or to one of the\nfollowing modes:\n\n* SHARED_UMASK - Use permissions configured by umask - the default.\n* SHARED_GROUP - Use \"--shared=group\" behavior, chmod'ing the new repo\n to be group writable and \"g+sx\" for sticky group assignment.\n* SHARED_ALL - Use \"--shared=all\" behavior, adding world readability.\n* Anything else - Set to custom value.","used":{"returns":[],"needs":[]}}],["GIT_REPOSITORY_OPEN",{"type":"enum","file":"repository.h","line":98,"lineto":101,"block":"GIT_REPOSITORY_OPEN_NO_SEARCH\nGIT_REPOSITORY_OPEN_CROSS_FS","tdef":null,"comments":"Option flags for `git_repository_open_ext`.\n\n* GIT_REPOSITORY_OPEN_NO_SEARCH - Only open the repository if it can be\n immediately found in the start_path. Do not walk up from the\n start_path looking at parent directories.\n* GIT_REPOSITORY_OPEN_CROSS_FS - Unless this flag is set, open will not\n continue searching across filesystem boundaries (i.e. when `st_dev`\n changes from the `stat` system call). (E.g. Searching in a user's home\n directory \"/home/user/source/\" will not return \"/.git/\" as the found\n repo if \"/\" is a different filesystem than \"/home\".)","used":{"returns":[],"needs":[]}}],["git_blob",{"type":"struct","value":"git_blob","file":"types.h","line":108,"lineto":108,"block":"","tdef":"typedef","comments":"In-memory representation of a blob object.","used":{"returns":[],"needs":["git_blob_free","git_blob_lookup","git_blob_lookup_prefix","git_blob_rawcontent","git_blob_rawsize","git_diff_blobs"]}}],["git_branch_t",{"type":"enum","file":"types.h","line":170,"lineto":173,"block":"GIT_BRANCH_LOCAL\nGIT_BRANCH_REMOTE","tdef":"typedef","comments":"Basic type of any Git branch.","used":{"returns":[],"needs":["git_branch_foreach","git_branch_lookup"]}}],["git_checkout_opts",{"type":"struct","value":"git_checkout_opts","file":"checkout.h","line":49,"lineto":74,"block":"unsigned int checkout_strategy\nint disable_filters\nint dir_mode\nint file_mode\nint file_open_flags\nint (* skipped_notify_cb)(const char *skipped_file, const git_oid *blob_oid, int file_mode, void *payload)\nvoid *notify_payload\nvoid (* progress_cb)(const char *path, size_t completed_steps, size_t total_steps, void *payload)\nvoid *progress_payload\ngit_strarray paths","tdef":"typedef","comments":"Checkout options structure\n\nUse zeros to indicate default settings.","used":{"returns":[],"needs":["git_checkout_head","git_checkout_index","git_checkout_tree","git_clone"]}}],["git_commit",{"type":"struct","value":"git_commit","file":"types.h","line":111,"lineto":111,"block":"","tdef":"typedef","comments":"Parsed representation of a commit object.","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_nth_gen_ancestor","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",{"type":"struct","value":"git_config","file":"types.h","line":126,"lineto":126,"block":"","tdef":"typedef","comments":"Memory representation of a set of config files","used":{"returns":[],"needs":["git_config_add_file","git_config_add_file_ondisk","git_config_delete","git_config_foreach","git_config_foreach_match","git_config_free","git_config_get_bool","git_config_get_config_entry","git_config_get_int32","git_config_get_int64","git_config_get_mapped","git_config_get_multivar","git_config_get_string","git_config_new","git_config_open_default","git_config_open_level","git_config_open_ondisk","git_config_refresh","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",{"type":"struct","value":"git_config_file","file":"config.h","line":48,"lineto":74,"block":"struct git_config *cfg\nint (*open)(struct git_config_file *, unsigned int level)\nint (*get)(struct git_config_file *, const char *key, const git_config_entry **entry)\nint (*get_multivar)(struct git_config_file *, const char *key, const char *regexp, int (*fn)(const git_config_entry *, void *), void *data)\nint (*set)(struct git_config_file *, const char *key, const char *value)\nint (*set_multivar)(git_config_file *cfg, const char *name, const char *regexp, const char *value)\nint (*del)(struct git_config_file *, const char *key)\nint (*foreach)(struct git_config_file *, const char *, int (*fn)(const git_config_entry *, void *), void *data)\nint (*refresh)(struct git_config_file *)\nvoid (*free)(struct git_config_file *)","tdef":null,"comments":"Generic backend that implements the interface to\naccess a configuration file","used":{"returns":[],"needs":["git_config_add_file","git_config_file__ondisk"]}}],["git_delta_t",{"type":"enum","file":"diff.h","line":140,"lineto":150,"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\nGIT_DELTA_TYPECHANGE","tdef":"typedef","comments":"What type of change is described by a git_diff_delta?","used":{"returns":[],"needs":["git_diff_num_deltas_of_type","git_diff_status_char"]}}],["git_diff_data_fn",{"type":"function pointer","value":"git_diff_data_fn","file":"diff.h","line":246,"lineto":252,"comments":"When iterating over a diff, callback that will be made per text diff\nline. In this context, the provided range will be NULL.\n\nWhen printing a diff, callback that will be made to output each line\nof text. This uses some extra GIT_DIFF_LINE_... constants for output\nof lines of file and hunk headers.","used":{"returns":[],"needs":["git_diff_blobs","git_diff_foreach","git_diff_patch_print","git_diff_print_compact","git_diff_print_patch"]}}],["git_diff_delta",{"type":"struct","value":"git_diff_delta","file":"diff.h","line":176,"lineto":182,"block":"git_diff_file old_file\ngit_diff_file new_file\ngit_delta_t status\nunsigned int similarity\nint binary","tdef":"typedef","comments":"Description of changes to one file.\n\nWhen iterating over a diff list object, this will generally be passed to\nmost callback functions and you can use the contents to understand\nexactly what has changed.\n\nUnder some circumstances, not all fields will be filled in, but the code\ngenerally tries to fill in as much as possible. One example is that the\n\"binary\" field will not actually look at file contents if you do not\npass in hunk and/or line callbacks to the diff foreach iteration function.\nIt will just use the git attributes for those files.","used":{"returns":["git_diff_patch_delta"],"needs":["git_diff_get_patch"]}}],["git_diff_file",{"type":"struct","value":"git_diff_file","file":"diff.h","line":155,"lineto":161,"block":"git_oid oid\nconst char *path\ngit_off_t size\nunsigned int flags\nuint16_t mode","tdef":"typedef","comments":"Description of one side of a diff.","used":{"returns":[],"needs":[]}}],["git_diff_file_fn",{"type":"function pointer","value":"git_diff_file_fn","file":"diff.h","line":187,"lineto":190,"comments":"When iterating over a diff, callback that will be made per file.","used":{"returns":[],"needs":["git_diff_blobs","git_diff_foreach"]}}],["git_diff_hunk_fn",{"type":"function pointer","value":"git_diff_hunk_fn","file":"diff.h","line":205,"lineto":210,"comments":"When iterating over a diff, callback that will be made per hunk.","used":{"returns":[],"needs":["git_diff_blobs","git_diff_foreach"]}}],["git_diff_list",{"type":"struct","value":"git_diff_list","file":"diff.h","line":119,"lineto":119,"block":"","tdef":"typedef","comments":"The diff list object that contains all individual file deltas.","used":{"returns":[],"needs":["git_diff_foreach","git_diff_get_patch","git_diff_index_to_tree","git_diff_list_free","git_diff_merge","git_diff_num_deltas","git_diff_num_deltas_of_type","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_options",{"type":"struct","value":"git_diff_options","file":"diff.h","line":106,"lineto":114,"block":"uint32_t flags\nuint16_t context_lines\nuint16_t interhunk_lines\nchar *old_prefix\nchar *new_prefix\ngit_strarray pathspec\ngit_off_t max_size","tdef":"typedef","comments":"Structure describing options about how the diff should be executed.\n\nSetting all values of the structure to zero will yield the default\nvalues. Similarly, passing NULL for the options structure will\ngive the defaults. The default values are marked below.\n\n- flags: a combination of the GIT_DIFF_... values above\n- context_lines: number of lines of context to show around diffs\n- interhunk_lines: min lines between diff hunks to merge them\n- old_prefix: \"directory\" to prefix to old file names (default \"a\")\n- new_prefix: \"directory\" to prefix to new file names (default \"b\")\n- pathspec: array of paths / patterns to constrain diff\n- max_size: maximum blob size to diff, above this treated as binary","used":{"returns":[],"needs":["git_diff_blobs","git_diff_index_to_tree","git_diff_tree_to_tree","git_diff_workdir_to_index","git_diff_workdir_to_tree"]}}],["git_diff_patch",{"type":"struct","value":"git_diff_patch","file":"diff.h","line":260,"lineto":260,"block":"","tdef":"typedef","comments":"The diff patch is used to store all the text diffs for a delta.\n\nYou can easily loop over the content of patches and get information about\nthem.","used":{"returns":[],"needs":["git_diff_get_patch","git_diff_patch_delta","git_diff_patch_free","git_diff_patch_get_hunk","git_diff_patch_get_line_in_hunk","git_diff_patch_num_hunks","git_diff_patch_num_lines_in_hunk","git_diff_patch_print","git_diff_patch_to_str"]}}],["git_diff_range",{"type":"struct","value":"git_diff_range","file":"diff.h","line":195,"lineto":200,"block":"int old_start\nint old_lines\nint new_start\nint new_lines","tdef":"typedef","comments":"Structure describing a hunk of a diff.","used":{"returns":[],"needs":["git_diff_patch_get_hunk"]}}],["git_error_t",{"type":"enum","file":"errors.h","line":43,"lineto":63,"block":"GITERR_NOMEMORY\nGITERR_OS\nGITERR_INVALID\nGITERR_REFERENCE\nGITERR_ZLIB\nGITERR_REPOSITORY\nGITERR_CONFIG\nGITERR_REGEX\nGITERR_ODB\nGITERR_INDEX\nGITERR_OBJECT\nGITERR_NET\nGITERR_TAG\nGITERR_TREE\nGITERR_INDEXER\nGITERR_SSL\nGITERR_SUBMODULE\nGITERR_THREAD\nGITERR_STASH","tdef":"typedef","comments":"Error classes","used":{"returns":[],"needs":[]}}],["git_filemode_t",{"type":"enum","file":"types.h","line":183,"lineto":196,"block":"GIT_FILEMODE_NEW\nGIT_FILEMODE_TREE\nGIT_FILEMODE_BLOB\nGIT_FILEMODE_BLOB_EXECUTABLE\nGIT_FILEMODE_LINK\nGIT_FILEMODE_COMMIT","tdef":"typedef","comments":"Valid modes for index and tree entries.","used":{"returns":[],"needs":["git_treebuilder_insert"]}}],["git_headlist_cb",{"type":"function pointer","value":"git_headlist_cb","file":"net.h","line":47,"lineto":47,"comments":"Callback for listing the remote heads","used":{"returns":[],"needs":["git_remote_ls"]}}],["git_index",{"type":"struct","value":"git_index","file":"types.h","line":123,"lineto":123,"block":"","tdef":"typedef","comments":"Memory representation of an index file.","used":{"returns":[],"needs":["git_index_add","git_index_add_from_workdir","git_index_caps","git_index_clear","git_index_conflict_add","git_index_conflict_cleanup","git_index_conflict_get","git_index_conflict_remove","git_index_entrycount","git_index_find","git_index_free","git_index_get_byindex","git_index_get_bypath","git_index_new","git_index_open","git_index_owner","git_index_read","git_index_read_tree","git_index_remove","git_index_reuc_add","git_index_reuc_entrycount","git_index_reuc_find","git_index_reuc_get_byindex","git_index_reuc_get_bypath","git_index_reuc_remove","git_index_set_caps","git_index_write","git_index_write_tree","git_index_write_tree_to","git_repository_index","git_repository_set_index"]}}],["git_index_entry",{"type":"struct","value":"git_index_entry","file":"index.h","line":68,"lineto":85,"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","comments":"Memory representation of a file entry in the index.","used":{"returns":["git_index_get_byindex","git_index_get_bypath"],"needs":["git_index_add","git_index_conflict_add","git_index_conflict_get","git_index_entry_stage"]}}],["git_index_reuc_entry",{"type":"struct","value":"git_index_reuc_entry","file":"index.h","line":88,"lineto":92,"block":"unsigned int mode[3]\ngit_oid oid[3]\nchar *path","tdef":"typedef","comments":"Representation of a resolve undo entry in the index.","used":{"returns":["git_index_reuc_get_byindex","git_index_reuc_get_bypath"],"needs":[]}}],["git_index_time",{"type":"struct","value":"git_index_time","file":"index.h","line":61,"lineto":65,"block":"git_time_t seconds\nunsigned int nanoseconds","tdef":"typedef","comments":"Time used in a git index entry","used":{"returns":[],"needs":[]}}],["git_note",{"type":"struct","value":"git_note","file":"types.h","line":138,"lineto":138,"block":"","tdef":"typedef","comments":"Representation of a git note","used":{"returns":[],"needs":["git_note_free","git_note_message","git_note_oid","git_note_read"]}}],["git_note_data",{"type":"struct","value":"git_note_data","file":"notes.h","line":113,"lineto":116,"block":"git_oid blob_oid\ngit_oid annotated_object_oid","tdef":"typedef","comments":"Basic components of a note\n\n - Oid of the blob containing the message\n - Oid of the git object being annotated","used":{"returns":[],"needs":["git_note_foreach"]}}],["git_object",{"type":"struct","value":"git_object","file":"types.h","line":99,"lineto":99,"block":"","tdef":"typedef","comments":"Representation of a generic object in a repository","used":{"returns":[],"needs":["git_branch_create","git_checkout_tree","git_object_free","git_object_id","git_object_lookup","git_object_lookup_prefix","git_object_owner","git_object_peel","git_object_type","git_reference_peel","git_reset","git_revparse_single","git_tag_create","git_tag_create_lightweight","git_tag_peel","git_tag_target","git_tree_entry_to_object"]}}],["git_odb",{"type":"struct","value":"git_odb","file":"types.h","line":81,"lineto":81,"block":"","tdef":"typedef","comments":"An open object database handle.","used":{"returns":[],"needs":["git_odb_add_alternate","git_odb_add_backend","git_odb_exists","git_odb_foreach","git_odb_free","git_odb_new","git_odb_open","git_odb_open_rstream","git_odb_open_wstream","git_odb_read","git_odb_read_header","git_odb_read_prefix","git_odb_write","git_repository_odb","git_repository_set_odb","git_repository_wrap_odb"]}}],["git_odb_backend",{"type":"struct","value":"git_odb_backend","file":"odb_backend.h","line":26,"lineto":85,"block":"git_odb *odb\nint (* read)(void **, size_t *, git_otype *, struct git_odb_backend *, const git_oid *)\nint (* read_prefix)(git_oid *, void **, size_t *, git_otype *, struct git_odb_backend *, const git_oid *, size_t)\nint (* read_header)(size_t *, git_otype *, struct git_odb_backend *, const git_oid *)\nint (* write)(git_oid *, struct git_odb_backend *, const void *, size_t, git_otype)\nint (* writestream)(struct git_odb_stream **, struct git_odb_backend *, size_t, git_otype)\nint (* readstream)(struct git_odb_stream **, struct git_odb_backend *, const git_oid *)\nint (* exists)(struct git_odb_backend *, const git_oid *)\nint (*foreach)(struct git_odb_backend *, int (*cb)(git_oid *oid, void *data), void *data )\nvoid (* free)(struct git_odb_backend *)","tdef":null,"comments":"An instance for a custom backend","used":{"returns":[],"needs":["git_odb_add_alternate","git_odb_add_backend"]}}],["git_odb_object",{"type":"struct","value":"git_odb_object","file":"types.h","line":87,"lineto":87,"block":"","tdef":"typedef","comments":"An object read from the ODB","used":{"returns":[],"needs":["git_odb_object_data","git_odb_object_free","git_odb_object_id","git_odb_object_size","git_odb_object_type","git_odb_read","git_odb_read_prefix"]}}],["git_odb_stream",{"type":"struct","value":"git_odb_stream","file":"odb_backend.h","line":95,"lineto":113,"block":"struct git_odb_backend *backend\nint mode\nint (*read)(struct git_odb_stream *stream, char *buffer, size_t len)\nint (*write)(struct git_odb_stream *stream, const char *buffer, size_t len)\nint (*finalize_write)(git_oid *oid_p, struct git_odb_stream *stream)\nvoid (*free)(struct git_odb_stream *stream)","tdef":null,"comments":"A stream to read/write from a backend","used":{"returns":[],"needs":["git_odb_open_rstream","git_odb_open_wstream"]}}],["git_oid",{"type":"struct","value":"git_oid","file":"oid.h","line":33,"lineto":37,"block":"","tdef":"typedef","comments":"Unique identity of any object (commit, tree, blob, tag).","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_submodule_head_oid","git_submodule_index_oid","git_submodule_wd_oid","git_tag_id","git_tag_target_oid","git_tree_entry_id","git_tree_id"],"needs":["git_blob_create_frombuffer","git_blob_create_fromchunks","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_index_reuc_add","git_index_write_tree","git_index_write_tree_to","git_merge_base","git_merge_base_many","git_note_create","git_note_read","git_note_remove","git_object_lookup","git_object_lookup_prefix","git_odb_exists","git_odb_foreach","git_odb_hash","git_odb_hashfile","git_odb_open_rstream","git_odb_read","git_odb_read_header","git_odb_read_prefix","git_odb_write","git_oid_allocfmt","git_oid_cmp","git_oid_cpy","git_oid_equal","git_oid_fmt","git_oid_fromraw","git_oid_fromstr","git_oid_fromstrn","git_oid_iszero","git_oid_ncmp","git_oid_pathfmt","git_oid_streq","git_oid_tostr","git_packbuilder_insert","git_packbuilder_insert_tree","git_reference_create_oid","git_reference_name_to_oid","git_reference_set_oid","git_reflog_append","git_repository_hashfile","git_repository_set_head_detached","git_revwalk_hide","git_revwalk_next","git_revwalk_push","git_stash_save","git_tag_create","git_tag_create_frombuffer","git_tag_create_lightweight","git_tag_lookup","git_tag_lookup_prefix","git_tree_entry_byoid","git_tree_lookup","git_tree_lookup_prefix","git_treebuilder_insert","git_treebuilder_write"]}}],["git_oid_shorten",{"type":"struct","value":"git_oid_shorten","file":"oid.h","line":196,"lineto":196,"block":"","tdef":"typedef","comments":"OID Shortener object","used":{"returns":["git_oid_shorten_new"],"needs":["git_oid_shorten_add","git_oid_shorten_free"]}}],["git_otype",{"type":"enum","file":"types.h","line":67,"lineto":78,"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","comments":"Basic type (loose or packed) of any Git object.","used":{"returns":[],"needs":["git_object__size","git_object_lookup","git_object_lookup_prefix","git_object_peel","git_object_type2string","git_object_typeisloose","git_odb_hash","git_odb_hashfile","git_odb_open_wstream","git_odb_read_header","git_odb_write","git_reference_peel","git_repository_hashfile"]}}],["git_packbuilder",{"type":"struct","value":"git_packbuilder","file":"types.h","line":141,"lineto":141,"block":"","tdef":"typedef","comments":"Representation of a git packbuilder","used":{"returns":[],"needs":["git_packbuilder_free","git_packbuilder_insert","git_packbuilder_insert_tree","git_packbuilder_new","git_packbuilder_set_threads","git_packbuilder_write"]}}],["git_ref_t",{"type":"enum","file":"types.h","line":160,"lineto":167,"block":"GIT_REF_INVALID\nGIT_REF_OID\nGIT_REF_SYMBOLIC\nGIT_REF_PACKED\nGIT_REF_HAS_PEEL\nGIT_REF_LISTALL","tdef":"typedef","comments":"Basic type of any Git reference.","used":{"returns":[],"needs":[]}}],["git_reference",{"type":"struct","value":"git_reference","file":"types.h","line":157,"lineto":157,"block":"","tdef":"typedef","comments":"In-memory representation of a reference.","used":{"returns":[],"needs":["git_branch_create","git_branch_delete","git_branch_is_head","git_branch_lookup","git_branch_move","git_branch_tracking","git_reference_cmp","git_reference_create_oid","git_reference_create_symbolic","git_reference_delete","git_reference_free","git_reference_has_log","git_reference_is_branch","git_reference_is_packed","git_reference_is_remote","git_reference_lookup","git_reference_name","git_reference_oid","git_reference_owner","git_reference_peel","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_repository_head"]}}],["git_reflog",{"type":"struct","value":"git_reflog","file":"types.h","line":135,"lineto":135,"block":"","tdef":"typedef","comments":"Representation of a reference log","used":{"returns":[],"needs":["git_reflog_append","git_reflog_drop","git_reflog_entry_byindex","git_reflog_entrycount","git_reflog_free","git_reflog_read","git_reflog_write"]}}],["git_reflog_entry",{"type":"struct","value":"git_reflog_entry","file":"types.h","line":132,"lineto":132,"block":"","tdef":"typedef","comments":"Representation of a reference log entry","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_callbacks",{"type":"struct","value":"git_remote_callbacks","file":"remote.h","line":317,"lineto":322,"block":"void (*progress)(const char *str, int len, void *data)\nint (*completion)(git_remote_completion_type type, void *data)\nint (*update_tips)(const char *refname, const git_oid *a, const git_oid *b, void *data)\nvoid *data","tdef":null,"comments":"The callback settings structure\n\nSet the calbacks to be called by the remote.","used":{"returns":[],"needs":["git_remote_set_callbacks"]}}],["git_remote_head",{"type":"struct","value":"git_remote_head","file":"net.h","line":37,"lineto":42,"block":"int local:1\ngit_oid oid\ngit_oid loid\nchar *name","tdef":null,"comments":"Remote head description, given out on `ls` calls.","used":{"returns":[],"needs":[]}}],["git_repository",{"type":"struct","value":"git_repository","file":"types.h","line":96,"lineto":96,"block":"","tdef":"typedef","comments":"Representation of an existing git repository,\nincluding all its object contents","used":{"returns":["git_index_owner","git_object_owner","git_reference_owner","git_revwalk_repository","git_submodule_owner"],"needs":["git_attr_add_macro","git_attr_cache_flush","git_attr_foreach","git_attr_get","git_attr_get_many","git_blob_create_frombuffer","git_blob_create_fromchunks","git_blob_create_fromdisk","git_blob_create_fromfile","git_blob_lookup","git_blob_lookup_prefix","git_branch_create","git_branch_foreach","git_branch_lookup","git_checkout_head","git_checkout_index","git_checkout_tree","git_clone","git_clone_bare","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_ignore_add_rule","git_ignore_clear_internal_rules","git_ignore_path_is_ignored","git_index_write_tree_to","git_merge_base","git_merge_base_many","git_note_create","git_note_default_ref","git_note_foreach","git_note_read","git_note_remove","git_object_lookup","git_object_lookup_prefix","git_packbuilder_new","git_reference_create_oid","git_reference_create_symbolic","git_reference_foreach","git_reference_foreach_glob","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_detach_head","git_repository_free","git_repository_hashfile","git_repository_head","git_repository_head_detached","git_repository_head_orphan","git_repository_index","git_repository_init","git_repository_init_ext","git_repository_is_bare","git_repository_is_empty","git_repository_message","git_repository_message_remove","git_repository_odb","git_repository_open","git_repository_open_ext","git_repository_path","git_repository_set_config","git_repository_set_head","git_repository_set_head_detached","git_repository_set_index","git_repository_set_odb","git_repository_set_workdir","git_repository_state","git_repository_workdir","git_repository_wrap_odb","git_reset","git_revparse_single","git_revwalk_new","git_stash_drop","git_stash_foreach","git_stash_save","git_status_file","git_status_foreach","git_status_foreach_ext","git_status_should_ignore","git_submodule_add_setup","git_submodule_foreach","git_submodule_lookup","git_submodule_open","git_submodule_reload_all","git_tag_create","git_tag_create_frombuffer","git_tag_create_lightweight","git_tag_delete","git_tag_foreach","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_repository_init_options",{"type":"struct","value":"git_repository_init_options","file":"repository.h","line":241,"lineto":249,"block":"uint32_t flags\nuint32_t mode\nconst char *workdir_path\nconst char *description\nconst char *template_path\nconst char *initial_head\nconst char *origin_url","tdef":"typedef","comments":"Extended options structure for `git_repository_init_ext`.\n\nThis contains extra options for `git_repository_init_ext` that enable\nadditional initialization features. The fields are:\n\n* flags - Combination of GIT_REPOSITORY_INIT flags above.\n* mode - Set to one of the standard GIT_REPOSITORY_INIT_SHARED_...\n constants above, or to a custom value that you would like.\n* workdir_path - The path to the working dir or NULL for default (i.e.\n repo_path parent on non-bare repos). IF THIS IS RELATIVE PATH,\n IT WILL BE EVALUATED RELATIVE TO THE REPO_PATH. If this is not\n the \"natural\" working directory, a .git gitlink file will be\n created here linking to the repo_path.\n* description - If set, this will be used to initialize the \"description\"\n file in the repository, instead of using the template content.\n* template_path - When GIT_REPOSITORY_INIT_EXTERNAL_TEMPLATE is set,\n this contains the path to use for the template directory. If\n this is NULL, the config or default directory options will be\n used instead.\n* initial_head - The name of the head to point HEAD at. If NULL, then\n this will be treated as \"master\" and the HEAD ref will be set\n to \"refs/heads/master\". If this begins with \"refs/\" it will be\n used verbatim; otherwise \"refs/heads/\" will be prefixed.\n* origin_url - If this is non-NULL, then after the rest of the\n repository initialization is completed, an \"origin\" remote\n will be added pointing to this URL.","used":{"returns":[],"needs":["git_repository_init_ext"]}}],["git_reset_type",{"type":"enum","file":"types.h","line":176,"lineto":180,"block":"GIT_RESET_SOFT\nGIT_RESET_MIXED\nGIT_RESET_HARD","tdef":"typedef","comments":"Kinds of reset operation.","used":{"returns":[],"needs":["git_reset"]}}],["git_revwalk",{"type":"struct","value":"git_revwalk","file":"types.h","line":102,"lineto":102,"block":"","tdef":"typedef","comments":"Representation of an in-progress walk through the commits in a repo","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",{"type":"struct","value":"git_signature","file":"types.h","line":150,"lineto":154,"block":"char *name\nchar *email\ngit_time when","tdef":"typedef","comments":"An action signature (e.g. for committers, taggers, etc)","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_append","git_signature_dup","git_signature_free","git_signature_new","git_signature_now","git_stash_save","git_tag_create"]}}],["git_status_opt_t",{"type":"enum","file":"status.h","line":123,"lineto":130,"block":"GIT_STATUS_OPT_INCLUDE_UNTRACKED\nGIT_STATUS_OPT_INCLUDE_IGNORED\nGIT_STATUS_OPT_INCLUDE_UNMODIFIED\nGIT_STATUS_OPT_EXCLUDE_SUBMODULES\nGIT_STATUS_OPT_RECURSE_UNTRACKED_DIRS\nGIT_STATUS_OPT_DISABLE_PATHSPEC_MATCH","tdef":"typedef","comments":"Flags to control status callbacks\n\n- GIT_STATUS_OPT_INCLUDE_UNTRACKED says that callbacks should be made\n on untracked files. These will only be made if the workdir files are\n included in the status \"show\" option.\n- GIT_STATUS_OPT_INCLUDE_IGNORED says that ignored files should get\n callbacks. Again, these callbacks will only be made if the workdir\n files are included in the status \"show\" option. Right now, there is\n no option to include all files in directories that are ignored\n completely.\n- GIT_STATUS_OPT_INCLUDE_UNMODIFIED indicates that callback should be\n made even on unmodified files.\n- GIT_STATUS_OPT_EXCLUDE_SUBMODULES indicates that directories which\n appear to be submodules should just be skipped over.\n- GIT_STATUS_OPT_RECURSE_UNTRACKED_DIRS indicates that the contents of\n untracked directories should be included in the status. Normally if\n an entire directory is new, then just the top-level directory will be\n included (with a trailing slash on the entry name). Given this flag,\n the directory itself will not be included, but all the files in it\n will.\n- GIT_STATUS_OPT_DISABLE_PATHSPEC_MATCH indicates that the given path\n will be treated as a literal path, and not as a pathspec.\n\nCalling `git_status_foreach()` is like calling the extended version\nwith: GIT_STATUS_OPT_INCLUDE_IGNORED, GIT_STATUS_OPT_INCLUDE_UNTRACKED,\nand GIT_STATUS_OPT_RECURSE_UNTRACKED_DIRS.","used":{"returns":[],"needs":[]}}],["git_status_options",{"type":"struct","value":"git_status_options","file":"status.h","line":148,"lineto":152,"block":"git_status_show_t show\nunsigned int flags\ngit_strarray pathspec","tdef":"typedef","comments":"Options to control how `git_status_foreach_ext()` will issue callbacks.\n\nThis structure is set so that zeroing it out will give you relatively\nsane defaults.\n\nThe `show` value is one of the `git_status_show_t` constants that\ncontrol which files to scan and in what order.\n\nThe `flags` value is an OR'ed combination of the `git_status_opt_t`\nvalues above.\n\nThe `pathspec` is an array of path patterns to match (using\nfnmatch-style matching), or just an array of paths to match exactly if\n`GIT_STATUS_OPT_DISABLE_PATHSPEC_MATCH` is specified in the flags.","used":{"returns":[],"needs":["git_status_foreach_ext"]}}],["git_status_show_t",{"type":"enum","file":"status.h","line":88,"lineto":93,"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","comments":"For extended status, select the files on which to report status.\n\n- GIT_STATUS_SHOW_INDEX_AND_WORKDIR is the default. This is the\n rough equivalent of `git status --porcelain` where each file\n will receive a callback indicating its status in the index and\n in the workdir.\n- GIT_STATUS_SHOW_INDEX_ONLY will only make callbacks for index\n side of status. The status of the index contents relative to\n the HEAD will be given.\n- GIT_STATUS_SHOW_WORKDIR_ONLY will only make callbacks for the\n workdir side of status, reporting the status of workdir content\n relative to the index.\n- GIT_STATUS_SHOW_INDEX_THEN_WORKDIR behaves like index-only\n followed by workdir-only, causing two callbacks to be issued\n per file (first index then workdir). This is slightly more\n efficient than making separate calls. This makes it easier to\n emulate the output of a plain `git status`.","used":{"returns":[],"needs":[]}}],["git_status_t",{"type":"enum","file":"status.h","line":32,"lineto":47,"block":"GIT_STATUS_CURRENT\nGIT_STATUS_INDEX_NEW\nGIT_STATUS_INDEX_MODIFIED\nGIT_STATUS_INDEX_DELETED\nGIT_STATUS_INDEX_RENAMED\nGIT_STATUS_INDEX_TYPECHANGE\nGIT_STATUS_WT_NEW\nGIT_STATUS_WT_MODIFIED\nGIT_STATUS_WT_DELETED\nGIT_STATUS_WT_TYPECHANGE\nGIT_STATUS_IGNORED","tdef":"typedef","comments":"Status flags for a single file.\n\nA combination of these values will be returned to indicate the status of\na file. Status compares the working directory, the index, and the\ncurrent HEAD of the repository. The `GIT_STATUS_INDEX` set of flags\nrepresents the status of file in the index relative to the HEAD, and the\n`GIT_STATUS_WT` set of flags represent the status of the file in the\nworking directory relative to the index.","used":{"returns":[],"needs":[]}}],["git_strarray",{"type":"struct","value":"git_strarray","file":"strarray.h","line":22,"lineto":26,"block":"","tdef":"typedef","comments":"Array of strings","used":{"returns":[],"needs":["git_reference_list","git_remote_list","git_strarray_copy","git_strarray_free","git_tag_list","git_tag_list_match"]}}],["git_submodule",{"type":"struct","value":"git_submodule","file":"submodule.h","line":32,"lineto":32,"block":"","tdef":"typedef","comments":"Opaque structure representing a submodule.\n\nSubmodule support in libgit2 builds a list of known submodules and keeps\nit in the repository. The list is built from the .gitmodules file, the\n.git/config file, the index, and the HEAD tree. Items in the working\ndirectory that look like submodules (i.e. a git repo) but are not\nmentioned in those places won't be tracked.","used":{"returns":[],"needs":["git_submodule_add_finalize","git_submodule_add_setup","git_submodule_add_to_index","git_submodule_fetch_recurse_submodules","git_submodule_foreach","git_submodule_head_oid","git_submodule_ignore","git_submodule_index_oid","git_submodule_init","git_submodule_lookup","git_submodule_name","git_submodule_open","git_submodule_owner","git_submodule_path","git_submodule_reload","git_submodule_save","git_submodule_set_fetch_recurse_submodules","git_submodule_set_ignore","git_submodule_set_update","git_submodule_set_url","git_submodule_status","git_submodule_sync","git_submodule_update","git_submodule_url","git_submodule_wd_oid"]}}],["git_submodule_ignore_t",{"type":"enum","file":"submodule.h","line":55,"lineto":61,"block":"GIT_SUBMODULE_IGNORE_DEFAULT\nGIT_SUBMODULE_IGNORE_NONE\nGIT_SUBMODULE_IGNORE_UNTRACKED\nGIT_SUBMODULE_IGNORE_DIRTY\nGIT_SUBMODULE_IGNORE_ALL","tdef":"typedef","comments":"Values that could be specified for how closely to examine the\nworking directory when getting submodule status.\n\nUse the DEFUALT value if you have altered the ignore value via\n`git_submodule_set_ignore()` and wish to reset to the original value.","used":{"returns":[],"needs":["git_submodule_set_ignore"]}}],["git_submodule_status_t",{"type":"enum","file":"submodule.h","line":105,"lineto":131,"block":"GIT_SUBMODULE_STATUS_IN_HEAD\nGIT_SUBMODULE_STATUS_IN_INDEX\nGIT_SUBMODULE_STATUS_IN_CONFIG\nGIT_SUBMODULE_STATUS_IN_WD\nGIT_SUBMODULE_STATUS_INDEX_ADDED\nGIT_SUBMODULE_STATUS_INDEX_DELETED\nGIT_SUBMODULE_STATUS_INDEX_MODIFIED\nGIT_SUBMODULE_STATUS_WD_UNINITIALIZED\nGIT_SUBMODULE_STATUS_WD_ADDED\nGIT_SUBMODULE_STATUS_WD_DELETED\nGIT_SUBMODULE_STATUS_WD_MODIFIED\nGIT_SUBMODULE_STATUS_WD_INDEX_MODIFIED\nGIT_SUBMODULE_STATUS_WD_WD_MODIFIED\nGIT_SUBMODULE_STATUS_WD_UNTRACKED","tdef":"typedef","comments":"Return codes for submodule status.\n\nA combination of these flags will be returned to describe the status of a\nsubmodule. Depending on the \"ignore\" property of the submodule, some of\nthe flags may never be returned because they indicate changes that are\nsupposed to be ignored.\n\nSubmodule info is contained in 4 places: the HEAD tree, the index, config\nfiles (both .git/config and .gitmodules), and the working directory. Any\nor all of those places might be missing information about the submodule\ndepending on what state the repo is in. We consider all four places to\nbuild the combination of status flags.\n\nThere are four values that are not really status, but give basic info\nabout what sources of submodule data are available. These will be\nreturned even if ignore is set to \"ALL\".\n\n* IN_HEAD - superproject head contains submodule\n* IN_INDEX - superproject index contains submodule\n* IN_CONFIG - superproject gitmodules has submodule\n* IN_WD - superproject workdir has submodule\n\nThe following values will be returned so long as ignore is not \"ALL\".\n\n* INDEX_ADDED - in index, not in head\n* INDEX_DELETED - in head, not in index\n* INDEX_MODIFIED - index and head don't match\n* WD_UNINITIALIZED - workdir contains empty directory\n* WD_ADDED - in workdir, not index\n* WD_DELETED - in index, not workdir\n* WD_MODIFIED - index and workdir head don't match\n\nThe following can only be returned if ignore is \"NONE\" or \"UNTRACKED\".\n\n* WD_INDEX_MODIFIED - submodule workdir index is dirty\n* WD_WD_MODIFIED - submodule workdir has modified files\n\nLastly, the following will only be returned for ignore \"NONE\".\n\n* WD_UNTRACKED - wd contains untracked files","used":{"returns":[],"needs":[]}}],["git_submodule_update_t",{"type":"enum","file":"submodule.h","line":40,"lineto":46,"block":"GIT_SUBMODULE_UPDATE_DEFAULT\nGIT_SUBMODULE_UPDATE_CHECKOUT\nGIT_SUBMODULE_UPDATE_REBASE\nGIT_SUBMODULE_UPDATE_MERGE\nGIT_SUBMODULE_UPDATE_NONE","tdef":"typedef","comments":"Values that could be specified for the update rule of a submodule.\n\nUse the DEFAULT value if you have altered the update value via\n`git_submodule_set_update()` and wish to reset to the original default.","used":{"returns":[],"needs":["git_submodule_set_update"]}}],["git_tag",{"type":"struct","value":"git_tag","file":"types.h","line":105,"lineto":105,"block":"","tdef":"typedef","comments":"Parsed representation of a tag object.","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",{"type":"struct","value":"git_time","file":"types.h","line":144,"lineto":147,"block":"git_time_t time\nint offset","tdef":"typedef","comments":"Time in a signature","used":{"returns":[],"needs":[]}}],["git_transfer_progress",{"type":"struct","value":"git_transfer_progress","file":"indexer.h","line":19,"lineto":24,"block":"unsigned int total_objects\nunsigned int indexed_objects\nunsigned int received_objects\nsize_t received_bytes","tdef":"typedef","comments":"This is passed as the first argument to the callback to allow the\nuser to see the progress.","used":{"returns":["git_remote_stats"],"needs":["git_indexer_run","git_indexer_stream_add","git_indexer_stream_finalize"]}}],["git_transfer_progress_callback",{"type":"function pointer","value":"git_transfer_progress_callback","file":"indexer.h","line":30,"lineto":33,"comments":"Type for progress callbacks during indexing","used":{"returns":[],"needs":["git_clone","git_clone_bare","git_indexer_stream_new","git_remote_download"]}}],["git_tree",{"type":"struct","value":"git_tree","file":"types.h","line":117,"lineto":117,"block":"","tdef":"typedef","comments":"Representation of a tree object.","used":{"returns":[],"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_byindex","git_tree_entry_byname","git_tree_entry_byoid","git_tree_entry_bypath","git_tree_entrycount","git_tree_free","git_tree_id","git_tree_lookup","git_tree_lookup_prefix","git_tree_walk","git_treebuilder_create"]}}],["git_tree_entry",{"type":"struct","value":"git_tree_entry","file":"types.h","line":114,"lineto":114,"block":"","tdef":"typedef","comments":"Representation of each one of the entries in a tree object.","used":{"returns":["git_tree_entry_byindex","git_tree_entry_byname","git_tree_entry_byoid","git_tree_entry_dup","git_treebuilder_get"],"needs":["git_tree_entry_bypath","git_tree_entry_dup","git_tree_entry_filemode","git_tree_entry_free","git_tree_entry_id","git_tree_entry_name","git_tree_entry_to_object","git_tree_entry_type","git_treebuilder_filter","git_treebuilder_insert"]}}],["git_treebuilder",{"type":"struct","value":"git_treebuilder","file":"types.h","line":120,"lineto":120,"block":"","tdef":"typedef","comments":"Constructor for in-memory trees","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_cb",{"type":"function pointer","value":"git_treewalk_cb","file":"tree.h","line":324,"lineto":324,"comments":"Callback for the tree traversal method","used":{"returns":[],"needs":["git_tree_walk"]}}],["stash_cb",{"type":"function pointer","value":"stash_cb","file":"stash.h","line":80,"lineto":84,"comments":"When iterating over all the stashed states, callback that will be\nissued per entry.\n\n@param index The position within the stash list. 0 points to the\nmost recent stashed state.\n\n@param message The stash message.\n\n@param stash_oid The commit oid of the stashed state.\n\n@param payload Extra parameter to callback function.\n\n@return 0 on success, GIT_EUSER on non-zero callback, or error code","used":{"returns":[],"needs":["git_stash_foreach"]}}]],"prefix":"include/git2","groups":[["attr",["git_attr_add_macro","git_attr_cache_flush","git_attr_foreach","git_attr_get","git_attr_get_many"]],["blob",["git_blob_create_frombuffer","git_blob_create_fromchunks","git_blob_create_fromdisk","git_blob_create_fromfile","git_blob_free","git_blob_lookup","git_blob_lookup_prefix","git_blob_rawcontent","git_blob_rawsize"]],["branch",["git_branch_create","git_branch_delete","git_branch_foreach","git_branch_is_head","git_branch_lookup","git_branch_move","git_branch_tracking"]],["checkout",["git_checkout_head","git_checkout_index","git_checkout_tree"]],["clone",["git_clone","git_clone_bare"]],["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_nth_gen_ancestor","git_commit_parent","git_commit_parent_oid","git_commit_parentcount","git_commit_time","git_commit_time_offset","git_commit_tree","git_commit_tree_oid"]],["config",["git_config_add_file","git_config_add_file_ondisk","git_config_delete","git_config_file__ondisk","git_config_find_global","git_config_find_system","git_config_find_xdg","git_config_foreach","git_config_foreach_match","git_config_free","git_config_get_bool","git_config_get_config_entry","git_config_get_int32","git_config_get_int64","git_config_get_mapped","git_config_get_multivar","git_config_get_string","git_config_lookup_map_value","git_config_new","git_config_open_default","git_config_open_level","git_config_open_ondisk","git_config_parse_bool","git_config_parse_int32","git_config_parse_int64","git_config_refresh","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_get_patch","git_diff_index_to_tree","git_diff_list_free","git_diff_merge","git_diff_num_deltas","git_diff_num_deltas_of_type","git_diff_patch_delta","git_diff_patch_free","git_diff_patch_get_hunk","git_diff_patch_get_line_in_hunk","git_diff_patch_num_hunks","git_diff_patch_num_lines_in_hunk","git_diff_patch_print","git_diff_patch_to_str","git_diff_print_compact","git_diff_print_patch","git_diff_status_char","git_diff_tree_to_tree","git_diff_workdir_to_index","git_diff_workdir_to_tree"]],["giterr",["giterr_clear","giterr_last","giterr_set_oom","giterr_set_str"]],["ignore",["git_ignore_add_rule","git_ignore_clear_internal_rules","git_ignore_path_is_ignored"]],["index",["git_index_add","git_index_add_from_workdir","git_index_caps","git_index_clear","git_index_conflict_add","git_index_conflict_cleanup","git_index_conflict_get","git_index_conflict_remove","git_index_entry_stage","git_index_entrycount","git_index_find","git_index_free","git_index_get_byindex","git_index_get_bypath","git_index_new","git_index_open","git_index_owner","git_index_read","git_index_read_tree","git_index_remove","git_index_reuc_add","git_index_reuc_entrycount","git_index_reuc_find","git_index_reuc_get_byindex","git_index_reuc_get_bypath","git_index_reuc_remove","git_index_set_caps","git_index_write","git_index_write_tree","git_index_write_tree_to"]],["indexer",["git_indexer_free","git_indexer_hash","git_indexer_new","git_indexer_run","git_indexer_stream_add","git_indexer_stream_finalize","git_indexer_stream_free","git_indexer_stream_hash","git_indexer_stream_new","git_indexer_write"]],["libgit2",["git_libgit2_capabilities","git_libgit2_version"]],["merge",["git_merge_base","git_merge_base_many"]],["message",["git_message_prettify"]],["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__size","git_object_free","git_object_id","git_object_lookup","git_object_lookup_prefix","git_object_owner","git_object_peel","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_foreach","git_odb_free","git_odb_hash","git_odb_hashfile","git_odb_new","git_odb_object_data","git_odb_object_free","git_odb_object_id","git_odb_object_size","git_odb_object_type","git_odb_open","git_odb_open_rstream","git_odb_open_wstream","git_odb_read","git_odb_read_header","git_odb_read_prefix","git_odb_write"]],["oid",["git_oid_allocfmt","git_oid_cmp","git_oid_cpy","git_oid_equal","git_oid_fmt","git_oid_fromraw","git_oid_fromstr","git_oid_fromstrn","git_oid_iszero","git_oid_ncmp","git_oid_pathfmt","git_oid_shorten_add","git_oid_shorten_free","git_oid_shorten_new","git_oid_streq","git_oid_tostr"]],["packbuilder",["git_packbuilder_free","git_packbuilder_insert","git_packbuilder_insert_tree","git_packbuilder_new","git_packbuilder_set_threads","git_packbuilder_write"]],["reference",["git_reference_cmp","git_reference_create_oid","git_reference_create_symbolic","git_reference_delete","git_reference_foreach","git_reference_foreach_glob","git_reference_free","git_reference_has_log","git_reference_is_branch","git_reference_is_packed","git_reference_is_remote","git_reference_is_valid_name","git_reference_list","git_reference_lookup","git_reference_name","git_reference_name_to_oid","git_reference_normalize_name","git_reference_oid","git_reference_owner","git_reference_packall","git_reference_peel","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_append","git_reflog_delete","git_reflog_drop","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_force","git_refspec_src","git_refspec_src_matches","git_refspec_transform"]],["remote",["git_remote_add","git_remote_autotag","git_remote_check_cert","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_pushurl","git_remote_rename","git_remote_save","git_remote_set_autotag","git_remote_set_callbacks","git_remote_set_fetchspec","git_remote_set_pushspec","git_remote_set_pushurl","git_remote_set_transport","git_remote_set_url","git_remote_stats","git_remote_stop","git_remote_supported_url","git_remote_update_tips","git_remote_url","git_remote_valid_url"]],["repository",["git_repository_config","git_repository_detach_head","git_repository_discover","git_repository_free","git_repository_hashfile","git_repository_head","git_repository_head_detached","git_repository_head_orphan","git_repository_index","git_repository_init","git_repository_init_ext","git_repository_is_bare","git_repository_is_empty","git_repository_message","git_repository_message_remove","git_repository_odb","git_repository_open","git_repository_open_ext","git_repository_path","git_repository_set_config","git_repository_set_head","git_repository_set_head_detached","git_repository_set_index","git_repository_set_odb","git_repository_set_workdir","git_repository_state","git_repository_workdir","git_repository_wrap_odb"]],["reset",["git_reset"]],["revparse",["git_revparse_single"]],["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"]],["smart",["git_smart_subtransport_git","git_smart_subtransport_http"]],["stash",["git_stash_drop","git_stash_foreach","git_stash_save"]],["status",["git_status_file","git_status_foreach","git_status_foreach_ext","git_status_should_ignore"]],["strarray",["git_strarray_copy","git_strarray_free"]],["submodule",["git_submodule_add_finalize","git_submodule_add_setup","git_submodule_add_to_index","git_submodule_fetch_recurse_submodules","git_submodule_foreach","git_submodule_head_oid","git_submodule_ignore","git_submodule_index_oid","git_submodule_init","git_submodule_lookup","git_submodule_name","git_submodule_open","git_submodule_owner","git_submodule_path","git_submodule_reload","git_submodule_reload_all","git_submodule_save","git_submodule_set_fetch_recurse_submodules","git_submodule_set_ignore","git_submodule_set_update","git_submodule_set_url","git_submodule_status","git_submodule_sync","git_submodule_update","git_submodule_url","git_submodule_wd_oid"]],["tag",["git_tag_create","git_tag_create_frombuffer","git_tag_create_lightweight","git_tag_delete","git_tag_foreach","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"]],["transport",["git_transport_dummy","git_transport_local","git_transport_new","git_transport_smart","git_transport_valid_url"]],["tree",["git_tree_entry_byindex","git_tree_entry_byname","git_tree_entry_byoid","git_tree_entry_bypath","git_tree_entry_dup","git_tree_entry_filemode","git_tree_entry_free","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_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":[["showindex.c","ex/HEAD/showindex.html"],["network/ls-remote.c","ex/HEAD/ls-remote.html"],["network/index-pack.c","ex/HEAD/index-pack.html"],["network/git2.c","ex/HEAD/git2.html"],["network/fetch.c","ex/HEAD/fetch.html"],["network/clone.c","ex/HEAD/clone.html"],["general.c","ex/HEAD/general.html"],["diff.c","ex/HEAD/diff.html"]]} \ No newline at end of file
diff --git a/ex/HEAD/clone.html b/ex/HEAD/clone.html
index 528c25057..be44c33de 100644
--- a/ex/HEAD/clone.html
+++ b/ex/HEAD/clone.html
@@ -53,104 +53,99 @@
<span class="cp">#include &lt;pthread.h&gt;</span>
<span class="cp">#include &lt;unistd.h&gt;</span>
-<span class="k">struct</span> <span class="n">dl_data</span> <span class="p">{</span>
- <span class="n">git_indexer_stats</span> <span class="n">fetch_stats</span><span class="p">;</span>
- <span class="n">git_indexer_stats</span> <span class="n">checkout_stats</span><span class="p">;</span>
- <span class="n">git_checkout_opts</span> <span class="n">opts</span><span class="p">;</span>
- <span class="kt">int</span> <span class="n">ret</span><span class="p">;</span>
- <span class="kt">int</span> <span class="n">finished</span><span class="p">;</span>
- <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">url</span><span class="p">;</span>
+<span class="k">typedef</span> <span class="k">struct</span> <span class="n">progress_data</span> <span class="p">{</span>
+ <span class="n">git_transfer_progress</span> <span class="n">fetch_progress</span><span class="p">;</span>
+ <span class="kt">size_t</span> <span class="n">completed_steps</span><span class="p">;</span>
+ <span class="kt">size_t</span> <span class="n">total_steps</span><span class="p">;</span>
<span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">;</span>
-<span class="p">};</span>
+<span class="p">}</span> <span class="n">progress_data</span><span class="p">;</span>
-<span class="k">static</span> <span class="kt">void</span> <span class="o">*</span><span class="nf">clone_thread</span><span class="p">(</span><span class="kt">void</span> <span class="o">*</span><span class="n">ptr</span><span class="p">)</span>
+<span class="k">static</span> <span class="kt">void</span> <span class="nf">print_progress</span><span class="p">(</span><span class="k">const</span> <span class="n">progress_data</span> <span class="o">*</span><span class="n">pd</span><span class="p">)</span>
<span class="p">{</span>
- <span class="k">struct</span> <span class="n">dl_data</span> <span class="o">*</span><span class="n">data</span> <span class="o">=</span> <span class="p">(</span><span class="k">struct</span> <span class="n">dl_data</span> <span class="o">*</span><span class="p">)</span><span class="n">ptr</span><span class="p">;</span>
- <span class="n">git_repository</span> <span class="o">*</span><span class="n">repo</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span></pre></div>
- </td>
- </tr>
- <tr id='section-2'>
- <td class=docs>
- <div class="pilwrap">
- <a class="pilcrow" href="#section-2">&#182;</a>
- </div>
- <p>Kick off the clone</p>
- </td>
- <td class=code>
- <div class='highlight'><pre> <span class="n">data</span><span class="o">-&gt;</span><span class="n">ret</span> <span class="o">=</span> <span class="n"><a name="git_clone-1" class="fnlink" href="../../#HEAD/group/clone/git_clone">git_clone</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">repo</span><span class="p">,</span> <span class="n">data</span><span class="o">-&gt;</span><span class="n">url</span><span class="p">,</span> <span class="n">data</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">,</span>
- <span class="o">&amp;</span><span class="n">data</span><span class="o">-&gt;</span><span class="n">fetch_stats</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">data</span><span class="o">-&gt;</span><span class="n">checkout_stats</span><span class="p">,</span>
- <span class="o">&amp;</span><span class="n">data</span><span class="o">-&gt;</span><span class="n">opts</span><span class="p">);</span>
- <span class="k">if</span> <span class="p">(</span><span class="n">repo</span><span class="p">)</span> <span class="n"><a name="git_repository_free-2" class="fnlink" href="../../#HEAD/group/repository/git_repository_free">git_repository_free</a></span><span class="p">(</span><span class="n">repo</span><span class="p">);</span>
- <span class="n">data</span><span class="o">-&gt;</span><span class="n">finished</span> <span class="o">=</span> <span class="mi">1</span><span class="p">;</span>
+ <span class="kt">int</span> <span class="n">network_percent</span> <span class="o">=</span> <span class="p">(</span><span class="mi">100</span><span class="o">*</span><span class="n">pd</span><span class="o">-&gt;</span><span class="n">fetch_progress</span><span class="p">.</span><span class="n">received_objects</span><span class="p">)</span> <span class="o">/</span> <span class="n">pd</span><span class="o">-&gt;</span><span class="n">fetch_progress</span><span class="p">.</span><span class="n">total_objects</span><span class="p">;</span>
+ <span class="kt">int</span> <span class="n">index_percent</span> <span class="o">=</span> <span class="p">(</span><span class="mi">100</span><span class="o">*</span><span class="n">pd</span><span class="o">-&gt;</span><span class="n">fetch_progress</span><span class="p">.</span><span class="n">indexed_objects</span><span class="p">)</span> <span class="o">/</span> <span class="n">pd</span><span class="o">-&gt;</span><span class="n">fetch_progress</span><span class="p">.</span><span class="n">total_objects</span><span class="p">;</span>
+ <span class="kt">int</span> <span class="n">checkout_percent</span> <span class="o">=</span> <span class="n">pd</span><span class="o">-&gt;</span><span class="n">total_steps</span> <span class="o">&gt;</span> <span class="mi">0</span>
+ <span class="o">?</span> <span class="p">(</span><span class="mi">100</span> <span class="o">*</span> <span class="n">pd</span><span class="o">-&gt;</span><span class="n">completed_steps</span><span class="p">)</span> <span class="o">/</span> <span class="n">pd</span><span class="o">-&gt;</span><span class="n">total_steps</span>
+ <span class="o">:</span> <span class="mf">0.f</span><span class="p">;</span>
+ <span class="kt">int</span> <span class="n">kbytes</span> <span class="o">=</span> <span class="n">pd</span><span class="o">-&gt;</span><span class="n">fetch_progress</span><span class="p">.</span><span class="n">received_bytes</span> <span class="o">/</span> <span class="mi">1024</span><span class="p">;</span>
+ <span class="n">printf</span><span class="p">(</span><span class="s">&quot;net %3d%% (%4d kb, %5d/%5d) / idx %3d%% (%5d/%5d) / chk %3d%% (%4lu/%4lu) %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span>
+ <span class="n">network_percent</span><span class="p">,</span> <span class="n">kbytes</span><span class="p">,</span>
+ <span class="n">pd</span><span class="o">-&gt;</span><span class="n">fetch_progress</span><span class="p">.</span><span class="n">received_objects</span><span class="p">,</span> <span class="n">pd</span><span class="o">-&gt;</span><span class="n">fetch_progress</span><span class="p">.</span><span class="n">total_objects</span><span class="p">,</span>
+ <span class="n">index_percent</span><span class="p">,</span> <span class="n">pd</span><span class="o">-&gt;</span><span class="n">fetch_progress</span><span class="p">.</span><span class="n">indexed_objects</span><span class="p">,</span> <span class="n">pd</span><span class="o">-&gt;</span><span class="n">fetch_progress</span><span class="p">.</span><span class="n">total_objects</span><span class="p">,</span>
+ <span class="n">checkout_percent</span><span class="p">,</span> <span class="n">pd</span><span class="o">-&gt;</span><span class="n">completed_steps</span><span class="p">,</span> <span class="n">pd</span><span class="o">-&gt;</span><span class="n">total_steps</span><span class="p">,</span>
+ <span class="n">pd</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">);</span>
+<span class="p">}</span>
- <span class="n">pthread_exit</span><span class="p">(</span><span class="o">&amp;</span><span class="n">data</span><span class="o">-&gt;</span><span class="n">ret</span><span class="p">);</span>
+<span class="k">static</span> <span class="kt">void</span> <span class="nf">fetch_progress</span><span class="p">(</span><span class="k">const</span> <span class="n">git_transfer_progress</span> <span class="o">*</span><span class="n">stats</span><span class="p">,</span> <span class="kt">void</span> <span class="o">*</span><span class="n">payload</span><span class="p">)</span>
+<span class="p">{</span>
+ <span class="n">progress_data</span> <span class="o">*</span><span class="n">pd</span> <span class="o">=</span> <span class="p">(</span><span class="n">progress_data</span><span class="o">*</span><span class="p">)</span><span class="n">payload</span><span class="p">;</span>
+ <span class="n">pd</span><span class="o">-&gt;</span><span class="n">fetch_progress</span> <span class="o">=</span> <span class="o">*</span><span class="n">stats</span><span class="p">;</span>
+ <span class="n">print_progress</span><span class="p">(</span><span class="n">pd</span><span class="p">);</span>
+<span class="p">}</span>
+<span class="k">static</span> <span class="kt">void</span> <span class="nf">checkout_progress</span><span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span><span class="p">,</span> <span class="kt">size_t</span> <span class="n">cur</span><span class="p">,</span> <span class="kt">size_t</span> <span class="n">tot</span><span class="p">,</span> <span class="kt">void</span> <span class="o">*</span><span class="n">payload</span><span class="p">)</span>
+<span class="p">{</span>
+ <span class="n">progress_data</span> <span class="o">*</span><span class="n">pd</span> <span class="o">=</span> <span class="p">(</span><span class="n">progress_data</span><span class="o">*</span><span class="p">)</span><span class="n">payload</span><span class="p">;</span>
+ <span class="n">pd</span><span class="o">-&gt;</span><span class="n">completed_steps</span> <span class="o">=</span> <span class="n">cur</span><span class="p">;</span>
+ <span class="n">pd</span><span class="o">-&gt;</span><span class="n">total_steps</span> <span class="o">=</span> <span class="n">tot</span><span class="p">;</span>
+ <span class="n">pd</span><span class="o">-&gt;</span><span class="n">path</span> <span class="o">=</span> <span class="n">path</span><span class="p">;</span>
+ <span class="n">print_progress</span><span class="p">(</span><span class="n">pd</span><span class="p">);</span>
<span class="p">}</span>
<span class="kt">int</span> <span class="nf">do_clone</span><span class="p">(</span><span class="n">git_repository</span> <span class="o">*</span><span class="n">repo</span><span class="p">,</span> <span class="kt">int</span> <span class="n">argc</span><span class="p">,</span> <span class="kt">char</span> <span class="o">**</span><span class="n">argv</span><span class="p">)</span>
<span class="p">{</span>
- <span class="k">struct</span> <span class="n">dl_data</span> <span class="n">data</span> <span class="o">=</span> <span class="p">{</span><span class="mi">0</span><span class="p">};</span>
- <span class="n">pthread_t</span> <span class="n">worker</span><span class="p">;</span></pre></div>
+ <span class="n">progress_data</span> <span class="n">pd</span> <span class="o">=</span> <span class="p">{</span><span class="mi">0</span><span class="p">};</span>
+ <span class="n">git_repository</span> <span class="o">*</span><span class="n">cloned_repo</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+ <span class="n">git_checkout_opts</span> <span class="n">checkout_opts</span> <span class="o">=</span> <span class="p">{</span><span class="mi">0</span><span class="p">};</span>
+ <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">url</span> <span class="o">=</span> <span class="n">argv</span><span class="p">[</span><span class="mi">1</span><span class="p">];</span>
+ <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">path</span> <span class="o">=</span> <span class="n">argv</span><span class="p">[</span><span class="mi">2</span><span class="p">];</span>
+ <span class="kt">int</span> <span class="n">error</span><span class="p">;</span></pre></div>
</td>
</tr>
- <tr id='section-3'>
+ <tr id='section-2'>
<td class=docs>
<div class="pilwrap">
- <a class="pilcrow" href="#section-3">&#182;</a>
+ <a class="pilcrow" href="#section-2">&#182;</a>
</div>
<p>Validate args</p>
</td>
<td class=code>
<div class='highlight'><pre> <span class="k">if</span> <span class="p">(</span><span class="n">argc</span> <span class="o">&lt;</span> <span class="mi">3</span><span class="p">)</span> <span class="p">{</span>
- <span class="n">printf</span><span class="p">(</span><span class="s">&quot;USAGE: %s &lt;url&gt; &lt;path&gt;</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">argv</span><span class="p">[</span><span class="mi">0</span><span class="p">]);</span>
+ <span class="n">printf</span> <span class="p">(</span><span class="s">&quot;USAGE: %s &lt;url&gt; &lt;path&gt;</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">argv</span><span class="p">[</span><span class="mi">0</span><span class="p">]);</span>
<span class="k">return</span> <span class="o">-</span><span class="mi">1</span><span class="p">;</span>
<span class="p">}</span></pre></div>
</td>
</tr>
- <tr id='section-4'>
- <td class=docs>
- <div class="pilwrap">
- <a class="pilcrow" href="#section-4">&#182;</a>
- </div>
- <p>Data for background thread</p>
- </td>
- <td class=code>
- <div class='highlight'><pre> <span class="n">data</span><span class="p">.</span><span class="n">url</span> <span class="o">=</span> <span class="n">argv</span><span class="p">[</span><span class="mi">1</span><span class="p">];</span>
- <span class="n">data</span><span class="p">.</span><span class="n">path</span> <span class="o">=</span> <span class="n">argv</span><span class="p">[</span><span class="mi">2</span><span class="p">];</span>
- <span class="n">data</span><span class="p">.</span><span class="n">opts</span><span class="p">.</span><span class="n">disable_filters</span> <span class="o">=</span> <span class="mi">1</span><span class="p">;</span>
- <span class="n">printf</span><span class="p">(</span><span class="s">&quot;Cloning &#39;%s&#39; to &#39;%s&#39;</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">data</span><span class="p">.</span><span class="n">url</span><span class="p">,</span> <span class="n">data</span><span class="p">.</span><span class="n">path</span><span class="p">);</span></pre></div>
- </td>
- </tr>
- <tr id='section-5'>
+ <tr id='section-3'>
<td class=docs>
<div class="pilwrap">
- <a class="pilcrow" href="#section-5">&#182;</a>
+ <a class="pilcrow" href="#section-3">&#182;</a>
</div>
- <p>Create the worker thread</p>
+ <p>Set up options</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n">pthread_create</span><span class="p">(</span><span class="o">&amp;</span><span class="n">worker</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="n">clone_thread</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">data</span><span class="p">);</span></pre></div>
+ <div class='highlight'><pre> <span class="n">checkout_opts</span><span class="p">.</span><span class="n">checkout_strategy</span> <span class="o">=</span> <span class="n">GIT_CHECKOUT_CREATE_MISSING</span><span class="p">;</span>
+ <span class="n">checkout_opts</span><span class="p">.</span><span class="n">progress_cb</span> <span class="o">=</span> <span class="n">checkout_progress</span><span class="p">;</span>
+ <span class="n">checkout_opts</span><span class="p">.</span><span class="n">progress_payload</span> <span class="o">=</span> <span class="o">&amp;</span><span class="n">pd</span><span class="p">;</span></pre></div>
</td>
</tr>
- <tr id='section-6'>
+ <tr id='section-4'>
<td class=docs>
<div class="pilwrap">
- <a class="pilcrow" href="#section-6">&#182;</a>
+ <a class="pilcrow" href="#section-4">&#182;</a>
</div>
- <p>Watch for progress information</p>
+ <p>Do the clone</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="k">do</span> <span class="p">{</span>
- <span class="n">usleep</span><span class="p">(</span><span class="mi">10000</span><span class="p">);</span>
- <span class="n">printf</span><span class="p">(</span><span class="s">&quot;Fetch %d/%d – Checkout %d/%d</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span>
- <span class="n">data</span><span class="p">.</span><span class="n">fetch_stats</span><span class="p">.</span><span class="n">processed</span><span class="p">,</span> <span class="n">data</span><span class="p">.</span><span class="n">fetch_stats</span><span class="p">.</span><span class="n">total</span><span class="p">,</span>
- <span class="n">data</span><span class="p">.</span><span class="n">checkout_stats</span><span class="p">.</span><span class="n">processed</span><span class="p">,</span> <span class="n">data</span><span class="p">.</span><span class="n">checkout_stats</span><span class="p">.</span><span class="n">total</span><span class="p">);</span>
- <span class="p">}</span> <span class="k">while</span> <span class="p">(</span><span class="o">!</span><span class="n">data</span><span class="p">.</span><span class="n">finished</span><span class="p">);</span>
- <span class="n">printf</span><span class="p">(</span><span class="s">&quot;Fetch %d/%d – Checkout %d/%d</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span>
- <span class="n">data</span><span class="p">.</span><span class="n">fetch_stats</span><span class="p">.</span><span class="n">processed</span><span class="p">,</span> <span class="n">data</span><span class="p">.</span><span class="n">fetch_stats</span><span class="p">.</span><span class="n">total</span><span class="p">,</span>
- <span class="n">data</span><span class="p">.</span><span class="n">checkout_stats</span><span class="p">.</span><span class="n">processed</span><span class="p">,</span> <span class="n">data</span><span class="p">.</span><span class="n">checkout_stats</span><span class="p">.</span><span class="n">total</span><span class="p">);</span>
-
- <span class="k">return</span> <span class="n">data</span><span class="p">.</span><span class="n">ret</span><span class="p">;</span>
+ <div class='highlight'><pre> <span class="n">error</span> <span class="o">=</span> <span class="n"><a name="git_clone-3" class="fnlink" href="../../#HEAD/group/clone/git_clone">git_clone</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">cloned_repo</span><span class="p">,</span> <span class="n">url</span><span class="p">,</span> <span class="n">path</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">fetch_progress</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">pd</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">checkout_opts</span><span class="p">);</span>
+ <span class="n">printf</span><span class="p">(</span><span class="s">&quot;</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">);</span>
+ <span class="k">if</span> <span class="p">(</span><span class="n">error</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+ <span class="k">const</span> <span class="n">git_error</span> <span class="o">*</span><span class="n">err</span> <span class="o">=</span> <span class="n"><a name="giterr_last-2" class="fnlink" href="../../#HEAD/group/giterr/giterr_last">giterr_last</a></span><span class="p">();</span>
+ <span class="k">if</span> <span class="p">(</span><span class="n">err</span><span class="p">)</span> <span class="n">printf</span><span class="p">(</span><span class="s">&quot;ERROR %d: %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">err</span><span class="o">-&gt;</span><span class="n">klass</span><span class="p">,</span> <span class="n">err</span><span class="o">-&gt;</span><span class="n">message</span><span class="p">);</span>
+ <span class="k">else</span> <span class="n">printf</span><span class="p">(</span><span class="s">&quot;ERROR %d: no detailed info</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">error</span><span class="p">);</span>
+ <span class="p">}</span>
+ <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">cloned_repo</span><span class="p">)</span> <span class="n"><a name="git_repository_free-1" class="fnlink" href="../../#HEAD/group/repository/git_repository_free">git_repository_free</a></span><span class="p">(</span><span class="n">cloned_repo</span><span class="p">);</span>
+ <span class="k">return</span> <span class="n">error</span><span class="p">;</span>
<span class="p">}</span></pre></div>
</td>
</tr>
diff --git a/ex/HEAD/diff.html b/ex/HEAD/diff.html
index 5e6d7129e..c03e185a3 100644
--- a/ex/HEAD/diff.html
+++ b/ex/HEAD/diff.html
@@ -50,7 +50,7 @@
<span class="cp">#include &lt;stdlib.h&gt;</span>
<span class="cp">#include &lt;string.h&gt;</span>
-<span class="kt">void</span> <span class="nf">check</span><span class="p">(</span><span class="kt">int</span> <span class="n">error</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">message</span><span class="p">)</span>
+<span class="k">static</span> <span class="kt">void</span> <span class="nf">check</span><span class="p">(</span><span class="kt">int</span> <span class="n">error</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">message</span><span class="p">)</span>
<span class="p">{</span>
<span class="k">if</span> <span class="p">(</span><span class="n">error</span><span class="p">)</span> <span class="p">{</span>
<span class="n">fprintf</span><span class="p">(</span><span class="n">stderr</span><span class="p">,</span> <span class="s">&quot;%s (%d)</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">message</span><span class="p">,</span> <span class="n">error</span><span class="p">);</span>
@@ -58,7 +58,8 @@
<span class="p">}</span>
<span class="p">}</span>
-<span class="kt">int</span> <span class="nf">resolve_to_tree</span><span class="p">(</span><span class="n">git_repository</span> <span class="o">*</span><span class="n">repo</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">identifier</span><span class="p">,</span> <span class="n">git_tree</span> <span class="o">**</span><span class="n">tree</span><span class="p">)</span>
+<span class="k">static</span> <span class="kt">int</span> <span class="nf">resolve_to_tree</span><span class="p">(</span>
+ <span class="n">git_repository</span> <span class="o">*</span><span class="n">repo</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">identifier</span><span class="p">,</span> <span class="n">git_tree</span> <span class="o">**</span><span class="n">tree</span><span class="p">)</span>
<span class="p">{</span>
<span class="kt">int</span> <span class="n">err</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
<span class="kt">size_t</span> <span class="n">len</span> <span class="o">=</span> <span class="n">strlen</span><span class="p">(</span><span class="n">identifier</span><span class="p">);</span>
@@ -66,18 +67,18 @@
<span class="n">git_object</span> <span class="o">*</span><span class="n">obj</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
<span class="cm">/* try to resolve as OID */</span>
- <span class="k">if</span> <span class="p">(</span><span class="n"><a name="git_oid_fromstrn-17" class="fnlink" href="../../#HEAD/group/oid/git_oid_fromstrn">git_oid_fromstrn</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">oid</span><span class="p">,</span> <span class="n">identifier</span><span class="p">,</span> <span class="n">len</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span>
- <span class="n"><a name="git_object_lookup_prefix-19" class="fnlink" href="../../#HEAD/group/object/git_object_lookup_prefix">git_object_lookup_prefix</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">obj</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">,</span> <span class="n">len</span><span class="p">,</span> <span class="n">GIT_OBJ_ANY</span><span class="p">);</span>
+ <span class="k">if</span> <span class="p">(</span><span class="n"><a name="git_oid_fromstrn-10" class="fnlink" href="../../#HEAD/group/oid/git_oid_fromstrn">git_oid_fromstrn</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">oid</span><span class="p">,</span> <span class="n">identifier</span><span class="p">,</span> <span class="n">len</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span>
+ <span class="n"><a name="git_object_lookup_prefix-12" class="fnlink" href="../../#HEAD/group/object/git_object_lookup_prefix">git_object_lookup_prefix</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">obj</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">,</span> <span class="n">len</span><span class="p">,</span> <span class="n">GIT_OBJ_ANY</span><span class="p">);</span>
<span class="cm">/* try to resolve as reference */</span>
<span class="k">if</span> <span class="p">(</span><span class="n">obj</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
<span class="n">git_reference</span> <span class="o">*</span><span class="n">ref</span><span class="p">,</span> <span class="o">*</span><span class="n">resolved</span><span class="p">;</span>
- <span class="k">if</span> <span class="p">(</span><span class="n"><a name="git_reference_lookup-22" class="fnlink" href="../../#HEAD/group/reference/git_reference_lookup">git_reference_lookup</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">ref</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="n">identifier</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
- <span class="n"><a name="git_reference_resolve-24" class="fnlink" href="../../#HEAD/group/reference/git_reference_resolve">git_reference_resolve</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">resolved</span><span class="p">,</span> <span class="n">ref</span><span class="p">);</span>
- <span class="n"><a name="git_reference_free-25" class="fnlink" href="../../#HEAD/group/reference/git_reference_free">git_reference_free</a></span><span class="p">(</span><span class="n">ref</span><span class="p">);</span>
+ <span class="k">if</span> <span class="p">(</span><span class="n"><a name="git_reference_lookup-5" class="fnlink" href="../../#HEAD/group/reference/git_reference_lookup">git_reference_lookup</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">ref</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="n">identifier</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+ <span class="n"><a name="git_reference_resolve-7" class="fnlink" href="../../#HEAD/group/reference/git_reference_resolve">git_reference_resolve</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">resolved</span><span class="p">,</span> <span class="n">ref</span><span class="p">);</span>
+ <span class="n"><a name="git_reference_free-8" class="fnlink" href="../../#HEAD/group/reference/git_reference_free">git_reference_free</a></span><span class="p">(</span><span class="n">ref</span><span class="p">);</span>
<span class="k">if</span> <span class="p">(</span><span class="n">resolved</span><span class="p">)</span> <span class="p">{</span>
- <span class="n"><a name="git_object_lookup-18" class="fnlink" href="../../#HEAD/group/object/git_object_lookup">git_object_lookup</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">obj</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="n"><a name="git_reference_oid-23" class="fnlink" href="../../#HEAD/group/reference/git_reference_oid">git_reference_oid</a></span><span class="p">(</span><span class="n">resolved</span><span class="p">),</span> <span class="n">GIT_OBJ_ANY</span><span class="p">);</span>
- <span class="n"><a name="git_reference_free-26" class="fnlink" href="../../#HEAD/group/reference/git_reference_free">git_reference_free</a></span><span class="p">(</span><span class="n">resolved</span><span class="p">);</span>
+ <span class="n"><a name="git_object_lookup-11" class="fnlink" href="../../#HEAD/group/object/git_object_lookup">git_object_lookup</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">obj</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="n"><a name="git_reference_oid-6" class="fnlink" href="../../#HEAD/group/reference/git_reference_oid">git_reference_oid</a></span><span class="p">(</span><span class="n">resolved</span><span class="p">),</span> <span class="n">GIT_OBJ_ANY</span><span class="p">);</span>
+ <span class="n"><a name="git_reference_free-9" class="fnlink" href="../../#HEAD/group/reference/git_reference_free">git_reference_free</a></span><span class="p">(</span><span class="n">resolved</span><span class="p">);</span>
<span class="p">}</span>
<span class="p">}</span>
<span class="p">}</span>
@@ -85,13 +86,13 @@
<span class="k">if</span> <span class="p">(</span><span class="n">obj</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
<span class="k">return</span> <span class="n">GIT_ENOTFOUND</span><span class="p">;</span>
- <span class="k">switch</span> <span class="p">(</span><span class="n"><a name="git_object_type-20" class="fnlink" href="../../#HEAD/group/object/git_object_type">git_object_type</a></span><span class="p">(</span><span class="n">obj</span><span class="p">))</span> <span class="p">{</span>
+ <span class="k">switch</span> <span class="p">(</span><span class="n"><a name="git_object_type-13" class="fnlink" href="../../#HEAD/group/object/git_object_type">git_object_type</a></span><span class="p">(</span><span class="n">obj</span><span class="p">))</span> <span class="p">{</span>
<span class="k">case</span> <span class="n">GIT_OBJ_TREE</span>:
<span class="o">*</span><span class="n">tree</span> <span class="o">=</span> <span class="p">(</span><span class="n">git_tree</span> <span class="o">*</span><span class="p">)</span><span class="n">obj</span><span class="p">;</span>
<span class="k">break</span><span class="p">;</span>
<span class="k">case</span> <span class="n">GIT_OBJ_COMMIT</span>:
- <span class="n">err</span> <span class="o">=</span> <span class="n"><a name="git_commit_tree-3" class="fnlink" href="../../#HEAD/group/commit/git_commit_tree">git_commit_tree</a></span><span class="p">(</span><span class="n">tree</span><span class="p">,</span> <span class="p">(</span><span class="n">git_commit</span> <span class="o">*</span><span class="p">)</span><span class="n">obj</span><span class="p">);</span>
- <span class="n"><a name="git_object_free-21" class="fnlink" href="../../#HEAD/group/object/git_object_free">git_object_free</a></span><span class="p">(</span><span class="n">obj</span><span class="p">);</span>
+ <span class="n">err</span> <span class="o">=</span> <span class="n"><a name="git_commit_tree-26" class="fnlink" href="../../#HEAD/group/commit/git_commit_tree">git_commit_tree</a></span><span class="p">(</span><span class="n">tree</span><span class="p">,</span> <span class="p">(</span><span class="n">git_commit</span> <span class="o">*</span><span class="p">)</span><span class="n">obj</span><span class="p">);</span>
+ <span class="n"><a name="git_object_free-14" class="fnlink" href="../../#HEAD/group/object/git_object_free">git_object_free</a></span><span class="p">(</span><span class="n">obj</span><span class="p">);</span>
<span class="k">break</span><span class="p">;</span>
<span class="nl">default:</span>
<span class="n">err</span> <span class="o">=</span> <span class="n">GIT_ENOTFOUND</span><span class="p">;</span>
@@ -108,16 +109,18 @@
<span class="s">&quot;</span><span class="se">\033</span><span class="s">[36m&quot;</span> <span class="cm">/* cyan */</span>
<span class="p">};</span>
-<span class="kt">int</span> <span class="nf">printer</span><span class="p">(</span>
+<span class="k">static</span> <span class="kt">int</span> <span class="nf">printer</span><span class="p">(</span>
<span class="kt">void</span> <span class="o">*</span><span class="n">data</span><span class="p">,</span>
- <span class="n">git_diff_delta</span> <span class="o">*</span><span class="n">delta</span><span class="p">,</span>
- <span class="n">git_diff_range</span> <span class="o">*</span><span class="n">range</span><span class="p">,</span>
+ <span class="k">const</span> <span class="n">git_diff_delta</span> <span class="o">*</span><span class="n">delta</span><span class="p">,</span>
+ <span class="k">const</span> <span class="n">git_diff_range</span> <span class="o">*</span><span class="n">range</span><span class="p">,</span>
<span class="kt">char</span> <span class="n">usage</span><span class="p">,</span>
<span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">line</span><span class="p">,</span>
<span class="kt">size_t</span> <span class="n">line_len</span><span class="p">)</span>
<span class="p">{</span>
<span class="kt">int</span> <span class="o">*</span><span class="n">last_color</span> <span class="o">=</span> <span class="n">data</span><span class="p">,</span> <span class="n">color</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+ <span class="p">(</span><span class="kt">void</span><span class="p">)</span><span class="n">delta</span><span class="p">;</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span><span class="n">range</span><span class="p">;</span> <span class="p">(</span><span class="kt">void</span><span class="p">)</span><span class="n">line_len</span><span class="p">;</span>
+
<span class="k">if</span> <span class="p">(</span><span class="o">*</span><span class="n">last_color</span> <span class="o">&gt;=</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
<span class="k">switch</span> <span class="p">(</span><span class="n">usage</span><span class="p">)</span> <span class="p">{</span>
<span class="k">case</span> <span class="n">GIT_DIFF_LINE_ADDITION</span>: <span class="n">color</span> <span class="o">=</span> <span class="mi">3</span><span class="p">;</span> <span class="k">break</span><span class="p">;</span>
@@ -140,7 +143,7 @@
<span class="k">return</span> <span class="mi">0</span><span class="p">;</span>
<span class="p">}</span>
-<span class="kt">int</span> <span class="nf">check_uint16_param</span><span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">arg</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">pattern</span><span class="p">,</span> <span class="kt">uint16_t</span> <span class="o">*</span><span class="n">val</span><span class="p">)</span>
+<span class="k">static</span> <span class="kt">int</span> <span class="nf">check_uint16_param</span><span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">arg</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">pattern</span><span class="p">,</span> <span class="kt">uint16_t</span> <span class="o">*</span><span class="n">val</span><span class="p">)</span>
<span class="p">{</span>
<span class="kt">size_t</span> <span class="n">len</span> <span class="o">=</span> <span class="n">strlen</span><span class="p">(</span><span class="n">pattern</span><span class="p">);</span>
<span class="kt">uint16_t</span> <span class="n">strval</span><span class="p">;</span>
@@ -154,7 +157,7 @@
<span class="k">return</span> <span class="mi">1</span><span class="p">;</span>
<span class="p">}</span>
-<span class="kt">int</span> <span class="nf">check_str_param</span><span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">arg</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">pattern</span><span class="p">,</span> <span class="kt">char</span> <span class="o">**</span><span class="n">val</span><span class="p">)</span>
+<span class="k">static</span> <span class="kt">int</span> <span class="nf">check_str_param</span><span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">arg</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">pattern</span><span class="p">,</span> <span class="kt">char</span> <span class="o">**</span><span class="n">val</span><span class="p">)</span>
<span class="p">{</span>
<span class="kt">size_t</span> <span class="n">len</span> <span class="o">=</span> <span class="n">strlen</span><span class="p">(</span><span class="n">pattern</span><span class="p">);</span>
<span class="k">if</span> <span class="p">(</span><span class="n">strncmp</span><span class="p">(</span><span class="n">arg</span><span class="p">,</span> <span class="n">pattern</span><span class="p">,</span> <span class="n">len</span><span class="p">))</span>
@@ -163,7 +166,7 @@
<span class="k">return</span> <span class="mi">1</span><span class="p">;</span>
<span class="p">}</span>
-<span class="kt">void</span> <span class="nf">usage</span><span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">message</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">arg</span><span class="p">)</span>
+<span class="k">static</span> <span class="kt">void</span> <span class="nf">usage</span><span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">message</span><span class="p">,</span> <span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">arg</span><span class="p">)</span>
<span class="p">{</span>
<span class="k">if</span> <span class="p">(</span><span class="n">message</span> <span class="o">&amp;&amp;</span> <span class="n">arg</span><span class="p">)</span>
<span class="n">fprintf</span><span class="p">(</span><span class="n">stderr</span><span class="p">,</span> <span class="s">&quot;%s: %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">message</span><span class="p">,</span> <span class="n">arg</span><span class="p">);</span>
@@ -175,14 +178,15 @@
<span class="kt">int</span> <span class="nf">main</span><span class="p">(</span><span class="kt">int</span> <span class="n">argc</span><span class="p">,</span> <span class="kt">char</span> <span class="o">*</span><span class="n">argv</span><span class="p">[])</span>
<span class="p">{</span>
- <span class="kt">char</span> <span class="n">path</span><span class="p">[</span><span class="n">GIT_PATH_MAX</span><span class="p">];</span>
<span class="n">git_repository</span> <span class="o">*</span><span class="n">repo</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
<span class="n">git_tree</span> <span class="o">*</span><span class="n">t1</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">,</span> <span class="o">*</span><span class="n">t2</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
- <span class="n">git_diff_options</span> <span class="n">opts</span> <span class="o">=</span> <span class="p">{</span><span class="mi">0</span><span class="p">};</span>
+ <span class="n">git_diff_options</span> <span class="n">opts</span><span class="p">;</span>
<span class="n">git_diff_list</span> <span class="o">*</span><span class="n">diff</span><span class="p">;</span>
<span class="kt">int</span> <span class="n">i</span><span class="p">,</span> <span class="n">color</span> <span class="o">=</span> <span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="n">compact</span> <span class="o">=</span> <span class="mi">0</span><span class="p">,</span> <span class="n">cached</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
<span class="kt">char</span> <span class="o">*</span><span class="n">a</span><span class="p">,</span> <span class="o">*</span><span class="n">dir</span> <span class="o">=</span> <span class="s">&quot;.&quot;</span><span class="p">,</span> <span class="o">*</span><span class="n">treeish1</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">,</span> <span class="o">*</span><span class="n">treeish2</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
+ <span class="n">memset</span><span class="p">(</span><span class="o">&amp;</span><span class="n">opts</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="k">sizeof</span><span class="p">(</span><span class="n">opts</span><span class="p">));</span>
+
<span class="cm">/* parse arguments as copied from git-diff */</span>
<span class="k">for</span> <span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">1</span><span class="p">;</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="n">argc</span><span class="p">;</span> <span class="o">++</span><span class="n">i</span><span class="p">)</span> <span class="p">{</span>
@@ -232,7 +236,7 @@
<span class="cm">/* open repo */</span>
- <span class="n">check</span><span class="p">(</span><span class="n"><a name="git_repository_open_ext-1" class="fnlink" href="../../#HEAD/group/repository/git_repository_open_ext">git_repository_open_ext</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">repo</span><span class="p">,</span> <span class="n">dir</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">),</span>
+ <span class="n">check</span><span class="p">(</span><span class="n"><a name="git_repository_open_ext-3" class="fnlink" href="../../#HEAD/group/repository/git_repository_open_ext">git_repository_open_ext</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">repo</span><span class="p">,</span> <span class="n">dir</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">),</span>
<span class="s">&quot;Could not open repository&quot;</span><span class="p">);</span>
<span class="k">if</span> <span class="p">(</span><span class="n">treeish1</span><span class="p">)</span>
@@ -247,38 +251,38 @@
<span class="cm">/* nothing */</span>
<span class="k">if</span> <span class="p">(</span><span class="n">t1</span> <span class="o">&amp;&amp;</span> <span class="n">t2</span><span class="p">)</span>
- <span class="n">check</span><span class="p">(</span><span class="n"><a name="git_diff_tree_to_tree-6" class="fnlink" href="../../#HEAD/group/diff/git_diff_tree_to_tree">git_diff_tree_to_tree</a></span><span class="p">(</span><span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">opts</span><span class="p">,</span> <span class="n">t1</span><span class="p">,</span> <span class="n">t2</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">diff</span><span class="p">),</span> <span class="s">&quot;Diff&quot;</span><span class="p">);</span>
+ <span class="n">check</span><span class="p">(</span><span class="n"><a name="git_diff_tree_to_tree-17" class="fnlink" href="../../#HEAD/group/diff/git_diff_tree_to_tree">git_diff_tree_to_tree</a></span><span class="p">(</span><span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">opts</span><span class="p">,</span> <span class="n">t1</span><span class="p">,</span> <span class="n">t2</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">diff</span><span class="p">),</span> <span class="s">&quot;Diff&quot;</span><span class="p">);</span>
<span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">t1</span> <span class="o">&amp;&amp;</span> <span class="n">cached</span><span class="p">)</span>
- <span class="n">check</span><span class="p">(</span><span class="n"><a name="git_diff_index_to_tree-7" class="fnlink" href="../../#HEAD/group/diff/git_diff_index_to_tree">git_diff_index_to_tree</a></span><span class="p">(</span><span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">opts</span><span class="p">,</span> <span class="n">t1</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">diff</span><span class="p">),</span> <span class="s">&quot;Diff&quot;</span><span class="p">);</span>
+ <span class="n">check</span><span class="p">(</span><span class="n"><a name="git_diff_index_to_tree-18" class="fnlink" href="../../#HEAD/group/diff/git_diff_index_to_tree">git_diff_index_to_tree</a></span><span class="p">(</span><span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">opts</span><span class="p">,</span> <span class="n">t1</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">diff</span><span class="p">),</span> <span class="s">&quot;Diff&quot;</span><span class="p">);</span>
<span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">t1</span><span class="p">)</span> <span class="p">{</span>
<span class="n">git_diff_list</span> <span class="o">*</span><span class="n">diff2</span><span class="p">;</span>
- <span class="n">check</span><span class="p">(</span><span class="n"><a name="git_diff_index_to_tree-8" class="fnlink" href="../../#HEAD/group/diff/git_diff_index_to_tree">git_diff_index_to_tree</a></span><span class="p">(</span><span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">opts</span><span class="p">,</span> <span class="n">t1</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">diff</span><span class="p">),</span> <span class="s">&quot;Diff&quot;</span><span class="p">);</span>
- <span class="n">check</span><span class="p">(</span><span class="n"><a name="git_diff_workdir_to_index-10" class="fnlink" href="../../#HEAD/group/diff/git_diff_workdir_to_index">git_diff_workdir_to_index</a></span><span class="p">(</span><span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">opts</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">diff2</span><span class="p">),</span> <span class="s">&quot;Diff&quot;</span><span class="p">);</span>
- <span class="n">check</span><span class="p">(</span><span class="n"><a name="git_diff_merge-12" class="fnlink" href="../../#HEAD/group/diff/git_diff_merge">git_diff_merge</a></span><span class="p">(</span><span class="n">diff</span><span class="p">,</span> <span class="n">diff2</span><span class="p">),</span> <span class="s">&quot;Merge diffs&quot;</span><span class="p">);</span>
- <span class="n"><a name="git_diff_list_free-4" class="fnlink" href="../../#HEAD/group/diff/git_diff_list_free">git_diff_list_free</a></span><span class="p">(</span><span class="n">diff2</span><span class="p">);</span>
+ <span class="n">check</span><span class="p">(</span><span class="n"><a name="git_diff_index_to_tree-19" class="fnlink" href="../../#HEAD/group/diff/git_diff_index_to_tree">git_diff_index_to_tree</a></span><span class="p">(</span><span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">opts</span><span class="p">,</span> <span class="n">t1</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">diff</span><span class="p">),</span> <span class="s">&quot;Diff&quot;</span><span class="p">);</span>
+ <span class="n">check</span><span class="p">(</span><span class="n"><a name="git_diff_workdir_to_index-21" class="fnlink" href="../../#HEAD/group/diff/git_diff_workdir_to_index">git_diff_workdir_to_index</a></span><span class="p">(</span><span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">opts</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">diff2</span><span class="p">),</span> <span class="s">&quot;Diff&quot;</span><span class="p">);</span>
+ <span class="n">check</span><span class="p">(</span><span class="n"><a name="git_diff_merge-23" class="fnlink" href="../../#HEAD/group/diff/git_diff_merge">git_diff_merge</a></span><span class="p">(</span><span class="n">diff</span><span class="p">,</span> <span class="n">diff2</span><span class="p">),</span> <span class="s">&quot;Merge diffs&quot;</span><span class="p">);</span>
+ <span class="n"><a name="git_diff_list_free-15" class="fnlink" href="../../#HEAD/group/diff/git_diff_list_free">git_diff_list_free</a></span><span class="p">(</span><span class="n">diff2</span><span class="p">);</span>
<span class="p">}</span>
<span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">cached</span><span class="p">)</span> <span class="p">{</span>
<span class="n">check</span><span class="p">(</span><span class="n">resolve_to_tree</span><span class="p">(</span><span class="n">repo</span><span class="p">,</span> <span class="s">&quot;HEAD&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">t1</span><span class="p">),</span> <span class="s">&quot;looking up HEAD&quot;</span><span class="p">);</span>
- <span class="n">check</span><span class="p">(</span><span class="n"><a name="git_diff_index_to_tree-9" class="fnlink" href="../../#HEAD/group/diff/git_diff_index_to_tree">git_diff_index_to_tree</a></span><span class="p">(</span><span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">opts</span><span class="p">,</span> <span class="n">t1</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">diff</span><span class="p">),</span> <span class="s">&quot;Diff&quot;</span><span class="p">);</span>
+ <span class="n">check</span><span class="p">(</span><span class="n"><a name="git_diff_index_to_tree-20" class="fnlink" href="../../#HEAD/group/diff/git_diff_index_to_tree">git_diff_index_to_tree</a></span><span class="p">(</span><span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">opts</span><span class="p">,</span> <span class="n">t1</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">diff</span><span class="p">),</span> <span class="s">&quot;Diff&quot;</span><span class="p">);</span>
<span class="p">}</span>
<span class="k">else</span>
- <span class="n">check</span><span class="p">(</span><span class="n"><a name="git_diff_workdir_to_index-11" class="fnlink" href="../../#HEAD/group/diff/git_diff_workdir_to_index">git_diff_workdir_to_index</a></span><span class="p">(</span><span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">opts</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">diff</span><span class="p">),</span> <span class="s">&quot;Diff&quot;</span><span class="p">);</span>
+ <span class="n">check</span><span class="p">(</span><span class="n"><a name="git_diff_workdir_to_index-22" class="fnlink" href="../../#HEAD/group/diff/git_diff_workdir_to_index">git_diff_workdir_to_index</a></span><span class="p">(</span><span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">opts</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">diff</span><span class="p">),</span> <span class="s">&quot;Diff&quot;</span><span class="p">);</span>
<span class="k">if</span> <span class="p">(</span><span class="n">color</span> <span class="o">&gt;=</span> <span class="mi">0</span><span class="p">)</span>
<span class="n">fputs</span><span class="p">(</span><span class="n">colors</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="n">stdout</span><span class="p">);</span>
<span class="k">if</span> <span class="p">(</span><span class="n">compact</span><span class="p">)</span>
- <span class="n">check</span><span class="p">(</span><span class="n"><a name="git_diff_print_compact-13" class="fnlink" href="../../#HEAD/group/diff/git_diff_print_compact">git_diff_print_compact</a></span><span class="p">(</span><span class="n">diff</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">color</span><span class="p">,</span> <span class="n">printer</span><span class="p">),</span> <span class="s">&quot;Displaying diff&quot;</span><span class="p">);</span>
+ <span class="n">check</span><span class="p">(</span><span class="n"><a name="git_diff_print_compact-24" class="fnlink" href="../../#HEAD/group/diff/git_diff_print_compact">git_diff_print_compact</a></span><span class="p">(</span><span class="n">diff</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">color</span><span class="p">,</span> <span class="n">printer</span><span class="p">),</span> <span class="s">&quot;Displaying diff&quot;</span><span class="p">);</span>
<span class="k">else</span>
- <span class="n">check</span><span class="p">(</span><span class="n"><a name="git_diff_print_patch-14" class="fnlink" href="../../#HEAD/group/diff/git_diff_print_patch">git_diff_print_patch</a></span><span class="p">(</span><span class="n">diff</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">color</span><span class="p">,</span> <span class="n">printer</span><span class="p">),</span> <span class="s">&quot;Displaying diff&quot;</span><span class="p">);</span>
+ <span class="n">check</span><span class="p">(</span><span class="n"><a name="git_diff_print_patch-25" class="fnlink" href="../../#HEAD/group/diff/git_diff_print_patch">git_diff_print_patch</a></span><span class="p">(</span><span class="n">diff</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">color</span><span class="p">,</span> <span class="n">printer</span><span class="p">),</span> <span class="s">&quot;Displaying diff&quot;</span><span class="p">);</span>
<span class="k">if</span> <span class="p">(</span><span class="n">color</span> <span class="o">&gt;=</span> <span class="mi">0</span><span class="p">)</span>
<span class="n">fputs</span><span class="p">(</span><span class="n">colors</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="n">stdout</span><span class="p">);</span>
- <span class="n"><a name="git_diff_list_free-5" class="fnlink" href="../../#HEAD/group/diff/git_diff_list_free">git_diff_list_free</a></span><span class="p">(</span><span class="n">diff</span><span class="p">);</span>
- <span class="n"><a name="git_tree_free-15" class="fnlink" href="../../#HEAD/group/tree/git_tree_free">git_tree_free</a></span><span class="p">(</span><span class="n">t1</span><span class="p">);</span>
- <span class="n"><a name="git_tree_free-16" class="fnlink" href="../../#HEAD/group/tree/git_tree_free">git_tree_free</a></span><span class="p">(</span><span class="n">t2</span><span class="p">);</span>
- <span class="n"><a name="git_repository_free-2" class="fnlink" href="../../#HEAD/group/repository/git_repository_free">git_repository_free</a></span><span class="p">(</span><span class="n">repo</span><span class="p">);</span>
+ <span class="n"><a name="git_diff_list_free-16" class="fnlink" href="../../#HEAD/group/diff/git_diff_list_free">git_diff_list_free</a></span><span class="p">(</span><span class="n">diff</span><span class="p">);</span>
+ <span class="n"><a name="git_tree_free-1" class="fnlink" href="../../#HEAD/group/tree/git_tree_free">git_tree_free</a></span><span class="p">(</span><span class="n">t1</span><span class="p">);</span>
+ <span class="n"><a name="git_tree_free-2" class="fnlink" href="../../#HEAD/group/tree/git_tree_free">git_tree_free</a></span><span class="p">(</span><span class="n">t2</span><span class="p">);</span>
+ <span class="n"><a name="git_repository_free-4" class="fnlink" href="../../#HEAD/group/repository/git_repository_free">git_repository_free</a></span><span class="p">(</span><span class="n">repo</span><span class="p">);</span>
<span class="k">return</span> <span class="mi">0</span><span class="p">;</span>
<span class="p">}</span></pre></div>
diff --git a/ex/HEAD/fetch.html b/ex/HEAD/fetch.html
index 7b60a537b..1341417bb 100644
--- a/ex/HEAD/fetch.html
+++ b/ex/HEAD/fetch.html
@@ -54,8 +54,6 @@
<span class="k">struct</span> <span class="n">dl_data</span> <span class="p">{</span>
<span class="n">git_remote</span> <span class="o">*</span><span class="n">remote</span><span class="p">;</span>
- <span class="n">git_off_t</span> <span class="o">*</span><span class="n">bytes</span><span class="p">;</span>
- <span class="n">git_indexer_stats</span> <span class="o">*</span><span class="n">stats</span><span class="p">;</span>
<span class="kt">int</span> <span class="n">ret</span><span class="p">;</span>
<span class="kt">int</span> <span class="n">finished</span><span class="p">;</span>
<span class="p">};</span>
@@ -97,7 +95,7 @@ amount of received data and the indexer stats which lets you
inform the user about progress.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="k">if</span> <span class="p">(</span><span class="n"><a name="git_remote_download-4" class="fnlink" href="../../#HEAD/group/remote/git_remote_download">git_remote_download</a></span><span class="p">(</span><span class="n">data</span><span class="o">-&gt;</span><span class="n">remote</span><span class="p">,</span> <span class="n">data</span><span class="o">-&gt;</span><span class="n">bytes</span><span class="p">,</span> <span class="n">data</span><span class="o">-&gt;</span><span class="n">stats</span><span class="p">)</span> <span class="o">&lt;</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+ <div class='highlight'><pre> <span class="k">if</span> <span class="p">(</span><span class="n"><a name="git_remote_download-4" class="fnlink" href="../../#HEAD/group/remote/git_remote_download">git_remote_download</a></span><span class="p">(</span><span class="n">data</span><span class="o">-&gt;</span><span class="n">remote</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">)</span> <span class="o">&lt;</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
<span class="n">data</span><span class="o">-&gt;</span><span class="n">ret</span> <span class="o">=</span> <span class="o">-</span><span class="mi">1</span><span class="p">;</span>
<span class="k">goto</span> <span class="n">exit</span><span class="p">;</span>
<span class="p">}</span>
@@ -114,13 +112,13 @@ inform the user about progress.</p>
<span class="kt">char</span> <span class="n">a_str</span><span class="p">[</span><span class="n">GIT_OID_HEXSZ</span><span class="o">+</span><span class="mi">1</span><span class="p">],</span> <span class="n">b_str</span><span class="p">[</span><span class="n">GIT_OID_HEXSZ</span><span class="o">+</span><span class="mi">1</span><span class="p">];</span>
<span class="n">data</span> <span class="o">=</span> <span class="n">data</span><span class="p">;</span>
- <span class="n"><a name="git_oid_fmt-10" class="fnlink" href="../../#HEAD/group/oid/git_oid_fmt">git_oid_fmt</a></span><span class="p">(</span><span class="n">b_str</span><span class="p">,</span> <span class="n">b</span><span class="p">);</span>
+ <span class="n"><a name="git_oid_fmt-11" class="fnlink" href="../../#HEAD/group/oid/git_oid_fmt">git_oid_fmt</a></span><span class="p">(</span><span class="n">b_str</span><span class="p">,</span> <span class="n">b</span><span class="p">);</span>
<span class="n">b_str</span><span class="p">[</span><span class="n">GIT_OID_HEXSZ</span><span class="p">]</span> <span class="o">=</span> <span class="sc">&#39;\0&#39;</span><span class="p">;</span>
- <span class="k">if</span> <span class="p">(</span><span class="n"><a name="git_oid_iszero-12" class="fnlink" href="../../#HEAD/group/oid/git_oid_iszero">git_oid_iszero</a></span><span class="p">(</span><span class="n">a</span><span class="p">))</span> <span class="p">{</span>
+ <span class="k">if</span> <span class="p">(</span><span class="n"><a name="git_oid_iszero-13" class="fnlink" href="../../#HEAD/group/oid/git_oid_iszero">git_oid_iszero</a></span><span class="p">(</span><span class="n">a</span><span class="p">))</span> <span class="p">{</span>
<span class="n">printf</span><span class="p">(</span><span class="s">&quot;[new] %.20s %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">b_str</span><span class="p">,</span> <span class="n">refname</span><span class="p">);</span>
<span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
- <span class="n"><a name="git_oid_fmt-11" class="fnlink" href="../../#HEAD/group/oid/git_oid_fmt">git_oid_fmt</a></span><span class="p">(</span><span class="n">a_str</span><span class="p">,</span> <span class="n">a</span><span class="p">);</span>
+ <span class="n"><a name="git_oid_fmt-12" class="fnlink" href="../../#HEAD/group/oid/git_oid_fmt">git_oid_fmt</a></span><span class="p">(</span><span class="n">a_str</span><span class="p">,</span> <span class="n">a</span><span class="p">);</span>
<span class="n">a_str</span><span class="p">[</span><span class="n">GIT_OID_HEXSZ</span><span class="p">]</span> <span class="o">=</span> <span class="sc">&#39;\0&#39;</span><span class="p">;</span>
<span class="n">printf</span><span class="p">(</span><span class="s">&quot;[updated] %.10s..%.10s %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">a_str</span><span class="p">,</span> <span class="n">b_str</span><span class="p">,</span> <span class="n">refname</span><span class="p">);</span>
<span class="p">}</span>
@@ -131,8 +129,7 @@ inform the user about progress.</p>
<span class="kt">int</span> <span class="nf">fetch</span><span class="p">(</span><span class="n">git_repository</span> <span class="o">*</span><span class="n">repo</span><span class="p">,</span> <span class="kt">int</span> <span class="n">argc</span><span class="p">,</span> <span class="kt">char</span> <span class="o">**</span><span class="n">argv</span><span class="p">)</span>
<span class="p">{</span>
<span class="n">git_remote</span> <span class="o">*</span><span class="n">remote</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
- <span class="n">git_off_t</span> <span class="n">bytes</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
- <span class="n">git_indexer_stats</span> <span class="n">stats</span><span class="p">;</span>
+ <span class="k">const</span> <span class="n">git_transfer_progress</span> <span class="o">*</span><span class="n">stats</span><span class="p">;</span>
<span class="n">pthread_t</span> <span class="n">worker</span><span class="p">;</span>
<span class="k">struct</span> <span class="n">dl_data</span> <span class="n">data</span><span class="p">;</span>
<span class="n">git_remote_callbacks</span> <span class="n">callbacks</span><span class="p">;</span>
@@ -148,7 +145,7 @@ inform the user about progress.</p>
<p>Figure out whether it&rsquo;s a named remote or a URL</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n">printf</span><span class="p">(</span><span class="s">&quot;Fetching %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">argv</span><span class="p">[</span><span class="mi">1</span><span class="p">]);</span>
+ <div class='highlight'><pre> <span class="n">printf</span><span class="p">(</span><span class="s">&quot;Fetching %s for repo %p</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">argv</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span> <span class="n">repo</span><span class="p">);</span>
<span class="k">if</span> <span class="p">(</span><span class="n"><a name="git_remote_load-2" class="fnlink" href="../../#HEAD/group/remote/git_remote_load">git_remote_load</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">remote</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="n">argv</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span> <span class="o">&lt;</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
<span class="k">if</span> <span class="p">(</span><span class="n"><a name="git_remote_new-1" class="fnlink" href="../../#HEAD/group/remote/git_remote_new">git_remote_new</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">remote</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="n">argv</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span> <span class="nb">NULL</span><span class="p">)</span> <span class="o">&lt;</span> <span class="mi">0</span><span class="p">)</span>
<span class="k">return</span> <span class="o">-</span><span class="mi">1</span><span class="p">;</span>
@@ -178,11 +175,10 @@ inform the user about progress.</p>
</td>
<td class=code>
<div class='highlight'><pre> <span class="n">data</span><span class="p">.</span><span class="n">remote</span> <span class="o">=</span> <span class="n">remote</span><span class="p">;</span>
- <span class="n">data</span><span class="p">.</span><span class="n">bytes</span> <span class="o">=</span> <span class="o">&amp;</span><span class="n">bytes</span><span class="p">;</span>
- <span class="n">data</span><span class="p">.</span><span class="n">stats</span> <span class="o">=</span> <span class="o">&amp;</span><span class="n">stats</span><span class="p">;</span>
<span class="n">data</span><span class="p">.</span><span class="n">ret</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
<span class="n">data</span><span class="p">.</span><span class="n">finished</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
- <span class="n">memset</span><span class="p">(</span><span class="o">&amp;</span><span class="n">stats</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="k">sizeof</span><span class="p">(</span><span class="n">stats</span><span class="p">));</span>
+
+ <span class="n">stats</span> <span class="o">=</span> <span class="n"><a name="git_remote_stats-10" class="fnlink" href="../../#HEAD/group/remote/git_remote_stats">git_remote_stats</a></span><span class="p">(</span><span class="n">remote</span><span class="p">);</span>
<span class="n">pthread_create</span><span class="p">(</span><span class="o">&amp;</span><span class="n">worker</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="n">download</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">data</span><span class="p">);</span></pre></div>
</td>
@@ -201,16 +197,18 @@ the download rate.</p>
<div class='highlight'><pre> <span class="k">do</span> <span class="p">{</span>
<span class="n">usleep</span><span class="p">(</span><span class="mi">10000</span><span class="p">);</span>
- <span class="k">if</span> <span class="p">(</span><span class="n">stats</span><span class="p">.</span><span class="n">total</span> <span class="o">&gt;</span> <span class="mi">0</span><span class="p">)</span>
+ <span class="k">if</span> <span class="p">(</span><span class="n">stats</span><span class="o">-&gt;</span><span class="n">total_objects</span> <span class="o">&gt;</span> <span class="mi">0</span><span class="p">)</span>
<span class="n">printf</span><span class="p">(</span><span class="s">&quot;Received %d/%d objects (%d) in %d bytes</span><span class="se">\r</span><span class="s">&quot;</span><span class="p">,</span>
- <span class="n">stats</span><span class="p">.</span><span class="n">received</span><span class="p">,</span> <span class="n">stats</span><span class="p">.</span><span class="n">total</span><span class="p">,</span> <span class="n">stats</span><span class="p">.</span><span class="n">processed</span><span class="p">,</span> <span class="n">bytes</span><span class="p">);</span>
+ <span class="n">stats</span><span class="o">-&gt;</span><span class="n">received_objects</span><span class="p">,</span> <span class="n">stats</span><span class="o">-&gt;</span><span class="n">total_objects</span><span class="p">,</span>
+ <span class="n">stats</span><span class="o">-&gt;</span><span class="n">indexed_objects</span><span class="p">,</span> <span class="n">stats</span><span class="o">-&gt;</span><span class="n">received_bytes</span><span class="p">);</span>
<span class="p">}</span> <span class="k">while</span> <span class="p">(</span><span class="o">!</span><span class="n">data</span><span class="p">.</span><span class="n">finished</span><span class="p">);</span>
<span class="k">if</span> <span class="p">(</span><span class="n">data</span><span class="p">.</span><span class="n">ret</span> <span class="o">&lt;</span> <span class="mi">0</span><span class="p">)</span>
<span class="k">goto</span> <span class="n">on_error</span><span class="p">;</span>
<span class="n">pthread_join</span><span class="p">(</span><span class="n">worker</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
- <span class="n">printf</span><span class="p">(</span><span class="s">&quot;</span><span class="se">\r</span><span class="s">Received %d/%d objects in %zu bytes</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">stats</span><span class="p">.</span><span class="n">processed</span><span class="p">,</span> <span class="n">stats</span><span class="p">.</span><span class="n">total</span><span class="p">,</span> <span class="n">bytes</span><span class="p">);</span></pre></div>
+ <span class="n">printf</span><span class="p">(</span><span class="s">&quot;</span><span class="se">\r</span><span class="s">Received %d/%d objects in %zu bytes</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span>
+ <span class="n">stats</span><span class="o">-&gt;</span><span class="n">indexed_objects</span><span class="p">,</span> <span class="n">stats</span><span class="o">-&gt;</span><span class="n">total_objects</span><span class="p">,</span> <span class="n">stats</span><span class="o">-&gt;</span><span class="n">received_bytes</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-8'>
diff --git a/ex/HEAD/general.html b/ex/HEAD/general.html
index d421132d6..d287a77cb 100644
--- a/ex/HEAD/general.html
+++ b/ex/HEAD/general.html
@@ -113,9 +113,9 @@ we are assuming they are in the normal places.</p>
<td class=code>
<div class='highlight'><pre> <span class="n">git_repository</span> <span class="o">*</span><span class="n">repo</span><span class="p">;</span>
<span class="k">if</span> <span class="p">(</span><span class="n">argc</span> <span class="o">&gt;</span> <span class="mi">1</span><span class="p">)</span> <span class="p">{</span>
- <span class="n"><a name="git_repository_open-13" class="fnlink" href="../../#HEAD/group/repository/git_repository_open">git_repository_open</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">repo</span><span class="p">,</span> <span class="n">argv</span><span class="p">[</span><span class="mi">1</span><span class="p">]);</span>
+ <span class="n"><a name="git_repository_open-22" class="fnlink" href="../../#HEAD/group/repository/git_repository_open">git_repository_open</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">repo</span><span class="p">,</span> <span class="n">argv</span><span class="p">[</span><span class="mi">1</span><span class="p">]);</span>
<span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
- <span class="n"><a name="git_repository_open-14" class="fnlink" href="../../#HEAD/group/repository/git_repository_open">git_repository_open</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">repo</span><span class="p">,</span> <span class="s">&quot;/opt/libgit2-test/.git&quot;</span><span class="p">);</span>
+ <span class="n"><a name="git_repository_open-23" class="fnlink" href="../../#HEAD/group/repository/git_repository_open">git_repository_open</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">repo</span><span class="p">,</span> <span class="s">&quot;/opt/libgit2-test/.git&quot;</span><span class="p">);</span>
<span class="p">}</span></pre></div>
</td>
</tr>
@@ -152,7 +152,7 @@ for storing the value of the current SHA key we&rsquo;re working with.</p>
</td>
<td class=code>
<div class='highlight'><pre> <span class="n">git_oid</span> <span class="n">oid</span><span class="p">;</span>
- <span class="n"><a name="git_oid_fromstr-55" class="fnlink" href="../../#HEAD/group/oid/git_oid_fromstr">git_oid_fromstr</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">oid</span><span class="p">,</span> <span class="n">hex</span><span class="p">);</span></pre></div>
+ <span class="n"><a name="git_oid_fromstr-32" class="fnlink" href="../../#HEAD/group/oid/git_oid_fromstr">git_oid_fromstr</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">oid</span><span class="p">,</span> <span class="n">hex</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-9'>
@@ -187,7 +187,7 @@ for storing the value of the current SHA key we&rsquo;re working with.</p>
<p>If you have a oid, you can easily get the hex value of the SHA as well.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_oid_fmt-63" class="fnlink" href="../../#HEAD/group/oid/git_oid_fmt">git_oid_fmt</a></span><span class="p">(</span><span class="n">out</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span>
+ <div class='highlight'><pre> <span class="n"><a name="git_oid_fmt-40" class="fnlink" href="../../#HEAD/group/oid/git_oid_fmt">git_oid_fmt</a></span><span class="p">(</span><span class="n">out</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span>
<span class="n">printf</span><span class="p">(</span><span class="s">&quot;SHA hex string: %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">out</span><span class="p">);</span></pre></div>
</td>
</tr>
@@ -205,7 +205,7 @@ repository.</p>
</td>
<td class=code>
<div class='highlight'><pre> <span class="n">git_odb</span> <span class="o">*</span><span class="n">odb</span><span class="p">;</span>
- <span class="n"><a name="git_repository_odb-16" class="fnlink" href="../../#HEAD/group/repository/git_repository_odb">git_repository_odb</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">odb</span><span class="p">,</span> <span class="n">repo</span><span class="p">);</span></pre></div>
+ <span class="n"><a name="git_repository_odb-25" class="fnlink" href="../../#HEAD/group/repository/git_repository_odb">git_repository_odb</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">odb</span><span class="p">,</span> <span class="n">repo</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-Raw_Object_Reading'>
@@ -234,7 +234,7 @@ of the object. This allows us to access objects without knowing thier type and
the raw bytes unparsed.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n">error</span> <span class="o">=</span> <span class="n"><a name="git_odb_read-49" class="fnlink" href="../../#HEAD/group/odb/git_odb_read">git_odb_read</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">obj</span><span class="p">,</span> <span class="n">odb</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span></pre></div>
+ <div class='highlight'><pre> <span class="n">error</span> <span class="o">=</span> <span class="n"><a name="git_odb_read-45" class="fnlink" href="../../#HEAD/group/odb/git_odb_read">git_odb_read</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">obj</span><span class="p">,</span> <span class="n">odb</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-15'>
@@ -249,8 +249,8 @@ text or binary data. For a tree it is a special binary format, so it&rsquo;s unl
hugely helpful as a raw object.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n">data</span> <span class="o">=</span> <span class="p">(</span><span class="k">const</span> <span class="kt">unsigned</span> <span class="kt">char</span> <span class="o">*</span><span class="p">)</span><span class="n"><a name="git_odb_object_data-52" class="fnlink" href="../../#HEAD/group/odb/git_odb_object_data">git_odb_object_data</a></span><span class="p">(</span><span class="n">obj</span><span class="p">);</span>
- <span class="n">otype</span> <span class="o">=</span> <span class="n"><a name="git_odb_object_type-54" class="fnlink" href="../../#HEAD/group/odb/git_odb_object_type">git_odb_object_type</a></span><span class="p">(</span><span class="n">obj</span><span class="p">);</span></pre></div>
+ <div class='highlight'><pre> <span class="n">data</span> <span class="o">=</span> <span class="p">(</span><span class="k">const</span> <span class="kt">unsigned</span> <span class="kt">char</span> <span class="o">*</span><span class="p">)</span><span class="n"><a name="git_odb_object_data-48" class="fnlink" href="../../#HEAD/group/odb/git_odb_object_data">git_odb_object_data</a></span><span class="p">(</span><span class="n">obj</span><span class="p">);</span>
+ <span class="n">otype</span> <span class="o">=</span> <span class="n"><a name="git_odb_object_type-50" class="fnlink" href="../../#HEAD/group/odb/git_odb_object_type">git_odb_object_type</a></span><span class="p">(</span><span class="n">obj</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-16'>
@@ -262,9 +262,9 @@ hugely helpful as a raw object.</p>
representation of that value (and vice-versa).</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n">str_type</span> <span class="o">=</span> <span class="n"><a name="git_object_type2string-74" class="fnlink" href="../../#HEAD/group/object/git_object_type2string">git_object_type2string</a></span><span class="p">(</span><span class="n">otype</span><span class="p">);</span>
+ <div class='highlight'><pre> <span class="n">str_type</span> <span class="o">=</span> <span class="n"><a name="git_object_type2string-52" class="fnlink" href="../../#HEAD/group/object/git_object_type2string">git_object_type2string</a></span><span class="p">(</span><span class="n">otype</span><span class="p">);</span>
<span class="n">printf</span><span class="p">(</span><span class="s">&quot;object length and type: %d, %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span>
- <span class="p">(</span><span class="kt">int</span><span class="p">)</span><span class="n"><a name="git_odb_object_size-53" class="fnlink" href="../../#HEAD/group/odb/git_odb_object_size">git_odb_object_size</a></span><span class="p">(</span><span class="n">obj</span><span class="p">),</span>
+ <span class="p">(</span><span class="kt">int</span><span class="p">)</span><span class="n"><a name="git_odb_object_size-49" class="fnlink" href="../../#HEAD/group/odb/git_odb_object_size">git_odb_object_size</a></span><span class="p">(</span><span class="n">obj</span><span class="p">),</span>
<span class="n">str_type</span><span class="p">);</span></pre></div>
</td>
</tr>
@@ -277,7 +277,7 @@ representation of that value (and vice-versa).</p>
memory.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_odb_object_free-51" class="fnlink" href="../../#HEAD/group/odb/git_odb_object_free">git_odb_object_free</a></span><span class="p">(</span><span class="n">obj</span><span class="p">);</span></pre></div>
+ <div class='highlight'><pre> <span class="n"><a name="git_odb_object_free-47" class="fnlink" href="../../#HEAD/group/odb/git_odb_object_free">git_odb_object_free</a></span><span class="p">(</span><span class="n">obj</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-Raw_Object_Writing'>
@@ -302,7 +302,7 @@ that just contains a simple string. Notice that we have to specify the object t
the <code>git_otype</code> enum.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_odb_write-50" class="fnlink" href="../../#HEAD/group/odb/git_odb_write">git_odb_write</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">oid</span><span class="p">,</span> <span class="n">odb</span><span class="p">,</span> <span class="s">&quot;test data&quot;</span><span class="p">,</span> <span class="k">sizeof</span><span class="p">(</span><span class="s">&quot;test data&quot;</span><span class="p">)</span> <span class="o">-</span> <span class="mi">1</span><span class="p">,</span> <span class="n">GIT_OBJ_BLOB</span><span class="p">);</span></pre></div>
+ <div class='highlight'><pre> <span class="n"><a name="git_odb_write-46" class="fnlink" href="../../#HEAD/group/odb/git_odb_write">git_odb_write</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">oid</span><span class="p">,</span> <span class="n">odb</span><span class="p">,</span> <span class="s">&quot;test data&quot;</span><span class="p">,</span> <span class="k">sizeof</span><span class="p">(</span><span class="s">&quot;test data&quot;</span><span class="p">)</span> <span class="o">-</span> <span class="mi">1</span><span class="p">,</span> <span class="n">GIT_OBJ_BLOB</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-20'>
@@ -314,7 +314,7 @@ the <code>git_otype</code> enum.</p>
object was written to our database.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_oid_fmt-64" class="fnlink" href="../../#HEAD/group/oid/git_oid_fmt">git_oid_fmt</a></span><span class="p">(</span><span class="n">out</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span>
+ <div class='highlight'><pre> <span class="n"><a name="git_oid_fmt-41" class="fnlink" href="../../#HEAD/group/oid/git_oid_fmt">git_oid_fmt</a></span><span class="p">(</span><span class="n">out</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span>
<span class="n">printf</span><span class="p">(</span><span class="s">&quot;Written Object: %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">out</span><span class="p">);</span></pre></div>
</td>
</tr>
@@ -347,9 +347,9 @@ yourself.</p>
<div class='highlight'><pre> <span class="n">printf</span><span class="p">(</span><span class="s">&quot;</span><span class="se">\n</span><span class="s">*Commit Parsing*</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">);</span>
<span class="n">git_commit</span> <span class="o">*</span><span class="n">commit</span><span class="p">;</span>
- <span class="n"><a name="git_oid_fromstr-56" class="fnlink" href="../../#HEAD/group/oid/git_oid_fromstr">git_oid_fromstr</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">oid</span><span class="p">,</span> <span class="s">&quot;f0877d0b841d75172ec404fc9370173dfffc20d1&quot;</span><span class="p">);</span>
+ <span class="n"><a name="git_oid_fromstr-33" class="fnlink" href="../../#HEAD/group/oid/git_oid_fromstr">git_oid_fromstr</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">oid</span><span class="p">,</span> <span class="s">&quot;f0877d0b841d75172ec404fc9370173dfffc20d1&quot;</span><span class="p">);</span>
- <span class="n">error</span> <span class="o">=</span> <span class="n"><a name="git_commit_lookup-23" class="fnlink" href="../../#HEAD/group/commit/git_commit_lookup">git_commit_lookup</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">commit</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span>
+ <span class="n">error</span> <span class="o">=</span> <span class="n"><a name="git_commit_lookup-59" class="fnlink" href="../../#HEAD/group/commit/git_commit_lookup">git_commit_lookup</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">commit</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span>
<span class="k">const</span> <span class="n">git_signature</span> <span class="o">*</span><span class="n">author</span><span class="p">,</span> <span class="o">*</span><span class="n">cmtter</span><span class="p">;</span>
<span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">message</span><span class="p">;</span>
@@ -363,14 +363,14 @@ yourself.</p>
<a class="pilcrow" href="#section-23">&#182;</a>
</div>
<p>Each of the properties of the commit object are accessible via methods, including commonly
-needed variations, such as <code><a name="git_commit_time-33" class="fnlink" href="../../#HEAD/group/commit/git_commit_time">git_commit_time</a></code> which returns the author time and <code>_message</code>
+needed variations, such as <code><a name="git_commit_time-69" class="fnlink" href="../../#HEAD/group/commit/git_commit_time">git_commit_time</a></code> which returns the author time and <code>_message</code>
which gives you the commit message.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n">message</span> <span class="o">=</span> <span class="n"><a name="git_commit_message-31" class="fnlink" href="../../#HEAD/group/commit/git_commit_message">git_commit_message</a></span><span class="p">(</span><span class="n">commit</span><span class="p">);</span>
- <span class="n">author</span> <span class="o">=</span> <span class="n"><a name="git_commit_author-36" class="fnlink" href="../../#HEAD/group/commit/git_commit_author">git_commit_author</a></span><span class="p">(</span><span class="n">commit</span><span class="p">);</span>
- <span class="n">cmtter</span> <span class="o">=</span> <span class="n"><a name="git_commit_committer-35" class="fnlink" href="../../#HEAD/group/commit/git_commit_committer">git_commit_committer</a></span><span class="p">(</span><span class="n">commit</span><span class="p">);</span>
- <span class="n">ctime</span> <span class="o">=</span> <span class="n"><a name="git_commit_time-34" class="fnlink" href="../../#HEAD/group/commit/git_commit_time">git_commit_time</a></span><span class="p">(</span><span class="n">commit</span><span class="p">);</span></pre></div>
+ <div class='highlight'><pre> <span class="n">message</span> <span class="o">=</span> <span class="n"><a name="git_commit_message-67" class="fnlink" href="../../#HEAD/group/commit/git_commit_message">git_commit_message</a></span><span class="p">(</span><span class="n">commit</span><span class="p">);</span>
+ <span class="n">author</span> <span class="o">=</span> <span class="n"><a name="git_commit_author-72" class="fnlink" href="../../#HEAD/group/commit/git_commit_author">git_commit_author</a></span><span class="p">(</span><span class="n">commit</span><span class="p">);</span>
+ <span class="n">cmtter</span> <span class="o">=</span> <span class="n"><a name="git_commit_committer-71" class="fnlink" href="../../#HEAD/group/commit/git_commit_committer">git_commit_committer</a></span><span class="p">(</span><span class="n">commit</span><span class="p">);</span>
+ <span class="n">ctime</span> <span class="o">=</span> <span class="n"><a name="git_commit_time-70" class="fnlink" href="../../#HEAD/group/commit/git_commit_time">git_commit_time</a></span><span class="p">(</span><span class="n">commit</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-24'>
@@ -395,13 +395,13 @@ will have one, which is the commit it was based on, and merge commits will have
Commits can technically have any number, though it&rsquo;s pretty rare to have more than two.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n">parents</span> <span class="o">=</span> <span class="n"><a name="git_commit_parentcount-38" class="fnlink" href="../../#HEAD/group/commit/git_commit_parentcount">git_commit_parentcount</a></span><span class="p">(</span><span class="n">commit</span><span class="p">);</span>
+ <div class='highlight'><pre> <span class="n">parents</span> <span class="o">=</span> <span class="n"><a name="git_commit_parentcount-74" class="fnlink" href="../../#HEAD/group/commit/git_commit_parentcount">git_commit_parentcount</a></span><span class="p">(</span><span class="n">commit</span><span class="p">);</span>
<span class="k">for</span> <span class="p">(</span><span class="n">p</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span><span class="n">p</span> <span class="o">&lt;</span> <span class="n">parents</span><span class="p">;</span><span class="n">p</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
<span class="n">git_commit</span> <span class="o">*</span><span class="n">parent</span><span class="p">;</span>
- <span class="n"><a name="git_commit_parent-39" class="fnlink" href="../../#HEAD/group/commit/git_commit_parent">git_commit_parent</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">parent</span><span class="p">,</span> <span class="n">commit</span><span class="p">,</span> <span class="n">p</span><span class="p">);</span>
- <span class="n"><a name="git_oid_fmt-65" class="fnlink" href="../../#HEAD/group/oid/git_oid_fmt">git_oid_fmt</a></span><span class="p">(</span><span class="n">out</span><span class="p">,</span> <span class="n"><a name="git_commit_id-30" class="fnlink" href="../../#HEAD/group/commit/git_commit_id">git_commit_id</a></span><span class="p">(</span><span class="n">parent</span><span class="p">));</span>
+ <span class="n"><a name="git_commit_parent-75" class="fnlink" href="../../#HEAD/group/commit/git_commit_parent">git_commit_parent</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">parent</span><span class="p">,</span> <span class="n">commit</span><span class="p">,</span> <span class="n">p</span><span class="p">);</span>
+ <span class="n"><a name="git_oid_fmt-42" class="fnlink" href="../../#HEAD/group/oid/git_oid_fmt">git_oid_fmt</a></span><span class="p">(</span><span class="n">out</span><span class="p">,</span> <span class="n"><a name="git_commit_id-66" class="fnlink" href="../../#HEAD/group/commit/git_commit_id">git_commit_id</a></span><span class="p">(</span><span class="n">parent</span><span class="p">));</span>
<span class="n">printf</span><span class="p">(</span><span class="s">&quot;Parent: %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">out</span><span class="p">);</span>
- <span class="n"><a name="git_commit_free-26" class="fnlink" href="../../#HEAD/group/commit/git_commit_free">git_commit_free</a></span><span class="p">(</span><span class="n">parent</span><span class="p">);</span>
+ <span class="n"><a name="git_commit_free-62" class="fnlink" href="../../#HEAD/group/commit/git_commit_free">git_commit_free</a></span><span class="p">(</span><span class="n">parent</span><span class="p">);</span>
<span class="p">}</span></pre></div>
</td>
</tr>
@@ -414,7 +414,7 @@ Commits can technically have any number, though it&rsquo;s pretty rare to have m
all the objects you open and parse.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_commit_free-27" class="fnlink" href="../../#HEAD/group/commit/git_commit_free">git_commit_free</a></span><span class="p">(</span><span class="n">commit</span><span class="p">);</span></pre></div>
+ <div class='highlight'><pre> <span class="n"><a name="git_commit_free-63" class="fnlink" href="../../#HEAD/group/commit/git_commit_free">git_commit_free</a></span><span class="p">(</span><span class="n">commit</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-Writing_Commits'>
@@ -446,9 +446,9 @@ and email should be found in the <code>user.name</code> and <code>user.email</co
section of this example file to see how to access config values.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_signature_new-1" class="fnlink" href="../../#HEAD/group/signature/git_signature_new">git_signature_new</a></span><span class="p">((</span><span class="n">git_signature</span> <span class="o">**</span><span class="p">)</span><span class="o">&amp;</span><span class="n">author</span><span class="p">,</span> <span class="s">&quot;Scott Chacon&quot;</span><span class="p">,</span> <span class="s">&quot;schacon@gmail.com&quot;</span><span class="p">,</span>
+ <div class='highlight'><pre> <span class="n"><a name="git_signature_new-15" class="fnlink" href="../../#HEAD/group/signature/git_signature_new">git_signature_new</a></span><span class="p">((</span><span class="n">git_signature</span> <span class="o">**</span><span class="p">)</span><span class="o">&amp;</span><span class="n">author</span><span class="p">,</span> <span class="s">&quot;Scott Chacon&quot;</span><span class="p">,</span> <span class="s">&quot;schacon@gmail.com&quot;</span><span class="p">,</span>
<span class="mi">123456789</span><span class="p">,</span> <span class="mi">60</span><span class="p">);</span>
- <span class="n"><a name="git_signature_new-2" class="fnlink" href="../../#HEAD/group/signature/git_signature_new">git_signature_new</a></span><span class="p">((</span><span class="n">git_signature</span> <span class="o">**</span><span class="p">)</span><span class="o">&amp;</span><span class="n">cmtter</span><span class="p">,</span> <span class="s">&quot;Scott A Chacon&quot;</span><span class="p">,</span> <span class="s">&quot;scott@github.com&quot;</span><span class="p">,</span>
+ <span class="n"><a name="git_signature_new-16" class="fnlink" href="../../#HEAD/group/signature/git_signature_new">git_signature_new</a></span><span class="p">((</span><span class="n">git_signature</span> <span class="o">**</span><span class="p">)</span><span class="o">&amp;</span><span class="n">cmtter</span><span class="p">,</span> <span class="s">&quot;Scott A Chacon&quot;</span><span class="p">,</span> <span class="s">&quot;scott@github.com&quot;</span><span class="p">,</span>
<span class="mi">987654321</span><span class="p">,</span> <span class="mi">90</span><span class="p">);</span></pre></div>
</td>
</tr>
@@ -461,10 +461,10 @@ section of this example file to see how to access config values.</p>
objects to create the commit with, but you can also use</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_oid_fromstr-57" class="fnlink" href="../../#HEAD/group/oid/git_oid_fromstr">git_oid_fromstr</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">tree_id</span><span class="p">,</span> <span class="s">&quot;28873d96b4e8f4e33ea30f4c682fd325f7ba56ac&quot;</span><span class="p">);</span>
- <span class="n"><a name="git_tree_lookup-41" class="fnlink" href="../../#HEAD/group/tree/git_tree_lookup">git_tree_lookup</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">tree</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">tree_id</span><span class="p">);</span>
- <span class="n"><a name="git_oid_fromstr-58" class="fnlink" href="../../#HEAD/group/oid/git_oid_fromstr">git_oid_fromstr</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">parent_id</span><span class="p">,</span> <span class="s">&quot;f0877d0b841d75172ec404fc9370173dfffc20d1&quot;</span><span class="p">);</span>
- <span class="n"><a name="git_commit_lookup-24" class="fnlink" href="../../#HEAD/group/commit/git_commit_lookup">git_commit_lookup</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">parent</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">parent_id</span><span class="p">);</span></pre></div>
+ <div class='highlight'><pre> <span class="n"><a name="git_oid_fromstr-34" class="fnlink" href="../../#HEAD/group/oid/git_oid_fromstr">git_oid_fromstr</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">tree_id</span><span class="p">,</span> <span class="s">&quot;28873d96b4e8f4e33ea30f4c682fd325f7ba56ac&quot;</span><span class="p">);</span>
+ <span class="n"><a name="git_tree_lookup-1" class="fnlink" href="../../#HEAD/group/tree/git_tree_lookup">git_tree_lookup</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">tree</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">tree_id</span><span class="p">);</span>
+ <span class="n"><a name="git_oid_fromstr-35" class="fnlink" href="../../#HEAD/group/oid/git_oid_fromstr">git_oid_fromstr</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">parent_id</span><span class="p">,</span> <span class="s">&quot;f0877d0b841d75172ec404fc9370173dfffc20d1&quot;</span><span class="p">);</span>
+ <span class="n"><a name="git_commit_lookup-60" class="fnlink" href="../../#HEAD/group/commit/git_commit_lookup">git_commit_lookup</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">parent</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">parent_id</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-30'>
@@ -476,7 +476,7 @@ objects to create the commit with, but you can also use</p>
the commit. The SHA key is written to the <code>commit_id</code> variable here.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_commit_create_v-40" class="fnlink" href="../../#HEAD/group/commit/git_commit_create_v">git_commit_create_v</a></span><span class="p">(</span>
+ <div class='highlight'><pre> <span class="n"><a name="git_commit_create_v-76" class="fnlink" href="../../#HEAD/group/commit/git_commit_create_v">git_commit_create_v</a></span><span class="p">(</span>
<span class="o">&amp;</span><span class="n">commit_id</span><span class="p">,</span> <span class="cm">/* out id */</span>
<span class="n">repo</span><span class="p">,</span>
<span class="nb">NULL</span><span class="p">,</span> <span class="cm">/* do not update the HEAD */</span>
@@ -496,7 +496,7 @@ the commit. The SHA key is written to the <code>commit_id</code> variable here.
<p>Now we can take a look at the commit SHA we&rsquo;ve generated.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_oid_fmt-66" class="fnlink" href="../../#HEAD/group/oid/git_oid_fmt">git_oid_fmt</a></span><span class="p">(</span><span class="n">out</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">commit_id</span><span class="p">);</span>
+ <div class='highlight'><pre> <span class="n"><a name="git_oid_fmt-43" class="fnlink" href="../../#HEAD/group/oid/git_oid_fmt">git_oid_fmt</a></span><span class="p">(</span><span class="n">out</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">commit_id</span><span class="p">);</span>
<span class="n">printf</span><span class="p">(</span><span class="s">&quot;New Commit: %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">out</span><span class="p">);</span></pre></div>
</td>
</tr>
@@ -526,9 +526,9 @@ to the commit lookup, parsing and creation methods, since the objects themselves
way that we would a commit (or any other) object.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_oid_fromstr-59" class="fnlink" href="../../#HEAD/group/oid/git_oid_fromstr">git_oid_fromstr</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">oid</span><span class="p">,</span> <span class="s">&quot;bc422d45275aca289c51d79830b45cecebff7c3a&quot;</span><span class="p">);</span>
+ <div class='highlight'><pre> <span class="n"><a name="git_oid_fromstr-36" class="fnlink" href="../../#HEAD/group/oid/git_oid_fromstr">git_oid_fromstr</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">oid</span><span class="p">,</span> <span class="s">&quot;bc422d45275aca289c51d79830b45cecebff7c3a&quot;</span><span class="p">);</span>
- <span class="n">error</span> <span class="o">=</span> <span class="n"><a name="git_tag_lookup-18" class="fnlink" href="../../#HEAD/group/tag/git_tag_lookup">git_tag_lookup</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">tag</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span></pre></div>
+ <span class="n">error</span> <span class="o">=</span> <span class="n"><a name="git_tag_lookup-9" class="fnlink" href="../../#HEAD/group/tag/git_tag_lookup">git_tag_lookup</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">tag</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-34'>
@@ -541,13 +541,13 @@ way that we would a commit (or any other) object.</p>
the tagger (a git_signature &ndash; name, email, timestamp), and the tag message.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_tag_target-19" class="fnlink" href="../../#HEAD/group/tag/git_tag_target">git_tag_target</a></span><span class="p">((</span><span class="n">git_object</span> <span class="o">**</span><span class="p">)</span><span class="o">&amp;</span><span class="n">commit</span><span class="p">,</span> <span class="n">tag</span><span class="p">);</span>
- <span class="n">tname</span> <span class="o">=</span> <span class="n"><a name="git_tag_name-21" class="fnlink" href="../../#HEAD/group/tag/git_tag_name">git_tag_name</a></span><span class="p">(</span><span class="n">tag</span><span class="p">);</span> <span class="c1">// &quot;test&quot;</span>
- <span class="n">ttype</span> <span class="o">=</span> <span class="n"><a name="git_tag_type-20" class="fnlink" href="../../#HEAD/group/tag/git_tag_type">git_tag_type</a></span><span class="p">(</span><span class="n">tag</span><span class="p">);</span> <span class="c1">// GIT_OBJ_COMMIT (otype enum)</span>
- <span class="n">tmessage</span> <span class="o">=</span> <span class="n"><a name="git_tag_message-22" class="fnlink" href="../../#HEAD/group/tag/git_tag_message">git_tag_message</a></span><span class="p">(</span><span class="n">tag</span><span class="p">);</span> <span class="c1">// &quot;tag message\n&quot;</span>
+ <div class='highlight'><pre> <span class="n"><a name="git_tag_target-10" class="fnlink" href="../../#HEAD/group/tag/git_tag_target">git_tag_target</a></span><span class="p">((</span><span class="n">git_object</span> <span class="o">**</span><span class="p">)</span><span class="o">&amp;</span><span class="n">commit</span><span class="p">,</span> <span class="n">tag</span><span class="p">);</span>
+ <span class="n">tname</span> <span class="o">=</span> <span class="n"><a name="git_tag_name-12" class="fnlink" href="../../#HEAD/group/tag/git_tag_name">git_tag_name</a></span><span class="p">(</span><span class="n">tag</span><span class="p">);</span> <span class="c1">// &quot;test&quot;</span>
+ <span class="n">ttype</span> <span class="o">=</span> <span class="n"><a name="git_tag_type-11" class="fnlink" href="../../#HEAD/group/tag/git_tag_type">git_tag_type</a></span><span class="p">(</span><span class="n">tag</span><span class="p">);</span> <span class="c1">// GIT_OBJ_COMMIT (otype enum)</span>
+ <span class="n">tmessage</span> <span class="o">=</span> <span class="n"><a name="git_tag_message-13" class="fnlink" href="../../#HEAD/group/tag/git_tag_message">git_tag_message</a></span><span class="p">(</span><span class="n">tag</span><span class="p">);</span> <span class="c1">// &quot;tag message\n&quot;</span>
<span class="n">printf</span><span class="p">(</span><span class="s">&quot;Tag Message: %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">tmessage</span><span class="p">);</span>
- <span class="n"><a name="git_commit_free-28" class="fnlink" href="../../#HEAD/group/commit/git_commit_free">git_commit_free</a></span><span class="p">(</span><span class="n">commit</span><span class="p">);</span></pre></div>
+ <span class="n"><a name="git_commit_free-64" class="fnlink" href="../../#HEAD/group/commit/git_commit_free">git_commit_free</a></span><span class="p">(</span><span class="n">commit</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-Tree_Parsing'>
@@ -576,8 +576,8 @@ traversing tree entries.</p>
<p>Create the oid and lookup the tree object just like the other objects.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_oid_fromstr-60" class="fnlink" href="../../#HEAD/group/oid/git_oid_fromstr">git_oid_fromstr</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">oid</span><span class="p">,</span> <span class="s">&quot;2a741c18ac5ff082a7caaec6e74db3075a1906b5&quot;</span><span class="p">);</span>
- <span class="n"><a name="git_tree_lookup-42" class="fnlink" href="../../#HEAD/group/tree/git_tree_lookup">git_tree_lookup</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">tree</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span></pre></div>
+ <div class='highlight'><pre> <span class="n"><a name="git_oid_fromstr-37" class="fnlink" href="../../#HEAD/group/oid/git_oid_fromstr">git_oid_fromstr</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">oid</span><span class="p">,</span> <span class="s">&quot;2a741c18ac5ff082a7caaec6e74db3075a1906b5&quot;</span><span class="p">);</span>
+ <span class="n"><a name="git_tree_lookup-2" class="fnlink" href="../../#HEAD/group/tree/git_tree_lookup">git_tree_lookup</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">tree</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-37'>
@@ -588,11 +588,11 @@ traversing tree entries.</p>
<p>Getting the count of entries in the tree so you can iterate over them if you want to.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="kt">int</span> <span class="n">cnt</span> <span class="o">=</span> <span class="n"><a name="git_tree_entrycount-43" class="fnlink" href="../../#HEAD/group/tree/git_tree_entrycount">git_tree_entrycount</a></span><span class="p">(</span><span class="n">tree</span><span class="p">);</span> <span class="c1">// 3</span>
+ <div class='highlight'><pre> <span class="kt">int</span> <span class="n">cnt</span> <span class="o">=</span> <span class="n"><a name="git_tree_entrycount-3" class="fnlink" href="../../#HEAD/group/tree/git_tree_entrycount">git_tree_entrycount</a></span><span class="p">(</span><span class="n">tree</span><span class="p">);</span> <span class="c1">// 3</span>
<span class="n">printf</span><span class="p">(</span><span class="s">&quot;tree entries: %d</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">cnt</span><span class="p">);</span>
- <span class="n">entry</span> <span class="o">=</span> <span class="n"><a name="git_tree_entry_byindex-45" class="fnlink" href="../../#HEAD/group/tree/git_tree_entry_byindex">git_tree_entry_byindex</a></span><span class="p">(</span><span class="n">tree</span><span class="p">,</span> <span class="mi">0</span><span class="p">);</span>
- <span class="n">printf</span><span class="p">(</span><span class="s">&quot;Entry name: %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n"><a name="git_tree_entry_name-46" class="fnlink" href="../../#HEAD/group/tree/git_tree_entry_name">git_tree_entry_name</a></span><span class="p">(</span><span class="n">entry</span><span class="p">));</span> <span class="c1">// &quot;hello.c&quot;</span></pre></div>
+ <span class="n">entry</span> <span class="o">=</span> <span class="n"><a name="git_tree_entry_byindex-5" class="fnlink" href="../../#HEAD/group/tree/git_tree_entry_byindex">git_tree_entry_byindex</a></span><span class="p">(</span><span class="n">tree</span><span class="p">,</span> <span class="mi">0</span><span class="p">);</span>
+ <span class="n">printf</span><span class="p">(</span><span class="s">&quot;Entry name: %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n"><a name="git_tree_entry_name-6" class="fnlink" href="../../#HEAD/group/tree/git_tree_entry_name">git_tree_entry_name</a></span><span class="p">(</span><span class="n">entry</span><span class="p">));</span> <span class="c1">// &quot;hello.c&quot;</span></pre></div>
</td>
</tr>
<tr id='section-38'>
@@ -603,8 +603,8 @@ traversing tree entries.</p>
<p>You can also access tree entries by name if you know the name of the entry you&rsquo;re looking for.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n">entry</span> <span class="o">=</span> <span class="n"><a name="git_tree_entry_byname-44" class="fnlink" href="../../#HEAD/group/tree/git_tree_entry_byname">git_tree_entry_byname</a></span><span class="p">(</span><span class="n">tree</span><span class="p">,</span> <span class="s">&quot;hello.c&quot;</span><span class="p">);</span>
- <span class="n"><a name="git_tree_entry_name-47" class="fnlink" href="../../#HEAD/group/tree/git_tree_entry_name">git_tree_entry_name</a></span><span class="p">(</span><span class="n">entry</span><span class="p">);</span> <span class="c1">// &quot;hello.c&quot;</span></pre></div>
+ <div class='highlight'><pre> <span class="n">entry</span> <span class="o">=</span> <span class="n"><a name="git_tree_entry_byname-4" class="fnlink" href="../../#HEAD/group/tree/git_tree_entry_byname">git_tree_entry_byname</a></span><span class="p">(</span><span class="n">tree</span><span class="p">,</span> <span class="s">&quot;hello.c&quot;</span><span class="p">);</span>
+ <span class="n"><a name="git_tree_entry_name-7" class="fnlink" href="../../#HEAD/group/tree/git_tree_entry_name">git_tree_entry_name</a></span><span class="p">(</span><span class="n">entry</span><span class="p">);</span> <span class="c1">// &quot;hello.c&quot;</span></pre></div>
</td>
</tr>
<tr id='section-39'>
@@ -616,7 +616,7 @@ traversing tree entries.</p>
of submodules) that it points to. You can also get the mode if you want.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_tree_entry_to_object-48" class="fnlink" href="../../#HEAD/group/tree/git_tree_entry_to_object">git_tree_entry_to_object</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">objt</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="n">entry</span><span class="p">);</span> <span class="c1">// blob</span></pre></div>
+ <div class='highlight'><pre> <span class="n"><a name="git_tree_entry_to_object-8" class="fnlink" href="../../#HEAD/group/tree/git_tree_entry_to_object">git_tree_entry_to_object</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">objt</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="n">entry</span><span class="p">);</span> <span class="c1">// blob</span></pre></div>
</td>
</tr>
<tr id='section-40'>
@@ -627,7 +627,7 @@ of submodules) that it points to. You can also get the mode if you want.</p>
<p>Remember to close the looked-up object once you are done using it</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_object_free-73" class="fnlink" href="../../#HEAD/group/object/git_object_free">git_object_free</a></span><span class="p">(</span><span class="n">objt</span><span class="p">);</span></pre></div>
+ <div class='highlight'><pre> <span class="n"><a name="git_object_free-51" class="fnlink" href="../../#HEAD/group/object/git_object_free">git_object_free</a></span><span class="p">(</span><span class="n">objt</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-Blob_Parsing'>
@@ -647,8 +647,8 @@ getting the oid back so you don&rsquo;t have to do all those steps yourself.</p>
<div class='highlight'><pre> <span class="n">printf</span><span class="p">(</span><span class="s">&quot;</span><span class="se">\n</span><span class="s">*Blob Parsing*</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">);</span>
<span class="n">git_blob</span> <span class="o">*</span><span class="n">blob</span><span class="p">;</span>
- <span class="n"><a name="git_oid_fromstr-61" class="fnlink" href="../../#HEAD/group/oid/git_oid_fromstr">git_oid_fromstr</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">oid</span><span class="p">,</span> <span class="s">&quot;af7574ea73f7b166f869ef1a39be126d9a186ae0&quot;</span><span class="p">);</span>
- <span class="n"><a name="git_blob_lookup-6" class="fnlink" href="../../#HEAD/group/blob/git_blob_lookup">git_blob_lookup</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">blob</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span></pre></div>
+ <span class="n"><a name="git_oid_fromstr-38" class="fnlink" href="../../#HEAD/group/oid/git_oid_fromstr">git_oid_fromstr</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">oid</span><span class="p">,</span> <span class="s">&quot;af7574ea73f7b166f869ef1a39be126d9a186ae0&quot;</span><span class="p">);</span>
+ <span class="n"><a name="git_blob_lookup-77" class="fnlink" href="../../#HEAD/group/blob/git_blob_lookup">git_blob_lookup</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">blob</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-42'>
@@ -658,12 +658,12 @@ getting the oid back so you don&rsquo;t have to do all those steps yourself.</p>
</div>
<p>You can access a buffer with the raw contents of the blob directly.
Note that this buffer may not be contain ASCII data for certain blobs (e.g. binary files):
-do not consider the buffer a NULL-terminated string, and use the <code><a name="git_blob_rawsize-8" class="fnlink" href="../../#HEAD/group/blob/git_blob_rawsize">git_blob_rawsize</a></code> attribute to
+do not consider the buffer a NULL-terminated string, and use the <code><a name="git_blob_rawsize-79" class="fnlink" href="../../#HEAD/group/blob/git_blob_rawsize">git_blob_rawsize</a></code> attribute to
find out its exact size in bytes</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n">printf</span><span class="p">(</span><span class="s">&quot;Blob Size: %ld</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n"><a name="git_blob_rawsize-9" class="fnlink" href="../../#HEAD/group/blob/git_blob_rawsize">git_blob_rawsize</a></span><span class="p">(</span><span class="n">blob</span><span class="p">));</span> <span class="c1">// 8</span>
- <span class="n"><a name="git_blob_rawcontent-7" class="fnlink" href="../../#HEAD/group/blob/git_blob_rawcontent">git_blob_rawcontent</a></span><span class="p">(</span><span class="n">blob</span><span class="p">);</span> <span class="c1">// &quot;content&quot;</span></pre></div>
+ <div class='highlight'><pre> <span class="n">printf</span><span class="p">(</span><span class="s">&quot;Blob Size: %ld</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n"><a name="git_blob_rawsize-80" class="fnlink" href="../../#HEAD/group/blob/git_blob_rawsize">git_blob_rawsize</a></span><span class="p">(</span><span class="n">blob</span><span class="p">));</span> <span class="c1">// 8</span>
+ <span class="n"><a name="git_blob_rawcontent-78" class="fnlink" href="../../#HEAD/group/blob/git_blob_rawcontent">git_blob_rawcontent</a></span><span class="p">(</span><span class="n">blob</span><span class="p">);</span> <span class="c1">// &quot;content&quot;</span></pre></div>
</td>
</tr>
<tr id='section-Revwalking'>
@@ -684,7 +684,7 @@ type functionality.</p>
<span class="n">git_revwalk</span> <span class="o">*</span><span class="n">walk</span><span class="p">;</span>
<span class="n">git_commit</span> <span class="o">*</span><span class="n">wcommit</span><span class="p">;</span>
- <span class="n"><a name="git_oid_fromstr-62" class="fnlink" href="../../#HEAD/group/oid/git_oid_fromstr">git_oid_fromstr</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">oid</span><span class="p">,</span> <span class="s">&quot;f0877d0b841d75172ec404fc9370173dfffc20d1&quot;</span><span class="p">);</span></pre></div>
+ <span class="n"><a name="git_oid_fromstr-39" class="fnlink" href="../../#HEAD/group/oid/git_oid_fromstr">git_oid_fromstr</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">oid</span><span class="p">,</span> <span class="s">&quot;f0877d0b841d75172ec404fc9370173dfffc20d1&quot;</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-44'>
@@ -700,9 +700,9 @@ want to emulate <code>git log branch1..branch2</code>, you would push the oid of
of <code>branch1</code>.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_revwalk_new-68" class="fnlink" href="../../#HEAD/group/revwalk/git_revwalk_new">git_revwalk_new</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">walk</span><span class="p">,</span> <span class="n">repo</span><span class="p">);</span>
- <span class="n"><a name="git_revwalk_sorting-71" class="fnlink" href="../../#HEAD/group/revwalk/git_revwalk_sorting">git_revwalk_sorting</a></span><span class="p">(</span><span class="n">walk</span><span class="p">,</span> <span class="n">GIT_SORT_TOPOLOGICAL</span> <span class="o">|</span> <span class="n">GIT_SORT_REVERSE</span><span class="p">);</span>
- <span class="n"><a name="git_revwalk_push-69" class="fnlink" href="../../#HEAD/group/revwalk/git_revwalk_push">git_revwalk_push</a></span><span class="p">(</span><span class="n">walk</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span>
+ <div class='highlight'><pre> <span class="n"><a name="git_revwalk_new-17" class="fnlink" href="../../#HEAD/group/revwalk/git_revwalk_new">git_revwalk_new</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">walk</span><span class="p">,</span> <span class="n">repo</span><span class="p">);</span>
+ <span class="n"><a name="git_revwalk_sorting-20" class="fnlink" href="../../#HEAD/group/revwalk/git_revwalk_sorting">git_revwalk_sorting</a></span><span class="p">(</span><span class="n">walk</span><span class="p">,</span> <span class="n">GIT_SORT_TOPOLOGICAL</span> <span class="o">|</span> <span class="n">GIT_SORT_REVERSE</span><span class="p">);</span>
+ <span class="n"><a name="git_revwalk_push-18" class="fnlink" href="../../#HEAD/group/revwalk/git_revwalk_push">git_revwalk_push</a></span><span class="p">(</span><span class="n">walk</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span>
<span class="k">const</span> <span class="n">git_signature</span> <span class="o">*</span><span class="n">cauth</span><span class="p">;</span>
<span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">cmsg</span><span class="p">;</span></pre></div>
@@ -720,12 +720,12 @@ note that this operation is specially fast since the raw contents of the commit
be cached in memory</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="k">while</span> <span class="p">((</span><span class="n"><a name="git_revwalk_next-70" class="fnlink" href="../../#HEAD/group/revwalk/git_revwalk_next">git_revwalk_next</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">oid</span><span class="p">,</span> <span class="n">walk</span><span class="p">))</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
- <span class="n">error</span> <span class="o">=</span> <span class="n"><a name="git_commit_lookup-25" class="fnlink" href="../../#HEAD/group/commit/git_commit_lookup">git_commit_lookup</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">wcommit</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span>
- <span class="n">cmsg</span> <span class="o">=</span> <span class="n"><a name="git_commit_message-32" class="fnlink" href="../../#HEAD/group/commit/git_commit_message">git_commit_message</a></span><span class="p">(</span><span class="n">wcommit</span><span class="p">);</span>
- <span class="n">cauth</span> <span class="o">=</span> <span class="n"><a name="git_commit_author-37" class="fnlink" href="../../#HEAD/group/commit/git_commit_author">git_commit_author</a></span><span class="p">(</span><span class="n">wcommit</span><span class="p">);</span>
+ <div class='highlight'><pre> <span class="k">while</span> <span class="p">((</span><span class="n"><a name="git_revwalk_next-19" class="fnlink" href="../../#HEAD/group/revwalk/git_revwalk_next">git_revwalk_next</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">oid</span><span class="p">,</span> <span class="n">walk</span><span class="p">))</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+ <span class="n">error</span> <span class="o">=</span> <span class="n"><a name="git_commit_lookup-61" class="fnlink" href="../../#HEAD/group/commit/git_commit_lookup">git_commit_lookup</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">wcommit</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span>
+ <span class="n">cmsg</span> <span class="o">=</span> <span class="n"><a name="git_commit_message-68" class="fnlink" href="../../#HEAD/group/commit/git_commit_message">git_commit_message</a></span><span class="p">(</span><span class="n">wcommit</span><span class="p">);</span>
+ <span class="n">cauth</span> <span class="o">=</span> <span class="n"><a name="git_commit_author-73" class="fnlink" href="../../#HEAD/group/commit/git_commit_author">git_commit_author</a></span><span class="p">(</span><span class="n">wcommit</span><span class="p">);</span>
<span class="n">printf</span><span class="p">(</span><span class="s">&quot;%s (%s)</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">cmsg</span><span class="p">,</span> <span class="n">cauth</span><span class="o">-&gt;</span><span class="n">email</span><span class="p">);</span>
- <span class="n"><a name="git_commit_free-29" class="fnlink" href="../../#HEAD/group/commit/git_commit_free">git_commit_free</a></span><span class="p">(</span><span class="n">wcommit</span><span class="p">);</span>
+ <span class="n"><a name="git_commit_free-65" class="fnlink" href="../../#HEAD/group/commit/git_commit_free">git_commit_free</a></span><span class="p">(</span><span class="n">wcommit</span><span class="p">);</span>
<span class="p">}</span></pre></div>
</td>
</tr>
@@ -739,7 +739,7 @@ Also, make sure that the repository being walked it not deallocated while the wa
progress, or it will result in undefined behavior</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_revwalk_free-72" class="fnlink" href="../../#HEAD/group/revwalk/git_revwalk_free">git_revwalk_free</a></span><span class="p">(</span><span class="n">walk</span><span class="p">);</span></pre></div>
+ <div class='highlight'><pre> <span class="n"><a name="git_revwalk_free-21" class="fnlink" href="../../#HEAD/group/revwalk/git_revwalk_free">git_revwalk_free</a></span><span class="p">(</span><span class="n">walk</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-Index_File_Manipulation'>
@@ -769,7 +769,7 @@ here, or you can open and manipulate any index file with <code>git_index_open_ba
for the repository will be located and loaded from disk.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_repository_index-17" class="fnlink" href="../../#HEAD/group/repository/git_repository_index">git_repository_index</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">index</span><span class="p">,</span> <span class="n">repo</span><span class="p">);</span></pre></div>
+ <div class='highlight'><pre> <span class="n"><a name="git_repository_index-26" class="fnlink" href="../../#HEAD/group/repository/git_repository_index">git_repository_index</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">index</span><span class="p">,</span> <span class="n">repo</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-49'>
@@ -783,16 +783,16 @@ to help determine what to inspect for changes (ctime, mtime, dev, ino, uid, gid,
All these properties are exported publicly in the <code>git_index_entry</code> struct</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n">ecount</span> <span class="o">=</span> <span class="n"><a name="git_index_entrycount-12" class="fnlink" href="../../#HEAD/group/index/git_index_entrycount">git_index_entrycount</a></span><span class="p">(</span><span class="n">index</span><span class="p">);</span>
+ <div class='highlight'><pre> <span class="n">ecount</span> <span class="o">=</span> <span class="n"><a name="git_index_entrycount-54" class="fnlink" href="../../#HEAD/group/index/git_index_entrycount">git_index_entrycount</a></span><span class="p">(</span><span class="n">index</span><span class="p">);</span>
<span class="k">for</span> <span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="n">ecount</span><span class="p">;</span> <span class="o">++</span><span class="n">i</span><span class="p">)</span> <span class="p">{</span>
- <span class="n">git_index_entry</span> <span class="o">*</span><span class="n">e</span> <span class="o">=</span> <span class="n"><a name="git_index_get-11" class="fnlink" href="../../#HEAD/group/index/git_index_get">git_index_get</a></span><span class="p">(</span><span class="n">index</span><span class="p">,</span> <span class="n">i</span><span class="p">);</span>
+ <span class="n">git_index_entry</span> <span class="o">*</span><span class="n">e</span> <span class="o">=</span> <span class="n"><a name="git_index_get_byindex-55" class="fnlink" href="../../#HEAD/group/index/git_index_get_byindex">git_index_get_byindex</a></span><span class="p">(</span><span class="n">index</span><span class="p">,</span> <span class="n">i</span><span class="p">);</span>
<span class="n">printf</span><span class="p">(</span><span class="s">&quot;path: %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">e</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">);</span>
<span class="n">printf</span><span class="p">(</span><span class="s">&quot;mtime: %d</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="p">(</span><span class="kt">int</span><span class="p">)</span><span class="n">e</span><span class="o">-&gt;</span><span class="n">mtime</span><span class="p">.</span><span class="n">seconds</span><span class="p">);</span>
<span class="n">printf</span><span class="p">(</span><span class="s">&quot;fs: %d</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="p">(</span><span class="kt">int</span><span class="p">)</span><span class="n">e</span><span class="o">-&gt;</span><span class="n">file_size</span><span class="p">);</span>
<span class="p">}</span>
- <span class="n"><a name="git_index_free-10" class="fnlink" href="../../#HEAD/group/index/git_index_free">git_index_free</a></span><span class="p">(</span><span class="n">index</span><span class="p">);</span></pre></div>
+ <span class="n"><a name="git_index_free-53" class="fnlink" href="../../#HEAD/group/index/git_index_free">git_index_free</a></span><span class="p">(</span><span class="n">index</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-References'>
@@ -819,7 +819,7 @@ references and the object SHA they resolve to.</p>
</td>
<td class=code>
<div class='highlight'><pre> <span class="n">git_strarray</span> <span class="n">ref_list</span><span class="p">;</span>
- <span class="n"><a name="git_reference_list-79" class="fnlink" href="../../#HEAD/group/reference/git_reference_list">git_reference_list</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">ref_list</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="n">GIT_REF_LISTALL</span><span class="p">);</span>
+ <span class="n"><a name="git_reference_list-31" class="fnlink" href="../../#HEAD/group/reference/git_reference_list">git_reference_list</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">ref_list</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="n">GIT_REF_LISTALL</span><span class="p">);</span>
<span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">refname</span><span class="p">;</span>
<span class="n">git_reference</span> <span class="o">*</span><span class="n">ref</span><span class="p">;</span></pre></div>
@@ -836,16 +836,16 @@ resolve them to the SHA, then print both values out.</p>
<td class=code>
<div class='highlight'><pre> <span class="k">for</span> <span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="n">ref_list</span><span class="p">.</span><span class="n">count</span><span class="p">;</span> <span class="o">++</span><span class="n">i</span><span class="p">)</span> <span class="p">{</span>
<span class="n">refname</span> <span class="o">=</span> <span class="n">ref_list</span><span class="p">.</span><span class="n">strings</span><span class="p">[</span><span class="n">i</span><span class="p">];</span>
- <span class="n"><a name="git_reference_lookup-75" class="fnlink" href="../../#HEAD/group/reference/git_reference_lookup">git_reference_lookup</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">ref</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="n">refname</span><span class="p">);</span>
+ <span class="n"><a name="git_reference_lookup-27" class="fnlink" href="../../#HEAD/group/reference/git_reference_lookup">git_reference_lookup</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">ref</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="n">refname</span><span class="p">);</span>
- <span class="k">switch</span> <span class="p">(</span><span class="n"><a name="git_reference_type-78" class="fnlink" href="../../#HEAD/group/reference/git_reference_type">git_reference_type</a></span><span class="p">(</span><span class="n">ref</span><span class="p">))</span> <span class="p">{</span>
+ <span class="k">switch</span> <span class="p">(</span><span class="n"><a name="git_reference_type-30" class="fnlink" href="../../#HEAD/group/reference/git_reference_type">git_reference_type</a></span><span class="p">(</span><span class="n">ref</span><span class="p">))</span> <span class="p">{</span>
<span class="k">case</span> <span class="n">GIT_REF_OID</span>:
- <span class="n"><a name="git_oid_fmt-67" class="fnlink" href="../../#HEAD/group/oid/git_oid_fmt">git_oid_fmt</a></span><span class="p">(</span><span class="n">out</span><span class="p">,</span> <span class="n"><a name="git_reference_oid-76" class="fnlink" href="../../#HEAD/group/reference/git_reference_oid">git_reference_oid</a></span><span class="p">(</span><span class="n">ref</span><span class="p">));</span>
+ <span class="n"><a name="git_oid_fmt-44" class="fnlink" href="../../#HEAD/group/oid/git_oid_fmt">git_oid_fmt</a></span><span class="p">(</span><span class="n">out</span><span class="p">,</span> <span class="n"><a name="git_reference_oid-28" class="fnlink" href="../../#HEAD/group/reference/git_reference_oid">git_reference_oid</a></span><span class="p">(</span><span class="n">ref</span><span class="p">));</span>
<span class="n">printf</span><span class="p">(</span><span class="s">&quot;%s [%s]</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">refname</span><span class="p">,</span> <span class="n">out</span><span class="p">);</span>
<span class="k">break</span><span class="p">;</span>
<span class="k">case</span> <span class="n">GIT_REF_SYMBOLIC</span>:
- <span class="n">printf</span><span class="p">(</span><span class="s">&quot;%s =&gt; %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">refname</span><span class="p">,</span> <span class="n"><a name="git_reference_target-77" class="fnlink" href="../../#HEAD/group/reference/git_reference_target">git_reference_target</a></span><span class="p">(</span><span class="n">ref</span><span class="p">));</span>
+ <span class="n">printf</span><span class="p">(</span><span class="s">&quot;%s =&gt; %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">refname</span><span class="p">,</span> <span class="n"><a name="git_reference_target-29" class="fnlink" href="../../#HEAD/group/reference/git_reference_target">git_reference_target</a></span><span class="p">(</span><span class="n">ref</span><span class="p">));</span>
<span class="k">break</span><span class="p">;</span>
<span class="nl">default:</span>
<span class="n">fprintf</span><span class="p">(</span><span class="n">stderr</span><span class="p">,</span> <span class="s">&quot;Unexpected reference type</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">);</span>
@@ -853,7 +853,7 @@ resolve them to the SHA, then print both values out.</p>
<span class="p">}</span>
<span class="p">}</span>
- <span class="n">git_strarray_free</span><span class="p">(</span><span class="o">&amp;</span><span class="n">ref_list</span><span class="p">);</span></pre></div>
+ <span class="n"><a name="git_strarray_free-14" class="fnlink" href="../../#HEAD/group/strarray/git_strarray_free">git_strarray_free</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">ref_list</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-Config_Files'>
@@ -883,12 +883,12 @@ any of the accessible config file locations (system, global, local).</p>
<p>Open a config object so we can read global values from it.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_config_open_ondisk-3" class="fnlink" href="../../#HEAD/group/config/git_config_open_ondisk">git_config_open_ondisk</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">cfg</span><span class="p">,</span> <span class="s">&quot;~/.gitconfig&quot;</span><span class="p">);</span>
+ <div class='highlight'><pre> <span class="n"><a name="git_config_open_ondisk-56" class="fnlink" href="../../#HEAD/group/config/git_config_open_ondisk">git_config_open_ondisk</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">cfg</span><span class="p">,</span> <span class="s">&quot;~/.gitconfig&quot;</span><span class="p">);</span>
- <span class="n"><a name="git_config_get_int32-4" class="fnlink" href="../../#HEAD/group/config/git_config_get_int32">git_config_get_int32</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">j</span><span class="p">,</span> <span class="n">cfg</span><span class="p">,</span> <span class="s">&quot;help.autocorrect&quot;</span><span class="p">);</span>
+ <span class="n"><a name="git_config_get_int32-57" class="fnlink" href="../../#HEAD/group/config/git_config_get_int32">git_config_get_int32</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">j</span><span class="p">,</span> <span class="n">cfg</span><span class="p">,</span> <span class="s">&quot;help.autocorrect&quot;</span><span class="p">);</span>
<span class="n">printf</span><span class="p">(</span><span class="s">&quot;Autocorrect: %d</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">j</span><span class="p">);</span>
- <span class="n"><a name="git_config_get_string-5" class="fnlink" href="../../#HEAD/group/config/git_config_get_string">git_config_get_string</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">email</span><span class="p">,</span> <span class="n">cfg</span><span class="p">,</span> <span class="s">&quot;user.email&quot;</span><span class="p">);</span>
+ <span class="n"><a name="git_config_get_string-58" class="fnlink" href="../../#HEAD/group/config/git_config_get_string">git_config_get_string</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">email</span><span class="p">,</span> <span class="n">cfg</span><span class="p">,</span> <span class="s">&quot;user.email&quot;</span><span class="p">);</span>
<span class="n">printf</span><span class="p">(</span><span class="s">&quot;Email: %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">email</span><span class="p">);</span></pre></div>
</td>
</tr>
@@ -901,7 +901,7 @@ any of the accessible config file locations (system, global, local).</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_repository_free-15" class="fnlink" href="../../#HEAD/group/repository/git_repository_free">git_repository_free</a></span><span class="p">(</span><span class="n">repo</span><span class="p">);</span>
+ <div class='highlight'><pre> <span class="n"><a name="git_repository_free-24" class="fnlink" href="../../#HEAD/group/repository/git_repository_free">git_repository_free</a></span><span class="p">(</span><span class="n">repo</span><span class="p">);</span>
<span class="k">return</span> <span class="mi">0</span><span class="p">;</span>
<span class="p">}</span></pre></div>
diff --git a/ex/HEAD/index-pack.html b/ex/HEAD/index-pack.html
index 2c24e7bab..b3c29d2ba 100644
--- a/ex/HEAD/index-pack.html
+++ b/ex/HEAD/index-pack.html
@@ -65,10 +65,10 @@ the indexing to finish in a worker thread</p>
</td>
<td class=code>
- <div class='highlight'><pre><span class="k">static</span> <span class="kt">int</span> <span class="nf">index_cb</span><span class="p">(</span><span class="k">const</span> <span class="n">git_indexer_stats</span> <span class="o">*</span><span class="n">stats</span><span class="p">,</span> <span class="kt">void</span> <span class="o">*</span><span class="n">data</span><span class="p">)</span>
+ <div class='highlight'><pre><span class="k">static</span> <span class="kt">int</span> <span class="nf">index_cb</span><span class="p">(</span><span class="k">const</span> <span class="n">git_transfer_progress</span> <span class="o">*</span><span class="n">stats</span><span class="p">,</span> <span class="kt">void</span> <span class="o">*</span><span class="n">data</span><span class="p">)</span>
<span class="p">{</span>
<span class="n">data</span> <span class="o">=</span> <span class="n">data</span><span class="p">;</span>
- <span class="n">printf</span><span class="p">(</span><span class="s">&quot;</span><span class="se">\r</span><span class="s">Processing %d of %d&quot;</span><span class="p">,</span> <span class="n">stats</span><span class="o">-&gt;</span><span class="n">processed</span><span class="p">,</span> <span class="n">stats</span><span class="o">-&gt;</span><span class="n">total</span><span class="p">);</span>
+ <span class="n">printf</span><span class="p">(</span><span class="s">&quot;</span><span class="se">\r</span><span class="s">Processing %d of %d&quot;</span><span class="p">,</span> <span class="n">stats</span><span class="o">-&gt;</span><span class="n">indexed_objects</span><span class="p">,</span> <span class="n">stats</span><span class="o">-&gt;</span><span class="n">total_objects</span><span class="p">);</span>
<span class="k">return</span> <span class="mi">0</span><span class="p">;</span>
<span class="p">}</span>
@@ -76,7 +76,7 @@ the indexing to finish in a worker thread</p>
<span class="kt">int</span> <span class="nf">index_pack</span><span class="p">(</span><span class="n">git_repository</span> <span class="o">*</span><span class="n">repo</span><span class="p">,</span> <span class="kt">int</span> <span class="n">argc</span><span class="p">,</span> <span class="kt">char</span> <span class="o">**</span><span class="n">argv</span><span class="p">)</span>
<span class="p">{</span>
<span class="n">git_indexer_stream</span> <span class="o">*</span><span class="n">idx</span><span class="p">;</span>
- <span class="n">git_indexer_stats</span> <span class="n">stats</span> <span class="o">=</span> <span class="p">{</span><span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">};</span>
+ <span class="n">git_transfer_progress</span> <span class="n">stats</span> <span class="o">=</span> <span class="p">{</span><span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">};</span>
<span class="kt">int</span> <span class="n">error</span><span class="p">,</span> <span class="n">fd</span><span class="p">;</span>
<span class="kt">char</span> <span class="n">hash</span><span class="p">[</span><span class="n">GIT_OID_HEXSZ</span> <span class="o">+</span> <span class="mi">1</span><span class="p">]</span> <span class="o">=</span> <span class="p">{</span><span class="mi">0</span><span class="p">};</span>
<span class="kt">ssize_t</span> <span class="n">read_bytes</span><span class="p">;</span>
@@ -88,7 +88,7 @@ the indexing to finish in a worker thread</p>
<span class="k">return</span> <span class="n">EXIT_FAILURE</span><span class="p">;</span>
<span class="p">}</span>
- <span class="k">if</span> <span class="p">(</span><span class="n"><a name="git_indexer_stream_new-1" class="fnlink" href="../../#HEAD/group/indexer/git_indexer_stream_new">git_indexer_stream_new</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">idx</span><span class="p">,</span> <span class="s">&quot;.&quot;</span><span class="p">)</span> <span class="o">&lt;</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+ <span class="k">if</span> <span class="p">(</span><span class="n"><a name="git_indexer_stream_new-2" class="fnlink" href="../../#HEAD/group/indexer/git_indexer_stream_new">git_indexer_stream_new</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">idx</span><span class="p">,</span> <span class="s">&quot;.&quot;</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">)</span> <span class="o">&lt;</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
<span class="n">puts</span><span class="p">(</span><span class="s">&quot;bad idx&quot;</span><span class="p">);</span>
<span class="k">return</span> <span class="o">-</span><span class="mi">1</span><span class="p">;</span>
<span class="p">}</span>
@@ -103,7 +103,7 @@ the indexing to finish in a worker thread</p>
<span class="k">if</span> <span class="p">(</span><span class="n">read_bytes</span> <span class="o">&lt;</span> <span class="mi">0</span><span class="p">)</span>
<span class="k">break</span><span class="p">;</span>
- <span class="k">if</span> <span class="p">((</span><span class="n">error</span> <span class="o">=</span> <span class="n"><a name="git_indexer_stream_add-2" class="fnlink" href="../../#HEAD/group/indexer/git_indexer_stream_add">git_indexer_stream_add</a></span><span class="p">(</span><span class="n">idx</span><span class="p">,</span> <span class="n">buf</span><span class="p">,</span> <span class="n">read_bytes</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">stats</span><span class="p">))</span> <span class="o">&lt;</span> <span class="mi">0</span><span class="p">)</span>
+ <span class="k">if</span> <span class="p">((</span><span class="n">error</span> <span class="o">=</span> <span class="n"><a name="git_indexer_stream_add-3" class="fnlink" href="../../#HEAD/group/indexer/git_indexer_stream_add">git_indexer_stream_add</a></span><span class="p">(</span><span class="n">idx</span><span class="p">,</span> <span class="n">buf</span><span class="p">,</span> <span class="n">read_bytes</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">stats</span><span class="p">))</span> <span class="o">&lt;</span> <span class="mi">0</span><span class="p">)</span>
<span class="k">goto</span> <span class="n">cleanup</span><span class="p">;</span>
<span class="n">index_cb</span><span class="p">(</span><span class="o">&amp;</span><span class="n">stats</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">);</span>
@@ -115,17 +115,17 @@ the indexing to finish in a worker thread</p>
<span class="k">goto</span> <span class="n">cleanup</span><span class="p">;</span>
<span class="p">}</span>
- <span class="k">if</span> <span class="p">((</span><span class="n">error</span> <span class="o">=</span> <span class="n"><a name="git_indexer_stream_finalize-3" class="fnlink" href="../../#HEAD/group/indexer/git_indexer_stream_finalize">git_indexer_stream_finalize</a></span><span class="p">(</span><span class="n">idx</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">stats</span><span class="p">))</span> <span class="o">&lt;</span> <span class="mi">0</span><span class="p">)</span>
+ <span class="k">if</span> <span class="p">((</span><span class="n">error</span> <span class="o">=</span> <span class="n"><a name="git_indexer_stream_finalize-4" class="fnlink" href="../../#HEAD/group/indexer/git_indexer_stream_finalize">git_indexer_stream_finalize</a></span><span class="p">(</span><span class="n">idx</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">stats</span><span class="p">))</span> <span class="o">&lt;</span> <span class="mi">0</span><span class="p">)</span>
<span class="k">goto</span> <span class="n">cleanup</span><span class="p">;</span>
- <span class="n">printf</span><span class="p">(</span><span class="s">&quot;</span><span class="se">\r</span><span class="s">Indexing %d of %d</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">stats</span><span class="p">.</span><span class="n">processed</span><span class="p">,</span> <span class="n">stats</span><span class="p">.</span><span class="n">total</span><span class="p">);</span>
+ <span class="n">printf</span><span class="p">(</span><span class="s">&quot;</span><span class="se">\r</span><span class="s">Indexing %d of %d</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">stats</span><span class="p">.</span><span class="n">indexed_objects</span><span class="p">,</span> <span class="n">stats</span><span class="p">.</span><span class="n">total_objects</span><span class="p">);</span>
- <span class="n"><a name="git_oid_fmt-6" class="fnlink" href="../../#HEAD/group/oid/git_oid_fmt">git_oid_fmt</a></span><span class="p">(</span><span class="n">hash</span><span class="p">,</span> <span class="n"><a name="git_indexer_stream_hash-4" class="fnlink" href="../../#HEAD/group/indexer/git_indexer_stream_hash">git_indexer_stream_hash</a></span><span class="p">(</span><span class="n">idx</span><span class="p">));</span>
+ <span class="n"><a name="git_oid_fmt-1" class="fnlink" href="../../#HEAD/group/oid/git_oid_fmt">git_oid_fmt</a></span><span class="p">(</span><span class="n">hash</span><span class="p">,</span> <span class="n"><a name="git_indexer_stream_hash-5" class="fnlink" href="../../#HEAD/group/indexer/git_indexer_stream_hash">git_indexer_stream_hash</a></span><span class="p">(</span><span class="n">idx</span><span class="p">));</span>
<span class="n">puts</span><span class="p">(</span><span class="n">hash</span><span class="p">);</span>
<span class="nl">cleanup:</span>
<span class="n">close</span><span class="p">(</span><span class="n">fd</span><span class="p">);</span>
- <span class="n"><a name="git_indexer_stream_free-5" class="fnlink" href="../../#HEAD/group/indexer/git_indexer_stream_free">git_indexer_stream_free</a></span><span class="p">(</span><span class="n">idx</span><span class="p">);</span>
+ <span class="n"><a name="git_indexer_stream_free-6" class="fnlink" href="../../#HEAD/group/indexer/git_indexer_stream_free">git_indexer_stream_free</a></span><span class="p">(</span><span class="n">idx</span><span class="p">);</span>
<span class="k">return</span> <span class="n">error</span><span class="p">;</span>
<span class="p">}</span></pre></div>
</td>
diff --git a/ex/HEAD/showindex.html b/ex/HEAD/showindex.html
index df57c3782..5a576dfed 100644
--- a/ex/HEAD/showindex.html
+++ b/ex/HEAD/showindex.html
@@ -52,26 +52,37 @@
<span class="p">{</span>
<span class="n">git_repository</span> <span class="o">*</span><span class="n">repo</span><span class="p">;</span>
<span class="n">git_index</span> <span class="o">*</span><span class="n">index</span><span class="p">;</span>
- <span class="kt">unsigned</span> <span class="kt">int</span> <span class="n">i</span><span class="p">,</span> <span class="n">e</span><span class="p">,</span> <span class="n">ecount</span><span class="p">;</span>
- <span class="n">git_index_entry</span> <span class="o">**</span><span class="n">entries</span><span class="p">;</span>
- <span class="n">git_oid</span> <span class="n">oid</span><span class="p">;</span>
-
+ <span class="kt">unsigned</span> <span class="kt">int</span> <span class="n">i</span><span class="p">,</span> <span class="n">ecount</span><span class="p">;</span>
+ <span class="kt">char</span> <span class="o">*</span><span class="n">dir</span> <span class="o">=</span> <span class="s">&quot;.&quot;</span><span class="p">;</span>
<span class="kt">char</span> <span class="n">out</span><span class="p">[</span><span class="mi">41</span><span class="p">];</span>
<span class="n">out</span><span class="p">[</span><span class="mi">40</span><span class="p">]</span> <span class="o">=</span> <span class="sc">&#39;\0&#39;</span><span class="p">;</span>
- <span class="n"><a name="git_repository_open-5" class="fnlink" href="../../#HEAD/group/repository/git_repository_open">git_repository_open</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">repo</span><span class="p">,</span> <span class="s">&quot;/opt/libgit2-test/.git&quot;</span><span class="p">);</span>
+ <span class="k">if</span> <span class="p">(</span><span class="n">argc</span> <span class="o">&gt;</span> <span class="mi">1</span><span class="p">)</span>
+ <span class="n">dir</span> <span class="o">=</span> <span class="n">argv</span><span class="p">[</span><span class="mi">1</span><span class="p">];</span>
+ <span class="k">if</span> <span class="p">(</span><span class="n">argc</span> <span class="o">&gt;</span> <span class="mi">2</span><span class="p">)</span> <span class="p">{</span>
+ <span class="n">fprintf</span><span class="p">(</span><span class="n">stderr</span><span class="p">,</span> <span class="s">&quot;usage: showindex [&lt;repo-dir&gt;]</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">);</span>
+ <span class="k">return</span> <span class="mi">1</span><span class="p">;</span>
+ <span class="p">}</span>
+
+ <span class="k">if</span> <span class="p">(</span><span class="n"><a name="git_repository_open_ext-1" class="fnlink" href="../../#HEAD/group/repository/git_repository_open_ext">git_repository_open_ext</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">repo</span><span class="p">,</span> <span class="n">dir</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="nb">NULL</span><span class="p">)</span> <span class="o">&lt;</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+ <span class="n">fprintf</span><span class="p">(</span><span class="n">stderr</span><span class="p">,</span> <span class="s">&quot;could not open repository: %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">dir</span><span class="p">);</span>
+ <span class="k">return</span> <span class="mi">1</span><span class="p">;</span>
+ <span class="p">}</span>
+
+ <span class="n"><a name="git_repository_index-3" class="fnlink" href="../../#HEAD/group/repository/git_repository_index">git_repository_index</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">index</span><span class="p">,</span> <span class="n">repo</span><span class="p">);</span>
+ <span class="n"><a name="git_index_read-6" class="fnlink" href="../../#HEAD/group/index/git_index_read">git_index_read</a></span><span class="p">(</span><span class="n">index</span><span class="p">);</span>
- <span class="n"><a name="git_repository_index-7" class="fnlink" href="../../#HEAD/group/repository/git_repository_index">git_repository_index</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">index</span><span class="p">,</span> <span class="n">repo</span><span class="p">);</span>
- <span class="n"><a name="git_index_read-2" class="fnlink" href="../../#HEAD/group/index/git_index_read">git_index_read</a></span><span class="p">(</span><span class="n">index</span><span class="p">);</span>
+ <span class="n">ecount</span> <span class="o">=</span> <span class="n"><a name="git_index_entrycount-7" class="fnlink" href="../../#HEAD/group/index/git_index_entrycount">git_index_entrycount</a></span><span class="p">(</span><span class="n">index</span><span class="p">);</span>
+ <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">ecount</span><span class="p">)</span>
+ <span class="n">printf</span><span class="p">(</span><span class="s">&quot;Empty index</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">);</span>
- <span class="n">ecount</span> <span class="o">=</span> <span class="n"><a name="git_index_entrycount-4" class="fnlink" href="../../#HEAD/group/index/git_index_entrycount">git_index_entrycount</a></span><span class="p">(</span><span class="n">index</span><span class="p">);</span>
<span class="k">for</span> <span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="n">ecount</span><span class="p">;</span> <span class="o">++</span><span class="n">i</span><span class="p">)</span> <span class="p">{</span>
- <span class="n">git_index_entry</span> <span class="o">*</span><span class="n">e</span> <span class="o">=</span> <span class="n"><a name="git_index_get-3" class="fnlink" href="../../#HEAD/group/index/git_index_get">git_index_get</a></span><span class="p">(</span><span class="n">index</span><span class="p">,</span> <span class="n">i</span><span class="p">);</span>
+ <span class="k">const</span> <span class="n">git_index_entry</span> <span class="o">*</span><span class="n">e</span> <span class="o">=</span> <span class="n"><a name="git_index_get_byindex-8" class="fnlink" href="../../#HEAD/group/index/git_index_get_byindex">git_index_get_byindex</a></span><span class="p">(</span><span class="n">index</span><span class="p">,</span> <span class="n">i</span><span class="p">);</span>
- <span class="n">oid</span> <span class="o">=</span> <span class="n">e</span><span class="o">-&gt;</span><span class="n">oid</span><span class="p">;</span>
- <span class="n"><a name="git_oid_fmt-8" class="fnlink" href="../../#HEAD/group/oid/git_oid_fmt">git_oid_fmt</a></span><span class="p">(</span><span class="n">out</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span>
+ <span class="n"><a name="git_oid_fmt-4" class="fnlink" href="../../#HEAD/group/oid/git_oid_fmt">git_oid_fmt</a></span><span class="p">(</span><span class="n">out</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">e</span><span class="o">-&gt;</span><span class="n">oid</span><span class="p">);</span>
<span class="n">printf</span><span class="p">(</span><span class="s">&quot;File Path: %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">e</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">);</span>
+ <span class="n">printf</span><span class="p">(</span><span class="s">&quot; Stage: %d</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n"><a name="git_index_entry_stage-9" class="fnlink" href="../../#HEAD/group/index/git_index_entry_stage">git_index_entry_stage</a></span><span class="p">(</span><span class="n">e</span><span class="p">));</span>
<span class="n">printf</span><span class="p">(</span><span class="s">&quot; Blob SHA: %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">out</span><span class="p">);</span>
<span class="n">printf</span><span class="p">(</span><span class="s">&quot;File Size: %d</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="p">(</span><span class="kt">int</span><span class="p">)</span><span class="n">e</span><span class="o">-&gt;</span><span class="n">file_size</span><span class="p">);</span>
<span class="n">printf</span><span class="p">(</span><span class="s">&quot; Device: %d</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="p">(</span><span class="kt">int</span><span class="p">)</span><span class="n">e</span><span class="o">-&gt;</span><span class="n">dev</span><span class="p">);</span>
@@ -83,9 +94,10 @@
<span class="n">printf</span><span class="p">(</span><span class="s">&quot;</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">);</span>
<span class="p">}</span>
- <span class="n"><a name="git_index_free-1" class="fnlink" href="../../#HEAD/group/index/git_index_free">git_index_free</a></span><span class="p">(</span><span class="n">index</span><span class="p">);</span>
+ <span class="n"><a name="git_index_free-5" class="fnlink" href="../../#HEAD/group/index/git_index_free">git_index_free</a></span><span class="p">(</span><span class="n">index</span><span class="p">);</span>
+ <span class="n"><a name="git_repository_free-2" class="fnlink" href="../../#HEAD/group/repository/git_repository_free">git_repository_free</a></span><span class="p">(</span><span class="n">repo</span><span class="p">);</span>
- <span class="n"><a name="git_repository_free-6" class="fnlink" href="../../#HEAD/group/repository/git_repository_free">git_repository_free</a></span><span class="p">(</span><span class="n">repo</span><span class="p">);</span>
+ <span class="k">return</span> <span class="mi">0</span><span class="p">;</span>
<span class="p">}</span></pre></div>
</td>
</tr>
diff --git a/ex/v0.13.0/general.html b/ex/v0.13.0/general.html
index adca66cfc..d282c9fb4 100644
--- a/ex/v0.13.0/general.html
+++ b/ex/v0.13.0/general.html
@@ -106,7 +106,7 @@ we are assuming they are in the normal places.</p>
</td>
<td class=code>
<div class='highlight'><pre> <span class="n">git_repository</span> <span class="o">*</span><span class="n">repo</span><span class="p">;</span>
- <span class="n"><a name="git_repository_open-13" class="fnlink" href="../../#v0.13.0/group/repository/git_repository_open">git_repository_open</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">repo</span><span class="p">,</span> <span class="s">&quot;/opt/libgit2-test/.git&quot;</span><span class="p">);</span></pre></div>
+ <span class="n"><a name="git_repository_open-20" class="fnlink" href="../../#v0.13.0/group/repository/git_repository_open">git_repository_open</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">repo</span><span class="p">,</span> <span class="s">&quot;/opt/libgit2-test/.git&quot;</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-SHA-1_Value_Conversions'>
@@ -142,7 +142,7 @@ for storing the value of the current SHA key we&rsquo;re working with.</p>
</td>
<td class=code>
<div class='highlight'><pre> <span class="n">git_oid</span> <span class="n">oid</span><span class="p">;</span>
- <span class="n"><a name="git_oid_fromstr-53" class="fnlink" href="../../#v0.13.0/group/oid/git_oid_fromstr">git_oid_fromstr</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">oid</span><span class="p">,</span> <span class="n">hex</span><span class="p">);</span></pre></div>
+ <span class="n"><a name="git_oid_fromstr-29" class="fnlink" href="../../#v0.13.0/group/oid/git_oid_fromstr">git_oid_fromstr</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">oid</span><span class="p">,</span> <span class="n">hex</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-9'>
@@ -177,7 +177,7 @@ for storing the value of the current SHA key we&rsquo;re working with.</p>
<p>If you have a oid, you can easily get the hex value of the SHA as well.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_oid_fmt-61" class="fnlink" href="../../#v0.13.0/group/oid/git_oid_fmt">git_oid_fmt</a></span><span class="p">(</span><span class="n">out</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span>
+ <div class='highlight'><pre> <span class="n"><a name="git_oid_fmt-37" class="fnlink" href="../../#v0.13.0/group/oid/git_oid_fmt">git_oid_fmt</a></span><span class="p">(</span><span class="n">out</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span>
<span class="n">printf</span><span class="p">(</span><span class="s">&quot;SHA hex string: %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">out</span><span class="p">);</span></pre></div>
</td>
</tr>
@@ -195,7 +195,7 @@ repository.</p>
</td>
<td class=code>
<div class='highlight'><pre> <span class="n">git_odb</span> <span class="o">*</span><span class="n">odb</span><span class="p">;</span>
- <span class="n">odb</span> <span class="o">=</span> <span class="n"><a name="git_repository_database-14" class="fnlink" href="../../#v0.13.0/group/repository/git_repository_database">git_repository_database</a></span><span class="p">(</span><span class="n">repo</span><span class="p">);</span></pre></div>
+ <span class="n">odb</span> <span class="o">=</span> <span class="n"><a name="git_repository_database-21" class="fnlink" href="../../#v0.13.0/group/repository/git_repository_database">git_repository_database</a></span><span class="p">(</span><span class="n">repo</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-Raw_Object_Reading'>
@@ -224,7 +224,7 @@ of the object. This allows us to access objects without knowing thier type and
the raw bytes unparsed.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n">error</span> <span class="o">=</span> <span class="n"><a name="git_odb_read-47" class="fnlink" href="../../#v0.13.0/group/odb/git_odb_read">git_odb_read</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">obj</span><span class="p">,</span> <span class="n">odb</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span></pre></div>
+ <div class='highlight'><pre> <span class="n">error</span> <span class="o">=</span> <span class="n"><a name="git_odb_read-42" class="fnlink" href="../../#v0.13.0/group/odb/git_odb_read">git_odb_read</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">obj</span><span class="p">,</span> <span class="n">odb</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-15'>
@@ -239,8 +239,8 @@ text or binary data. For a tree it is a special binary format, so it&rsquo;s unl
hugely helpful as a raw object.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n">data</span> <span class="o">=</span> <span class="p">(</span><span class="k">const</span> <span class="kt">unsigned</span> <span class="kt">char</span> <span class="o">*</span><span class="p">)</span><span class="n"><a name="git_odb_object_data-50" class="fnlink" href="../../#v0.13.0/group/odb/git_odb_object_data">git_odb_object_data</a></span><span class="p">(</span><span class="n">obj</span><span class="p">);</span>
- <span class="n">otype</span> <span class="o">=</span> <span class="n"><a name="git_odb_object_type-52" class="fnlink" href="../../#v0.13.0/group/odb/git_odb_object_type">git_odb_object_type</a></span><span class="p">(</span><span class="n">obj</span><span class="p">);</span></pre></div>
+ <div class='highlight'><pre> <span class="n">data</span> <span class="o">=</span> <span class="p">(</span><span class="k">const</span> <span class="kt">unsigned</span> <span class="kt">char</span> <span class="o">*</span><span class="p">)</span><span class="n"><a name="git_odb_object_data-45" class="fnlink" href="../../#v0.13.0/group/odb/git_odb_object_data">git_odb_object_data</a></span><span class="p">(</span><span class="n">obj</span><span class="p">);</span>
+ <span class="n">otype</span> <span class="o">=</span> <span class="n"><a name="git_odb_object_type-47" class="fnlink" href="../../#v0.13.0/group/odb/git_odb_object_type">git_odb_object_type</a></span><span class="p">(</span><span class="n">obj</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-16'>
@@ -252,9 +252,9 @@ hugely helpful as a raw object.</p>
representation of that value (and vice-versa).</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n">str_type</span> <span class="o">=</span> <span class="n"><a name="git_object_type2string-72" class="fnlink" href="../../#v0.13.0/group/object/git_object_type2string">git_object_type2string</a></span><span class="p">(</span><span class="n">otype</span><span class="p">);</span>
+ <div class='highlight'><pre> <span class="n">str_type</span> <span class="o">=</span> <span class="n"><a name="git_object_type2string-49" class="fnlink" href="../../#v0.13.0/group/object/git_object_type2string">git_object_type2string</a></span><span class="p">(</span><span class="n">otype</span><span class="p">);</span>
<span class="n">printf</span><span class="p">(</span><span class="s">&quot;object length and type: %d, %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span>
- <span class="p">(</span><span class="kt">int</span><span class="p">)</span><span class="n"><a name="git_odb_object_size-51" class="fnlink" href="../../#v0.13.0/group/odb/git_odb_object_size">git_odb_object_size</a></span><span class="p">(</span><span class="n">obj</span><span class="p">),</span>
+ <span class="p">(</span><span class="kt">int</span><span class="p">)</span><span class="n"><a name="git_odb_object_size-46" class="fnlink" href="../../#v0.13.0/group/odb/git_odb_object_size">git_odb_object_size</a></span><span class="p">(</span><span class="n">obj</span><span class="p">),</span>
<span class="n">str_type</span><span class="p">);</span></pre></div>
</td>
</tr>
@@ -267,7 +267,7 @@ representation of that value (and vice-versa).</p>
memory.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_odb_object_close-49" class="fnlink" href="../../#v0.13.0/group/odb/git_odb_object_close">git_odb_object_close</a></span><span class="p">(</span><span class="n">obj</span><span class="p">);</span></pre></div>
+ <div class='highlight'><pre> <span class="n"><a name="git_odb_object_close-44" class="fnlink" href="../../#v0.13.0/group/odb/git_odb_object_close">git_odb_object_close</a></span><span class="p">(</span><span class="n">obj</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-Raw_Object_Writing'>
@@ -292,7 +292,7 @@ that just contains a simple string. Notice that we have to specify the object t
the <code>git_otype</code> enum.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_odb_write-48" class="fnlink" href="../../#v0.13.0/group/odb/git_odb_write">git_odb_write</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">oid</span><span class="p">,</span> <span class="n">odb</span><span class="p">,</span> <span class="s">&quot;test data&quot;</span><span class="p">,</span> <span class="k">sizeof</span><span class="p">(</span><span class="s">&quot;test data&quot;</span><span class="p">)</span> <span class="o">-</span> <span class="mi">1</span><span class="p">,</span> <span class="n">GIT_OBJ_BLOB</span><span class="p">);</span></pre></div>
+ <div class='highlight'><pre> <span class="n"><a name="git_odb_write-43" class="fnlink" href="../../#v0.13.0/group/odb/git_odb_write">git_odb_write</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">oid</span><span class="p">,</span> <span class="n">odb</span><span class="p">,</span> <span class="s">&quot;test data&quot;</span><span class="p">,</span> <span class="k">sizeof</span><span class="p">(</span><span class="s">&quot;test data&quot;</span><span class="p">)</span> <span class="o">-</span> <span class="mi">1</span><span class="p">,</span> <span class="n">GIT_OBJ_BLOB</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-20'>
@@ -304,7 +304,7 @@ the <code>git_otype</code> enum.</p>
object was written to our database.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_oid_fmt-62" class="fnlink" href="../../#v0.13.0/group/oid/git_oid_fmt">git_oid_fmt</a></span><span class="p">(</span><span class="n">out</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span>
+ <div class='highlight'><pre> <span class="n"><a name="git_oid_fmt-38" class="fnlink" href="../../#v0.13.0/group/oid/git_oid_fmt">git_oid_fmt</a></span><span class="p">(</span><span class="n">out</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span>
<span class="n">printf</span><span class="p">(</span><span class="s">&quot;Written Object: %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">out</span><span class="p">);</span></pre></div>
</td>
</tr>
@@ -337,9 +337,9 @@ yourself.</p>
<div class='highlight'><pre> <span class="n">printf</span><span class="p">(</span><span class="s">&quot;</span><span class="se">\n</span><span class="s">*Commit Parsing*</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">);</span>
<span class="n">git_commit</span> <span class="o">*</span><span class="n">commit</span><span class="p">;</span>
- <span class="n"><a name="git_oid_fromstr-54" class="fnlink" href="../../#v0.13.0/group/oid/git_oid_fromstr">git_oid_fromstr</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">oid</span><span class="p">,</span> <span class="s">&quot;f0877d0b841d75172ec404fc9370173dfffc20d1&quot;</span><span class="p">);</span>
+ <span class="n"><a name="git_oid_fromstr-30" class="fnlink" href="../../#v0.13.0/group/oid/git_oid_fromstr">git_oid_fromstr</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">oid</span><span class="p">,</span> <span class="s">&quot;f0877d0b841d75172ec404fc9370173dfffc20d1&quot;</span><span class="p">);</span>
- <span class="n">error</span> <span class="o">=</span> <span class="n"><a name="git_commit_lookup-22" class="fnlink" href="../../#v0.13.0/group/commit/git_commit_lookup">git_commit_lookup</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">commit</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span>
+ <span class="n">error</span> <span class="o">=</span> <span class="n"><a name="git_commit_lookup-56" class="fnlink" href="../../#v0.13.0/group/commit/git_commit_lookup">git_commit_lookup</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">commit</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span>
<span class="k">const</span> <span class="n">git_signature</span> <span class="o">*</span><span class="n">author</span><span class="p">,</span> <span class="o">*</span><span class="n">cmtter</span><span class="p">;</span>
<span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">message</span><span class="p">,</span> <span class="o">*</span><span class="n">message_short</span><span class="p">;</span>
@@ -353,15 +353,15 @@ yourself.</p>
<a class="pilcrow" href="#section-23">&#182;</a>
</div>
<p>Each of the properties of the commit object are accessible via methods, including commonly
-needed variations, such as <code><a name="git_commit_time-32" class="fnlink" href="../../#v0.13.0/group/commit/git_commit_time">git_commit_time</a></code> which returns the author time and <code>_message_short</code>
+needed variations, such as <code><a name="git_commit_time-66" class="fnlink" href="../../#v0.13.0/group/commit/git_commit_time">git_commit_time</a></code> which returns the author time and <code>_message_short</code>
which gives you just the first line of the commit message.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n">message</span> <span class="o">=</span> <span class="n"><a name="git_commit_message-31" class="fnlink" href="../../#v0.13.0/group/commit/git_commit_message">git_commit_message</a></span><span class="p">(</span><span class="n">commit</span><span class="p">);</span>
- <span class="n">message_short</span> <span class="o">=</span> <span class="n"><a name="git_commit_message_short-29" class="fnlink" href="../../#v0.13.0/group/commit/git_commit_message_short">git_commit_message_short</a></span><span class="p">(</span><span class="n">commit</span><span class="p">);</span>
- <span class="n">author</span> <span class="o">=</span> <span class="n"><a name="git_commit_author-35" class="fnlink" href="../../#v0.13.0/group/commit/git_commit_author">git_commit_author</a></span><span class="p">(</span><span class="n">commit</span><span class="p">);</span>
- <span class="n">cmtter</span> <span class="o">=</span> <span class="n"><a name="git_commit_committer-34" class="fnlink" href="../../#v0.13.0/group/commit/git_commit_committer">git_commit_committer</a></span><span class="p">(</span><span class="n">commit</span><span class="p">);</span>
- <span class="n">ctime</span> <span class="o">=</span> <span class="n"><a name="git_commit_time-33" class="fnlink" href="../../#v0.13.0/group/commit/git_commit_time">git_commit_time</a></span><span class="p">(</span><span class="n">commit</span><span class="p">);</span></pre></div>
+ <div class='highlight'><pre> <span class="n">message</span> <span class="o">=</span> <span class="n"><a name="git_commit_message-65" class="fnlink" href="../../#v0.13.0/group/commit/git_commit_message">git_commit_message</a></span><span class="p">(</span><span class="n">commit</span><span class="p">);</span>
+ <span class="n">message_short</span> <span class="o">=</span> <span class="n"><a name="git_commit_message_short-63" class="fnlink" href="../../#v0.13.0/group/commit/git_commit_message_short">git_commit_message_short</a></span><span class="p">(</span><span class="n">commit</span><span class="p">);</span>
+ <span class="n">author</span> <span class="o">=</span> <span class="n"><a name="git_commit_author-69" class="fnlink" href="../../#v0.13.0/group/commit/git_commit_author">git_commit_author</a></span><span class="p">(</span><span class="n">commit</span><span class="p">);</span>
+ <span class="n">cmtter</span> <span class="o">=</span> <span class="n"><a name="git_commit_committer-68" class="fnlink" href="../../#v0.13.0/group/commit/git_commit_committer">git_commit_committer</a></span><span class="p">(</span><span class="n">commit</span><span class="p">);</span>
+ <span class="n">ctime</span> <span class="o">=</span> <span class="n"><a name="git_commit_time-67" class="fnlink" href="../../#v0.13.0/group/commit/git_commit_time">git_commit_time</a></span><span class="p">(</span><span class="n">commit</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-24'>
@@ -386,13 +386,13 @@ will have one, which is the commit it was based on, and merge commits will have
Commits can technically have any number, though it&rsquo;s pretty rare to have more than two.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n">parents</span> <span class="o">=</span> <span class="n"><a name="git_commit_parentcount-37" class="fnlink" href="../../#v0.13.0/group/commit/git_commit_parentcount">git_commit_parentcount</a></span><span class="p">(</span><span class="n">commit</span><span class="p">);</span>
+ <div class='highlight'><pre> <span class="n">parents</span> <span class="o">=</span> <span class="n"><a name="git_commit_parentcount-71" class="fnlink" href="../../#v0.13.0/group/commit/git_commit_parentcount">git_commit_parentcount</a></span><span class="p">(</span><span class="n">commit</span><span class="p">);</span>
<span class="k">for</span> <span class="p">(</span><span class="n">p</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span><span class="n">p</span> <span class="o">&lt;</span> <span class="n">parents</span><span class="p">;</span><span class="n">p</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
<span class="n">git_commit</span> <span class="o">*</span><span class="n">parent</span><span class="p">;</span>
- <span class="n"><a name="git_commit_parent-38" class="fnlink" href="../../#v0.13.0/group/commit/git_commit_parent">git_commit_parent</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">parent</span><span class="p">,</span> <span class="n">commit</span><span class="p">,</span> <span class="n">p</span><span class="p">);</span>
- <span class="n"><a name="git_oid_fmt-63" class="fnlink" href="../../#v0.13.0/group/oid/git_oid_fmt">git_oid_fmt</a></span><span class="p">(</span><span class="n">out</span><span class="p">,</span> <span class="n"><a name="git_commit_id-28" class="fnlink" href="../../#v0.13.0/group/commit/git_commit_id">git_commit_id</a></span><span class="p">(</span><span class="n">parent</span><span class="p">));</span>
+ <span class="n"><a name="git_commit_parent-72" class="fnlink" href="../../#v0.13.0/group/commit/git_commit_parent">git_commit_parent</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">parent</span><span class="p">,</span> <span class="n">commit</span><span class="p">,</span> <span class="n">p</span><span class="p">);</span>
+ <span class="n"><a name="git_oid_fmt-39" class="fnlink" href="../../#v0.13.0/group/oid/git_oid_fmt">git_oid_fmt</a></span><span class="p">(</span><span class="n">out</span><span class="p">,</span> <span class="n"><a name="git_commit_id-62" class="fnlink" href="../../#v0.13.0/group/commit/git_commit_id">git_commit_id</a></span><span class="p">(</span><span class="n">parent</span><span class="p">));</span>
<span class="n">printf</span><span class="p">(</span><span class="s">&quot;Parent: %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">out</span><span class="p">);</span>
- <span class="n"><a name="git_commit_close-24" class="fnlink" href="../../#v0.13.0/group/commit/git_commit_close">git_commit_close</a></span><span class="p">(</span><span class="n">parent</span><span class="p">);</span>
+ <span class="n"><a name="git_commit_close-58" class="fnlink" href="../../#v0.13.0/group/commit/git_commit_close">git_commit_close</a></span><span class="p">(</span><span class="n">parent</span><span class="p">);</span>
<span class="p">}</span></pre></div>
</td>
</tr>
@@ -405,7 +405,7 @@ Commits can technically have any number, though it&rsquo;s pretty rare to have m
all the objects you open and parse.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_commit_close-25" class="fnlink" href="../../#v0.13.0/group/commit/git_commit_close">git_commit_close</a></span><span class="p">(</span><span class="n">commit</span><span class="p">);</span></pre></div>
+ <div class='highlight'><pre> <span class="n"><a name="git_commit_close-59" class="fnlink" href="../../#v0.13.0/group/commit/git_commit_close">git_commit_close</a></span><span class="p">(</span><span class="n">commit</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-Writing_Commits'>
@@ -435,9 +435,9 @@ and email should be found in the <code>user.name</code> and <code>user.email</co
section of this example file to see how to access config values.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n">author</span> <span class="o">=</span> <span class="n"><a name="git_signature_new-1" class="fnlink" href="../../#v0.13.0/group/signature/git_signature_new">git_signature_new</a></span><span class="p">(</span><span class="s">&quot;Scott Chacon&quot;</span><span class="p">,</span> <span class="s">&quot;schacon@gmail.com&quot;</span><span class="p">,</span>
+ <div class='highlight'><pre> <span class="n">author</span> <span class="o">=</span> <span class="n"><a name="git_signature_new-13" class="fnlink" href="../../#v0.13.0/group/signature/git_signature_new">git_signature_new</a></span><span class="p">(</span><span class="s">&quot;Scott Chacon&quot;</span><span class="p">,</span> <span class="s">&quot;schacon@gmail.com&quot;</span><span class="p">,</span>
<span class="mi">123456789</span><span class="p">,</span> <span class="mi">60</span><span class="p">);</span>
- <span class="n">cmtter</span> <span class="o">=</span> <span class="n"><a name="git_signature_new-2" class="fnlink" href="../../#v0.13.0/group/signature/git_signature_new">git_signature_new</a></span><span class="p">(</span><span class="s">&quot;Scott A Chacon&quot;</span><span class="p">,</span> <span class="s">&quot;scott@github.com&quot;</span><span class="p">,</span>
+ <span class="n">cmtter</span> <span class="o">=</span> <span class="n"><a name="git_signature_new-14" class="fnlink" href="../../#v0.13.0/group/signature/git_signature_new">git_signature_new</a></span><span class="p">(</span><span class="s">&quot;Scott A Chacon&quot;</span><span class="p">,</span> <span class="s">&quot;scott@github.com&quot;</span><span class="p">,</span>
<span class="mi">987654321</span><span class="p">,</span> <span class="mi">90</span><span class="p">);</span></pre></div>
</td>
</tr>
@@ -450,8 +450,8 @@ section of this example file to see how to access config values.</p>
objects to create the commit with, but you can also use</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_oid_fromstr-55" class="fnlink" href="../../#v0.13.0/group/oid/git_oid_fromstr">git_oid_fromstr</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">tree_id</span><span class="p">,</span> <span class="s">&quot;28873d96b4e8f4e33ea30f4c682fd325f7ba56ac&quot;</span><span class="p">);</span>
- <span class="n"><a name="git_oid_fromstr-56" class="fnlink" href="../../#v0.13.0/group/oid/git_oid_fromstr">git_oid_fromstr</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">parent_id</span><span class="p">,</span> <span class="s">&quot;f0877d0b841d75172ec404fc9370173dfffc20d1&quot;</span><span class="p">);</span></pre></div>
+ <div class='highlight'><pre> <span class="n"><a name="git_oid_fromstr-31" class="fnlink" href="../../#v0.13.0/group/oid/git_oid_fromstr">git_oid_fromstr</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">tree_id</span><span class="p">,</span> <span class="s">&quot;28873d96b4e8f4e33ea30f4c682fd325f7ba56ac&quot;</span><span class="p">);</span>
+ <span class="n"><a name="git_oid_fromstr-32" class="fnlink" href="../../#v0.13.0/group/oid/git_oid_fromstr">git_oid_fromstr</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">parent_id</span><span class="p">,</span> <span class="s">&quot;f0877d0b841d75172ec404fc9370173dfffc20d1&quot;</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-30'>
@@ -463,7 +463,7 @@ objects to create the commit with, but you can also use</p>
the commit. The SHA key is written to the <code>commit_id</code> variable here.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_commit_create_v-39" class="fnlink" href="../../#v0.13.0/group/commit/git_commit_create_v">git_commit_create_v</a></span><span class="p">(</span>
+ <div class='highlight'><pre> <span class="n"><a name="git_commit_create_v-73" class="fnlink" href="../../#v0.13.0/group/commit/git_commit_create_v">git_commit_create_v</a></span><span class="p">(</span>
<span class="o">&amp;</span><span class="n">commit_id</span><span class="p">,</span> <span class="cm">/* out id */</span>
<span class="n">repo</span><span class="p">,</span>
<span class="nb">NULL</span><span class="p">,</span> <span class="cm">/* do not update the HEAD */</span>
@@ -482,7 +482,7 @@ the commit. The SHA key is written to the <code>commit_id</code> variable here.
<p>Now we can take a look at the commit SHA we&rsquo;ve generated.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_oid_fmt-64" class="fnlink" href="../../#v0.13.0/group/oid/git_oid_fmt">git_oid_fmt</a></span><span class="p">(</span><span class="n">out</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">commit_id</span><span class="p">);</span>
+ <div class='highlight'><pre> <span class="n"><a name="git_oid_fmt-40" class="fnlink" href="../../#v0.13.0/group/oid/git_oid_fmt">git_oid_fmt</a></span><span class="p">(</span><span class="n">out</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">commit_id</span><span class="p">);</span>
<span class="n">printf</span><span class="p">(</span><span class="s">&quot;New Commit: %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">out</span><span class="p">);</span></pre></div>
</td>
</tr>
@@ -512,9 +512,9 @@ to the commit lookup, parsing and creation methods, since the objects themselves
way that we would a commit (or any other) object.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_oid_fromstr-57" class="fnlink" href="../../#v0.13.0/group/oid/git_oid_fromstr">git_oid_fromstr</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">oid</span><span class="p">,</span> <span class="s">&quot;bc422d45275aca289c51d79830b45cecebff7c3a&quot;</span><span class="p">);</span>
+ <div class='highlight'><pre> <span class="n"><a name="git_oid_fromstr-33" class="fnlink" href="../../#v0.13.0/group/oid/git_oid_fromstr">git_oid_fromstr</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">oid</span><span class="p">,</span> <span class="s">&quot;bc422d45275aca289c51d79830b45cecebff7c3a&quot;</span><span class="p">);</span>
- <span class="n">error</span> <span class="o">=</span> <span class="n"><a name="git_tag_lookup-17" class="fnlink" href="../../#v0.13.0/group/tag/git_tag_lookup">git_tag_lookup</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">tag</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span></pre></div>
+ <span class="n">error</span> <span class="o">=</span> <span class="n"><a name="git_tag_lookup-8" class="fnlink" href="../../#v0.13.0/group/tag/git_tag_lookup">git_tag_lookup</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">tag</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-34'>
@@ -527,13 +527,13 @@ way that we would a commit (or any other) object.</p>
the tagger (a git_signature &ndash; name, email, timestamp), and the tag message.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_tag_target-18" class="fnlink" href="../../#v0.13.0/group/tag/git_tag_target">git_tag_target</a></span><span class="p">((</span><span class="n">git_object</span> <span class="o">**</span><span class="p">)</span><span class="o">&amp;</span><span class="n">commit</span><span class="p">,</span> <span class="n">tag</span><span class="p">);</span>
- <span class="n">tname</span> <span class="o">=</span> <span class="n"><a name="git_tag_name-20" class="fnlink" href="../../#v0.13.0/group/tag/git_tag_name">git_tag_name</a></span><span class="p">(</span><span class="n">tag</span><span class="p">);</span> <span class="c1">// &quot;test&quot;</span>
- <span class="n">ttype</span> <span class="o">=</span> <span class="n"><a name="git_tag_type-19" class="fnlink" href="../../#v0.13.0/group/tag/git_tag_type">git_tag_type</a></span><span class="p">(</span><span class="n">tag</span><span class="p">);</span> <span class="c1">// GIT_OBJ_COMMIT (otype enum)</span>
- <span class="n">tmessage</span> <span class="o">=</span> <span class="n"><a name="git_tag_message-21" class="fnlink" href="../../#v0.13.0/group/tag/git_tag_message">git_tag_message</a></span><span class="p">(</span><span class="n">tag</span><span class="p">);</span> <span class="c1">// &quot;tag message\n&quot;</span>
+ <div class='highlight'><pre> <span class="n"><a name="git_tag_target-9" class="fnlink" href="../../#v0.13.0/group/tag/git_tag_target">git_tag_target</a></span><span class="p">((</span><span class="n">git_object</span> <span class="o">**</span><span class="p">)</span><span class="o">&amp;</span><span class="n">commit</span><span class="p">,</span> <span class="n">tag</span><span class="p">);</span>
+ <span class="n">tname</span> <span class="o">=</span> <span class="n"><a name="git_tag_name-11" class="fnlink" href="../../#v0.13.0/group/tag/git_tag_name">git_tag_name</a></span><span class="p">(</span><span class="n">tag</span><span class="p">);</span> <span class="c1">// &quot;test&quot;</span>
+ <span class="n">ttype</span> <span class="o">=</span> <span class="n"><a name="git_tag_type-10" class="fnlink" href="../../#v0.13.0/group/tag/git_tag_type">git_tag_type</a></span><span class="p">(</span><span class="n">tag</span><span class="p">);</span> <span class="c1">// GIT_OBJ_COMMIT (otype enum)</span>
+ <span class="n">tmessage</span> <span class="o">=</span> <span class="n"><a name="git_tag_message-12" class="fnlink" href="../../#v0.13.0/group/tag/git_tag_message">git_tag_message</a></span><span class="p">(</span><span class="n">tag</span><span class="p">);</span> <span class="c1">// &quot;tag message\n&quot;</span>
<span class="n">printf</span><span class="p">(</span><span class="s">&quot;Tag Message: %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">tmessage</span><span class="p">);</span>
- <span class="n"><a name="git_commit_close-26" class="fnlink" href="../../#v0.13.0/group/commit/git_commit_close">git_commit_close</a></span><span class="p">(</span><span class="n">commit</span><span class="p">);</span></pre></div>
+ <span class="n"><a name="git_commit_close-60" class="fnlink" href="../../#v0.13.0/group/commit/git_commit_close">git_commit_close</a></span><span class="p">(</span><span class="n">commit</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-Tree_Parsing'>
@@ -563,8 +563,8 @@ traversing tree entries.</p>
<p>Create the oid and lookup the tree object just like the other objects.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_oid_fromstr-58" class="fnlink" href="../../#v0.13.0/group/oid/git_oid_fromstr">git_oid_fromstr</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">oid</span><span class="p">,</span> <span class="s">&quot;2a741c18ac5ff082a7caaec6e74db3075a1906b5&quot;</span><span class="p">);</span>
- <span class="n"><a name="git_tree_lookup-40" class="fnlink" href="../../#v0.13.0/group/tree/git_tree_lookup">git_tree_lookup</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">tree</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span></pre></div>
+ <div class='highlight'><pre> <span class="n"><a name="git_oid_fromstr-34" class="fnlink" href="../../#v0.13.0/group/oid/git_oid_fromstr">git_oid_fromstr</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">oid</span><span class="p">,</span> <span class="s">&quot;2a741c18ac5ff082a7caaec6e74db3075a1906b5&quot;</span><span class="p">);</span>
+ <span class="n"><a name="git_tree_lookup-1" class="fnlink" href="../../#v0.13.0/group/tree/git_tree_lookup">git_tree_lookup</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">tree</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-37'>
@@ -575,11 +575,11 @@ traversing tree entries.</p>
<p>Getting the count of entries in the tree so you can iterate over them if you want to.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="kt">int</span> <span class="n">cnt</span> <span class="o">=</span> <span class="n"><a name="git_tree_entrycount-41" class="fnlink" href="../../#v0.13.0/group/tree/git_tree_entrycount">git_tree_entrycount</a></span><span class="p">(</span><span class="n">tree</span><span class="p">);</span> <span class="c1">// 3</span>
+ <div class='highlight'><pre> <span class="kt">int</span> <span class="n">cnt</span> <span class="o">=</span> <span class="n"><a name="git_tree_entrycount-2" class="fnlink" href="../../#v0.13.0/group/tree/git_tree_entrycount">git_tree_entrycount</a></span><span class="p">(</span><span class="n">tree</span><span class="p">);</span> <span class="c1">// 3</span>
<span class="n">printf</span><span class="p">(</span><span class="s">&quot;tree entries: %d</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">cnt</span><span class="p">);</span>
- <span class="n">entry</span> <span class="o">=</span> <span class="n"><a name="git_tree_entry_byindex-43" class="fnlink" href="../../#v0.13.0/group/tree/git_tree_entry_byindex">git_tree_entry_byindex</a></span><span class="p">(</span><span class="n">tree</span><span class="p">,</span> <span class="mi">0</span><span class="p">);</span>
- <span class="n">printf</span><span class="p">(</span><span class="s">&quot;Entry name: %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n"><a name="git_tree_entry_name-44" class="fnlink" href="../../#v0.13.0/group/tree/git_tree_entry_name">git_tree_entry_name</a></span><span class="p">(</span><span class="n">entry</span><span class="p">));</span> <span class="c1">// &quot;hello.c&quot;</span></pre></div>
+ <span class="n">entry</span> <span class="o">=</span> <span class="n"><a name="git_tree_entry_byindex-4" class="fnlink" href="../../#v0.13.0/group/tree/git_tree_entry_byindex">git_tree_entry_byindex</a></span><span class="p">(</span><span class="n">tree</span><span class="p">,</span> <span class="mi">0</span><span class="p">);</span>
+ <span class="n">printf</span><span class="p">(</span><span class="s">&quot;Entry name: %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n"><a name="git_tree_entry_name-5" class="fnlink" href="../../#v0.13.0/group/tree/git_tree_entry_name">git_tree_entry_name</a></span><span class="p">(</span><span class="n">entry</span><span class="p">));</span> <span class="c1">// &quot;hello.c&quot;</span></pre></div>
</td>
</tr>
<tr id='section-38'>
@@ -590,8 +590,8 @@ traversing tree entries.</p>
<p>You can also access tree entries by name if you know the name of the entry you&rsquo;re looking for.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n">entry</span> <span class="o">=</span> <span class="n"><a name="git_tree_entry_byname-42" class="fnlink" href="../../#v0.13.0/group/tree/git_tree_entry_byname">git_tree_entry_byname</a></span><span class="p">(</span><span class="n">tree</span><span class="p">,</span> <span class="s">&quot;hello.c&quot;</span><span class="p">);</span>
- <span class="n"><a name="git_tree_entry_name-45" class="fnlink" href="../../#v0.13.0/group/tree/git_tree_entry_name">git_tree_entry_name</a></span><span class="p">(</span><span class="n">entry</span><span class="p">);</span> <span class="c1">// &quot;hello.c&quot;</span></pre></div>
+ <div class='highlight'><pre> <span class="n">entry</span> <span class="o">=</span> <span class="n"><a name="git_tree_entry_byname-3" class="fnlink" href="../../#v0.13.0/group/tree/git_tree_entry_byname">git_tree_entry_byname</a></span><span class="p">(</span><span class="n">tree</span><span class="p">,</span> <span class="s">&quot;hello.c&quot;</span><span class="p">);</span>
+ <span class="n"><a name="git_tree_entry_name-6" class="fnlink" href="../../#v0.13.0/group/tree/git_tree_entry_name">git_tree_entry_name</a></span><span class="p">(</span><span class="n">entry</span><span class="p">);</span> <span class="c1">// &quot;hello.c&quot;</span></pre></div>
</td>
</tr>
<tr id='section-39'>
@@ -603,7 +603,7 @@ traversing tree entries.</p>
of submodules) that it points to. You can also get the mode if you want.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_tree_entry_2object-46" class="fnlink" href="../../#v0.13.0/group/tree/git_tree_entry_2object">git_tree_entry_2object</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">objt</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="n">entry</span><span class="p">);</span> <span class="c1">// blob</span></pre></div>
+ <div class='highlight'><pre> <span class="n"><a name="git_tree_entry_2object-7" class="fnlink" href="../../#v0.13.0/group/tree/git_tree_entry_2object">git_tree_entry_2object</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">objt</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="n">entry</span><span class="p">);</span> <span class="c1">// blob</span></pre></div>
</td>
</tr>
<tr id='section-40'>
@@ -614,7 +614,7 @@ of submodules) that it points to. You can also get the mode if you want.</p>
<p>Remember to close the looked-up object once you are done using it</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_object_close-71" class="fnlink" href="../../#v0.13.0/group/object/git_object_close">git_object_close</a></span><span class="p">(</span><span class="n">objt</span><span class="p">);</span></pre></div>
+ <div class='highlight'><pre> <span class="n"><a name="git_object_close-48" class="fnlink" href="../../#v0.13.0/group/object/git_object_close">git_object_close</a></span><span class="p">(</span><span class="n">objt</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-Blob_Parsing'>
@@ -634,8 +634,8 @@ getting the oid back so you don&rsquo;t have to do all those steps yourself.</p>
<div class='highlight'><pre> <span class="n">printf</span><span class="p">(</span><span class="s">&quot;</span><span class="se">\n</span><span class="s">*Blob Parsing*</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">);</span>
<span class="n">git_blob</span> <span class="o">*</span><span class="n">blob</span><span class="p">;</span>
- <span class="n"><a name="git_oid_fromstr-59" class="fnlink" href="../../#v0.13.0/group/oid/git_oid_fromstr">git_oid_fromstr</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">oid</span><span class="p">,</span> <span class="s">&quot;af7574ea73f7b166f869ef1a39be126d9a186ae0&quot;</span><span class="p">);</span>
- <span class="n"><a name="git_blob_lookup-6" class="fnlink" href="../../#v0.13.0/group/blob/git_blob_lookup">git_blob_lookup</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">blob</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span></pre></div>
+ <span class="n"><a name="git_oid_fromstr-35" class="fnlink" href="../../#v0.13.0/group/oid/git_oid_fromstr">git_oid_fromstr</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">oid</span><span class="p">,</span> <span class="s">&quot;af7574ea73f7b166f869ef1a39be126d9a186ae0&quot;</span><span class="p">);</span>
+ <span class="n"><a name="git_blob_lookup-74" class="fnlink" href="../../#v0.13.0/group/blob/git_blob_lookup">git_blob_lookup</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">blob</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-42'>
@@ -645,12 +645,12 @@ getting the oid back so you don&rsquo;t have to do all those steps yourself.</p>
</div>
<p>You can access a buffer with the raw contents of the blob directly.
Note that this buffer may not be contain ASCII data for certain blobs (e.g. binary files):
-do not consider the buffer a NULL-terminated string, and use the <code><a name="git_blob_rawsize-8" class="fnlink" href="../../#v0.13.0/group/blob/git_blob_rawsize">git_blob_rawsize</a></code> attribute to
+do not consider the buffer a NULL-terminated string, and use the <code><a name="git_blob_rawsize-76" class="fnlink" href="../../#v0.13.0/group/blob/git_blob_rawsize">git_blob_rawsize</a></code> attribute to
find out its exact size in bytes</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n">printf</span><span class="p">(</span><span class="s">&quot;Blob Size: %d</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n"><a name="git_blob_rawsize-9" class="fnlink" href="../../#v0.13.0/group/blob/git_blob_rawsize">git_blob_rawsize</a></span><span class="p">(</span><span class="n">blob</span><span class="p">));</span> <span class="c1">// 8</span>
- <span class="n"><a name="git_blob_rawcontent-7" class="fnlink" href="../../#v0.13.0/group/blob/git_blob_rawcontent">git_blob_rawcontent</a></span><span class="p">(</span><span class="n">blob</span><span class="p">);</span> <span class="c1">// &quot;content&quot;</span></pre></div>
+ <div class='highlight'><pre> <span class="n">printf</span><span class="p">(</span><span class="s">&quot;Blob Size: %d</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n"><a name="git_blob_rawsize-77" class="fnlink" href="../../#v0.13.0/group/blob/git_blob_rawsize">git_blob_rawsize</a></span><span class="p">(</span><span class="n">blob</span><span class="p">));</span> <span class="c1">// 8</span>
+ <span class="n"><a name="git_blob_rawcontent-75" class="fnlink" href="../../#v0.13.0/group/blob/git_blob_rawcontent">git_blob_rawcontent</a></span><span class="p">(</span><span class="n">blob</span><span class="p">);</span> <span class="c1">// &quot;content&quot;</span></pre></div>
</td>
</tr>
<tr id='section-Revwalking'>
@@ -671,7 +671,7 @@ type functionality.</p>
<span class="n">git_revwalk</span> <span class="o">*</span><span class="n">walk</span><span class="p">;</span>
<span class="n">git_commit</span> <span class="o">*</span><span class="n">wcommit</span><span class="p">;</span>
- <span class="n"><a name="git_oid_fromstr-60" class="fnlink" href="../../#v0.13.0/group/oid/git_oid_fromstr">git_oid_fromstr</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">oid</span><span class="p">,</span> <span class="s">&quot;f0877d0b841d75172ec404fc9370173dfffc20d1&quot;</span><span class="p">);</span></pre></div>
+ <span class="n"><a name="git_oid_fromstr-36" class="fnlink" href="../../#v0.13.0/group/oid/git_oid_fromstr">git_oid_fromstr</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">oid</span><span class="p">,</span> <span class="s">&quot;f0877d0b841d75172ec404fc9370173dfffc20d1&quot;</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-44'>
@@ -687,9 +687,9 @@ want to emulate <code>git log branch1..branch2</code>, you would push the oid of
of <code>branch1</code>.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_revwalk_new-66" class="fnlink" href="../../#v0.13.0/group/revwalk/git_revwalk_new">git_revwalk_new</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">walk</span><span class="p">,</span> <span class="n">repo</span><span class="p">);</span>
- <span class="n"><a name="git_revwalk_sorting-69" class="fnlink" href="../../#v0.13.0/group/revwalk/git_revwalk_sorting">git_revwalk_sorting</a></span><span class="p">(</span><span class="n">walk</span><span class="p">,</span> <span class="n">GIT_SORT_TOPOLOGICAL</span> <span class="o">|</span> <span class="n">GIT_SORT_REVERSE</span><span class="p">);</span>
- <span class="n"><a name="git_revwalk_push-67" class="fnlink" href="../../#v0.13.0/group/revwalk/git_revwalk_push">git_revwalk_push</a></span><span class="p">(</span><span class="n">walk</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span>
+ <div class='highlight'><pre> <span class="n"><a name="git_revwalk_new-15" class="fnlink" href="../../#v0.13.0/group/revwalk/git_revwalk_new">git_revwalk_new</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">walk</span><span class="p">,</span> <span class="n">repo</span><span class="p">);</span>
+ <span class="n"><a name="git_revwalk_sorting-18" class="fnlink" href="../../#v0.13.0/group/revwalk/git_revwalk_sorting">git_revwalk_sorting</a></span><span class="p">(</span><span class="n">walk</span><span class="p">,</span> <span class="n">GIT_SORT_TOPOLOGICAL</span> <span class="o">|</span> <span class="n">GIT_SORT_REVERSE</span><span class="p">);</span>
+ <span class="n"><a name="git_revwalk_push-16" class="fnlink" href="../../#v0.13.0/group/revwalk/git_revwalk_push">git_revwalk_push</a></span><span class="p">(</span><span class="n">walk</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span>
<span class="k">const</span> <span class="n">git_signature</span> <span class="o">*</span><span class="n">cauth</span><span class="p">;</span>
<span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">cmsg</span><span class="p">;</span></pre></div>
@@ -707,12 +707,12 @@ note that this operation is specially fast since the raw contents of the commit
be cached in memory</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="k">while</span> <span class="p">((</span><span class="n"><a name="git_revwalk_next-68" class="fnlink" href="../../#v0.13.0/group/revwalk/git_revwalk_next">git_revwalk_next</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">oid</span><span class="p">,</span> <span class="n">walk</span><span class="p">))</span> <span class="o">==</span> <span class="n">GIT_SUCCESS</span><span class="p">)</span> <span class="p">{</span>
- <span class="n">error</span> <span class="o">=</span> <span class="n"><a name="git_commit_lookup-23" class="fnlink" href="../../#v0.13.0/group/commit/git_commit_lookup">git_commit_lookup</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">wcommit</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span>
- <span class="n">cmsg</span> <span class="o">=</span> <span class="n"><a name="git_commit_message_short-30" class="fnlink" href="../../#v0.13.0/group/commit/git_commit_message_short">git_commit_message_short</a></span><span class="p">(</span><span class="n">wcommit</span><span class="p">);</span>
- <span class="n">cauth</span> <span class="o">=</span> <span class="n"><a name="git_commit_author-36" class="fnlink" href="../../#v0.13.0/group/commit/git_commit_author">git_commit_author</a></span><span class="p">(</span><span class="n">wcommit</span><span class="p">);</span>
+ <div class='highlight'><pre> <span class="k">while</span> <span class="p">((</span><span class="n"><a name="git_revwalk_next-17" class="fnlink" href="../../#v0.13.0/group/revwalk/git_revwalk_next">git_revwalk_next</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">oid</span><span class="p">,</span> <span class="n">walk</span><span class="p">))</span> <span class="o">==</span> <span class="n">GIT_SUCCESS</span><span class="p">)</span> <span class="p">{</span>
+ <span class="n">error</span> <span class="o">=</span> <span class="n"><a name="git_commit_lookup-57" class="fnlink" href="../../#v0.13.0/group/commit/git_commit_lookup">git_commit_lookup</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">wcommit</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span>
+ <span class="n">cmsg</span> <span class="o">=</span> <span class="n"><a name="git_commit_message_short-64" class="fnlink" href="../../#v0.13.0/group/commit/git_commit_message_short">git_commit_message_short</a></span><span class="p">(</span><span class="n">wcommit</span><span class="p">);</span>
+ <span class="n">cauth</span> <span class="o">=</span> <span class="n"><a name="git_commit_author-70" class="fnlink" href="../../#v0.13.0/group/commit/git_commit_author">git_commit_author</a></span><span class="p">(</span><span class="n">wcommit</span><span class="p">);</span>
<span class="n">printf</span><span class="p">(</span><span class="s">&quot;%s (%s)</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">cmsg</span><span class="p">,</span> <span class="n">cauth</span><span class="o">-&gt;</span><span class="n">email</span><span class="p">);</span>
- <span class="n"><a name="git_commit_close-27" class="fnlink" href="../../#v0.13.0/group/commit/git_commit_close">git_commit_close</a></span><span class="p">(</span><span class="n">wcommit</span><span class="p">);</span>
+ <span class="n"><a name="git_commit_close-61" class="fnlink" href="../../#v0.13.0/group/commit/git_commit_close">git_commit_close</a></span><span class="p">(</span><span class="n">wcommit</span><span class="p">);</span>
<span class="p">}</span></pre></div>
</td>
</tr>
@@ -726,7 +726,7 @@ Also, make sure that the repository being walked it not deallocated while the wa
progress, or it will result in undefined behavior</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_revwalk_free-70" class="fnlink" href="../../#v0.13.0/group/revwalk/git_revwalk_free">git_revwalk_free</a></span><span class="p">(</span><span class="n">walk</span><span class="p">);</span></pre></div>
+ <div class='highlight'><pre> <span class="n"><a name="git_revwalk_free-19" class="fnlink" href="../../#v0.13.0/group/revwalk/git_revwalk_free">git_revwalk_free</a></span><span class="p">(</span><span class="n">walk</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-Index_File_Manipulation'>
@@ -756,7 +756,7 @@ here, or you can open and manipulate any index file with <code>git_index_open_ba
for the repository will be located and loaded from disk.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_repository_index-15" class="fnlink" href="../../#v0.13.0/group/repository/git_repository_index">git_repository_index</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">index</span><span class="p">,</span> <span class="n">repo</span><span class="p">);</span></pre></div>
+ <div class='highlight'><pre> <span class="n"><a name="git_repository_index-22" class="fnlink" href="../../#v0.13.0/group/repository/git_repository_index">git_repository_index</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">index</span><span class="p">,</span> <span class="n">repo</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-49'>
@@ -770,16 +770,16 @@ to help determine what to inspect for changes (ctime, mtime, dev, ino, uid, gid,
All these properties are exported publicly in the <code>git_index_entry</code> struct</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n">ecount</span> <span class="o">=</span> <span class="n"><a name="git_index_entrycount-12" class="fnlink" href="../../#v0.13.0/group/index/git_index_entrycount">git_index_entrycount</a></span><span class="p">(</span><span class="n">index</span><span class="p">);</span>
+ <div class='highlight'><pre> <span class="n">ecount</span> <span class="o">=</span> <span class="n"><a name="git_index_entrycount-52" class="fnlink" href="../../#v0.13.0/group/index/git_index_entrycount">git_index_entrycount</a></span><span class="p">(</span><span class="n">index</span><span class="p">);</span>
<span class="k">for</span> <span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="n">ecount</span><span class="p">;</span> <span class="o">++</span><span class="n">i</span><span class="p">)</span> <span class="p">{</span>
- <span class="n">git_index_entry</span> <span class="o">*</span><span class="n">e</span> <span class="o">=</span> <span class="n"><a name="git_index_get-11" class="fnlink" href="../../#v0.13.0/group/index/git_index_get">git_index_get</a></span><span class="p">(</span><span class="n">index</span><span class="p">,</span> <span class="n">i</span><span class="p">);</span>
+ <span class="n">git_index_entry</span> <span class="o">*</span><span class="n">e</span> <span class="o">=</span> <span class="n"><a name="git_index_get-51" class="fnlink" href="../../#v0.13.0/group/index/git_index_get">git_index_get</a></span><span class="p">(</span><span class="n">index</span><span class="p">,</span> <span class="n">i</span><span class="p">);</span>
<span class="n">printf</span><span class="p">(</span><span class="s">&quot;path: %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">e</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">);</span>
<span class="n">printf</span><span class="p">(</span><span class="s">&quot;mtime: %d</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="p">(</span><span class="kt">int</span><span class="p">)</span><span class="n">e</span><span class="o">-&gt;</span><span class="n">mtime</span><span class="p">.</span><span class="n">seconds</span><span class="p">);</span>
<span class="n">printf</span><span class="p">(</span><span class="s">&quot;fs: %d</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="p">(</span><span class="kt">int</span><span class="p">)</span><span class="n">e</span><span class="o">-&gt;</span><span class="n">file_size</span><span class="p">);</span>
<span class="p">}</span>
- <span class="n"><a name="git_index_free-10" class="fnlink" href="../../#v0.13.0/group/index/git_index_free">git_index_free</a></span><span class="p">(</span><span class="n">index</span><span class="p">);</span></pre></div>
+ <span class="n"><a name="git_index_free-50" class="fnlink" href="../../#v0.13.0/group/index/git_index_free">git_index_free</a></span><span class="p">(</span><span class="n">index</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-References'>
@@ -806,7 +806,7 @@ references and the object SHA they resolve to.</p>
</td>
<td class=code>
<div class='highlight'><pre> <span class="n">git_strarray</span> <span class="n">ref_list</span><span class="p">;</span>
- <span class="n"><a name="git_reference_listall-77" class="fnlink" href="../../#v0.13.0/group/reference/git_reference_listall">git_reference_listall</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">ref_list</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="n">GIT_REF_LISTALL</span><span class="p">);</span>
+ <span class="n"><a name="git_reference_listall-28" class="fnlink" href="../../#v0.13.0/group/reference/git_reference_listall">git_reference_listall</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">ref_list</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="n">GIT_REF_LISTALL</span><span class="p">);</span>
<span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">refname</span><span class="p">,</span> <span class="o">*</span><span class="n">reftarget</span><span class="p">;</span>
<span class="n">git_reference</span> <span class="o">*</span><span class="n">ref</span><span class="p">;</span></pre></div>
@@ -823,16 +823,16 @@ resolve them to the SHA, then print both values out.</p>
<td class=code>
<div class='highlight'><pre> <span class="k">for</span> <span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="n">ref_list</span><span class="p">.</span><span class="n">count</span><span class="p">;</span> <span class="o">++</span><span class="n">i</span><span class="p">)</span> <span class="p">{</span>
<span class="n">refname</span> <span class="o">=</span> <span class="n">ref_list</span><span class="p">.</span><span class="n">strings</span><span class="p">[</span><span class="n">i</span><span class="p">];</span>
- <span class="n"><a name="git_reference_lookup-73" class="fnlink" href="../../#v0.13.0/group/reference/git_reference_lookup">git_reference_lookup</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">ref</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="n">refname</span><span class="p">);</span>
+ <span class="n"><a name="git_reference_lookup-24" class="fnlink" href="../../#v0.13.0/group/reference/git_reference_lookup">git_reference_lookup</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">ref</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="n">refname</span><span class="p">);</span>
- <span class="k">switch</span> <span class="p">(</span><span class="n"><a name="git_reference_type-76" class="fnlink" href="../../#v0.13.0/group/reference/git_reference_type">git_reference_type</a></span><span class="p">(</span><span class="n">ref</span><span class="p">))</span> <span class="p">{</span>
+ <span class="k">switch</span> <span class="p">(</span><span class="n"><a name="git_reference_type-27" class="fnlink" href="../../#v0.13.0/group/reference/git_reference_type">git_reference_type</a></span><span class="p">(</span><span class="n">ref</span><span class="p">))</span> <span class="p">{</span>
<span class="k">case</span> <span class="n">GIT_REF_OID</span>:
- <span class="n"><a name="git_oid_fmt-65" class="fnlink" href="../../#v0.13.0/group/oid/git_oid_fmt">git_oid_fmt</a></span><span class="p">(</span><span class="n">out</span><span class="p">,</span> <span class="n"><a name="git_reference_oid-74" class="fnlink" href="../../#v0.13.0/group/reference/git_reference_oid">git_reference_oid</a></span><span class="p">(</span><span class="n">ref</span><span class="p">));</span>
+ <span class="n"><a name="git_oid_fmt-41" class="fnlink" href="../../#v0.13.0/group/oid/git_oid_fmt">git_oid_fmt</a></span><span class="p">(</span><span class="n">out</span><span class="p">,</span> <span class="n"><a name="git_reference_oid-25" class="fnlink" href="../../#v0.13.0/group/reference/git_reference_oid">git_reference_oid</a></span><span class="p">(</span><span class="n">ref</span><span class="p">));</span>
<span class="n">printf</span><span class="p">(</span><span class="s">&quot;%s [%s]</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">refname</span><span class="p">,</span> <span class="n">out</span><span class="p">);</span>
<span class="k">break</span><span class="p">;</span>
<span class="k">case</span> <span class="n">GIT_REF_SYMBOLIC</span>:
- <span class="n">printf</span><span class="p">(</span><span class="s">&quot;%s =&gt; %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">refname</span><span class="p">,</span> <span class="n"><a name="git_reference_target-75" class="fnlink" href="../../#v0.13.0/group/reference/git_reference_target">git_reference_target</a></span><span class="p">(</span><span class="n">ref</span><span class="p">));</span>
+ <span class="n">printf</span><span class="p">(</span><span class="s">&quot;%s =&gt; %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">refname</span><span class="p">,</span> <span class="n"><a name="git_reference_target-26" class="fnlink" href="../../#v0.13.0/group/reference/git_reference_target">git_reference_target</a></span><span class="p">(</span><span class="n">ref</span><span class="p">));</span>
<span class="k">break</span><span class="p">;</span>
<span class="p">}</span>
<span class="p">}</span>
@@ -867,12 +867,12 @@ any of the accessible config file locations (system, global, local).</p>
<p>Open a config object so we can read global values from it.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_config_open_ondisk-3" class="fnlink" href="../../#v0.13.0/group/config/git_config_open_ondisk">git_config_open_ondisk</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">cfg</span><span class="p">,</span> <span class="s">&quot;~/.gitconfig&quot;</span><span class="p">);</span>
+ <div class='highlight'><pre> <span class="n"><a name="git_config_open_ondisk-53" class="fnlink" href="../../#v0.13.0/group/config/git_config_open_ondisk">git_config_open_ondisk</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">cfg</span><span class="p">,</span> <span class="s">&quot;~/.gitconfig&quot;</span><span class="p">);</span>
- <span class="n"><a name="git_config_get_int-4" class="fnlink" href="../../#v0.13.0/group/config/git_config_get_int">git_config_get_int</a></span><span class="p">(</span><span class="n">cfg</span><span class="p">,</span> <span class="s">&quot;help.autocorrect&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">j</span><span class="p">);</span>
+ <span class="n"><a name="git_config_get_int-54" class="fnlink" href="../../#v0.13.0/group/config/git_config_get_int">git_config_get_int</a></span><span class="p">(</span><span class="n">cfg</span><span class="p">,</span> <span class="s">&quot;help.autocorrect&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">j</span><span class="p">);</span>
<span class="n">printf</span><span class="p">(</span><span class="s">&quot;Autocorrect: %d</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">j</span><span class="p">);</span>
- <span class="n"><a name="git_config_get_string-5" class="fnlink" href="../../#v0.13.0/group/config/git_config_get_string">git_config_get_string</a></span><span class="p">(</span><span class="n">cfg</span><span class="p">,</span> <span class="s">&quot;user.email&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">email</span><span class="p">);</span>
+ <span class="n"><a name="git_config_get_string-55" class="fnlink" href="../../#v0.13.0/group/config/git_config_get_string">git_config_get_string</a></span><span class="p">(</span><span class="n">cfg</span><span class="p">,</span> <span class="s">&quot;user.email&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">email</span><span class="p">);</span>
<span class="n">printf</span><span class="p">(</span><span class="s">&quot;Email: %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">email</span><span class="p">);</span></pre></div>
</td>
</tr>
@@ -885,7 +885,7 @@ any of the accessible config file locations (system, global, local).</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_repository_free-16" class="fnlink" href="../../#v0.13.0/group/repository/git_repository_free">git_repository_free</a></span><span class="p">(</span><span class="n">repo</span><span class="p">);</span>
+ <div class='highlight'><pre> <span class="n"><a name="git_repository_free-23" class="fnlink" href="../../#v0.13.0/group/repository/git_repository_free">git_repository_free</a></span><span class="p">(</span><span class="n">repo</span><span class="p">);</span>
<span class="p">}</span></pre></div>
</td>
</tr>
diff --git a/ex/v0.13.0/showindex.html b/ex/v0.13.0/showindex.html
index 0bfec4f18..18f2ec292 100644
--- a/ex/v0.13.0/showindex.html
+++ b/ex/v0.13.0/showindex.html
@@ -53,17 +53,17 @@
<span class="kt">char</span> <span class="n">out</span><span class="p">[</span><span class="mi">41</span><span class="p">];</span>
<span class="n">out</span><span class="p">[</span><span class="mi">40</span><span class="p">]</span> <span class="o">=</span> <span class="sc">&#39;\0&#39;</span><span class="p">;</span>
- <span class="n"><a name="git_repository_open-5" class="fnlink" href="../../#v0.13.0/group/repository/git_repository_open">git_repository_open</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">repo</span><span class="p">,</span> <span class="s">&quot;/opt/libgit2-test/.git&quot;</span><span class="p">);</span>
+ <span class="n"><a name="git_repository_open-1" class="fnlink" href="../../#v0.13.0/group/repository/git_repository_open">git_repository_open</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">repo</span><span class="p">,</span> <span class="s">&quot;/opt/libgit2-test/.git&quot;</span><span class="p">);</span>
- <span class="n"><a name="git_repository_index-6" class="fnlink" href="../../#v0.13.0/group/repository/git_repository_index">git_repository_index</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">index</span><span class="p">,</span> <span class="n">repo</span><span class="p">);</span>
- <span class="n"><a name="git_index_read-2" class="fnlink" href="../../#v0.13.0/group/index/git_index_read">git_index_read</a></span><span class="p">(</span><span class="n">index</span><span class="p">);</span>
+ <span class="n"><a name="git_repository_index-2" class="fnlink" href="../../#v0.13.0/group/repository/git_repository_index">git_repository_index</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">index</span><span class="p">,</span> <span class="n">repo</span><span class="p">);</span>
+ <span class="n"><a name="git_index_read-6" class="fnlink" href="../../#v0.13.0/group/index/git_index_read">git_index_read</a></span><span class="p">(</span><span class="n">index</span><span class="p">);</span>
- <span class="n">ecount</span> <span class="o">=</span> <span class="n"><a name="git_index_entrycount-4" class="fnlink" href="../../#v0.13.0/group/index/git_index_entrycount">git_index_entrycount</a></span><span class="p">(</span><span class="n">index</span><span class="p">);</span>
+ <span class="n">ecount</span> <span class="o">=</span> <span class="n"><a name="git_index_entrycount-8" class="fnlink" href="../../#v0.13.0/group/index/git_index_entrycount">git_index_entrycount</a></span><span class="p">(</span><span class="n">index</span><span class="p">);</span>
<span class="k">for</span> <span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="n">ecount</span><span class="p">;</span> <span class="o">++</span><span class="n">i</span><span class="p">)</span> <span class="p">{</span>
- <span class="n">git_index_entry</span> <span class="o">*</span><span class="n">e</span> <span class="o">=</span> <span class="n"><a name="git_index_get-3" class="fnlink" href="../../#v0.13.0/group/index/git_index_get">git_index_get</a></span><span class="p">(</span><span class="n">index</span><span class="p">,</span> <span class="n">i</span><span class="p">);</span>
+ <span class="n">git_index_entry</span> <span class="o">*</span><span class="n">e</span> <span class="o">=</span> <span class="n"><a name="git_index_get-7" class="fnlink" href="../../#v0.13.0/group/index/git_index_get">git_index_get</a></span><span class="p">(</span><span class="n">index</span><span class="p">,</span> <span class="n">i</span><span class="p">);</span>
<span class="n">oid</span> <span class="o">=</span> <span class="n">e</span><span class="o">-&gt;</span><span class="n">oid</span><span class="p">;</span>
- <span class="n"><a name="git_oid_fmt-8" class="fnlink" href="../../#v0.13.0/group/oid/git_oid_fmt">git_oid_fmt</a></span><span class="p">(</span><span class="n">out</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span>
+ <span class="n"><a name="git_oid_fmt-4" class="fnlink" href="../../#v0.13.0/group/oid/git_oid_fmt">git_oid_fmt</a></span><span class="p">(</span><span class="n">out</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span>
<span class="n">printf</span><span class="p">(</span><span class="s">&quot;File Path: %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">e</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">);</span>
<span class="n">printf</span><span class="p">(</span><span class="s">&quot; Blob SHA: %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">out</span><span class="p">);</span>
@@ -77,9 +77,9 @@
<span class="n">printf</span><span class="p">(</span><span class="s">&quot;</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">);</span>
<span class="p">}</span>
- <span class="n"><a name="git_index_free-1" class="fnlink" href="../../#v0.13.0/group/index/git_index_free">git_index_free</a></span><span class="p">(</span><span class="n">index</span><span class="p">);</span>
+ <span class="n"><a name="git_index_free-5" class="fnlink" href="../../#v0.13.0/group/index/git_index_free">git_index_free</a></span><span class="p">(</span><span class="n">index</span><span class="p">);</span>
- <span class="n"><a name="git_repository_free-7" class="fnlink" href="../../#v0.13.0/group/repository/git_repository_free">git_repository_free</a></span><span class="p">(</span><span class="n">repo</span><span class="p">);</span>
+ <span class="n"><a name="git_repository_free-3" class="fnlink" href="../../#v0.13.0/group/repository/git_repository_free">git_repository_free</a></span><span class="p">(</span><span class="n">repo</span><span class="p">);</span>
<span class="p">}</span></pre></div>
</td>
</tr>
diff --git a/ex/v0.14.0/general.html b/ex/v0.14.0/general.html
index 2d6456641..38d3fefb5 100644
--- a/ex/v0.14.0/general.html
+++ b/ex/v0.14.0/general.html
@@ -106,7 +106,7 @@ we are assuming they are in the normal places.</p>
</td>
<td class=code>
<div class='highlight'><pre> <span class="n">git_repository</span> <span class="o">*</span><span class="n">repo</span><span class="p">;</span>
- <span class="n"><a name="git_repository_open-13" class="fnlink" href="../../#v0.14.0/group/repository/git_repository_open">git_repository_open</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">repo</span><span class="p">,</span> <span class="s">&quot;/opt/libgit2-test/.git&quot;</span><span class="p">);</span></pre></div>
+ <span class="n"><a name="git_repository_open-21" class="fnlink" href="../../#v0.14.0/group/repository/git_repository_open">git_repository_open</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">repo</span><span class="p">,</span> <span class="s">&quot;/opt/libgit2-test/.git&quot;</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-SHA-1_Value_Conversions'>
@@ -142,7 +142,7 @@ for storing the value of the current SHA key we&rsquo;re working with.</p>
</td>
<td class=code>
<div class='highlight'><pre> <span class="n">git_oid</span> <span class="n">oid</span><span class="p">;</span>
- <span class="n"><a name="git_oid_fromstr-55" class="fnlink" href="../../#v0.14.0/group/oid/git_oid_fromstr">git_oid_fromstr</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">oid</span><span class="p">,</span> <span class="n">hex</span><span class="p">);</span></pre></div>
+ <span class="n"><a name="git_oid_fromstr-30" class="fnlink" href="../../#v0.14.0/group/oid/git_oid_fromstr">git_oid_fromstr</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">oid</span><span class="p">,</span> <span class="n">hex</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-9'>
@@ -177,7 +177,7 @@ for storing the value of the current SHA key we&rsquo;re working with.</p>
<p>If you have a oid, you can easily get the hex value of the SHA as well.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_oid_fmt-63" class="fnlink" href="../../#v0.14.0/group/oid/git_oid_fmt">git_oid_fmt</a></span><span class="p">(</span><span class="n">out</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span>
+ <div class='highlight'><pre> <span class="n"><a name="git_oid_fmt-38" class="fnlink" href="../../#v0.14.0/group/oid/git_oid_fmt">git_oid_fmt</a></span><span class="p">(</span><span class="n">out</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span>
<span class="n">printf</span><span class="p">(</span><span class="s">&quot;SHA hex string: %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">out</span><span class="p">);</span></pre></div>
</td>
</tr>
@@ -195,7 +195,7 @@ repository.</p>
</td>
<td class=code>
<div class='highlight'><pre> <span class="n">git_odb</span> <span class="o">*</span><span class="n">odb</span><span class="p">;</span>
- <span class="n">odb</span> <span class="o">=</span> <span class="n"><a name="git_repository_database-14" class="fnlink" href="../../#v0.14.0/group/repository/git_repository_database">git_repository_database</a></span><span class="p">(</span><span class="n">repo</span><span class="p">);</span></pre></div>
+ <span class="n">odb</span> <span class="o">=</span> <span class="n"><a name="git_repository_database-22" class="fnlink" href="../../#v0.14.0/group/repository/git_repository_database">git_repository_database</a></span><span class="p">(</span><span class="n">repo</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-Raw_Object_Reading'>
@@ -224,7 +224,7 @@ of the object. This allows us to access objects without knowing thier type and
the raw bytes unparsed.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n">error</span> <span class="o">=</span> <span class="n"><a name="git_odb_read-49" class="fnlink" href="../../#v0.14.0/group/odb/git_odb_read">git_odb_read</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">obj</span><span class="p">,</span> <span class="n">odb</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span></pre></div>
+ <div class='highlight'><pre> <span class="n">error</span> <span class="o">=</span> <span class="n"><a name="git_odb_read-43" class="fnlink" href="../../#v0.14.0/group/odb/git_odb_read">git_odb_read</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">obj</span><span class="p">,</span> <span class="n">odb</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-15'>
@@ -239,8 +239,8 @@ text or binary data. For a tree it is a special binary format, so it&rsquo;s unl
hugely helpful as a raw object.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n">data</span> <span class="o">=</span> <span class="p">(</span><span class="k">const</span> <span class="kt">unsigned</span> <span class="kt">char</span> <span class="o">*</span><span class="p">)</span><span class="n"><a name="git_odb_object_data-52" class="fnlink" href="../../#v0.14.0/group/odb/git_odb_object_data">git_odb_object_data</a></span><span class="p">(</span><span class="n">obj</span><span class="p">);</span>
- <span class="n">otype</span> <span class="o">=</span> <span class="n"><a name="git_odb_object_type-54" class="fnlink" href="../../#v0.14.0/group/odb/git_odb_object_type">git_odb_object_type</a></span><span class="p">(</span><span class="n">obj</span><span class="p">);</span></pre></div>
+ <div class='highlight'><pre> <span class="n">data</span> <span class="o">=</span> <span class="p">(</span><span class="k">const</span> <span class="kt">unsigned</span> <span class="kt">char</span> <span class="o">*</span><span class="p">)</span><span class="n"><a name="git_odb_object_data-46" class="fnlink" href="../../#v0.14.0/group/odb/git_odb_object_data">git_odb_object_data</a></span><span class="p">(</span><span class="n">obj</span><span class="p">);</span>
+ <span class="n">otype</span> <span class="o">=</span> <span class="n"><a name="git_odb_object_type-48" class="fnlink" href="../../#v0.14.0/group/odb/git_odb_object_type">git_odb_object_type</a></span><span class="p">(</span><span class="n">obj</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-16'>
@@ -252,9 +252,9 @@ hugely helpful as a raw object.</p>
representation of that value (and vice-versa).</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n">str_type</span> <span class="o">=</span> <span class="n"><a name="git_object_type2string-74" class="fnlink" href="../../#v0.14.0/group/object/git_object_type2string">git_object_type2string</a></span><span class="p">(</span><span class="n">otype</span><span class="p">);</span>
+ <div class='highlight'><pre> <span class="n">str_type</span> <span class="o">=</span> <span class="n"><a name="git_object_type2string-50" class="fnlink" href="../../#v0.14.0/group/object/git_object_type2string">git_object_type2string</a></span><span class="p">(</span><span class="n">otype</span><span class="p">);</span>
<span class="n">printf</span><span class="p">(</span><span class="s">&quot;object length and type: %d, %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span>
- <span class="p">(</span><span class="kt">int</span><span class="p">)</span><span class="n"><a name="git_odb_object_size-53" class="fnlink" href="../../#v0.14.0/group/odb/git_odb_object_size">git_odb_object_size</a></span><span class="p">(</span><span class="n">obj</span><span class="p">),</span>
+ <span class="p">(</span><span class="kt">int</span><span class="p">)</span><span class="n"><a name="git_odb_object_size-47" class="fnlink" href="../../#v0.14.0/group/odb/git_odb_object_size">git_odb_object_size</a></span><span class="p">(</span><span class="n">obj</span><span class="p">),</span>
<span class="n">str_type</span><span class="p">);</span></pre></div>
</td>
</tr>
@@ -267,7 +267,7 @@ representation of that value (and vice-versa).</p>
memory.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_odb_object_close-51" class="fnlink" href="../../#v0.14.0/group/odb/git_odb_object_close">git_odb_object_close</a></span><span class="p">(</span><span class="n">obj</span><span class="p">);</span></pre></div>
+ <div class='highlight'><pre> <span class="n"><a name="git_odb_object_close-45" class="fnlink" href="../../#v0.14.0/group/odb/git_odb_object_close">git_odb_object_close</a></span><span class="p">(</span><span class="n">obj</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-Raw_Object_Writing'>
@@ -292,7 +292,7 @@ that just contains a simple string. Notice that we have to specify the object t
the <code>git_otype</code> enum.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_odb_write-50" class="fnlink" href="../../#v0.14.0/group/odb/git_odb_write">git_odb_write</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">oid</span><span class="p">,</span> <span class="n">odb</span><span class="p">,</span> <span class="s">&quot;test data&quot;</span><span class="p">,</span> <span class="k">sizeof</span><span class="p">(</span><span class="s">&quot;test data&quot;</span><span class="p">)</span> <span class="o">-</span> <span class="mi">1</span><span class="p">,</span> <span class="n">GIT_OBJ_BLOB</span><span class="p">);</span></pre></div>
+ <div class='highlight'><pre> <span class="n"><a name="git_odb_write-44" class="fnlink" href="../../#v0.14.0/group/odb/git_odb_write">git_odb_write</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">oid</span><span class="p">,</span> <span class="n">odb</span><span class="p">,</span> <span class="s">&quot;test data&quot;</span><span class="p">,</span> <span class="k">sizeof</span><span class="p">(</span><span class="s">&quot;test data&quot;</span><span class="p">)</span> <span class="o">-</span> <span class="mi">1</span><span class="p">,</span> <span class="n">GIT_OBJ_BLOB</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-20'>
@@ -304,7 +304,7 @@ the <code>git_otype</code> enum.</p>
object was written to our database.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_oid_fmt-64" class="fnlink" href="../../#v0.14.0/group/oid/git_oid_fmt">git_oid_fmt</a></span><span class="p">(</span><span class="n">out</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span>
+ <div class='highlight'><pre> <span class="n"><a name="git_oid_fmt-39" class="fnlink" href="../../#v0.14.0/group/oid/git_oid_fmt">git_oid_fmt</a></span><span class="p">(</span><span class="n">out</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span>
<span class="n">printf</span><span class="p">(</span><span class="s">&quot;Written Object: %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">out</span><span class="p">);</span></pre></div>
</td>
</tr>
@@ -337,9 +337,9 @@ yourself.</p>
<div class='highlight'><pre> <span class="n">printf</span><span class="p">(</span><span class="s">&quot;</span><span class="se">\n</span><span class="s">*Commit Parsing*</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">);</span>
<span class="n">git_commit</span> <span class="o">*</span><span class="n">commit</span><span class="p">;</span>
- <span class="n"><a name="git_oid_fromstr-56" class="fnlink" href="../../#v0.14.0/group/oid/git_oid_fromstr">git_oid_fromstr</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">oid</span><span class="p">,</span> <span class="s">&quot;f0877d0b841d75172ec404fc9370173dfffc20d1&quot;</span><span class="p">);</span>
+ <span class="n"><a name="git_oid_fromstr-31" class="fnlink" href="../../#v0.14.0/group/oid/git_oid_fromstr">git_oid_fromstr</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">oid</span><span class="p">,</span> <span class="s">&quot;f0877d0b841d75172ec404fc9370173dfffc20d1&quot;</span><span class="p">);</span>
- <span class="n">error</span> <span class="o">=</span> <span class="n"><a name="git_commit_lookup-22" class="fnlink" href="../../#v0.14.0/group/commit/git_commit_lookup">git_commit_lookup</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">commit</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span>
+ <span class="n">error</span> <span class="o">=</span> <span class="n"><a name="git_commit_lookup-57" class="fnlink" href="../../#v0.14.0/group/commit/git_commit_lookup">git_commit_lookup</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">commit</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span>
<span class="k">const</span> <span class="n">git_signature</span> <span class="o">*</span><span class="n">author</span><span class="p">,</span> <span class="o">*</span><span class="n">cmtter</span><span class="p">;</span>
<span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">message</span><span class="p">,</span> <span class="o">*</span><span class="n">message_short</span><span class="p">;</span>
@@ -353,15 +353,15 @@ yourself.</p>
<a class="pilcrow" href="#section-23">&#182;</a>
</div>
<p>Each of the properties of the commit object are accessible via methods, including commonly
-needed variations, such as <code><a name="git_commit_time-33" class="fnlink" href="../../#v0.14.0/group/commit/git_commit_time">git_commit_time</a></code> which returns the author time and <code>_message_short</code>
+needed variations, such as <code><a name="git_commit_time-68" class="fnlink" href="../../#v0.14.0/group/commit/git_commit_time">git_commit_time</a></code> which returns the author time and <code>_message_short</code>
which gives you just the first line of the commit message.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n">message</span> <span class="o">=</span> <span class="n"><a name="git_commit_message-32" class="fnlink" href="../../#v0.14.0/group/commit/git_commit_message">git_commit_message</a></span><span class="p">(</span><span class="n">commit</span><span class="p">);</span>
- <span class="n">message_short</span> <span class="o">=</span> <span class="n"><a name="git_commit_message_short-30" class="fnlink" href="../../#v0.14.0/group/commit/git_commit_message_short">git_commit_message_short</a></span><span class="p">(</span><span class="n">commit</span><span class="p">);</span>
- <span class="n">author</span> <span class="o">=</span> <span class="n"><a name="git_commit_author-36" class="fnlink" href="../../#v0.14.0/group/commit/git_commit_author">git_commit_author</a></span><span class="p">(</span><span class="n">commit</span><span class="p">);</span>
- <span class="n">cmtter</span> <span class="o">=</span> <span class="n"><a name="git_commit_committer-35" class="fnlink" href="../../#v0.14.0/group/commit/git_commit_committer">git_commit_committer</a></span><span class="p">(</span><span class="n">commit</span><span class="p">);</span>
- <span class="n">ctime</span> <span class="o">=</span> <span class="n"><a name="git_commit_time-34" class="fnlink" href="../../#v0.14.0/group/commit/git_commit_time">git_commit_time</a></span><span class="p">(</span><span class="n">commit</span><span class="p">);</span></pre></div>
+ <div class='highlight'><pre> <span class="n">message</span> <span class="o">=</span> <span class="n"><a name="git_commit_message-67" class="fnlink" href="../../#v0.14.0/group/commit/git_commit_message">git_commit_message</a></span><span class="p">(</span><span class="n">commit</span><span class="p">);</span>
+ <span class="n">message_short</span> <span class="o">=</span> <span class="n"><a name="git_commit_message_short-65" class="fnlink" href="../../#v0.14.0/group/commit/git_commit_message_short">git_commit_message_short</a></span><span class="p">(</span><span class="n">commit</span><span class="p">);</span>
+ <span class="n">author</span> <span class="o">=</span> <span class="n"><a name="git_commit_author-71" class="fnlink" href="../../#v0.14.0/group/commit/git_commit_author">git_commit_author</a></span><span class="p">(</span><span class="n">commit</span><span class="p">);</span>
+ <span class="n">cmtter</span> <span class="o">=</span> <span class="n"><a name="git_commit_committer-70" class="fnlink" href="../../#v0.14.0/group/commit/git_commit_committer">git_commit_committer</a></span><span class="p">(</span><span class="n">commit</span><span class="p">);</span>
+ <span class="n">ctime</span> <span class="o">=</span> <span class="n"><a name="git_commit_time-69" class="fnlink" href="../../#v0.14.0/group/commit/git_commit_time">git_commit_time</a></span><span class="p">(</span><span class="n">commit</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-24'>
@@ -386,13 +386,13 @@ will have one, which is the commit it was based on, and merge commits will have
Commits can technically have any number, though it&rsquo;s pretty rare to have more than two.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n">parents</span> <span class="o">=</span> <span class="n"><a name="git_commit_parentcount-38" class="fnlink" href="../../#v0.14.0/group/commit/git_commit_parentcount">git_commit_parentcount</a></span><span class="p">(</span><span class="n">commit</span><span class="p">);</span>
+ <div class='highlight'><pre> <span class="n">parents</span> <span class="o">=</span> <span class="n"><a name="git_commit_parentcount-73" class="fnlink" href="../../#v0.14.0/group/commit/git_commit_parentcount">git_commit_parentcount</a></span><span class="p">(</span><span class="n">commit</span><span class="p">);</span>
<span class="k">for</span> <span class="p">(</span><span class="n">p</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span><span class="n">p</span> <span class="o">&lt;</span> <span class="n">parents</span><span class="p">;</span><span class="n">p</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
<span class="n">git_commit</span> <span class="o">*</span><span class="n">parent</span><span class="p">;</span>
- <span class="n"><a name="git_commit_parent-39" class="fnlink" href="../../#v0.14.0/group/commit/git_commit_parent">git_commit_parent</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">parent</span><span class="p">,</span> <span class="n">commit</span><span class="p">,</span> <span class="n">p</span><span class="p">);</span>
- <span class="n"><a name="git_oid_fmt-65" class="fnlink" href="../../#v0.14.0/group/oid/git_oid_fmt">git_oid_fmt</a></span><span class="p">(</span><span class="n">out</span><span class="p">,</span> <span class="n"><a name="git_commit_id-29" class="fnlink" href="../../#v0.14.0/group/commit/git_commit_id">git_commit_id</a></span><span class="p">(</span><span class="n">parent</span><span class="p">));</span>
+ <span class="n"><a name="git_commit_parent-74" class="fnlink" href="../../#v0.14.0/group/commit/git_commit_parent">git_commit_parent</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">parent</span><span class="p">,</span> <span class="n">commit</span><span class="p">,</span> <span class="n">p</span><span class="p">);</span>
+ <span class="n"><a name="git_oid_fmt-40" class="fnlink" href="../../#v0.14.0/group/oid/git_oid_fmt">git_oid_fmt</a></span><span class="p">(</span><span class="n">out</span><span class="p">,</span> <span class="n"><a name="git_commit_id-64" class="fnlink" href="../../#v0.14.0/group/commit/git_commit_id">git_commit_id</a></span><span class="p">(</span><span class="n">parent</span><span class="p">));</span>
<span class="n">printf</span><span class="p">(</span><span class="s">&quot;Parent: %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">out</span><span class="p">);</span>
- <span class="n"><a name="git_commit_close-25" class="fnlink" href="../../#v0.14.0/group/commit/git_commit_close">git_commit_close</a></span><span class="p">(</span><span class="n">parent</span><span class="p">);</span>
+ <span class="n"><a name="git_commit_close-60" class="fnlink" href="../../#v0.14.0/group/commit/git_commit_close">git_commit_close</a></span><span class="p">(</span><span class="n">parent</span><span class="p">);</span>
<span class="p">}</span></pre></div>
</td>
</tr>
@@ -405,7 +405,7 @@ Commits can technically have any number, though it&rsquo;s pretty rare to have m
all the objects you open and parse.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_commit_close-26" class="fnlink" href="../../#v0.14.0/group/commit/git_commit_close">git_commit_close</a></span><span class="p">(</span><span class="n">commit</span><span class="p">);</span></pre></div>
+ <div class='highlight'><pre> <span class="n"><a name="git_commit_close-61" class="fnlink" href="../../#v0.14.0/group/commit/git_commit_close">git_commit_close</a></span><span class="p">(</span><span class="n">commit</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-Writing_Commits'>
@@ -437,9 +437,9 @@ and email should be found in the <code>user.name</code> and <code>user.email</co
section of this example file to see how to access config values.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n">author</span> <span class="o">=</span> <span class="n"><a name="git_signature_new-1" class="fnlink" href="../../#v0.14.0/group/signature/git_signature_new">git_signature_new</a></span><span class="p">(</span><span class="s">&quot;Scott Chacon&quot;</span><span class="p">,</span> <span class="s">&quot;schacon@gmail.com&quot;</span><span class="p">,</span>
+ <div class='highlight'><pre> <span class="n">author</span> <span class="o">=</span> <span class="n"><a name="git_signature_new-14" class="fnlink" href="../../#v0.14.0/group/signature/git_signature_new">git_signature_new</a></span><span class="p">(</span><span class="s">&quot;Scott Chacon&quot;</span><span class="p">,</span> <span class="s">&quot;schacon@gmail.com&quot;</span><span class="p">,</span>
<span class="mi">123456789</span><span class="p">,</span> <span class="mi">60</span><span class="p">);</span>
- <span class="n">cmtter</span> <span class="o">=</span> <span class="n"><a name="git_signature_new-2" class="fnlink" href="../../#v0.14.0/group/signature/git_signature_new">git_signature_new</a></span><span class="p">(</span><span class="s">&quot;Scott A Chacon&quot;</span><span class="p">,</span> <span class="s">&quot;scott@github.com&quot;</span><span class="p">,</span>
+ <span class="n">cmtter</span> <span class="o">=</span> <span class="n"><a name="git_signature_new-15" class="fnlink" href="../../#v0.14.0/group/signature/git_signature_new">git_signature_new</a></span><span class="p">(</span><span class="s">&quot;Scott A Chacon&quot;</span><span class="p">,</span> <span class="s">&quot;scott@github.com&quot;</span><span class="p">,</span>
<span class="mi">987654321</span><span class="p">,</span> <span class="mi">90</span><span class="p">);</span></pre></div>
</td>
</tr>
@@ -452,10 +452,10 @@ section of this example file to see how to access config values.</p>
objects to create the commit with, but you can also use</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_oid_fromstr-57" class="fnlink" href="../../#v0.14.0/group/oid/git_oid_fromstr">git_oid_fromstr</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">tree_id</span><span class="p">,</span> <span class="s">&quot;28873d96b4e8f4e33ea30f4c682fd325f7ba56ac&quot;</span><span class="p">);</span>
- <span class="n"><a name="git_tree_lookup-41" class="fnlink" href="../../#v0.14.0/group/tree/git_tree_lookup">git_tree_lookup</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">tree</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">tree_id</span><span class="p">);</span>
- <span class="n"><a name="git_oid_fromstr-58" class="fnlink" href="../../#v0.14.0/group/oid/git_oid_fromstr">git_oid_fromstr</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">parent_id</span><span class="p">,</span> <span class="s">&quot;f0877d0b841d75172ec404fc9370173dfffc20d1&quot;</span><span class="p">);</span>
- <span class="n"><a name="git_commit_lookup-23" class="fnlink" href="../../#v0.14.0/group/commit/git_commit_lookup">git_commit_lookup</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">parent</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">parent_id</span><span class="p">);</span></pre></div>
+ <div class='highlight'><pre> <span class="n"><a name="git_oid_fromstr-32" class="fnlink" href="../../#v0.14.0/group/oid/git_oid_fromstr">git_oid_fromstr</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">tree_id</span><span class="p">,</span> <span class="s">&quot;28873d96b4e8f4e33ea30f4c682fd325f7ba56ac&quot;</span><span class="p">);</span>
+ <span class="n"><a name="git_tree_lookup-1" class="fnlink" href="../../#v0.14.0/group/tree/git_tree_lookup">git_tree_lookup</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">tree</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">tree_id</span><span class="p">);</span>
+ <span class="n"><a name="git_oid_fromstr-33" class="fnlink" href="../../#v0.14.0/group/oid/git_oid_fromstr">git_oid_fromstr</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">parent_id</span><span class="p">,</span> <span class="s">&quot;f0877d0b841d75172ec404fc9370173dfffc20d1&quot;</span><span class="p">);</span>
+ <span class="n"><a name="git_commit_lookup-58" class="fnlink" href="../../#v0.14.0/group/commit/git_commit_lookup">git_commit_lookup</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">parent</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">parent_id</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-30'>
@@ -467,7 +467,7 @@ objects to create the commit with, but you can also use</p>
the commit. The SHA key is written to the <code>commit_id</code> variable here.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_commit_create_v-40" class="fnlink" href="../../#v0.14.0/group/commit/git_commit_create_v">git_commit_create_v</a></span><span class="p">(</span>
+ <div class='highlight'><pre> <span class="n"><a name="git_commit_create_v-75" class="fnlink" href="../../#v0.14.0/group/commit/git_commit_create_v">git_commit_create_v</a></span><span class="p">(</span>
<span class="o">&amp;</span><span class="n">commit_id</span><span class="p">,</span> <span class="cm">/* out id */</span>
<span class="n">repo</span><span class="p">,</span>
<span class="nb">NULL</span><span class="p">,</span> <span class="cm">/* do not update the HEAD */</span>
@@ -486,7 +486,7 @@ the commit. The SHA key is written to the <code>commit_id</code> variable here.
<p>Now we can take a look at the commit SHA we&rsquo;ve generated.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_oid_fmt-66" class="fnlink" href="../../#v0.14.0/group/oid/git_oid_fmt">git_oid_fmt</a></span><span class="p">(</span><span class="n">out</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">commit_id</span><span class="p">);</span>
+ <div class='highlight'><pre> <span class="n"><a name="git_oid_fmt-41" class="fnlink" href="../../#v0.14.0/group/oid/git_oid_fmt">git_oid_fmt</a></span><span class="p">(</span><span class="n">out</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">commit_id</span><span class="p">);</span>
<span class="n">printf</span><span class="p">(</span><span class="s">&quot;New Commit: %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">out</span><span class="p">);</span></pre></div>
</td>
</tr>
@@ -516,9 +516,9 @@ to the commit lookup, parsing and creation methods, since the objects themselves
way that we would a commit (or any other) object.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_oid_fromstr-59" class="fnlink" href="../../#v0.14.0/group/oid/git_oid_fromstr">git_oid_fromstr</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">oid</span><span class="p">,</span> <span class="s">&quot;bc422d45275aca289c51d79830b45cecebff7c3a&quot;</span><span class="p">);</span>
+ <div class='highlight'><pre> <span class="n"><a name="git_oid_fromstr-34" class="fnlink" href="../../#v0.14.0/group/oid/git_oid_fromstr">git_oid_fromstr</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">oid</span><span class="p">,</span> <span class="s">&quot;bc422d45275aca289c51d79830b45cecebff7c3a&quot;</span><span class="p">);</span>
- <span class="n">error</span> <span class="o">=</span> <span class="n"><a name="git_tag_lookup-17" class="fnlink" href="../../#v0.14.0/group/tag/git_tag_lookup">git_tag_lookup</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">tag</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span></pre></div>
+ <span class="n">error</span> <span class="o">=</span> <span class="n"><a name="git_tag_lookup-9" class="fnlink" href="../../#v0.14.0/group/tag/git_tag_lookup">git_tag_lookup</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">tag</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-34'>
@@ -531,13 +531,13 @@ way that we would a commit (or any other) object.</p>
the tagger (a git_signature &ndash; name, email, timestamp), and the tag message.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_tag_target-18" class="fnlink" href="../../#v0.14.0/group/tag/git_tag_target">git_tag_target</a></span><span class="p">((</span><span class="n">git_object</span> <span class="o">**</span><span class="p">)</span><span class="o">&amp;</span><span class="n">commit</span><span class="p">,</span> <span class="n">tag</span><span class="p">);</span>
- <span class="n">tname</span> <span class="o">=</span> <span class="n"><a name="git_tag_name-20" class="fnlink" href="../../#v0.14.0/group/tag/git_tag_name">git_tag_name</a></span><span class="p">(</span><span class="n">tag</span><span class="p">);</span> <span class="c1">// &quot;test&quot;</span>
- <span class="n">ttype</span> <span class="o">=</span> <span class="n"><a name="git_tag_type-19" class="fnlink" href="../../#v0.14.0/group/tag/git_tag_type">git_tag_type</a></span><span class="p">(</span><span class="n">tag</span><span class="p">);</span> <span class="c1">// GIT_OBJ_COMMIT (otype enum)</span>
- <span class="n">tmessage</span> <span class="o">=</span> <span class="n"><a name="git_tag_message-21" class="fnlink" href="../../#v0.14.0/group/tag/git_tag_message">git_tag_message</a></span><span class="p">(</span><span class="n">tag</span><span class="p">);</span> <span class="c1">// &quot;tag message\n&quot;</span>
+ <div class='highlight'><pre> <span class="n"><a name="git_tag_target-10" class="fnlink" href="../../#v0.14.0/group/tag/git_tag_target">git_tag_target</a></span><span class="p">((</span><span class="n">git_object</span> <span class="o">**</span><span class="p">)</span><span class="o">&amp;</span><span class="n">commit</span><span class="p">,</span> <span class="n">tag</span><span class="p">);</span>
+ <span class="n">tname</span> <span class="o">=</span> <span class="n"><a name="git_tag_name-12" class="fnlink" href="../../#v0.14.0/group/tag/git_tag_name">git_tag_name</a></span><span class="p">(</span><span class="n">tag</span><span class="p">);</span> <span class="c1">// &quot;test&quot;</span>
+ <span class="n">ttype</span> <span class="o">=</span> <span class="n"><a name="git_tag_type-11" class="fnlink" href="../../#v0.14.0/group/tag/git_tag_type">git_tag_type</a></span><span class="p">(</span><span class="n">tag</span><span class="p">);</span> <span class="c1">// GIT_OBJ_COMMIT (otype enum)</span>
+ <span class="n">tmessage</span> <span class="o">=</span> <span class="n"><a name="git_tag_message-13" class="fnlink" href="../../#v0.14.0/group/tag/git_tag_message">git_tag_message</a></span><span class="p">(</span><span class="n">tag</span><span class="p">);</span> <span class="c1">// &quot;tag message\n&quot;</span>
<span class="n">printf</span><span class="p">(</span><span class="s">&quot;Tag Message: %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">tmessage</span><span class="p">);</span>
- <span class="n"><a name="git_commit_close-27" class="fnlink" href="../../#v0.14.0/group/commit/git_commit_close">git_commit_close</a></span><span class="p">(</span><span class="n">commit</span><span class="p">);</span></pre></div>
+ <span class="n"><a name="git_commit_close-62" class="fnlink" href="../../#v0.14.0/group/commit/git_commit_close">git_commit_close</a></span><span class="p">(</span><span class="n">commit</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-Tree_Parsing'>
@@ -566,8 +566,8 @@ traversing tree entries.</p>
<p>Create the oid and lookup the tree object just like the other objects.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_oid_fromstr-60" class="fnlink" href="../../#v0.14.0/group/oid/git_oid_fromstr">git_oid_fromstr</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">oid</span><span class="p">,</span> <span class="s">&quot;2a741c18ac5ff082a7caaec6e74db3075a1906b5&quot;</span><span class="p">);</span>
- <span class="n"><a name="git_tree_lookup-42" class="fnlink" href="../../#v0.14.0/group/tree/git_tree_lookup">git_tree_lookup</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">tree</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span></pre></div>
+ <div class='highlight'><pre> <span class="n"><a name="git_oid_fromstr-35" class="fnlink" href="../../#v0.14.0/group/oid/git_oid_fromstr">git_oid_fromstr</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">oid</span><span class="p">,</span> <span class="s">&quot;2a741c18ac5ff082a7caaec6e74db3075a1906b5&quot;</span><span class="p">);</span>
+ <span class="n"><a name="git_tree_lookup-2" class="fnlink" href="../../#v0.14.0/group/tree/git_tree_lookup">git_tree_lookup</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">tree</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-37'>
@@ -578,11 +578,11 @@ traversing tree entries.</p>
<p>Getting the count of entries in the tree so you can iterate over them if you want to.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="kt">int</span> <span class="n">cnt</span> <span class="o">=</span> <span class="n"><a name="git_tree_entrycount-43" class="fnlink" href="../../#v0.14.0/group/tree/git_tree_entrycount">git_tree_entrycount</a></span><span class="p">(</span><span class="n">tree</span><span class="p">);</span> <span class="c1">// 3</span>
+ <div class='highlight'><pre> <span class="kt">int</span> <span class="n">cnt</span> <span class="o">=</span> <span class="n"><a name="git_tree_entrycount-3" class="fnlink" href="../../#v0.14.0/group/tree/git_tree_entrycount">git_tree_entrycount</a></span><span class="p">(</span><span class="n">tree</span><span class="p">);</span> <span class="c1">// 3</span>
<span class="n">printf</span><span class="p">(</span><span class="s">&quot;tree entries: %d</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">cnt</span><span class="p">);</span>
- <span class="n">entry</span> <span class="o">=</span> <span class="n"><a name="git_tree_entry_byindex-45" class="fnlink" href="../../#v0.14.0/group/tree/git_tree_entry_byindex">git_tree_entry_byindex</a></span><span class="p">(</span><span class="n">tree</span><span class="p">,</span> <span class="mi">0</span><span class="p">);</span>
- <span class="n">printf</span><span class="p">(</span><span class="s">&quot;Entry name: %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n"><a name="git_tree_entry_name-46" class="fnlink" href="../../#v0.14.0/group/tree/git_tree_entry_name">git_tree_entry_name</a></span><span class="p">(</span><span class="n">entry</span><span class="p">));</span> <span class="c1">// &quot;hello.c&quot;</span></pre></div>
+ <span class="n">entry</span> <span class="o">=</span> <span class="n"><a name="git_tree_entry_byindex-5" class="fnlink" href="../../#v0.14.0/group/tree/git_tree_entry_byindex">git_tree_entry_byindex</a></span><span class="p">(</span><span class="n">tree</span><span class="p">,</span> <span class="mi">0</span><span class="p">);</span>
+ <span class="n">printf</span><span class="p">(</span><span class="s">&quot;Entry name: %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n"><a name="git_tree_entry_name-6" class="fnlink" href="../../#v0.14.0/group/tree/git_tree_entry_name">git_tree_entry_name</a></span><span class="p">(</span><span class="n">entry</span><span class="p">));</span> <span class="c1">// &quot;hello.c&quot;</span></pre></div>
</td>
</tr>
<tr id='section-38'>
@@ -593,8 +593,8 @@ traversing tree entries.</p>
<p>You can also access tree entries by name if you know the name of the entry you&rsquo;re looking for.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n">entry</span> <span class="o">=</span> <span class="n"><a name="git_tree_entry_byname-44" class="fnlink" href="../../#v0.14.0/group/tree/git_tree_entry_byname">git_tree_entry_byname</a></span><span class="p">(</span><span class="n">tree</span><span class="p">,</span> <span class="s">&quot;hello.c&quot;</span><span class="p">);</span>
- <span class="n"><a name="git_tree_entry_name-47" class="fnlink" href="../../#v0.14.0/group/tree/git_tree_entry_name">git_tree_entry_name</a></span><span class="p">(</span><span class="n">entry</span><span class="p">);</span> <span class="c1">// &quot;hello.c&quot;</span></pre></div>
+ <div class='highlight'><pre> <span class="n">entry</span> <span class="o">=</span> <span class="n"><a name="git_tree_entry_byname-4" class="fnlink" href="../../#v0.14.0/group/tree/git_tree_entry_byname">git_tree_entry_byname</a></span><span class="p">(</span><span class="n">tree</span><span class="p">,</span> <span class="s">&quot;hello.c&quot;</span><span class="p">);</span>
+ <span class="n"><a name="git_tree_entry_name-7" class="fnlink" href="../../#v0.14.0/group/tree/git_tree_entry_name">git_tree_entry_name</a></span><span class="p">(</span><span class="n">entry</span><span class="p">);</span> <span class="c1">// &quot;hello.c&quot;</span></pre></div>
</td>
</tr>
<tr id='section-39'>
@@ -606,7 +606,7 @@ traversing tree entries.</p>
of submodules) that it points to. You can also get the mode if you want.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_tree_entry_2object-48" class="fnlink" href="../../#v0.14.0/group/tree/git_tree_entry_2object">git_tree_entry_2object</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">objt</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="n">entry</span><span class="p">);</span> <span class="c1">// blob</span></pre></div>
+ <div class='highlight'><pre> <span class="n"><a name="git_tree_entry_2object-8" class="fnlink" href="../../#v0.14.0/group/tree/git_tree_entry_2object">git_tree_entry_2object</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">objt</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="n">entry</span><span class="p">);</span> <span class="c1">// blob</span></pre></div>
</td>
</tr>
<tr id='section-40'>
@@ -617,7 +617,7 @@ of submodules) that it points to. You can also get the mode if you want.</p>
<p>Remember to close the looked-up object once you are done using it</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_object_close-73" class="fnlink" href="../../#v0.14.0/group/object/git_object_close">git_object_close</a></span><span class="p">(</span><span class="n">objt</span><span class="p">);</span></pre></div>
+ <div class='highlight'><pre> <span class="n"><a name="git_object_close-49" class="fnlink" href="../../#v0.14.0/group/object/git_object_close">git_object_close</a></span><span class="p">(</span><span class="n">objt</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-Blob_Parsing'>
@@ -637,8 +637,8 @@ getting the oid back so you don&rsquo;t have to do all those steps yourself.</p>
<div class='highlight'><pre> <span class="n">printf</span><span class="p">(</span><span class="s">&quot;</span><span class="se">\n</span><span class="s">*Blob Parsing*</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">);</span>
<span class="n">git_blob</span> <span class="o">*</span><span class="n">blob</span><span class="p">;</span>
- <span class="n"><a name="git_oid_fromstr-61" class="fnlink" href="../../#v0.14.0/group/oid/git_oid_fromstr">git_oid_fromstr</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">oid</span><span class="p">,</span> <span class="s">&quot;af7574ea73f7b166f869ef1a39be126d9a186ae0&quot;</span><span class="p">);</span>
- <span class="n"><a name="git_blob_lookup-6" class="fnlink" href="../../#v0.14.0/group/blob/git_blob_lookup">git_blob_lookup</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">blob</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span></pre></div>
+ <span class="n"><a name="git_oid_fromstr-36" class="fnlink" href="../../#v0.14.0/group/oid/git_oid_fromstr">git_oid_fromstr</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">oid</span><span class="p">,</span> <span class="s">&quot;af7574ea73f7b166f869ef1a39be126d9a186ae0&quot;</span><span class="p">);</span>
+ <span class="n"><a name="git_blob_lookup-76" class="fnlink" href="../../#v0.14.0/group/blob/git_blob_lookup">git_blob_lookup</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">blob</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-42'>
@@ -648,12 +648,12 @@ getting the oid back so you don&rsquo;t have to do all those steps yourself.</p>
</div>
<p>You can access a buffer with the raw contents of the blob directly.
Note that this buffer may not be contain ASCII data for certain blobs (e.g. binary files):
-do not consider the buffer a NULL-terminated string, and use the <code><a name="git_blob_rawsize-8" class="fnlink" href="../../#v0.14.0/group/blob/git_blob_rawsize">git_blob_rawsize</a></code> attribute to
+do not consider the buffer a NULL-terminated string, and use the <code><a name="git_blob_rawsize-78" class="fnlink" href="../../#v0.14.0/group/blob/git_blob_rawsize">git_blob_rawsize</a></code> attribute to
find out its exact size in bytes</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n">printf</span><span class="p">(</span><span class="s">&quot;Blob Size: %d</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n"><a name="git_blob_rawsize-9" class="fnlink" href="../../#v0.14.0/group/blob/git_blob_rawsize">git_blob_rawsize</a></span><span class="p">(</span><span class="n">blob</span><span class="p">));</span> <span class="c1">// 8</span>
- <span class="n"><a name="git_blob_rawcontent-7" class="fnlink" href="../../#v0.14.0/group/blob/git_blob_rawcontent">git_blob_rawcontent</a></span><span class="p">(</span><span class="n">blob</span><span class="p">);</span> <span class="c1">// &quot;content&quot;</span></pre></div>
+ <div class='highlight'><pre> <span class="n">printf</span><span class="p">(</span><span class="s">&quot;Blob Size: %d</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n"><a name="git_blob_rawsize-79" class="fnlink" href="../../#v0.14.0/group/blob/git_blob_rawsize">git_blob_rawsize</a></span><span class="p">(</span><span class="n">blob</span><span class="p">));</span> <span class="c1">// 8</span>
+ <span class="n"><a name="git_blob_rawcontent-77" class="fnlink" href="../../#v0.14.0/group/blob/git_blob_rawcontent">git_blob_rawcontent</a></span><span class="p">(</span><span class="n">blob</span><span class="p">);</span> <span class="c1">// &quot;content&quot;</span></pre></div>
</td>
</tr>
<tr id='section-Revwalking'>
@@ -674,7 +674,7 @@ type functionality.</p>
<span class="n">git_revwalk</span> <span class="o">*</span><span class="n">walk</span><span class="p">;</span>
<span class="n">git_commit</span> <span class="o">*</span><span class="n">wcommit</span><span class="p">;</span>
- <span class="n"><a name="git_oid_fromstr-62" class="fnlink" href="../../#v0.14.0/group/oid/git_oid_fromstr">git_oid_fromstr</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">oid</span><span class="p">,</span> <span class="s">&quot;f0877d0b841d75172ec404fc9370173dfffc20d1&quot;</span><span class="p">);</span></pre></div>
+ <span class="n"><a name="git_oid_fromstr-37" class="fnlink" href="../../#v0.14.0/group/oid/git_oid_fromstr">git_oid_fromstr</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">oid</span><span class="p">,</span> <span class="s">&quot;f0877d0b841d75172ec404fc9370173dfffc20d1&quot;</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-44'>
@@ -690,9 +690,9 @@ want to emulate <code>git log branch1..branch2</code>, you would push the oid of
of <code>branch1</code>.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_revwalk_new-68" class="fnlink" href="../../#v0.14.0/group/revwalk/git_revwalk_new">git_revwalk_new</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">walk</span><span class="p">,</span> <span class="n">repo</span><span class="p">);</span>
- <span class="n"><a name="git_revwalk_sorting-71" class="fnlink" href="../../#v0.14.0/group/revwalk/git_revwalk_sorting">git_revwalk_sorting</a></span><span class="p">(</span><span class="n">walk</span><span class="p">,</span> <span class="n">GIT_SORT_TOPOLOGICAL</span> <span class="o">|</span> <span class="n">GIT_SORT_REVERSE</span><span class="p">);</span>
- <span class="n"><a name="git_revwalk_push-69" class="fnlink" href="../../#v0.14.0/group/revwalk/git_revwalk_push">git_revwalk_push</a></span><span class="p">(</span><span class="n">walk</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span>
+ <div class='highlight'><pre> <span class="n"><a name="git_revwalk_new-16" class="fnlink" href="../../#v0.14.0/group/revwalk/git_revwalk_new">git_revwalk_new</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">walk</span><span class="p">,</span> <span class="n">repo</span><span class="p">);</span>
+ <span class="n"><a name="git_revwalk_sorting-19" class="fnlink" href="../../#v0.14.0/group/revwalk/git_revwalk_sorting">git_revwalk_sorting</a></span><span class="p">(</span><span class="n">walk</span><span class="p">,</span> <span class="n">GIT_SORT_TOPOLOGICAL</span> <span class="o">|</span> <span class="n">GIT_SORT_REVERSE</span><span class="p">);</span>
+ <span class="n"><a name="git_revwalk_push-17" class="fnlink" href="../../#v0.14.0/group/revwalk/git_revwalk_push">git_revwalk_push</a></span><span class="p">(</span><span class="n">walk</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span>
<span class="k">const</span> <span class="n">git_signature</span> <span class="o">*</span><span class="n">cauth</span><span class="p">;</span>
<span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">cmsg</span><span class="p">;</span></pre></div>
@@ -710,12 +710,12 @@ note that this operation is specially fast since the raw contents of the commit
be cached in memory</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="k">while</span> <span class="p">((</span><span class="n"><a name="git_revwalk_next-70" class="fnlink" href="../../#v0.14.0/group/revwalk/git_revwalk_next">git_revwalk_next</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">oid</span><span class="p">,</span> <span class="n">walk</span><span class="p">))</span> <span class="o">==</span> <span class="n">GIT_SUCCESS</span><span class="p">)</span> <span class="p">{</span>
- <span class="n">error</span> <span class="o">=</span> <span class="n"><a name="git_commit_lookup-24" class="fnlink" href="../../#v0.14.0/group/commit/git_commit_lookup">git_commit_lookup</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">wcommit</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span>
- <span class="n">cmsg</span> <span class="o">=</span> <span class="n"><a name="git_commit_message_short-31" class="fnlink" href="../../#v0.14.0/group/commit/git_commit_message_short">git_commit_message_short</a></span><span class="p">(</span><span class="n">wcommit</span><span class="p">);</span>
- <span class="n">cauth</span> <span class="o">=</span> <span class="n"><a name="git_commit_author-37" class="fnlink" href="../../#v0.14.0/group/commit/git_commit_author">git_commit_author</a></span><span class="p">(</span><span class="n">wcommit</span><span class="p">);</span>
+ <div class='highlight'><pre> <span class="k">while</span> <span class="p">((</span><span class="n"><a name="git_revwalk_next-18" class="fnlink" href="../../#v0.14.0/group/revwalk/git_revwalk_next">git_revwalk_next</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">oid</span><span class="p">,</span> <span class="n">walk</span><span class="p">))</span> <span class="o">==</span> <span class="n">GIT_SUCCESS</span><span class="p">)</span> <span class="p">{</span>
+ <span class="n">error</span> <span class="o">=</span> <span class="n"><a name="git_commit_lookup-59" class="fnlink" href="../../#v0.14.0/group/commit/git_commit_lookup">git_commit_lookup</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">wcommit</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span>
+ <span class="n">cmsg</span> <span class="o">=</span> <span class="n"><a name="git_commit_message_short-66" class="fnlink" href="../../#v0.14.0/group/commit/git_commit_message_short">git_commit_message_short</a></span><span class="p">(</span><span class="n">wcommit</span><span class="p">);</span>
+ <span class="n">cauth</span> <span class="o">=</span> <span class="n"><a name="git_commit_author-72" class="fnlink" href="../../#v0.14.0/group/commit/git_commit_author">git_commit_author</a></span><span class="p">(</span><span class="n">wcommit</span><span class="p">);</span>
<span class="n">printf</span><span class="p">(</span><span class="s">&quot;%s (%s)</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">cmsg</span><span class="p">,</span> <span class="n">cauth</span><span class="o">-&gt;</span><span class="n">email</span><span class="p">);</span>
- <span class="n"><a name="git_commit_close-28" class="fnlink" href="../../#v0.14.0/group/commit/git_commit_close">git_commit_close</a></span><span class="p">(</span><span class="n">wcommit</span><span class="p">);</span>
+ <span class="n"><a name="git_commit_close-63" class="fnlink" href="../../#v0.14.0/group/commit/git_commit_close">git_commit_close</a></span><span class="p">(</span><span class="n">wcommit</span><span class="p">);</span>
<span class="p">}</span></pre></div>
</td>
</tr>
@@ -729,7 +729,7 @@ Also, make sure that the repository being walked it not deallocated while the wa
progress, or it will result in undefined behavior</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_revwalk_free-72" class="fnlink" href="../../#v0.14.0/group/revwalk/git_revwalk_free">git_revwalk_free</a></span><span class="p">(</span><span class="n">walk</span><span class="p">);</span></pre></div>
+ <div class='highlight'><pre> <span class="n"><a name="git_revwalk_free-20" class="fnlink" href="../../#v0.14.0/group/revwalk/git_revwalk_free">git_revwalk_free</a></span><span class="p">(</span><span class="n">walk</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-Index_File_Manipulation'>
@@ -759,7 +759,7 @@ here, or you can open and manipulate any index file with <code>git_index_open_ba
for the repository will be located and loaded from disk.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_repository_index-15" class="fnlink" href="../../#v0.14.0/group/repository/git_repository_index">git_repository_index</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">index</span><span class="p">,</span> <span class="n">repo</span><span class="p">);</span></pre></div>
+ <div class='highlight'><pre> <span class="n"><a name="git_repository_index-23" class="fnlink" href="../../#v0.14.0/group/repository/git_repository_index">git_repository_index</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">index</span><span class="p">,</span> <span class="n">repo</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-49'>
@@ -773,16 +773,16 @@ to help determine what to inspect for changes (ctime, mtime, dev, ino, uid, gid,
All these properties are exported publicly in the <code>git_index_entry</code> struct</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n">ecount</span> <span class="o">=</span> <span class="n"><a name="git_index_entrycount-12" class="fnlink" href="../../#v0.14.0/group/index/git_index_entrycount">git_index_entrycount</a></span><span class="p">(</span><span class="n">index</span><span class="p">);</span>
+ <div class='highlight'><pre> <span class="n">ecount</span> <span class="o">=</span> <span class="n"><a name="git_index_entrycount-53" class="fnlink" href="../../#v0.14.0/group/index/git_index_entrycount">git_index_entrycount</a></span><span class="p">(</span><span class="n">index</span><span class="p">);</span>
<span class="k">for</span> <span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="n">ecount</span><span class="p">;</span> <span class="o">++</span><span class="n">i</span><span class="p">)</span> <span class="p">{</span>
- <span class="n">git_index_entry</span> <span class="o">*</span><span class="n">e</span> <span class="o">=</span> <span class="n"><a name="git_index_get-11" class="fnlink" href="../../#v0.14.0/group/index/git_index_get">git_index_get</a></span><span class="p">(</span><span class="n">index</span><span class="p">,</span> <span class="n">i</span><span class="p">);</span>
+ <span class="n">git_index_entry</span> <span class="o">*</span><span class="n">e</span> <span class="o">=</span> <span class="n"><a name="git_index_get-52" class="fnlink" href="../../#v0.14.0/group/index/git_index_get">git_index_get</a></span><span class="p">(</span><span class="n">index</span><span class="p">,</span> <span class="n">i</span><span class="p">);</span>
<span class="n">printf</span><span class="p">(</span><span class="s">&quot;path: %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">e</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">);</span>
<span class="n">printf</span><span class="p">(</span><span class="s">&quot;mtime: %d</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="p">(</span><span class="kt">int</span><span class="p">)</span><span class="n">e</span><span class="o">-&gt;</span><span class="n">mtime</span><span class="p">.</span><span class="n">seconds</span><span class="p">);</span>
<span class="n">printf</span><span class="p">(</span><span class="s">&quot;fs: %d</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="p">(</span><span class="kt">int</span><span class="p">)</span><span class="n">e</span><span class="o">-&gt;</span><span class="n">file_size</span><span class="p">);</span>
<span class="p">}</span>
- <span class="n"><a name="git_index_free-10" class="fnlink" href="../../#v0.14.0/group/index/git_index_free">git_index_free</a></span><span class="p">(</span><span class="n">index</span><span class="p">);</span></pre></div>
+ <span class="n"><a name="git_index_free-51" class="fnlink" href="../../#v0.14.0/group/index/git_index_free">git_index_free</a></span><span class="p">(</span><span class="n">index</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-References'>
@@ -809,7 +809,7 @@ references and the object SHA they resolve to.</p>
</td>
<td class=code>
<div class='highlight'><pre> <span class="n">git_strarray</span> <span class="n">ref_list</span><span class="p">;</span>
- <span class="n"><a name="git_reference_listall-79" class="fnlink" href="../../#v0.14.0/group/reference/git_reference_listall">git_reference_listall</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">ref_list</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="n">GIT_REF_LISTALL</span><span class="p">);</span>
+ <span class="n"><a name="git_reference_listall-29" class="fnlink" href="../../#v0.14.0/group/reference/git_reference_listall">git_reference_listall</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">ref_list</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="n">GIT_REF_LISTALL</span><span class="p">);</span>
<span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">refname</span><span class="p">;</span>
<span class="n">git_reference</span> <span class="o">*</span><span class="n">ref</span><span class="p">;</span></pre></div>
@@ -826,16 +826,16 @@ resolve them to the SHA, then print both values out.</p>
<td class=code>
<div class='highlight'><pre> <span class="k">for</span> <span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="n">ref_list</span><span class="p">.</span><span class="n">count</span><span class="p">;</span> <span class="o">++</span><span class="n">i</span><span class="p">)</span> <span class="p">{</span>
<span class="n">refname</span> <span class="o">=</span> <span class="n">ref_list</span><span class="p">.</span><span class="n">strings</span><span class="p">[</span><span class="n">i</span><span class="p">];</span>
- <span class="n"><a name="git_reference_lookup-75" class="fnlink" href="../../#v0.14.0/group/reference/git_reference_lookup">git_reference_lookup</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">ref</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="n">refname</span><span class="p">);</span>
+ <span class="n"><a name="git_reference_lookup-25" class="fnlink" href="../../#v0.14.0/group/reference/git_reference_lookup">git_reference_lookup</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">ref</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="n">refname</span><span class="p">);</span>
- <span class="k">switch</span> <span class="p">(</span><span class="n"><a name="git_reference_type-78" class="fnlink" href="../../#v0.14.0/group/reference/git_reference_type">git_reference_type</a></span><span class="p">(</span><span class="n">ref</span><span class="p">))</span> <span class="p">{</span>
+ <span class="k">switch</span> <span class="p">(</span><span class="n"><a name="git_reference_type-28" class="fnlink" href="../../#v0.14.0/group/reference/git_reference_type">git_reference_type</a></span><span class="p">(</span><span class="n">ref</span><span class="p">))</span> <span class="p">{</span>
<span class="k">case</span> <span class="n">GIT_REF_OID</span>:
- <span class="n"><a name="git_oid_fmt-67" class="fnlink" href="../../#v0.14.0/group/oid/git_oid_fmt">git_oid_fmt</a></span><span class="p">(</span><span class="n">out</span><span class="p">,</span> <span class="n"><a name="git_reference_oid-76" class="fnlink" href="../../#v0.14.0/group/reference/git_reference_oid">git_reference_oid</a></span><span class="p">(</span><span class="n">ref</span><span class="p">));</span>
+ <span class="n"><a name="git_oid_fmt-42" class="fnlink" href="../../#v0.14.0/group/oid/git_oid_fmt">git_oid_fmt</a></span><span class="p">(</span><span class="n">out</span><span class="p">,</span> <span class="n"><a name="git_reference_oid-26" class="fnlink" href="../../#v0.14.0/group/reference/git_reference_oid">git_reference_oid</a></span><span class="p">(</span><span class="n">ref</span><span class="p">));</span>
<span class="n">printf</span><span class="p">(</span><span class="s">&quot;%s [%s]</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">refname</span><span class="p">,</span> <span class="n">out</span><span class="p">);</span>
<span class="k">break</span><span class="p">;</span>
<span class="k">case</span> <span class="n">GIT_REF_SYMBOLIC</span>:
- <span class="n">printf</span><span class="p">(</span><span class="s">&quot;%s =&gt; %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">refname</span><span class="p">,</span> <span class="n"><a name="git_reference_target-77" class="fnlink" href="../../#v0.14.0/group/reference/git_reference_target">git_reference_target</a></span><span class="p">(</span><span class="n">ref</span><span class="p">));</span>
+ <span class="n">printf</span><span class="p">(</span><span class="s">&quot;%s =&gt; %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">refname</span><span class="p">,</span> <span class="n"><a name="git_reference_target-27" class="fnlink" href="../../#v0.14.0/group/reference/git_reference_target">git_reference_target</a></span><span class="p">(</span><span class="n">ref</span><span class="p">));</span>
<span class="k">break</span><span class="p">;</span>
<span class="nl">default:</span>
<span class="n">fprintf</span><span class="p">(</span><span class="n">stderr</span><span class="p">,</span> <span class="s">&quot;Unexpected reference type</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">);</span>
@@ -873,12 +873,12 @@ any of the accessible config file locations (system, global, local).</p>
<p>Open a config object so we can read global values from it.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_config_open_ondisk-3" class="fnlink" href="../../#v0.14.0/group/config/git_config_open_ondisk">git_config_open_ondisk</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">cfg</span><span class="p">,</span> <span class="s">&quot;~/.gitconfig&quot;</span><span class="p">);</span>
+ <div class='highlight'><pre> <span class="n"><a name="git_config_open_ondisk-54" class="fnlink" href="../../#v0.14.0/group/config/git_config_open_ondisk">git_config_open_ondisk</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">cfg</span><span class="p">,</span> <span class="s">&quot;~/.gitconfig&quot;</span><span class="p">);</span>
- <span class="n"><a name="git_config_get_int-4" class="fnlink" href="../../#v0.14.0/group/config/git_config_get_int">git_config_get_int</a></span><span class="p">(</span><span class="n">cfg</span><span class="p">,</span> <span class="s">&quot;help.autocorrect&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">j</span><span class="p">);</span>
+ <span class="n"><a name="git_config_get_int-55" class="fnlink" href="../../#v0.14.0/group/config/git_config_get_int">git_config_get_int</a></span><span class="p">(</span><span class="n">cfg</span><span class="p">,</span> <span class="s">&quot;help.autocorrect&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">j</span><span class="p">);</span>
<span class="n">printf</span><span class="p">(</span><span class="s">&quot;Autocorrect: %d</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">j</span><span class="p">);</span>
- <span class="n"><a name="git_config_get_string-5" class="fnlink" href="../../#v0.14.0/group/config/git_config_get_string">git_config_get_string</a></span><span class="p">(</span><span class="n">cfg</span><span class="p">,</span> <span class="s">&quot;user.email&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">email</span><span class="p">);</span>
+ <span class="n"><a name="git_config_get_string-56" class="fnlink" href="../../#v0.14.0/group/config/git_config_get_string">git_config_get_string</a></span><span class="p">(</span><span class="n">cfg</span><span class="p">,</span> <span class="s">&quot;user.email&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">email</span><span class="p">);</span>
<span class="n">printf</span><span class="p">(</span><span class="s">&quot;Email: %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">email</span><span class="p">);</span></pre></div>
</td>
</tr>
@@ -891,7 +891,7 @@ any of the accessible config file locations (system, global, local).</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_repository_free-16" class="fnlink" href="../../#v0.14.0/group/repository/git_repository_free">git_repository_free</a></span><span class="p">(</span><span class="n">repo</span><span class="p">);</span>
+ <div class='highlight'><pre> <span class="n"><a name="git_repository_free-24" class="fnlink" href="../../#v0.14.0/group/repository/git_repository_free">git_repository_free</a></span><span class="p">(</span><span class="n">repo</span><span class="p">);</span>
<span class="k">return</span> <span class="mi">0</span><span class="p">;</span>
<span class="p">}</span></pre></div>
diff --git a/ex/v0.14.0/showindex.html b/ex/v0.14.0/showindex.html
index f29508626..3e6123107 100644
--- a/ex/v0.14.0/showindex.html
+++ b/ex/v0.14.0/showindex.html
@@ -53,17 +53,17 @@
<span class="kt">char</span> <span class="n">out</span><span class="p">[</span><span class="mi">41</span><span class="p">];</span>
<span class="n">out</span><span class="p">[</span><span class="mi">40</span><span class="p">]</span> <span class="o">=</span> <span class="sc">&#39;\0&#39;</span><span class="p">;</span>
- <span class="n"><a name="git_repository_open-5" class="fnlink" href="../../#v0.14.0/group/repository/git_repository_open">git_repository_open</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">repo</span><span class="p">,</span> <span class="s">&quot;/opt/libgit2-test/.git&quot;</span><span class="p">);</span>
+ <span class="n"><a name="git_repository_open-1" class="fnlink" href="../../#v0.14.0/group/repository/git_repository_open">git_repository_open</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">repo</span><span class="p">,</span> <span class="s">&quot;/opt/libgit2-test/.git&quot;</span><span class="p">);</span>
- <span class="n"><a name="git_repository_index-6" class="fnlink" href="../../#v0.14.0/group/repository/git_repository_index">git_repository_index</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">index</span><span class="p">,</span> <span class="n">repo</span><span class="p">);</span>
- <span class="n"><a name="git_index_read-2" class="fnlink" href="../../#v0.14.0/group/index/git_index_read">git_index_read</a></span><span class="p">(</span><span class="n">index</span><span class="p">);</span>
+ <span class="n"><a name="git_repository_index-2" class="fnlink" href="../../#v0.14.0/group/repository/git_repository_index">git_repository_index</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">index</span><span class="p">,</span> <span class="n">repo</span><span class="p">);</span>
+ <span class="n"><a name="git_index_read-6" class="fnlink" href="../../#v0.14.0/group/index/git_index_read">git_index_read</a></span><span class="p">(</span><span class="n">index</span><span class="p">);</span>
- <span class="n">ecount</span> <span class="o">=</span> <span class="n"><a name="git_index_entrycount-4" class="fnlink" href="../../#v0.14.0/group/index/git_index_entrycount">git_index_entrycount</a></span><span class="p">(</span><span class="n">index</span><span class="p">);</span>
+ <span class="n">ecount</span> <span class="o">=</span> <span class="n"><a name="git_index_entrycount-8" class="fnlink" href="../../#v0.14.0/group/index/git_index_entrycount">git_index_entrycount</a></span><span class="p">(</span><span class="n">index</span><span class="p">);</span>
<span class="k">for</span> <span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="n">ecount</span><span class="p">;</span> <span class="o">++</span><span class="n">i</span><span class="p">)</span> <span class="p">{</span>
- <span class="n">git_index_entry</span> <span class="o">*</span><span class="n">e</span> <span class="o">=</span> <span class="n"><a name="git_index_get-3" class="fnlink" href="../../#v0.14.0/group/index/git_index_get">git_index_get</a></span><span class="p">(</span><span class="n">index</span><span class="p">,</span> <span class="n">i</span><span class="p">);</span>
+ <span class="n">git_index_entry</span> <span class="o">*</span><span class="n">e</span> <span class="o">=</span> <span class="n"><a name="git_index_get-7" class="fnlink" href="../../#v0.14.0/group/index/git_index_get">git_index_get</a></span><span class="p">(</span><span class="n">index</span><span class="p">,</span> <span class="n">i</span><span class="p">);</span>
<span class="n">oid</span> <span class="o">=</span> <span class="n">e</span><span class="o">-&gt;</span><span class="n">oid</span><span class="p">;</span>
- <span class="n"><a name="git_oid_fmt-8" class="fnlink" href="../../#v0.14.0/group/oid/git_oid_fmt">git_oid_fmt</a></span><span class="p">(</span><span class="n">out</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span>
+ <span class="n"><a name="git_oid_fmt-4" class="fnlink" href="../../#v0.14.0/group/oid/git_oid_fmt">git_oid_fmt</a></span><span class="p">(</span><span class="n">out</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span>
<span class="n">printf</span><span class="p">(</span><span class="s">&quot;File Path: %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">e</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">);</span>
<span class="n">printf</span><span class="p">(</span><span class="s">&quot; Blob SHA: %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">out</span><span class="p">);</span>
@@ -77,9 +77,9 @@
<span class="n">printf</span><span class="p">(</span><span class="s">&quot;</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">);</span>
<span class="p">}</span>
- <span class="n"><a name="git_index_free-1" class="fnlink" href="../../#v0.14.0/group/index/git_index_free">git_index_free</a></span><span class="p">(</span><span class="n">index</span><span class="p">);</span>
+ <span class="n"><a name="git_index_free-5" class="fnlink" href="../../#v0.14.0/group/index/git_index_free">git_index_free</a></span><span class="p">(</span><span class="n">index</span><span class="p">);</span>
- <span class="n"><a name="git_repository_free-7" class="fnlink" href="../../#v0.14.0/group/repository/git_repository_free">git_repository_free</a></span><span class="p">(</span><span class="n">repo</span><span class="p">);</span>
+ <span class="n"><a name="git_repository_free-3" class="fnlink" href="../../#v0.14.0/group/repository/git_repository_free">git_repository_free</a></span><span class="p">(</span><span class="n">repo</span><span class="p">);</span>
<span class="p">}</span></pre></div>
</td>
</tr>
diff --git a/ex/v0.15.0/general.html b/ex/v0.15.0/general.html
index abc8be200..2d377b79a 100644
--- a/ex/v0.15.0/general.html
+++ b/ex/v0.15.0/general.html
@@ -107,9 +107,9 @@ we are assuming they are in the normal places.</p>
<td class=code>
<div class='highlight'><pre> <span class="n">git_repository</span> <span class="o">*</span><span class="n">repo</span><span class="p">;</span>
<span class="k">if</span> <span class="p">(</span><span class="n">argc</span> <span class="o">&gt;</span> <span class="mi">1</span><span class="p">)</span> <span class="p">{</span>
- <span class="n"><a name="git_repository_open-12" class="fnlink" href="../../#v0.15.0/group/repository/git_repository_open">git_repository_open</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">repo</span><span class="p">,</span> <span class="n">argv</span><span class="p">[</span><span class="mi">1</span><span class="p">]);</span>
+ <span class="n"><a name="git_repository_open-21" class="fnlink" href="../../#v0.15.0/group/repository/git_repository_open">git_repository_open</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">repo</span><span class="p">,</span> <span class="n">argv</span><span class="p">[</span><span class="mi">1</span><span class="p">]);</span>
<span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
- <span class="n"><a name="git_repository_open-13" class="fnlink" href="../../#v0.15.0/group/repository/git_repository_open">git_repository_open</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">repo</span><span class="p">,</span> <span class="s">&quot;/opt/libgit2-test/.git&quot;</span><span class="p">);</span>
+ <span class="n"><a name="git_repository_open-22" class="fnlink" href="../../#v0.15.0/group/repository/git_repository_open">git_repository_open</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">repo</span><span class="p">,</span> <span class="s">&quot;/opt/libgit2-test/.git&quot;</span><span class="p">);</span>
<span class="p">}</span></pre></div>
</td>
</tr>
@@ -146,7 +146,7 @@ for storing the value of the current SHA key we&rsquo;re working with.</p>
</td>
<td class=code>
<div class='highlight'><pre> <span class="n">git_oid</span> <span class="n">oid</span><span class="p">;</span>
- <span class="n"><a name="git_oid_fromstr-54" class="fnlink" href="../../#v0.15.0/group/oid/git_oid_fromstr">git_oid_fromstr</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">oid</span><span class="p">,</span> <span class="n">hex</span><span class="p">);</span></pre></div>
+ <span class="n"><a name="git_oid_fromstr-31" class="fnlink" href="../../#v0.15.0/group/oid/git_oid_fromstr">git_oid_fromstr</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">oid</span><span class="p">,</span> <span class="n">hex</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-9'>
@@ -181,7 +181,7 @@ for storing the value of the current SHA key we&rsquo;re working with.</p>
<p>If you have a oid, you can easily get the hex value of the SHA as well.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_oid_fmt-62" class="fnlink" href="../../#v0.15.0/group/oid/git_oid_fmt">git_oid_fmt</a></span><span class="p">(</span><span class="n">out</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span>
+ <div class='highlight'><pre> <span class="n"><a name="git_oid_fmt-39" class="fnlink" href="../../#v0.15.0/group/oid/git_oid_fmt">git_oid_fmt</a></span><span class="p">(</span><span class="n">out</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span>
<span class="n">printf</span><span class="p">(</span><span class="s">&quot;SHA hex string: %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">out</span><span class="p">);</span></pre></div>
</td>
</tr>
@@ -199,7 +199,7 @@ repository.</p>
</td>
<td class=code>
<div class='highlight'><pre> <span class="n">git_odb</span> <span class="o">*</span><span class="n">odb</span><span class="p">;</span>
- <span class="n">odb</span> <span class="o">=</span> <span class="n"><a name="git_repository_database-14" class="fnlink" href="../../#v0.15.0/group/repository/git_repository_database">git_repository_database</a></span><span class="p">(</span><span class="n">repo</span><span class="p">);</span></pre></div>
+ <span class="n">odb</span> <span class="o">=</span> <span class="n"><a name="git_repository_database-23" class="fnlink" href="../../#v0.15.0/group/repository/git_repository_database">git_repository_database</a></span><span class="p">(</span><span class="n">repo</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-Raw_Object_Reading'>
@@ -228,7 +228,7 @@ of the object. This allows us to access objects without knowing thier type and
the raw bytes unparsed.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n">error</span> <span class="o">=</span> <span class="n"><a name="git_odb_read-48" class="fnlink" href="../../#v0.15.0/group/odb/git_odb_read">git_odb_read</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">obj</span><span class="p">,</span> <span class="n">odb</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span></pre></div>
+ <div class='highlight'><pre> <span class="n">error</span> <span class="o">=</span> <span class="n"><a name="git_odb_read-44" class="fnlink" href="../../#v0.15.0/group/odb/git_odb_read">git_odb_read</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">obj</span><span class="p">,</span> <span class="n">odb</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-15'>
@@ -243,8 +243,8 @@ text or binary data. For a tree it is a special binary format, so it&rsquo;s unl
hugely helpful as a raw object.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n">data</span> <span class="o">=</span> <span class="p">(</span><span class="k">const</span> <span class="kt">unsigned</span> <span class="kt">char</span> <span class="o">*</span><span class="p">)</span><span class="n"><a name="git_odb_object_data-51" class="fnlink" href="../../#v0.15.0/group/odb/git_odb_object_data">git_odb_object_data</a></span><span class="p">(</span><span class="n">obj</span><span class="p">);</span>
- <span class="n">otype</span> <span class="o">=</span> <span class="n"><a name="git_odb_object_type-53" class="fnlink" href="../../#v0.15.0/group/odb/git_odb_object_type">git_odb_object_type</a></span><span class="p">(</span><span class="n">obj</span><span class="p">);</span></pre></div>
+ <div class='highlight'><pre> <span class="n">data</span> <span class="o">=</span> <span class="p">(</span><span class="k">const</span> <span class="kt">unsigned</span> <span class="kt">char</span> <span class="o">*</span><span class="p">)</span><span class="n"><a name="git_odb_object_data-47" class="fnlink" href="../../#v0.15.0/group/odb/git_odb_object_data">git_odb_object_data</a></span><span class="p">(</span><span class="n">obj</span><span class="p">);</span>
+ <span class="n">otype</span> <span class="o">=</span> <span class="n"><a name="git_odb_object_type-49" class="fnlink" href="../../#v0.15.0/group/odb/git_odb_object_type">git_odb_object_type</a></span><span class="p">(</span><span class="n">obj</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-16'>
@@ -256,9 +256,9 @@ hugely helpful as a raw object.</p>
representation of that value (and vice-versa).</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n">str_type</span> <span class="o">=</span> <span class="n"><a name="git_object_type2string-73" class="fnlink" href="../../#v0.15.0/group/object/git_object_type2string">git_object_type2string</a></span><span class="p">(</span><span class="n">otype</span><span class="p">);</span>
+ <div class='highlight'><pre> <span class="n">str_type</span> <span class="o">=</span> <span class="n"><a name="git_object_type2string-51" class="fnlink" href="../../#v0.15.0/group/object/git_object_type2string">git_object_type2string</a></span><span class="p">(</span><span class="n">otype</span><span class="p">);</span>
<span class="n">printf</span><span class="p">(</span><span class="s">&quot;object length and type: %d, %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span>
- <span class="p">(</span><span class="kt">int</span><span class="p">)</span><span class="n"><a name="git_odb_object_size-52" class="fnlink" href="../../#v0.15.0/group/odb/git_odb_object_size">git_odb_object_size</a></span><span class="p">(</span><span class="n">obj</span><span class="p">),</span>
+ <span class="p">(</span><span class="kt">int</span><span class="p">)</span><span class="n"><a name="git_odb_object_size-48" class="fnlink" href="../../#v0.15.0/group/odb/git_odb_object_size">git_odb_object_size</a></span><span class="p">(</span><span class="n">obj</span><span class="p">),</span>
<span class="n">str_type</span><span class="p">);</span></pre></div>
</td>
</tr>
@@ -271,7 +271,7 @@ representation of that value (and vice-versa).</p>
memory.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_odb_object_close-50" class="fnlink" href="../../#v0.15.0/group/odb/git_odb_object_close">git_odb_object_close</a></span><span class="p">(</span><span class="n">obj</span><span class="p">);</span></pre></div>
+ <div class='highlight'><pre> <span class="n"><a name="git_odb_object_close-46" class="fnlink" href="../../#v0.15.0/group/odb/git_odb_object_close">git_odb_object_close</a></span><span class="p">(</span><span class="n">obj</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-Raw_Object_Writing'>
@@ -296,7 +296,7 @@ that just contains a simple string. Notice that we have to specify the object t
the <code>git_otype</code> enum.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_odb_write-49" class="fnlink" href="../../#v0.15.0/group/odb/git_odb_write">git_odb_write</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">oid</span><span class="p">,</span> <span class="n">odb</span><span class="p">,</span> <span class="s">&quot;test data&quot;</span><span class="p">,</span> <span class="k">sizeof</span><span class="p">(</span><span class="s">&quot;test data&quot;</span><span class="p">)</span> <span class="o">-</span> <span class="mi">1</span><span class="p">,</span> <span class="n">GIT_OBJ_BLOB</span><span class="p">);</span></pre></div>
+ <div class='highlight'><pre> <span class="n"><a name="git_odb_write-45" class="fnlink" href="../../#v0.15.0/group/odb/git_odb_write">git_odb_write</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">oid</span><span class="p">,</span> <span class="n">odb</span><span class="p">,</span> <span class="s">&quot;test data&quot;</span><span class="p">,</span> <span class="k">sizeof</span><span class="p">(</span><span class="s">&quot;test data&quot;</span><span class="p">)</span> <span class="o">-</span> <span class="mi">1</span><span class="p">,</span> <span class="n">GIT_OBJ_BLOB</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-20'>
@@ -308,7 +308,7 @@ the <code>git_otype</code> enum.</p>
object was written to our database.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_oid_fmt-63" class="fnlink" href="../../#v0.15.0/group/oid/git_oid_fmt">git_oid_fmt</a></span><span class="p">(</span><span class="n">out</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span>
+ <div class='highlight'><pre> <span class="n"><a name="git_oid_fmt-40" class="fnlink" href="../../#v0.15.0/group/oid/git_oid_fmt">git_oid_fmt</a></span><span class="p">(</span><span class="n">out</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span>
<span class="n">printf</span><span class="p">(</span><span class="s">&quot;Written Object: %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">out</span><span class="p">);</span></pre></div>
</td>
</tr>
@@ -341,9 +341,9 @@ yourself.</p>
<div class='highlight'><pre> <span class="n">printf</span><span class="p">(</span><span class="s">&quot;</span><span class="se">\n</span><span class="s">*Commit Parsing*</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">);</span>
<span class="n">git_commit</span> <span class="o">*</span><span class="n">commit</span><span class="p">;</span>
- <span class="n"><a name="git_oid_fromstr-55" class="fnlink" href="../../#v0.15.0/group/oid/git_oid_fromstr">git_oid_fromstr</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">oid</span><span class="p">,</span> <span class="s">&quot;f0877d0b841d75172ec404fc9370173dfffc20d1&quot;</span><span class="p">);</span>
+ <span class="n"><a name="git_oid_fromstr-32" class="fnlink" href="../../#v0.15.0/group/oid/git_oid_fromstr">git_oid_fromstr</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">oid</span><span class="p">,</span> <span class="s">&quot;f0877d0b841d75172ec404fc9370173dfffc20d1&quot;</span><span class="p">);</span>
- <span class="n">error</span> <span class="o">=</span> <span class="n"><a name="git_commit_lookup-22" class="fnlink" href="../../#v0.15.0/group/commit/git_commit_lookup">git_commit_lookup</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">commit</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span>
+ <span class="n">error</span> <span class="o">=</span> <span class="n"><a name="git_commit_lookup-57" class="fnlink" href="../../#v0.15.0/group/commit/git_commit_lookup">git_commit_lookup</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">commit</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span>
<span class="k">const</span> <span class="n">git_signature</span> <span class="o">*</span><span class="n">author</span><span class="p">,</span> <span class="o">*</span><span class="n">cmtter</span><span class="p">;</span>
<span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">message</span><span class="p">;</span>
@@ -357,14 +357,14 @@ yourself.</p>
<a class="pilcrow" href="#section-23">&#182;</a>
</div>
<p>Each of the properties of the commit object are accessible via methods, including commonly
-needed variations, such as <code><a name="git_commit_time-32" class="fnlink" href="../../#v0.15.0/group/commit/git_commit_time">git_commit_time</a></code> which returns the author time and <code>_message</code>
+needed variations, such as <code><a name="git_commit_time-67" class="fnlink" href="../../#v0.15.0/group/commit/git_commit_time">git_commit_time</a></code> which returns the author time and <code>_message</code>
which gives you the commit message.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n">message</span> <span class="o">=</span> <span class="n"><a name="git_commit_message-30" class="fnlink" href="../../#v0.15.0/group/commit/git_commit_message">git_commit_message</a></span><span class="p">(</span><span class="n">commit</span><span class="p">);</span>
- <span class="n">author</span> <span class="o">=</span> <span class="n"><a name="git_commit_author-35" class="fnlink" href="../../#v0.15.0/group/commit/git_commit_author">git_commit_author</a></span><span class="p">(</span><span class="n">commit</span><span class="p">);</span>
- <span class="n">cmtter</span> <span class="o">=</span> <span class="n"><a name="git_commit_committer-34" class="fnlink" href="../../#v0.15.0/group/commit/git_commit_committer">git_commit_committer</a></span><span class="p">(</span><span class="n">commit</span><span class="p">);</span>
- <span class="n">ctime</span> <span class="o">=</span> <span class="n"><a name="git_commit_time-33" class="fnlink" href="../../#v0.15.0/group/commit/git_commit_time">git_commit_time</a></span><span class="p">(</span><span class="n">commit</span><span class="p">);</span></pre></div>
+ <div class='highlight'><pre> <span class="n">message</span> <span class="o">=</span> <span class="n"><a name="git_commit_message-65" class="fnlink" href="../../#v0.15.0/group/commit/git_commit_message">git_commit_message</a></span><span class="p">(</span><span class="n">commit</span><span class="p">);</span>
+ <span class="n">author</span> <span class="o">=</span> <span class="n"><a name="git_commit_author-70" class="fnlink" href="../../#v0.15.0/group/commit/git_commit_author">git_commit_author</a></span><span class="p">(</span><span class="n">commit</span><span class="p">);</span>
+ <span class="n">cmtter</span> <span class="o">=</span> <span class="n"><a name="git_commit_committer-69" class="fnlink" href="../../#v0.15.0/group/commit/git_commit_committer">git_commit_committer</a></span><span class="p">(</span><span class="n">commit</span><span class="p">);</span>
+ <span class="n">ctime</span> <span class="o">=</span> <span class="n"><a name="git_commit_time-68" class="fnlink" href="../../#v0.15.0/group/commit/git_commit_time">git_commit_time</a></span><span class="p">(</span><span class="n">commit</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-24'>
@@ -389,13 +389,13 @@ will have one, which is the commit it was based on, and merge commits will have
Commits can technically have any number, though it&rsquo;s pretty rare to have more than two.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n">parents</span> <span class="o">=</span> <span class="n"><a name="git_commit_parentcount-37" class="fnlink" href="../../#v0.15.0/group/commit/git_commit_parentcount">git_commit_parentcount</a></span><span class="p">(</span><span class="n">commit</span><span class="p">);</span>
+ <div class='highlight'><pre> <span class="n">parents</span> <span class="o">=</span> <span class="n"><a name="git_commit_parentcount-72" class="fnlink" href="../../#v0.15.0/group/commit/git_commit_parentcount">git_commit_parentcount</a></span><span class="p">(</span><span class="n">commit</span><span class="p">);</span>
<span class="k">for</span> <span class="p">(</span><span class="n">p</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span><span class="n">p</span> <span class="o">&lt;</span> <span class="n">parents</span><span class="p">;</span><span class="n">p</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
<span class="n">git_commit</span> <span class="o">*</span><span class="n">parent</span><span class="p">;</span>
- <span class="n"><a name="git_commit_parent-38" class="fnlink" href="../../#v0.15.0/group/commit/git_commit_parent">git_commit_parent</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">parent</span><span class="p">,</span> <span class="n">commit</span><span class="p">,</span> <span class="n">p</span><span class="p">);</span>
- <span class="n"><a name="git_oid_fmt-64" class="fnlink" href="../../#v0.15.0/group/oid/git_oid_fmt">git_oid_fmt</a></span><span class="p">(</span><span class="n">out</span><span class="p">,</span> <span class="n"><a name="git_commit_id-29" class="fnlink" href="../../#v0.15.0/group/commit/git_commit_id">git_commit_id</a></span><span class="p">(</span><span class="n">parent</span><span class="p">));</span>
+ <span class="n"><a name="git_commit_parent-73" class="fnlink" href="../../#v0.15.0/group/commit/git_commit_parent">git_commit_parent</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">parent</span><span class="p">,</span> <span class="n">commit</span><span class="p">,</span> <span class="n">p</span><span class="p">);</span>
+ <span class="n"><a name="git_oid_fmt-41" class="fnlink" href="../../#v0.15.0/group/oid/git_oid_fmt">git_oid_fmt</a></span><span class="p">(</span><span class="n">out</span><span class="p">,</span> <span class="n"><a name="git_commit_id-64" class="fnlink" href="../../#v0.15.0/group/commit/git_commit_id">git_commit_id</a></span><span class="p">(</span><span class="n">parent</span><span class="p">));</span>
<span class="n">printf</span><span class="p">(</span><span class="s">&quot;Parent: %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">out</span><span class="p">);</span>
- <span class="n"><a name="git_commit_close-25" class="fnlink" href="../../#v0.15.0/group/commit/git_commit_close">git_commit_close</a></span><span class="p">(</span><span class="n">parent</span><span class="p">);</span>
+ <span class="n"><a name="git_commit_close-60" class="fnlink" href="../../#v0.15.0/group/commit/git_commit_close">git_commit_close</a></span><span class="p">(</span><span class="n">parent</span><span class="p">);</span>
<span class="p">}</span></pre></div>
</td>
</tr>
@@ -408,7 +408,7 @@ Commits can technically have any number, though it&rsquo;s pretty rare to have m
all the objects you open and parse.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_commit_close-26" class="fnlink" href="../../#v0.15.0/group/commit/git_commit_close">git_commit_close</a></span><span class="p">(</span><span class="n">commit</span><span class="p">);</span></pre></div>
+ <div class='highlight'><pre> <span class="n"><a name="git_commit_close-61" class="fnlink" href="../../#v0.15.0/group/commit/git_commit_close">git_commit_close</a></span><span class="p">(</span><span class="n">commit</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-Writing_Commits'>
@@ -440,9 +440,9 @@ and email should be found in the <code>user.name</code> and <code>user.email</co
section of this example file to see how to access config values.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_signature_new-1" class="fnlink" href="../../#v0.15.0/group/signature/git_signature_new">git_signature_new</a></span><span class="p">((</span><span class="n">git_signature</span> <span class="o">**</span><span class="p">)</span><span class="o">&amp;</span><span class="n">author</span><span class="p">,</span> <span class="s">&quot;Scott Chacon&quot;</span><span class="p">,</span> <span class="s">&quot;schacon@gmail.com&quot;</span><span class="p">,</span>
+ <div class='highlight'><pre> <span class="n"><a name="git_signature_new-14" class="fnlink" href="../../#v0.15.0/group/signature/git_signature_new">git_signature_new</a></span><span class="p">((</span><span class="n">git_signature</span> <span class="o">**</span><span class="p">)</span><span class="o">&amp;</span><span class="n">author</span><span class="p">,</span> <span class="s">&quot;Scott Chacon&quot;</span><span class="p">,</span> <span class="s">&quot;schacon@gmail.com&quot;</span><span class="p">,</span>
<span class="mi">123456789</span><span class="p">,</span> <span class="mi">60</span><span class="p">);</span>
- <span class="n"><a name="git_signature_new-2" class="fnlink" href="../../#v0.15.0/group/signature/git_signature_new">git_signature_new</a></span><span class="p">((</span><span class="n">git_signature</span> <span class="o">**</span><span class="p">)</span><span class="o">&amp;</span><span class="n">cmtter</span><span class="p">,</span> <span class="s">&quot;Scott A Chacon&quot;</span><span class="p">,</span> <span class="s">&quot;scott@github.com&quot;</span><span class="p">,</span>
+ <span class="n"><a name="git_signature_new-15" class="fnlink" href="../../#v0.15.0/group/signature/git_signature_new">git_signature_new</a></span><span class="p">((</span><span class="n">git_signature</span> <span class="o">**</span><span class="p">)</span><span class="o">&amp;</span><span class="n">cmtter</span><span class="p">,</span> <span class="s">&quot;Scott A Chacon&quot;</span><span class="p">,</span> <span class="s">&quot;scott@github.com&quot;</span><span class="p">,</span>
<span class="mi">987654321</span><span class="p">,</span> <span class="mi">90</span><span class="p">);</span></pre></div>
</td>
</tr>
@@ -455,10 +455,10 @@ section of this example file to see how to access config values.</p>
objects to create the commit with, but you can also use</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_oid_fromstr-56" class="fnlink" href="../../#v0.15.0/group/oid/git_oid_fromstr">git_oid_fromstr</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">tree_id</span><span class="p">,</span> <span class="s">&quot;28873d96b4e8f4e33ea30f4c682fd325f7ba56ac&quot;</span><span class="p">);</span>
- <span class="n"><a name="git_tree_lookup-40" class="fnlink" href="../../#v0.15.0/group/tree/git_tree_lookup">git_tree_lookup</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">tree</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">tree_id</span><span class="p">);</span>
- <span class="n"><a name="git_oid_fromstr-57" class="fnlink" href="../../#v0.15.0/group/oid/git_oid_fromstr">git_oid_fromstr</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">parent_id</span><span class="p">,</span> <span class="s">&quot;f0877d0b841d75172ec404fc9370173dfffc20d1&quot;</span><span class="p">);</span>
- <span class="n"><a name="git_commit_lookup-23" class="fnlink" href="../../#v0.15.0/group/commit/git_commit_lookup">git_commit_lookup</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">parent</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">parent_id</span><span class="p">);</span></pre></div>
+ <div class='highlight'><pre> <span class="n"><a name="git_oid_fromstr-33" class="fnlink" href="../../#v0.15.0/group/oid/git_oid_fromstr">git_oid_fromstr</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">tree_id</span><span class="p">,</span> <span class="s">&quot;28873d96b4e8f4e33ea30f4c682fd325f7ba56ac&quot;</span><span class="p">);</span>
+ <span class="n"><a name="git_tree_lookup-1" class="fnlink" href="../../#v0.15.0/group/tree/git_tree_lookup">git_tree_lookup</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">tree</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">tree_id</span><span class="p">);</span>
+ <span class="n"><a name="git_oid_fromstr-34" class="fnlink" href="../../#v0.15.0/group/oid/git_oid_fromstr">git_oid_fromstr</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">parent_id</span><span class="p">,</span> <span class="s">&quot;f0877d0b841d75172ec404fc9370173dfffc20d1&quot;</span><span class="p">);</span>
+ <span class="n"><a name="git_commit_lookup-58" class="fnlink" href="../../#v0.15.0/group/commit/git_commit_lookup">git_commit_lookup</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">parent</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">parent_id</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-30'>
@@ -470,7 +470,7 @@ objects to create the commit with, but you can also use</p>
the commit. The SHA key is written to the <code>commit_id</code> variable here.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_commit_create_v-39" class="fnlink" href="../../#v0.15.0/group/commit/git_commit_create_v">git_commit_create_v</a></span><span class="p">(</span>
+ <div class='highlight'><pre> <span class="n"><a name="git_commit_create_v-74" class="fnlink" href="../../#v0.15.0/group/commit/git_commit_create_v">git_commit_create_v</a></span><span class="p">(</span>
<span class="o">&amp;</span><span class="n">commit_id</span><span class="p">,</span> <span class="cm">/* out id */</span>
<span class="n">repo</span><span class="p">,</span>
<span class="nb">NULL</span><span class="p">,</span> <span class="cm">/* do not update the HEAD */</span>
@@ -490,7 +490,7 @@ the commit. The SHA key is written to the <code>commit_id</code> variable here.
<p>Now we can take a look at the commit SHA we&rsquo;ve generated.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_oid_fmt-65" class="fnlink" href="../../#v0.15.0/group/oid/git_oid_fmt">git_oid_fmt</a></span><span class="p">(</span><span class="n">out</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">commit_id</span><span class="p">);</span>
+ <div class='highlight'><pre> <span class="n"><a name="git_oid_fmt-42" class="fnlink" href="../../#v0.15.0/group/oid/git_oid_fmt">git_oid_fmt</a></span><span class="p">(</span><span class="n">out</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">commit_id</span><span class="p">);</span>
<span class="n">printf</span><span class="p">(</span><span class="s">&quot;New Commit: %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">out</span><span class="p">);</span></pre></div>
</td>
</tr>
@@ -520,9 +520,9 @@ to the commit lookup, parsing and creation methods, since the objects themselves
way that we would a commit (or any other) object.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_oid_fromstr-58" class="fnlink" href="../../#v0.15.0/group/oid/git_oid_fromstr">git_oid_fromstr</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">oid</span><span class="p">,</span> <span class="s">&quot;bc422d45275aca289c51d79830b45cecebff7c3a&quot;</span><span class="p">);</span>
+ <div class='highlight'><pre> <span class="n"><a name="git_oid_fromstr-35" class="fnlink" href="../../#v0.15.0/group/oid/git_oid_fromstr">git_oid_fromstr</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">oid</span><span class="p">,</span> <span class="s">&quot;bc422d45275aca289c51d79830b45cecebff7c3a&quot;</span><span class="p">);</span>
- <span class="n">error</span> <span class="o">=</span> <span class="n"><a name="git_tag_lookup-17" class="fnlink" href="../../#v0.15.0/group/tag/git_tag_lookup">git_tag_lookup</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">tag</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span></pre></div>
+ <span class="n">error</span> <span class="o">=</span> <span class="n"><a name="git_tag_lookup-9" class="fnlink" href="../../#v0.15.0/group/tag/git_tag_lookup">git_tag_lookup</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">tag</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-34'>
@@ -535,13 +535,13 @@ way that we would a commit (or any other) object.</p>
the tagger (a git_signature &ndash; name, email, timestamp), and the tag message.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_tag_target-18" class="fnlink" href="../../#v0.15.0/group/tag/git_tag_target">git_tag_target</a></span><span class="p">((</span><span class="n">git_object</span> <span class="o">**</span><span class="p">)</span><span class="o">&amp;</span><span class="n">commit</span><span class="p">,</span> <span class="n">tag</span><span class="p">);</span>
- <span class="n">tname</span> <span class="o">=</span> <span class="n"><a name="git_tag_name-20" class="fnlink" href="../../#v0.15.0/group/tag/git_tag_name">git_tag_name</a></span><span class="p">(</span><span class="n">tag</span><span class="p">);</span> <span class="c1">// &quot;test&quot;</span>
- <span class="n">ttype</span> <span class="o">=</span> <span class="n"><a name="git_tag_type-19" class="fnlink" href="../../#v0.15.0/group/tag/git_tag_type">git_tag_type</a></span><span class="p">(</span><span class="n">tag</span><span class="p">);</span> <span class="c1">// GIT_OBJ_COMMIT (otype enum)</span>
- <span class="n">tmessage</span> <span class="o">=</span> <span class="n"><a name="git_tag_message-21" class="fnlink" href="../../#v0.15.0/group/tag/git_tag_message">git_tag_message</a></span><span class="p">(</span><span class="n">tag</span><span class="p">);</span> <span class="c1">// &quot;tag message\n&quot;</span>
+ <div class='highlight'><pre> <span class="n"><a name="git_tag_target-10" class="fnlink" href="../../#v0.15.0/group/tag/git_tag_target">git_tag_target</a></span><span class="p">((</span><span class="n">git_object</span> <span class="o">**</span><span class="p">)</span><span class="o">&amp;</span><span class="n">commit</span><span class="p">,</span> <span class="n">tag</span><span class="p">);</span>
+ <span class="n">tname</span> <span class="o">=</span> <span class="n"><a name="git_tag_name-12" class="fnlink" href="../../#v0.15.0/group/tag/git_tag_name">git_tag_name</a></span><span class="p">(</span><span class="n">tag</span><span class="p">);</span> <span class="c1">// &quot;test&quot;</span>
+ <span class="n">ttype</span> <span class="o">=</span> <span class="n"><a name="git_tag_type-11" class="fnlink" href="../../#v0.15.0/group/tag/git_tag_type">git_tag_type</a></span><span class="p">(</span><span class="n">tag</span><span class="p">);</span> <span class="c1">// GIT_OBJ_COMMIT (otype enum)</span>
+ <span class="n">tmessage</span> <span class="o">=</span> <span class="n"><a name="git_tag_message-13" class="fnlink" href="../../#v0.15.0/group/tag/git_tag_message">git_tag_message</a></span><span class="p">(</span><span class="n">tag</span><span class="p">);</span> <span class="c1">// &quot;tag message\n&quot;</span>
<span class="n">printf</span><span class="p">(</span><span class="s">&quot;Tag Message: %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">tmessage</span><span class="p">);</span>
- <span class="n"><a name="git_commit_close-27" class="fnlink" href="../../#v0.15.0/group/commit/git_commit_close">git_commit_close</a></span><span class="p">(</span><span class="n">commit</span><span class="p">);</span></pre></div>
+ <span class="n"><a name="git_commit_close-62" class="fnlink" href="../../#v0.15.0/group/commit/git_commit_close">git_commit_close</a></span><span class="p">(</span><span class="n">commit</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-Tree_Parsing'>
@@ -570,8 +570,8 @@ traversing tree entries.</p>
<p>Create the oid and lookup the tree object just like the other objects.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_oid_fromstr-59" class="fnlink" href="../../#v0.15.0/group/oid/git_oid_fromstr">git_oid_fromstr</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">oid</span><span class="p">,</span> <span class="s">&quot;2a741c18ac5ff082a7caaec6e74db3075a1906b5&quot;</span><span class="p">);</span>
- <span class="n"><a name="git_tree_lookup-41" class="fnlink" href="../../#v0.15.0/group/tree/git_tree_lookup">git_tree_lookup</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">tree</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span></pre></div>
+ <div class='highlight'><pre> <span class="n"><a name="git_oid_fromstr-36" class="fnlink" href="../../#v0.15.0/group/oid/git_oid_fromstr">git_oid_fromstr</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">oid</span><span class="p">,</span> <span class="s">&quot;2a741c18ac5ff082a7caaec6e74db3075a1906b5&quot;</span><span class="p">);</span>
+ <span class="n"><a name="git_tree_lookup-2" class="fnlink" href="../../#v0.15.0/group/tree/git_tree_lookup">git_tree_lookup</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">tree</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-37'>
@@ -582,11 +582,11 @@ traversing tree entries.</p>
<p>Getting the count of entries in the tree so you can iterate over them if you want to.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="kt">int</span> <span class="n">cnt</span> <span class="o">=</span> <span class="n"><a name="git_tree_entrycount-42" class="fnlink" href="../../#v0.15.0/group/tree/git_tree_entrycount">git_tree_entrycount</a></span><span class="p">(</span><span class="n">tree</span><span class="p">);</span> <span class="c1">// 3</span>
+ <div class='highlight'><pre> <span class="kt">int</span> <span class="n">cnt</span> <span class="o">=</span> <span class="n"><a name="git_tree_entrycount-3" class="fnlink" href="../../#v0.15.0/group/tree/git_tree_entrycount">git_tree_entrycount</a></span><span class="p">(</span><span class="n">tree</span><span class="p">);</span> <span class="c1">// 3</span>
<span class="n">printf</span><span class="p">(</span><span class="s">&quot;tree entries: %d</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">cnt</span><span class="p">);</span>
- <span class="n">entry</span> <span class="o">=</span> <span class="n"><a name="git_tree_entry_byindex-44" class="fnlink" href="../../#v0.15.0/group/tree/git_tree_entry_byindex">git_tree_entry_byindex</a></span><span class="p">(</span><span class="n">tree</span><span class="p">,</span> <span class="mi">0</span><span class="p">);</span>
- <span class="n">printf</span><span class="p">(</span><span class="s">&quot;Entry name: %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n"><a name="git_tree_entry_name-45" class="fnlink" href="../../#v0.15.0/group/tree/git_tree_entry_name">git_tree_entry_name</a></span><span class="p">(</span><span class="n">entry</span><span class="p">));</span> <span class="c1">// &quot;hello.c&quot;</span></pre></div>
+ <span class="n">entry</span> <span class="o">=</span> <span class="n"><a name="git_tree_entry_byindex-5" class="fnlink" href="../../#v0.15.0/group/tree/git_tree_entry_byindex">git_tree_entry_byindex</a></span><span class="p">(</span><span class="n">tree</span><span class="p">,</span> <span class="mi">0</span><span class="p">);</span>
+ <span class="n">printf</span><span class="p">(</span><span class="s">&quot;Entry name: %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n"><a name="git_tree_entry_name-6" class="fnlink" href="../../#v0.15.0/group/tree/git_tree_entry_name">git_tree_entry_name</a></span><span class="p">(</span><span class="n">entry</span><span class="p">));</span> <span class="c1">// &quot;hello.c&quot;</span></pre></div>
</td>
</tr>
<tr id='section-38'>
@@ -597,8 +597,8 @@ traversing tree entries.</p>
<p>You can also access tree entries by name if you know the name of the entry you&rsquo;re looking for.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n">entry</span> <span class="o">=</span> <span class="n"><a name="git_tree_entry_byname-43" class="fnlink" href="../../#v0.15.0/group/tree/git_tree_entry_byname">git_tree_entry_byname</a></span><span class="p">(</span><span class="n">tree</span><span class="p">,</span> <span class="s">&quot;hello.c&quot;</span><span class="p">);</span>
- <span class="n"><a name="git_tree_entry_name-46" class="fnlink" href="../../#v0.15.0/group/tree/git_tree_entry_name">git_tree_entry_name</a></span><span class="p">(</span><span class="n">entry</span><span class="p">);</span> <span class="c1">// &quot;hello.c&quot;</span></pre></div>
+ <div class='highlight'><pre> <span class="n">entry</span> <span class="o">=</span> <span class="n"><a name="git_tree_entry_byname-4" class="fnlink" href="../../#v0.15.0/group/tree/git_tree_entry_byname">git_tree_entry_byname</a></span><span class="p">(</span><span class="n">tree</span><span class="p">,</span> <span class="s">&quot;hello.c&quot;</span><span class="p">);</span>
+ <span class="n"><a name="git_tree_entry_name-7" class="fnlink" href="../../#v0.15.0/group/tree/git_tree_entry_name">git_tree_entry_name</a></span><span class="p">(</span><span class="n">entry</span><span class="p">);</span> <span class="c1">// &quot;hello.c&quot;</span></pre></div>
</td>
</tr>
<tr id='section-39'>
@@ -610,7 +610,7 @@ traversing tree entries.</p>
of submodules) that it points to. You can also get the mode if you want.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_tree_entry_2object-47" class="fnlink" href="../../#v0.15.0/group/tree/git_tree_entry_2object">git_tree_entry_2object</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">objt</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="n">entry</span><span class="p">);</span> <span class="c1">// blob</span></pre></div>
+ <div class='highlight'><pre> <span class="n"><a name="git_tree_entry_2object-8" class="fnlink" href="../../#v0.15.0/group/tree/git_tree_entry_2object">git_tree_entry_2object</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">objt</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="n">entry</span><span class="p">);</span> <span class="c1">// blob</span></pre></div>
</td>
</tr>
<tr id='section-40'>
@@ -621,7 +621,7 @@ of submodules) that it points to. You can also get the mode if you want.</p>
<p>Remember to close the looked-up object once you are done using it</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_object_close-72" class="fnlink" href="../../#v0.15.0/group/object/git_object_close">git_object_close</a></span><span class="p">(</span><span class="n">objt</span><span class="p">);</span></pre></div>
+ <div class='highlight'><pre> <span class="n"><a name="git_object_close-50" class="fnlink" href="../../#v0.15.0/group/object/git_object_close">git_object_close</a></span><span class="p">(</span><span class="n">objt</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-Blob_Parsing'>
@@ -641,8 +641,8 @@ getting the oid back so you don&rsquo;t have to do all those steps yourself.</p>
<div class='highlight'><pre> <span class="n">printf</span><span class="p">(</span><span class="s">&quot;</span><span class="se">\n</span><span class="s">*Blob Parsing*</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">);</span>
<span class="n">git_blob</span> <span class="o">*</span><span class="n">blob</span><span class="p">;</span>
- <span class="n"><a name="git_oid_fromstr-60" class="fnlink" href="../../#v0.15.0/group/oid/git_oid_fromstr">git_oid_fromstr</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">oid</span><span class="p">,</span> <span class="s">&quot;af7574ea73f7b166f869ef1a39be126d9a186ae0&quot;</span><span class="p">);</span>
- <span class="n"><a name="git_blob_lookup-5" class="fnlink" href="../../#v0.15.0/group/blob/git_blob_lookup">git_blob_lookup</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">blob</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span></pre></div>
+ <span class="n"><a name="git_oid_fromstr-37" class="fnlink" href="../../#v0.15.0/group/oid/git_oid_fromstr">git_oid_fromstr</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">oid</span><span class="p">,</span> <span class="s">&quot;af7574ea73f7b166f869ef1a39be126d9a186ae0&quot;</span><span class="p">);</span>
+ <span class="n"><a name="git_blob_lookup-75" class="fnlink" href="../../#v0.15.0/group/blob/git_blob_lookup">git_blob_lookup</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">blob</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-42'>
@@ -652,12 +652,12 @@ getting the oid back so you don&rsquo;t have to do all those steps yourself.</p>
</div>
<p>You can access a buffer with the raw contents of the blob directly.
Note that this buffer may not be contain ASCII data for certain blobs (e.g. binary files):
-do not consider the buffer a NULL-terminated string, and use the <code><a name="git_blob_rawsize-7" class="fnlink" href="../../#v0.15.0/group/blob/git_blob_rawsize">git_blob_rawsize</a></code> attribute to
+do not consider the buffer a NULL-terminated string, and use the <code><a name="git_blob_rawsize-77" class="fnlink" href="../../#v0.15.0/group/blob/git_blob_rawsize">git_blob_rawsize</a></code> attribute to
find out its exact size in bytes</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n">printf</span><span class="p">(</span><span class="s">&quot;Blob Size: %ld</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n"><a name="git_blob_rawsize-8" class="fnlink" href="../../#v0.15.0/group/blob/git_blob_rawsize">git_blob_rawsize</a></span><span class="p">(</span><span class="n">blob</span><span class="p">));</span> <span class="c1">// 8</span>
- <span class="n"><a name="git_blob_rawcontent-6" class="fnlink" href="../../#v0.15.0/group/blob/git_blob_rawcontent">git_blob_rawcontent</a></span><span class="p">(</span><span class="n">blob</span><span class="p">);</span> <span class="c1">// &quot;content&quot;</span></pre></div>
+ <div class='highlight'><pre> <span class="n">printf</span><span class="p">(</span><span class="s">&quot;Blob Size: %ld</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n"><a name="git_blob_rawsize-78" class="fnlink" href="../../#v0.15.0/group/blob/git_blob_rawsize">git_blob_rawsize</a></span><span class="p">(</span><span class="n">blob</span><span class="p">));</span> <span class="c1">// 8</span>
+ <span class="n"><a name="git_blob_rawcontent-76" class="fnlink" href="../../#v0.15.0/group/blob/git_blob_rawcontent">git_blob_rawcontent</a></span><span class="p">(</span><span class="n">blob</span><span class="p">);</span> <span class="c1">// &quot;content&quot;</span></pre></div>
</td>
</tr>
<tr id='section-Revwalking'>
@@ -678,7 +678,7 @@ type functionality.</p>
<span class="n">git_revwalk</span> <span class="o">*</span><span class="n">walk</span><span class="p">;</span>
<span class="n">git_commit</span> <span class="o">*</span><span class="n">wcommit</span><span class="p">;</span>
- <span class="n"><a name="git_oid_fromstr-61" class="fnlink" href="../../#v0.15.0/group/oid/git_oid_fromstr">git_oid_fromstr</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">oid</span><span class="p">,</span> <span class="s">&quot;f0877d0b841d75172ec404fc9370173dfffc20d1&quot;</span><span class="p">);</span></pre></div>
+ <span class="n"><a name="git_oid_fromstr-38" class="fnlink" href="../../#v0.15.0/group/oid/git_oid_fromstr">git_oid_fromstr</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">oid</span><span class="p">,</span> <span class="s">&quot;f0877d0b841d75172ec404fc9370173dfffc20d1&quot;</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-44'>
@@ -694,9 +694,9 @@ want to emulate <code>git log branch1..branch2</code>, you would push the oid of
of <code>branch1</code>.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_revwalk_new-67" class="fnlink" href="../../#v0.15.0/group/revwalk/git_revwalk_new">git_revwalk_new</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">walk</span><span class="p">,</span> <span class="n">repo</span><span class="p">);</span>
- <span class="n"><a name="git_revwalk_sorting-70" class="fnlink" href="../../#v0.15.0/group/revwalk/git_revwalk_sorting">git_revwalk_sorting</a></span><span class="p">(</span><span class="n">walk</span><span class="p">,</span> <span class="n">GIT_SORT_TOPOLOGICAL</span> <span class="o">|</span> <span class="n">GIT_SORT_REVERSE</span><span class="p">);</span>
- <span class="n"><a name="git_revwalk_push-68" class="fnlink" href="../../#v0.15.0/group/revwalk/git_revwalk_push">git_revwalk_push</a></span><span class="p">(</span><span class="n">walk</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span>
+ <div class='highlight'><pre> <span class="n"><a name="git_revwalk_new-16" class="fnlink" href="../../#v0.15.0/group/revwalk/git_revwalk_new">git_revwalk_new</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">walk</span><span class="p">,</span> <span class="n">repo</span><span class="p">);</span>
+ <span class="n"><a name="git_revwalk_sorting-19" class="fnlink" href="../../#v0.15.0/group/revwalk/git_revwalk_sorting">git_revwalk_sorting</a></span><span class="p">(</span><span class="n">walk</span><span class="p">,</span> <span class="n">GIT_SORT_TOPOLOGICAL</span> <span class="o">|</span> <span class="n">GIT_SORT_REVERSE</span><span class="p">);</span>
+ <span class="n"><a name="git_revwalk_push-17" class="fnlink" href="../../#v0.15.0/group/revwalk/git_revwalk_push">git_revwalk_push</a></span><span class="p">(</span><span class="n">walk</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span>
<span class="k">const</span> <span class="n">git_signature</span> <span class="o">*</span><span class="n">cauth</span><span class="p">;</span>
<span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">cmsg</span><span class="p">;</span></pre></div>
@@ -714,12 +714,12 @@ note that this operation is specially fast since the raw contents of the commit
be cached in memory</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="k">while</span> <span class="p">((</span><span class="n"><a name="git_revwalk_next-69" class="fnlink" href="../../#v0.15.0/group/revwalk/git_revwalk_next">git_revwalk_next</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">oid</span><span class="p">,</span> <span class="n">walk</span><span class="p">))</span> <span class="o">==</span> <span class="n">GIT_SUCCESS</span><span class="p">)</span> <span class="p">{</span>
- <span class="n">error</span> <span class="o">=</span> <span class="n"><a name="git_commit_lookup-24" class="fnlink" href="../../#v0.15.0/group/commit/git_commit_lookup">git_commit_lookup</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">wcommit</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span>
- <span class="n">cmsg</span> <span class="o">=</span> <span class="n"><a name="git_commit_message-31" class="fnlink" href="../../#v0.15.0/group/commit/git_commit_message">git_commit_message</a></span><span class="p">(</span><span class="n">wcommit</span><span class="p">);</span>
- <span class="n">cauth</span> <span class="o">=</span> <span class="n"><a name="git_commit_author-36" class="fnlink" href="../../#v0.15.0/group/commit/git_commit_author">git_commit_author</a></span><span class="p">(</span><span class="n">wcommit</span><span class="p">);</span>
+ <div class='highlight'><pre> <span class="k">while</span> <span class="p">((</span><span class="n"><a name="git_revwalk_next-18" class="fnlink" href="../../#v0.15.0/group/revwalk/git_revwalk_next">git_revwalk_next</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">oid</span><span class="p">,</span> <span class="n">walk</span><span class="p">))</span> <span class="o">==</span> <span class="n">GIT_SUCCESS</span><span class="p">)</span> <span class="p">{</span>
+ <span class="n">error</span> <span class="o">=</span> <span class="n"><a name="git_commit_lookup-59" class="fnlink" href="../../#v0.15.0/group/commit/git_commit_lookup">git_commit_lookup</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">wcommit</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span>
+ <span class="n">cmsg</span> <span class="o">=</span> <span class="n"><a name="git_commit_message-66" class="fnlink" href="../../#v0.15.0/group/commit/git_commit_message">git_commit_message</a></span><span class="p">(</span><span class="n">wcommit</span><span class="p">);</span>
+ <span class="n">cauth</span> <span class="o">=</span> <span class="n"><a name="git_commit_author-71" class="fnlink" href="../../#v0.15.0/group/commit/git_commit_author">git_commit_author</a></span><span class="p">(</span><span class="n">wcommit</span><span class="p">);</span>
<span class="n">printf</span><span class="p">(</span><span class="s">&quot;%s (%s)</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">cmsg</span><span class="p">,</span> <span class="n">cauth</span><span class="o">-&gt;</span><span class="n">email</span><span class="p">);</span>
- <span class="n"><a name="git_commit_close-28" class="fnlink" href="../../#v0.15.0/group/commit/git_commit_close">git_commit_close</a></span><span class="p">(</span><span class="n">wcommit</span><span class="p">);</span>
+ <span class="n"><a name="git_commit_close-63" class="fnlink" href="../../#v0.15.0/group/commit/git_commit_close">git_commit_close</a></span><span class="p">(</span><span class="n">wcommit</span><span class="p">);</span>
<span class="p">}</span></pre></div>
</td>
</tr>
@@ -733,7 +733,7 @@ Also, make sure that the repository being walked it not deallocated while the wa
progress, or it will result in undefined behavior</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_revwalk_free-71" class="fnlink" href="../../#v0.15.0/group/revwalk/git_revwalk_free">git_revwalk_free</a></span><span class="p">(</span><span class="n">walk</span><span class="p">);</span></pre></div>
+ <div class='highlight'><pre> <span class="n"><a name="git_revwalk_free-20" class="fnlink" href="../../#v0.15.0/group/revwalk/git_revwalk_free">git_revwalk_free</a></span><span class="p">(</span><span class="n">walk</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-Index_File_Manipulation'>
@@ -763,7 +763,7 @@ here, or you can open and manipulate any index file with <code>git_index_open_ba
for the repository will be located and loaded from disk.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_repository_index-15" class="fnlink" href="../../#v0.15.0/group/repository/git_repository_index">git_repository_index</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">index</span><span class="p">,</span> <span class="n">repo</span><span class="p">);</span></pre></div>
+ <div class='highlight'><pre> <span class="n"><a name="git_repository_index-24" class="fnlink" href="../../#v0.15.0/group/repository/git_repository_index">git_repository_index</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">index</span><span class="p">,</span> <span class="n">repo</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-49'>
@@ -777,16 +777,16 @@ to help determine what to inspect for changes (ctime, mtime, dev, ino, uid, gid,
All these properties are exported publicly in the <code>git_index_entry</code> struct</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n">ecount</span> <span class="o">=</span> <span class="n"><a name="git_index_entrycount-11" class="fnlink" href="../../#v0.15.0/group/index/git_index_entrycount">git_index_entrycount</a></span><span class="p">(</span><span class="n">index</span><span class="p">);</span>
+ <div class='highlight'><pre> <span class="n">ecount</span> <span class="o">=</span> <span class="n"><a name="git_index_entrycount-54" class="fnlink" href="../../#v0.15.0/group/index/git_index_entrycount">git_index_entrycount</a></span><span class="p">(</span><span class="n">index</span><span class="p">);</span>
<span class="k">for</span> <span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="n">ecount</span><span class="p">;</span> <span class="o">++</span><span class="n">i</span><span class="p">)</span> <span class="p">{</span>
- <span class="n">git_index_entry</span> <span class="o">*</span><span class="n">e</span> <span class="o">=</span> <span class="n"><a name="git_index_get-10" class="fnlink" href="../../#v0.15.0/group/index/git_index_get">git_index_get</a></span><span class="p">(</span><span class="n">index</span><span class="p">,</span> <span class="n">i</span><span class="p">);</span>
+ <span class="n">git_index_entry</span> <span class="o">*</span><span class="n">e</span> <span class="o">=</span> <span class="n"><a name="git_index_get-53" class="fnlink" href="../../#v0.15.0/group/index/git_index_get">git_index_get</a></span><span class="p">(</span><span class="n">index</span><span class="p">,</span> <span class="n">i</span><span class="p">);</span>
<span class="n">printf</span><span class="p">(</span><span class="s">&quot;path: %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">e</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">);</span>
<span class="n">printf</span><span class="p">(</span><span class="s">&quot;mtime: %d</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="p">(</span><span class="kt">int</span><span class="p">)</span><span class="n">e</span><span class="o">-&gt;</span><span class="n">mtime</span><span class="p">.</span><span class="n">seconds</span><span class="p">);</span>
<span class="n">printf</span><span class="p">(</span><span class="s">&quot;fs: %d</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="p">(</span><span class="kt">int</span><span class="p">)</span><span class="n">e</span><span class="o">-&gt;</span><span class="n">file_size</span><span class="p">);</span>
<span class="p">}</span>
- <span class="n"><a name="git_index_free-9" class="fnlink" href="../../#v0.15.0/group/index/git_index_free">git_index_free</a></span><span class="p">(</span><span class="n">index</span><span class="p">);</span></pre></div>
+ <span class="n"><a name="git_index_free-52" class="fnlink" href="../../#v0.15.0/group/index/git_index_free">git_index_free</a></span><span class="p">(</span><span class="n">index</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-References'>
@@ -813,7 +813,7 @@ references and the object SHA they resolve to.</p>
</td>
<td class=code>
<div class='highlight'><pre> <span class="n">git_strarray</span> <span class="n">ref_list</span><span class="p">;</span>
- <span class="n"><a name="git_reference_listall-78" class="fnlink" href="../../#v0.15.0/group/reference/git_reference_listall">git_reference_listall</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">ref_list</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="n">GIT_REF_LISTALL</span><span class="p">);</span>
+ <span class="n"><a name="git_reference_listall-30" class="fnlink" href="../../#v0.15.0/group/reference/git_reference_listall">git_reference_listall</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">ref_list</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="n">GIT_REF_LISTALL</span><span class="p">);</span>
<span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">refname</span><span class="p">;</span>
<span class="n">git_reference</span> <span class="o">*</span><span class="n">ref</span><span class="p">;</span></pre></div>
@@ -830,16 +830,16 @@ resolve them to the SHA, then print both values out.</p>
<td class=code>
<div class='highlight'><pre> <span class="k">for</span> <span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="n">ref_list</span><span class="p">.</span><span class="n">count</span><span class="p">;</span> <span class="o">++</span><span class="n">i</span><span class="p">)</span> <span class="p">{</span>
<span class="n">refname</span> <span class="o">=</span> <span class="n">ref_list</span><span class="p">.</span><span class="n">strings</span><span class="p">[</span><span class="n">i</span><span class="p">];</span>
- <span class="n"><a name="git_reference_lookup-74" class="fnlink" href="../../#v0.15.0/group/reference/git_reference_lookup">git_reference_lookup</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">ref</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="n">refname</span><span class="p">);</span>
+ <span class="n"><a name="git_reference_lookup-26" class="fnlink" href="../../#v0.15.0/group/reference/git_reference_lookup">git_reference_lookup</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">ref</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="n">refname</span><span class="p">);</span>
- <span class="k">switch</span> <span class="p">(</span><span class="n"><a name="git_reference_type-77" class="fnlink" href="../../#v0.15.0/group/reference/git_reference_type">git_reference_type</a></span><span class="p">(</span><span class="n">ref</span><span class="p">))</span> <span class="p">{</span>
+ <span class="k">switch</span> <span class="p">(</span><span class="n"><a name="git_reference_type-29" class="fnlink" href="../../#v0.15.0/group/reference/git_reference_type">git_reference_type</a></span><span class="p">(</span><span class="n">ref</span><span class="p">))</span> <span class="p">{</span>
<span class="k">case</span> <span class="n">GIT_REF_OID</span>:
- <span class="n"><a name="git_oid_fmt-66" class="fnlink" href="../../#v0.15.0/group/oid/git_oid_fmt">git_oid_fmt</a></span><span class="p">(</span><span class="n">out</span><span class="p">,</span> <span class="n"><a name="git_reference_oid-75" class="fnlink" href="../../#v0.15.0/group/reference/git_reference_oid">git_reference_oid</a></span><span class="p">(</span><span class="n">ref</span><span class="p">));</span>
+ <span class="n"><a name="git_oid_fmt-43" class="fnlink" href="../../#v0.15.0/group/oid/git_oid_fmt">git_oid_fmt</a></span><span class="p">(</span><span class="n">out</span><span class="p">,</span> <span class="n"><a name="git_reference_oid-27" class="fnlink" href="../../#v0.15.0/group/reference/git_reference_oid">git_reference_oid</a></span><span class="p">(</span><span class="n">ref</span><span class="p">));</span>
<span class="n">printf</span><span class="p">(</span><span class="s">&quot;%s [%s]</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">refname</span><span class="p">,</span> <span class="n">out</span><span class="p">);</span>
<span class="k">break</span><span class="p">;</span>
<span class="k">case</span> <span class="n">GIT_REF_SYMBOLIC</span>:
- <span class="n">printf</span><span class="p">(</span><span class="s">&quot;%s =&gt; %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">refname</span><span class="p">,</span> <span class="n"><a name="git_reference_target-76" class="fnlink" href="../../#v0.15.0/group/reference/git_reference_target">git_reference_target</a></span><span class="p">(</span><span class="n">ref</span><span class="p">));</span>
+ <span class="n">printf</span><span class="p">(</span><span class="s">&quot;%s =&gt; %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">refname</span><span class="p">,</span> <span class="n"><a name="git_reference_target-28" class="fnlink" href="../../#v0.15.0/group/reference/git_reference_target">git_reference_target</a></span><span class="p">(</span><span class="n">ref</span><span class="p">));</span>
<span class="k">break</span><span class="p">;</span>
<span class="nl">default:</span>
<span class="n">fprintf</span><span class="p">(</span><span class="n">stderr</span><span class="p">,</span> <span class="s">&quot;Unexpected reference type</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">);</span>
@@ -877,12 +877,12 @@ any of the accessible config file locations (system, global, local).</p>
<p>Open a config object so we can read global values from it.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_config_open_ondisk-3" class="fnlink" href="../../#v0.15.0/group/config/git_config_open_ondisk">git_config_open_ondisk</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">cfg</span><span class="p">,</span> <span class="s">&quot;~/.gitconfig&quot;</span><span class="p">);</span>
+ <div class='highlight'><pre> <span class="n"><a name="git_config_open_ondisk-55" class="fnlink" href="../../#v0.15.0/group/config/git_config_open_ondisk">git_config_open_ondisk</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">cfg</span><span class="p">,</span> <span class="s">&quot;~/.gitconfig&quot;</span><span class="p">);</span>
<span class="n">git_config_get_int</span><span class="p">(</span><span class="n">cfg</span><span class="p">,</span> <span class="s">&quot;help.autocorrect&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">j</span><span class="p">);</span>
<span class="n">printf</span><span class="p">(</span><span class="s">&quot;Autocorrect: %d</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">j</span><span class="p">);</span>
- <span class="n"><a name="git_config_get_string-4" class="fnlink" href="../../#v0.15.0/group/config/git_config_get_string">git_config_get_string</a></span><span class="p">(</span><span class="n">cfg</span><span class="p">,</span> <span class="s">&quot;user.email&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">email</span><span class="p">);</span>
+ <span class="n"><a name="git_config_get_string-56" class="fnlink" href="../../#v0.15.0/group/config/git_config_get_string">git_config_get_string</a></span><span class="p">(</span><span class="n">cfg</span><span class="p">,</span> <span class="s">&quot;user.email&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">email</span><span class="p">);</span>
<span class="n">printf</span><span class="p">(</span><span class="s">&quot;Email: %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">email</span><span class="p">);</span></pre></div>
</td>
</tr>
@@ -895,7 +895,7 @@ any of the accessible config file locations (system, global, local).</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_repository_free-16" class="fnlink" href="../../#v0.15.0/group/repository/git_repository_free">git_repository_free</a></span><span class="p">(</span><span class="n">repo</span><span class="p">);</span>
+ <div class='highlight'><pre> <span class="n"><a name="git_repository_free-25" class="fnlink" href="../../#v0.15.0/group/repository/git_repository_free">git_repository_free</a></span><span class="p">(</span><span class="n">repo</span><span class="p">);</span>
<span class="k">return</span> <span class="mi">0</span><span class="p">;</span>
<span class="p">}</span></pre></div>
diff --git a/ex/v0.15.0/showindex.html b/ex/v0.15.0/showindex.html
index d3d3b4a5e..fb08ca5cc 100644
--- a/ex/v0.15.0/showindex.html
+++ b/ex/v0.15.0/showindex.html
@@ -53,17 +53,17 @@
<span class="kt">char</span> <span class="n">out</span><span class="p">[</span><span class="mi">41</span><span class="p">];</span>
<span class="n">out</span><span class="p">[</span><span class="mi">40</span><span class="p">]</span> <span class="o">=</span> <span class="sc">&#39;\0&#39;</span><span class="p">;</span>
- <span class="n"><a name="git_repository_open-5" class="fnlink" href="../../#v0.15.0/group/repository/git_repository_open">git_repository_open</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">repo</span><span class="p">,</span> <span class="s">&quot;/opt/libgit2-test/.git&quot;</span><span class="p">);</span>
+ <span class="n"><a name="git_repository_open-1" class="fnlink" href="../../#v0.15.0/group/repository/git_repository_open">git_repository_open</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">repo</span><span class="p">,</span> <span class="s">&quot;/opt/libgit2-test/.git&quot;</span><span class="p">);</span>
- <span class="n"><a name="git_repository_index-6" class="fnlink" href="../../#v0.15.0/group/repository/git_repository_index">git_repository_index</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">index</span><span class="p">,</span> <span class="n">repo</span><span class="p">);</span>
- <span class="n"><a name="git_index_read-2" class="fnlink" href="../../#v0.15.0/group/index/git_index_read">git_index_read</a></span><span class="p">(</span><span class="n">index</span><span class="p">);</span>
+ <span class="n"><a name="git_repository_index-2" class="fnlink" href="../../#v0.15.0/group/repository/git_repository_index">git_repository_index</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">index</span><span class="p">,</span> <span class="n">repo</span><span class="p">);</span>
+ <span class="n"><a name="git_index_read-6" class="fnlink" href="../../#v0.15.0/group/index/git_index_read">git_index_read</a></span><span class="p">(</span><span class="n">index</span><span class="p">);</span>
- <span class="n">ecount</span> <span class="o">=</span> <span class="n"><a name="git_index_entrycount-4" class="fnlink" href="../../#v0.15.0/group/index/git_index_entrycount">git_index_entrycount</a></span><span class="p">(</span><span class="n">index</span><span class="p">);</span>
+ <span class="n">ecount</span> <span class="o">=</span> <span class="n"><a name="git_index_entrycount-8" class="fnlink" href="../../#v0.15.0/group/index/git_index_entrycount">git_index_entrycount</a></span><span class="p">(</span><span class="n">index</span><span class="p">);</span>
<span class="k">for</span> <span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="n">ecount</span><span class="p">;</span> <span class="o">++</span><span class="n">i</span><span class="p">)</span> <span class="p">{</span>
- <span class="n">git_index_entry</span> <span class="o">*</span><span class="n">e</span> <span class="o">=</span> <span class="n"><a name="git_index_get-3" class="fnlink" href="../../#v0.15.0/group/index/git_index_get">git_index_get</a></span><span class="p">(</span><span class="n">index</span><span class="p">,</span> <span class="n">i</span><span class="p">);</span>
+ <span class="n">git_index_entry</span> <span class="o">*</span><span class="n">e</span> <span class="o">=</span> <span class="n"><a name="git_index_get-7" class="fnlink" href="../../#v0.15.0/group/index/git_index_get">git_index_get</a></span><span class="p">(</span><span class="n">index</span><span class="p">,</span> <span class="n">i</span><span class="p">);</span>
<span class="n">oid</span> <span class="o">=</span> <span class="n">e</span><span class="o">-&gt;</span><span class="n">oid</span><span class="p">;</span>
- <span class="n"><a name="git_oid_fmt-8" class="fnlink" href="../../#v0.15.0/group/oid/git_oid_fmt">git_oid_fmt</a></span><span class="p">(</span><span class="n">out</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span>
+ <span class="n"><a name="git_oid_fmt-4" class="fnlink" href="../../#v0.15.0/group/oid/git_oid_fmt">git_oid_fmt</a></span><span class="p">(</span><span class="n">out</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span>
<span class="n">printf</span><span class="p">(</span><span class="s">&quot;File Path: %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">e</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">);</span>
<span class="n">printf</span><span class="p">(</span><span class="s">&quot; Blob SHA: %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">out</span><span class="p">);</span>
@@ -77,9 +77,9 @@
<span class="n">printf</span><span class="p">(</span><span class="s">&quot;</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">);</span>
<span class="p">}</span>
- <span class="n"><a name="git_index_free-1" class="fnlink" href="../../#v0.15.0/group/index/git_index_free">git_index_free</a></span><span class="p">(</span><span class="n">index</span><span class="p">);</span>
+ <span class="n"><a name="git_index_free-5" class="fnlink" href="../../#v0.15.0/group/index/git_index_free">git_index_free</a></span><span class="p">(</span><span class="n">index</span><span class="p">);</span>
- <span class="n"><a name="git_repository_free-7" class="fnlink" href="../../#v0.15.0/group/repository/git_repository_free">git_repository_free</a></span><span class="p">(</span><span class="n">repo</span><span class="p">);</span>
+ <span class="n"><a name="git_repository_free-3" class="fnlink" href="../../#v0.15.0/group/repository/git_repository_free">git_repository_free</a></span><span class="p">(</span><span class="n">repo</span><span class="p">);</span>
<span class="p">}</span></pre></div>
</td>
</tr>
diff --git a/ex/v0.16.0/fetch.html b/ex/v0.16.0/fetch.html
index cca37b2b3..f1436fbef 100644
--- a/ex/v0.16.0/fetch.html
+++ b/ex/v0.16.0/fetch.html
@@ -68,13 +68,13 @@
<a class="pilcrow" href="#section-2">&#182;</a>
</div>
<p>The name of the packfile is given by it&rsquo;s hash which you can get
-with <a name="git_indexer_hash-4" class="fnlink" href="../../#v0.16.0/group/indexer/git_indexer_hash">git_indexer_hash</a> after the index has been written out to
+with <a name="git_indexer_hash-10" class="fnlink" href="../../#v0.16.0/group/indexer/git_indexer_hash">git_indexer_hash</a> after the index has been written out to
disk. Rename the packfile to its &ldquo;real&rdquo; name in the same
directory as it was originally (libgit2 stores it in the folder
where the packs go, so a rename in place is the right thing to do here</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_oid_fmt-12" class="fnlink" href="../../#v0.16.0/group/oid/git_oid_fmt">git_oid_fmt</a></span><span class="p">(</span><span class="n">oid</span><span class="p">,</span> <span class="n"><a name="git_indexer_hash-5" class="fnlink" href="../../#v0.16.0/group/indexer/git_indexer_hash">git_indexer_hash</a></span><span class="p">(</span><span class="n">idx</span><span class="p">));</span>
+ <div class='highlight'><pre> <span class="n"><a name="git_oid_fmt-6" class="fnlink" href="../../#v0.16.0/group/oid/git_oid_fmt">git_oid_fmt</a></span><span class="p">(</span><span class="n">oid</span><span class="p">,</span> <span class="n"><a name="git_indexer_hash-11" class="fnlink" href="../../#v0.16.0/group/indexer/git_indexer_hash">git_indexer_hash</a></span><span class="p">(</span><span class="n">idx</span><span class="p">));</span>
<span class="n">ret</span> <span class="o">=</span> <span class="n">sprintf</span><span class="p">(</span><span class="n">slash</span> <span class="o">+</span> <span class="mi">1</span><span class="p">,</span> <span class="s">&quot;pack-%s.pack&quot;</span><span class="p">,</span> <span class="n">oid</span><span class="p">);</span>
<span class="k">if</span><span class="p">(</span><span class="n">ret</span> <span class="o">&lt;</span> <span class="mi">0</span><span class="p">)</span>
<span class="k">return</span> <span class="n">GIT_EOSERR</span><span class="p">;</span>
@@ -101,11 +101,11 @@ where the packs go, so a rename in place is the right thing to do here</p>
</td>
<td class=code>
<div class='highlight'><pre> <span class="n">printf</span><span class="p">(</span><span class="s">&quot;Fetching %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">argv</span><span class="p">[</span><span class="mi">1</span><span class="p">]);</span>
- <span class="n">error</span> <span class="o">=</span> <span class="n"><a name="git_remote_new-7" class="fnlink" href="../../#v0.16.0/group/remote/git_remote_new">git_remote_new</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">remote</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="n">argv</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span> <span class="nb">NULL</span><span class="p">);</span>
+ <span class="n">error</span> <span class="o">=</span> <span class="n"><a name="git_remote_new-1" class="fnlink" href="../../#v0.16.0/group/remote/git_remote_new">git_remote_new</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">remote</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="n">argv</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span> <span class="nb">NULL</span><span class="p">);</span>
<span class="k">if</span> <span class="p">(</span><span class="n">error</span> <span class="o">&lt;</span> <span class="n">GIT_SUCCESS</span><span class="p">)</span>
<span class="k">return</span> <span class="n">error</span><span class="p">;</span>
- <span class="n">error</span> <span class="o">=</span> <span class="n"><a name="git_remote_connect-8" class="fnlink" href="../../#v0.16.0/group/remote/git_remote_connect">git_remote_connect</a></span><span class="p">(</span><span class="n">remote</span><span class="p">,</span> <span class="n">GIT_DIR_FETCH</span><span class="p">);</span>
+ <span class="n">error</span> <span class="o">=</span> <span class="n"><a name="git_remote_connect-2" class="fnlink" href="../../#v0.16.0/group/remote/git_remote_connect">git_remote_connect</a></span><span class="p">(</span><span class="n">remote</span><span class="p">,</span> <span class="n">GIT_DIR_FETCH</span><span class="p">);</span>
<span class="k">if</span> <span class="p">(</span><span class="n">error</span> <span class="o">&lt;</span> <span class="n">GIT_SUCCESS</span><span class="p">)</span>
<span class="k">return</span> <span class="n">error</span><span class="p">;</span></pre></div>
</td>
@@ -119,7 +119,7 @@ where the packs go, so a rename in place is the right thing to do here</p>
yet, it will get a temporary filename</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n">error</span> <span class="o">=</span> <span class="n"><a name="git_remote_download-9" class="fnlink" href="../../#v0.16.0/group/remote/git_remote_download">git_remote_download</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">packname</span><span class="p">,</span> <span class="n">remote</span><span class="p">);</span>
+ <div class='highlight'><pre> <span class="n">error</span> <span class="o">=</span> <span class="n"><a name="git_remote_download-3" class="fnlink" href="../../#v0.16.0/group/remote/git_remote_download">git_remote_download</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">packname</span><span class="p">,</span> <span class="n">remote</span><span class="p">);</span>
<span class="k">if</span> <span class="p">(</span><span class="n">error</span> <span class="o">&lt;</span> <span class="n">GIT_SUCCESS</span><span class="p">)</span>
<span class="k">return</span> <span class="n">error</span><span class="p">;</span></pre></div>
</td>
@@ -144,7 +144,7 @@ yet, it will get a temporary filename</p>
<p>Create a new instance indexer</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n">error</span> <span class="o">=</span> <span class="n"><a name="git_indexer_new-1" class="fnlink" href="../../#v0.16.0/group/indexer/git_indexer_new">git_indexer_new</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">idx</span><span class="p">,</span> <span class="n">packname</span><span class="p">);</span>
+ <div class='highlight'><pre> <span class="n">error</span> <span class="o">=</span> <span class="n"><a name="git_indexer_new-7" class="fnlink" href="../../#v0.16.0/group/indexer/git_indexer_new">git_indexer_new</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">idx</span><span class="p">,</span> <span class="n">packname</span><span class="p">);</span>
<span class="k">if</span> <span class="p">(</span><span class="n">error</span> <span class="o">&lt;</span> <span class="n">GIT_SUCCESS</span><span class="p">)</span>
<span class="k">return</span> <span class="n">error</span><span class="p">;</span></pre></div>
</td>
@@ -157,7 +157,7 @@ yet, it will get a temporary filename</p>
<p>This should be run in paralel, but it&rsquo;d be too complicated for the example</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n">error</span> <span class="o">=</span> <span class="n"><a name="git_indexer_run-2" class="fnlink" href="../../#v0.16.0/group/indexer/git_indexer_run">git_indexer_run</a></span><span class="p">(</span><span class="n">idx</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">stats</span><span class="p">);</span>
+ <div class='highlight'><pre> <span class="n">error</span> <span class="o">=</span> <span class="n"><a name="git_indexer_run-8" class="fnlink" href="../../#v0.16.0/group/indexer/git_indexer_run">git_indexer_run</a></span><span class="p">(</span><span class="n">idx</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">stats</span><span class="p">);</span>
<span class="k">if</span> <span class="p">(</span><span class="n">error</span> <span class="o">&lt;</span> <span class="n">GIT_SUCCESS</span><span class="p">)</span>
<span class="k">return</span> <span class="n">error</span><span class="p">;</span>
@@ -173,7 +173,7 @@ yet, it will get a temporary filename</p>
correct filename</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n">error</span> <span class="o">=</span> <span class="n"><a name="git_indexer_write-3" class="fnlink" href="../../#v0.16.0/group/indexer/git_indexer_write">git_indexer_write</a></span><span class="p">(</span><span class="n">idx</span><span class="p">);</span>
+ <div class='highlight'><pre> <span class="n">error</span> <span class="o">=</span> <span class="n"><a name="git_indexer_write-9" class="fnlink" href="../../#v0.16.0/group/indexer/git_indexer_write">git_indexer_write</a></span><span class="p">(</span><span class="n">idx</span><span class="p">);</span>
<span class="k">if</span> <span class="p">(</span><span class="n">error</span> <span class="o">&lt;</span> <span class="n">GIT_SUCCESS</span><span class="p">)</span>
<span class="k">return</span> <span class="n">error</span><span class="p">;</span>
@@ -195,13 +195,13 @@ changed but all the neede objects are available locally.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n">error</span> <span class="o">=</span> <span class="n"><a name="git_remote_update_tips-11" class="fnlink" href="../../#v0.16.0/group/remote/git_remote_update_tips">git_remote_update_tips</a></span><span class="p">(</span><span class="n">remote</span><span class="p">);</span>
+ <div class='highlight'><pre> <span class="n">error</span> <span class="o">=</span> <span class="n"><a name="git_remote_update_tips-5" class="fnlink" href="../../#v0.16.0/group/remote/git_remote_update_tips">git_remote_update_tips</a></span><span class="p">(</span><span class="n">remote</span><span class="p">);</span>
<span class="k">if</span> <span class="p">(</span><span class="n">error</span> <span class="o">&lt;</span> <span class="n">GIT_SUCCESS</span><span class="p">)</span>
<span class="k">return</span> <span class="n">error</span><span class="p">;</span>
<span class="n">free</span><span class="p">(</span><span class="n">packname</span><span class="p">);</span>
- <span class="n"><a name="git_indexer_free-6" class="fnlink" href="../../#v0.16.0/group/indexer/git_indexer_free">git_indexer_free</a></span><span class="p">(</span><span class="n">idx</span><span class="p">);</span>
- <span class="n"><a name="git_remote_free-10" class="fnlink" href="../../#v0.16.0/group/remote/git_remote_free">git_remote_free</a></span><span class="p">(</span><span class="n">remote</span><span class="p">);</span>
+ <span class="n"><a name="git_indexer_free-12" class="fnlink" href="../../#v0.16.0/group/indexer/git_indexer_free">git_indexer_free</a></span><span class="p">(</span><span class="n">idx</span><span class="p">);</span>
+ <span class="n"><a name="git_remote_free-4" class="fnlink" href="../../#v0.16.0/group/remote/git_remote_free">git_remote_free</a></span><span class="p">(</span><span class="n">remote</span><span class="p">);</span>
<span class="k">return</span> <span class="n">GIT_SUCCESS</span><span class="p">;</span>
<span class="p">}</span></pre></div>
diff --git a/ex/v0.16.0/general.html b/ex/v0.16.0/general.html
index d79a8274a..d1d359a59 100644
--- a/ex/v0.16.0/general.html
+++ b/ex/v0.16.0/general.html
@@ -111,9 +111,9 @@ we are assuming they are in the normal places.</p>
<td class=code>
<div class='highlight'><pre> <span class="n">git_repository</span> <span class="o">*</span><span class="n">repo</span><span class="p">;</span>
<span class="k">if</span> <span class="p">(</span><span class="n">argc</span> <span class="o">&gt;</span> <span class="mi">1</span><span class="p">)</span> <span class="p">{</span>
- <span class="n"><a name="git_repository_open-13" class="fnlink" href="../../#v0.16.0/group/repository/git_repository_open">git_repository_open</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">repo</span><span class="p">,</span> <span class="n">argv</span><span class="p">[</span><span class="mi">1</span><span class="p">]);</span>
+ <span class="n"><a name="git_repository_open-21" class="fnlink" href="../../#v0.16.0/group/repository/git_repository_open">git_repository_open</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">repo</span><span class="p">,</span> <span class="n">argv</span><span class="p">[</span><span class="mi">1</span><span class="p">]);</span>
<span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
- <span class="n"><a name="git_repository_open-14" class="fnlink" href="../../#v0.16.0/group/repository/git_repository_open">git_repository_open</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">repo</span><span class="p">,</span> <span class="s">&quot;/opt/libgit2-test/.git&quot;</span><span class="p">);</span>
+ <span class="n"><a name="git_repository_open-22" class="fnlink" href="../../#v0.16.0/group/repository/git_repository_open">git_repository_open</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">repo</span><span class="p">,</span> <span class="s">&quot;/opt/libgit2-test/.git&quot;</span><span class="p">);</span>
<span class="p">}</span></pre></div>
</td>
</tr>
@@ -150,7 +150,7 @@ for storing the value of the current SHA key we&rsquo;re working with.</p>
</td>
<td class=code>
<div class='highlight'><pre> <span class="n">git_oid</span> <span class="n">oid</span><span class="p">;</span>
- <span class="n"><a name="git_oid_fromstr-55" class="fnlink" href="../../#v0.16.0/group/oid/git_oid_fromstr">git_oid_fromstr</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">oid</span><span class="p">,</span> <span class="n">hex</span><span class="p">);</span></pre></div>
+ <span class="n"><a name="git_oid_fromstr-31" class="fnlink" href="../../#v0.16.0/group/oid/git_oid_fromstr">git_oid_fromstr</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">oid</span><span class="p">,</span> <span class="n">hex</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-9'>
@@ -185,7 +185,7 @@ for storing the value of the current SHA key we&rsquo;re working with.</p>
<p>If you have a oid, you can easily get the hex value of the SHA as well.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_oid_fmt-63" class="fnlink" href="../../#v0.16.0/group/oid/git_oid_fmt">git_oid_fmt</a></span><span class="p">(</span><span class="n">out</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span>
+ <div class='highlight'><pre> <span class="n"><a name="git_oid_fmt-39" class="fnlink" href="../../#v0.16.0/group/oid/git_oid_fmt">git_oid_fmt</a></span><span class="p">(</span><span class="n">out</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span>
<span class="n">printf</span><span class="p">(</span><span class="s">&quot;SHA hex string: %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">out</span><span class="p">);</span></pre></div>
</td>
</tr>
@@ -203,7 +203,7 @@ repository.</p>
</td>
<td class=code>
<div class='highlight'><pre> <span class="n">git_odb</span> <span class="o">*</span><span class="n">odb</span><span class="p">;</span>
- <span class="n"><a name="git_repository_odb-16" class="fnlink" href="../../#v0.16.0/group/repository/git_repository_odb">git_repository_odb</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">odb</span><span class="p">,</span> <span class="n">repo</span><span class="p">);</span></pre></div>
+ <span class="n"><a name="git_repository_odb-24" class="fnlink" href="../../#v0.16.0/group/repository/git_repository_odb">git_repository_odb</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">odb</span><span class="p">,</span> <span class="n">repo</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-Raw_Object_Reading'>
@@ -232,7 +232,7 @@ of the object. This allows us to access objects without knowing thier type and
the raw bytes unparsed.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n">error</span> <span class="o">=</span> <span class="n"><a name="git_odb_read-49" class="fnlink" href="../../#v0.16.0/group/odb/git_odb_read">git_odb_read</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">obj</span><span class="p">,</span> <span class="n">odb</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span></pre></div>
+ <div class='highlight'><pre> <span class="n">error</span> <span class="o">=</span> <span class="n"><a name="git_odb_read-44" class="fnlink" href="../../#v0.16.0/group/odb/git_odb_read">git_odb_read</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">obj</span><span class="p">,</span> <span class="n">odb</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-15'>
@@ -247,8 +247,8 @@ text or binary data. For a tree it is a special binary format, so it&rsquo;s unl
hugely helpful as a raw object.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n">data</span> <span class="o">=</span> <span class="p">(</span><span class="k">const</span> <span class="kt">unsigned</span> <span class="kt">char</span> <span class="o">*</span><span class="p">)</span><span class="n"><a name="git_odb_object_data-52" class="fnlink" href="../../#v0.16.0/group/odb/git_odb_object_data">git_odb_object_data</a></span><span class="p">(</span><span class="n">obj</span><span class="p">);</span>
- <span class="n">otype</span> <span class="o">=</span> <span class="n"><a name="git_odb_object_type-54" class="fnlink" href="../../#v0.16.0/group/odb/git_odb_object_type">git_odb_object_type</a></span><span class="p">(</span><span class="n">obj</span><span class="p">);</span></pre></div>
+ <div class='highlight'><pre> <span class="n">data</span> <span class="o">=</span> <span class="p">(</span><span class="k">const</span> <span class="kt">unsigned</span> <span class="kt">char</span> <span class="o">*</span><span class="p">)</span><span class="n"><a name="git_odb_object_data-47" class="fnlink" href="../../#v0.16.0/group/odb/git_odb_object_data">git_odb_object_data</a></span><span class="p">(</span><span class="n">obj</span><span class="p">);</span>
+ <span class="n">otype</span> <span class="o">=</span> <span class="n"><a name="git_odb_object_type-49" class="fnlink" href="../../#v0.16.0/group/odb/git_odb_object_type">git_odb_object_type</a></span><span class="p">(</span><span class="n">obj</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-16'>
@@ -260,9 +260,9 @@ hugely helpful as a raw object.</p>
representation of that value (and vice-versa).</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n">str_type</span> <span class="o">=</span> <span class="n"><a name="git_object_type2string-74" class="fnlink" href="../../#v0.16.0/group/object/git_object_type2string">git_object_type2string</a></span><span class="p">(</span><span class="n">otype</span><span class="p">);</span>
+ <div class='highlight'><pre> <span class="n">str_type</span> <span class="o">=</span> <span class="n"><a name="git_object_type2string-51" class="fnlink" href="../../#v0.16.0/group/object/git_object_type2string">git_object_type2string</a></span><span class="p">(</span><span class="n">otype</span><span class="p">);</span>
<span class="n">printf</span><span class="p">(</span><span class="s">&quot;object length and type: %d, %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span>
- <span class="p">(</span><span class="kt">int</span><span class="p">)</span><span class="n"><a name="git_odb_object_size-53" class="fnlink" href="../../#v0.16.0/group/odb/git_odb_object_size">git_odb_object_size</a></span><span class="p">(</span><span class="n">obj</span><span class="p">),</span>
+ <span class="p">(</span><span class="kt">int</span><span class="p">)</span><span class="n"><a name="git_odb_object_size-48" class="fnlink" href="../../#v0.16.0/group/odb/git_odb_object_size">git_odb_object_size</a></span><span class="p">(</span><span class="n">obj</span><span class="p">),</span>
<span class="n">str_type</span><span class="p">);</span></pre></div>
</td>
</tr>
@@ -275,7 +275,7 @@ representation of that value (and vice-versa).</p>
memory.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_odb_object_free-51" class="fnlink" href="../../#v0.16.0/group/odb/git_odb_object_free">git_odb_object_free</a></span><span class="p">(</span><span class="n">obj</span><span class="p">);</span></pre></div>
+ <div class='highlight'><pre> <span class="n"><a name="git_odb_object_free-46" class="fnlink" href="../../#v0.16.0/group/odb/git_odb_object_free">git_odb_object_free</a></span><span class="p">(</span><span class="n">obj</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-Raw_Object_Writing'>
@@ -300,7 +300,7 @@ that just contains a simple string. Notice that we have to specify the object t
the <code>git_otype</code> enum.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_odb_write-50" class="fnlink" href="../../#v0.16.0/group/odb/git_odb_write">git_odb_write</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">oid</span><span class="p">,</span> <span class="n">odb</span><span class="p">,</span> <span class="s">&quot;test data&quot;</span><span class="p">,</span> <span class="k">sizeof</span><span class="p">(</span><span class="s">&quot;test data&quot;</span><span class="p">)</span> <span class="o">-</span> <span class="mi">1</span><span class="p">,</span> <span class="n">GIT_OBJ_BLOB</span><span class="p">);</span></pre></div>
+ <div class='highlight'><pre> <span class="n"><a name="git_odb_write-45" class="fnlink" href="../../#v0.16.0/group/odb/git_odb_write">git_odb_write</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">oid</span><span class="p">,</span> <span class="n">odb</span><span class="p">,</span> <span class="s">&quot;test data&quot;</span><span class="p">,</span> <span class="k">sizeof</span><span class="p">(</span><span class="s">&quot;test data&quot;</span><span class="p">)</span> <span class="o">-</span> <span class="mi">1</span><span class="p">,</span> <span class="n">GIT_OBJ_BLOB</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-20'>
@@ -312,7 +312,7 @@ the <code>git_otype</code> enum.</p>
object was written to our database.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_oid_fmt-64" class="fnlink" href="../../#v0.16.0/group/oid/git_oid_fmt">git_oid_fmt</a></span><span class="p">(</span><span class="n">out</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span>
+ <div class='highlight'><pre> <span class="n"><a name="git_oid_fmt-40" class="fnlink" href="../../#v0.16.0/group/oid/git_oid_fmt">git_oid_fmt</a></span><span class="p">(</span><span class="n">out</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span>
<span class="n">printf</span><span class="p">(</span><span class="s">&quot;Written Object: %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">out</span><span class="p">);</span></pre></div>
</td>
</tr>
@@ -345,9 +345,9 @@ yourself.</p>
<div class='highlight'><pre> <span class="n">printf</span><span class="p">(</span><span class="s">&quot;</span><span class="se">\n</span><span class="s">*Commit Parsing*</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">);</span>
<span class="n">git_commit</span> <span class="o">*</span><span class="n">commit</span><span class="p">;</span>
- <span class="n"><a name="git_oid_fromstr-56" class="fnlink" href="../../#v0.16.0/group/oid/git_oid_fromstr">git_oid_fromstr</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">oid</span><span class="p">,</span> <span class="s">&quot;f0877d0b841d75172ec404fc9370173dfffc20d1&quot;</span><span class="p">);</span>
+ <span class="n"><a name="git_oid_fromstr-32" class="fnlink" href="../../#v0.16.0/group/oid/git_oid_fromstr">git_oid_fromstr</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">oid</span><span class="p">,</span> <span class="s">&quot;f0877d0b841d75172ec404fc9370173dfffc20d1&quot;</span><span class="p">);</span>
- <span class="n">error</span> <span class="o">=</span> <span class="n"><a name="git_commit_lookup-23" class="fnlink" href="../../#v0.16.0/group/commit/git_commit_lookup">git_commit_lookup</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">commit</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span>
+ <span class="n">error</span> <span class="o">=</span> <span class="n"><a name="git_commit_lookup-58" class="fnlink" href="../../#v0.16.0/group/commit/git_commit_lookup">git_commit_lookup</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">commit</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span>
<span class="k">const</span> <span class="n">git_signature</span> <span class="o">*</span><span class="n">author</span><span class="p">,</span> <span class="o">*</span><span class="n">cmtter</span><span class="p">;</span>
<span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">message</span><span class="p">;</span>
@@ -361,14 +361,14 @@ yourself.</p>
<a class="pilcrow" href="#section-23">&#182;</a>
</div>
<p>Each of the properties of the commit object are accessible via methods, including commonly
-needed variations, such as <code><a name="git_commit_time-33" class="fnlink" href="../../#v0.16.0/group/commit/git_commit_time">git_commit_time</a></code> which returns the author time and <code>_message</code>
+needed variations, such as <code><a name="git_commit_time-68" class="fnlink" href="../../#v0.16.0/group/commit/git_commit_time">git_commit_time</a></code> which returns the author time and <code>_message</code>
which gives you the commit message.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n">message</span> <span class="o">=</span> <span class="n"><a name="git_commit_message-31" class="fnlink" href="../../#v0.16.0/group/commit/git_commit_message">git_commit_message</a></span><span class="p">(</span><span class="n">commit</span><span class="p">);</span>
- <span class="n">author</span> <span class="o">=</span> <span class="n"><a name="git_commit_author-36" class="fnlink" href="../../#v0.16.0/group/commit/git_commit_author">git_commit_author</a></span><span class="p">(</span><span class="n">commit</span><span class="p">);</span>
- <span class="n">cmtter</span> <span class="o">=</span> <span class="n"><a name="git_commit_committer-35" class="fnlink" href="../../#v0.16.0/group/commit/git_commit_committer">git_commit_committer</a></span><span class="p">(</span><span class="n">commit</span><span class="p">);</span>
- <span class="n">ctime</span> <span class="o">=</span> <span class="n"><a name="git_commit_time-34" class="fnlink" href="../../#v0.16.0/group/commit/git_commit_time">git_commit_time</a></span><span class="p">(</span><span class="n">commit</span><span class="p">);</span></pre></div>
+ <div class='highlight'><pre> <span class="n">message</span> <span class="o">=</span> <span class="n"><a name="git_commit_message-66" class="fnlink" href="../../#v0.16.0/group/commit/git_commit_message">git_commit_message</a></span><span class="p">(</span><span class="n">commit</span><span class="p">);</span>
+ <span class="n">author</span> <span class="o">=</span> <span class="n"><a name="git_commit_author-71" class="fnlink" href="../../#v0.16.0/group/commit/git_commit_author">git_commit_author</a></span><span class="p">(</span><span class="n">commit</span><span class="p">);</span>
+ <span class="n">cmtter</span> <span class="o">=</span> <span class="n"><a name="git_commit_committer-70" class="fnlink" href="../../#v0.16.0/group/commit/git_commit_committer">git_commit_committer</a></span><span class="p">(</span><span class="n">commit</span><span class="p">);</span>
+ <span class="n">ctime</span> <span class="o">=</span> <span class="n"><a name="git_commit_time-69" class="fnlink" href="../../#v0.16.0/group/commit/git_commit_time">git_commit_time</a></span><span class="p">(</span><span class="n">commit</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-24'>
@@ -393,13 +393,13 @@ will have one, which is the commit it was based on, and merge commits will have
Commits can technically have any number, though it&rsquo;s pretty rare to have more than two.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n">parents</span> <span class="o">=</span> <span class="n"><a name="git_commit_parentcount-38" class="fnlink" href="../../#v0.16.0/group/commit/git_commit_parentcount">git_commit_parentcount</a></span><span class="p">(</span><span class="n">commit</span><span class="p">);</span>
+ <div class='highlight'><pre> <span class="n">parents</span> <span class="o">=</span> <span class="n"><a name="git_commit_parentcount-73" class="fnlink" href="../../#v0.16.0/group/commit/git_commit_parentcount">git_commit_parentcount</a></span><span class="p">(</span><span class="n">commit</span><span class="p">);</span>
<span class="k">for</span> <span class="p">(</span><span class="n">p</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span><span class="n">p</span> <span class="o">&lt;</span> <span class="n">parents</span><span class="p">;</span><span class="n">p</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
<span class="n">git_commit</span> <span class="o">*</span><span class="n">parent</span><span class="p">;</span>
- <span class="n"><a name="git_commit_parent-39" class="fnlink" href="../../#v0.16.0/group/commit/git_commit_parent">git_commit_parent</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">parent</span><span class="p">,</span> <span class="n">commit</span><span class="p">,</span> <span class="n">p</span><span class="p">);</span>
- <span class="n"><a name="git_oid_fmt-65" class="fnlink" href="../../#v0.16.0/group/oid/git_oid_fmt">git_oid_fmt</a></span><span class="p">(</span><span class="n">out</span><span class="p">,</span> <span class="n"><a name="git_commit_id-30" class="fnlink" href="../../#v0.16.0/group/commit/git_commit_id">git_commit_id</a></span><span class="p">(</span><span class="n">parent</span><span class="p">));</span>
+ <span class="n"><a name="git_commit_parent-74" class="fnlink" href="../../#v0.16.0/group/commit/git_commit_parent">git_commit_parent</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">parent</span><span class="p">,</span> <span class="n">commit</span><span class="p">,</span> <span class="n">p</span><span class="p">);</span>
+ <span class="n"><a name="git_oid_fmt-41" class="fnlink" href="../../#v0.16.0/group/oid/git_oid_fmt">git_oid_fmt</a></span><span class="p">(</span><span class="n">out</span><span class="p">,</span> <span class="n"><a name="git_commit_id-65" class="fnlink" href="../../#v0.16.0/group/commit/git_commit_id">git_commit_id</a></span><span class="p">(</span><span class="n">parent</span><span class="p">));</span>
<span class="n">printf</span><span class="p">(</span><span class="s">&quot;Parent: %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">out</span><span class="p">);</span>
- <span class="n"><a name="git_commit_free-26" class="fnlink" href="../../#v0.16.0/group/commit/git_commit_free">git_commit_free</a></span><span class="p">(</span><span class="n">parent</span><span class="p">);</span>
+ <span class="n"><a name="git_commit_free-61" class="fnlink" href="../../#v0.16.0/group/commit/git_commit_free">git_commit_free</a></span><span class="p">(</span><span class="n">parent</span><span class="p">);</span>
<span class="p">}</span></pre></div>
</td>
</tr>
@@ -412,7 +412,7 @@ Commits can technically have any number, though it&rsquo;s pretty rare to have m
all the objects you open and parse.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_commit_free-27" class="fnlink" href="../../#v0.16.0/group/commit/git_commit_free">git_commit_free</a></span><span class="p">(</span><span class="n">commit</span><span class="p">);</span></pre></div>
+ <div class='highlight'><pre> <span class="n"><a name="git_commit_free-62" class="fnlink" href="../../#v0.16.0/group/commit/git_commit_free">git_commit_free</a></span><span class="p">(</span><span class="n">commit</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-Writing_Commits'>
@@ -444,9 +444,9 @@ and email should be found in the <code>user.name</code> and <code>user.email</co
section of this example file to see how to access config values.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_signature_new-1" class="fnlink" href="../../#v0.16.0/group/signature/git_signature_new">git_signature_new</a></span><span class="p">((</span><span class="n">git_signature</span> <span class="o">**</span><span class="p">)</span><span class="o">&amp;</span><span class="n">author</span><span class="p">,</span> <span class="s">&quot;Scott Chacon&quot;</span><span class="p">,</span> <span class="s">&quot;schacon@gmail.com&quot;</span><span class="p">,</span>
+ <div class='highlight'><pre> <span class="n"><a name="git_signature_new-14" class="fnlink" href="../../#v0.16.0/group/signature/git_signature_new">git_signature_new</a></span><span class="p">((</span><span class="n">git_signature</span> <span class="o">**</span><span class="p">)</span><span class="o">&amp;</span><span class="n">author</span><span class="p">,</span> <span class="s">&quot;Scott Chacon&quot;</span><span class="p">,</span> <span class="s">&quot;schacon@gmail.com&quot;</span><span class="p">,</span>
<span class="mi">123456789</span><span class="p">,</span> <span class="mi">60</span><span class="p">);</span>
- <span class="n"><a name="git_signature_new-2" class="fnlink" href="../../#v0.16.0/group/signature/git_signature_new">git_signature_new</a></span><span class="p">((</span><span class="n">git_signature</span> <span class="o">**</span><span class="p">)</span><span class="o">&amp;</span><span class="n">cmtter</span><span class="p">,</span> <span class="s">&quot;Scott A Chacon&quot;</span><span class="p">,</span> <span class="s">&quot;scott@github.com&quot;</span><span class="p">,</span>
+ <span class="n"><a name="git_signature_new-15" class="fnlink" href="../../#v0.16.0/group/signature/git_signature_new">git_signature_new</a></span><span class="p">((</span><span class="n">git_signature</span> <span class="o">**</span><span class="p">)</span><span class="o">&amp;</span><span class="n">cmtter</span><span class="p">,</span> <span class="s">&quot;Scott A Chacon&quot;</span><span class="p">,</span> <span class="s">&quot;scott@github.com&quot;</span><span class="p">,</span>
<span class="mi">987654321</span><span class="p">,</span> <span class="mi">90</span><span class="p">);</span></pre></div>
</td>
</tr>
@@ -459,10 +459,10 @@ section of this example file to see how to access config values.</p>
objects to create the commit with, but you can also use</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_oid_fromstr-57" class="fnlink" href="../../#v0.16.0/group/oid/git_oid_fromstr">git_oid_fromstr</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">tree_id</span><span class="p">,</span> <span class="s">&quot;28873d96b4e8f4e33ea30f4c682fd325f7ba56ac&quot;</span><span class="p">);</span>
- <span class="n"><a name="git_tree_lookup-41" class="fnlink" href="../../#v0.16.0/group/tree/git_tree_lookup">git_tree_lookup</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">tree</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">tree_id</span><span class="p">);</span>
- <span class="n"><a name="git_oid_fromstr-58" class="fnlink" href="../../#v0.16.0/group/oid/git_oid_fromstr">git_oid_fromstr</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">parent_id</span><span class="p">,</span> <span class="s">&quot;f0877d0b841d75172ec404fc9370173dfffc20d1&quot;</span><span class="p">);</span>
- <span class="n"><a name="git_commit_lookup-24" class="fnlink" href="../../#v0.16.0/group/commit/git_commit_lookup">git_commit_lookup</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">parent</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">parent_id</span><span class="p">);</span></pre></div>
+ <div class='highlight'><pre> <span class="n"><a name="git_oid_fromstr-33" class="fnlink" href="../../#v0.16.0/group/oid/git_oid_fromstr">git_oid_fromstr</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">tree_id</span><span class="p">,</span> <span class="s">&quot;28873d96b4e8f4e33ea30f4c682fd325f7ba56ac&quot;</span><span class="p">);</span>
+ <span class="n"><a name="git_tree_lookup-1" class="fnlink" href="../../#v0.16.0/group/tree/git_tree_lookup">git_tree_lookup</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">tree</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">tree_id</span><span class="p">);</span>
+ <span class="n"><a name="git_oid_fromstr-34" class="fnlink" href="../../#v0.16.0/group/oid/git_oid_fromstr">git_oid_fromstr</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">parent_id</span><span class="p">,</span> <span class="s">&quot;f0877d0b841d75172ec404fc9370173dfffc20d1&quot;</span><span class="p">);</span>
+ <span class="n"><a name="git_commit_lookup-59" class="fnlink" href="../../#v0.16.0/group/commit/git_commit_lookup">git_commit_lookup</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">parent</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">parent_id</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-30'>
@@ -474,7 +474,7 @@ objects to create the commit with, but you can also use</p>
the commit. The SHA key is written to the <code>commit_id</code> variable here.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_commit_create_v-40" class="fnlink" href="../../#v0.16.0/group/commit/git_commit_create_v">git_commit_create_v</a></span><span class="p">(</span>
+ <div class='highlight'><pre> <span class="n"><a name="git_commit_create_v-75" class="fnlink" href="../../#v0.16.0/group/commit/git_commit_create_v">git_commit_create_v</a></span><span class="p">(</span>
<span class="o">&amp;</span><span class="n">commit_id</span><span class="p">,</span> <span class="cm">/* out id */</span>
<span class="n">repo</span><span class="p">,</span>
<span class="nb">NULL</span><span class="p">,</span> <span class="cm">/* do not update the HEAD */</span>
@@ -494,7 +494,7 @@ the commit. The SHA key is written to the <code>commit_id</code> variable here.
<p>Now we can take a look at the commit SHA we&rsquo;ve generated.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_oid_fmt-66" class="fnlink" href="../../#v0.16.0/group/oid/git_oid_fmt">git_oid_fmt</a></span><span class="p">(</span><span class="n">out</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">commit_id</span><span class="p">);</span>
+ <div class='highlight'><pre> <span class="n"><a name="git_oid_fmt-42" class="fnlink" href="../../#v0.16.0/group/oid/git_oid_fmt">git_oid_fmt</a></span><span class="p">(</span><span class="n">out</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">commit_id</span><span class="p">);</span>
<span class="n">printf</span><span class="p">(</span><span class="s">&quot;New Commit: %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">out</span><span class="p">);</span></pre></div>
</td>
</tr>
@@ -524,9 +524,9 @@ to the commit lookup, parsing and creation methods, since the objects themselves
way that we would a commit (or any other) object.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_oid_fromstr-59" class="fnlink" href="../../#v0.16.0/group/oid/git_oid_fromstr">git_oid_fromstr</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">oid</span><span class="p">,</span> <span class="s">&quot;bc422d45275aca289c51d79830b45cecebff7c3a&quot;</span><span class="p">);</span>
+ <div class='highlight'><pre> <span class="n"><a name="git_oid_fromstr-35" class="fnlink" href="../../#v0.16.0/group/oid/git_oid_fromstr">git_oid_fromstr</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">oid</span><span class="p">,</span> <span class="s">&quot;bc422d45275aca289c51d79830b45cecebff7c3a&quot;</span><span class="p">);</span>
- <span class="n">error</span> <span class="o">=</span> <span class="n"><a name="git_tag_lookup-18" class="fnlink" href="../../#v0.16.0/group/tag/git_tag_lookup">git_tag_lookup</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">tag</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span></pre></div>
+ <span class="n">error</span> <span class="o">=</span> <span class="n"><a name="git_tag_lookup-9" class="fnlink" href="../../#v0.16.0/group/tag/git_tag_lookup">git_tag_lookup</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">tag</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-34'>
@@ -539,13 +539,13 @@ way that we would a commit (or any other) object.</p>
the tagger (a git_signature &ndash; name, email, timestamp), and the tag message.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_tag_target-19" class="fnlink" href="../../#v0.16.0/group/tag/git_tag_target">git_tag_target</a></span><span class="p">((</span><span class="n">git_object</span> <span class="o">**</span><span class="p">)</span><span class="o">&amp;</span><span class="n">commit</span><span class="p">,</span> <span class="n">tag</span><span class="p">);</span>
- <span class="n">tname</span> <span class="o">=</span> <span class="n"><a name="git_tag_name-21" class="fnlink" href="../../#v0.16.0/group/tag/git_tag_name">git_tag_name</a></span><span class="p">(</span><span class="n">tag</span><span class="p">);</span> <span class="c1">// &quot;test&quot;</span>
- <span class="n">ttype</span> <span class="o">=</span> <span class="n"><a name="git_tag_type-20" class="fnlink" href="../../#v0.16.0/group/tag/git_tag_type">git_tag_type</a></span><span class="p">(</span><span class="n">tag</span><span class="p">);</span> <span class="c1">// GIT_OBJ_COMMIT (otype enum)</span>
- <span class="n">tmessage</span> <span class="o">=</span> <span class="n"><a name="git_tag_message-22" class="fnlink" href="../../#v0.16.0/group/tag/git_tag_message">git_tag_message</a></span><span class="p">(</span><span class="n">tag</span><span class="p">);</span> <span class="c1">// &quot;tag message\n&quot;</span>
+ <div class='highlight'><pre> <span class="n"><a name="git_tag_target-10" class="fnlink" href="../../#v0.16.0/group/tag/git_tag_target">git_tag_target</a></span><span class="p">((</span><span class="n">git_object</span> <span class="o">**</span><span class="p">)</span><span class="o">&amp;</span><span class="n">commit</span><span class="p">,</span> <span class="n">tag</span><span class="p">);</span>
+ <span class="n">tname</span> <span class="o">=</span> <span class="n"><a name="git_tag_name-12" class="fnlink" href="../../#v0.16.0/group/tag/git_tag_name">git_tag_name</a></span><span class="p">(</span><span class="n">tag</span><span class="p">);</span> <span class="c1">// &quot;test&quot;</span>
+ <span class="n">ttype</span> <span class="o">=</span> <span class="n"><a name="git_tag_type-11" class="fnlink" href="../../#v0.16.0/group/tag/git_tag_type">git_tag_type</a></span><span class="p">(</span><span class="n">tag</span><span class="p">);</span> <span class="c1">// GIT_OBJ_COMMIT (otype enum)</span>
+ <span class="n">tmessage</span> <span class="o">=</span> <span class="n"><a name="git_tag_message-13" class="fnlink" href="../../#v0.16.0/group/tag/git_tag_message">git_tag_message</a></span><span class="p">(</span><span class="n">tag</span><span class="p">);</span> <span class="c1">// &quot;tag message\n&quot;</span>
<span class="n">printf</span><span class="p">(</span><span class="s">&quot;Tag Message: %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">tmessage</span><span class="p">);</span>
- <span class="n"><a name="git_commit_free-28" class="fnlink" href="../../#v0.16.0/group/commit/git_commit_free">git_commit_free</a></span><span class="p">(</span><span class="n">commit</span><span class="p">);</span></pre></div>
+ <span class="n"><a name="git_commit_free-63" class="fnlink" href="../../#v0.16.0/group/commit/git_commit_free">git_commit_free</a></span><span class="p">(</span><span class="n">commit</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-Tree_Parsing'>
@@ -574,8 +574,8 @@ traversing tree entries.</p>
<p>Create the oid and lookup the tree object just like the other objects.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_oid_fromstr-60" class="fnlink" href="../../#v0.16.0/group/oid/git_oid_fromstr">git_oid_fromstr</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">oid</span><span class="p">,</span> <span class="s">&quot;2a741c18ac5ff082a7caaec6e74db3075a1906b5&quot;</span><span class="p">);</span>
- <span class="n"><a name="git_tree_lookup-42" class="fnlink" href="../../#v0.16.0/group/tree/git_tree_lookup">git_tree_lookup</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">tree</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span></pre></div>
+ <div class='highlight'><pre> <span class="n"><a name="git_oid_fromstr-36" class="fnlink" href="../../#v0.16.0/group/oid/git_oid_fromstr">git_oid_fromstr</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">oid</span><span class="p">,</span> <span class="s">&quot;2a741c18ac5ff082a7caaec6e74db3075a1906b5&quot;</span><span class="p">);</span>
+ <span class="n"><a name="git_tree_lookup-2" class="fnlink" href="../../#v0.16.0/group/tree/git_tree_lookup">git_tree_lookup</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">tree</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-37'>
@@ -586,11 +586,11 @@ traversing tree entries.</p>
<p>Getting the count of entries in the tree so you can iterate over them if you want to.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="kt">int</span> <span class="n">cnt</span> <span class="o">=</span> <span class="n"><a name="git_tree_entrycount-43" class="fnlink" href="../../#v0.16.0/group/tree/git_tree_entrycount">git_tree_entrycount</a></span><span class="p">(</span><span class="n">tree</span><span class="p">);</span> <span class="c1">// 3</span>
+ <div class='highlight'><pre> <span class="kt">int</span> <span class="n">cnt</span> <span class="o">=</span> <span class="n"><a name="git_tree_entrycount-3" class="fnlink" href="../../#v0.16.0/group/tree/git_tree_entrycount">git_tree_entrycount</a></span><span class="p">(</span><span class="n">tree</span><span class="p">);</span> <span class="c1">// 3</span>
<span class="n">printf</span><span class="p">(</span><span class="s">&quot;tree entries: %d</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">cnt</span><span class="p">);</span>
- <span class="n">entry</span> <span class="o">=</span> <span class="n"><a name="git_tree_entry_byindex-45" class="fnlink" href="../../#v0.16.0/group/tree/git_tree_entry_byindex">git_tree_entry_byindex</a></span><span class="p">(</span><span class="n">tree</span><span class="p">,</span> <span class="mi">0</span><span class="p">);</span>
- <span class="n">printf</span><span class="p">(</span><span class="s">&quot;Entry name: %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n"><a name="git_tree_entry_name-46" class="fnlink" href="../../#v0.16.0/group/tree/git_tree_entry_name">git_tree_entry_name</a></span><span class="p">(</span><span class="n">entry</span><span class="p">));</span> <span class="c1">// &quot;hello.c&quot;</span></pre></div>
+ <span class="n">entry</span> <span class="o">=</span> <span class="n"><a name="git_tree_entry_byindex-5" class="fnlink" href="../../#v0.16.0/group/tree/git_tree_entry_byindex">git_tree_entry_byindex</a></span><span class="p">(</span><span class="n">tree</span><span class="p">,</span> <span class="mi">0</span><span class="p">);</span>
+ <span class="n">printf</span><span class="p">(</span><span class="s">&quot;Entry name: %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n"><a name="git_tree_entry_name-6" class="fnlink" href="../../#v0.16.0/group/tree/git_tree_entry_name">git_tree_entry_name</a></span><span class="p">(</span><span class="n">entry</span><span class="p">));</span> <span class="c1">// &quot;hello.c&quot;</span></pre></div>
</td>
</tr>
<tr id='section-38'>
@@ -601,8 +601,8 @@ traversing tree entries.</p>
<p>You can also access tree entries by name if you know the name of the entry you&rsquo;re looking for.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n">entry</span> <span class="o">=</span> <span class="n"><a name="git_tree_entry_byname-44" class="fnlink" href="../../#v0.16.0/group/tree/git_tree_entry_byname">git_tree_entry_byname</a></span><span class="p">(</span><span class="n">tree</span><span class="p">,</span> <span class="s">&quot;hello.c&quot;</span><span class="p">);</span>
- <span class="n"><a name="git_tree_entry_name-47" class="fnlink" href="../../#v0.16.0/group/tree/git_tree_entry_name">git_tree_entry_name</a></span><span class="p">(</span><span class="n">entry</span><span class="p">);</span> <span class="c1">// &quot;hello.c&quot;</span></pre></div>
+ <div class='highlight'><pre> <span class="n">entry</span> <span class="o">=</span> <span class="n"><a name="git_tree_entry_byname-4" class="fnlink" href="../../#v0.16.0/group/tree/git_tree_entry_byname">git_tree_entry_byname</a></span><span class="p">(</span><span class="n">tree</span><span class="p">,</span> <span class="s">&quot;hello.c&quot;</span><span class="p">);</span>
+ <span class="n"><a name="git_tree_entry_name-7" class="fnlink" href="../../#v0.16.0/group/tree/git_tree_entry_name">git_tree_entry_name</a></span><span class="p">(</span><span class="n">entry</span><span class="p">);</span> <span class="c1">// &quot;hello.c&quot;</span></pre></div>
</td>
</tr>
<tr id='section-39'>
@@ -614,7 +614,7 @@ traversing tree entries.</p>
of submodules) that it points to. You can also get the mode if you want.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_tree_entry_2object-48" class="fnlink" href="../../#v0.16.0/group/tree/git_tree_entry_2object">git_tree_entry_2object</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">objt</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="n">entry</span><span class="p">);</span> <span class="c1">// blob</span></pre></div>
+ <div class='highlight'><pre> <span class="n"><a name="git_tree_entry_2object-8" class="fnlink" href="../../#v0.16.0/group/tree/git_tree_entry_2object">git_tree_entry_2object</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">objt</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="n">entry</span><span class="p">);</span> <span class="c1">// blob</span></pre></div>
</td>
</tr>
<tr id='section-40'>
@@ -625,7 +625,7 @@ of submodules) that it points to. You can also get the mode if you want.</p>
<p>Remember to close the looked-up object once you are done using it</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_object_free-73" class="fnlink" href="../../#v0.16.0/group/object/git_object_free">git_object_free</a></span><span class="p">(</span><span class="n">objt</span><span class="p">);</span></pre></div>
+ <div class='highlight'><pre> <span class="n"><a name="git_object_free-50" class="fnlink" href="../../#v0.16.0/group/object/git_object_free">git_object_free</a></span><span class="p">(</span><span class="n">objt</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-Blob_Parsing'>
@@ -645,8 +645,8 @@ getting the oid back so you don&rsquo;t have to do all those steps yourself.</p>
<div class='highlight'><pre> <span class="n">printf</span><span class="p">(</span><span class="s">&quot;</span><span class="se">\n</span><span class="s">*Blob Parsing*</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">);</span>
<span class="n">git_blob</span> <span class="o">*</span><span class="n">blob</span><span class="p">;</span>
- <span class="n"><a name="git_oid_fromstr-61" class="fnlink" href="../../#v0.16.0/group/oid/git_oid_fromstr">git_oid_fromstr</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">oid</span><span class="p">,</span> <span class="s">&quot;af7574ea73f7b166f869ef1a39be126d9a186ae0&quot;</span><span class="p">);</span>
- <span class="n"><a name="git_blob_lookup-6" class="fnlink" href="../../#v0.16.0/group/blob/git_blob_lookup">git_blob_lookup</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">blob</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span></pre></div>
+ <span class="n"><a name="git_oid_fromstr-37" class="fnlink" href="../../#v0.16.0/group/oid/git_oid_fromstr">git_oid_fromstr</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">oid</span><span class="p">,</span> <span class="s">&quot;af7574ea73f7b166f869ef1a39be126d9a186ae0&quot;</span><span class="p">);</span>
+ <span class="n"><a name="git_blob_lookup-76" class="fnlink" href="../../#v0.16.0/group/blob/git_blob_lookup">git_blob_lookup</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">blob</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-42'>
@@ -656,12 +656,12 @@ getting the oid back so you don&rsquo;t have to do all those steps yourself.</p>
</div>
<p>You can access a buffer with the raw contents of the blob directly.
Note that this buffer may not be contain ASCII data for certain blobs (e.g. binary files):
-do not consider the buffer a NULL-terminated string, and use the <code><a name="git_blob_rawsize-8" class="fnlink" href="../../#v0.16.0/group/blob/git_blob_rawsize">git_blob_rawsize</a></code> attribute to
+do not consider the buffer a NULL-terminated string, and use the <code><a name="git_blob_rawsize-78" class="fnlink" href="../../#v0.16.0/group/blob/git_blob_rawsize">git_blob_rawsize</a></code> attribute to
find out its exact size in bytes</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n">printf</span><span class="p">(</span><span class="s">&quot;Blob Size: %ld</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n"><a name="git_blob_rawsize-9" class="fnlink" href="../../#v0.16.0/group/blob/git_blob_rawsize">git_blob_rawsize</a></span><span class="p">(</span><span class="n">blob</span><span class="p">));</span> <span class="c1">// 8</span>
- <span class="n"><a name="git_blob_rawcontent-7" class="fnlink" href="../../#v0.16.0/group/blob/git_blob_rawcontent">git_blob_rawcontent</a></span><span class="p">(</span><span class="n">blob</span><span class="p">);</span> <span class="c1">// &quot;content&quot;</span></pre></div>
+ <div class='highlight'><pre> <span class="n">printf</span><span class="p">(</span><span class="s">&quot;Blob Size: %ld</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n"><a name="git_blob_rawsize-79" class="fnlink" href="../../#v0.16.0/group/blob/git_blob_rawsize">git_blob_rawsize</a></span><span class="p">(</span><span class="n">blob</span><span class="p">));</span> <span class="c1">// 8</span>
+ <span class="n"><a name="git_blob_rawcontent-77" class="fnlink" href="../../#v0.16.0/group/blob/git_blob_rawcontent">git_blob_rawcontent</a></span><span class="p">(</span><span class="n">blob</span><span class="p">);</span> <span class="c1">// &quot;content&quot;</span></pre></div>
</td>
</tr>
<tr id='section-Revwalking'>
@@ -682,7 +682,7 @@ type functionality.</p>
<span class="n">git_revwalk</span> <span class="o">*</span><span class="n">walk</span><span class="p">;</span>
<span class="n">git_commit</span> <span class="o">*</span><span class="n">wcommit</span><span class="p">;</span>
- <span class="n"><a name="git_oid_fromstr-62" class="fnlink" href="../../#v0.16.0/group/oid/git_oid_fromstr">git_oid_fromstr</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">oid</span><span class="p">,</span> <span class="s">&quot;f0877d0b841d75172ec404fc9370173dfffc20d1&quot;</span><span class="p">);</span></pre></div>
+ <span class="n"><a name="git_oid_fromstr-38" class="fnlink" href="../../#v0.16.0/group/oid/git_oid_fromstr">git_oid_fromstr</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">oid</span><span class="p">,</span> <span class="s">&quot;f0877d0b841d75172ec404fc9370173dfffc20d1&quot;</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-44'>
@@ -698,9 +698,9 @@ want to emulate <code>git log branch1..branch2</code>, you would push the oid of
of <code>branch1</code>.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_revwalk_new-68" class="fnlink" href="../../#v0.16.0/group/revwalk/git_revwalk_new">git_revwalk_new</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">walk</span><span class="p">,</span> <span class="n">repo</span><span class="p">);</span>
- <span class="n"><a name="git_revwalk_sorting-71" class="fnlink" href="../../#v0.16.0/group/revwalk/git_revwalk_sorting">git_revwalk_sorting</a></span><span class="p">(</span><span class="n">walk</span><span class="p">,</span> <span class="n">GIT_SORT_TOPOLOGICAL</span> <span class="o">|</span> <span class="n">GIT_SORT_REVERSE</span><span class="p">);</span>
- <span class="n"><a name="git_revwalk_push-69" class="fnlink" href="../../#v0.16.0/group/revwalk/git_revwalk_push">git_revwalk_push</a></span><span class="p">(</span><span class="n">walk</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span>
+ <div class='highlight'><pre> <span class="n"><a name="git_revwalk_new-16" class="fnlink" href="../../#v0.16.0/group/revwalk/git_revwalk_new">git_revwalk_new</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">walk</span><span class="p">,</span> <span class="n">repo</span><span class="p">);</span>
+ <span class="n"><a name="git_revwalk_sorting-19" class="fnlink" href="../../#v0.16.0/group/revwalk/git_revwalk_sorting">git_revwalk_sorting</a></span><span class="p">(</span><span class="n">walk</span><span class="p">,</span> <span class="n">GIT_SORT_TOPOLOGICAL</span> <span class="o">|</span> <span class="n">GIT_SORT_REVERSE</span><span class="p">);</span>
+ <span class="n"><a name="git_revwalk_push-17" class="fnlink" href="../../#v0.16.0/group/revwalk/git_revwalk_push">git_revwalk_push</a></span><span class="p">(</span><span class="n">walk</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span>
<span class="k">const</span> <span class="n">git_signature</span> <span class="o">*</span><span class="n">cauth</span><span class="p">;</span>
<span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">cmsg</span><span class="p">;</span></pre></div>
@@ -718,12 +718,12 @@ note that this operation is specially fast since the raw contents of the commit
be cached in memory</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="k">while</span> <span class="p">((</span><span class="n"><a name="git_revwalk_next-70" class="fnlink" href="../../#v0.16.0/group/revwalk/git_revwalk_next">git_revwalk_next</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">oid</span><span class="p">,</span> <span class="n">walk</span><span class="p">))</span> <span class="o">==</span> <span class="n">GIT_SUCCESS</span><span class="p">)</span> <span class="p">{</span>
- <span class="n">error</span> <span class="o">=</span> <span class="n"><a name="git_commit_lookup-25" class="fnlink" href="../../#v0.16.0/group/commit/git_commit_lookup">git_commit_lookup</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">wcommit</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span>
- <span class="n">cmsg</span> <span class="o">=</span> <span class="n"><a name="git_commit_message-32" class="fnlink" href="../../#v0.16.0/group/commit/git_commit_message">git_commit_message</a></span><span class="p">(</span><span class="n">wcommit</span><span class="p">);</span>
- <span class="n">cauth</span> <span class="o">=</span> <span class="n"><a name="git_commit_author-37" class="fnlink" href="../../#v0.16.0/group/commit/git_commit_author">git_commit_author</a></span><span class="p">(</span><span class="n">wcommit</span><span class="p">);</span>
+ <div class='highlight'><pre> <span class="k">while</span> <span class="p">((</span><span class="n"><a name="git_revwalk_next-18" class="fnlink" href="../../#v0.16.0/group/revwalk/git_revwalk_next">git_revwalk_next</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">oid</span><span class="p">,</span> <span class="n">walk</span><span class="p">))</span> <span class="o">==</span> <span class="n">GIT_SUCCESS</span><span class="p">)</span> <span class="p">{</span>
+ <span class="n">error</span> <span class="o">=</span> <span class="n"><a name="git_commit_lookup-60" class="fnlink" href="../../#v0.16.0/group/commit/git_commit_lookup">git_commit_lookup</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">wcommit</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span>
+ <span class="n">cmsg</span> <span class="o">=</span> <span class="n"><a name="git_commit_message-67" class="fnlink" href="../../#v0.16.0/group/commit/git_commit_message">git_commit_message</a></span><span class="p">(</span><span class="n">wcommit</span><span class="p">);</span>
+ <span class="n">cauth</span> <span class="o">=</span> <span class="n"><a name="git_commit_author-72" class="fnlink" href="../../#v0.16.0/group/commit/git_commit_author">git_commit_author</a></span><span class="p">(</span><span class="n">wcommit</span><span class="p">);</span>
<span class="n">printf</span><span class="p">(</span><span class="s">&quot;%s (%s)</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">cmsg</span><span class="p">,</span> <span class="n">cauth</span><span class="o">-&gt;</span><span class="n">email</span><span class="p">);</span>
- <span class="n"><a name="git_commit_free-29" class="fnlink" href="../../#v0.16.0/group/commit/git_commit_free">git_commit_free</a></span><span class="p">(</span><span class="n">wcommit</span><span class="p">);</span>
+ <span class="n"><a name="git_commit_free-64" class="fnlink" href="../../#v0.16.0/group/commit/git_commit_free">git_commit_free</a></span><span class="p">(</span><span class="n">wcommit</span><span class="p">);</span>
<span class="p">}</span></pre></div>
</td>
</tr>
@@ -737,7 +737,7 @@ Also, make sure that the repository being walked it not deallocated while the wa
progress, or it will result in undefined behavior</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_revwalk_free-72" class="fnlink" href="../../#v0.16.0/group/revwalk/git_revwalk_free">git_revwalk_free</a></span><span class="p">(</span><span class="n">walk</span><span class="p">);</span></pre></div>
+ <div class='highlight'><pre> <span class="n"><a name="git_revwalk_free-20" class="fnlink" href="../../#v0.16.0/group/revwalk/git_revwalk_free">git_revwalk_free</a></span><span class="p">(</span><span class="n">walk</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-Index_File_Manipulation'>
@@ -767,7 +767,7 @@ here, or you can open and manipulate any index file with <code>git_index_open_ba
for the repository will be located and loaded from disk.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_repository_index-17" class="fnlink" href="../../#v0.16.0/group/repository/git_repository_index">git_repository_index</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">index</span><span class="p">,</span> <span class="n">repo</span><span class="p">);</span></pre></div>
+ <div class='highlight'><pre> <span class="n"><a name="git_repository_index-25" class="fnlink" href="../../#v0.16.0/group/repository/git_repository_index">git_repository_index</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">index</span><span class="p">,</span> <span class="n">repo</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-49'>
@@ -781,16 +781,16 @@ to help determine what to inspect for changes (ctime, mtime, dev, ino, uid, gid,
All these properties are exported publicly in the <code>git_index_entry</code> struct</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n">ecount</span> <span class="o">=</span> <span class="n"><a name="git_index_entrycount-12" class="fnlink" href="../../#v0.16.0/group/index/git_index_entrycount">git_index_entrycount</a></span><span class="p">(</span><span class="n">index</span><span class="p">);</span>
+ <div class='highlight'><pre> <span class="n">ecount</span> <span class="o">=</span> <span class="n"><a name="git_index_entrycount-54" class="fnlink" href="../../#v0.16.0/group/index/git_index_entrycount">git_index_entrycount</a></span><span class="p">(</span><span class="n">index</span><span class="p">);</span>
<span class="k">for</span> <span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="n">ecount</span><span class="p">;</span> <span class="o">++</span><span class="n">i</span><span class="p">)</span> <span class="p">{</span>
- <span class="n">git_index_entry</span> <span class="o">*</span><span class="n">e</span> <span class="o">=</span> <span class="n"><a name="git_index_get-11" class="fnlink" href="../../#v0.16.0/group/index/git_index_get">git_index_get</a></span><span class="p">(</span><span class="n">index</span><span class="p">,</span> <span class="n">i</span><span class="p">);</span>
+ <span class="n">git_index_entry</span> <span class="o">*</span><span class="n">e</span> <span class="o">=</span> <span class="n"><a name="git_index_get-53" class="fnlink" href="../../#v0.16.0/group/index/git_index_get">git_index_get</a></span><span class="p">(</span><span class="n">index</span><span class="p">,</span> <span class="n">i</span><span class="p">);</span>
<span class="n">printf</span><span class="p">(</span><span class="s">&quot;path: %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">e</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">);</span>
<span class="n">printf</span><span class="p">(</span><span class="s">&quot;mtime: %d</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="p">(</span><span class="kt">int</span><span class="p">)</span><span class="n">e</span><span class="o">-&gt;</span><span class="n">mtime</span><span class="p">.</span><span class="n">seconds</span><span class="p">);</span>
<span class="n">printf</span><span class="p">(</span><span class="s">&quot;fs: %d</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="p">(</span><span class="kt">int</span><span class="p">)</span><span class="n">e</span><span class="o">-&gt;</span><span class="n">file_size</span><span class="p">);</span>
<span class="p">}</span>
- <span class="n"><a name="git_index_free-10" class="fnlink" href="../../#v0.16.0/group/index/git_index_free">git_index_free</a></span><span class="p">(</span><span class="n">index</span><span class="p">);</span></pre></div>
+ <span class="n"><a name="git_index_free-52" class="fnlink" href="../../#v0.16.0/group/index/git_index_free">git_index_free</a></span><span class="p">(</span><span class="n">index</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-References'>
@@ -817,7 +817,7 @@ references and the object SHA they resolve to.</p>
</td>
<td class=code>
<div class='highlight'><pre> <span class="n">git_strarray</span> <span class="n">ref_list</span><span class="p">;</span>
- <span class="n"><a name="git_reference_listall-79" class="fnlink" href="../../#v0.16.0/group/reference/git_reference_listall">git_reference_listall</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">ref_list</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="n">GIT_REF_LISTALL</span><span class="p">);</span>
+ <span class="n"><a name="git_reference_listall-30" class="fnlink" href="../../#v0.16.0/group/reference/git_reference_listall">git_reference_listall</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">ref_list</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="n">GIT_REF_LISTALL</span><span class="p">);</span>
<span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">refname</span><span class="p">;</span>
<span class="n">git_reference</span> <span class="o">*</span><span class="n">ref</span><span class="p">;</span></pre></div>
@@ -834,16 +834,16 @@ resolve them to the SHA, then print both values out.</p>
<td class=code>
<div class='highlight'><pre> <span class="k">for</span> <span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="n">ref_list</span><span class="p">.</span><span class="n">count</span><span class="p">;</span> <span class="o">++</span><span class="n">i</span><span class="p">)</span> <span class="p">{</span>
<span class="n">refname</span> <span class="o">=</span> <span class="n">ref_list</span><span class="p">.</span><span class="n">strings</span><span class="p">[</span><span class="n">i</span><span class="p">];</span>
- <span class="n"><a name="git_reference_lookup-75" class="fnlink" href="../../#v0.16.0/group/reference/git_reference_lookup">git_reference_lookup</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">ref</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="n">refname</span><span class="p">);</span>
+ <span class="n"><a name="git_reference_lookup-26" class="fnlink" href="../../#v0.16.0/group/reference/git_reference_lookup">git_reference_lookup</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">ref</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="n">refname</span><span class="p">);</span>
- <span class="k">switch</span> <span class="p">(</span><span class="n"><a name="git_reference_type-78" class="fnlink" href="../../#v0.16.0/group/reference/git_reference_type">git_reference_type</a></span><span class="p">(</span><span class="n">ref</span><span class="p">))</span> <span class="p">{</span>
+ <span class="k">switch</span> <span class="p">(</span><span class="n"><a name="git_reference_type-29" class="fnlink" href="../../#v0.16.0/group/reference/git_reference_type">git_reference_type</a></span><span class="p">(</span><span class="n">ref</span><span class="p">))</span> <span class="p">{</span>
<span class="k">case</span> <span class="n">GIT_REF_OID</span>:
- <span class="n"><a name="git_oid_fmt-67" class="fnlink" href="../../#v0.16.0/group/oid/git_oid_fmt">git_oid_fmt</a></span><span class="p">(</span><span class="n">out</span><span class="p">,</span> <span class="n"><a name="git_reference_oid-76" class="fnlink" href="../../#v0.16.0/group/reference/git_reference_oid">git_reference_oid</a></span><span class="p">(</span><span class="n">ref</span><span class="p">));</span>
+ <span class="n"><a name="git_oid_fmt-43" class="fnlink" href="../../#v0.16.0/group/oid/git_oid_fmt">git_oid_fmt</a></span><span class="p">(</span><span class="n">out</span><span class="p">,</span> <span class="n"><a name="git_reference_oid-27" class="fnlink" href="../../#v0.16.0/group/reference/git_reference_oid">git_reference_oid</a></span><span class="p">(</span><span class="n">ref</span><span class="p">));</span>
<span class="n">printf</span><span class="p">(</span><span class="s">&quot;%s [%s]</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">refname</span><span class="p">,</span> <span class="n">out</span><span class="p">);</span>
<span class="k">break</span><span class="p">;</span>
<span class="k">case</span> <span class="n">GIT_REF_SYMBOLIC</span>:
- <span class="n">printf</span><span class="p">(</span><span class="s">&quot;%s =&gt; %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">refname</span><span class="p">,</span> <span class="n"><a name="git_reference_target-77" class="fnlink" href="../../#v0.16.0/group/reference/git_reference_target">git_reference_target</a></span><span class="p">(</span><span class="n">ref</span><span class="p">));</span>
+ <span class="n">printf</span><span class="p">(</span><span class="s">&quot;%s =&gt; %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">refname</span><span class="p">,</span> <span class="n"><a name="git_reference_target-28" class="fnlink" href="../../#v0.16.0/group/reference/git_reference_target">git_reference_target</a></span><span class="p">(</span><span class="n">ref</span><span class="p">));</span>
<span class="k">break</span><span class="p">;</span>
<span class="nl">default:</span>
<span class="n">fprintf</span><span class="p">(</span><span class="n">stderr</span><span class="p">,</span> <span class="s">&quot;Unexpected reference type</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">);</span>
@@ -881,12 +881,12 @@ any of the accessible config file locations (system, global, local).</p>
<p>Open a config object so we can read global values from it.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_config_open_ondisk-3" class="fnlink" href="../../#v0.16.0/group/config/git_config_open_ondisk">git_config_open_ondisk</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">cfg</span><span class="p">,</span> <span class="s">&quot;~/.gitconfig&quot;</span><span class="p">);</span>
+ <div class='highlight'><pre> <span class="n"><a name="git_config_open_ondisk-55" class="fnlink" href="../../#v0.16.0/group/config/git_config_open_ondisk">git_config_open_ondisk</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">cfg</span><span class="p">,</span> <span class="s">&quot;~/.gitconfig&quot;</span><span class="p">);</span>
- <span class="n"><a name="git_config_get_int32-4" class="fnlink" href="../../#v0.16.0/group/config/git_config_get_int32">git_config_get_int32</a></span><span class="p">(</span><span class="n">cfg</span><span class="p">,</span> <span class="s">&quot;help.autocorrect&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">j</span><span class="p">);</span>
+ <span class="n"><a name="git_config_get_int32-56" class="fnlink" href="../../#v0.16.0/group/config/git_config_get_int32">git_config_get_int32</a></span><span class="p">(</span><span class="n">cfg</span><span class="p">,</span> <span class="s">&quot;help.autocorrect&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">j</span><span class="p">);</span>
<span class="n">printf</span><span class="p">(</span><span class="s">&quot;Autocorrect: %d</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">j</span><span class="p">);</span>
- <span class="n"><a name="git_config_get_string-5" class="fnlink" href="../../#v0.16.0/group/config/git_config_get_string">git_config_get_string</a></span><span class="p">(</span><span class="n">cfg</span><span class="p">,</span> <span class="s">&quot;user.email&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">email</span><span class="p">);</span>
+ <span class="n"><a name="git_config_get_string-57" class="fnlink" href="../../#v0.16.0/group/config/git_config_get_string">git_config_get_string</a></span><span class="p">(</span><span class="n">cfg</span><span class="p">,</span> <span class="s">&quot;user.email&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">email</span><span class="p">);</span>
<span class="n">printf</span><span class="p">(</span><span class="s">&quot;Email: %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">email</span><span class="p">);</span></pre></div>
</td>
</tr>
@@ -899,7 +899,7 @@ any of the accessible config file locations (system, global, local).</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_repository_free-15" class="fnlink" href="../../#v0.16.0/group/repository/git_repository_free">git_repository_free</a></span><span class="p">(</span><span class="n">repo</span><span class="p">);</span>
+ <div class='highlight'><pre> <span class="n"><a name="git_repository_free-23" class="fnlink" href="../../#v0.16.0/group/repository/git_repository_free">git_repository_free</a></span><span class="p">(</span><span class="n">repo</span><span class="p">);</span>
<span class="k">return</span> <span class="mi">0</span><span class="p">;</span>
<span class="p">}</span></pre></div>
diff --git a/ex/v0.16.0/index-pack.html b/ex/v0.16.0/index-pack.html
index e7185a9ba..a16836c3b 100644
--- a/ex/v0.16.0/index-pack.html
+++ b/ex/v0.16.0/index-pack.html
@@ -84,7 +84,7 @@ the indexing to finish in a worker thread</p>
<p>Create a new indexer</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n">error</span> <span class="o">=</span> <span class="n"><a name="git_indexer_new-1" class="fnlink" href="../../#v0.16.0/group/indexer/git_indexer_new">git_indexer_new</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">indexer</span><span class="p">,</span> <span class="n">argv</span><span class="p">[</span><span class="mi">1</span><span class="p">]);</span>
+ <div class='highlight'><pre> <span class="n">error</span> <span class="o">=</span> <span class="n"><a name="git_indexer_new-2" class="fnlink" href="../../#v0.16.0/group/indexer/git_indexer_new">git_indexer_new</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">indexer</span><span class="p">,</span> <span class="n">argv</span><span class="p">[</span><span class="mi">1</span><span class="p">]);</span>
<span class="k">if</span> <span class="p">(</span><span class="n">error</span> <span class="o">&lt;</span> <span class="n">GIT_SUCCESS</span><span class="p">)</span>
<span class="k">return</span> <span class="n">error</span><span class="p">;</span></pre></div>
</td>
@@ -98,7 +98,7 @@ the indexing to finish in a worker thread</p>
should be run in a worker thread.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n">error</span> <span class="o">=</span> <span class="n"><a name="git_indexer_run-2" class="fnlink" href="../../#v0.16.0/group/indexer/git_indexer_run">git_indexer_run</a></span><span class="p">(</span><span class="n">indexer</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">stats</span><span class="p">);</span>
+ <div class='highlight'><pre> <span class="n">error</span> <span class="o">=</span> <span class="n"><a name="git_indexer_run-3" class="fnlink" href="../../#v0.16.0/group/indexer/git_indexer_run">git_indexer_run</a></span><span class="p">(</span><span class="n">indexer</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">stats</span><span class="p">);</span>
<span class="k">if</span> <span class="p">(</span><span class="n">error</span> <span class="o">&lt;</span> <span class="n">GIT_SUCCESS</span><span class="p">)</span>
<span class="k">return</span> <span class="n">error</span><span class="p">;</span></pre></div>
</td>
@@ -111,7 +111,7 @@ should be run in a worker thread.</p>
<p>Write the information out to an index file</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n">error</span> <span class="o">=</span> <span class="n"><a name="git_indexer_write-3" class="fnlink" href="../../#v0.16.0/group/indexer/git_indexer_write">git_indexer_write</a></span><span class="p">(</span><span class="n">indexer</span><span class="p">);</span></pre></div>
+ <div class='highlight'><pre> <span class="n">error</span> <span class="o">=</span> <span class="n"><a name="git_indexer_write-4" class="fnlink" href="../../#v0.16.0/group/indexer/git_indexer_write">git_indexer_write</a></span><span class="p">(</span><span class="n">indexer</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-6'>
@@ -123,10 +123,10 @@ should be run in a worker thread.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_oid_fmt-6" class="fnlink" href="../../#v0.16.0/group/oid/git_oid_fmt">git_oid_fmt</a></span><span class="p">(</span><span class="n">hash</span><span class="p">,</span> <span class="n"><a name="git_indexer_hash-4" class="fnlink" href="../../#v0.16.0/group/indexer/git_indexer_hash">git_indexer_hash</a></span><span class="p">(</span><span class="n">indexer</span><span class="p">));</span>
+ <div class='highlight'><pre> <span class="n"><a name="git_oid_fmt-1" class="fnlink" href="../../#v0.16.0/group/oid/git_oid_fmt">git_oid_fmt</a></span><span class="p">(</span><span class="n">hash</span><span class="p">,</span> <span class="n"><a name="git_indexer_hash-5" class="fnlink" href="../../#v0.16.0/group/indexer/git_indexer_hash">git_indexer_hash</a></span><span class="p">(</span><span class="n">indexer</span><span class="p">));</span>
<span class="n">puts</span><span class="p">(</span><span class="n">hash</span><span class="p">);</span>
- <span class="n"><a name="git_indexer_free-5" class="fnlink" href="../../#v0.16.0/group/indexer/git_indexer_free">git_indexer_free</a></span><span class="p">(</span><span class="n">indexer</span><span class="p">);</span>
+ <span class="n"><a name="git_indexer_free-6" class="fnlink" href="../../#v0.16.0/group/indexer/git_indexer_free">git_indexer_free</a></span><span class="p">(</span><span class="n">indexer</span><span class="p">);</span>
<span class="k">return</span> <span class="n">GIT_SUCCESS</span><span class="p">;</span>
<span class="p">}</span></pre></div>
diff --git a/ex/v0.16.0/showindex.html b/ex/v0.16.0/showindex.html
index 8992e9f7f..618b0d395 100644
--- a/ex/v0.16.0/showindex.html
+++ b/ex/v0.16.0/showindex.html
@@ -57,17 +57,17 @@
<span class="kt">char</span> <span class="n">out</span><span class="p">[</span><span class="mi">41</span><span class="p">];</span>
<span class="n">out</span><span class="p">[</span><span class="mi">40</span><span class="p">]</span> <span class="o">=</span> <span class="sc">&#39;\0&#39;</span><span class="p">;</span>
- <span class="n"><a name="git_repository_open-5" class="fnlink" href="../../#v0.16.0/group/repository/git_repository_open">git_repository_open</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">repo</span><span class="p">,</span> <span class="s">&quot;/opt/libgit2-test/.git&quot;</span><span class="p">);</span>
+ <span class="n"><a name="git_repository_open-1" class="fnlink" href="../../#v0.16.0/group/repository/git_repository_open">git_repository_open</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">repo</span><span class="p">,</span> <span class="s">&quot;/opt/libgit2-test/.git&quot;</span><span class="p">);</span>
- <span class="n"><a name="git_repository_index-7" class="fnlink" href="../../#v0.16.0/group/repository/git_repository_index">git_repository_index</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">index</span><span class="p">,</span> <span class="n">repo</span><span class="p">);</span>
- <span class="n"><a name="git_index_read-2" class="fnlink" href="../../#v0.16.0/group/index/git_index_read">git_index_read</a></span><span class="p">(</span><span class="n">index</span><span class="p">);</span>
+ <span class="n"><a name="git_repository_index-3" class="fnlink" href="../../#v0.16.0/group/repository/git_repository_index">git_repository_index</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">index</span><span class="p">,</span> <span class="n">repo</span><span class="p">);</span>
+ <span class="n"><a name="git_index_read-6" class="fnlink" href="../../#v0.16.0/group/index/git_index_read">git_index_read</a></span><span class="p">(</span><span class="n">index</span><span class="p">);</span>
- <span class="n">ecount</span> <span class="o">=</span> <span class="n"><a name="git_index_entrycount-4" class="fnlink" href="../../#v0.16.0/group/index/git_index_entrycount">git_index_entrycount</a></span><span class="p">(</span><span class="n">index</span><span class="p">);</span>
+ <span class="n">ecount</span> <span class="o">=</span> <span class="n"><a name="git_index_entrycount-8" class="fnlink" href="../../#v0.16.0/group/index/git_index_entrycount">git_index_entrycount</a></span><span class="p">(</span><span class="n">index</span><span class="p">);</span>
<span class="k">for</span> <span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="n">ecount</span><span class="p">;</span> <span class="o">++</span><span class="n">i</span><span class="p">)</span> <span class="p">{</span>
- <span class="n">git_index_entry</span> <span class="o">*</span><span class="n">e</span> <span class="o">=</span> <span class="n"><a name="git_index_get-3" class="fnlink" href="../../#v0.16.0/group/index/git_index_get">git_index_get</a></span><span class="p">(</span><span class="n">index</span><span class="p">,</span> <span class="n">i</span><span class="p">);</span>
+ <span class="n">git_index_entry</span> <span class="o">*</span><span class="n">e</span> <span class="o">=</span> <span class="n"><a name="git_index_get-7" class="fnlink" href="../../#v0.16.0/group/index/git_index_get">git_index_get</a></span><span class="p">(</span><span class="n">index</span><span class="p">,</span> <span class="n">i</span><span class="p">);</span>
<span class="n">oid</span> <span class="o">=</span> <span class="n">e</span><span class="o">-&gt;</span><span class="n">oid</span><span class="p">;</span>
- <span class="n"><a name="git_oid_fmt-8" class="fnlink" href="../../#v0.16.0/group/oid/git_oid_fmt">git_oid_fmt</a></span><span class="p">(</span><span class="n">out</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span>
+ <span class="n"><a name="git_oid_fmt-4" class="fnlink" href="../../#v0.16.0/group/oid/git_oid_fmt">git_oid_fmt</a></span><span class="p">(</span><span class="n">out</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span>
<span class="n">printf</span><span class="p">(</span><span class="s">&quot;File Path: %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">e</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">);</span>
<span class="n">printf</span><span class="p">(</span><span class="s">&quot; Blob SHA: %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">out</span><span class="p">);</span>
@@ -81,9 +81,9 @@
<span class="n">printf</span><span class="p">(</span><span class="s">&quot;</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">);</span>
<span class="p">}</span>
- <span class="n"><a name="git_index_free-1" class="fnlink" href="../../#v0.16.0/group/index/git_index_free">git_index_free</a></span><span class="p">(</span><span class="n">index</span><span class="p">);</span>
+ <span class="n"><a name="git_index_free-5" class="fnlink" href="../../#v0.16.0/group/index/git_index_free">git_index_free</a></span><span class="p">(</span><span class="n">index</span><span class="p">);</span>
- <span class="n"><a name="git_repository_free-6" class="fnlink" href="../../#v0.16.0/group/repository/git_repository_free">git_repository_free</a></span><span class="p">(</span><span class="n">repo</span><span class="p">);</span>
+ <span class="n"><a name="git_repository_free-2" class="fnlink" href="../../#v0.16.0/group/repository/git_repository_free">git_repository_free</a></span><span class="p">(</span><span class="n">repo</span><span class="p">);</span>
<span class="p">}</span></pre></div>
</td>
</tr>
diff --git a/ex/v0.17.0/diff.html b/ex/v0.17.0/diff.html
index efe240a16..170a20616 100644
--- a/ex/v0.17.0/diff.html
+++ b/ex/v0.17.0/diff.html
@@ -65,18 +65,18 @@
<span class="n">git_object</span> <span class="o">*</span><span class="n">obj</span> <span class="o">=</span> <span class="nb">NULL</span><span class="p">;</span>
<span class="cm">/* try to resolve as OID */</span>
- <span class="k">if</span> <span class="p">(</span><span class="n"><a name="git_oid_fromstrn-18" class="fnlink" href="../../#v0.17.0/group/oid/git_oid_fromstrn">git_oid_fromstrn</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">oid</span><span class="p">,</span> <span class="n">identifier</span><span class="p">,</span> <span class="n">len</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span>
- <span class="n"><a name="git_object_lookup_prefix-20" class="fnlink" href="../../#v0.17.0/group/object/git_object_lookup_prefix">git_object_lookup_prefix</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">obj</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">,</span> <span class="n">len</span><span class="p">,</span> <span class="n">GIT_OBJ_ANY</span><span class="p">);</span>
+ <span class="k">if</span> <span class="p">(</span><span class="n"><a name="git_oid_fromstrn-11" class="fnlink" href="../../#v0.17.0/group/oid/git_oid_fromstrn">git_oid_fromstrn</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">oid</span><span class="p">,</span> <span class="n">identifier</span><span class="p">,</span> <span class="n">len</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span>
+ <span class="n"><a name="git_object_lookup_prefix-13" class="fnlink" href="../../#v0.17.0/group/object/git_object_lookup_prefix">git_object_lookup_prefix</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">obj</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">,</span> <span class="n">len</span><span class="p">,</span> <span class="n">GIT_OBJ_ANY</span><span class="p">);</span>
<span class="cm">/* try to resolve as reference */</span>
<span class="k">if</span> <span class="p">(</span><span class="n">obj</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span> <span class="p">{</span>
<span class="n">git_reference</span> <span class="o">*</span><span class="n">ref</span><span class="p">,</span> <span class="o">*</span><span class="n">resolved</span><span class="p">;</span>
- <span class="k">if</span> <span class="p">(</span><span class="n"><a name="git_reference_lookup-23" class="fnlink" href="../../#v0.17.0/group/reference/git_reference_lookup">git_reference_lookup</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">ref</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="n">identifier</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
- <span class="n"><a name="git_reference_resolve-25" class="fnlink" href="../../#v0.17.0/group/reference/git_reference_resolve">git_reference_resolve</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">resolved</span><span class="p">,</span> <span class="n">ref</span><span class="p">);</span>
- <span class="n"><a name="git_reference_free-26" class="fnlink" href="../../#v0.17.0/group/reference/git_reference_free">git_reference_free</a></span><span class="p">(</span><span class="n">ref</span><span class="p">);</span>
+ <span class="k">if</span> <span class="p">(</span><span class="n"><a name="git_reference_lookup-6" class="fnlink" href="../../#v0.17.0/group/reference/git_reference_lookup">git_reference_lookup</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">ref</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="n">identifier</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+ <span class="n"><a name="git_reference_resolve-8" class="fnlink" href="../../#v0.17.0/group/reference/git_reference_resolve">git_reference_resolve</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">resolved</span><span class="p">,</span> <span class="n">ref</span><span class="p">);</span>
+ <span class="n"><a name="git_reference_free-9" class="fnlink" href="../../#v0.17.0/group/reference/git_reference_free">git_reference_free</a></span><span class="p">(</span><span class="n">ref</span><span class="p">);</span>
<span class="k">if</span> <span class="p">(</span><span class="n">resolved</span><span class="p">)</span> <span class="p">{</span>
- <span class="n"><a name="git_object_lookup-19" class="fnlink" href="../../#v0.17.0/group/object/git_object_lookup">git_object_lookup</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">obj</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="n"><a name="git_reference_oid-24" class="fnlink" href="../../#v0.17.0/group/reference/git_reference_oid">git_reference_oid</a></span><span class="p">(</span><span class="n">resolved</span><span class="p">),</span> <span class="n">GIT_OBJ_ANY</span><span class="p">);</span>
- <span class="n"><a name="git_reference_free-27" class="fnlink" href="../../#v0.17.0/group/reference/git_reference_free">git_reference_free</a></span><span class="p">(</span><span class="n">resolved</span><span class="p">);</span>
+ <span class="n"><a name="git_object_lookup-12" class="fnlink" href="../../#v0.17.0/group/object/git_object_lookup">git_object_lookup</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">obj</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="n"><a name="git_reference_oid-7" class="fnlink" href="../../#v0.17.0/group/reference/git_reference_oid">git_reference_oid</a></span><span class="p">(</span><span class="n">resolved</span><span class="p">),</span> <span class="n">GIT_OBJ_ANY</span><span class="p">);</span>
+ <span class="n"><a name="git_reference_free-10" class="fnlink" href="../../#v0.17.0/group/reference/git_reference_free">git_reference_free</a></span><span class="p">(</span><span class="n">resolved</span><span class="p">);</span>
<span class="p">}</span>
<span class="p">}</span>
<span class="p">}</span>
@@ -84,13 +84,13 @@
<span class="k">if</span> <span class="p">(</span><span class="n">obj</span> <span class="o">==</span> <span class="nb">NULL</span><span class="p">)</span>
<span class="k">return</span> <span class="n">GIT_ENOTFOUND</span><span class="p">;</span>
- <span class="k">switch</span> <span class="p">(</span><span class="n"><a name="git_object_type-21" class="fnlink" href="../../#v0.17.0/group/object/git_object_type">git_object_type</a></span><span class="p">(</span><span class="n">obj</span><span class="p">))</span> <span class="p">{</span>
+ <span class="k">switch</span> <span class="p">(</span><span class="n"><a name="git_object_type-14" class="fnlink" href="../../#v0.17.0/group/object/git_object_type">git_object_type</a></span><span class="p">(</span><span class="n">obj</span><span class="p">))</span> <span class="p">{</span>
<span class="k">case</span> <span class="n">GIT_OBJ_TREE</span>:
<span class="o">*</span><span class="n">tree</span> <span class="o">=</span> <span class="p">(</span><span class="n">git_tree</span> <span class="o">*</span><span class="p">)</span><span class="n">obj</span><span class="p">;</span>
<span class="k">break</span><span class="p">;</span>
<span class="k">case</span> <span class="n">GIT_OBJ_COMMIT</span>:
- <span class="n">err</span> <span class="o">=</span> <span class="n"><a name="git_commit_tree-4" class="fnlink" href="../../#v0.17.0/group/commit/git_commit_tree">git_commit_tree</a></span><span class="p">(</span><span class="n">tree</span><span class="p">,</span> <span class="p">(</span><span class="n">git_commit</span> <span class="o">*</span><span class="p">)</span><span class="n">obj</span><span class="p">);</span>
- <span class="n"><a name="git_object_free-22" class="fnlink" href="../../#v0.17.0/group/object/git_object_free">git_object_free</a></span><span class="p">(</span><span class="n">obj</span><span class="p">);</span>
+ <span class="n">err</span> <span class="o">=</span> <span class="n"><a name="git_commit_tree-27" class="fnlink" href="../../#v0.17.0/group/commit/git_commit_tree">git_commit_tree</a></span><span class="p">(</span><span class="n">tree</span><span class="p">,</span> <span class="p">(</span><span class="n">git_commit</span> <span class="o">*</span><span class="p">)</span><span class="n">obj</span><span class="p">);</span>
+ <span class="n"><a name="git_object_free-15" class="fnlink" href="../../#v0.17.0/group/object/git_object_free">git_object_free</a></span><span class="p">(</span><span class="n">obj</span><span class="p">);</span>
<span class="k">break</span><span class="p">;</span>
<span class="nl">default:</span>
<span class="n">err</span> <span class="o">=</span> <span class="n">GIT_ENOTFOUND</span><span class="p">;</span>
@@ -231,9 +231,9 @@
<span class="cm">/* open repo */</span>
- <span class="n">check</span><span class="p">(</span><span class="n"><a name="git_repository_discover-2" class="fnlink" href="../../#v0.17.0/group/repository/git_repository_discover">git_repository_discover</a></span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="k">sizeof</span><span class="p">(</span><span class="n">path</span><span class="p">),</span> <span class="n">dir</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="s">&quot;/&quot;</span><span class="p">),</span>
+ <span class="n">check</span><span class="p">(</span><span class="n"><a name="git_repository_discover-4" class="fnlink" href="../../#v0.17.0/group/repository/git_repository_discover">git_repository_discover</a></span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="k">sizeof</span><span class="p">(</span><span class="n">path</span><span class="p">),</span> <span class="n">dir</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="s">&quot;/&quot;</span><span class="p">),</span>
<span class="s">&quot;Could not discover repository&quot;</span><span class="p">);</span>
- <span class="n">check</span><span class="p">(</span><span class="n"><a name="git_repository_open-1" class="fnlink" href="../../#v0.17.0/group/repository/git_repository_open">git_repository_open</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">repo</span><span class="p">,</span> <span class="n">path</span><span class="p">),</span>
+ <span class="n">check</span><span class="p">(</span><span class="n"><a name="git_repository_open-3" class="fnlink" href="../../#v0.17.0/group/repository/git_repository_open">git_repository_open</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">repo</span><span class="p">,</span> <span class="n">path</span><span class="p">),</span>
<span class="s">&quot;Could not open repository&quot;</span><span class="p">);</span>
<span class="k">if</span> <span class="p">(</span><span class="n">treeish1</span><span class="p">)</span>
@@ -248,38 +248,38 @@
<span class="cm">/* nothing */</span>
<span class="k">if</span> <span class="p">(</span><span class="n">t1</span> <span class="o">&amp;&amp;</span> <span class="n">t2</span><span class="p">)</span>
- <span class="n">check</span><span class="p">(</span><span class="n"><a name="git_diff_tree_to_tree-7" class="fnlink" href="../../#v0.17.0/group/diff/git_diff_tree_to_tree">git_diff_tree_to_tree</a></span><span class="p">(</span><span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">opts</span><span class="p">,</span> <span class="n">t1</span><span class="p">,</span> <span class="n">t2</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">diff</span><span class="p">),</span> <span class="s">&quot;Diff&quot;</span><span class="p">);</span>
+ <span class="n">check</span><span class="p">(</span><span class="n"><a name="git_diff_tree_to_tree-18" class="fnlink" href="../../#v0.17.0/group/diff/git_diff_tree_to_tree">git_diff_tree_to_tree</a></span><span class="p">(</span><span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">opts</span><span class="p">,</span> <span class="n">t1</span><span class="p">,</span> <span class="n">t2</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">diff</span><span class="p">),</span> <span class="s">&quot;Diff&quot;</span><span class="p">);</span>
<span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">t1</span> <span class="o">&amp;&amp;</span> <span class="n">cached</span><span class="p">)</span>
- <span class="n">check</span><span class="p">(</span><span class="n"><a name="git_diff_index_to_tree-8" class="fnlink" href="../../#v0.17.0/group/diff/git_diff_index_to_tree">git_diff_index_to_tree</a></span><span class="p">(</span><span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">opts</span><span class="p">,</span> <span class="n">t1</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">diff</span><span class="p">),</span> <span class="s">&quot;Diff&quot;</span><span class="p">);</span>
+ <span class="n">check</span><span class="p">(</span><span class="n"><a name="git_diff_index_to_tree-19" class="fnlink" href="../../#v0.17.0/group/diff/git_diff_index_to_tree">git_diff_index_to_tree</a></span><span class="p">(</span><span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">opts</span><span class="p">,</span> <span class="n">t1</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">diff</span><span class="p">),</span> <span class="s">&quot;Diff&quot;</span><span class="p">);</span>
<span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">t1</span><span class="p">)</span> <span class="p">{</span>
<span class="n">git_diff_list</span> <span class="o">*</span><span class="n">diff2</span><span class="p">;</span>
- <span class="n">check</span><span class="p">(</span><span class="n"><a name="git_diff_index_to_tree-9" class="fnlink" href="../../#v0.17.0/group/diff/git_diff_index_to_tree">git_diff_index_to_tree</a></span><span class="p">(</span><span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">opts</span><span class="p">,</span> <span class="n">t1</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">diff</span><span class="p">),</span> <span class="s">&quot;Diff&quot;</span><span class="p">);</span>
- <span class="n">check</span><span class="p">(</span><span class="n"><a name="git_diff_workdir_to_index-11" class="fnlink" href="../../#v0.17.0/group/diff/git_diff_workdir_to_index">git_diff_workdir_to_index</a></span><span class="p">(</span><span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">opts</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">diff2</span><span class="p">),</span> <span class="s">&quot;Diff&quot;</span><span class="p">);</span>
- <span class="n">check</span><span class="p">(</span><span class="n"><a name="git_diff_merge-13" class="fnlink" href="../../#v0.17.0/group/diff/git_diff_merge">git_diff_merge</a></span><span class="p">(</span><span class="n">diff</span><span class="p">,</span> <span class="n">diff2</span><span class="p">),</span> <span class="s">&quot;Merge diffs&quot;</span><span class="p">);</span>
- <span class="n"><a name="git_diff_list_free-5" class="fnlink" href="../../#v0.17.0/group/diff/git_diff_list_free">git_diff_list_free</a></span><span class="p">(</span><span class="n">diff2</span><span class="p">);</span>
+ <span class="n">check</span><span class="p">(</span><span class="n"><a name="git_diff_index_to_tree-20" class="fnlink" href="../../#v0.17.0/group/diff/git_diff_index_to_tree">git_diff_index_to_tree</a></span><span class="p">(</span><span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">opts</span><span class="p">,</span> <span class="n">t1</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">diff</span><span class="p">),</span> <span class="s">&quot;Diff&quot;</span><span class="p">);</span>
+ <span class="n">check</span><span class="p">(</span><span class="n"><a name="git_diff_workdir_to_index-22" class="fnlink" href="../../#v0.17.0/group/diff/git_diff_workdir_to_index">git_diff_workdir_to_index</a></span><span class="p">(</span><span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">opts</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">diff2</span><span class="p">),</span> <span class="s">&quot;Diff&quot;</span><span class="p">);</span>
+ <span class="n">check</span><span class="p">(</span><span class="n"><a name="git_diff_merge-24" class="fnlink" href="../../#v0.17.0/group/diff/git_diff_merge">git_diff_merge</a></span><span class="p">(</span><span class="n">diff</span><span class="p">,</span> <span class="n">diff2</span><span class="p">),</span> <span class="s">&quot;Merge diffs&quot;</span><span class="p">);</span>
+ <span class="n"><a name="git_diff_list_free-16" class="fnlink" href="../../#v0.17.0/group/diff/git_diff_list_free">git_diff_list_free</a></span><span class="p">(</span><span class="n">diff2</span><span class="p">);</span>
<span class="p">}</span>
<span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="n">cached</span><span class="p">)</span> <span class="p">{</span>
<span class="n">check</span><span class="p">(</span><span class="n">resolve_to_tree</span><span class="p">(</span><span class="n">repo</span><span class="p">,</span> <span class="s">&quot;HEAD&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">t1</span><span class="p">),</span> <span class="s">&quot;looking up HEAD&quot;</span><span class="p">);</span>
- <span class="n">check</span><span class="p">(</span><span class="n"><a name="git_diff_index_to_tree-10" class="fnlink" href="../../#v0.17.0/group/diff/git_diff_index_to_tree">git_diff_index_to_tree</a></span><span class="p">(</span><span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">opts</span><span class="p">,</span> <span class="n">t1</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">diff</span><span class="p">),</span> <span class="s">&quot;Diff&quot;</span><span class="p">);</span>
+ <span class="n">check</span><span class="p">(</span><span class="n"><a name="git_diff_index_to_tree-21" class="fnlink" href="../../#v0.17.0/group/diff/git_diff_index_to_tree">git_diff_index_to_tree</a></span><span class="p">(</span><span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">opts</span><span class="p">,</span> <span class="n">t1</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">diff</span><span class="p">),</span> <span class="s">&quot;Diff&quot;</span><span class="p">);</span>
<span class="p">}</span>
<span class="k">else</span>
- <span class="n">check</span><span class="p">(</span><span class="n"><a name="git_diff_workdir_to_index-12" class="fnlink" href="../../#v0.17.0/group/diff/git_diff_workdir_to_index">git_diff_workdir_to_index</a></span><span class="p">(</span><span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">opts</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">diff</span><span class="p">),</span> <span class="s">&quot;Diff&quot;</span><span class="p">);</span>
+ <span class="n">check</span><span class="p">(</span><span class="n"><a name="git_diff_workdir_to_index-23" class="fnlink" href="../../#v0.17.0/group/diff/git_diff_workdir_to_index">git_diff_workdir_to_index</a></span><span class="p">(</span><span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">opts</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">diff</span><span class="p">),</span> <span class="s">&quot;Diff&quot;</span><span class="p">);</span>
<span class="k">if</span> <span class="p">(</span><span class="n">color</span> <span class="o">&gt;=</span> <span class="mi">0</span><span class="p">)</span>
<span class="n">fputs</span><span class="p">(</span><span class="n">colors</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="n">stdout</span><span class="p">);</span>
<span class="k">if</span> <span class="p">(</span><span class="n">compact</span><span class="p">)</span>
- <span class="n">check</span><span class="p">(</span><span class="n"><a name="git_diff_print_compact-14" class="fnlink" href="../../#v0.17.0/group/diff/git_diff_print_compact">git_diff_print_compact</a></span><span class="p">(</span><span class="n">diff</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">color</span><span class="p">,</span> <span class="n">printer</span><span class="p">),</span> <span class="s">&quot;Displaying diff&quot;</span><span class="p">);</span>
+ <span class="n">check</span><span class="p">(</span><span class="n"><a name="git_diff_print_compact-25" class="fnlink" href="../../#v0.17.0/group/diff/git_diff_print_compact">git_diff_print_compact</a></span><span class="p">(</span><span class="n">diff</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">color</span><span class="p">,</span> <span class="n">printer</span><span class="p">),</span> <span class="s">&quot;Displaying diff&quot;</span><span class="p">);</span>
<span class="k">else</span>
- <span class="n">check</span><span class="p">(</span><span class="n"><a name="git_diff_print_patch-15" class="fnlink" href="../../#v0.17.0/group/diff/git_diff_print_patch">git_diff_print_patch</a></span><span class="p">(</span><span class="n">diff</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">color</span><span class="p">,</span> <span class="n">printer</span><span class="p">),</span> <span class="s">&quot;Displaying diff&quot;</span><span class="p">);</span>
+ <span class="n">check</span><span class="p">(</span><span class="n"><a name="git_diff_print_patch-26" class="fnlink" href="../../#v0.17.0/group/diff/git_diff_print_patch">git_diff_print_patch</a></span><span class="p">(</span><span class="n">diff</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">color</span><span class="p">,</span> <span class="n">printer</span><span class="p">),</span> <span class="s">&quot;Displaying diff&quot;</span><span class="p">);</span>
<span class="k">if</span> <span class="p">(</span><span class="n">color</span> <span class="o">&gt;=</span> <span class="mi">0</span><span class="p">)</span>
<span class="n">fputs</span><span class="p">(</span><span class="n">colors</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="n">stdout</span><span class="p">);</span>
- <span class="n"><a name="git_diff_list_free-6" class="fnlink" href="../../#v0.17.0/group/diff/git_diff_list_free">git_diff_list_free</a></span><span class="p">(</span><span class="n">diff</span><span class="p">);</span>
- <span class="n"><a name="git_tree_free-16" class="fnlink" href="../../#v0.17.0/group/tree/git_tree_free">git_tree_free</a></span><span class="p">(</span><span class="n">t1</span><span class="p">);</span>
- <span class="n"><a name="git_tree_free-17" class="fnlink" href="../../#v0.17.0/group/tree/git_tree_free">git_tree_free</a></span><span class="p">(</span><span class="n">t2</span><span class="p">);</span>
- <span class="n"><a name="git_repository_free-3" class="fnlink" href="../../#v0.17.0/group/repository/git_repository_free">git_repository_free</a></span><span class="p">(</span><span class="n">repo</span><span class="p">);</span>
+ <span class="n"><a name="git_diff_list_free-17" class="fnlink" href="../../#v0.17.0/group/diff/git_diff_list_free">git_diff_list_free</a></span><span class="p">(</span><span class="n">diff</span><span class="p">);</span>
+ <span class="n"><a name="git_tree_free-1" class="fnlink" href="../../#v0.17.0/group/tree/git_tree_free">git_tree_free</a></span><span class="p">(</span><span class="n">t1</span><span class="p">);</span>
+ <span class="n"><a name="git_tree_free-2" class="fnlink" href="../../#v0.17.0/group/tree/git_tree_free">git_tree_free</a></span><span class="p">(</span><span class="n">t2</span><span class="p">);</span>
+ <span class="n"><a name="git_repository_free-5" class="fnlink" href="../../#v0.17.0/group/repository/git_repository_free">git_repository_free</a></span><span class="p">(</span><span class="n">repo</span><span class="p">);</span>
<span class="k">return</span> <span class="mi">0</span><span class="p">;</span>
<span class="p">}</span></pre></div>
diff --git a/ex/v0.17.0/general.html b/ex/v0.17.0/general.html
index 44ae6d9f0..600f52b90 100644
--- a/ex/v0.17.0/general.html
+++ b/ex/v0.17.0/general.html
@@ -112,9 +112,9 @@ we are assuming they are in the normal places.</p>
<td class=code>
<div class='highlight'><pre> <span class="n">git_repository</span> <span class="o">*</span><span class="n">repo</span><span class="p">;</span>
<span class="k">if</span> <span class="p">(</span><span class="n">argc</span> <span class="o">&gt;</span> <span class="mi">1</span><span class="p">)</span> <span class="p">{</span>
- <span class="n"><a name="git_repository_open-13" class="fnlink" href="../../#v0.17.0/group/repository/git_repository_open">git_repository_open</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">repo</span><span class="p">,</span> <span class="n">argv</span><span class="p">[</span><span class="mi">1</span><span class="p">]);</span>
+ <span class="n"><a name="git_repository_open-21" class="fnlink" href="../../#v0.17.0/group/repository/git_repository_open">git_repository_open</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">repo</span><span class="p">,</span> <span class="n">argv</span><span class="p">[</span><span class="mi">1</span><span class="p">]);</span>
<span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
- <span class="n"><a name="git_repository_open-14" class="fnlink" href="../../#v0.17.0/group/repository/git_repository_open">git_repository_open</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">repo</span><span class="p">,</span> <span class="s">&quot;/opt/libgit2-test/.git&quot;</span><span class="p">);</span>
+ <span class="n"><a name="git_repository_open-22" class="fnlink" href="../../#v0.17.0/group/repository/git_repository_open">git_repository_open</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">repo</span><span class="p">,</span> <span class="s">&quot;/opt/libgit2-test/.git&quot;</span><span class="p">);</span>
<span class="p">}</span></pre></div>
</td>
</tr>
@@ -151,7 +151,7 @@ for storing the value of the current SHA key we&rsquo;re working with.</p>
</td>
<td class=code>
<div class='highlight'><pre> <span class="n">git_oid</span> <span class="n">oid</span><span class="p">;</span>
- <span class="n"><a name="git_oid_fromstr-55" class="fnlink" href="../../#v0.17.0/group/oid/git_oid_fromstr">git_oid_fromstr</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">oid</span><span class="p">,</span> <span class="n">hex</span><span class="p">);</span></pre></div>
+ <span class="n"><a name="git_oid_fromstr-30" class="fnlink" href="../../#v0.17.0/group/oid/git_oid_fromstr">git_oid_fromstr</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">oid</span><span class="p">,</span> <span class="n">hex</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-9'>
@@ -186,7 +186,7 @@ for storing the value of the current SHA key we&rsquo;re working with.</p>
<p>If you have a oid, you can easily get the hex value of the SHA as well.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_oid_fmt-63" class="fnlink" href="../../#v0.17.0/group/oid/git_oid_fmt">git_oid_fmt</a></span><span class="p">(</span><span class="n">out</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span>
+ <div class='highlight'><pre> <span class="n"><a name="git_oid_fmt-38" class="fnlink" href="../../#v0.17.0/group/oid/git_oid_fmt">git_oid_fmt</a></span><span class="p">(</span><span class="n">out</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span>
<span class="n">printf</span><span class="p">(</span><span class="s">&quot;SHA hex string: %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">out</span><span class="p">);</span></pre></div>
</td>
</tr>
@@ -204,7 +204,7 @@ repository.</p>
</td>
<td class=code>
<div class='highlight'><pre> <span class="n">git_odb</span> <span class="o">*</span><span class="n">odb</span><span class="p">;</span>
- <span class="n"><a name="git_repository_odb-16" class="fnlink" href="../../#v0.17.0/group/repository/git_repository_odb">git_repository_odb</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">odb</span><span class="p">,</span> <span class="n">repo</span><span class="p">);</span></pre></div>
+ <span class="n"><a name="git_repository_odb-24" class="fnlink" href="../../#v0.17.0/group/repository/git_repository_odb">git_repository_odb</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">odb</span><span class="p">,</span> <span class="n">repo</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-Raw_Object_Reading'>
@@ -233,7 +233,7 @@ of the object. This allows us to access objects without knowing thier type and
the raw bytes unparsed.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n">error</span> <span class="o">=</span> <span class="n"><a name="git_odb_read-49" class="fnlink" href="../../#v0.17.0/group/odb/git_odb_read">git_odb_read</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">obj</span><span class="p">,</span> <span class="n">odb</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span></pre></div>
+ <div class='highlight'><pre> <span class="n">error</span> <span class="o">=</span> <span class="n"><a name="git_odb_read-43" class="fnlink" href="../../#v0.17.0/group/odb/git_odb_read">git_odb_read</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">obj</span><span class="p">,</span> <span class="n">odb</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-15'>
@@ -248,8 +248,8 @@ text or binary data. For a tree it is a special binary format, so it&rsquo;s unl
hugely helpful as a raw object.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n">data</span> <span class="o">=</span> <span class="p">(</span><span class="k">const</span> <span class="kt">unsigned</span> <span class="kt">char</span> <span class="o">*</span><span class="p">)</span><span class="n"><a name="git_odb_object_data-52" class="fnlink" href="../../#v0.17.0/group/odb/git_odb_object_data">git_odb_object_data</a></span><span class="p">(</span><span class="n">obj</span><span class="p">);</span>
- <span class="n">otype</span> <span class="o">=</span> <span class="n"><a name="git_odb_object_type-54" class="fnlink" href="../../#v0.17.0/group/odb/git_odb_object_type">git_odb_object_type</a></span><span class="p">(</span><span class="n">obj</span><span class="p">);</span></pre></div>
+ <div class='highlight'><pre> <span class="n">data</span> <span class="o">=</span> <span class="p">(</span><span class="k">const</span> <span class="kt">unsigned</span> <span class="kt">char</span> <span class="o">*</span><span class="p">)</span><span class="n"><a name="git_odb_object_data-46" class="fnlink" href="../../#v0.17.0/group/odb/git_odb_object_data">git_odb_object_data</a></span><span class="p">(</span><span class="n">obj</span><span class="p">);</span>
+ <span class="n">otype</span> <span class="o">=</span> <span class="n"><a name="git_odb_object_type-48" class="fnlink" href="../../#v0.17.0/group/odb/git_odb_object_type">git_odb_object_type</a></span><span class="p">(</span><span class="n">obj</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-16'>
@@ -261,9 +261,9 @@ hugely helpful as a raw object.</p>
representation of that value (and vice-versa).</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n">str_type</span> <span class="o">=</span> <span class="n"><a name="git_object_type2string-74" class="fnlink" href="../../#v0.17.0/group/object/git_object_type2string">git_object_type2string</a></span><span class="p">(</span><span class="n">otype</span><span class="p">);</span>
+ <div class='highlight'><pre> <span class="n">str_type</span> <span class="o">=</span> <span class="n"><a name="git_object_type2string-50" class="fnlink" href="../../#v0.17.0/group/object/git_object_type2string">git_object_type2string</a></span><span class="p">(</span><span class="n">otype</span><span class="p">);</span>
<span class="n">printf</span><span class="p">(</span><span class="s">&quot;object length and type: %d, %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span>
- <span class="p">(</span><span class="kt">int</span><span class="p">)</span><span class="n"><a name="git_odb_object_size-53" class="fnlink" href="../../#v0.17.0/group/odb/git_odb_object_size">git_odb_object_size</a></span><span class="p">(</span><span class="n">obj</span><span class="p">),</span>
+ <span class="p">(</span><span class="kt">int</span><span class="p">)</span><span class="n"><a name="git_odb_object_size-47" class="fnlink" href="../../#v0.17.0/group/odb/git_odb_object_size">git_odb_object_size</a></span><span class="p">(</span><span class="n">obj</span><span class="p">),</span>
<span class="n">str_type</span><span class="p">);</span></pre></div>
</td>
</tr>
@@ -276,7 +276,7 @@ representation of that value (and vice-versa).</p>
memory.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_odb_object_free-51" class="fnlink" href="../../#v0.17.0/group/odb/git_odb_object_free">git_odb_object_free</a></span><span class="p">(</span><span class="n">obj</span><span class="p">);</span></pre></div>
+ <div class='highlight'><pre> <span class="n"><a name="git_odb_object_free-45" class="fnlink" href="../../#v0.17.0/group/odb/git_odb_object_free">git_odb_object_free</a></span><span class="p">(</span><span class="n">obj</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-Raw_Object_Writing'>
@@ -301,7 +301,7 @@ that just contains a simple string. Notice that we have to specify the object t
the <code>git_otype</code> enum.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_odb_write-50" class="fnlink" href="../../#v0.17.0/group/odb/git_odb_write">git_odb_write</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">oid</span><span class="p">,</span> <span class="n">odb</span><span class="p">,</span> <span class="s">&quot;test data&quot;</span><span class="p">,</span> <span class="k">sizeof</span><span class="p">(</span><span class="s">&quot;test data&quot;</span><span class="p">)</span> <span class="o">-</span> <span class="mi">1</span><span class="p">,</span> <span class="n">GIT_OBJ_BLOB</span><span class="p">);</span></pre></div>
+ <div class='highlight'><pre> <span class="n"><a name="git_odb_write-44" class="fnlink" href="../../#v0.17.0/group/odb/git_odb_write">git_odb_write</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">oid</span><span class="p">,</span> <span class="n">odb</span><span class="p">,</span> <span class="s">&quot;test data&quot;</span><span class="p">,</span> <span class="k">sizeof</span><span class="p">(</span><span class="s">&quot;test data&quot;</span><span class="p">)</span> <span class="o">-</span> <span class="mi">1</span><span class="p">,</span> <span class="n">GIT_OBJ_BLOB</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-20'>
@@ -313,7 +313,7 @@ the <code>git_otype</code> enum.</p>
object was written to our database.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_oid_fmt-64" class="fnlink" href="../../#v0.17.0/group/oid/git_oid_fmt">git_oid_fmt</a></span><span class="p">(</span><span class="n">out</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span>
+ <div class='highlight'><pre> <span class="n"><a name="git_oid_fmt-39" class="fnlink" href="../../#v0.17.0/group/oid/git_oid_fmt">git_oid_fmt</a></span><span class="p">(</span><span class="n">out</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span>
<span class="n">printf</span><span class="p">(</span><span class="s">&quot;Written Object: %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">out</span><span class="p">);</span></pre></div>
</td>
</tr>
@@ -346,9 +346,9 @@ yourself.</p>
<div class='highlight'><pre> <span class="n">printf</span><span class="p">(</span><span class="s">&quot;</span><span class="se">\n</span><span class="s">*Commit Parsing*</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">);</span>
<span class="n">git_commit</span> <span class="o">*</span><span class="n">commit</span><span class="p">;</span>
- <span class="n"><a name="git_oid_fromstr-56" class="fnlink" href="../../#v0.17.0/group/oid/git_oid_fromstr">git_oid_fromstr</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">oid</span><span class="p">,</span> <span class="s">&quot;f0877d0b841d75172ec404fc9370173dfffc20d1&quot;</span><span class="p">);</span>
+ <span class="n"><a name="git_oid_fromstr-31" class="fnlink" href="../../#v0.17.0/group/oid/git_oid_fromstr">git_oid_fromstr</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">oid</span><span class="p">,</span> <span class="s">&quot;f0877d0b841d75172ec404fc9370173dfffc20d1&quot;</span><span class="p">);</span>
- <span class="n">error</span> <span class="o">=</span> <span class="n"><a name="git_commit_lookup-23" class="fnlink" href="../../#v0.17.0/group/commit/git_commit_lookup">git_commit_lookup</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">commit</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span>
+ <span class="n">error</span> <span class="o">=</span> <span class="n"><a name="git_commit_lookup-57" class="fnlink" href="../../#v0.17.0/group/commit/git_commit_lookup">git_commit_lookup</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">commit</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span>
<span class="k">const</span> <span class="n">git_signature</span> <span class="o">*</span><span class="n">author</span><span class="p">,</span> <span class="o">*</span><span class="n">cmtter</span><span class="p">;</span>
<span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">message</span><span class="p">;</span>
@@ -362,14 +362,14 @@ yourself.</p>
<a class="pilcrow" href="#section-23">&#182;</a>
</div>
<p>Each of the properties of the commit object are accessible via methods, including commonly
-needed variations, such as <code><a name="git_commit_time-33" class="fnlink" href="../../#v0.17.0/group/commit/git_commit_time">git_commit_time</a></code> which returns the author time and <code>_message</code>
+needed variations, such as <code><a name="git_commit_time-67" class="fnlink" href="../../#v0.17.0/group/commit/git_commit_time">git_commit_time</a></code> which returns the author time and <code>_message</code>
which gives you the commit message.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n">message</span> <span class="o">=</span> <span class="n"><a name="git_commit_message-31" class="fnlink" href="../../#v0.17.0/group/commit/git_commit_message">git_commit_message</a></span><span class="p">(</span><span class="n">commit</span><span class="p">);</span>
- <span class="n">author</span> <span class="o">=</span> <span class="n"><a name="git_commit_author-36" class="fnlink" href="../../#v0.17.0/group/commit/git_commit_author">git_commit_author</a></span><span class="p">(</span><span class="n">commit</span><span class="p">);</span>
- <span class="n">cmtter</span> <span class="o">=</span> <span class="n"><a name="git_commit_committer-35" class="fnlink" href="../../#v0.17.0/group/commit/git_commit_committer">git_commit_committer</a></span><span class="p">(</span><span class="n">commit</span><span class="p">);</span>
- <span class="n">ctime</span> <span class="o">=</span> <span class="n"><a name="git_commit_time-34" class="fnlink" href="../../#v0.17.0/group/commit/git_commit_time">git_commit_time</a></span><span class="p">(</span><span class="n">commit</span><span class="p">);</span></pre></div>
+ <div class='highlight'><pre> <span class="n">message</span> <span class="o">=</span> <span class="n"><a name="git_commit_message-65" class="fnlink" href="../../#v0.17.0/group/commit/git_commit_message">git_commit_message</a></span><span class="p">(</span><span class="n">commit</span><span class="p">);</span>
+ <span class="n">author</span> <span class="o">=</span> <span class="n"><a name="git_commit_author-70" class="fnlink" href="../../#v0.17.0/group/commit/git_commit_author">git_commit_author</a></span><span class="p">(</span><span class="n">commit</span><span class="p">);</span>
+ <span class="n">cmtter</span> <span class="o">=</span> <span class="n"><a name="git_commit_committer-69" class="fnlink" href="../../#v0.17.0/group/commit/git_commit_committer">git_commit_committer</a></span><span class="p">(</span><span class="n">commit</span><span class="p">);</span>
+ <span class="n">ctime</span> <span class="o">=</span> <span class="n"><a name="git_commit_time-68" class="fnlink" href="../../#v0.17.0/group/commit/git_commit_time">git_commit_time</a></span><span class="p">(</span><span class="n">commit</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-24'>
@@ -394,13 +394,13 @@ will have one, which is the commit it was based on, and merge commits will have
Commits can technically have any number, though it&rsquo;s pretty rare to have more than two.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n">parents</span> <span class="o">=</span> <span class="n"><a name="git_commit_parentcount-38" class="fnlink" href="../../#v0.17.0/group/commit/git_commit_parentcount">git_commit_parentcount</a></span><span class="p">(</span><span class="n">commit</span><span class="p">);</span>
+ <div class='highlight'><pre> <span class="n">parents</span> <span class="o">=</span> <span class="n"><a name="git_commit_parentcount-72" class="fnlink" href="../../#v0.17.0/group/commit/git_commit_parentcount">git_commit_parentcount</a></span><span class="p">(</span><span class="n">commit</span><span class="p">);</span>
<span class="k">for</span> <span class="p">(</span><span class="n">p</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span><span class="n">p</span> <span class="o">&lt;</span> <span class="n">parents</span><span class="p">;</span><span class="n">p</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
<span class="n">git_commit</span> <span class="o">*</span><span class="n">parent</span><span class="p">;</span>
- <span class="n"><a name="git_commit_parent-39" class="fnlink" href="../../#v0.17.0/group/commit/git_commit_parent">git_commit_parent</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">parent</span><span class="p">,</span> <span class="n">commit</span><span class="p">,</span> <span class="n">p</span><span class="p">);</span>
- <span class="n"><a name="git_oid_fmt-65" class="fnlink" href="../../#v0.17.0/group/oid/git_oid_fmt">git_oid_fmt</a></span><span class="p">(</span><span class="n">out</span><span class="p">,</span> <span class="n"><a name="git_commit_id-30" class="fnlink" href="../../#v0.17.0/group/commit/git_commit_id">git_commit_id</a></span><span class="p">(</span><span class="n">parent</span><span class="p">));</span>
+ <span class="n"><a name="git_commit_parent-73" class="fnlink" href="../../#v0.17.0/group/commit/git_commit_parent">git_commit_parent</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">parent</span><span class="p">,</span> <span class="n">commit</span><span class="p">,</span> <span class="n">p</span><span class="p">);</span>
+ <span class="n"><a name="git_oid_fmt-40" class="fnlink" href="../../#v0.17.0/group/oid/git_oid_fmt">git_oid_fmt</a></span><span class="p">(</span><span class="n">out</span><span class="p">,</span> <span class="n"><a name="git_commit_id-64" class="fnlink" href="../../#v0.17.0/group/commit/git_commit_id">git_commit_id</a></span><span class="p">(</span><span class="n">parent</span><span class="p">));</span>
<span class="n">printf</span><span class="p">(</span><span class="s">&quot;Parent: %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">out</span><span class="p">);</span>
- <span class="n"><a name="git_commit_free-26" class="fnlink" href="../../#v0.17.0/group/commit/git_commit_free">git_commit_free</a></span><span class="p">(</span><span class="n">parent</span><span class="p">);</span>
+ <span class="n"><a name="git_commit_free-60" class="fnlink" href="../../#v0.17.0/group/commit/git_commit_free">git_commit_free</a></span><span class="p">(</span><span class="n">parent</span><span class="p">);</span>
<span class="p">}</span></pre></div>
</td>
</tr>
@@ -413,7 +413,7 @@ Commits can technically have any number, though it&rsquo;s pretty rare to have m
all the objects you open and parse.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_commit_free-27" class="fnlink" href="../../#v0.17.0/group/commit/git_commit_free">git_commit_free</a></span><span class="p">(</span><span class="n">commit</span><span class="p">);</span></pre></div>
+ <div class='highlight'><pre> <span class="n"><a name="git_commit_free-61" class="fnlink" href="../../#v0.17.0/group/commit/git_commit_free">git_commit_free</a></span><span class="p">(</span><span class="n">commit</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-Writing_Commits'>
@@ -445,9 +445,9 @@ and email should be found in the <code>user.name</code> and <code>user.email</co
section of this example file to see how to access config values.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_signature_new-1" class="fnlink" href="../../#v0.17.0/group/signature/git_signature_new">git_signature_new</a></span><span class="p">((</span><span class="n">git_signature</span> <span class="o">**</span><span class="p">)</span><span class="o">&amp;</span><span class="n">author</span><span class="p">,</span> <span class="s">&quot;Scott Chacon&quot;</span><span class="p">,</span> <span class="s">&quot;schacon@gmail.com&quot;</span><span class="p">,</span>
+ <div class='highlight'><pre> <span class="n"><a name="git_signature_new-14" class="fnlink" href="../../#v0.17.0/group/signature/git_signature_new">git_signature_new</a></span><span class="p">((</span><span class="n">git_signature</span> <span class="o">**</span><span class="p">)</span><span class="o">&amp;</span><span class="n">author</span><span class="p">,</span> <span class="s">&quot;Scott Chacon&quot;</span><span class="p">,</span> <span class="s">&quot;schacon@gmail.com&quot;</span><span class="p">,</span>
<span class="mi">123456789</span><span class="p">,</span> <span class="mi">60</span><span class="p">);</span>
- <span class="n"><a name="git_signature_new-2" class="fnlink" href="../../#v0.17.0/group/signature/git_signature_new">git_signature_new</a></span><span class="p">((</span><span class="n">git_signature</span> <span class="o">**</span><span class="p">)</span><span class="o">&amp;</span><span class="n">cmtter</span><span class="p">,</span> <span class="s">&quot;Scott A Chacon&quot;</span><span class="p">,</span> <span class="s">&quot;scott@github.com&quot;</span><span class="p">,</span>
+ <span class="n"><a name="git_signature_new-15" class="fnlink" href="../../#v0.17.0/group/signature/git_signature_new">git_signature_new</a></span><span class="p">((</span><span class="n">git_signature</span> <span class="o">**</span><span class="p">)</span><span class="o">&amp;</span><span class="n">cmtter</span><span class="p">,</span> <span class="s">&quot;Scott A Chacon&quot;</span><span class="p">,</span> <span class="s">&quot;scott@github.com&quot;</span><span class="p">,</span>
<span class="mi">987654321</span><span class="p">,</span> <span class="mi">90</span><span class="p">);</span></pre></div>
</td>
</tr>
@@ -460,10 +460,10 @@ section of this example file to see how to access config values.</p>
objects to create the commit with, but you can also use</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_oid_fromstr-57" class="fnlink" href="../../#v0.17.0/group/oid/git_oid_fromstr">git_oid_fromstr</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">tree_id</span><span class="p">,</span> <span class="s">&quot;28873d96b4e8f4e33ea30f4c682fd325f7ba56ac&quot;</span><span class="p">);</span>
- <span class="n"><a name="git_tree_lookup-41" class="fnlink" href="../../#v0.17.0/group/tree/git_tree_lookup">git_tree_lookup</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">tree</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">tree_id</span><span class="p">);</span>
- <span class="n"><a name="git_oid_fromstr-58" class="fnlink" href="../../#v0.17.0/group/oid/git_oid_fromstr">git_oid_fromstr</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">parent_id</span><span class="p">,</span> <span class="s">&quot;f0877d0b841d75172ec404fc9370173dfffc20d1&quot;</span><span class="p">);</span>
- <span class="n"><a name="git_commit_lookup-24" class="fnlink" href="../../#v0.17.0/group/commit/git_commit_lookup">git_commit_lookup</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">parent</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">parent_id</span><span class="p">);</span></pre></div>
+ <div class='highlight'><pre> <span class="n"><a name="git_oid_fromstr-32" class="fnlink" href="../../#v0.17.0/group/oid/git_oid_fromstr">git_oid_fromstr</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">tree_id</span><span class="p">,</span> <span class="s">&quot;28873d96b4e8f4e33ea30f4c682fd325f7ba56ac&quot;</span><span class="p">);</span>
+ <span class="n"><a name="git_tree_lookup-1" class="fnlink" href="../../#v0.17.0/group/tree/git_tree_lookup">git_tree_lookup</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">tree</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">tree_id</span><span class="p">);</span>
+ <span class="n"><a name="git_oid_fromstr-33" class="fnlink" href="../../#v0.17.0/group/oid/git_oid_fromstr">git_oid_fromstr</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">parent_id</span><span class="p">,</span> <span class="s">&quot;f0877d0b841d75172ec404fc9370173dfffc20d1&quot;</span><span class="p">);</span>
+ <span class="n"><a name="git_commit_lookup-58" class="fnlink" href="../../#v0.17.0/group/commit/git_commit_lookup">git_commit_lookup</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">parent</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">parent_id</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-30'>
@@ -475,7 +475,7 @@ objects to create the commit with, but you can also use</p>
the commit. The SHA key is written to the <code>commit_id</code> variable here.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_commit_create_v-40" class="fnlink" href="../../#v0.17.0/group/commit/git_commit_create_v">git_commit_create_v</a></span><span class="p">(</span>
+ <div class='highlight'><pre> <span class="n"><a name="git_commit_create_v-74" class="fnlink" href="../../#v0.17.0/group/commit/git_commit_create_v">git_commit_create_v</a></span><span class="p">(</span>
<span class="o">&amp;</span><span class="n">commit_id</span><span class="p">,</span> <span class="cm">/* out id */</span>
<span class="n">repo</span><span class="p">,</span>
<span class="nb">NULL</span><span class="p">,</span> <span class="cm">/* do not update the HEAD */</span>
@@ -495,7 +495,7 @@ the commit. The SHA key is written to the <code>commit_id</code> variable here.
<p>Now we can take a look at the commit SHA we&rsquo;ve generated.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_oid_fmt-66" class="fnlink" href="../../#v0.17.0/group/oid/git_oid_fmt">git_oid_fmt</a></span><span class="p">(</span><span class="n">out</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">commit_id</span><span class="p">);</span>
+ <div class='highlight'><pre> <span class="n"><a name="git_oid_fmt-41" class="fnlink" href="../../#v0.17.0/group/oid/git_oid_fmt">git_oid_fmt</a></span><span class="p">(</span><span class="n">out</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">commit_id</span><span class="p">);</span>
<span class="n">printf</span><span class="p">(</span><span class="s">&quot;New Commit: %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">out</span><span class="p">);</span></pre></div>
</td>
</tr>
@@ -525,9 +525,9 @@ to the commit lookup, parsing and creation methods, since the objects themselves
way that we would a commit (or any other) object.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_oid_fromstr-59" class="fnlink" href="../../#v0.17.0/group/oid/git_oid_fromstr">git_oid_fromstr</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">oid</span><span class="p">,</span> <span class="s">&quot;bc422d45275aca289c51d79830b45cecebff7c3a&quot;</span><span class="p">);</span>
+ <div class='highlight'><pre> <span class="n"><a name="git_oid_fromstr-34" class="fnlink" href="../../#v0.17.0/group/oid/git_oid_fromstr">git_oid_fromstr</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">oid</span><span class="p">,</span> <span class="s">&quot;bc422d45275aca289c51d79830b45cecebff7c3a&quot;</span><span class="p">);</span>
- <span class="n">error</span> <span class="o">=</span> <span class="n"><a name="git_tag_lookup-18" class="fnlink" href="../../#v0.17.0/group/tag/git_tag_lookup">git_tag_lookup</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">tag</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span></pre></div>
+ <span class="n">error</span> <span class="o">=</span> <span class="n"><a name="git_tag_lookup-9" class="fnlink" href="../../#v0.17.0/group/tag/git_tag_lookup">git_tag_lookup</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">tag</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-34'>
@@ -540,13 +540,13 @@ way that we would a commit (or any other) object.</p>
the tagger (a git_signature &ndash; name, email, timestamp), and the tag message.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_tag_target-19" class="fnlink" href="../../#v0.17.0/group/tag/git_tag_target">git_tag_target</a></span><span class="p">((</span><span class="n">git_object</span> <span class="o">**</span><span class="p">)</span><span class="o">&amp;</span><span class="n">commit</span><span class="p">,</span> <span class="n">tag</span><span class="p">);</span>
- <span class="n">tname</span> <span class="o">=</span> <span class="n"><a name="git_tag_name-21" class="fnlink" href="../../#v0.17.0/group/tag/git_tag_name">git_tag_name</a></span><span class="p">(</span><span class="n">tag</span><span class="p">);</span> <span class="c1">// &quot;test&quot;</span>
- <span class="n">ttype</span> <span class="o">=</span> <span class="n"><a name="git_tag_type-20" class="fnlink" href="../../#v0.17.0/group/tag/git_tag_type">git_tag_type</a></span><span class="p">(</span><span class="n">tag</span><span class="p">);</span> <span class="c1">// GIT_OBJ_COMMIT (otype enum)</span>
- <span class="n">tmessage</span> <span class="o">=</span> <span class="n"><a name="git_tag_message-22" class="fnlink" href="../../#v0.17.0/group/tag/git_tag_message">git_tag_message</a></span><span class="p">(</span><span class="n">tag</span><span class="p">);</span> <span class="c1">// &quot;tag message\n&quot;</span>
+ <div class='highlight'><pre> <span class="n"><a name="git_tag_target-10" class="fnlink" href="../../#v0.17.0/group/tag/git_tag_target">git_tag_target</a></span><span class="p">((</span><span class="n">git_object</span> <span class="o">**</span><span class="p">)</span><span class="o">&amp;</span><span class="n">commit</span><span class="p">,</span> <span class="n">tag</span><span class="p">);</span>
+ <span class="n">tname</span> <span class="o">=</span> <span class="n"><a name="git_tag_name-12" class="fnlink" href="../../#v0.17.0/group/tag/git_tag_name">git_tag_name</a></span><span class="p">(</span><span class="n">tag</span><span class="p">);</span> <span class="c1">// &quot;test&quot;</span>
+ <span class="n">ttype</span> <span class="o">=</span> <span class="n"><a name="git_tag_type-11" class="fnlink" href="../../#v0.17.0/group/tag/git_tag_type">git_tag_type</a></span><span class="p">(</span><span class="n">tag</span><span class="p">);</span> <span class="c1">// GIT_OBJ_COMMIT (otype enum)</span>
+ <span class="n">tmessage</span> <span class="o">=</span> <span class="n"><a name="git_tag_message-13" class="fnlink" href="../../#v0.17.0/group/tag/git_tag_message">git_tag_message</a></span><span class="p">(</span><span class="n">tag</span><span class="p">);</span> <span class="c1">// &quot;tag message\n&quot;</span>
<span class="n">printf</span><span class="p">(</span><span class="s">&quot;Tag Message: %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">tmessage</span><span class="p">);</span>
- <span class="n"><a name="git_commit_free-28" class="fnlink" href="../../#v0.17.0/group/commit/git_commit_free">git_commit_free</a></span><span class="p">(</span><span class="n">commit</span><span class="p">);</span></pre></div>
+ <span class="n"><a name="git_commit_free-62" class="fnlink" href="../../#v0.17.0/group/commit/git_commit_free">git_commit_free</a></span><span class="p">(</span><span class="n">commit</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-Tree_Parsing'>
@@ -575,8 +575,8 @@ traversing tree entries.</p>
<p>Create the oid and lookup the tree object just like the other objects.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_oid_fromstr-60" class="fnlink" href="../../#v0.17.0/group/oid/git_oid_fromstr">git_oid_fromstr</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">oid</span><span class="p">,</span> <span class="s">&quot;2a741c18ac5ff082a7caaec6e74db3075a1906b5&quot;</span><span class="p">);</span>
- <span class="n"><a name="git_tree_lookup-42" class="fnlink" href="../../#v0.17.0/group/tree/git_tree_lookup">git_tree_lookup</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">tree</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span></pre></div>
+ <div class='highlight'><pre> <span class="n"><a name="git_oid_fromstr-35" class="fnlink" href="../../#v0.17.0/group/oid/git_oid_fromstr">git_oid_fromstr</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">oid</span><span class="p">,</span> <span class="s">&quot;2a741c18ac5ff082a7caaec6e74db3075a1906b5&quot;</span><span class="p">);</span>
+ <span class="n"><a name="git_tree_lookup-2" class="fnlink" href="../../#v0.17.0/group/tree/git_tree_lookup">git_tree_lookup</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">tree</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-37'>
@@ -587,11 +587,11 @@ traversing tree entries.</p>
<p>Getting the count of entries in the tree so you can iterate over them if you want to.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="kt">int</span> <span class="n">cnt</span> <span class="o">=</span> <span class="n"><a name="git_tree_entrycount-43" class="fnlink" href="../../#v0.17.0/group/tree/git_tree_entrycount">git_tree_entrycount</a></span><span class="p">(</span><span class="n">tree</span><span class="p">);</span> <span class="c1">// 3</span>
+ <div class='highlight'><pre> <span class="kt">int</span> <span class="n">cnt</span> <span class="o">=</span> <span class="n"><a name="git_tree_entrycount-3" class="fnlink" href="../../#v0.17.0/group/tree/git_tree_entrycount">git_tree_entrycount</a></span><span class="p">(</span><span class="n">tree</span><span class="p">);</span> <span class="c1">// 3</span>
<span class="n">printf</span><span class="p">(</span><span class="s">&quot;tree entries: %d</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">cnt</span><span class="p">);</span>
- <span class="n">entry</span> <span class="o">=</span> <span class="n"><a name="git_tree_entry_byindex-45" class="fnlink" href="../../#v0.17.0/group/tree/git_tree_entry_byindex">git_tree_entry_byindex</a></span><span class="p">(</span><span class="n">tree</span><span class="p">,</span> <span class="mi">0</span><span class="p">);</span>
- <span class="n">printf</span><span class="p">(</span><span class="s">&quot;Entry name: %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n"><a name="git_tree_entry_name-46" class="fnlink" href="../../#v0.17.0/group/tree/git_tree_entry_name">git_tree_entry_name</a></span><span class="p">(</span><span class="n">entry</span><span class="p">));</span> <span class="c1">// &quot;hello.c&quot;</span></pre></div>
+ <span class="n">entry</span> <span class="o">=</span> <span class="n"><a name="git_tree_entry_byindex-5" class="fnlink" href="../../#v0.17.0/group/tree/git_tree_entry_byindex">git_tree_entry_byindex</a></span><span class="p">(</span><span class="n">tree</span><span class="p">,</span> <span class="mi">0</span><span class="p">);</span>
+ <span class="n">printf</span><span class="p">(</span><span class="s">&quot;Entry name: %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n"><a name="git_tree_entry_name-6" class="fnlink" href="../../#v0.17.0/group/tree/git_tree_entry_name">git_tree_entry_name</a></span><span class="p">(</span><span class="n">entry</span><span class="p">));</span> <span class="c1">// &quot;hello.c&quot;</span></pre></div>
</td>
</tr>
<tr id='section-38'>
@@ -602,8 +602,8 @@ traversing tree entries.</p>
<p>You can also access tree entries by name if you know the name of the entry you&rsquo;re looking for.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n">entry</span> <span class="o">=</span> <span class="n"><a name="git_tree_entry_byname-44" class="fnlink" href="../../#v0.17.0/group/tree/git_tree_entry_byname">git_tree_entry_byname</a></span><span class="p">(</span><span class="n">tree</span><span class="p">,</span> <span class="s">&quot;hello.c&quot;</span><span class="p">);</span>
- <span class="n"><a name="git_tree_entry_name-47" class="fnlink" href="../../#v0.17.0/group/tree/git_tree_entry_name">git_tree_entry_name</a></span><span class="p">(</span><span class="n">entry</span><span class="p">);</span> <span class="c1">// &quot;hello.c&quot;</span></pre></div>
+ <div class='highlight'><pre> <span class="n">entry</span> <span class="o">=</span> <span class="n"><a name="git_tree_entry_byname-4" class="fnlink" href="../../#v0.17.0/group/tree/git_tree_entry_byname">git_tree_entry_byname</a></span><span class="p">(</span><span class="n">tree</span><span class="p">,</span> <span class="s">&quot;hello.c&quot;</span><span class="p">);</span>
+ <span class="n"><a name="git_tree_entry_name-7" class="fnlink" href="../../#v0.17.0/group/tree/git_tree_entry_name">git_tree_entry_name</a></span><span class="p">(</span><span class="n">entry</span><span class="p">);</span> <span class="c1">// &quot;hello.c&quot;</span></pre></div>
</td>
</tr>
<tr id='section-39'>
@@ -615,7 +615,7 @@ traversing tree entries.</p>
of submodules) that it points to. You can also get the mode if you want.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_tree_entry_to_object-48" class="fnlink" href="../../#v0.17.0/group/tree/git_tree_entry_to_object">git_tree_entry_to_object</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">objt</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="n">entry</span><span class="p">);</span> <span class="c1">// blob</span></pre></div>
+ <div class='highlight'><pre> <span class="n"><a name="git_tree_entry_to_object-8" class="fnlink" href="../../#v0.17.0/group/tree/git_tree_entry_to_object">git_tree_entry_to_object</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">objt</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="n">entry</span><span class="p">);</span> <span class="c1">// blob</span></pre></div>
</td>
</tr>
<tr id='section-40'>
@@ -626,7 +626,7 @@ of submodules) that it points to. You can also get the mode if you want.</p>
<p>Remember to close the looked-up object once you are done using it</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_object_free-73" class="fnlink" href="../../#v0.17.0/group/object/git_object_free">git_object_free</a></span><span class="p">(</span><span class="n">objt</span><span class="p">);</span></pre></div>
+ <div class='highlight'><pre> <span class="n"><a name="git_object_free-49" class="fnlink" href="../../#v0.17.0/group/object/git_object_free">git_object_free</a></span><span class="p">(</span><span class="n">objt</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-Blob_Parsing'>
@@ -646,8 +646,8 @@ getting the oid back so you don&rsquo;t have to do all those steps yourself.</p>
<div class='highlight'><pre> <span class="n">printf</span><span class="p">(</span><span class="s">&quot;</span><span class="se">\n</span><span class="s">*Blob Parsing*</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">);</span>
<span class="n">git_blob</span> <span class="o">*</span><span class="n">blob</span><span class="p">;</span>
- <span class="n"><a name="git_oid_fromstr-61" class="fnlink" href="../../#v0.17.0/group/oid/git_oid_fromstr">git_oid_fromstr</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">oid</span><span class="p">,</span> <span class="s">&quot;af7574ea73f7b166f869ef1a39be126d9a186ae0&quot;</span><span class="p">);</span>
- <span class="n"><a name="git_blob_lookup-6" class="fnlink" href="../../#v0.17.0/group/blob/git_blob_lookup">git_blob_lookup</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">blob</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span></pre></div>
+ <span class="n"><a name="git_oid_fromstr-36" class="fnlink" href="../../#v0.17.0/group/oid/git_oid_fromstr">git_oid_fromstr</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">oid</span><span class="p">,</span> <span class="s">&quot;af7574ea73f7b166f869ef1a39be126d9a186ae0&quot;</span><span class="p">);</span>
+ <span class="n"><a name="git_blob_lookup-75" class="fnlink" href="../../#v0.17.0/group/blob/git_blob_lookup">git_blob_lookup</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">blob</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-42'>
@@ -657,12 +657,12 @@ getting the oid back so you don&rsquo;t have to do all those steps yourself.</p>
</div>
<p>You can access a buffer with the raw contents of the blob directly.
Note that this buffer may not be contain ASCII data for certain blobs (e.g. binary files):
-do not consider the buffer a NULL-terminated string, and use the <code><a name="git_blob_rawsize-8" class="fnlink" href="../../#v0.17.0/group/blob/git_blob_rawsize">git_blob_rawsize</a></code> attribute to
+do not consider the buffer a NULL-terminated string, and use the <code><a name="git_blob_rawsize-77" class="fnlink" href="../../#v0.17.0/group/blob/git_blob_rawsize">git_blob_rawsize</a></code> attribute to
find out its exact size in bytes</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n">printf</span><span class="p">(</span><span class="s">&quot;Blob Size: %ld</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n"><a name="git_blob_rawsize-9" class="fnlink" href="../../#v0.17.0/group/blob/git_blob_rawsize">git_blob_rawsize</a></span><span class="p">(</span><span class="n">blob</span><span class="p">));</span> <span class="c1">// 8</span>
- <span class="n"><a name="git_blob_rawcontent-7" class="fnlink" href="../../#v0.17.0/group/blob/git_blob_rawcontent">git_blob_rawcontent</a></span><span class="p">(</span><span class="n">blob</span><span class="p">);</span> <span class="c1">// &quot;content&quot;</span></pre></div>
+ <div class='highlight'><pre> <span class="n">printf</span><span class="p">(</span><span class="s">&quot;Blob Size: %ld</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n"><a name="git_blob_rawsize-78" class="fnlink" href="../../#v0.17.0/group/blob/git_blob_rawsize">git_blob_rawsize</a></span><span class="p">(</span><span class="n">blob</span><span class="p">));</span> <span class="c1">// 8</span>
+ <span class="n"><a name="git_blob_rawcontent-76" class="fnlink" href="../../#v0.17.0/group/blob/git_blob_rawcontent">git_blob_rawcontent</a></span><span class="p">(</span><span class="n">blob</span><span class="p">);</span> <span class="c1">// &quot;content&quot;</span></pre></div>
</td>
</tr>
<tr id='section-Revwalking'>
@@ -683,7 +683,7 @@ type functionality.</p>
<span class="n">git_revwalk</span> <span class="o">*</span><span class="n">walk</span><span class="p">;</span>
<span class="n">git_commit</span> <span class="o">*</span><span class="n">wcommit</span><span class="p">;</span>
- <span class="n"><a name="git_oid_fromstr-62" class="fnlink" href="../../#v0.17.0/group/oid/git_oid_fromstr">git_oid_fromstr</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">oid</span><span class="p">,</span> <span class="s">&quot;f0877d0b841d75172ec404fc9370173dfffc20d1&quot;</span><span class="p">);</span></pre></div>
+ <span class="n"><a name="git_oid_fromstr-37" class="fnlink" href="../../#v0.17.0/group/oid/git_oid_fromstr">git_oid_fromstr</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">oid</span><span class="p">,</span> <span class="s">&quot;f0877d0b841d75172ec404fc9370173dfffc20d1&quot;</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-44'>
@@ -699,9 +699,9 @@ want to emulate <code>git log branch1..branch2</code>, you would push the oid of
of <code>branch1</code>.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_revwalk_new-68" class="fnlink" href="../../#v0.17.0/group/revwalk/git_revwalk_new">git_revwalk_new</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">walk</span><span class="p">,</span> <span class="n">repo</span><span class="p">);</span>
- <span class="n"><a name="git_revwalk_sorting-71" class="fnlink" href="../../#v0.17.0/group/revwalk/git_revwalk_sorting">git_revwalk_sorting</a></span><span class="p">(</span><span class="n">walk</span><span class="p">,</span> <span class="n">GIT_SORT_TOPOLOGICAL</span> <span class="o">|</span> <span class="n">GIT_SORT_REVERSE</span><span class="p">);</span>
- <span class="n"><a name="git_revwalk_push-69" class="fnlink" href="../../#v0.17.0/group/revwalk/git_revwalk_push">git_revwalk_push</a></span><span class="p">(</span><span class="n">walk</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span>
+ <div class='highlight'><pre> <span class="n"><a name="git_revwalk_new-16" class="fnlink" href="../../#v0.17.0/group/revwalk/git_revwalk_new">git_revwalk_new</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">walk</span><span class="p">,</span> <span class="n">repo</span><span class="p">);</span>
+ <span class="n"><a name="git_revwalk_sorting-19" class="fnlink" href="../../#v0.17.0/group/revwalk/git_revwalk_sorting">git_revwalk_sorting</a></span><span class="p">(</span><span class="n">walk</span><span class="p">,</span> <span class="n">GIT_SORT_TOPOLOGICAL</span> <span class="o">|</span> <span class="n">GIT_SORT_REVERSE</span><span class="p">);</span>
+ <span class="n"><a name="git_revwalk_push-17" class="fnlink" href="../../#v0.17.0/group/revwalk/git_revwalk_push">git_revwalk_push</a></span><span class="p">(</span><span class="n">walk</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span>
<span class="k">const</span> <span class="n">git_signature</span> <span class="o">*</span><span class="n">cauth</span><span class="p">;</span>
<span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">cmsg</span><span class="p">;</span></pre></div>
@@ -719,12 +719,12 @@ note that this operation is specially fast since the raw contents of the commit
be cached in memory</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="k">while</span> <span class="p">((</span><span class="n"><a name="git_revwalk_next-70" class="fnlink" href="../../#v0.17.0/group/revwalk/git_revwalk_next">git_revwalk_next</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">oid</span><span class="p">,</span> <span class="n">walk</span><span class="p">))</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
- <span class="n">error</span> <span class="o">=</span> <span class="n"><a name="git_commit_lookup-25" class="fnlink" href="../../#v0.17.0/group/commit/git_commit_lookup">git_commit_lookup</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">wcommit</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span>
- <span class="n">cmsg</span> <span class="o">=</span> <span class="n"><a name="git_commit_message-32" class="fnlink" href="../../#v0.17.0/group/commit/git_commit_message">git_commit_message</a></span><span class="p">(</span><span class="n">wcommit</span><span class="p">);</span>
- <span class="n">cauth</span> <span class="o">=</span> <span class="n"><a name="git_commit_author-37" class="fnlink" href="../../#v0.17.0/group/commit/git_commit_author">git_commit_author</a></span><span class="p">(</span><span class="n">wcommit</span><span class="p">);</span>
+ <div class='highlight'><pre> <span class="k">while</span> <span class="p">((</span><span class="n"><a name="git_revwalk_next-18" class="fnlink" href="../../#v0.17.0/group/revwalk/git_revwalk_next">git_revwalk_next</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">oid</span><span class="p">,</span> <span class="n">walk</span><span class="p">))</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+ <span class="n">error</span> <span class="o">=</span> <span class="n"><a name="git_commit_lookup-59" class="fnlink" href="../../#v0.17.0/group/commit/git_commit_lookup">git_commit_lookup</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">wcommit</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span>
+ <span class="n">cmsg</span> <span class="o">=</span> <span class="n"><a name="git_commit_message-66" class="fnlink" href="../../#v0.17.0/group/commit/git_commit_message">git_commit_message</a></span><span class="p">(</span><span class="n">wcommit</span><span class="p">);</span>
+ <span class="n">cauth</span> <span class="o">=</span> <span class="n"><a name="git_commit_author-71" class="fnlink" href="../../#v0.17.0/group/commit/git_commit_author">git_commit_author</a></span><span class="p">(</span><span class="n">wcommit</span><span class="p">);</span>
<span class="n">printf</span><span class="p">(</span><span class="s">&quot;%s (%s)</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">cmsg</span><span class="p">,</span> <span class="n">cauth</span><span class="o">-&gt;</span><span class="n">email</span><span class="p">);</span>
- <span class="n"><a name="git_commit_free-29" class="fnlink" href="../../#v0.17.0/group/commit/git_commit_free">git_commit_free</a></span><span class="p">(</span><span class="n">wcommit</span><span class="p">);</span>
+ <span class="n"><a name="git_commit_free-63" class="fnlink" href="../../#v0.17.0/group/commit/git_commit_free">git_commit_free</a></span><span class="p">(</span><span class="n">wcommit</span><span class="p">);</span>
<span class="p">}</span></pre></div>
</td>
</tr>
@@ -738,7 +738,7 @@ Also, make sure that the repository being walked it not deallocated while the wa
progress, or it will result in undefined behavior</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_revwalk_free-72" class="fnlink" href="../../#v0.17.0/group/revwalk/git_revwalk_free">git_revwalk_free</a></span><span class="p">(</span><span class="n">walk</span><span class="p">);</span></pre></div>
+ <div class='highlight'><pre> <span class="n"><a name="git_revwalk_free-20" class="fnlink" href="../../#v0.17.0/group/revwalk/git_revwalk_free">git_revwalk_free</a></span><span class="p">(</span><span class="n">walk</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-Index_File_Manipulation'>
@@ -768,7 +768,7 @@ here, or you can open and manipulate any index file with <code>git_index_open_ba
for the repository will be located and loaded from disk.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_repository_index-17" class="fnlink" href="../../#v0.17.0/group/repository/git_repository_index">git_repository_index</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">index</span><span class="p">,</span> <span class="n">repo</span><span class="p">);</span></pre></div>
+ <div class='highlight'><pre> <span class="n"><a name="git_repository_index-25" class="fnlink" href="../../#v0.17.0/group/repository/git_repository_index">git_repository_index</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">index</span><span class="p">,</span> <span class="n">repo</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-49'>
@@ -782,16 +782,16 @@ to help determine what to inspect for changes (ctime, mtime, dev, ino, uid, gid,
All these properties are exported publicly in the <code>git_index_entry</code> struct</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n">ecount</span> <span class="o">=</span> <span class="n"><a name="git_index_entrycount-12" class="fnlink" href="../../#v0.17.0/group/index/git_index_entrycount">git_index_entrycount</a></span><span class="p">(</span><span class="n">index</span><span class="p">);</span>
+ <div class='highlight'><pre> <span class="n">ecount</span> <span class="o">=</span> <span class="n"><a name="git_index_entrycount-53" class="fnlink" href="../../#v0.17.0/group/index/git_index_entrycount">git_index_entrycount</a></span><span class="p">(</span><span class="n">index</span><span class="p">);</span>
<span class="k">for</span> <span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="n">ecount</span><span class="p">;</span> <span class="o">++</span><span class="n">i</span><span class="p">)</span> <span class="p">{</span>
- <span class="n">git_index_entry</span> <span class="o">*</span><span class="n">e</span> <span class="o">=</span> <span class="n"><a name="git_index_get-11" class="fnlink" href="../../#v0.17.0/group/index/git_index_get">git_index_get</a></span><span class="p">(</span><span class="n">index</span><span class="p">,</span> <span class="n">i</span><span class="p">);</span>
+ <span class="n">git_index_entry</span> <span class="o">*</span><span class="n">e</span> <span class="o">=</span> <span class="n"><a name="git_index_get-52" class="fnlink" href="../../#v0.17.0/group/index/git_index_get">git_index_get</a></span><span class="p">(</span><span class="n">index</span><span class="p">,</span> <span class="n">i</span><span class="p">);</span>
<span class="n">printf</span><span class="p">(</span><span class="s">&quot;path: %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">e</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">);</span>
<span class="n">printf</span><span class="p">(</span><span class="s">&quot;mtime: %d</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="p">(</span><span class="kt">int</span><span class="p">)</span><span class="n">e</span><span class="o">-&gt;</span><span class="n">mtime</span><span class="p">.</span><span class="n">seconds</span><span class="p">);</span>
<span class="n">printf</span><span class="p">(</span><span class="s">&quot;fs: %d</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="p">(</span><span class="kt">int</span><span class="p">)</span><span class="n">e</span><span class="o">-&gt;</span><span class="n">file_size</span><span class="p">);</span>
<span class="p">}</span>
- <span class="n"><a name="git_index_free-10" class="fnlink" href="../../#v0.17.0/group/index/git_index_free">git_index_free</a></span><span class="p">(</span><span class="n">index</span><span class="p">);</span></pre></div>
+ <span class="n"><a name="git_index_free-51" class="fnlink" href="../../#v0.17.0/group/index/git_index_free">git_index_free</a></span><span class="p">(</span><span class="n">index</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-References'>
@@ -835,16 +835,16 @@ resolve them to the SHA, then print both values out.</p>
<td class=code>
<div class='highlight'><pre> <span class="k">for</span> <span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="n">ref_list</span><span class="p">.</span><span class="n">count</span><span class="p">;</span> <span class="o">++</span><span class="n">i</span><span class="p">)</span> <span class="p">{</span>
<span class="n">refname</span> <span class="o">=</span> <span class="n">ref_list</span><span class="p">.</span><span class="n">strings</span><span class="p">[</span><span class="n">i</span><span class="p">];</span>
- <span class="n"><a name="git_reference_lookup-75" class="fnlink" href="../../#v0.17.0/group/reference/git_reference_lookup">git_reference_lookup</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">ref</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="n">refname</span><span class="p">);</span>
+ <span class="n"><a name="git_reference_lookup-26" class="fnlink" href="../../#v0.17.0/group/reference/git_reference_lookup">git_reference_lookup</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">ref</span><span class="p">,</span> <span class="n">repo</span><span class="p">,</span> <span class="n">refname</span><span class="p">);</span>
- <span class="k">switch</span> <span class="p">(</span><span class="n"><a name="git_reference_type-78" class="fnlink" href="../../#v0.17.0/group/reference/git_reference_type">git_reference_type</a></span><span class="p">(</span><span class="n">ref</span><span class="p">))</span> <span class="p">{</span>
+ <span class="k">switch</span> <span class="p">(</span><span class="n"><a name="git_reference_type-29" class="fnlink" href="../../#v0.17.0/group/reference/git_reference_type">git_reference_type</a></span><span class="p">(</span><span class="n">ref</span><span class="p">))</span> <span class="p">{</span>
<span class="k">case</span> <span class="n">GIT_REF_OID</span>:
- <span class="n"><a name="git_oid_fmt-67" class="fnlink" href="../../#v0.17.0/group/oid/git_oid_fmt">git_oid_fmt</a></span><span class="p">(</span><span class="n">out</span><span class="p">,</span> <span class="n"><a name="git_reference_oid-76" class="fnlink" href="../../#v0.17.0/group/reference/git_reference_oid">git_reference_oid</a></span><span class="p">(</span><span class="n">ref</span><span class="p">));</span>
+ <span class="n"><a name="git_oid_fmt-42" class="fnlink" href="../../#v0.17.0/group/oid/git_oid_fmt">git_oid_fmt</a></span><span class="p">(</span><span class="n">out</span><span class="p">,</span> <span class="n"><a name="git_reference_oid-27" class="fnlink" href="../../#v0.17.0/group/reference/git_reference_oid">git_reference_oid</a></span><span class="p">(</span><span class="n">ref</span><span class="p">));</span>
<span class="n">printf</span><span class="p">(</span><span class="s">&quot;%s [%s]</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">refname</span><span class="p">,</span> <span class="n">out</span><span class="p">);</span>
<span class="k">break</span><span class="p">;</span>
<span class="k">case</span> <span class="n">GIT_REF_SYMBOLIC</span>:
- <span class="n">printf</span><span class="p">(</span><span class="s">&quot;%s =&gt; %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">refname</span><span class="p">,</span> <span class="n"><a name="git_reference_target-77" class="fnlink" href="../../#v0.17.0/group/reference/git_reference_target">git_reference_target</a></span><span class="p">(</span><span class="n">ref</span><span class="p">));</span>
+ <span class="n">printf</span><span class="p">(</span><span class="s">&quot;%s =&gt; %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">refname</span><span class="p">,</span> <span class="n"><a name="git_reference_target-28" class="fnlink" href="../../#v0.17.0/group/reference/git_reference_target">git_reference_target</a></span><span class="p">(</span><span class="n">ref</span><span class="p">));</span>
<span class="k">break</span><span class="p">;</span>
<span class="nl">default:</span>
<span class="n">fprintf</span><span class="p">(</span><span class="n">stderr</span><span class="p">,</span> <span class="s">&quot;Unexpected reference type</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">);</span>
@@ -882,12 +882,12 @@ any of the accessible config file locations (system, global, local).</p>
<p>Open a config object so we can read global values from it.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_config_open_ondisk-3" class="fnlink" href="../../#v0.17.0/group/config/git_config_open_ondisk">git_config_open_ondisk</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">cfg</span><span class="p">,</span> <span class="s">&quot;~/.gitconfig&quot;</span><span class="p">);</span>
+ <div class='highlight'><pre> <span class="n"><a name="git_config_open_ondisk-54" class="fnlink" href="../../#v0.17.0/group/config/git_config_open_ondisk">git_config_open_ondisk</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">cfg</span><span class="p">,</span> <span class="s">&quot;~/.gitconfig&quot;</span><span class="p">);</span>
- <span class="n"><a name="git_config_get_int32-4" class="fnlink" href="../../#v0.17.0/group/config/git_config_get_int32">git_config_get_int32</a></span><span class="p">(</span><span class="n">cfg</span><span class="p">,</span> <span class="s">&quot;help.autocorrect&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">j</span><span class="p">);</span>
+ <span class="n"><a name="git_config_get_int32-55" class="fnlink" href="../../#v0.17.0/group/config/git_config_get_int32">git_config_get_int32</a></span><span class="p">(</span><span class="n">cfg</span><span class="p">,</span> <span class="s">&quot;help.autocorrect&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">j</span><span class="p">);</span>
<span class="n">printf</span><span class="p">(</span><span class="s">&quot;Autocorrect: %d</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">j</span><span class="p">);</span>
- <span class="n"><a name="git_config_get_string-5" class="fnlink" href="../../#v0.17.0/group/config/git_config_get_string">git_config_get_string</a></span><span class="p">(</span><span class="n">cfg</span><span class="p">,</span> <span class="s">&quot;user.email&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">email</span><span class="p">);</span>
+ <span class="n"><a name="git_config_get_string-56" class="fnlink" href="../../#v0.17.0/group/config/git_config_get_string">git_config_get_string</a></span><span class="p">(</span><span class="n">cfg</span><span class="p">,</span> <span class="s">&quot;user.email&quot;</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">email</span><span class="p">);</span>
<span class="n">printf</span><span class="p">(</span><span class="s">&quot;Email: %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">email</span><span class="p">);</span></pre></div>
</td>
</tr>
@@ -900,7 +900,7 @@ any of the accessible config file locations (system, global, local).</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_repository_free-15" class="fnlink" href="../../#v0.17.0/group/repository/git_repository_free">git_repository_free</a></span><span class="p">(</span><span class="n">repo</span><span class="p">);</span>
+ <div class='highlight'><pre> <span class="n"><a name="git_repository_free-23" class="fnlink" href="../../#v0.17.0/group/repository/git_repository_free">git_repository_free</a></span><span class="p">(</span><span class="n">repo</span><span class="p">);</span>
<span class="k">return</span> <span class="mi">0</span><span class="p">;</span>
<span class="p">}</span></pre></div>
diff --git a/ex/v0.17.0/index-pack.html b/ex/v0.17.0/index-pack.html
index b86a9ccf7..bf1ad9a86 100644
--- a/ex/v0.17.0/index-pack.html
+++ b/ex/v0.17.0/index-pack.html
@@ -78,7 +78,7 @@ the indexing to finish in a worker thread</p>
<span class="k">return</span> <span class="n">EXIT_FAILURE</span><span class="p">;</span>
<span class="p">}</span>
- <span class="k">if</span> <span class="p">(</span><span class="n"><a name="git_indexer_stream_new-1" class="fnlink" href="../../#v0.17.0/group/indexer/git_indexer_stream_new">git_indexer_stream_new</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">idx</span><span class="p">,</span> <span class="s">&quot;.git&quot;</span><span class="p">)</span> <span class="o">&lt;</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
+ <span class="k">if</span> <span class="p">(</span><span class="n"><a name="git_indexer_stream_new-3" class="fnlink" href="../../#v0.17.0/group/indexer/git_indexer_stream_new">git_indexer_stream_new</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">idx</span><span class="p">,</span> <span class="s">&quot;.git&quot;</span><span class="p">)</span> <span class="o">&lt;</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span>
<span class="n">puts</span><span class="p">(</span><span class="s">&quot;bad idx&quot;</span><span class="p">);</span>
<span class="k">return</span> <span class="o">-</span><span class="mi">1</span><span class="p">;</span>
<span class="p">}</span>
@@ -93,7 +93,7 @@ the indexing to finish in a worker thread</p>
<span class="k">if</span> <span class="p">(</span><span class="n">read_bytes</span> <span class="o">&lt;</span> <span class="mi">0</span><span class="p">)</span>
<span class="k">break</span><span class="p">;</span>
- <span class="k">if</span> <span class="p">((</span><span class="n">error</span> <span class="o">=</span> <span class="n"><a name="git_indexer_stream_add-2" class="fnlink" href="../../#v0.17.0/group/indexer/git_indexer_stream_add">git_indexer_stream_add</a></span><span class="p">(</span><span class="n">idx</span><span class="p">,</span> <span class="n">buf</span><span class="p">,</span> <span class="n">read_bytes</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">stats</span><span class="p">))</span> <span class="o">&lt;</span> <span class="mi">0</span><span class="p">)</span>
+ <span class="k">if</span> <span class="p">((</span><span class="n">error</span> <span class="o">=</span> <span class="n"><a name="git_indexer_stream_add-4" class="fnlink" href="../../#v0.17.0/group/indexer/git_indexer_stream_add">git_indexer_stream_add</a></span><span class="p">(</span><span class="n">idx</span><span class="p">,</span> <span class="n">buf</span><span class="p">,</span> <span class="n">read_bytes</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">stats</span><span class="p">))</span> <span class="o">&lt;</span> <span class="mi">0</span><span class="p">)</span>
<span class="k">goto</span> <span class="n">cleanup</span><span class="p">;</span>
<span class="n">printf</span><span class="p">(</span><span class="s">&quot;</span><span class="se">\r</span><span class="s">Indexing %d of %d&quot;</span><span class="p">,</span> <span class="n">stats</span><span class="p">.</span><span class="n">processed</span><span class="p">,</span> <span class="n">stats</span><span class="p">.</span><span class="n">total</span><span class="p">);</span>
@@ -105,17 +105,17 @@ the indexing to finish in a worker thread</p>
<span class="k">goto</span> <span class="n">cleanup</span><span class="p">;</span>
<span class="p">}</span>
- <span class="k">if</span> <span class="p">((</span><span class="n">error</span> <span class="o">=</span> <span class="n"><a name="git_indexer_stream_finalize-3" class="fnlink" href="../../#v0.17.0/group/indexer/git_indexer_stream_finalize">git_indexer_stream_finalize</a></span><span class="p">(</span><span class="n">idx</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">stats</span><span class="p">))</span> <span class="o">&lt;</span> <span class="mi">0</span><span class="p">)</span>
+ <span class="k">if</span> <span class="p">((</span><span class="n">error</span> <span class="o">=</span> <span class="n"><a name="git_indexer_stream_finalize-5" class="fnlink" href="../../#v0.17.0/group/indexer/git_indexer_stream_finalize">git_indexer_stream_finalize</a></span><span class="p">(</span><span class="n">idx</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">stats</span><span class="p">))</span> <span class="o">&lt;</span> <span class="mi">0</span><span class="p">)</span>
<span class="k">goto</span> <span class="n">cleanup</span><span class="p">;</span>
<span class="n">printf</span><span class="p">(</span><span class="s">&quot;</span><span class="se">\r</span><span class="s">Indexing %d of %d</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">stats</span><span class="p">.</span><span class="n">processed</span><span class="p">,</span> <span class="n">stats</span><span class="p">.</span><span class="n">total</span><span class="p">);</span>
- <span class="n"><a name="git_oid_fmt-11" class="fnlink" href="../../#v0.17.0/group/oid/git_oid_fmt">git_oid_fmt</a></span><span class="p">(</span><span class="n">hash</span><span class="p">,</span> <span class="n"><a name="git_indexer_stream_hash-4" class="fnlink" href="../../#v0.17.0/group/indexer/git_indexer_stream_hash">git_indexer_stream_hash</a></span><span class="p">(</span><span class="n">idx</span><span class="p">));</span>
+ <span class="n"><a name="git_oid_fmt-1" class="fnlink" href="../../#v0.17.0/group/oid/git_oid_fmt">git_oid_fmt</a></span><span class="p">(</span><span class="n">hash</span><span class="p">,</span> <span class="n"><a name="git_indexer_stream_hash-6" class="fnlink" href="../../#v0.17.0/group/indexer/git_indexer_stream_hash">git_indexer_stream_hash</a></span><span class="p">(</span><span class="n">idx</span><span class="p">));</span>
<span class="n">puts</span><span class="p">(</span><span class="n">hash</span><span class="p">);</span>
<span class="nl">cleanup:</span>
<span class="n">close</span><span class="p">(</span><span class="n">fd</span><span class="p">);</span>
- <span class="n"><a name="git_indexer_stream_free-5" class="fnlink" href="../../#v0.17.0/group/indexer/git_indexer_stream_free">git_indexer_stream_free</a></span><span class="p">(</span><span class="n">idx</span><span class="p">);</span>
+ <span class="n"><a name="git_indexer_stream_free-7" class="fnlink" href="../../#v0.17.0/group/indexer/git_indexer_stream_free">git_indexer_stream_free</a></span><span class="p">(</span><span class="n">idx</span><span class="p">);</span>
<span class="k">return</span> <span class="n">error</span><span class="p">;</span>
<span class="p">}</span>
@@ -140,7 +140,7 @@ the indexing to finish in a worker thread</p>
<p>Create a new indexer</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n">error</span> <span class="o">=</span> <span class="n"><a name="git_indexer_new-6" class="fnlink" href="../../#v0.17.0/group/indexer/git_indexer_new">git_indexer_new</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">indexer</span><span class="p">,</span> <span class="n">argv</span><span class="p">[</span><span class="mi">1</span><span class="p">]);</span>
+ <div class='highlight'><pre> <span class="n">error</span> <span class="o">=</span> <span class="n"><a name="git_indexer_new-8" class="fnlink" href="../../#v0.17.0/group/indexer/git_indexer_new">git_indexer_new</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">indexer</span><span class="p">,</span> <span class="n">argv</span><span class="p">[</span><span class="mi">1</span><span class="p">]);</span>
<span class="k">if</span> <span class="p">(</span><span class="n">error</span> <span class="o">&lt;</span> <span class="mi">0</span><span class="p">)</span>
<span class="k">return</span> <span class="n">error</span><span class="p">;</span></pre></div>
</td>
@@ -154,7 +154,7 @@ the indexing to finish in a worker thread</p>
should be run in a worker thread.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n">error</span> <span class="o">=</span> <span class="n"><a name="git_indexer_run-7" class="fnlink" href="../../#v0.17.0/group/indexer/git_indexer_run">git_indexer_run</a></span><span class="p">(</span><span class="n">indexer</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">stats</span><span class="p">);</span>
+ <div class='highlight'><pre> <span class="n">error</span> <span class="o">=</span> <span class="n"><a name="git_indexer_run-9" class="fnlink" href="../../#v0.17.0/group/indexer/git_indexer_run">git_indexer_run</a></span><span class="p">(</span><span class="n">indexer</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">stats</span><span class="p">);</span>
<span class="k">if</span> <span class="p">(</span><span class="n">error</span> <span class="o">&lt;</span> <span class="mi">0</span><span class="p">)</span>
<span class="k">return</span> <span class="n">error</span><span class="p">;</span></pre></div>
</td>
@@ -167,7 +167,7 @@ should be run in a worker thread.</p>
<p>Write the information out to an index file</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n">error</span> <span class="o">=</span> <span class="n"><a name="git_indexer_write-8" class="fnlink" href="../../#v0.17.0/group/indexer/git_indexer_write">git_indexer_write</a></span><span class="p">(</span><span class="n">indexer</span><span class="p">);</span></pre></div>
+ <div class='highlight'><pre> <span class="n">error</span> <span class="o">=</span> <span class="n"><a name="git_indexer_write-10" class="fnlink" href="../../#v0.17.0/group/indexer/git_indexer_write">git_indexer_write</a></span><span class="p">(</span><span class="n">indexer</span><span class="p">);</span></pre></div>
</td>
</tr>
<tr id='section-6'>
@@ -179,10 +179,10 @@ should be run in a worker thread.</p>
</td>
<td class=code>
- <div class='highlight'><pre> <span class="n"><a name="git_oid_fmt-12" class="fnlink" href="../../#v0.17.0/group/oid/git_oid_fmt">git_oid_fmt</a></span><span class="p">(</span><span class="n">hash</span><span class="p">,</span> <span class="n"><a name="git_indexer_hash-9" class="fnlink" href="../../#v0.17.0/group/indexer/git_indexer_hash">git_indexer_hash</a></span><span class="p">(</span><span class="n">indexer</span><span class="p">));</span>
+ <div class='highlight'><pre> <span class="n"><a name="git_oid_fmt-2" class="fnlink" href="../../#v0.17.0/group/oid/git_oid_fmt">git_oid_fmt</a></span><span class="p">(</span><span class="n">hash</span><span class="p">,</span> <span class="n"><a name="git_indexer_hash-11" class="fnlink" href="../../#v0.17.0/group/indexer/git_indexer_hash">git_indexer_hash</a></span><span class="p">(</span><span class="n">indexer</span><span class="p">));</span>
<span class="n">puts</span><span class="p">(</span><span class="n">hash</span><span class="p">);</span>
- <span class="n"><a name="git_indexer_free-10" class="fnlink" href="../../#v0.17.0/group/indexer/git_indexer_free">git_indexer_free</a></span><span class="p">(</span><span class="n">indexer</span><span class="p">);</span>
+ <span class="n"><a name="git_indexer_free-12" class="fnlink" href="../../#v0.17.0/group/indexer/git_indexer_free">git_indexer_free</a></span><span class="p">(</span><span class="n">indexer</span><span class="p">);</span>
<span class="k">return</span> <span class="mi">0</span><span class="p">;</span>
<span class="p">}</span></pre></div>
diff --git a/ex/v0.17.0/showindex.html b/ex/v0.17.0/showindex.html
index fcf17e85e..037a0e6a5 100644
--- a/ex/v0.17.0/showindex.html
+++ b/ex/v0.17.0/showindex.html
@@ -58,17 +58,17 @@
<span class="kt">char</span> <span class="n">out</span><span class="p">[</span><span class="mi">41</span><span class="p">];</span>
<span class="n">out</span><span class="p">[</span><span class="mi">40</span><span class="p">]</span> <span class="o">=</span> <span class="sc">&#39;\0&#39;</span><span class="p">;</span>
- <span class="n"><a name="git_repository_open-5" class="fnlink" href="../../#v0.17.0/group/repository/git_repository_open">git_repository_open</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">repo</span><span class="p">,</span> <span class="s">&quot;/opt/libgit2-test/.git&quot;</span><span class="p">);</span>
+ <span class="n"><a name="git_repository_open-1" class="fnlink" href="../../#v0.17.0/group/repository/git_repository_open">git_repository_open</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">repo</span><span class="p">,</span> <span class="s">&quot;/opt/libgit2-test/.git&quot;</span><span class="p">);</span>
- <span class="n"><a name="git_repository_index-7" class="fnlink" href="../../#v0.17.0/group/repository/git_repository_index">git_repository_index</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">index</span><span class="p">,</span> <span class="n">repo</span><span class="p">);</span>
- <span class="n"><a name="git_index_read-2" class="fnlink" href="../../#v0.17.0/group/index/git_index_read">git_index_read</a></span><span class="p">(</span><span class="n">index</span><span class="p">);</span>
+ <span class="n"><a name="git_repository_index-3" class="fnlink" href="../../#v0.17.0/group/repository/git_repository_index">git_repository_index</a></span><span class="p">(</span><span class="o">&amp;</span><span class="n">index</span><span class="p">,</span> <span class="n">repo</span><span class="p">);</span>
+ <span class="n"><a name="git_index_read-6" class="fnlink" href="../../#v0.17.0/group/index/git_index_read">git_index_read</a></span><span class="p">(</span><span class="n">index</span><span class="p">);</span>
- <span class="n">ecount</span> <span class="o">=</span> <span class="n"><a name="git_index_entrycount-4" class="fnlink" href="../../#v0.17.0/group/index/git_index_entrycount">git_index_entrycount</a></span><span class="p">(</span><span class="n">index</span><span class="p">);</span>
+ <span class="n">ecount</span> <span class="o">=</span> <span class="n"><a name="git_index_entrycount-8" class="fnlink" href="../../#v0.17.0/group/index/git_index_entrycount">git_index_entrycount</a></span><span class="p">(</span><span class="n">index</span><span class="p">);</span>
<span class="k">for</span> <span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="n">ecount</span><span class="p">;</span> <span class="o">++</span><span class="n">i</span><span class="p">)</span> <span class="p">{</span>
- <span class="n">git_index_entry</span> <span class="o">*</span><span class="n">e</span> <span class="o">=</span> <span class="n"><a name="git_index_get-3" class="fnlink" href="../../#v0.17.0/group/index/git_index_get">git_index_get</a></span><span class="p">(</span><span class="n">index</span><span class="p">,</span> <span class="n">i</span><span class="p">);</span>
+ <span class="n">git_index_entry</span> <span class="o">*</span><span class="n">e</span> <span class="o">=</span> <span class="n"><a name="git_index_get-7" class="fnlink" href="../../#v0.17.0/group/index/git_index_get">git_index_get</a></span><span class="p">(</span><span class="n">index</span><span class="p">,</span> <span class="n">i</span><span class="p">);</span>
<span class="n">oid</span> <span class="o">=</span> <span class="n">e</span><span class="o">-&gt;</span><span class="n">oid</span><span class="p">;</span>
- <span class="n"><a name="git_oid_fmt-8" class="fnlink" href="../../#v0.17.0/group/oid/git_oid_fmt">git_oid_fmt</a></span><span class="p">(</span><span class="n">out</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span>
+ <span class="n"><a name="git_oid_fmt-4" class="fnlink" href="../../#v0.17.0/group/oid/git_oid_fmt">git_oid_fmt</a></span><span class="p">(</span><span class="n">out</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">oid</span><span class="p">);</span>
<span class="n">printf</span><span class="p">(</span><span class="s">&quot;File Path: %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">e</span><span class="o">-&gt;</span><span class="n">path</span><span class="p">);</span>
<span class="n">printf</span><span class="p">(</span><span class="s">&quot; Blob SHA: %s</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span> <span class="n">out</span><span class="p">);</span>
@@ -82,9 +82,9 @@
<span class="n">printf</span><span class="p">(</span><span class="s">&quot;</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">);</span>
<span class="p">}</span>
- <span class="n"><a name="git_index_free-1" class="fnlink" href="../../#v0.17.0/group/index/git_index_free">git_index_free</a></span><span class="p">(</span><span class="n">index</span><span class="p">);</span>
+ <span class="n"><a name="git_index_free-5" class="fnlink" href="../../#v0.17.0/group/index/git_index_free">git_index_free</a></span><span class="p">(</span><span class="n">index</span><span class="p">);</span>
- <span class="n"><a name="git_repository_free-6" class="fnlink" href="../../#v0.17.0/group/repository/git_repository_free">git_repository_free</a></span><span class="p">(</span><span class="n">repo</span><span class="p">);</span>
+ <span class="n"><a name="git_repository_free-2" class="fnlink" href="../../#v0.17.0/group/repository/git_repository_free">git_repository_free</a></span><span class="p">(</span><span class="n">repo</span><span class="p">);</span>
<span class="p">}</span></pre></div>
</td>
</tr>
diff --git a/project.json b/project.json
index 516a3a2ac..2ab694a52 100644
--- a/project.json
+++ b/project.json
@@ -1 +1 @@
-{"versions":["HEAD","v0.17.0","v0.16.0","v0.15.0","v0.14.0","v0.13.0","v0.12.0","v0.11.0","v0.10.0","v0.8.0","v0.3.0","v0.2.0","v0.1.0"],"github":"libgit2/libgit2","name":"libgit2","signatures":{"git_blob_lookup":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_blob_new":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0"],"changes":{}},"git_blob_set_rawcontent_fromfile":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0"],"changes":{}},"git_blob_set_rawcontent":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0"],"changes":{}},"git_blob_rawcontent":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_blob_rawsize":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_blob_writefile":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0"],"changes":{}},"git_index_open_bare":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0"],"changes":{}},"git_index_open_inrepo":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0"],"changes":{}},"git_index_clear":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_index_free":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_index_read":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_index_write":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_index_find":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_index_add":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_index_remove":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_index_insert":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0"],"changes":{}},"git_index_get":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"v0.13.0":true,"HEAD":true}},"git_index_entrycount":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_repository_open":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_repository_lookup":{"exists":["v0.1.0","v0.2.0","v0.3.0"],"changes":{}},"git_repository_database":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0"],"changes":{}},"git_repository_index":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"v0.3.0":true}},"git_repository_newobject":{"exists":["v0.1.0","v0.2.0","v0.3.0"],"changes":{}},"git_object_write":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0"],"changes":{}},"git_object_id":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"v0.8.0":true}},"git_object_type":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"v0.8.0":true}},"git_object_owner":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"v0.8.0":true}},"git_object_free":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_repository_free":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_tag_lookup":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_tag_new":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0"],"changes":{}},"git_tag_id":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_tag_target":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"v0.10.0":true}},"git_tag_type":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_tag_name":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_tag_tagger":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_tag_message":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_tag_set_target":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0"],"changes":{}},"git_tag_set_name":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0"],"changes":{}},"git_tag_set_tagger":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0"],"changes":{"v0.3.0":true}},"git_tag_set_message":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0"],"changes":{}},"git_commit_lookup":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_commit_new":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0"],"changes":{}},"git_commit_id":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_commit_message_short":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0"],"changes":{}},"git_commit_message":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_commit_time":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_commit_committer":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_commit_author":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_commit_tree":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"v0.10.0":true}},"git_commit_add_parent":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0"],"changes":{}},"git_commit_set_message":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0"],"changes":{}},"git_commit_set_committer":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0"],"changes":{"v0.3.0":true}},"git_commit_set_author":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0"],"changes":{"v0.3.0":true}},"git_commit_set_tree":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0"],"changes":{}},"deflateBound":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0"],"changes":{}},"git_tree_lookup":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_tree_new":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0"],"changes":{}},"git_tree_id":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_tree_entrycount":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_tree_entry_byname":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_tree_entry_byindex":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"v0.13.0":true,"HEAD":true}},"git_tree_entry_attributes":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0"],"changes":{"v0.12.0":true}},"git_tree_entry_name":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"v0.12.0":true}},"git_tree_entry_id":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"v0.12.0":true}},"git_tree_entry_2object":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0"],"changes":{"v0.11.0":true,"v0.12.0":true}},"git_tree_add_entry":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0"],"changes":{"v0.3.0":true}},"git_tree_remove_entry_byindex":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0"],"changes":{}},"git_tree_remove_entry_byname":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0"],"changes":{}},"git_tree_entry_set_id":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0"],"changes":{}},"git_tree_entry_set_name":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0"],"changes":{}},"git_tree_entry_set_attributes":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0"],"changes":{"v0.10.0":true}},"git_odb_open":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_odb_close":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0"],"changes":{}},"git_odb_read":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"v0.11.0":true}},"git_odb_read_header":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"v0.11.0":true}},"git_odb__read_packed":{"exists":["v0.1.0"],"changes":{}},"git_odb__read_loose":{"exists":["v0.1.0"],"changes":{}},"git_odb_write":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"v0.11.0":true}},"git_obj_close":{"exists":["v0.1.0"],"changes":{}},"git_obj_type_to_string":{"exists":["v0.1.0"],"changes":{}},"git_obj_string_to_type":{"exists":["v0.1.0"],"changes":{}},"git_obj__loose_object_type":{"exists":["v0.1.0"],"changes":{}},"git_obj_hash":{"exists":["v0.1.0"],"changes":{}},"git_odb_exists":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_oid_mkstr":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0"],"changes":{}},"git_oid_mkraw":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0"],"changes":{}},"git_oid_fmt":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_oid_pathfmt":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_oid_allocfmt":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_oid_to_string":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0"],"changes":{}},"git_oid_cpy":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_oid_cmp":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_strerror":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0"],"changes":{}},"git_revwalk_new":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_revwalk_reset":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_revwalk_push":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"v0.10.0":true}},"git_revwalk_hide":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"v0.10.0":true}},"git_revwalk_next":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"v0.3.0":true,"v0.10.0":true}},"git_revwalk_sorting":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_revwalk_free":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_revwalk_repository":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_repository_open2":{"exists":["v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0"],"changes":{}},"git_commit_parentcount":{"exists":["v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_commit_parent":{"exists":["v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"v0.10.0":true}},"git_odb_new":{"exists":["v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_odb_add_backend":{"exists":["v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"v0.8.0":true}},"git_rawobj_hash":{"exists":["v0.2.0","v0.3.0","v0.8.0","v0.10.0"],"changes":{}},"git_rawobj_close":{"exists":["v0.2.0","v0.3.0","v0.8.0","v0.10.0"],"changes":{}},"git_object_type2string":{"exists":["v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_object_string2type":{"exists":["v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_object_typeisloose":{"exists":["v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_signature_new":{"exists":["v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"v0.11.0":true,"v0.15.0":true}},"git_signature_dup":{"exists":["v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_signature_free":{"exists":["v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_repository_open3":{"exists":["v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0"],"changes":{}},"git_repository_init":{"exists":["v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_repository_lookup_ref":{"exists":["v0.3.0"],"changes":{}},"git_commit_time_offset":{"exists":["v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_tree_add_entry_unsorted":{"exists":["v0.3.0"],"changes":{}},"git_tree_sort_entries":{"exists":["v0.3.0"],"changes":{}},"git_tree_clear_entries":{"exists":["v0.3.0","v0.8.0","v0.10.0"],"changes":{}},"git_object__size":{"exists":["v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_reference_new":{"exists":["v0.3.0"],"changes":{}},"git_reference_oid":{"exists":["v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_reference_target":{"exists":["v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_reference_type":{"exists":["v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_reference_name":{"exists":["v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_reference_resolve":{"exists":["v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_reference_write":{"exists":["v0.3.0"],"changes":{}},"git_reference_owner":{"exists":["v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_reference_set_name":{"exists":["v0.3.0"],"changes":{}},"git_reference_set_target":{"exists":["v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_reference_set_oid":{"exists":["v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_odb_add_alternate":{"exists":["v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_object_lookup":{"exists":["v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_object_new":{"exists":["v0.8.0","v0.10.0"],"changes":{}},"git_object_close":{"exists":["v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0"],"changes":{}},"git_reference_lookup":{"exists":["v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_reference_create_symbolic":{"exists":["v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"v0.14.0":true}},"git_reference_create_oid":{"exists":["v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"v0.14.0":true}},"git_reference_rename":{"exists":["v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"v0.14.0":true}},"git_reference_delete":{"exists":["v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_reference_packall":{"exists":["v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_repository_close":{"exists":["v0.10.0"],"changes":{}},"git_tag_target_oid":{"exists":["v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_oid_shorten_new":{"exists":["v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_oid_shorten_add":{"exists":["v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_oid_shorten_free":{"exists":["v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_reference_listall":{"exists":["v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0"],"changes":{}},"git_blob_close":{"exists":["v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0"],"changes":{}},"git_blob_create_fromfile":{"exists":["v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_blob_create_frombuffer":{"exists":["v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_tag_close":{"exists":["v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0"],"changes":{}},"git_tag_create":{"exists":["v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"v0.14.0":true}},"git_tag_create_o":{"exists":["v0.11.0","v0.12.0","v0.13.0"],"changes":{}},"git_commit_close":{"exists":["v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0"],"changes":{}},"git_commit_create":{"exists":["v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"v0.14.0":true,"v0.15.0":true}},"git_commit_create_o":{"exists":["v0.11.0","v0.12.0","v0.13.0"],"changes":{}},"git_commit_create_ov":{"exists":["v0.11.0","v0.12.0","v0.13.0"],"changes":{}},"git_commit_create_v":{"exists":["v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"v0.14.0":true,"v0.15.0":true}},"git_tree_close":{"exists":["v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0"],"changes":{}},"git_odb_open_wstream":{"exists":["v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_odb_open_rstream":{"exists":["v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_odb_hash":{"exists":["v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_odb_object_close":{"exists":["v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0"],"changes":{}},"git_odb_object_id":{"exists":["v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_odb_object_data":{"exists":["v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_odb_object_size":{"exists":["v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_odb_object_type":{"exists":["v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_reference_listcb":{"exists":["v0.11.0","v0.12.0"],"changes":{}},"git_signature_now":{"exists":["v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"v0.15.0":true}},"git_index_add2":{"exists":["v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_index_append":{"exists":["v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_index_append2":{"exists":["v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_repository_is_empty":{"exists":["v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_repository_path":{"exists":["v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"v0.13.0":true,"v0.16.0":true}},"git_repository_workdir":{"exists":["v0.12.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_tag_create_frombuffer":{"exists":["v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"v0.14.0":true}},"git_tag_create_f":{"exists":["v0.12.0","v0.13.0"],"changes":{}},"git_tag_create_fo":{"exists":["v0.12.0","v0.13.0"],"changes":{}},"git_tag_delete":{"exists":["v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_tag_list":{"exists":["v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_commit_tree_oid":{"exists":["v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_commit_parent_oid":{"exists":["v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_tree_create_fromindex":{"exists":["v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_treebuilder_create":{"exists":["v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_treebuilder_clear":{"exists":["v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_treebuilder_free":{"exists":["v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_treebuilder_get":{"exists":["v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_treebuilder_insert":{"exists":["v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"HEAD":true}},"git_treebuilder_remove":{"exists":["v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_treebuilder_filter":{"exists":["v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_treebuilder_write":{"exists":["v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_lasterror":{"exists":["v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0"],"changes":{}},"git_reference_create_symbolic_f":{"exists":["v0.12.0","v0.13.0"],"changes":{}},"git_reference_create_oid_f":{"exists":["v0.12.0","v0.13.0"],"changes":{}},"git_reference_rename_f":{"exists":["v0.12.0","v0.13.0"],"changes":{}},"git_libgit2_version":{"exists":["v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_config_find_global":{"exists":["v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"v0.17.0":true}},"git_config_open_global":{"exists":["v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0"],"changes":{}},"git_config_file__ondisk":{"exists":["v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_config_new":{"exists":["v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_config_add_file":{"exists":["v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_config_add_file_ondisk":{"exists":["v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_config_open_ondisk":{"exists":["v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_config_free":{"exists":["v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_config_get_int":{"exists":["v0.13.0","v0.14.0"],"changes":{}},"git_config_get_long":{"exists":["v0.13.0","v0.14.0"],"changes":{}},"git_config_get_bool":{"exists":["v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"v0.17.0":true}},"git_config_get_string":{"exists":["v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"v0.17.0":true}},"git_config_set_int":{"exists":["v0.13.0","v0.14.0"],"changes":{}},"git_config_set_long":{"exists":["v0.13.0","v0.14.0"],"changes":{}},"git_config_set_bool":{"exists":["v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_config_set_string":{"exists":["v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_config_foreach":{"exists":["v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"v0.14.0":true}},"git_blob_lookup_prefix":{"exists":["v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"HEAD":true}},"git_index_open":{"exists":["v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_index_entrycount_unmerged":{"exists":["v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_index_get_unmerged_bypath":{"exists":["v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_index_get_unmerged_byindex":{"exists":["v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"HEAD":true}},"git_index_entry_stage":{"exists":["v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_repository_discover":{"exists":["v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_repository_is_bare":{"exists":["v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_repository_config":{"exists":["v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"v0.16.0":true}},"git_tag_lookup_prefix":{"exists":["v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"HEAD":true}},"git_commit_lookup_prefix":{"exists":["v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"HEAD":true}},"git_tree_lookup_prefix":{"exists":["v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"HEAD":true}},"git_tree_entry_type":{"exists":["v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_odb_read_prefix":{"exists":["v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"HEAD":true}},"git_oid_fromstr":{"exists":["v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_oid_fromraw":{"exists":["v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_oid_ncmp":{"exists":["v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"HEAD":true}},"git_object_lookup_prefix":{"exists":["v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"HEAD":true}},"git_reference_foreach":{"exists":["v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_reflog_read":{"exists":["v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_reflog_write":{"exists":["v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"HEAD":true}},"git_reflog_entrycount":{"exists":["v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_reflog_entry_byindex":{"exists":["v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"HEAD":true}},"git_reflog_entry_oidold":{"exists":["v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_reflog_entry_oidnew":{"exists":["v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_reflog_entry_committer":{"exists":["v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_reflog_entry_msg":{"exists":["v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_reflog_free":{"exists":["v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_refspec_src":{"exists":["v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_refspec_dst":{"exists":["v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_refspec_src_match":{"exists":["v0.14.0","v0.15.0","v0.16.0"],"changes":{}},"git_refspec_transform":{"exists":["v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_status_foreach":{"exists":["v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_status_file":{"exists":["v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_config_delete":{"exists":["v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_index_uniq":{"exists":["v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_repository_head_detached":{"exists":["v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_repository_head_orphan":{"exists":["v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_tag_create_lightweight":{"exists":["v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_tag_list_match":{"exists":["v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_remote_get":{"exists":["v0.14.0","v0.15.0"],"changes":{}},"git_remote_name":{"exists":["v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"v0.16.0":true}},"git_remote_url":{"exists":["v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"v0.16.0":true}},"git_remote_fetchspec":{"exists":["v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"v0.16.0":true}},"git_remote_pushspec":{"exists":["v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"v0.16.0":true}},"git_remote_connect":{"exists":["v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"v0.16.0":true}},"git_remote_ls":{"exists":["v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"v0.16.0":true}},"git_remote_free":{"exists":["v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"v0.16.0":true}},"git_transport_new":{"exists":["v0.14.0","v0.15.0"],"changes":{}},"git_odb_hashfile":{"exists":["v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_oid_fromstrn":{"exists":["v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_clearerror":{"exists":["v0.14.0","v0.15.0","v0.16.0"],"changes":{}},"git_indexer_new":{"exists":["v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_indexer_run":{"exists":["v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_indexer_write":{"exists":["v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_indexer_hash":{"exists":["v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_indexer_free":{"exists":["v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_config_find_system":{"exists":["v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"v0.17.0":true}},"git_config_get_int32":{"exists":["v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"v0.17.0":true}},"git_config_get_int64":{"exists":["v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"v0.17.0":true}},"git_config_set_int32":{"exists":["v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_config_set_int64":{"exists":["v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_repository_head":{"exists":["v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_repository_config_autoload":{"exists":["v0.15.0"],"changes":{}},"git_commit_message_encoding":{"exists":["v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_remote_new":{"exists":["v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"v0.16.0":true,"v0.17.0":true}},"git_remote_negotiate":{"exists":["v0.15.0"],"changes":{}},"git_remote_download":{"exists":["v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"v0.17.0":true}},"git_remote_update_tips":{"exists":["v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"v0.16.0":true,"v0.17.0":true,"HEAD":true}},"git_reflog_rename":{"exists":["v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_reflog_delete":{"exists":["v0.16.0","v0.17.0","HEAD"],"changes":{}},"gitwin_set_codepage":{"exists":["v0.16.0","v0.17.0"],"changes":{}},"gitwin_get_codepage":{"exists":["v0.16.0","v0.17.0"],"changes":{}},"gitwin_set_utf8":{"exists":["v0.16.0","v0.17.0"],"changes":{}},"git_status_should_ignore":{"exists":["v0.16.0","v0.17.0","HEAD"],"changes":{"v0.17.0":true}},"git_blob_free":{"exists":["v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_index_read_tree":{"exists":["v0.16.0","v0.17.0","HEAD"],"changes":{"HEAD":true}},"git_repository_set_workdir":{"exists":["v0.16.0","v0.17.0","HEAD"],"changes":{"HEAD":true}},"git_repository_set_config":{"exists":["v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_repository_odb":{"exists":["v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_repository_set_odb":{"exists":["v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_repository_set_index":{"exists":["v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_tag_free":{"exists":["v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_commit_free":{"exists":["v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_remote_load":{"exists":["v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_remote_connected":{"exists":["v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_remote_disconnect":{"exists":["v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_remote_valid_url":{"exists":["v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_tree_free":{"exists":["v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_tree_get_subtree":{"exists":["v0.16.0","v0.17.0"],"changes":{}},"git_tree_walk":{"exists":["v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_tree_diff":{"exists":["v0.16.0"],"changes":{}},"git_odb_free":{"exists":["v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_odb_object_free":{"exists":["v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_threads_init":{"exists":["v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_threads_shutdown":{"exists":["v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_oid_streq":{"exists":["v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_attr_get":{"exists":["v0.16.0","v0.17.0","HEAD"],"changes":{"v0.17.0":true}},"git_attr_get_many":{"exists":["v0.16.0","v0.17.0","HEAD"],"changes":{"v0.17.0":true}},"git_attr_foreach":{"exists":["v0.16.0","v0.17.0","HEAD"],"changes":{"v0.17.0":true}},"git_attr_cache_flush":{"exists":["v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_attr_add_macro":{"exists":["v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_reference_is_packed":{"exists":["v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_reference_reload":{"exists":["v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_reference_free":{"exists":["v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_branch_create":{"exists":["v0.17.0","HEAD"],"changes":{"HEAD":true}},"git_branch_delete":{"exists":["v0.17.0","HEAD"],"changes":{"HEAD":true}},"git_branch_list":{"exists":["v0.17.0"],"changes":{}},"git_branch_move":{"exists":["v0.17.0","HEAD"],"changes":{"HEAD":true}},"git_indexer_stream_new":{"exists":["v0.17.0","HEAD"],"changes":{}},"git_indexer_stream_add":{"exists":["v0.17.0","HEAD"],"changes":{}},"git_indexer_stream_finalize":{"exists":["v0.17.0","HEAD"],"changes":{}},"git_indexer_stream_hash":{"exists":["v0.17.0","HEAD"],"changes":{}},"git_indexer_stream_free":{"exists":["v0.17.0","HEAD"],"changes":{}},"git_refspec_src_matches":{"exists":["v0.17.0","HEAD"],"changes":{}},"git_status_foreach_ext":{"exists":["v0.17.0","HEAD"],"changes":{}},"git_note_read":{"exists":["v0.17.0","HEAD"],"changes":{}},"git_note_message":{"exists":["v0.17.0","HEAD"],"changes":{}},"git_note_oid":{"exists":["v0.17.0","HEAD"],"changes":{}},"git_note_create":{"exists":["v0.17.0","HEAD"],"changes":{}},"git_note_remove":{"exists":["v0.17.0","HEAD"],"changes":{}},"git_note_free":{"exists":["v0.17.0","HEAD"],"changes":{}},"git_note_default_ref":{"exists":["v0.17.0","HEAD"],"changes":{}},"git_note_foreach":{"exists":["v0.17.0","HEAD"],"changes":{}},"git_config_get_multivar":{"exists":["v0.17.0","HEAD"],"changes":{}},"git_config_set_multivar":{"exists":["v0.17.0","HEAD"],"changes":{}},"git_config_get_mapped":{"exists":["v0.17.0","HEAD"],"changes":{}},"git_blob_create_fromdisk":{"exists":["v0.17.0","HEAD"],"changes":{}},"git_repository_open_ext":{"exists":["v0.17.0","HEAD"],"changes":{}},"git_tag_peel":{"exists":["v0.17.0","HEAD"],"changes":{}},"git_remote_save":{"exists":["v0.17.0","HEAD"],"changes":{}},"git_remote_set_fetchspec":{"exists":["v0.17.0","HEAD"],"changes":{}},"git_remote_set_pushspec":{"exists":["v0.17.0","HEAD"],"changes":{}},"git_remote_supported_url":{"exists":["v0.17.0","HEAD"],"changes":{}},"git_remote_list":{"exists":["v0.17.0","HEAD"],"changes":{}},"git_remote_add":{"exists":["v0.17.0","HEAD"],"changes":{}},"git_merge_base":{"exists":["v0.17.0","HEAD"],"changes":{"HEAD":true}},"git_diff_list_free":{"exists":["v0.17.0","HEAD"],"changes":{}},"git_diff_tree_to_tree":{"exists":["v0.17.0","HEAD"],"changes":{}},"git_diff_index_to_tree":{"exists":["v0.17.0","HEAD"],"changes":{}},"git_diff_workdir_to_index":{"exists":["v0.17.0","HEAD"],"changes":{}},"git_diff_workdir_to_tree":{"exists":["v0.17.0","HEAD"],"changes":{}},"git_diff_merge":{"exists":["v0.17.0","HEAD"],"changes":{}},"git_diff_foreach":{"exists":["v0.17.0","HEAD"],"changes":{}},"git_diff_print_compact":{"exists":["v0.17.0","HEAD"],"changes":{}},"git_diff_print_patch":{"exists":["v0.17.0","HEAD"],"changes":{}},"git_diff_blobs":{"exists":["v0.17.0","HEAD"],"changes":{"HEAD":true}},"git_tree_entry_to_object":{"exists":["v0.17.0","HEAD"],"changes":{}},"git_submodule_foreach":{"exists":["v0.17.0","HEAD"],"changes":{"HEAD":true}},"git_submodule_lookup":{"exists":["v0.17.0","HEAD"],"changes":{}},"git_oid_tostr":{"exists":["v0.17.0","HEAD"],"changes":{}},"git_oid_iszero":{"exists":["v0.17.0","HEAD"],"changes":{}},"giterr_last":{"exists":["v0.17.0","HEAD"],"changes":{}},"giterr_clear":{"exists":["v0.17.0","HEAD"],"changes":{}},"git_revwalk_push_glob":{"exists":["v0.17.0","HEAD"],"changes":{}},"git_revwalk_push_head":{"exists":["v0.17.0","HEAD"],"changes":{}},"git_revwalk_hide_glob":{"exists":["v0.17.0","HEAD"],"changes":{}},"git_revwalk_hide_head":{"exists":["v0.17.0","HEAD"],"changes":{}},"git_revwalk_push_ref":{"exists":["v0.17.0","HEAD"],"changes":{}},"git_revwalk_hide_ref":{"exists":["v0.17.0","HEAD"],"changes":{}},"git_reference_name_to_oid":{"exists":["v0.17.0","HEAD"],"changes":{}},"git_reference_list":{"exists":["v0.17.0","HEAD"],"changes":{}},"git_reference_cmp":{"exists":["v0.17.0","HEAD"],"changes":{}},"git_reflog_append":{"exists":["HEAD"],"changes":{}},"git_reflog_drop":{"exists":["HEAD"],"changes":{}},"git_clone":{"exists":["HEAD"],"changes":{}},"git_clone_bare":{"exists":["HEAD"],"changes":{}},"git_branch_foreach":{"exists":["HEAD"],"changes":{}},"git_branch_lookup":{"exists":["HEAD"],"changes":{}},"git_branch_tracking":{"exists":["HEAD"],"changes":{}},"git_libgit2_capabilities":{"exists":["HEAD"],"changes":{}},"git_refspec_parse":{"exists":["HEAD"],"changes":{}},"git_refspec_force":{"exists":["HEAD"],"changes":{}},"git_config_open_default":{"exists":["HEAD"],"changes":{}},"git_config_foreach_match":{"exists":["HEAD"],"changes":{}},"git_reset":{"exists":["HEAD"],"changes":{}},"git_blob_create_fromchunks":{"exists":["HEAD"],"changes":{}},"git_index_caps":{"exists":["HEAD"],"changes":{}},"git_index_set_caps":{"exists":["HEAD"],"changes":{}},"git_repository_wrap_odb":{"exists":["HEAD"],"changes":{}},"git_repository_init_ext":{"exists":["HEAD"],"changes":{}},"git_repository_message":{"exists":["HEAD"],"changes":{}},"git_repository_message_remove":{"exists":["HEAD"],"changes":{}},"git_repository_hashfile":{"exists":["HEAD"],"changes":{}},"git_repository_set_head":{"exists":["HEAD"],"changes":{}},"git_repository_set_head_detached":{"exists":["HEAD"],"changes":{}},"git_repository_detach_head":{"exists":["HEAD"],"changes":{}},"git_revparse_single":{"exists":["HEAD"],"changes":{}},"git_commit_nth_gen_ancestor":{"exists":["HEAD"],"changes":{}},"git_remote_pushurl":{"exists":["HEAD"],"changes":{}},"git_remote_set_url":{"exists":["HEAD"],"changes":{}},"git_remote_set_pushurl":{"exists":["HEAD"],"changes":{}},"git_remote_check_cert":{"exists":["HEAD"],"changes":{}},"git_remote_set_callbacks":{"exists":["HEAD"],"changes":{}},"git_merge_base_many":{"exists":["HEAD"],"changes":{}},"git_diff_status_char":{"exists":["HEAD"],"changes":{}},"git_diff_num_deltas":{"exists":["HEAD"],"changes":{}},"git_diff_num_deltas_of_type":{"exists":["HEAD"],"changes":{}},"git_diff_get_patch":{"exists":["HEAD"],"changes":{}},"git_diff_patch_free":{"exists":["HEAD"],"changes":{}},"git_diff_patch_delta":{"exists":["HEAD"],"changes":{}},"git_diff_patch_num_hunks":{"exists":["HEAD"],"changes":{}},"git_diff_patch_get_hunk":{"exists":["HEAD"],"changes":{}},"git_diff_patch_num_lines_in_hunk":{"exists":["HEAD"],"changes":{}},"git_diff_patch_get_line_in_hunk":{"exists":["HEAD"],"changes":{}},"git_checkout_head":{"exists":["HEAD"],"changes":{}},"git_checkout_index":{"exists":["HEAD"],"changes":{}},"git_checkout_tree":{"exists":["HEAD"],"changes":{}},"git_tree_entry_free":{"exists":["HEAD"],"changes":{}},"git_tree_entry_dup":{"exists":["HEAD"],"changes":{}},"git_tree_entry_byoid":{"exists":["HEAD"],"changes":{}},"git_tree_entry_filemode":{"exists":["HEAD"],"changes":{}},"git_tree_entry_bypath":{"exists":["HEAD"],"changes":{}},"git_submodule_add_setup":{"exists":["HEAD"],"changes":{}},"git_submodule_add_finalize":{"exists":["HEAD"],"changes":{}},"git_submodule_add_to_index":{"exists":["HEAD"],"changes":{}},"git_submodule_save":{"exists":["HEAD"],"changes":{}},"git_submodule_owner":{"exists":["HEAD"],"changes":{}},"git_submodule_name":{"exists":["HEAD"],"changes":{}},"git_submodule_path":{"exists":["HEAD"],"changes":{}},"git_submodule_url":{"exists":["HEAD"],"changes":{}},"git_submodule_set_url":{"exists":["HEAD"],"changes":{}},"git_submodule_index_oid":{"exists":["HEAD"],"changes":{}},"git_submodule_head_oid":{"exists":["HEAD"],"changes":{}},"git_submodule_wd_oid":{"exists":["HEAD"],"changes":{}},"git_submodule_ignore":{"exists":["HEAD"],"changes":{}},"git_submodule_set_ignore":{"exists":["HEAD"],"changes":{}},"git_submodule_update":{"exists":["HEAD"],"changes":{}},"git_submodule_set_update":{"exists":["HEAD"],"changes":{}},"git_submodule_fetch_recurse_submodules":{"exists":["HEAD"],"changes":{}},"git_submodule_set_fetch_recurse_submodules":{"exists":["HEAD"],"changes":{}},"git_submodule_init":{"exists":["HEAD"],"changes":{}},"git_submodule_sync":{"exists":["HEAD"],"changes":{}},"git_submodule_open":{"exists":["HEAD"],"changes":{}},"git_submodule_reload":{"exists":["HEAD"],"changes":{}},"git_submodule_reload_all":{"exists":["HEAD"],"changes":{}},"git_submodule_status":{"exists":["HEAD"],"changes":{}},"git_ignore_add_rule":{"exists":["HEAD"],"changes":{}},"git_ignore_clear_internal_rules":{"exists":["HEAD"],"changes":{}},"git_ignore_path_is_ignored":{"exists":["HEAD"],"changes":{}},"git_message_prettify":{"exists":["HEAD"],"changes":{}},"git_odb_foreach":{"exists":["HEAD"],"changes":{}},"git_oid_equal":{"exists":["HEAD"],"changes":{}},"giterr_set_str":{"exists":["HEAD"],"changes":{}},"giterr_set_oom":{"exists":["HEAD"],"changes":{}},"git_object_peel":{"exists":["HEAD"],"changes":{}},"git_reference_foreach_glob":{"exists":["HEAD"],"changes":{}},"git_reference_has_log":{"exists":["HEAD"],"changes":{}},"git_reference_is_branch":{"exists":["HEAD"],"changes":{}},"git_reference_is_remote":{"exists":["HEAD"],"changes":{}},"git_reference_normalize_name":{"exists":["HEAD"],"changes":{}},"git_reference_peel":{"exists":["HEAD"],"changes":{}},"git_reference_is_valid_name":{"exists":["HEAD"],"changes":{}}},"groups":{"git_blob_lookup":"blob","git_blob_new":"blob","git_blob_set_rawcontent_fromfile":"blob","git_blob_set_rawcontent":"blob","git_blob_rawcontent":"blob","git_blob_rawsize":"blob","git_blob_writefile":"blob","git_index_open_bare":"index","git_index_open_inrepo":"index","git_index_clear":"index","git_index_free":"index","git_index_read":"index","git_index_write":"index","git_index_find":"index","git_index_add":"index","git_index_remove":"index","git_index_insert":"index","git_index_get":"index","git_index_entrycount":"index","git_repository_open":"repository","git_repository_lookup":"repository","git_repository_database":"repository","git_repository_index":"repository","git_repository_newobject":"repository","git_object_write":"object","git_object_id":"object","git_object_type":"object","git_object_owner":"object","git_object_free":"object","git_repository_free":"repository","git_tag_lookup":"tag","git_tag_new":"tag","git_tag_id":"tag","git_tag_target":"tag","git_tag_type":"tag","git_tag_name":"tag","git_tag_tagger":"tag","git_tag_message":"tag","git_tag_set_target":"tag","git_tag_set_name":"tag","git_tag_set_tagger":"tag","git_tag_set_message":"tag","git_commit_lookup":"commit","git_commit_new":"commit","git_commit_id":"commit","git_commit_message_short":"commit","git_commit_message":"commit","git_commit_time":"commit","git_commit_committer":"commit","git_commit_author":"commit","git_commit_tree":"commit","git_commit_add_parent":"commit","git_commit_set_message":"commit","git_commit_set_committer":"commit","git_commit_set_author":"commit","git_commit_set_tree":"commit","deflateBound":"zlib","git_tree_lookup":"tree","git_tree_new":"tree","git_tree_id":"tree","git_tree_entrycount":"tree","git_tree_entry_byname":"tree","git_tree_entry_byindex":"tree","git_tree_entry_attributes":"tree","git_tree_entry_name":"tree","git_tree_entry_id":"tree","git_tree_entry_2object":"tree","git_tree_add_entry":"tree","git_tree_remove_entry_byindex":"tree","git_tree_remove_entry_byname":"tree","git_tree_entry_set_id":"tree","git_tree_entry_set_name":"tree","git_tree_entry_set_attributes":"tree","git_odb_open":"odb","git_odb_close":"odb","git_odb_read":"odb","git_odb_read_header":"odb","git_odb__read_packed":"odb","git_odb__read_loose":"odb","git_odb_write":"odb","git_obj_close":"obj","git_obj_type_to_string":"obj","git_obj_string_to_type":"obj","git_obj__loose_object_type":"obj","git_obj_hash":"obj","git_odb_exists":"odb","git_oid_mkstr":"oid","git_oid_mkraw":"oid","git_oid_fmt":"oid","git_oid_pathfmt":"oid","git_oid_allocfmt":"oid","git_oid_to_string":"oid","git_oid_cpy":"oid","git_oid_cmp":"oid","git_strerror":"errors","git_revwalk_new":"revwalk","git_revwalk_reset":"revwalk","git_revwalk_push":"revwalk","git_revwalk_hide":"revwalk","git_revwalk_next":"revwalk","git_revwalk_sorting":"revwalk","git_revwalk_free":"revwalk","git_revwalk_repository":"revwalk","git_repository_open2":"repository","git_commit_parentcount":"commit","git_commit_parent":"commit","git_odb_new":"odb","git_odb_add_backend":"odb","git_rawobj_hash":"rawobj","git_rawobj_close":"rawobj","git_object_type2string":"object","git_object_string2type":"object","git_object_typeisloose":"object","git_signature_new":"signature","git_signature_dup":"signature","git_signature_free":"signature","git_repository_open3":"repository","git_repository_init":"repository","git_repository_lookup_ref":"repository","git_commit_time_offset":"commit","git_tree_add_entry_unsorted":"tree","git_tree_sort_entries":"tree","git_tree_clear_entries":"tree","git_object__size":"object","git_reference_new":"reference","git_reference_oid":"reference","git_reference_target":"reference","git_reference_type":"reference","git_reference_name":"reference","git_reference_resolve":"reference","git_reference_write":"reference","git_reference_owner":"reference","git_reference_set_name":"reference","git_reference_set_target":"reference","git_reference_set_oid":"reference","git_odb_add_alternate":"odb","git_object_lookup":"object","git_object_new":"object","git_object_close":"object","git_reference_lookup":"reference","git_reference_create_symbolic":"reference","git_reference_create_oid":"reference","git_reference_rename":"reference","git_reference_delete":"reference","git_reference_packall":"reference","git_repository_close":"repository","git_tag_target_oid":"tag","git_oid_shorten_new":"oid","git_oid_shorten_add":"oid","git_oid_shorten_free":"oid","git_reference_listall":"reference","git_blob_close":"blob","git_blob_create_fromfile":"blob","git_blob_create_frombuffer":"blob","git_tag_close":"tag","git_tag_create":"tag","git_tag_create_o":"tag","git_commit_close":"commit","git_commit_create":"commit","git_commit_create_o":"commit","git_commit_create_ov":"commit","git_commit_create_v":"commit","git_tree_close":"tree","git_odb_open_wstream":"odb","git_odb_open_rstream":"odb","git_odb_hash":"odb","git_odb_object_close":"odb","git_odb_object_id":"odb","git_odb_object_data":"odb","git_odb_object_size":"odb","git_odb_object_type":"odb","git_reference_listcb":"reference","git_signature_now":"signature","git_index_add2":"index","git_index_append":"index","git_index_append2":"index","git_repository_is_empty":"repository","git_repository_path":"repository","git_repository_workdir":"repository","git_tag_create_frombuffer":"tag","git_tag_create_f":"tag","git_tag_create_fo":"tag","git_tag_delete":"tag","git_tag_list":"tag","git_commit_tree_oid":"commit","git_commit_parent_oid":"commit","git_tree_create_fromindex":"tree","git_treebuilder_create":"treebuilder","git_treebuilder_clear":"treebuilder","git_treebuilder_free":"treebuilder","git_treebuilder_get":"treebuilder","git_treebuilder_insert":"treebuilder","git_treebuilder_remove":"treebuilder","git_treebuilder_filter":"treebuilder","git_treebuilder_write":"treebuilder","git_lasterror":"errors","git_reference_create_symbolic_f":"reference","git_reference_create_oid_f":"reference","git_reference_rename_f":"reference","git_libgit2_version":"libgit2","git_config_find_global":"config","git_config_open_global":"config","git_config_file__ondisk":"config","git_config_new":"config","git_config_add_file":"config","git_config_add_file_ondisk":"config","git_config_open_ondisk":"config","git_config_free":"config","git_config_get_int":"config","git_config_get_long":"config","git_config_get_bool":"config","git_config_get_string":"config","git_config_set_int":"config","git_config_set_long":"config","git_config_set_bool":"config","git_config_set_string":"config","git_config_foreach":"config","git_blob_lookup_prefix":"blob","git_index_open":"index","git_index_entrycount_unmerged":"index","git_index_get_unmerged_bypath":"index","git_index_get_unmerged_byindex":"index","git_index_entry_stage":"index","git_repository_discover":"repository","git_repository_is_bare":"repository","git_repository_config":"repository","git_tag_lookup_prefix":"tag","git_commit_lookup_prefix":"commit","git_tree_lookup_prefix":"tree","git_tree_entry_type":"tree","git_odb_read_prefix":"odb","git_oid_fromstr":"oid","git_oid_fromraw":"oid","git_oid_ncmp":"oid","git_object_lookup_prefix":"object","git_reference_foreach":"reference","git_reflog_read":"reflog","git_reflog_write":"reflog","git_reflog_entrycount":"reflog","git_reflog_entry_byindex":"reflog","git_reflog_entry_oidold":"reflog","git_reflog_entry_oidnew":"reflog","git_reflog_entry_committer":"reflog","git_reflog_entry_msg":"reflog","git_reflog_free":"reflog","git_refspec_src":"refspec","git_refspec_dst":"refspec","git_refspec_src_match":"refspec","git_refspec_transform":"refspec","git_status_foreach":"status","git_status_file":"status","git_config_delete":"config","git_index_uniq":"index","git_repository_head_detached":"repository","git_repository_head_orphan":"repository","git_tag_create_lightweight":"tag","git_tag_list_match":"tag","git_remote_get":"remote","git_remote_name":"remote","git_remote_url":"remote","git_remote_fetchspec":"remote","git_remote_pushspec":"remote","git_remote_connect":"remote","git_remote_ls":"remote","git_remote_free":"remote","git_transport_new":"transport","git_odb_hashfile":"odb","git_oid_fromstrn":"oid","git_clearerror":"errors","git_indexer_new":"indexer","git_indexer_run":"indexer","git_indexer_write":"indexer","git_indexer_hash":"indexer","git_indexer_free":"indexer","git_config_find_system":"config","git_config_get_int32":"config","git_config_get_int64":"config","git_config_set_int32":"config","git_config_set_int64":"config","git_repository_head":"repository","git_repository_config_autoload":"repository","git_commit_message_encoding":"commit","git_remote_new":"remote","git_remote_negotiate":"remote","git_remote_download":"remote","git_remote_update_tips":"remote","git_reflog_rename":"reflog","git_reflog_delete":"reflog","gitwin_set_codepage":"gitwin","gitwin_get_codepage":"gitwin","gitwin_set_utf8":"gitwin","git_status_should_ignore":"status","git_blob_free":"blob","git_index_read_tree":"index","git_repository_set_workdir":"repository","git_repository_set_config":"repository","git_repository_odb":"repository","git_repository_set_odb":"repository","git_repository_set_index":"repository","git_tag_free":"tag","git_commit_free":"commit","git_remote_load":"remote","git_remote_connected":"remote","git_remote_disconnect":"remote","git_remote_valid_url":"remote","git_tree_free":"tree","git_tree_get_subtree":"tree","git_tree_walk":"tree","git_tree_diff":"tree","git_odb_free":"odb","git_odb_object_free":"odb","git_threads_init":"threads","git_threads_shutdown":"threads","git_oid_streq":"oid","git_attr_get":"attr","git_attr_get_many":"attr","git_attr_foreach":"attr","git_attr_cache_flush":"attr","git_attr_add_macro":"attr","git_reference_is_packed":"reference","git_reference_reload":"reference","git_reference_free":"reference","git_branch_create":"branch","git_branch_delete":"branch","git_branch_list":"branch","git_branch_move":"branch","git_indexer_stream_new":"indexer","git_indexer_stream_add":"indexer","git_indexer_stream_finalize":"indexer","git_indexer_stream_hash":"indexer","git_indexer_stream_free":"indexer","git_refspec_src_matches":"refspec","git_status_foreach_ext":"status","git_note_read":"note","git_note_message":"note","git_note_oid":"note","git_note_create":"note","git_note_remove":"note","git_note_free":"note","git_note_default_ref":"note","git_note_foreach":"note","git_config_get_multivar":"config","git_config_set_multivar":"config","git_config_get_mapped":"config","git_blob_create_fromdisk":"blob","git_repository_open_ext":"repository","git_tag_peel":"tag","git_remote_save":"remote","git_remote_set_fetchspec":"remote","git_remote_set_pushspec":"remote","git_remote_supported_url":"remote","git_remote_list":"remote","git_remote_add":"remote","git_merge_base":"merge","git_diff_list_free":"diff","git_diff_tree_to_tree":"diff","git_diff_index_to_tree":"diff","git_diff_workdir_to_index":"diff","git_diff_workdir_to_tree":"diff","git_diff_merge":"diff","git_diff_foreach":"diff","git_diff_print_compact":"diff","git_diff_print_patch":"diff","git_diff_blobs":"diff","git_tree_entry_to_object":"tree","git_submodule_foreach":"submodule","git_submodule_lookup":"submodule","git_oid_tostr":"oid","git_oid_iszero":"oid","giterr_last":"giterr","giterr_clear":"giterr","git_revwalk_push_glob":"revwalk","git_revwalk_push_head":"revwalk","git_revwalk_hide_glob":"revwalk","git_revwalk_hide_head":"revwalk","git_revwalk_push_ref":"revwalk","git_revwalk_hide_ref":"revwalk","git_reference_name_to_oid":"reference","git_reference_list":"reference","git_reference_cmp":"reference","git_reflog_append":"reflog","git_reflog_drop":"reflog","git_clone":"clone","git_clone_bare":"clone","git_branch_foreach":"branch","git_branch_lookup":"branch","git_branch_tracking":"branch","git_libgit2_capabilities":"libgit2","git_refspec_parse":"refspec","git_refspec_force":"refspec","git_config_open_default":"config","git_config_foreach_match":"config","git_reset":"reset","git_blob_create_fromchunks":"blob","git_index_caps":"index","git_index_set_caps":"index","git_repository_wrap_odb":"repository","git_repository_init_ext":"repository","git_repository_message":"repository","git_repository_message_remove":"repository","git_repository_hashfile":"repository","git_repository_set_head":"repository","git_repository_set_head_detached":"repository","git_repository_detach_head":"repository","git_revparse_single":"revparse","git_commit_nth_gen_ancestor":"commit","git_remote_pushurl":"remote","git_remote_set_url":"remote","git_remote_set_pushurl":"remote","git_remote_check_cert":"remote","git_remote_set_callbacks":"remote","git_merge_base_many":"merge","git_diff_status_char":"diff","git_diff_num_deltas":"diff","git_diff_num_deltas_of_type":"diff","git_diff_get_patch":"diff","git_diff_patch_free":"diff","git_diff_patch_delta":"diff","git_diff_patch_num_hunks":"diff","git_diff_patch_get_hunk":"diff","git_diff_patch_num_lines_in_hunk":"diff","git_diff_patch_get_line_in_hunk":"diff","git_checkout_head":"checkout","git_checkout_index":"checkout","git_checkout_tree":"checkout","git_tree_entry_free":"tree","git_tree_entry_dup":"tree","git_tree_entry_byoid":"tree","git_tree_entry_filemode":"tree","git_tree_entry_bypath":"tree","git_submodule_add_setup":"submodule","git_submodule_add_finalize":"submodule","git_submodule_add_to_index":"submodule","git_submodule_save":"submodule","git_submodule_owner":"submodule","git_submodule_name":"submodule","git_submodule_path":"submodule","git_submodule_url":"submodule","git_submodule_set_url":"submodule","git_submodule_index_oid":"submodule","git_submodule_head_oid":"submodule","git_submodule_wd_oid":"submodule","git_submodule_ignore":"submodule","git_submodule_set_ignore":"submodule","git_submodule_update":"submodule","git_submodule_set_update":"submodule","git_submodule_fetch_recurse_submodules":"submodule","git_submodule_set_fetch_recurse_submodules":"submodule","git_submodule_init":"submodule","git_submodule_sync":"submodule","git_submodule_open":"submodule","git_submodule_reload":"submodule","git_submodule_reload_all":"submodule","git_submodule_status":"submodule","git_ignore_add_rule":"ignore","git_ignore_clear_internal_rules":"ignore","git_ignore_path_is_ignored":"ignore","git_message_prettify":"message","git_odb_foreach":"odb","git_oid_equal":"oid","giterr_set_str":"giterr","giterr_set_oom":"giterr","git_object_peel":"object","git_reference_foreach_glob":"reference","git_reference_has_log":"reference","git_reference_is_branch":"reference","git_reference_is_remote":"reference","git_reference_normalize_name":"reference","git_reference_peel":"reference","git_reference_is_valid_name":"reference"}} \ No newline at end of file
+{"versions":["HEAD","v0.17.0","v0.16.0","v0.15.0","v0.14.0","v0.13.0","v0.12.0","v0.11.0","v0.10.0","v0.8.0","v0.3.0","v0.2.0","v0.1.0"],"github":"libgit2/libgit2","name":"libgit2","signatures":{"deflateBound":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0"],"changes":{}},"git_tree_lookup":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_tree_new":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0"],"changes":{}},"git_tree_id":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"HEAD":true}},"git_tree_entrycount":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"HEAD":true}},"git_tree_entry_byname":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_tree_entry_byindex":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"v0.13.0":true,"HEAD":true}},"git_tree_entry_attributes":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0"],"changes":{"v0.12.0":true}},"git_tree_entry_name":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"v0.12.0":true}},"git_tree_entry_id":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"v0.12.0":true}},"git_tree_entry_2object":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0"],"changes":{"v0.11.0":true,"v0.12.0":true}},"git_tree_add_entry":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0"],"changes":{"v0.3.0":true}},"git_tree_remove_entry_byindex":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0"],"changes":{}},"git_tree_remove_entry_byname":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0"],"changes":{}},"git_tree_entry_set_id":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0"],"changes":{}},"git_tree_entry_set_name":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0"],"changes":{}},"git_tree_entry_set_attributes":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0"],"changes":{"v0.10.0":true}},"git_tag_lookup":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_tag_new":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0"],"changes":{}},"git_tag_id":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_tag_target":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"v0.10.0":true}},"git_tag_type":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_tag_name":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_tag_tagger":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_tag_message":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_tag_set_target":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0"],"changes":{}},"git_tag_set_name":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0"],"changes":{}},"git_tag_set_tagger":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0"],"changes":{"v0.3.0":true}},"git_tag_set_message":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0"],"changes":{}},"git_revwalk_new":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_revwalk_reset":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_revwalk_push":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"v0.10.0":true}},"git_revwalk_hide":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"v0.10.0":true}},"git_revwalk_next":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"v0.3.0":true,"v0.10.0":true}},"git_revwalk_sorting":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_revwalk_free":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_revwalk_repository":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_repository_open":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_repository_lookup":{"exists":["v0.1.0","v0.2.0","v0.3.0"],"changes":{}},"git_repository_database":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0"],"changes":{}},"git_repository_index":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"v0.3.0":true}},"git_repository_newobject":{"exists":["v0.1.0","v0.2.0","v0.3.0"],"changes":{}},"git_object_write":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0"],"changes":{}},"git_object_id":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"v0.8.0":true}},"git_object_type":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"v0.8.0":true}},"git_object_owner":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"v0.8.0":true}},"git_object_free":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_repository_free":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_oid_mkstr":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0"],"changes":{}},"git_oid_mkraw":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0"],"changes":{}},"git_oid_fmt":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_oid_pathfmt":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_oid_allocfmt":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_oid_to_string":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0"],"changes":{}},"git_oid_cpy":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_oid_cmp":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_odb_open":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_odb_close":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0"],"changes":{}},"git_odb_read":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"v0.11.0":true}},"git_odb_read_header":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"v0.11.0":true}},"git_odb__read_packed":{"exists":["v0.1.0"],"changes":{}},"git_odb__read_loose":{"exists":["v0.1.0"],"changes":{}},"git_odb_write":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"v0.11.0":true}},"git_obj_close":{"exists":["v0.1.0"],"changes":{}},"git_obj_type_to_string":{"exists":["v0.1.0"],"changes":{}},"git_obj_string_to_type":{"exists":["v0.1.0"],"changes":{}},"git_obj__loose_object_type":{"exists":["v0.1.0"],"changes":{}},"git_obj_hash":{"exists":["v0.1.0"],"changes":{}},"git_odb_exists":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_index_open_bare":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0"],"changes":{}},"git_index_open_inrepo":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0"],"changes":{}},"git_index_clear":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_index_free":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_index_read":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_index_write":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_index_find":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_index_add":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"HEAD":true}},"git_index_remove":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"HEAD":true}},"git_index_insert":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0"],"changes":{}},"git_index_get":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0"],"changes":{"v0.13.0":true}},"git_index_entrycount":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_strerror":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0"],"changes":{}},"git_commit_lookup":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_commit_new":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0"],"changes":{}},"git_commit_id":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_commit_message_short":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0"],"changes":{}},"git_commit_message":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_commit_time":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_commit_committer":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_commit_author":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_commit_tree":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"v0.10.0":true}},"git_commit_add_parent":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0"],"changes":{}},"git_commit_set_message":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0"],"changes":{}},"git_commit_set_committer":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0"],"changes":{"v0.3.0":true}},"git_commit_set_author":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0"],"changes":{"v0.3.0":true}},"git_commit_set_tree":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0"],"changes":{}},"git_blob_lookup":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_blob_new":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0"],"changes":{}},"git_blob_set_rawcontent_fromfile":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0"],"changes":{}},"git_blob_set_rawcontent":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0"],"changes":{}},"git_blob_rawcontent":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_blob_rawsize":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_blob_writefile":{"exists":["v0.1.0","v0.2.0","v0.3.0","v0.8.0","v0.10.0"],"changes":{}},"git_repository_open2":{"exists":["v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0"],"changes":{}},"git_odb_new":{"exists":["v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_odb_add_backend":{"exists":["v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"v0.8.0":true}},"git_rawobj_hash":{"exists":["v0.2.0","v0.3.0","v0.8.0","v0.10.0"],"changes":{}},"git_rawobj_close":{"exists":["v0.2.0","v0.3.0","v0.8.0","v0.10.0"],"changes":{}},"git_object_type2string":{"exists":["v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_object_string2type":{"exists":["v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_object_typeisloose":{"exists":["v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_commit_parentcount":{"exists":["v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_commit_parent":{"exists":["v0.2.0","v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"v0.10.0":true}},"git_tree_add_entry_unsorted":{"exists":["v0.3.0"],"changes":{}},"git_tree_sort_entries":{"exists":["v0.3.0"],"changes":{}},"git_tree_clear_entries":{"exists":["v0.3.0","v0.8.0","v0.10.0"],"changes":{}},"git_signature_new":{"exists":["v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"v0.11.0":true,"v0.15.0":true}},"git_signature_dup":{"exists":["v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_signature_free":{"exists":["v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_repository_open3":{"exists":["v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0"],"changes":{}},"git_repository_init":{"exists":["v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_repository_lookup_ref":{"exists":["v0.3.0"],"changes":{}},"git_reference_new":{"exists":["v0.3.0"],"changes":{}},"git_reference_oid":{"exists":["v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_reference_target":{"exists":["v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_reference_type":{"exists":["v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_reference_name":{"exists":["v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_reference_resolve":{"exists":["v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_reference_write":{"exists":["v0.3.0"],"changes":{}},"git_reference_owner":{"exists":["v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_reference_set_name":{"exists":["v0.3.0"],"changes":{}},"git_reference_set_target":{"exists":["v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_reference_set_oid":{"exists":["v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_object__size":{"exists":["v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_commit_time_offset":{"exists":["v0.3.0","v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_reference_lookup":{"exists":["v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_reference_create_symbolic":{"exists":["v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"v0.14.0":true}},"git_reference_create_oid":{"exists":["v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"v0.14.0":true}},"git_reference_rename":{"exists":["v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"v0.14.0":true}},"git_reference_delete":{"exists":["v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_reference_packall":{"exists":["v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_odb_add_alternate":{"exists":["v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_object_lookup":{"exists":["v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_object_new":{"exists":["v0.8.0","v0.10.0"],"changes":{}},"git_object_close":{"exists":["v0.8.0","v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0"],"changes":{}},"git_tag_target_oid":{"exists":["v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_repository_close":{"exists":["v0.10.0"],"changes":{}},"git_reference_listall":{"exists":["v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0"],"changes":{}},"git_oid_shorten_new":{"exists":["v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_oid_shorten_add":{"exists":["v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_oid_shorten_free":{"exists":["v0.10.0","v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_tree_close":{"exists":["v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0"],"changes":{}},"git_tag_close":{"exists":["v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0"],"changes":{}},"git_tag_create":{"exists":["v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"v0.14.0":true}},"git_tag_create_o":{"exists":["v0.11.0","v0.12.0","v0.13.0"],"changes":{}},"git_reference_listcb":{"exists":["v0.11.0","v0.12.0"],"changes":{}},"git_odb_open_wstream":{"exists":["v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_odb_open_rstream":{"exists":["v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_odb_hash":{"exists":["v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_odb_object_close":{"exists":["v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0"],"changes":{}},"git_odb_object_id":{"exists":["v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_odb_object_data":{"exists":["v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_odb_object_size":{"exists":["v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_odb_object_type":{"exists":["v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_commit_close":{"exists":["v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0"],"changes":{}},"git_commit_create":{"exists":["v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"v0.14.0":true,"v0.15.0":true}},"git_commit_create_o":{"exists":["v0.11.0","v0.12.0","v0.13.0"],"changes":{}},"git_commit_create_ov":{"exists":["v0.11.0","v0.12.0","v0.13.0"],"changes":{}},"git_commit_create_v":{"exists":["v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"v0.14.0":true,"v0.15.0":true}},"git_blob_close":{"exists":["v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0"],"changes":{}},"git_blob_create_fromfile":{"exists":["v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_blob_create_frombuffer":{"exists":["v0.11.0","v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_tree_create_fromindex":{"exists":["v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0"],"changes":{}},"git_treebuilder_create":{"exists":["v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_treebuilder_clear":{"exists":["v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_treebuilder_free":{"exists":["v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_treebuilder_get":{"exists":["v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_treebuilder_insert":{"exists":["v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"HEAD":true}},"git_treebuilder_remove":{"exists":["v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_treebuilder_filter":{"exists":["v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_treebuilder_write":{"exists":["v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_tag_create_frombuffer":{"exists":["v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"v0.14.0":true}},"git_tag_create_f":{"exists":["v0.12.0","v0.13.0"],"changes":{}},"git_tag_create_fo":{"exists":["v0.12.0","v0.13.0"],"changes":{}},"git_tag_delete":{"exists":["v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_tag_list":{"exists":["v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_signature_now":{"exists":["v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"v0.15.0":true}},"git_repository_is_empty":{"exists":["v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_repository_path":{"exists":["v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"v0.13.0":true,"v0.16.0":true}},"git_repository_workdir":{"exists":["v0.12.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_reference_create_symbolic_f":{"exists":["v0.12.0","v0.13.0"],"changes":{}},"git_reference_create_oid_f":{"exists":["v0.12.0","v0.13.0"],"changes":{}},"git_reference_rename_f":{"exists":["v0.12.0","v0.13.0"],"changes":{}},"git_index_add2":{"exists":["v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0"],"changes":{}},"git_index_append":{"exists":["v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0"],"changes":{}},"git_index_append2":{"exists":["v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0"],"changes":{}},"git_lasterror":{"exists":["v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0"],"changes":{}},"git_commit_tree_oid":{"exists":["v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_commit_parent_oid":{"exists":["v0.12.0","v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_tree_lookup_prefix":{"exists":["v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"HEAD":true}},"git_tree_entry_type":{"exists":["v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_tag_lookup_prefix":{"exists":["v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"HEAD":true}},"git_repository_discover":{"exists":["v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_repository_is_bare":{"exists":["v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_repository_config":{"exists":["v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"v0.16.0":true}},"git_reference_foreach":{"exists":["v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_oid_fromstr":{"exists":["v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_oid_fromraw":{"exists":["v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_oid_ncmp":{"exists":["v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"HEAD":true}},"git_odb_read_prefix":{"exists":["v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"HEAD":true}},"git_object_lookup_prefix":{"exists":["v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"HEAD":true}},"git_index_open":{"exists":["v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_index_entrycount_unmerged":{"exists":["v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0"],"changes":{}},"git_index_get_unmerged_bypath":{"exists":["v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0"],"changes":{}},"git_index_get_unmerged_byindex":{"exists":["v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0"],"changes":{}},"git_index_entry_stage":{"exists":["v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_config_find_global":{"exists":["v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"v0.17.0":true}},"git_config_open_global":{"exists":["v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0"],"changes":{}},"git_config_file__ondisk":{"exists":["v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_config_new":{"exists":["v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_config_add_file":{"exists":["v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"HEAD":true}},"git_config_add_file_ondisk":{"exists":["v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"HEAD":true}},"git_config_open_ondisk":{"exists":["v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_config_free":{"exists":["v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_config_get_int":{"exists":["v0.13.0","v0.14.0"],"changes":{}},"git_config_get_long":{"exists":["v0.13.0","v0.14.0"],"changes":{}},"git_config_get_bool":{"exists":["v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"v0.17.0":true}},"git_config_get_string":{"exists":["v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"v0.17.0":true}},"git_config_set_int":{"exists":["v0.13.0","v0.14.0"],"changes":{}},"git_config_set_long":{"exists":["v0.13.0","v0.14.0"],"changes":{}},"git_config_set_bool":{"exists":["v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_config_set_string":{"exists":["v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_config_foreach":{"exists":["v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"v0.14.0":true,"HEAD":true}},"git_libgit2_version":{"exists":["v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_commit_lookup_prefix":{"exists":["v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"HEAD":true}},"git_blob_lookup_prefix":{"exists":["v0.13.0","v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"HEAD":true}},"git_transport_new":{"exists":["v0.14.0","v0.15.0","HEAD"],"changes":{}},"git_tag_create_lightweight":{"exists":["v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_tag_list_match":{"exists":["v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_status_foreach":{"exists":["v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_status_file":{"exists":["v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_repository_head_detached":{"exists":["v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_repository_head_orphan":{"exists":["v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_remote_get":{"exists":["v0.14.0","v0.15.0"],"changes":{}},"git_remote_name":{"exists":["v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"v0.16.0":true}},"git_remote_url":{"exists":["v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"v0.16.0":true}},"git_remote_fetchspec":{"exists":["v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"v0.16.0":true}},"git_remote_pushspec":{"exists":["v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"v0.16.0":true}},"git_remote_connect":{"exists":["v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"v0.16.0":true}},"git_remote_ls":{"exists":["v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"v0.16.0":true}},"git_remote_free":{"exists":["v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"v0.16.0":true}},"git_refspec_src":{"exists":["v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_refspec_dst":{"exists":["v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_refspec_src_match":{"exists":["v0.14.0","v0.15.0","v0.16.0"],"changes":{}},"git_refspec_transform":{"exists":["v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_reflog_read":{"exists":["v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_reflog_write":{"exists":["v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"HEAD":true}},"git_reflog_entrycount":{"exists":["v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_reflog_entry_byindex":{"exists":["v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"HEAD":true}},"git_reflog_entry_oidold":{"exists":["v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_reflog_entry_oidnew":{"exists":["v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_reflog_entry_committer":{"exists":["v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_reflog_entry_msg":{"exists":["v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_reflog_free":{"exists":["v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_oid_fromstrn":{"exists":["v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_odb_hashfile":{"exists":["v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_index_uniq":{"exists":["v0.14.0","v0.15.0","v0.16.0","v0.17.0"],"changes":{}},"git_clearerror":{"exists":["v0.14.0","v0.15.0","v0.16.0"],"changes":{}},"git_config_delete":{"exists":["v0.14.0","v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_repository_head":{"exists":["v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_repository_config_autoload":{"exists":["v0.15.0"],"changes":{}},"git_remote_new":{"exists":["v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"v0.16.0":true,"v0.17.0":true}},"git_remote_negotiate":{"exists":["v0.15.0"],"changes":{}},"git_remote_download":{"exists":["v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"v0.17.0":true,"HEAD":true}},"git_remote_update_tips":{"exists":["v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"v0.16.0":true,"v0.17.0":true,"HEAD":true}},"git_indexer_new":{"exists":["v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_indexer_run":{"exists":["v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"HEAD":true}},"git_indexer_write":{"exists":["v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_indexer_hash":{"exists":["v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_indexer_free":{"exists":["v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_config_find_system":{"exists":["v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"v0.17.0":true}},"git_config_get_int32":{"exists":["v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"v0.17.0":true}},"git_config_get_int64":{"exists":["v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{"v0.17.0":true}},"git_config_set_int32":{"exists":["v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_config_set_int64":{"exists":["v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_commit_message_encoding":{"exists":["v0.15.0","v0.16.0","v0.17.0","HEAD"],"changes":{}},"gitwin_set_codepage":{"exists":["v0.16.0","v0.17.0"],"changes":{}},"gitwin_get_codepage":{"exists":["v0.16.0","v0.17.0"],"changes":{}},"gitwin_set_utf8":{"exists":["v0.16.0","v0.17.0"],"changes":{}},"git_tree_free":{"exists":["v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_tree_get_subtree":{"exists":["v0.16.0","v0.17.0"],"changes":{}},"git_tree_walk":{"exists":["v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_tree_diff":{"exists":["v0.16.0"],"changes":{}},"git_threads_init":{"exists":["v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_threads_shutdown":{"exists":["v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_tag_free":{"exists":["v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_status_should_ignore":{"exists":["v0.16.0","v0.17.0","HEAD"],"changes":{"v0.17.0":true}},"git_repository_set_workdir":{"exists":["v0.16.0","v0.17.0","HEAD"],"changes":{"HEAD":true}},"git_repository_set_config":{"exists":["v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_repository_odb":{"exists":["v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_repository_set_odb":{"exists":["v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_repository_set_index":{"exists":["v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_remote_load":{"exists":["v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_remote_connected":{"exists":["v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_remote_disconnect":{"exists":["v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_remote_valid_url":{"exists":["v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_reference_is_packed":{"exists":["v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_reference_reload":{"exists":["v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_reference_free":{"exists":["v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_reflog_rename":{"exists":["v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_reflog_delete":{"exists":["v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_oid_streq":{"exists":["v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_odb_free":{"exists":["v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_odb_object_free":{"exists":["v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_index_read_tree":{"exists":["v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_commit_free":{"exists":["v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_blob_free":{"exists":["v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_attr_get":{"exists":["v0.16.0","v0.17.0","HEAD"],"changes":{"v0.17.0":true}},"git_attr_get_many":{"exists":["v0.16.0","v0.17.0","HEAD"],"changes":{"v0.17.0":true}},"git_attr_foreach":{"exists":["v0.16.0","v0.17.0","HEAD"],"changes":{"v0.17.0":true}},"git_attr_cache_flush":{"exists":["v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_attr_add_macro":{"exists":["v0.16.0","v0.17.0","HEAD"],"changes":{}},"git_tree_entry_to_object":{"exists":["v0.17.0","HEAD"],"changes":{}},"git_tag_peel":{"exists":["v0.17.0","HEAD"],"changes":{}},"git_submodule_foreach":{"exists":["v0.17.0","HEAD"],"changes":{"HEAD":true}},"git_submodule_lookup":{"exists":["v0.17.0","HEAD"],"changes":{}},"git_status_foreach_ext":{"exists":["v0.17.0","HEAD"],"changes":{}},"git_revwalk_push_glob":{"exists":["v0.17.0","HEAD"],"changes":{}},"git_revwalk_push_head":{"exists":["v0.17.0","HEAD"],"changes":{}},"git_revwalk_hide_glob":{"exists":["v0.17.0","HEAD"],"changes":{}},"git_revwalk_hide_head":{"exists":["v0.17.0","HEAD"],"changes":{}},"git_revwalk_push_ref":{"exists":["v0.17.0","HEAD"],"changes":{}},"git_revwalk_hide_ref":{"exists":["v0.17.0","HEAD"],"changes":{}},"git_repository_open_ext":{"exists":["v0.17.0","HEAD"],"changes":{}},"git_remote_save":{"exists":["v0.17.0","HEAD"],"changes":{}},"git_remote_set_fetchspec":{"exists":["v0.17.0","HEAD"],"changes":{}},"git_remote_set_pushspec":{"exists":["v0.17.0","HEAD"],"changes":{}},"git_remote_supported_url":{"exists":["v0.17.0","HEAD"],"changes":{}},"git_remote_list":{"exists":["v0.17.0","HEAD"],"changes":{}},"git_remote_add":{"exists":["v0.17.0","HEAD"],"changes":{}},"git_refspec_src_matches":{"exists":["v0.17.0","HEAD"],"changes":{}},"git_reference_name_to_oid":{"exists":["v0.17.0","HEAD"],"changes":{}},"git_reference_list":{"exists":["v0.17.0","HEAD"],"changes":{}},"git_reference_cmp":{"exists":["v0.17.0","HEAD"],"changes":{}},"git_oid_tostr":{"exists":["v0.17.0","HEAD"],"changes":{}},"git_oid_iszero":{"exists":["v0.17.0","HEAD"],"changes":{}},"git_note_read":{"exists":["v0.17.0","HEAD"],"changes":{}},"git_note_message":{"exists":["v0.17.0","HEAD"],"changes":{}},"git_note_oid":{"exists":["v0.17.0","HEAD"],"changes":{}},"git_note_create":{"exists":["v0.17.0","HEAD"],"changes":{}},"git_note_remove":{"exists":["v0.17.0","HEAD"],"changes":{}},"git_note_free":{"exists":["v0.17.0","HEAD"],"changes":{}},"git_note_default_ref":{"exists":["v0.17.0","HEAD"],"changes":{}},"git_note_foreach":{"exists":["v0.17.0","HEAD"],"changes":{}},"git_merge_base":{"exists":["v0.17.0","HEAD"],"changes":{"HEAD":true}},"git_indexer_stream_new":{"exists":["v0.17.0","HEAD"],"changes":{"HEAD":true}},"git_indexer_stream_add":{"exists":["v0.17.0","HEAD"],"changes":{"HEAD":true}},"git_indexer_stream_finalize":{"exists":["v0.17.0","HEAD"],"changes":{"HEAD":true}},"git_indexer_stream_hash":{"exists":["v0.17.0","HEAD"],"changes":{}},"git_indexer_stream_free":{"exists":["v0.17.0","HEAD"],"changes":{}},"giterr_last":{"exists":["v0.17.0","HEAD"],"changes":{}},"giterr_clear":{"exists":["v0.17.0","HEAD"],"changes":{}},"git_diff_list_free":{"exists":["v0.17.0","HEAD"],"changes":{}},"git_diff_tree_to_tree":{"exists":["v0.17.0","HEAD"],"changes":{}},"git_diff_index_to_tree":{"exists":["v0.17.0","HEAD"],"changes":{}},"git_diff_workdir_to_index":{"exists":["v0.17.0","HEAD"],"changes":{}},"git_diff_workdir_to_tree":{"exists":["v0.17.0","HEAD"],"changes":{}},"git_diff_merge":{"exists":["v0.17.0","HEAD"],"changes":{}},"git_diff_foreach":{"exists":["v0.17.0","HEAD"],"changes":{}},"git_diff_print_compact":{"exists":["v0.17.0","HEAD"],"changes":{}},"git_diff_print_patch":{"exists":["v0.17.0","HEAD"],"changes":{}},"git_diff_blobs":{"exists":["v0.17.0","HEAD"],"changes":{"HEAD":true}},"git_config_get_multivar":{"exists":["v0.17.0","HEAD"],"changes":{"HEAD":true}},"git_config_set_multivar":{"exists":["v0.17.0","HEAD"],"changes":{}},"git_config_get_mapped":{"exists":["v0.17.0","HEAD"],"changes":{}},"git_branch_create":{"exists":["v0.17.0","HEAD"],"changes":{"HEAD":true}},"git_branch_delete":{"exists":["v0.17.0","HEAD"],"changes":{"HEAD":true}},"git_branch_list":{"exists":["v0.17.0"],"changes":{}},"git_branch_move":{"exists":["v0.17.0","HEAD"],"changes":{"HEAD":true}},"git_blob_create_fromdisk":{"exists":["v0.17.0","HEAD"],"changes":{}},"git_tree_entry_free":{"exists":["HEAD"],"changes":{}},"git_tree_entry_dup":{"exists":["HEAD"],"changes":{}},"git_tree_entry_byoid":{"exists":["HEAD"],"changes":{}},"git_tree_entry_filemode":{"exists":["HEAD"],"changes":{}},"git_tree_entry_bypath":{"exists":["HEAD"],"changes":{}},"git_transport_valid_url":{"exists":["HEAD"],"changes":{}},"git_transport_dummy":{"exists":["HEAD"],"changes":{}},"git_transport_local":{"exists":["HEAD"],"changes":{}},"git_transport_smart":{"exists":["HEAD"],"changes":{}},"git_smart_subtransport_http":{"exists":["HEAD"],"changes":{}},"git_smart_subtransport_git":{"exists":["HEAD"],"changes":{}},"git_tag_foreach":{"exists":["HEAD"],"changes":{}},"git_submodule_add_setup":{"exists":["HEAD"],"changes":{}},"git_submodule_add_finalize":{"exists":["HEAD"],"changes":{}},"git_submodule_add_to_index":{"exists":["HEAD"],"changes":{}},"git_submodule_save":{"exists":["HEAD"],"changes":{}},"git_submodule_owner":{"exists":["HEAD"],"changes":{}},"git_submodule_name":{"exists":["HEAD"],"changes":{}},"git_submodule_path":{"exists":["HEAD"],"changes":{}},"git_submodule_url":{"exists":["HEAD"],"changes":{}},"git_submodule_set_url":{"exists":["HEAD"],"changes":{}},"git_submodule_index_oid":{"exists":["HEAD"],"changes":{}},"git_submodule_head_oid":{"exists":["HEAD"],"changes":{}},"git_submodule_wd_oid":{"exists":["HEAD"],"changes":{}},"git_submodule_ignore":{"exists":["HEAD"],"changes":{}},"git_submodule_set_ignore":{"exists":["HEAD"],"changes":{}},"git_submodule_update":{"exists":["HEAD"],"changes":{}},"git_submodule_set_update":{"exists":["HEAD"],"changes":{}},"git_submodule_fetch_recurse_submodules":{"exists":["HEAD"],"changes":{}},"git_submodule_set_fetch_recurse_submodules":{"exists":["HEAD"],"changes":{}},"git_submodule_init":{"exists":["HEAD"],"changes":{}},"git_submodule_sync":{"exists":["HEAD"],"changes":{}},"git_submodule_open":{"exists":["HEAD"],"changes":{}},"git_submodule_reload":{"exists":["HEAD"],"changes":{}},"git_submodule_reload_all":{"exists":["HEAD"],"changes":{}},"git_submodule_status":{"exists":["HEAD"],"changes":{}},"git_strarray_free":{"exists":["HEAD"],"changes":{}},"git_strarray_copy":{"exists":["HEAD"],"changes":{}},"git_stash_save":{"exists":["HEAD"],"changes":{}},"git_stash_foreach":{"exists":["HEAD"],"changes":{}},"git_stash_drop":{"exists":["HEAD"],"changes":{}},"git_revparse_single":{"exists":["HEAD"],"changes":{}},"git_reset":{"exists":["HEAD"],"changes":{}},"git_repository_wrap_odb":{"exists":["HEAD"],"changes":{}},"git_repository_init_ext":{"exists":["HEAD"],"changes":{}},"git_repository_message":{"exists":["HEAD"],"changes":{}},"git_repository_message_remove":{"exists":["HEAD"],"changes":{}},"git_repository_hashfile":{"exists":["HEAD"],"changes":{}},"git_repository_set_head":{"exists":["HEAD"],"changes":{}},"git_repository_set_head_detached":{"exists":["HEAD"],"changes":{}},"git_repository_detach_head":{"exists":["HEAD"],"changes":{}},"git_repository_state":{"exists":["HEAD"],"changes":{}},"git_remote_pushurl":{"exists":["HEAD"],"changes":{}},"git_remote_set_url":{"exists":["HEAD"],"changes":{}},"git_remote_set_pushurl":{"exists":["HEAD"],"changes":{}},"git_remote_stop":{"exists":["HEAD"],"changes":{}},"git_remote_check_cert":{"exists":["HEAD"],"changes":{}},"git_remote_set_transport":{"exists":["HEAD"],"changes":{}},"git_remote_set_callbacks":{"exists":["HEAD"],"changes":{}},"git_remote_stats":{"exists":["HEAD"],"changes":{}},"git_remote_autotag":{"exists":["HEAD"],"changes":{}},"git_remote_set_autotag":{"exists":["HEAD"],"changes":{}},"git_remote_rename":{"exists":["HEAD"],"changes":{}},"git_refspec_force":{"exists":["HEAD"],"changes":{}},"git_reference_foreach_glob":{"exists":["HEAD"],"changes":{}},"git_reference_has_log":{"exists":["HEAD"],"changes":{}},"git_reference_is_branch":{"exists":["HEAD"],"changes":{}},"git_reference_is_remote":{"exists":["HEAD"],"changes":{}},"git_reference_normalize_name":{"exists":["HEAD"],"changes":{}},"git_reference_peel":{"exists":["HEAD"],"changes":{}},"git_reference_is_valid_name":{"exists":["HEAD"],"changes":{}},"git_reflog_append":{"exists":["HEAD"],"changes":{}},"git_reflog_drop":{"exists":["HEAD"],"changes":{}},"git_packbuilder_new":{"exists":["HEAD"],"changes":{}},"git_packbuilder_set_threads":{"exists":["HEAD"],"changes":{}},"git_packbuilder_insert":{"exists":["HEAD"],"changes":{}},"git_packbuilder_insert_tree":{"exists":["HEAD"],"changes":{}},"git_packbuilder_write":{"exists":["HEAD"],"changes":{}},"git_packbuilder_free":{"exists":["HEAD"],"changes":{}},"git_oid_equal":{"exists":["HEAD"],"changes":{}},"git_odb_foreach":{"exists":["HEAD"],"changes":{}},"git_object_peel":{"exists":["HEAD"],"changes":{}},"git_message_prettify":{"exists":["HEAD"],"changes":{}},"git_merge_base_many":{"exists":["HEAD"],"changes":{}},"git_index_new":{"exists":["HEAD"],"changes":{}},"git_index_owner":{"exists":["HEAD"],"changes":{}},"git_index_caps":{"exists":["HEAD"],"changes":{}},"git_index_set_caps":{"exists":["HEAD"],"changes":{}},"git_index_write_tree":{"exists":["HEAD"],"changes":{}},"git_index_write_tree_to":{"exists":["HEAD"],"changes":{}},"git_index_get_byindex":{"exists":["HEAD"],"changes":{}},"git_index_get_bypath":{"exists":["HEAD"],"changes":{}},"git_index_add_from_workdir":{"exists":["HEAD"],"changes":{}},"git_index_conflict_add":{"exists":["HEAD"],"changes":{}},"git_index_conflict_get":{"exists":["HEAD"],"changes":{}},"git_index_conflict_remove":{"exists":["HEAD"],"changes":{}},"git_index_conflict_cleanup":{"exists":["HEAD"],"changes":{}},"git_index_reuc_entrycount":{"exists":["HEAD"],"changes":{}},"git_index_reuc_find":{"exists":["HEAD"],"changes":{}},"git_index_reuc_get_bypath":{"exists":["HEAD"],"changes":{}},"git_index_reuc_get_byindex":{"exists":["HEAD"],"changes":{}},"git_index_reuc_add":{"exists":["HEAD"],"changes":{}},"git_index_reuc_remove":{"exists":["HEAD"],"changes":{}},"git_ignore_add_rule":{"exists":["HEAD"],"changes":{}},"git_ignore_clear_internal_rules":{"exists":["HEAD"],"changes":{}},"git_ignore_path_is_ignored":{"exists":["HEAD"],"changes":{}},"giterr_set_str":{"exists":["HEAD"],"changes":{}},"giterr_set_oom":{"exists":["HEAD"],"changes":{}},"git_diff_status_char":{"exists":["HEAD"],"changes":{}},"git_diff_num_deltas":{"exists":["HEAD"],"changes":{}},"git_diff_num_deltas_of_type":{"exists":["HEAD"],"changes":{}},"git_diff_get_patch":{"exists":["HEAD"],"changes":{}},"git_diff_patch_free":{"exists":["HEAD"],"changes":{}},"git_diff_patch_delta":{"exists":["HEAD"],"changes":{}},"git_diff_patch_num_hunks":{"exists":["HEAD"],"changes":{}},"git_diff_patch_get_hunk":{"exists":["HEAD"],"changes":{}},"git_diff_patch_num_lines_in_hunk":{"exists":["HEAD"],"changes":{}},"git_diff_patch_get_line_in_hunk":{"exists":["HEAD"],"changes":{}},"git_diff_patch_print":{"exists":["HEAD"],"changes":{}},"git_diff_patch_to_str":{"exists":["HEAD"],"changes":{}},"git_config_find_xdg":{"exists":["HEAD"],"changes":{}},"git_config_open_default":{"exists":["HEAD"],"changes":{}},"git_config_open_level":{"exists":["HEAD"],"changes":{}},"git_config_refresh":{"exists":["HEAD"],"changes":{}},"git_config_get_config_entry":{"exists":["HEAD"],"changes":{}},"git_config_foreach_match":{"exists":["HEAD"],"changes":{}},"git_config_lookup_map_value":{"exists":["HEAD"],"changes":{}},"git_config_parse_bool":{"exists":["HEAD"],"changes":{}},"git_config_parse_int64":{"exists":["HEAD"],"changes":{}},"git_config_parse_int32":{"exists":["HEAD"],"changes":{}},"git_libgit2_capabilities":{"exists":["HEAD"],"changes":{}},"git_commit_nth_gen_ancestor":{"exists":["HEAD"],"changes":{}},"git_clone":{"exists":["HEAD"],"changes":{}},"git_clone_bare":{"exists":["HEAD"],"changes":{}},"git_checkout_head":{"exists":["HEAD"],"changes":{}},"git_checkout_index":{"exists":["HEAD"],"changes":{}},"git_checkout_tree":{"exists":["HEAD"],"changes":{}},"git_branch_foreach":{"exists":["HEAD"],"changes":{}},"git_branch_lookup":{"exists":["HEAD"],"changes":{}},"git_branch_tracking":{"exists":["HEAD"],"changes":{}},"git_branch_is_head":{"exists":["HEAD"],"changes":{}},"git_blob_create_fromchunks":{"exists":["HEAD"],"changes":{}}},"groups":{"deflateBound":"zlib","git_tree_lookup":"tree","git_tree_new":"tree","git_tree_id":"tree","git_tree_entrycount":"tree","git_tree_entry_byname":"tree","git_tree_entry_byindex":"tree","git_tree_entry_attributes":"tree","git_tree_entry_name":"tree","git_tree_entry_id":"tree","git_tree_entry_2object":"tree","git_tree_add_entry":"tree","git_tree_remove_entry_byindex":"tree","git_tree_remove_entry_byname":"tree","git_tree_entry_set_id":"tree","git_tree_entry_set_name":"tree","git_tree_entry_set_attributes":"tree","git_tag_lookup":"tag","git_tag_new":"tag","git_tag_id":"tag","git_tag_target":"tag","git_tag_type":"tag","git_tag_name":"tag","git_tag_tagger":"tag","git_tag_message":"tag","git_tag_set_target":"tag","git_tag_set_name":"tag","git_tag_set_tagger":"tag","git_tag_set_message":"tag","git_revwalk_new":"revwalk","git_revwalk_reset":"revwalk","git_revwalk_push":"revwalk","git_revwalk_hide":"revwalk","git_revwalk_next":"revwalk","git_revwalk_sorting":"revwalk","git_revwalk_free":"revwalk","git_revwalk_repository":"revwalk","git_repository_open":"repository","git_repository_lookup":"repository","git_repository_database":"repository","git_repository_index":"repository","git_repository_newobject":"repository","git_object_write":"object","git_object_id":"object","git_object_type":"object","git_object_owner":"object","git_object_free":"object","git_repository_free":"repository","git_oid_mkstr":"oid","git_oid_mkraw":"oid","git_oid_fmt":"oid","git_oid_pathfmt":"oid","git_oid_allocfmt":"oid","git_oid_to_string":"oid","git_oid_cpy":"oid","git_oid_cmp":"oid","git_odb_open":"odb","git_odb_close":"odb","git_odb_read":"odb","git_odb_read_header":"odb","git_odb__read_packed":"odb","git_odb__read_loose":"odb","git_odb_write":"odb","git_obj_close":"obj","git_obj_type_to_string":"obj","git_obj_string_to_type":"obj","git_obj__loose_object_type":"obj","git_obj_hash":"obj","git_odb_exists":"odb","git_index_open_bare":"index","git_index_open_inrepo":"index","git_index_clear":"index","git_index_free":"index","git_index_read":"index","git_index_write":"index","git_index_find":"index","git_index_add":"index","git_index_remove":"index","git_index_insert":"index","git_index_get":"index","git_index_entrycount":"index","git_strerror":"errors","git_commit_lookup":"commit","git_commit_new":"commit","git_commit_id":"commit","git_commit_message_short":"commit","git_commit_message":"commit","git_commit_time":"commit","git_commit_committer":"commit","git_commit_author":"commit","git_commit_tree":"commit","git_commit_add_parent":"commit","git_commit_set_message":"commit","git_commit_set_committer":"commit","git_commit_set_author":"commit","git_commit_set_tree":"commit","git_blob_lookup":"blob","git_blob_new":"blob","git_blob_set_rawcontent_fromfile":"blob","git_blob_set_rawcontent":"blob","git_blob_rawcontent":"blob","git_blob_rawsize":"blob","git_blob_writefile":"blob","git_repository_open2":"repository","git_odb_new":"odb","git_odb_add_backend":"odb","git_rawobj_hash":"rawobj","git_rawobj_close":"rawobj","git_object_type2string":"object","git_object_string2type":"object","git_object_typeisloose":"object","git_commit_parentcount":"commit","git_commit_parent":"commit","git_tree_add_entry_unsorted":"tree","git_tree_sort_entries":"tree","git_tree_clear_entries":"tree","git_signature_new":"signature","git_signature_dup":"signature","git_signature_free":"signature","git_repository_open3":"repository","git_repository_init":"repository","git_repository_lookup_ref":"repository","git_reference_new":"reference","git_reference_oid":"reference","git_reference_target":"reference","git_reference_type":"reference","git_reference_name":"reference","git_reference_resolve":"reference","git_reference_write":"reference","git_reference_owner":"reference","git_reference_set_name":"reference","git_reference_set_target":"reference","git_reference_set_oid":"reference","git_object__size":"object","git_commit_time_offset":"commit","git_reference_lookup":"reference","git_reference_create_symbolic":"reference","git_reference_create_oid":"reference","git_reference_rename":"reference","git_reference_delete":"reference","git_reference_packall":"reference","git_odb_add_alternate":"odb","git_object_lookup":"object","git_object_new":"object","git_object_close":"object","git_tag_target_oid":"tag","git_repository_close":"repository","git_reference_listall":"reference","git_oid_shorten_new":"oid","git_oid_shorten_add":"oid","git_oid_shorten_free":"oid","git_tree_close":"tree","git_tag_close":"tag","git_tag_create":"tag","git_tag_create_o":"tag","git_reference_listcb":"reference","git_odb_open_wstream":"odb","git_odb_open_rstream":"odb","git_odb_hash":"odb","git_odb_object_close":"odb","git_odb_object_id":"odb","git_odb_object_data":"odb","git_odb_object_size":"odb","git_odb_object_type":"odb","git_commit_close":"commit","git_commit_create":"commit","git_commit_create_o":"commit","git_commit_create_ov":"commit","git_commit_create_v":"commit","git_blob_close":"blob","git_blob_create_fromfile":"blob","git_blob_create_frombuffer":"blob","git_tree_create_fromindex":"tree","git_treebuilder_create":"treebuilder","git_treebuilder_clear":"treebuilder","git_treebuilder_free":"treebuilder","git_treebuilder_get":"treebuilder","git_treebuilder_insert":"treebuilder","git_treebuilder_remove":"treebuilder","git_treebuilder_filter":"treebuilder","git_treebuilder_write":"treebuilder","git_tag_create_frombuffer":"tag","git_tag_create_f":"tag","git_tag_create_fo":"tag","git_tag_delete":"tag","git_tag_list":"tag","git_signature_now":"signature","git_repository_is_empty":"repository","git_repository_path":"repository","git_repository_workdir":"repository","git_reference_create_symbolic_f":"reference","git_reference_create_oid_f":"reference","git_reference_rename_f":"reference","git_index_add2":"index","git_index_append":"index","git_index_append2":"index","git_lasterror":"errors","git_commit_tree_oid":"commit","git_commit_parent_oid":"commit","git_tree_lookup_prefix":"tree","git_tree_entry_type":"tree","git_tag_lookup_prefix":"tag","git_repository_discover":"repository","git_repository_is_bare":"repository","git_repository_config":"repository","git_reference_foreach":"reference","git_oid_fromstr":"oid","git_oid_fromraw":"oid","git_oid_ncmp":"oid","git_odb_read_prefix":"odb","git_object_lookup_prefix":"object","git_index_open":"index","git_index_entrycount_unmerged":"index","git_index_get_unmerged_bypath":"index","git_index_get_unmerged_byindex":"index","git_index_entry_stage":"index","git_config_find_global":"config","git_config_open_global":"config","git_config_file__ondisk":"config","git_config_new":"config","git_config_add_file":"config","git_config_add_file_ondisk":"config","git_config_open_ondisk":"config","git_config_free":"config","git_config_get_int":"config","git_config_get_long":"config","git_config_get_bool":"config","git_config_get_string":"config","git_config_set_int":"config","git_config_set_long":"config","git_config_set_bool":"config","git_config_set_string":"config","git_config_foreach":"config","git_libgit2_version":"libgit2","git_commit_lookup_prefix":"commit","git_blob_lookup_prefix":"blob","git_transport_new":"transport","git_tag_create_lightweight":"tag","git_tag_list_match":"tag","git_status_foreach":"status","git_status_file":"status","git_repository_head_detached":"repository","git_repository_head_orphan":"repository","git_remote_get":"remote","git_remote_name":"remote","git_remote_url":"remote","git_remote_fetchspec":"remote","git_remote_pushspec":"remote","git_remote_connect":"remote","git_remote_ls":"remote","git_remote_free":"remote","git_refspec_src":"refspec","git_refspec_dst":"refspec","git_refspec_src_match":"refspec","git_refspec_transform":"refspec","git_reflog_read":"reflog","git_reflog_write":"reflog","git_reflog_entrycount":"reflog","git_reflog_entry_byindex":"reflog","git_reflog_entry_oidold":"reflog","git_reflog_entry_oidnew":"reflog","git_reflog_entry_committer":"reflog","git_reflog_entry_msg":"reflog","git_reflog_free":"reflog","git_oid_fromstrn":"oid","git_odb_hashfile":"odb","git_index_uniq":"index","git_clearerror":"errors","git_config_delete":"config","git_repository_head":"repository","git_repository_config_autoload":"repository","git_remote_new":"remote","git_remote_negotiate":"remote","git_remote_download":"remote","git_remote_update_tips":"remote","git_indexer_new":"indexer","git_indexer_run":"indexer","git_indexer_write":"indexer","git_indexer_hash":"indexer","git_indexer_free":"indexer","git_config_find_system":"config","git_config_get_int32":"config","git_config_get_int64":"config","git_config_set_int32":"config","git_config_set_int64":"config","git_commit_message_encoding":"commit","gitwin_set_codepage":"gitwin","gitwin_get_codepage":"gitwin","gitwin_set_utf8":"gitwin","git_tree_free":"tree","git_tree_get_subtree":"tree","git_tree_walk":"tree","git_tree_diff":"tree","git_threads_init":"threads","git_threads_shutdown":"threads","git_tag_free":"tag","git_status_should_ignore":"status","git_repository_set_workdir":"repository","git_repository_set_config":"repository","git_repository_odb":"repository","git_repository_set_odb":"repository","git_repository_set_index":"repository","git_remote_load":"remote","git_remote_connected":"remote","git_remote_disconnect":"remote","git_remote_valid_url":"remote","git_reference_is_packed":"reference","git_reference_reload":"reference","git_reference_free":"reference","git_reflog_rename":"reflog","git_reflog_delete":"reflog","git_oid_streq":"oid","git_odb_free":"odb","git_odb_object_free":"odb","git_index_read_tree":"index","git_commit_free":"commit","git_blob_free":"blob","git_attr_get":"attr","git_attr_get_many":"attr","git_attr_foreach":"attr","git_attr_cache_flush":"attr","git_attr_add_macro":"attr","git_tree_entry_to_object":"tree","git_tag_peel":"tag","git_submodule_foreach":"submodule","git_submodule_lookup":"submodule","git_status_foreach_ext":"status","git_revwalk_push_glob":"revwalk","git_revwalk_push_head":"revwalk","git_revwalk_hide_glob":"revwalk","git_revwalk_hide_head":"revwalk","git_revwalk_push_ref":"revwalk","git_revwalk_hide_ref":"revwalk","git_repository_open_ext":"repository","git_remote_save":"remote","git_remote_set_fetchspec":"remote","git_remote_set_pushspec":"remote","git_remote_supported_url":"remote","git_remote_list":"remote","git_remote_add":"remote","git_refspec_src_matches":"refspec","git_reference_name_to_oid":"reference","git_reference_list":"reference","git_reference_cmp":"reference","git_oid_tostr":"oid","git_oid_iszero":"oid","git_note_read":"note","git_note_message":"note","git_note_oid":"note","git_note_create":"note","git_note_remove":"note","git_note_free":"note","git_note_default_ref":"note","git_note_foreach":"note","git_merge_base":"merge","git_indexer_stream_new":"indexer","git_indexer_stream_add":"indexer","git_indexer_stream_finalize":"indexer","git_indexer_stream_hash":"indexer","git_indexer_stream_free":"indexer","giterr_last":"giterr","giterr_clear":"giterr","git_diff_list_free":"diff","git_diff_tree_to_tree":"diff","git_diff_index_to_tree":"diff","git_diff_workdir_to_index":"diff","git_diff_workdir_to_tree":"diff","git_diff_merge":"diff","git_diff_foreach":"diff","git_diff_print_compact":"diff","git_diff_print_patch":"diff","git_diff_blobs":"diff","git_config_get_multivar":"config","git_config_set_multivar":"config","git_config_get_mapped":"config","git_branch_create":"branch","git_branch_delete":"branch","git_branch_list":"branch","git_branch_move":"branch","git_blob_create_fromdisk":"blob","git_tree_entry_free":"tree","git_tree_entry_dup":"tree","git_tree_entry_byoid":"tree","git_tree_entry_filemode":"tree","git_tree_entry_bypath":"tree","git_transport_valid_url":"transport","git_transport_dummy":"transport","git_transport_local":"transport","git_transport_smart":"transport","git_smart_subtransport_http":"smart","git_smart_subtransport_git":"smart","git_tag_foreach":"tag","git_submodule_add_setup":"submodule","git_submodule_add_finalize":"submodule","git_submodule_add_to_index":"submodule","git_submodule_save":"submodule","git_submodule_owner":"submodule","git_submodule_name":"submodule","git_submodule_path":"submodule","git_submodule_url":"submodule","git_submodule_set_url":"submodule","git_submodule_index_oid":"submodule","git_submodule_head_oid":"submodule","git_submodule_wd_oid":"submodule","git_submodule_ignore":"submodule","git_submodule_set_ignore":"submodule","git_submodule_update":"submodule","git_submodule_set_update":"submodule","git_submodule_fetch_recurse_submodules":"submodule","git_submodule_set_fetch_recurse_submodules":"submodule","git_submodule_init":"submodule","git_submodule_sync":"submodule","git_submodule_open":"submodule","git_submodule_reload":"submodule","git_submodule_reload_all":"submodule","git_submodule_status":"submodule","git_strarray_free":"strarray","git_strarray_copy":"strarray","git_stash_save":"stash","git_stash_foreach":"stash","git_stash_drop":"stash","git_revparse_single":"revparse","git_reset":"reset","git_repository_wrap_odb":"repository","git_repository_init_ext":"repository","git_repository_message":"repository","git_repository_message_remove":"repository","git_repository_hashfile":"repository","git_repository_set_head":"repository","git_repository_set_head_detached":"repository","git_repository_detach_head":"repository","git_repository_state":"repository","git_remote_pushurl":"remote","git_remote_set_url":"remote","git_remote_set_pushurl":"remote","git_remote_stop":"remote","git_remote_check_cert":"remote","git_remote_set_transport":"remote","git_remote_set_callbacks":"remote","git_remote_stats":"remote","git_remote_autotag":"remote","git_remote_set_autotag":"remote","git_remote_rename":"remote","git_refspec_force":"refspec","git_reference_foreach_glob":"reference","git_reference_has_log":"reference","git_reference_is_branch":"reference","git_reference_is_remote":"reference","git_reference_normalize_name":"reference","git_reference_peel":"reference","git_reference_is_valid_name":"reference","git_reflog_append":"reflog","git_reflog_drop":"reflog","git_packbuilder_new":"packbuilder","git_packbuilder_set_threads":"packbuilder","git_packbuilder_insert":"packbuilder","git_packbuilder_insert_tree":"packbuilder","git_packbuilder_write":"packbuilder","git_packbuilder_free":"packbuilder","git_oid_equal":"oid","git_odb_foreach":"odb","git_object_peel":"object","git_message_prettify":"message","git_merge_base_many":"merge","git_index_new":"index","git_index_owner":"index","git_index_caps":"index","git_index_set_caps":"index","git_index_write_tree":"index","git_index_write_tree_to":"index","git_index_get_byindex":"index","git_index_get_bypath":"index","git_index_add_from_workdir":"index","git_index_conflict_add":"index","git_index_conflict_get":"index","git_index_conflict_remove":"index","git_index_conflict_cleanup":"index","git_index_reuc_entrycount":"index","git_index_reuc_find":"index","git_index_reuc_get_bypath":"index","git_index_reuc_get_byindex":"index","git_index_reuc_add":"index","git_index_reuc_remove":"index","git_ignore_add_rule":"ignore","git_ignore_clear_internal_rules":"ignore","git_ignore_path_is_ignored":"ignore","giterr_set_str":"giterr","giterr_set_oom":"giterr","git_diff_status_char":"diff","git_diff_num_deltas":"diff","git_diff_num_deltas_of_type":"diff","git_diff_get_patch":"diff","git_diff_patch_free":"diff","git_diff_patch_delta":"diff","git_diff_patch_num_hunks":"diff","git_diff_patch_get_hunk":"diff","git_diff_patch_num_lines_in_hunk":"diff","git_diff_patch_get_line_in_hunk":"diff","git_diff_patch_print":"diff","git_diff_patch_to_str":"diff","git_config_find_xdg":"config","git_config_open_default":"config","git_config_open_level":"config","git_config_refresh":"config","git_config_get_config_entry":"config","git_config_foreach_match":"config","git_config_lookup_map_value":"config","git_config_parse_bool":"config","git_config_parse_int64":"config","git_config_parse_int32":"config","git_libgit2_capabilities":"libgit2","git_commit_nth_gen_ancestor":"commit","git_clone":"clone","git_clone_bare":"clone","git_checkout_head":"checkout","git_checkout_index":"checkout","git_checkout_tree":"checkout","git_branch_foreach":"branch","git_branch_lookup":"branch","git_branch_tracking":"branch","git_branch_is_head":"branch","git_blob_create_fromchunks":"blob"}} \ No newline at end of file
diff --git a/v0.1.0.json b/v0.1.0.json
index 46011d215..64924df64 100644
--- a/v0.1.0.json
+++ b/v0.1.0.json
@@ -1 +1 @@
-{"files":[{"file":"common.h","functions":[],"meta":{"brief":"Git common platform definitions","defgroup":"git_common Git common platform definitions","ingroup":"Git","comments":"\n"},"lines":133},{"file":"blob.h","functions":["git_blob_lookup","git_blob_new","git_blob_set_rawcontent_fromfile","git_blob_set_rawcontent","git_blob_rawcontent","git_blob_rawsize","git_blob_writefile"],"meta":{"brief":"Git blob load and write routines","defgroup":"git_blob Git blob load and write routines","ingroup":"Git","comments":"\n"},"lines":99},{"file":"index.h","functions":["git_index_open_bare","git_index_open_inrepo","git_index_clear","git_index_free","git_index_read","git_index_write","git_index_find","git_index_add","git_index_remove","git_index_insert","git_index_get","git_index_entrycount"],"meta":{"brief":"Git index parsing and manipulation routines","defgroup":"git_index Git index parsing and manipulation routines","ingroup":"Git","comments":"\n"},"lines":172},{"file":"repository.h","functions":["git_repository_open","git_repository_lookup","git_repository_database","git_repository_index","git_repository_newobject","git_object_write","git_object_id","git_object_type","git_object_owner","git_object_free","git_repository_free"],"meta":{"brief":"Git revision object management routines","defgroup":"git_repository Git revision object management routines","ingroup":"Git","comments":"\n"},"lines":171},{"file":"tag.h","functions":["git_tag_lookup","git_tag_new","git_tag_id","git_tag_target","git_tag_type","git_tag_name","git_tag_tagger","git_tag_message","git_tag_set_target","git_tag_set_name","git_tag_set_tagger","git_tag_set_message"],"meta":{"brief":"Git tag parsing routines","defgroup":"git_tag Git tag management","ingroup":"Git","comments":"\n"},"lines":120},{"file":"commit.h","functions":["git_commit_lookup","git_commit_new","git_commit_id","git_commit_message_short","git_commit_message","git_commit_time","git_commit_committer","git_commit_author","git_commit_tree","git_commit_add_parent","git_commit_set_message","git_commit_set_committer","git_commit_set_author","git_commit_set_tree"],"meta":{"brief":"Git commit parsing, formatting routines","defgroup":"git_commit Git commit parsing, formatting routines","ingroup":"Git","comments":"\n"},"lines":137},{"file":"zlib.h","functions":["deflateBound"],"meta":{"brief":"Git data compression routines","defgroup":"git_zlib Git data compression routines","ingroup":"Git","comments":"\n"},"lines":35},{"file":"tree.h","functions":["git_tree_lookup","git_tree_new","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_2object","git_tree_add_entry","git_tree_remove_entry_byindex","git_tree_remove_entry_byname","git_tree_entry_set_id","git_tree_entry_set_name","git_tree_entry_set_attributes"],"meta":{"brief":"Git tree parsing, loading routines","defgroup":"git_tree Git tree parsing, loading routines","ingroup":"Git","comments":"\n"},"lines":185},{"file":"odb.h","functions":["git_odb_open","git_odb_close","git_odb_read","git_odb_read_header","git_odb__read_packed","git_odb__read_loose","git_odb_write","git_obj_close","git_obj_type_to_string","git_obj_string_to_type","git_obj__loose_object_type","git_obj_hash","git_odb_exists"],"meta":{"brief":"Git object database routines","defgroup":"git_odb Git object database routines","ingroup":"Git","comments":"\n"},"lines":200},{"file":"thread-utils.h","functions":[],"meta":{},"lines":56},{"file":"oid.h","functions":["git_oid_mkstr","git_oid_mkraw","git_oid_fmt","git_oid_pathfmt","git_oid_allocfmt","git_oid_to_string","git_oid_cpy","git_oid_cmp"],"meta":{"brief":"Git object id routines","defgroup":"git_oid Git object id routines","ingroup":"Git","comments":"\n"},"lines":122},{"file":"errors.h","functions":["git_strerror"],"meta":{"brief":"Git error handling routines and variables","ingroup":"Git","comments":"\n"},"lines":33},{"file":"revwalk.h","functions":["git_revwalk_new","git_revwalk_reset","git_revwalk_push","git_revwalk_hide","git_revwalk_next","git_revwalk_sorting","git_revwalk_free","git_revwalk_repository"],"meta":{"brief":"Git revision traversal routines","defgroup":"git_revwalk Git revision traversal routines","ingroup":"Git","comments":"\n"},"lines":112}],"functions":{"git_blob_lookup":{"type":"function","file":"blob.h","line":29,"lineto":29,"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 on success; error code otherwise"},"description":"Lookup a blob object from a repository.\nThe generated blob object is owned by the revision\nrepo and shall not be freed by the user.","comments":"","group":"blob"},"git_blob_new":{"type":"function","file":"blob.h","line":42,"lineto":42,"args":[{"name":"blob","type":"git_blob **","comment":"pointer to the new blob"},{"name":"repo","type":"git_repository *","comment":"The repository where the object will reside"}],"argline":"git_blob **blob, git_repository *repo","sig":"git_blob **::git_repository *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Create a new in-memory git_blob.","comments":"The blob object must be manually filled using\nthe 'set_rawcontent' methods before it can\nbe written back to disk.\n","group":"blob"},"git_blob_set_rawcontent_fromfile":{"type":"function","file":"blob.h","line":52,"lineto":52,"args":[{"name":"blob","type":"git_blob *","comment":"pointer to the new blob"},{"name":"filename","type":"const char *","comment":"name of the file to read"}],"argline":"git_blob *blob, const char *filename","sig":"git_blob *::const char *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Fill a blob with the contents inside\nthe pointed file.","comments":"","group":"blob"},"git_blob_set_rawcontent":{"type":"function","file":"blob.h","line":63,"lineto":63,"args":[{"name":"blob","type":"git_blob *","comment":"pointer to the blob"},{"name":"buffer","type":"const void *","comment":"buffer with the contents for the blob"},{"name":"len","type":"size_t","comment":"size of the buffer"}],"argline":"git_blob *blob, const void *buffer, size_t len","sig":"git_blob *::const void *::size_t","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Fill a blob with the contents inside\nthe pointed buffer","comments":"","group":"blob"},"git_blob_rawcontent":{"type":"function","file":"blob.h","line":76,"lineto":76,"args":[{"name":"blob","type":"git_blob *","comment":"pointer to the blob"}],"argline":"git_blob *blob","sig":"git_blob *","return":{"type":"const char *","comment":"the pointer; NULL if the blob has no contents"},"description":"Get a read-only buffer with the raw content of a blob.","comments":"A pointer to the raw content of a blob is returned;\nthis pointer is owned internally by the object and shall\nnot be free'd. The pointer may be invalidated at a later\ntime (e.g. when changing the contents of the blob).\n","group":"blob"},"git_blob_rawsize":{"type":"function","file":"blob.h","line":84,"lineto":84,"args":[{"name":"blob","type":"git_blob *","comment":"pointer to the blob"}],"argline":"git_blob *blob","sig":"git_blob *","return":{"type":"int","comment":"size on bytes"},"description":"Get the size in bytes of the contents of a blob","comments":"","group":"blob"},"git_blob_writefile":{"type":"function","file":"blob.h","line":95,"lineto":95,"args":[{"name":"written_id","type":"git_oid *","comment":"return the id of the written blob"},{"name":"repo","type":"git_repository *","comment":"repository where the blob will be written"},{"name":"path","type":"const char *","comment":"file from which the blob will be created"}],"argline":"git_oid *written_id, git_repository *repo, const char *path","sig":"git_oid *::git_repository *::const char *","return":{"type":"int"},"description":"Read a file from the working folder of a repository\nand write it to the Object Database as a loose blob,\nif such doesn't exist yet.","comments":"","group":"blob"},"git_index_open_bare":{"type":"function","file":"index.h","line":61,"lineto":61,"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 on success; error code otherwise"},"description":"Create a new Git index object as a memory representation\nof the Git index file in 'index_path', without a repository\nto back it.","comments":"Since there is no ODB behind this index, any Index methods\nwhich rely on the ODB (e.g. index_add) will fail with the\nGIT_EBAREINDEX error code.\n","group":"index"},"git_index_open_inrepo":{"type":"function","file":"index.h","line":71,"lineto":71,"args":[{"name":"index","type":"git_index **","comment":"_path the path to the index file in disk"},{"name":"repo","type":"git_repository *","comment":"the git repo which owns the index"}],"argline":"git_index **index, git_repository *repo","sig":"git_index **::git_repository *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Open the Index inside the git repository pointed\nby 'repo'.","comments":"","group":"index"},"git_index_clear":{"type":"function","file":"index.h","line":80,"lineto":80,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"void"},"description":"Clear the contents (all the entries) of an index object.\nThis clears the index object in memory; changes must be manually\nwritten to disk for them to take effect.","comments":"","group":"index"},"git_index_free":{"type":"function","file":"index.h","line":87,"lineto":87,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"void"},"description":"Free an existing index object.","comments":"","group":"index"},"git_index_read":{"type":"function","file":"index.h","line":96,"lineto":96,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"int","comment":"0 on success, otherwise an error code"},"description":"Update the contents of an existing index object in memory\nby reading from the hard disk.","comments":"","group":"index"},"git_index_write":{"type":"function","file":"index.h","line":105,"lineto":105,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"int","comment":"0 on success, otherwise an error code"},"description":"Write an existing index object from memory back to disk\nusing an atomic file lock.","comments":"","group":"index"},"git_index_find":{"type":"function","file":"index.h","line":115,"lineto":115,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"},{"name":"path","type":"const char *","comment":"path to search"}],"argline":"git_index *index, const char *path","sig":"git_index *::const char *","return":{"type":"int","comment":"an index >= 0 if found, -1 otherwise"},"description":"Find the first index of any entires which point to given\npath in the Git index.","comments":"","group":"index"},"git_index_add":{"type":"function","file":"index.h","line":125,"lineto":125,"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 on success, otherwise an error code"},"description":"Add or update an index entry from a file in disk.","comments":"","group":"index"},"git_index_remove":{"type":"function","file":"index.h","line":134,"lineto":134,"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 on success, otherwise an error code"},"description":"Remove an entry from the index","comments":"","group":"index"},"git_index_insert":{"type":"function","file":"index.h","line":147,"lineto":147,"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 on success, otherwise an error code"},"description":"Insert an entry into the index.\nA full copy (including the 'path' string) of the given\n'source_entry' will be inserted on the index; if the index\nalready contains an entry for the same path, the entry\nwill be updated.","comments":"","group":"index"},"git_index_get":{"type":"function","file":"index.h","line":159,"lineto":159,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"},{"name":"n","type":"int","comment":"the position of the entry"}],"argline":"git_index *index, int n","sig":"git_index *::int","return":{"type":"git_index_entry *","comment":"a pointer to the entry; NULL if out of bounds"},"description":"Get a pointer to one of the entries in the index","comments":"This entry can be modified, and the changes will be written\nback to disk on the next write() call.\n","group":"index"},"git_index_entrycount":{"type":"function","file":"index.h","line":167,"lineto":167,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"unsigned int","comment":"integer of count of current entries"},"description":"Get the count of entries currently in the index","comments":"","group":"index"},"git_repository_open":{"type":"function","file":"repository.h","line":41,"lineto":41,"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":"the new repository handle; NULL on error"},"description":"Open a git repository.","comments":"The 'path' argument must point to an existing git repository\nfolder, e.g.\n\n\t/path/to/my_repo/.git/\t(normal repository)\n\t\t\t\t\t\tobjects/\n\t\t\t\t\t\tindex\n\t\t\t\t\t\tHEAD\n\n\t/path/to/bare_repo/\t\t(bare repository)\n\t\t\t\t\tobjects/\n\t\t\t\t\tindex\n\t\t\t\t\tHEAD\n\nThe method will automatically detect if 'path' is a normal\nor bare repository or fail is 'path' is neither.\n","group":"repository"},"git_repository_lookup":{"type":"function","file":"repository.h","line":61,"lineto":61,"args":[{"name":"object","type":"git_object **","comment":"pointer to the looked-up object"},{"name":"repo","type":"git_repository *","comment":"the repository to look up the object"},{"name":"id","type":"const git_oid *","comment":"the unique identifier for the object"},{"name":"type","type":"git_otype","comment":"the type of the object"}],"argline":"git_object **object, git_repository *repo, const git_oid *id, git_otype type","sig":"git_object **::git_repository *::const git_oid *::git_otype","return":{"type":"int","comment":"a reference to the object"},"description":"Lookup a reference to one of the objects in the repostory.","comments":"The generated reference is owned by the repository and\nshould not be freed by the user.\n\nThe 'type' parameter must match the type of the object\nin the odb; the method will fail otherwise.\nThe special value 'GIT_OBJ_ANY' may be passed to let\nthe method guess the object's type.\n","group":"repository"},"git_repository_database":{"type":"function","file":"repository.h","line":69,"lineto":69,"args":[{"name":"repo","type":"git_repository *","comment":"a repository object"}],"argline":"git_repository *repo","sig":"git_repository *","return":{"type":"git_odb *","comment":"a pointer to the object db"},"description":"Get the object database behind a Git repository","comments":"","group":"repository"},"git_repository_index":{"type":"function","file":"repository.h","line":78,"lineto":78,"args":[{"name":"rpeo","type":"git_repository *"}],"argline":"git_repository *rpeo","sig":"git_repository *","return":{"type":"git_index *","comment":"a pointer to the Index object; NULL if the index cannot be opened"},"description":"Get the Index file of a Git repository","comments":"","group":"repository"},"git_repository_newobject":{"type":"function","file":"repository.h","line":101,"lineto":101,"args":[{"name":"object","type":"git_object **","comment":"pointer to the new object @parem repo Repository where the object belongs"},{"name":"repo","type":"git_repository *"},{"name":"type","type":"git_otype","comment":"Type of the object to be created"}],"argline":"git_object **object, git_repository *repo, git_otype type","sig":"git_object **::git_repository *::git_otype","return":{"type":"int","comment":"the new object"},"description":"Create a new in-memory repository object with\nthe given type.","comments":"The object's attributes can be filled in using the\ncorresponding setter methods.\n\nThe object will be written back to given git_repository\nwhen the git_object_write() function is called; objects\ncannot be written to disk until all their main\nattributes have been properly filled.\n\nObjects are instantiated with no SHA1 id; their id\nwill be automatically generated when writing to the\nrepository.\n","group":"repository"},"git_object_write":{"type":"function","file":"repository.h","line":120,"lineto":120,"args":[{"name":"object","type":"git_object *","comment":"Git object to write back"}],"argline":"git_object *object","sig":"git_object *","return":{"type":"int","comment":"0 on success; otherwise an error code"},"description":"Write back an object to disk.","comments":"The object will be written to its corresponding\nrepository.\n\nIf the object has no changes since it was first\nread from the repository, no actions will take place.\n\nIf the object has been modified since it was read from\nthe repository, or it has been created from scratch\nin memory, it will be written to the repository and\nits SHA1 ID will be updated accordingly.\n","group":"object"},"git_object_id":{"type":"function","file":"repository.h","line":131,"lineto":131,"args":[{"name":"obj","type":"git_object *","comment":"the repository object"}],"argline":"git_object *obj","sig":"git_object *","return":{"type":"const git_oid *","comment":"the SHA1 id"},"description":"Get the id (SHA1) of a repository object","comments":"In-memory objects created by git_object_new() do not\nhave a SHA1 ID until they are written on a repository.\n","group":"object"},"git_object_type":{"type":"function","file":"repository.h","line":139,"lineto":139,"args":[{"name":"obj","type":"git_object *","comment":"the repository object"}],"argline":"git_object *obj","sig":"git_object *","return":{"type":"git_otype","comment":"the object's type"},"description":"Get the object type of an object","comments":"","group":"object"},"git_object_owner":{"type":"function","file":"repository.h","line":147,"lineto":147,"args":[{"name":"obj","type":"git_object *","comment":"the object"}],"argline":"git_object *obj","sig":"git_object *","return":{"type":"git_repository *","comment":"the repository who owns this object"},"description":"Get the repository that owns this object","comments":"","group":"object"},"git_object_free":{"type":"function","file":"repository.h","line":161,"lineto":161,"args":[{"name":"object","type":"git_object *","comment":"the object to free"}],"argline":"git_object *object","sig":"git_object *","return":{"type":"void"},"description":"Free a reference to one of the objects in the repository.","comments":"Repository objects are managed automatically by the library,\nbut this method can be used to force freeing one of the\nobjects.\n\nCareful: freeing objects in the middle of a repository\ntraversal will most likely cause errors.\n","group":"object"},"git_repository_free":{"type":"function","file":"repository.h","line":167,"lineto":167,"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"},"description":"Free a previously allocated repository\n@param repo repository handle to close. If NULL nothing occurs.","comments":"","group":"repository"},"git_tag_lookup":{"type":"function","file":"tag.h","line":31,"lineto":31,"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 on success; error code otherwise"},"description":"Lookup a tag object from the repository.\nThe generated tag object is owned by the revision\nrepo and shall not be freed by the user.","comments":"","group":"tag"},"git_tag_new":{"type":"function","file":"tag.h","line":44,"lineto":44,"args":[{"name":"tag","type":"git_tag **","comment":"pointer to the new tag"},{"name":"repo","type":"git_repository *","comment":"The repository where the object will reside"}],"argline":"git_tag **tag, git_repository *repo","sig":"git_tag **::git_repository *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Create a new in-memory git_tag.","comments":"The tag object must be manually filled using\nsetter methods before it can be written to its\nrepository.\n","group":"tag"},"git_tag_id":{"type":"function","file":"tag.h","line":51,"lineto":51,"args":[{"name":"tag","type":"git_tag *","comment":"a previously loaded tag."}],"argline":"git_tag *tag","sig":"git_tag *","return":{"type":"const git_oid *","comment":"object identity for the tag."},"description":"Get the id of a tag.\n@param tag a previously loaded tag.\n@return object identity for the tag.","comments":"","group":"tag"},"git_tag_target":{"type":"function","file":"tag.h","line":58,"lineto":58,"args":[{"name":"t","type":"git_tag *","comment":"ag a previously loaded tag."}],"argline":"git_tag *t","sig":"git_tag *","return":{"type":"const git_object *","comment":"reference to a repository object"},"description":"Get the tagged object of a tag\n@param tag a previously loaded tag.\n@return reference to a repository object","comments":"","group":"tag"},"git_tag_type":{"type":"function","file":"tag.h","line":65,"lineto":65,"args":[{"name":"t","type":"git_tag *","comment":"ag a previously loaded tag."}],"argline":"git_tag *t","sig":"git_tag *","return":{"type":"git_otype","comment":"type of the tagged object"},"description":"Get the type of a tag's tagged object\n@param tag a previously loaded tag.\n@return type of the tagged object","comments":"","group":"tag"},"git_tag_name":{"type":"function","file":"tag.h","line":72,"lineto":72,"args":[{"name":"t","type":"git_tag *","comment":"ag a previously loaded tag."}],"argline":"git_tag *t","sig":"git_tag *","return":{"type":"const char *","comment":"name of the tag"},"description":"Get the name of a tag\n@param tag a previously loaded tag.\n@return name of the tag","comments":"","group":"tag"},"git_tag_tagger":{"type":"function","file":"tag.h","line":79,"lineto":79,"args":[{"name":"t","type":"git_tag *","comment":"ag a previously loaded tag."}],"argline":"git_tag *t","sig":"git_tag *","return":{"type":"const git_person *","comment":"reference to the tag's author"},"description":"Get the tagger (author) of a tag\n@param tag a previously loaded tag.\n@return reference to the tag's author","comments":"","group":"tag"},"git_tag_message":{"type":"function","file":"tag.h","line":86,"lineto":86,"args":[{"name":"t","type":"git_tag *","comment":"ag a previously loaded tag."}],"argline":"git_tag *t","sig":"git_tag *","return":{"type":"const char *","comment":"message of the tag"},"description":"Get the message of a tag\n@param tag a previously loaded tag.\n@return message of the tag","comments":"","group":"tag"},"git_tag_set_target":{"type":"function","file":"tag.h","line":93,"lineto":93,"args":[{"name":"tag","type":"git_tag *","comment":"The tag to modify"},{"name":"target","type":"git_object *","comment":"the new tagged target"}],"argline":"git_tag *tag, git_object *target","sig":"git_tag *::git_object *","return":{"type":"void"},"description":"Set the target of a tag (i.e. the object that the tag points to)\n@param tag The tag to modify\n@param target the new tagged target","comments":"","group":"tag"},"git_tag_set_name":{"type":"function","file":"tag.h","line":100,"lineto":100,"args":[{"name":"tag","type":"git_tag *","comment":"The tag to modify"},{"name":"name","type":"const char *","comment":"the new name for the tag"}],"argline":"git_tag *tag, const char *name","sig":"git_tag *::const char *","return":{"type":"void"},"description":"Set the name of a tag\n@param tag The tag to modify\n@param name the new name for the tag","comments":"","group":"tag"},"git_tag_set_tagger":{"type":"function","file":"tag.h","line":109,"lineto":109,"args":[{"name":"tag","type":"git_tag *","comment":"The tag to modify"},{"name":"name","type":"const char *","comment":"the name of the new tagger"},{"name":"email","type":"const char *","comment":"the email of the new tagger"},{"name":"time","type":"time_t","comment":"the time when the tag was created"}],"argline":"git_tag *tag, const char *name, const char *email, time_t time","sig":"git_tag *::const char *::const char *::time_t","return":{"type":"void"},"description":"Set the tagger of a tag\n@param tag The tag to modify\n@param name the name of the new tagger\n@param email the email of the new tagger\n@param time the time when the tag was created","comments":"","group":"tag"},"git_tag_set_message":{"type":"function","file":"tag.h","line":116,"lineto":116,"args":[{"name":"tag","type":"git_tag *","comment":"The tag to modify"},{"name":"message","type":"const char *","comment":"the new tagger for the tag"}],"argline":"git_tag *tag, const char *message","sig":"git_tag *::const char *","return":{"type":"void"},"description":"Set the message of a tag\n@param tag The tag to modify\n@param message the new tagger for the tag","comments":"","group":"tag"},"git_commit_lookup":{"type":"function","file":"commit.h","line":32,"lineto":32,"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 an 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 on success; error code otherwise"},"description":"Lookup a commit object from a repository.\nThe generated commit object is owned by the revision\nrepo and shall not be freed by the user.","comments":"","group":"commit"},"git_commit_new":{"type":"function","file":"commit.h","line":45,"lineto":45,"args":[{"name":"commit","type":"git_commit **","comment":"pointer to the new commit"},{"name":"repo","type":"git_repository *","comment":"The repository where the object will reside"}],"argline":"git_commit ** commit, git_repository *repo","sig":"git_commit **::git_repository *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Create a new in-memory git_commit.","comments":"The commit object must be manually filled using\nsetter methods before it can be written to its\nrepository.\n","group":"commit"},"git_commit_id":{"type":"function","file":"commit.h","line":52,"lineto":52,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"const git_oid *","comment":"object identity for the commit."},"description":"Get the id of a commit.\n@param commit a previously loaded commit.\n@return object identity for the commit.","comments":"","group":"commit"},"git_commit_message_short":{"type":"function","file":"commit.h","line":59,"lineto":59,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"const char *","comment":"the short message of a commit"},"description":"Get the short (one line) message of a commit.\n@param commit a previously loaded commit.\n@return the short message of a commit","comments":"","group":"commit"},"git_commit_message":{"type":"function","file":"commit.h","line":66,"lineto":66,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"const char *","comment":"the message of a commit"},"description":"Get the full message of a commit.\n@param commit a previously loaded commit.\n@return the message of a commit","comments":"","group":"commit"},"git_commit_time":{"type":"function","file":"commit.h","line":73,"lineto":73,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"time_t","comment":"the time of a commit"},"description":"Get the commit time (i.e. committer time) of a commit.\n@param commit a previously loaded commit.\n@return the time of a commit","comments":"","group":"commit"},"git_commit_committer":{"type":"function","file":"commit.h","line":80,"lineto":80,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"const git_person *","comment":"the committer of a commit"},"description":"Get the committer of a commit.\n@param commit a previously loaded commit.\n@return the committer of a commit","comments":"","group":"commit"},"git_commit_author":{"type":"function","file":"commit.h","line":87,"lineto":87,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"const git_person *","comment":"the author of a commit"},"description":"Get the author of a commit.\n@param commit a previously loaded commit.\n@return the author of a commit","comments":"","group":"commit"},"git_commit_tree":{"type":"function","file":"commit.h","line":94,"lineto":94,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"const git_tree *","comment":"the tree of a commit"},"description":"Get the tree pointed to by a commit.\n@param commit a previously loaded commit.\n@return the tree of a commit","comments":"","group":"commit"},"git_commit_add_parent":{"type":"function","file":"commit.h","line":101,"lineto":101,"args":[{"name":"commit","type":"git_commit *","comment":"the commit object"},{"name":"new_parent","type":"git_commit *","comment":"the new commit which will be a parent"}],"argline":"git_commit *commit, git_commit *new_parent","sig":"git_commit *::git_commit *","return":{"type":"void"},"description":"Add a new parent commit to an existing commit\n@param commit the commit object\n@param new_parent the new commit which will be a parent","comments":"","group":"commit"},"git_commit_set_message":{"type":"function","file":"commit.h","line":108,"lineto":108,"args":[{"name":"commit","type":"git_commit *","comment":"the commit object"},{"name":"message","type":"const char *","comment":"the new message"}],"argline":"git_commit *commit, const char *message","sig":"git_commit *::const char *","return":{"type":"void"},"description":"Set the message of a commit\n@param commit the commit object\n@param message the new message","comments":"","group":"commit"},"git_commit_set_committer":{"type":"function","file":"commit.h","line":117,"lineto":117,"args":[{"name":"commit","type":"git_commit *","comment":"the commit object"},{"name":"name","type":"const char *","comment":"name of the new committer"},{"name":"email","type":"const char *","comment":"email of the new committer"},{"name":"time","type":"time_t","comment":"time when the committer committed the commit"}],"argline":"git_commit *commit, const char *name, const char *email, time_t time","sig":"git_commit *::const char *::const char *::time_t","return":{"type":"void"},"description":"Set the committer of a commit\n@param commit the commit object\n@param name name of the new committer\n@param email email of the new committer\n@param time time when the committer committed the commit","comments":"","group":"commit"},"git_commit_set_author":{"type":"function","file":"commit.h","line":126,"lineto":126,"args":[{"name":"commit","type":"git_commit *","comment":"the commit object"},{"name":"name","type":"const char *","comment":"name of the new author"},{"name":"email","type":"const char *","comment":"email of the new author"},{"name":"time","type":"time_t","comment":"time when the author created the commit"}],"argline":"git_commit *commit, const char *name, const char *email, time_t time","sig":"git_commit *::const char *::const char *::time_t","return":{"type":"void"},"description":"Set the author of a commit\n@param commit the commit object\n@param name name of the new author\n@param email email of the new author\n@param time time when the author created the commit","comments":"","group":"commit"},"git_commit_set_tree":{"type":"function","file":"commit.h","line":133,"lineto":133,"args":[{"name":"commit","type":"git_commit *","comment":"the commit object"},{"name":"tree","type":"git_tree *","comment":"the new tree"}],"argline":"git_commit *commit, git_tree *tree","sig":"git_commit *::git_tree *","return":{"type":"void"},"description":"Set the tree which is pointed to by a commit\n@param commit the commit object\n@param tree the new tree","comments":"","group":"commit"},"deflateBound":{"type":"function","file":"zlib.h","line":27,"lineto":31,"args":[{"name":"stream","type":"z_streamp","comment":"the stream pointer."},{"name":"s","type":"size_t","comment":"tream the stream pointer."}],"argline":"z_streamp stream, size_t s","sig":"z_streamp::size_t","return":{"type":"size_t","comment":"maximum length of the compressed data."},"description":"deflateBound returns an upper bound on the compressed size.","comments":"This is a stub function used when zlib does not supply the\ndeflateBound() implementation itself.\n","group":"zlib"},"git_tree_lookup":{"type":"function","file":"tree.h","line":34,"lineto":34,"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 on success; error code otherwise"},"description":"Lookup a tree object from the repository.\nThe generated tree object is owned by the revision\nrepo and shall not be freed by the user.","comments":"","group":"tree"},"git_tree_new":{"type":"function","file":"tree.h","line":47,"lineto":47,"args":[{"name":"tree","type":"git_tree **","comment":"pointer to the new tree"},{"name":"repo","type":"git_repository *","comment":"The repository where the object will reside"}],"argline":"git_tree **tree, git_repository *repo","sig":"git_tree **::git_repository *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Create a new in-memory git_tree.","comments":"The tree object must be manually filled using\nsetter methods before it can be written to its\nrepository.\n","group":"tree"},"git_tree_id":{"type":"function","file":"tree.h","line":54,"lineto":54,"args":[{"name":"tree","type":"git_tree *","comment":"a previously loaded tree."}],"argline":"git_tree *tree","sig":"git_tree *","return":{"type":"const git_oid *","comment":"object identity for the tree."},"description":"Get the id of a tree.\n@param tree a previously loaded tree.\n@return object identity for the tree.","comments":"","group":"tree"},"git_tree_entrycount":{"type":"function","file":"tree.h","line":62,"lineto":62,"args":[{"name":"tree","type":"git_tree *","comment":"a previously loaded tree."}],"argline":"git_tree *tree","sig":"git_tree *","return":{"type":"size_t","comment":"the number of entries in the tree"},"description":"Get the number of entries listed in a tree\n@param tree a previously loaded tree.\n@return the number of entries in the tree","comments":"","group":"tree"},"git_tree_entry_byname":{"type":"function","file":"tree.h","line":70,"lineto":70,"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":"git_tree_entry *","comment":"the tree entry; NULL if not found"},"description":"Lookup a tree entry by its filename\n@param tree a previously loaded tree.\n@param filename the filename of the desired entry\n@return the tree entry; NULL if not found","comments":"","group":"tree"},"git_tree_entry_byindex":{"type":"function","file":"tree.h","line":78,"lineto":78,"args":[{"name":"tree","type":"git_tree *","comment":"a previously loaded tree."},{"name":"idx","type":"int","comment":"the position in the entry list"}],"argline":"git_tree *tree, int idx","sig":"git_tree *::int","return":{"type":"git_tree_entry *","comment":"the tree entry; NULL if not found"},"description":"Lookup a tree entry by its position in the tree\n@param tree a previously loaded tree.\n@param idx the position in the entry list\n@return the tree entry; NULL if not found","comments":"","group":"tree"},"git_tree_entry_attributes":{"type":"function","file":"tree.h","line":85,"lineto":85,"args":[{"name":"entry","type":"git_tree_entry *","comment":"a tree entry"}],"argline":"git_tree_entry *entry","sig":"git_tree_entry *","return":{"type":"unsigned int","comment":"attributes as an integer"},"description":"Get the UNIX file attributes of a tree entry\n@param entry a tree entry\n@return attributes as an integer","comments":"","group":"tree"},"git_tree_entry_name":{"type":"function","file":"tree.h","line":92,"lineto":92,"args":[{"name":"entry","type":"git_tree_entry *","comment":"a tree entry"}],"argline":"git_tree_entry *entry","sig":"git_tree_entry *","return":{"type":"const char *","comment":"the name of the file"},"description":"Get the filename of a tree entry\n@param entry a tree entry\n@return the name of the file","comments":"","group":"tree"},"git_tree_entry_id":{"type":"function","file":"tree.h","line":99,"lineto":99,"args":[{"name":"entry","type":"git_tree_entry *","comment":"a tree entry"}],"argline":"git_tree_entry *entry","sig":"git_tree_entry *","return":{"type":"const git_oid *","comment":"the oid of the object"},"description":"Get the id of the object pointed by the entry\n@param entry a tree entry\n@return the oid of the object","comments":"","group":"tree"},"git_tree_entry_2object":{"type":"function","file":"tree.h","line":108,"lineto":108,"args":[{"name":"object","type":"git_object **","comment":"pointer to the converted object"},{"name":"entry","type":"git_tree_entry *","comment":"a tree entry"}],"argline":"git_object **object, git_tree_entry *entry","sig":"git_object **::git_tree_entry *","return":{"type":"int","comment":"a reference to the pointed object in the repository"},"description":"Convert a tree entry to the git_object it points too.","comments":"","group":"tree"},"git_tree_add_entry":{"type":"function","file":"tree.h","line":122,"lineto":122,"args":[{"name":"tree","type":"git_tree *","comment":"Tree object to store the entry @iparam id OID for the tree entry"},{"name":"id","type":"const git_oid *"},{"name":"filename","type":"const char *","comment":"Filename for the tree entry"},{"name":"attributes","type":"int","comment":"UNIX file attributes for the entry"}],"argline":"git_tree *tree, const git_oid *id, const char *filename, int attributes","sig":"git_tree *::const git_oid *::const char *::int","return":{"type":"int","comment":"0 on success; otherwise error code"},"description":"Add a new entry to a tree.","comments":"This will mark the tree as modified; the new entry will\nbe written back to disk on the next git_object_write()\n","group":"tree"},"git_tree_remove_entry_byindex":{"type":"function","file":"tree.h","line":136,"lineto":136,"args":[{"name":"tree","type":"git_tree *","comment":"Tree where to remove the entry"},{"name":"idx","type":"int","comment":"index of the entry"}],"argline":"git_tree *tree, int idx","sig":"git_tree *::int","return":{"type":"int","comment":"0 on successful removal; GIT_ENOTFOUND if the entry wasn't found"},"description":"Remove an entry by its index.","comments":"Index must be >= 0 and < than git_tree_entrycount().\n\nThis will mark the tree as modified; the modified entry will\nbe written back to disk on the next git_object_write()\n","group":"tree"},"git_tree_remove_entry_byname":{"type":"function","file":"tree.h","line":148,"lineto":148,"args":[{"name":"tree","type":"git_tree *","comment":"Tree where to remove the entry"},{"name":"filename","type":"const char *","comment":"File name of the entry"}],"argline":"git_tree *tree, const char *filename","sig":"git_tree *::const char *","return":{"type":"int","comment":"0 on successful removal; GIT_ENOTFOUND if the entry wasn't found"},"description":"Remove an entry by its filename.","comments":"This will mark the tree as modified; the modified entry will\nbe written back to disk on the next git_object_write()\n","group":"tree"},"git_tree_entry_set_id":{"type":"function","file":"tree.h","line":159,"lineto":159,"args":[{"name":"entry","type":"git_tree_entry *","comment":"Entry object which will be modified"},{"name":"oid","type":"const git_oid *","comment":"new SHA1 oid for the entry"}],"argline":"git_tree_entry *entry, const git_oid *oid","sig":"git_tree_entry *::const git_oid *","return":{"type":"void"},"description":"Change the SHA1 id of a tree entry.","comments":"This will mark the tree that contains the entry as modified;\nthe modified entry will be written back to disk on the next git_object_write()\n","group":"tree"},"git_tree_entry_set_name":{"type":"function","file":"tree.h","line":170,"lineto":170,"args":[{"name":"entry","type":"git_tree_entry *","comment":"Entry object which will be modified"},{"name":"name","type":"const char *"}],"argline":"git_tree_entry *entry, const char *name","sig":"git_tree_entry *::const char *","return":{"type":"void"},"description":"Change the filename of a tree entry.","comments":"This will mark the tree that contains the entry as modified;\nthe modified entry will be written back to disk on the next git_object_write()\n","group":"tree"},"git_tree_entry_set_attributes":{"type":"function","file":"tree.h","line":181,"lineto":181,"args":[{"name":"entry","type":"git_tree_entry *","comment":"Entry object which will be modified"},{"name":"attr","type":"int"}],"argline":"git_tree_entry *entry, int attr","sig":"git_tree_entry *::int","return":{"type":"void"},"description":"Change the attributes of a tree entry.","comments":"This will mark the tree that contains the entry as modified;\nthe modified entry will be written back to disk on the next git_object_write()\n","group":"tree"},"git_odb_open":{"type":"function","file":"odb.h","line":28,"lineto":28,"args":[{"name":"out","type":"git_odb **","comment":"location to store the database pointer, if opened. Set to NULL if the open failed."},{"name":"objects_dir","type":"const char *","comment":"path of the database's \"objects\" directory."}],"argline":"git_odb **out, const char *objects_dir","sig":"git_odb **::const char *","return":{"type":"int","comment":"GIT_SUCCESS if the database opened; otherwise an error code describing why the open was not possible."},"description":"Open an object database for read/write access.\n@param out location to store the database pointer, if opened.\n Set to NULL if the open failed.\n@param objects_dir path of the database's \"objects\" directory.\n@return GIT_SUCCESS if the database opened; otherwise an error\n code describing why the open was not possible.","comments":"","group":"odb"},"git_odb_close":{"type":"function","file":"odb.h","line":34,"lineto":34,"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"},"description":"Close an open object database.\n@param db database pointer to close. If NULL no action is taken.","comments":"","group":"odb"},"git_odb_read":{"type":"function","file":"odb.h","line":69,"lineto":69,"args":[{"name":"out","type":"git_rawobj *","comment":"object descriptor to populate upon reading."},{"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_rawobj *out, git_odb *db, const git_oid *id","sig":"git_rawobj *::git_odb *::const git_oid *","return":{"type":"int","comment":"- GIT_SUCCESS if the object was read; - GIT_ENOTFOUND if the object is not in the database."},"description":"Read an object from the database.","comments":"If GIT_ENOTFOUND then out->data is set to NULL.\n","group":"odb"},"git_odb_read_header":{"type":"function","file":"odb.h","line":88,"lineto":88,"args":[{"name":"out","type":"git_rawobj *","comment":"object descriptor to populate upon reading."},{"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_rawobj *out, git_odb *db, const git_oid *id","sig":"git_rawobj *::git_odb *::const git_oid *","return":{"type":"int","comment":"- GIT_SUCCESS if the object was read; - GIT_ENOTFOUND if the object is not in the database."},"description":"Read the header of an object from the database, without\nreading its full contents.","comments":"Only the 'type' and 'len' fields of the git_rawobj structure\nare filled. The 'data' pointer will always be NULL.\n\nThe raw object pointed by 'out' doesn't need to be manually\nclosed with git_obj_close().\n","group":"odb"},"git_odb__read_packed":{"type":"function","file":"odb.h","line":102,"lineto":102,"args":[{"name":"out","type":"git_rawobj *","comment":"object descriptor to populate upon reading."},{"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_rawobj *out, git_odb *db, const git_oid *id","sig":"git_rawobj *::git_odb *::const git_oid *","return":{"type":"int","comment":"- GIT_SUCCESS if the object was read. - GIT_ENOTFOUND if the object is not in the database."},"description":"Read an object from the database using only pack files.","comments":"If GIT_ENOTFOUND then out->data is set to NULL.\n","group":"odb"},"git_odb__read_loose":{"type":"function","file":"odb.h","line":116,"lineto":116,"args":[{"name":"out","type":"git_rawobj *","comment":"object descriptor to populate upon reading."},{"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_rawobj *out, git_odb *db, const git_oid *id","sig":"git_rawobj *::git_odb *::const git_oid *","return":{"type":"int","comment":"- GIT_SUCCESS if the object was read. - GIT_ENOTFOUND if the object is not in the database."},"description":"Read an object from the database using only loose object files.","comments":"If GIT_ENOTFOUND then out->data is set to NULL.\n","group":"odb"},"git_odb_write":{"type":"function","file":"odb.h","line":128,"lineto":128,"args":[{"name":"id","type":"git_oid *","comment":"identity of the object written."},{"name":"db","type":"git_odb *","comment":"database to which the object should be written."},{"name":"obj","type":"git_rawobj *","comment":"object descriptor for the object to write."}],"argline":"git_oid *id, git_odb *db, git_rawobj *obj","sig":"git_oid *::git_odb *::git_rawobj *","return":{"type":"int","comment":"- GIT_SUCCESS if the object was written; - GIT_ERROR otherwise."},"description":"Write an object to the database.","comments":"","group":"odb"},"git_obj_close":{"type":"function","file":"odb.h","line":139,"lineto":143,"args":[{"name":"obj","type":"git_rawobj *","comment":"object descriptor to free."}],"argline":"git_rawobj *obj","sig":"git_rawobj *","return":{"type":"void"},"description":"Release all memory used by the obj structure.","comments":"As a result of this call, obj->data will be set to NULL.\n\nIf obj->data is already NULL, nothing happens.\n","group":"obj"},"git_obj_type_to_string":{"type":"function","file":"odb.h","line":154,"lineto":154,"args":[{"name":"type","type":"git_otype","comment":"object type to convert."}],"argline":"git_otype type","sig":"git_otype","return":{"type":"const char *","comment":"the corresponding string representation."},"description":"Convert an object type to it's string representation.","comments":"The result is a pointer to a string in static memory and\nshould not be free()'ed.\n","group":"obj"},"git_obj_string_to_type":{"type":"function","file":"odb.h","line":162,"lineto":162,"args":[{"name":"str","type":"const char *","comment":"the string to convert."}],"argline":"const char *str","sig":"const char *","return":{"type":"git_otype","comment":"the corresponding git_otype."},"description":"Convert a string object type representation to it's git_otype.","comments":"","group":"obj"},"git_obj__loose_object_type":{"type":"function","file":"odb.h","line":171,"lineto":171,"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, false otherwise."},"description":"Determine if the given git_otype is a valid loose object type.","comments":"","group":"obj"},"git_obj_hash":{"type":"function","file":"odb.h","line":185,"lineto":185,"args":[{"name":"id","type":"git_oid *","comment":"the resulting object-ID."},{"name":"obj","type":"git_rawobj *","comment":"the object whose hash is to be determined."}],"argline":"git_oid *id, git_rawobj *obj","sig":"git_oid *::git_rawobj *","return":{"type":"int","comment":"- GIT_SUCCESS if the object-ID was correctly determined. - GIT_ERROR if the given object is malformed."},"description":"Determine the object-ID (sha1 hash) of the given git_rawobj.","comments":"The input obj must be a valid loose object type and the data\npointer must not be NULL, unless the len field is also zero.\n","group":"obj"},"git_odb_exists":{"type":"function","file":"odb.h","line":196,"lineto":196,"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":"- true, if the object was found - false, otherwise"},"description":"Determine if the given object can be found in the object database.","comments":"","group":"odb"},"git_oid_mkstr":{"type":"function","file":"oid.h","line":36,"lineto":36,"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 the hex sequence and have at least the number of bytes needed for an oid encoded in hex (40 bytes)."}],"argline":"git_oid *out, const char *str","sig":"git_oid *::const char *","return":{"type":"int","comment":"GIT_SUCCESS if valid; GIT_ENOTOID on failure."},"description":"Parse a hex formatted object id into a git_oid.\n@param out oid structure the result is written into.\n@param str input hex string; must be pointing at the start of\n the hex sequence and have at least the number of bytes\n needed for an oid encoded in hex (40 bytes).\n@return GIT_SUCCESS if valid; GIT_ENOTOID on failure.","comments":"","group":"oid"},"git_oid_mkraw":{"type":"function","file":"oid.h","line":43,"lineto":46,"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"},"description":"Copy an already raw oid into a git_oid structure.\n@param out oid structure the result is written into.\n@param raw the raw input bytes to be copied.","comments":"","group":"oid"},"git_oid_fmt":{"type":"function","file":"oid.h","line":57,"lineto":57,"args":[{"name":"str","type":"char *","comment":"output hex string; must be pointing at the start of the hex sequence and have at least the number of bytes needed for an oid encoded in hex (40 bytes). Only the oid digits are written; a '\\\\0' terminator must be added by 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"},"description":"Format a git_oid into a hex string.\n@param str output hex string; must be pointing at the start of\n the hex sequence and have at least the number of bytes\n needed for an oid encoded in hex (40 bytes). Only the\n oid digits are written; a '\\\\0' terminator must be added\n by the caller if it is required.\n@param oid oid structure to format.","comments":"","group":"oid"},"git_oid_pathfmt":{"type":"function","file":"oid.h","line":72,"lineto":72,"args":[{"name":"str","type":"char *","comment":"output hex string; must be pointing at the start of the hex sequence and have at least the number of bytes needed for an oid encoded in hex (41 bytes). Only the oid digits are written; a '\\\\0' terminator must be added by 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"},"description":"Format a git_oid into a loose-object path string.\n<p>\nThe resulting string is \"aa/...\", where \"aa\" is the first two\nhex digitis of the oid and \"...\" is the remaining 38 digits.","comments":"","group":"oid"},"git_oid_allocfmt":{"type":"function","file":"oid.h","line":80,"lineto":80,"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 deallocate the string with free()."},"description":"Format a gid_oid into a newly allocated c-string.\n@param oid the oid structure to format\n@return the c-string; NULL if memory is exhausted. Caller must\n deallocate the string with free().","comments":"","group":"oid"},"git_oid_to_string":{"type":"function","file":"oid.h","line":97,"lineto":97,"args":[{"name":"out","type":"char *","comment":"the buffer into which the oid string is output."},{"name":"n","type":"size_t","comment":"the size of the out buffer."},{"name":"oid","type":"const git_oid *","comment":"the oid structure to format."}],"argline":"char *out, size_t n, const git_oid *oid","sig":"char *::size_t::const git_oid *","return":{"type":"char *","comment":"the out buffer pointer, assuming no input parameter errors, otherwise a pointer to an empty string."},"description":"Format a git_oid into a buffer as a hex format c-string.\n<p>\nIf the buffer is smaller than GIT_OID_HEXSZ+1, then the resulting\noid c-string will be truncated to n-1 characters. If there are\nany input parameter errors (out == NULL, n == 0, oid == NULL),\nthen a pointer to an empty string is returned, so that the return\nvalue can always be printed.","comments":"","group":"oid"},"git_oid_cpy":{"type":"function","file":"oid.h","line":104,"lineto":107,"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"},"description":"Copy an oid from one structure to another.\n@param out oid structure the result is written into.\n@param src oid structure to copy from.","comments":"","group":"oid"},"git_oid_cmp":{"type":"function","file":"oid.h","line":115,"lineto":118,"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":"<0, 0, >0 if a < b, a == b, a > b."},"description":"Compare two oid structures.\n@param a first oid structure.\n@param b second oid structure.\n@return <0, 0, >0 if a < b, a == b, a > b.","comments":"","group":"oid"},"git_strerror":{"type":"function","file":"errors.h","line":29,"lineto":29,"args":[{"name":"num","type":"int","comment":"The error code to explain"}],"argline":"int num","sig":"int","return":{"type":"const char *","comment":"a string explaining the error code"},"description":"strerror() for the Git library\n@param num The error code to explain\n@return a string explaining the error code","comments":"","group":"errors"},"git_revwalk_new":{"type":"function","file":"revwalk.h","line":55,"lineto":55,"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 on success; error code otherwise"},"description":"Allocate a new revision walker to iterate through a repo.","comments":"","group":"revwalk"},"git_revwalk_reset":{"type":"function","file":"revwalk.h","line":61,"lineto":61,"args":[{"name":"walker","type":"git_revwalk *","comment":"handle to reset."}],"argline":"git_revwalk *walker","sig":"git_revwalk *","return":{"type":"void"},"description":"Reset the walking machinery for reuse.\n@param walker handle to reset.","comments":"","group":"revwalk"},"git_revwalk_push":{"type":"function","file":"revwalk.h","line":70,"lineto":70,"args":[{"name":"walk","type":"git_revwalk *","comment":"er the walker being used for the traversal."},{"name":"commit","type":"git_commit *","comment":"the commit to start from."}],"argline":"git_revwalk *walk, git_commit *commit","sig":"git_revwalk *::git_commit *","return":{"type":"int"},"description":"Mark a commit to start traversal from.\nThe commit object must belong to the repo which is being walked through.","comments":"","group":"revwalk"},"git_revwalk_hide":{"type":"function","file":"revwalk.h","line":77,"lineto":77,"args":[{"name":"walk","type":"git_revwalk *","comment":"er the walker being used for the traversal."},{"name":"commit","type":"git_commit *","comment":"the commit that will be ignored during the traversal"}],"argline":"git_revwalk *walk, git_commit *commit","sig":"git_revwalk *::git_commit *","return":{"type":"int"},"description":"Mark a commit (and its ancestors) uninteresting for the output.\n@param walker the walker being used for the traversal.\n@param commit the commit that will be ignored during the traversal","comments":"","group":"revwalk"},"git_revwalk_next":{"type":"function","file":"revwalk.h","line":84,"lineto":84,"args":[{"name":"walk","type":"git_revwalk *","comment":"the walker to pop the commit from."}],"argline":"git_revwalk *walk","sig":"git_revwalk *","return":{"type":"git_commit *","comment":"next commit; NULL if there is no more output."},"description":"Get the next commit from the revision traversal.\n@param walk the walker to pop the commit from.\n@return next commit; NULL if there is no more output.","comments":"","group":"revwalk"},"git_revwalk_sorting":{"type":"function","file":"revwalk.h","line":93,"lineto":93,"args":[{"name":"walk","type":"git_revwalk *","comment":"the walker being used for the traversal."},{"name":"sort_mode","type":"unsigned int","comment":"combination of GIT_RPSORT_XXX flags"}],"argline":"git_revwalk *walk, unsigned int sort_mode","sig":"git_revwalk *::unsigned int","return":{"type":"int"},"description":"Change the sorting mode when iterating through the\nrepository's contents.\nChanging the sorting mode resets the walker.\n@param walk the walker being used for the traversal.\n@param sort_mode combination of GIT_RPSORT_XXX flags","comments":"","group":"revwalk"},"git_revwalk_free":{"type":"function","file":"revwalk.h","line":99,"lineto":99,"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"},"description":"Free a revwalk previously allocated.\n@param walk traversal handle to close. If NULL nothing occurs.","comments":"","group":"revwalk"},"git_revwalk_repository":{"type":"function","file":"revwalk.h","line":108,"lineto":108,"args":[{"name":"walk","type":"git_revwalk *","comment":"the revision walker"}],"argline":"git_revwalk *walk","sig":"git_revwalk *","return":{"type":"git_repository *","comment":"the repository being walked"},"description":"Return the repository on which this walker\nis operating.","comments":"","group":"revwalk"}},"globals":{"GIT_BEGIN_DECL":{"value":"","file":"common.h","line":12,"comments":"Start declarations in C mode"},"GIT_END_DECL":{"value":"","file":"common.h","line":14,"comments":"End declarations in C mode"},"GIT_EXTERN(type)":{"value":"extern __attribute__((visibility(\"default\"))) type","file":"common.h","line":18,"comments":"Declare a public function exported for application use."},"GIT_EXTERN_TLS(type)":{"value":"extern __attribute__((visibility(\"default\"))) GIT_TLS type","file":"common.h","line":27,"comments":"Declare a public TLS symbol exported for application use."},"GIT_INLINE(type)":{"value":"static __inline type","file":"common.h","line":37,"comments":"Declare a function as always inlined."},"GIT_FORMAT_PRINTF(a,b)":{"value":"__attribute__((format (printf, a, b)))","file":"common.h","line":44,"comments":"Declare a function's takes printf style arguments."},"GIT_SUCCESS":{"value":"0","file":"common.h","line":59,"comments":"Operation completed successfully."},"GIT_ERROR":{"value":"-1","file":"common.h","line":67,"comments":"Operation failed, with unspecified reason.\nThis value also serves as the base error code; all other\nerror codes are subtracted from it such that all errors\nare < 0, in typical POSIX C tradition."},"GIT_ENOTOID":{"value":"(GIT_ERROR - 1)","file":"common.h","line":70,"comments":"Input was not a properly formatted Git object id."},"GIT_ENOTFOUND":{"value":"(GIT_ERROR - 2)","file":"common.h","line":73,"comments":"Input does not exist in the scope searched."},"GIT_ENOMEM":{"value":"(GIT_ERROR - 3)","file":"common.h","line":76,"comments":"Not enough space available."},"GIT_EOSERR":{"value":"(GIT_ERROR - 4)","file":"common.h","line":79,"comments":"Consult the OS error information."},"GIT_EOBJTYPE":{"value":"(GIT_ERROR - 5)","file":"common.h","line":82,"comments":"The specified object is of invalid type"},"GIT_EOBJCORRUPTED":{"value":"(GIT_ERROR - 6)","file":"common.h","line":85,"comments":"The specified object has its data corrupted"},"GIT_ENOTAREPO":{"value":"(GIT_ERROR - 7)","file":"common.h","line":88,"comments":"The specified repository is invalid"},"GIT_EINVALIDTYPE":{"value":"(GIT_ERROR - 8)","file":"common.h","line":91,"comments":"The object type is invalid or doesn't match"},"GIT_EMISSINGOBJDATA":{"value":"(GIT_ERROR - 9)","file":"common.h","line":94,"comments":"The object cannot be written that because it's missing internal data"},"GIT_EPACKCORRUPTED":{"value":"(GIT_ERROR - 10)","file":"common.h","line":97,"comments":"The packfile for the ODB is corrupted"},"GIT_EFLOCKFAIL":{"value":"(GIT_ERROR - 11)","file":"common.h","line":100,"comments":"Failed to adquire or release a file lock"},"GIT_EZLIB":{"value":"(GIT_ERROR - 12)","file":"common.h","line":103,"comments":"The Z library failed to inflate/deflate an object's data"},"GIT_EBUSY":{"value":"(GIT_ERROR - 13)","file":"common.h","line":106,"comments":"The queried object is currently busy"},"GIT_EBAREINDEX":{"value":"(GIT_ERROR -14)","file":"common.h","line":109,"comments":"The index file is not backed up by an existing repository"},"GIT_OID_RAWSZ":{"value":"20","file":"oid.h","line":17,"comments":"Size (in bytes) of a raw/binary oid"},"GIT_OID_HEXSZ":{"value":"(GIT_OID_RAWSZ * 2)","file":"oid.h","line":20,"comments":"Size (in bytes) of a hex formatted oid"},"GIT_SORT_NONE":{"value":"(0)","file":"revwalk.h","line":23,"comments":"Sort the repository contents in no particular ordering;\nthis sorting is arbitrary, implementation-specific\nand subject to change at any time.\nThis is the default sorting for new walkers."},"GIT_SORT_TOPOLOGICAL":{"value":"(1 << 0)","file":"revwalk.h","line":30,"comments":"Sort the repository contents in topological order\n(parents before children); this sorting mode\ncan be combined with time sorting."},"GIT_SORT_TIME":{"value":"(1 << 1)","file":"revwalk.h","line":37,"comments":"Sort the repository contents by commit time;\nthis sorting mode can be combined with\ntopological sorting."},"GIT_SORT_REVERSE":{"value":"(1 << 2)","file":"revwalk.h","line":44,"comments":"Iterate through the repository contents in reverse\norder; this sorting mode can be combined with\nany of the above."}},"types":[["git_blob",{"type":"struct","value":"git_blob","file":"blob.h","line":17,"lineto":17,"block":"","tdef":"typedef","comments":"In-memory representation of a blob object.","used":{"returns":[],"needs":["git_blob_lookup","git_blob_new","git_blob_rawcontent","git_blob_rawsize","git_blob_set_rawcontent","git_blob_set_rawcontent_fromfile"]}}],["git_commit",{"type":"struct","value":"git_commit","file":"commit.h","line":19,"lineto":19,"block":"","tdef":"typedef","comments":"Parsed representation of a commit object.","used":{"returns":["git_revwalk_next"],"needs":["git_commit_add_parent","git_commit_author","git_commit_committer","git_commit_id","git_commit_lookup","git_commit_message","git_commit_message_short","git_commit_new","git_commit_set_author","git_commit_set_committer","git_commit_set_message","git_commit_set_tree","git_commit_time","git_commit_tree","git_revwalk_hide","git_revwalk_push"]}}],["git_index",{"type":"struct","value":"git_index","file":"index.h","line":18,"lineto":18,"block":"","tdef":"typedef","comments":"Memory representation of an index file.","used":{"returns":["git_repository_index"],"needs":["git_index_add","git_index_clear","git_index_entrycount","git_index_find","git_index_free","git_index_get","git_index_insert","git_index_open_bare","git_index_open_inrepo","git_index_read","git_index_remove","git_index_write"]}}],["git_index_entry",{"type":"struct","value":"git_index_entry","file":"index.h","line":28,"lineto":45,"block":"git_index_time ctime\ngit_index_time mtime\nuint32_t dev\nuint32_t ino\nuint32_t mode\nuint32_t uid\nuint32_t gid\nuint32_t file_size\ngit_oid oid\nuint16_t flags\nuint16_t flags_extended\nchar *path","tdef":"typedef","comments":"Memory representation of a file entry in the index.","used":{"returns":["git_index_get"],"needs":["git_index_insert"]}}],["git_index_time",{"type":"struct","value":"git_index_time","file":"index.h","line":22,"lineto":25,"block":"uint32_t seconds\nuint32_t nanoseconds","tdef":"typedef","comments":"Time used in a git index entry","used":{"returns":[],"needs":[]}}],["git_object",{"type":"struct","value":"git_object","file":"common.h","line":121,"lineto":121,"block":"","tdef":"typedef","comments":"Representation of a generic object in a repository","used":{"returns":["git_tag_target"],"needs":["git_object_free","git_object_id","git_object_owner","git_object_type","git_object_write","git_repository_lookup","git_repository_newobject","git_tag_set_target","git_tree_entry_2object"]}}],["git_odb",{"type":"struct","value":"git_odb","file":"odb.h","line":18,"lineto":18,"block":"","tdef":"typedef","comments":"An open object database handle.","used":{"returns":["git_repository_database"],"needs":["git_odb__read_loose","git_odb__read_packed","git_odb_close","git_odb_exists","git_odb_open","git_odb_read","git_odb_read_header","git_odb_write"]}}],["git_oid",{"type":"struct","value":"git_oid","file":"oid.h","line":23,"lineto":26,"block":"unsigned char id[GIT_OID_RAWSZ]","tdef":"typedef","comments":"Unique identity of any object (commit, tree, blob, tag).","used":{"returns":["git_commit_id","git_object_id","git_tag_id","git_tree_entry_id","git_tree_id"],"needs":["git_blob_lookup","git_blob_writefile","git_commit_lookup","git_obj_hash","git_odb__read_loose","git_odb__read_packed","git_odb_exists","git_odb_read","git_odb_read_header","git_odb_write","git_oid_allocfmt","git_oid_cmp","git_oid_cpy","git_oid_fmt","git_oid_mkraw","git_oid_mkstr","git_oid_pathfmt","git_oid_to_string","git_repository_lookup","git_tag_lookup","git_tree_add_entry","git_tree_entry_set_id","git_tree_lookup"]}}],["git_otype",{"type":"enum","file":"odb.h","line":37,"lineto":48,"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","comments":"Basic type (loose or packed) of any Git object.","used":{"returns":[],"needs":["git_obj__loose_object_type","git_obj_type_to_string","git_repository_lookup","git_repository_newobject"]}}],["git_person",{"type":"struct","value":"git_person","file":"common.h","line":125,"lineto":129,"block":"","tdef":"typedef","comments":"Parsed representation of a person","used":{"returns":["git_commit_author","git_commit_committer","git_tag_tagger"],"needs":[]}}],["git_rawobj",{"type":"struct","value":"git_rawobj","file":"odb.h","line":51,"lineto":55,"block":"void *data\nsize_t len\ngit_otype type","tdef":"typedef","comments":"An object read from the database.","used":{"returns":[],"needs":["git_obj_close","git_obj_hash","git_odb__read_loose","git_odb__read_packed","git_odb_read","git_odb_read_header","git_odb_write"]}}],["git_repository",{"type":"struct","value":"git_repository","file":"common.h","line":118,"lineto":118,"block":"","tdef":"typedef","comments":"Representation of an existing git repository,\nincluding all its object contents","used":{"returns":["git_object_owner","git_revwalk_repository"],"needs":["git_blob_lookup","git_blob_new","git_blob_writefile","git_commit_lookup","git_commit_new","git_index_open_inrepo","git_repository_database","git_repository_free","git_repository_index","git_repository_lookup","git_repository_newobject","git_repository_open","git_revwalk_new","git_tag_lookup","git_tag_new","git_tree_lookup","git_tree_new"]}}],["git_tag",{"type":"struct","value":"git_tag","file":"tag.h","line":19,"lineto":19,"block":"","tdef":"typedef","comments":"Parsed representation of a tag object.","used":{"returns":[],"needs":["git_tag_id","git_tag_lookup","git_tag_message","git_tag_name","git_tag_new","git_tag_set_message","git_tag_set_name","git_tag_set_tagger","git_tag_set_target","git_tag_tagger","git_tag_target","git_tag_type"]}}],["git_tree",{"type":"struct","value":"git_tree","file":"tree.h","line":22,"lineto":22,"block":"","tdef":"typedef","comments":"Representation of a tree object.","used":{"returns":["git_commit_tree"],"needs":["git_commit_set_tree","git_tree_add_entry","git_tree_entry_byindex","git_tree_entry_byname","git_tree_entrycount","git_tree_id","git_tree_lookup","git_tree_new","git_tree_remove_entry_byindex","git_tree_remove_entry_byname"]}}],["git_tree_entry",{"type":"struct","value":"git_tree_entry","file":"tree.h","line":19,"lineto":19,"block":"","tdef":"typedef","comments":"Representation of each one of the entries in a tree object.","used":{"returns":["git_tree_entry_byindex","git_tree_entry_byname"],"needs":["git_tree_entry_2object","git_tree_entry_attributes","git_tree_entry_id","git_tree_entry_name","git_tree_entry_set_attributes","git_tree_entry_set_id","git_tree_entry_set_name"]}}]],"prefix":"src/git","groups":[["blob",["git_blob_lookup","git_blob_new","git_blob_rawcontent","git_blob_rawsize","git_blob_set_rawcontent","git_blob_set_rawcontent_fromfile","git_blob_writefile"]],["commit",["git_commit_add_parent","git_commit_author","git_commit_committer","git_commit_id","git_commit_lookup","git_commit_message","git_commit_message_short","git_commit_new","git_commit_set_author","git_commit_set_committer","git_commit_set_message","git_commit_set_tree","git_commit_time","git_commit_tree"]],["errors",["git_strerror"]],["index",["git_index_add","git_index_clear","git_index_entrycount","git_index_find","git_index_free","git_index_get","git_index_insert","git_index_open_bare","git_index_open_inrepo","git_index_read","git_index_remove","git_index_write"]],["obj",["git_obj__loose_object_type","git_obj_close","git_obj_hash","git_obj_string_to_type","git_obj_type_to_string"]],["object",["git_object_free","git_object_id","git_object_owner","git_object_type","git_object_write"]],["odb",["git_odb__read_loose","git_odb__read_packed","git_odb_close","git_odb_exists","git_odb_open","git_odb_read","git_odb_read_header","git_odb_write"]],["oid",["git_oid_allocfmt","git_oid_cmp","git_oid_cpy","git_oid_fmt","git_oid_mkraw","git_oid_mkstr","git_oid_pathfmt","git_oid_to_string"]],["repository",["git_repository_database","git_repository_free","git_repository_index","git_repository_lookup","git_repository_newobject","git_repository_open"]],["revwalk",["git_revwalk_free","git_revwalk_hide","git_revwalk_new","git_revwalk_next","git_revwalk_push","git_revwalk_repository","git_revwalk_reset","git_revwalk_sorting"]],["tag",["git_tag_id","git_tag_lookup","git_tag_message","git_tag_name","git_tag_new","git_tag_set_message","git_tag_set_name","git_tag_set_tagger","git_tag_set_target","git_tag_tagger","git_tag_target","git_tag_type"]],["tree",["git_tree_add_entry","git_tree_entry_2object","git_tree_entry_attributes","git_tree_entry_byindex","git_tree_entry_byname","git_tree_entry_id","git_tree_entry_name","git_tree_entry_set_attributes","git_tree_entry_set_id","git_tree_entry_set_name","git_tree_entrycount","git_tree_id","git_tree_lookup","git_tree_new","git_tree_remove_entry_byindex","git_tree_remove_entry_byname"]],["zlib",["deflateBound"]]]} \ No newline at end of file
+{"files":[{"file":"zlib.h","functions":["deflateBound"],"meta":{"brief":"Git data compression routines","defgroup":"git_zlib Git data compression routines","ingroup":"Git","comments":"\n"},"lines":35},{"file":"tree.h","functions":["git_tree_lookup","git_tree_new","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_2object","git_tree_add_entry","git_tree_remove_entry_byindex","git_tree_remove_entry_byname","git_tree_entry_set_id","git_tree_entry_set_name","git_tree_entry_set_attributes"],"meta":{"brief":"Git tree parsing, loading routines","defgroup":"git_tree Git tree parsing, loading routines","ingroup":"Git","comments":"\n"},"lines":185},{"file":"thread-utils.h","functions":[],"meta":{},"lines":56},{"file":"tag.h","functions":["git_tag_lookup","git_tag_new","git_tag_id","git_tag_target","git_tag_type","git_tag_name","git_tag_tagger","git_tag_message","git_tag_set_target","git_tag_set_name","git_tag_set_tagger","git_tag_set_message"],"meta":{"brief":"Git tag parsing routines","defgroup":"git_tag Git tag management","ingroup":"Git","comments":"\n"},"lines":120},{"file":"revwalk.h","functions":["git_revwalk_new","git_revwalk_reset","git_revwalk_push","git_revwalk_hide","git_revwalk_next","git_revwalk_sorting","git_revwalk_free","git_revwalk_repository"],"meta":{"brief":"Git revision traversal routines","defgroup":"git_revwalk Git revision traversal routines","ingroup":"Git","comments":"\n"},"lines":112},{"file":"repository.h","functions":["git_repository_open","git_repository_lookup","git_repository_database","git_repository_index","git_repository_newobject","git_object_write","git_object_id","git_object_type","git_object_owner","git_object_free","git_repository_free"],"meta":{"brief":"Git revision object management routines","defgroup":"git_repository Git revision object management routines","ingroup":"Git","comments":"\n"},"lines":171},{"file":"oid.h","functions":["git_oid_mkstr","git_oid_mkraw","git_oid_fmt","git_oid_pathfmt","git_oid_allocfmt","git_oid_to_string","git_oid_cpy","git_oid_cmp"],"meta":{"brief":"Git object id routines","defgroup":"git_oid Git object id routines","ingroup":"Git","comments":"\n"},"lines":122},{"file":"odb.h","functions":["git_odb_open","git_odb_close","git_odb_read","git_odb_read_header","git_odb__read_packed","git_odb__read_loose","git_odb_write","git_obj_close","git_obj_type_to_string","git_obj_string_to_type","git_obj__loose_object_type","git_obj_hash","git_odb_exists"],"meta":{"brief":"Git object database routines","defgroup":"git_odb Git object database routines","ingroup":"Git","comments":"\n"},"lines":200},{"file":"index.h","functions":["git_index_open_bare","git_index_open_inrepo","git_index_clear","git_index_free","git_index_read","git_index_write","git_index_find","git_index_add","git_index_remove","git_index_insert","git_index_get","git_index_entrycount"],"meta":{"brief":"Git index parsing and manipulation routines","defgroup":"git_index Git index parsing and manipulation routines","ingroup":"Git","comments":"\n"},"lines":172},{"file":"errors.h","functions":["git_strerror"],"meta":{"brief":"Git error handling routines and variables","ingroup":"Git","comments":"\n"},"lines":33},{"file":"common.h","functions":[],"meta":{"brief":"Git common platform definitions","defgroup":"git_common Git common platform definitions","ingroup":"Git","comments":"\n"},"lines":133},{"file":"commit.h","functions":["git_commit_lookup","git_commit_new","git_commit_id","git_commit_message_short","git_commit_message","git_commit_time","git_commit_committer","git_commit_author","git_commit_tree","git_commit_add_parent","git_commit_set_message","git_commit_set_committer","git_commit_set_author","git_commit_set_tree"],"meta":{"brief":"Git commit parsing, formatting routines","defgroup":"git_commit Git commit parsing, formatting routines","ingroup":"Git","comments":"\n"},"lines":137},{"file":"blob.h","functions":["git_blob_lookup","git_blob_new","git_blob_set_rawcontent_fromfile","git_blob_set_rawcontent","git_blob_rawcontent","git_blob_rawsize","git_blob_writefile"],"meta":{"brief":"Git blob load and write routines","defgroup":"git_blob Git blob load and write routines","ingroup":"Git","comments":"\n"},"lines":99}],"functions":{"deflateBound":{"type":"function","file":"zlib.h","line":27,"lineto":31,"args":[{"name":"stream","type":"z_streamp","comment":"the stream pointer."},{"name":"s","type":"size_t","comment":"tream the stream pointer."}],"argline":"z_streamp stream, size_t s","sig":"z_streamp::size_t","return":{"type":"size_t","comment":"maximum length of the compressed data."},"description":"deflateBound returns an upper bound on the compressed size.","comments":"This is a stub function used when zlib does not supply the\ndeflateBound() implementation itself.\n","group":"zlib"},"git_tree_lookup":{"type":"function","file":"tree.h","line":34,"lineto":34,"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 on success; error code otherwise"},"description":"Lookup a tree object from the repository.\nThe generated tree object is owned by the revision\nrepo and shall not be freed by the user.","comments":"","group":"tree"},"git_tree_new":{"type":"function","file":"tree.h","line":47,"lineto":47,"args":[{"name":"tree","type":"git_tree **","comment":"pointer to the new tree"},{"name":"repo","type":"git_repository *","comment":"The repository where the object will reside"}],"argline":"git_tree **tree, git_repository *repo","sig":"git_tree **::git_repository *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Create a new in-memory git_tree.","comments":"The tree object must be manually filled using\nsetter methods before it can be written to its\nrepository.\n","group":"tree"},"git_tree_id":{"type":"function","file":"tree.h","line":54,"lineto":54,"args":[{"name":"tree","type":"git_tree *","comment":"a previously loaded tree."}],"argline":"git_tree *tree","sig":"git_tree *","return":{"type":"const git_oid *","comment":"object identity for the tree."},"description":"Get the id of a tree.\n@param tree a previously loaded tree.\n@return object identity for the tree.","comments":"","group":"tree"},"git_tree_entrycount":{"type":"function","file":"tree.h","line":62,"lineto":62,"args":[{"name":"tree","type":"git_tree *","comment":"a previously loaded tree."}],"argline":"git_tree *tree","sig":"git_tree *","return":{"type":"size_t","comment":"the number of entries in the tree"},"description":"Get the number of entries listed in a tree\n@param tree a previously loaded tree.\n@return the number of entries in the tree","comments":"","group":"tree"},"git_tree_entry_byname":{"type":"function","file":"tree.h","line":70,"lineto":70,"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":"git_tree_entry *","comment":"the tree entry; NULL if not found"},"description":"Lookup a tree entry by its filename\n@param tree a previously loaded tree.\n@param filename the filename of the desired entry\n@return the tree entry; NULL if not found","comments":"","group":"tree"},"git_tree_entry_byindex":{"type":"function","file":"tree.h","line":78,"lineto":78,"args":[{"name":"tree","type":"git_tree *","comment":"a previously loaded tree."},{"name":"idx","type":"int","comment":"the position in the entry list"}],"argline":"git_tree *tree, int idx","sig":"git_tree *::int","return":{"type":"git_tree_entry *","comment":"the tree entry; NULL if not found"},"description":"Lookup a tree entry by its position in the tree\n@param tree a previously loaded tree.\n@param idx the position in the entry list\n@return the tree entry; NULL if not found","comments":"","group":"tree"},"git_tree_entry_attributes":{"type":"function","file":"tree.h","line":85,"lineto":85,"args":[{"name":"entry","type":"git_tree_entry *","comment":"a tree entry"}],"argline":"git_tree_entry *entry","sig":"git_tree_entry *","return":{"type":"unsigned int","comment":"attributes as an integer"},"description":"Get the UNIX file attributes of a tree entry\n@param entry a tree entry\n@return attributes as an integer","comments":"","group":"tree"},"git_tree_entry_name":{"type":"function","file":"tree.h","line":92,"lineto":92,"args":[{"name":"entry","type":"git_tree_entry *","comment":"a tree entry"}],"argline":"git_tree_entry *entry","sig":"git_tree_entry *","return":{"type":"const char *","comment":"the name of the file"},"description":"Get the filename of a tree entry\n@param entry a tree entry\n@return the name of the file","comments":"","group":"tree"},"git_tree_entry_id":{"type":"function","file":"tree.h","line":99,"lineto":99,"args":[{"name":"entry","type":"git_tree_entry *","comment":"a tree entry"}],"argline":"git_tree_entry *entry","sig":"git_tree_entry *","return":{"type":"const git_oid *","comment":"the oid of the object"},"description":"Get the id of the object pointed by the entry\n@param entry a tree entry\n@return the oid of the object","comments":"","group":"tree"},"git_tree_entry_2object":{"type":"function","file":"tree.h","line":108,"lineto":108,"args":[{"name":"object","type":"git_object **","comment":"pointer to the converted object"},{"name":"entry","type":"git_tree_entry *","comment":"a tree entry"}],"argline":"git_object **object, git_tree_entry *entry","sig":"git_object **::git_tree_entry *","return":{"type":"int","comment":"a reference to the pointed object in the repository"},"description":"Convert a tree entry to the git_object it points too.","comments":"","group":"tree"},"git_tree_add_entry":{"type":"function","file":"tree.h","line":122,"lineto":122,"args":[{"name":"tree","type":"git_tree *","comment":"Tree object to store the entry @iparam id OID for the tree entry"},{"name":"id","type":"const git_oid *"},{"name":"filename","type":"const char *","comment":"Filename for the tree entry"},{"name":"attributes","type":"int","comment":"UNIX file attributes for the entry"}],"argline":"git_tree *tree, const git_oid *id, const char *filename, int attributes","sig":"git_tree *::const git_oid *::const char *::int","return":{"type":"int","comment":"0 on success; otherwise error code"},"description":"Add a new entry to a tree.","comments":"This will mark the tree as modified; the new entry will\nbe written back to disk on the next git_object_write()\n","group":"tree"},"git_tree_remove_entry_byindex":{"type":"function","file":"tree.h","line":136,"lineto":136,"args":[{"name":"tree","type":"git_tree *","comment":"Tree where to remove the entry"},{"name":"idx","type":"int","comment":"index of the entry"}],"argline":"git_tree *tree, int idx","sig":"git_tree *::int","return":{"type":"int","comment":"0 on successful removal; GIT_ENOTFOUND if the entry wasn't found"},"description":"Remove an entry by its index.","comments":"Index must be >= 0 and < than git_tree_entrycount().\n\nThis will mark the tree as modified; the modified entry will\nbe written back to disk on the next git_object_write()\n","group":"tree"},"git_tree_remove_entry_byname":{"type":"function","file":"tree.h","line":148,"lineto":148,"args":[{"name":"tree","type":"git_tree *","comment":"Tree where to remove the entry"},{"name":"filename","type":"const char *","comment":"File name of the entry"}],"argline":"git_tree *tree, const char *filename","sig":"git_tree *::const char *","return":{"type":"int","comment":"0 on successful removal; GIT_ENOTFOUND if the entry wasn't found"},"description":"Remove an entry by its filename.","comments":"This will mark the tree as modified; the modified entry will\nbe written back to disk on the next git_object_write()\n","group":"tree"},"git_tree_entry_set_id":{"type":"function","file":"tree.h","line":159,"lineto":159,"args":[{"name":"entry","type":"git_tree_entry *","comment":"Entry object which will be modified"},{"name":"oid","type":"const git_oid *","comment":"new SHA1 oid for the entry"}],"argline":"git_tree_entry *entry, const git_oid *oid","sig":"git_tree_entry *::const git_oid *","return":{"type":"void"},"description":"Change the SHA1 id of a tree entry.","comments":"This will mark the tree that contains the entry as modified;\nthe modified entry will be written back to disk on the next git_object_write()\n","group":"tree"},"git_tree_entry_set_name":{"type":"function","file":"tree.h","line":170,"lineto":170,"args":[{"name":"entry","type":"git_tree_entry *","comment":"Entry object which will be modified"},{"name":"name","type":"const char *"}],"argline":"git_tree_entry *entry, const char *name","sig":"git_tree_entry *::const char *","return":{"type":"void"},"description":"Change the filename of a tree entry.","comments":"This will mark the tree that contains the entry as modified;\nthe modified entry will be written back to disk on the next git_object_write()\n","group":"tree"},"git_tree_entry_set_attributes":{"type":"function","file":"tree.h","line":181,"lineto":181,"args":[{"name":"entry","type":"git_tree_entry *","comment":"Entry object which will be modified"},{"name":"attr","type":"int"}],"argline":"git_tree_entry *entry, int attr","sig":"git_tree_entry *::int","return":{"type":"void"},"description":"Change the attributes of a tree entry.","comments":"This will mark the tree that contains the entry as modified;\nthe modified entry will be written back to disk on the next git_object_write()\n","group":"tree"},"git_tag_lookup":{"type":"function","file":"tag.h","line":31,"lineto":31,"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 on success; error code otherwise"},"description":"Lookup a tag object from the repository.\nThe generated tag object is owned by the revision\nrepo and shall not be freed by the user.","comments":"","group":"tag"},"git_tag_new":{"type":"function","file":"tag.h","line":44,"lineto":44,"args":[{"name":"tag","type":"git_tag **","comment":"pointer to the new tag"},{"name":"repo","type":"git_repository *","comment":"The repository where the object will reside"}],"argline":"git_tag **tag, git_repository *repo","sig":"git_tag **::git_repository *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Create a new in-memory git_tag.","comments":"The tag object must be manually filled using\nsetter methods before it can be written to its\nrepository.\n","group":"tag"},"git_tag_id":{"type":"function","file":"tag.h","line":51,"lineto":51,"args":[{"name":"tag","type":"git_tag *","comment":"a previously loaded tag."}],"argline":"git_tag *tag","sig":"git_tag *","return":{"type":"const git_oid *","comment":"object identity for the tag."},"description":"Get the id of a tag.\n@param tag a previously loaded tag.\n@return object identity for the tag.","comments":"","group":"tag"},"git_tag_target":{"type":"function","file":"tag.h","line":58,"lineto":58,"args":[{"name":"t","type":"git_tag *","comment":"ag a previously loaded tag."}],"argline":"git_tag *t","sig":"git_tag *","return":{"type":"const git_object *","comment":"reference to a repository object"},"description":"Get the tagged object of a tag\n@param tag a previously loaded tag.\n@return reference to a repository object","comments":"","group":"tag"},"git_tag_type":{"type":"function","file":"tag.h","line":65,"lineto":65,"args":[{"name":"t","type":"git_tag *","comment":"ag a previously loaded tag."}],"argline":"git_tag *t","sig":"git_tag *","return":{"type":"git_otype","comment":"type of the tagged object"},"description":"Get the type of a tag's tagged object\n@param tag a previously loaded tag.\n@return type of the tagged object","comments":"","group":"tag"},"git_tag_name":{"type":"function","file":"tag.h","line":72,"lineto":72,"args":[{"name":"t","type":"git_tag *","comment":"ag a previously loaded tag."}],"argline":"git_tag *t","sig":"git_tag *","return":{"type":"const char *","comment":"name of the tag"},"description":"Get the name of a tag\n@param tag a previously loaded tag.\n@return name of the tag","comments":"","group":"tag"},"git_tag_tagger":{"type":"function","file":"tag.h","line":79,"lineto":79,"args":[{"name":"t","type":"git_tag *","comment":"ag a previously loaded tag."}],"argline":"git_tag *t","sig":"git_tag *","return":{"type":"const git_person *","comment":"reference to the tag's author"},"description":"Get the tagger (author) of a tag\n@param tag a previously loaded tag.\n@return reference to the tag's author","comments":"","group":"tag"},"git_tag_message":{"type":"function","file":"tag.h","line":86,"lineto":86,"args":[{"name":"t","type":"git_tag *","comment":"ag a previously loaded tag."}],"argline":"git_tag *t","sig":"git_tag *","return":{"type":"const char *","comment":"message of the tag"},"description":"Get the message of a tag\n@param tag a previously loaded tag.\n@return message of the tag","comments":"","group":"tag"},"git_tag_set_target":{"type":"function","file":"tag.h","line":93,"lineto":93,"args":[{"name":"tag","type":"git_tag *","comment":"The tag to modify"},{"name":"target","type":"git_object *","comment":"the new tagged target"}],"argline":"git_tag *tag, git_object *target","sig":"git_tag *::git_object *","return":{"type":"void"},"description":"Set the target of a tag (i.e. the object that the tag points to)\n@param tag The tag to modify\n@param target the new tagged target","comments":"","group":"tag"},"git_tag_set_name":{"type":"function","file":"tag.h","line":100,"lineto":100,"args":[{"name":"tag","type":"git_tag *","comment":"The tag to modify"},{"name":"name","type":"const char *","comment":"the new name for the tag"}],"argline":"git_tag *tag, const char *name","sig":"git_tag *::const char *","return":{"type":"void"},"description":"Set the name of a tag\n@param tag The tag to modify\n@param name the new name for the tag","comments":"","group":"tag"},"git_tag_set_tagger":{"type":"function","file":"tag.h","line":109,"lineto":109,"args":[{"name":"tag","type":"git_tag *","comment":"The tag to modify"},{"name":"name","type":"const char *","comment":"the name of the new tagger"},{"name":"email","type":"const char *","comment":"the email of the new tagger"},{"name":"time","type":"time_t","comment":"the time when the tag was created"}],"argline":"git_tag *tag, const char *name, const char *email, time_t time","sig":"git_tag *::const char *::const char *::time_t","return":{"type":"void"},"description":"Set the tagger of a tag\n@param tag The tag to modify\n@param name the name of the new tagger\n@param email the email of the new tagger\n@param time the time when the tag was created","comments":"","group":"tag"},"git_tag_set_message":{"type":"function","file":"tag.h","line":116,"lineto":116,"args":[{"name":"tag","type":"git_tag *","comment":"The tag to modify"},{"name":"message","type":"const char *","comment":"the new tagger for the tag"}],"argline":"git_tag *tag, const char *message","sig":"git_tag *::const char *","return":{"type":"void"},"description":"Set the message of a tag\n@param tag The tag to modify\n@param message the new tagger for the tag","comments":"","group":"tag"},"git_revwalk_new":{"type":"function","file":"revwalk.h","line":55,"lineto":55,"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 on success; error code otherwise"},"description":"Allocate a new revision walker to iterate through a repo.","comments":"","group":"revwalk"},"git_revwalk_reset":{"type":"function","file":"revwalk.h","line":61,"lineto":61,"args":[{"name":"walker","type":"git_revwalk *","comment":"handle to reset."}],"argline":"git_revwalk *walker","sig":"git_revwalk *","return":{"type":"void"},"description":"Reset the walking machinery for reuse.\n@param walker handle to reset.","comments":"","group":"revwalk"},"git_revwalk_push":{"type":"function","file":"revwalk.h","line":70,"lineto":70,"args":[{"name":"walk","type":"git_revwalk *","comment":"er the walker being used for the traversal."},{"name":"commit","type":"git_commit *","comment":"the commit to start from."}],"argline":"git_revwalk *walk, git_commit *commit","sig":"git_revwalk *::git_commit *","return":{"type":"int"},"description":"Mark a commit to start traversal from.\nThe commit object must belong to the repo which is being walked through.","comments":"","group":"revwalk"},"git_revwalk_hide":{"type":"function","file":"revwalk.h","line":77,"lineto":77,"args":[{"name":"walk","type":"git_revwalk *","comment":"er the walker being used for the traversal."},{"name":"commit","type":"git_commit *","comment":"the commit that will be ignored during the traversal"}],"argline":"git_revwalk *walk, git_commit *commit","sig":"git_revwalk *::git_commit *","return":{"type":"int"},"description":"Mark a commit (and its ancestors) uninteresting for the output.\n@param walker the walker being used for the traversal.\n@param commit the commit that will be ignored during the traversal","comments":"","group":"revwalk"},"git_revwalk_next":{"type":"function","file":"revwalk.h","line":84,"lineto":84,"args":[{"name":"walk","type":"git_revwalk *","comment":"the walker to pop the commit from."}],"argline":"git_revwalk *walk","sig":"git_revwalk *","return":{"type":"git_commit *","comment":"next commit; NULL if there is no more output."},"description":"Get the next commit from the revision traversal.\n@param walk the walker to pop the commit from.\n@return next commit; NULL if there is no more output.","comments":"","group":"revwalk"},"git_revwalk_sorting":{"type":"function","file":"revwalk.h","line":93,"lineto":93,"args":[{"name":"walk","type":"git_revwalk *","comment":"the walker being used for the traversal."},{"name":"sort_mode","type":"unsigned int","comment":"combination of GIT_RPSORT_XXX flags"}],"argline":"git_revwalk *walk, unsigned int sort_mode","sig":"git_revwalk *::unsigned int","return":{"type":"int"},"description":"Change the sorting mode when iterating through the\nrepository's contents.\nChanging the sorting mode resets the walker.\n@param walk the walker being used for the traversal.\n@param sort_mode combination of GIT_RPSORT_XXX flags","comments":"","group":"revwalk"},"git_revwalk_free":{"type":"function","file":"revwalk.h","line":99,"lineto":99,"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"},"description":"Free a revwalk previously allocated.\n@param walk traversal handle to close. If NULL nothing occurs.","comments":"","group":"revwalk"},"git_revwalk_repository":{"type":"function","file":"revwalk.h","line":108,"lineto":108,"args":[{"name":"walk","type":"git_revwalk *","comment":"the revision walker"}],"argline":"git_revwalk *walk","sig":"git_revwalk *","return":{"type":"git_repository *","comment":"the repository being walked"},"description":"Return the repository on which this walker\nis operating.","comments":"","group":"revwalk"},"git_repository_open":{"type":"function","file":"repository.h","line":41,"lineto":41,"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":"the new repository handle; NULL on error"},"description":"Open a git repository.","comments":"The 'path' argument must point to an existing git repository\nfolder, e.g.\n\n\t/path/to/my_repo/.git/\t(normal repository)\n\t\t\t\t\t\tobjects/\n\t\t\t\t\t\tindex\n\t\t\t\t\t\tHEAD\n\n\t/path/to/bare_repo/\t\t(bare repository)\n\t\t\t\t\tobjects/\n\t\t\t\t\tindex\n\t\t\t\t\tHEAD\n\nThe method will automatically detect if 'path' is a normal\nor bare repository or fail is 'path' is neither.\n","group":"repository"},"git_repository_lookup":{"type":"function","file":"repository.h","line":61,"lineto":61,"args":[{"name":"object","type":"git_object **","comment":"pointer to the looked-up object"},{"name":"repo","type":"git_repository *","comment":"the repository to look up the object"},{"name":"id","type":"const git_oid *","comment":"the unique identifier for the object"},{"name":"type","type":"git_otype","comment":"the type of the object"}],"argline":"git_object **object, git_repository *repo, const git_oid *id, git_otype type","sig":"git_object **::git_repository *::const git_oid *::git_otype","return":{"type":"int","comment":"a reference to the object"},"description":"Lookup a reference to one of the objects in the repostory.","comments":"The generated reference is owned by the repository and\nshould not be freed by the user.\n\nThe 'type' parameter must match the type of the object\nin the odb; the method will fail otherwise.\nThe special value 'GIT_OBJ_ANY' may be passed to let\nthe method guess the object's type.\n","group":"repository"},"git_repository_database":{"type":"function","file":"repository.h","line":69,"lineto":69,"args":[{"name":"repo","type":"git_repository *","comment":"a repository object"}],"argline":"git_repository *repo","sig":"git_repository *","return":{"type":"git_odb *","comment":"a pointer to the object db"},"description":"Get the object database behind a Git repository","comments":"","group":"repository"},"git_repository_index":{"type":"function","file":"repository.h","line":78,"lineto":78,"args":[{"name":"rpeo","type":"git_repository *"}],"argline":"git_repository *rpeo","sig":"git_repository *","return":{"type":"git_index *","comment":"a pointer to the Index object; NULL if the index cannot be opened"},"description":"Get the Index file of a Git repository","comments":"","group":"repository"},"git_repository_newobject":{"type":"function","file":"repository.h","line":101,"lineto":101,"args":[{"name":"object","type":"git_object **","comment":"pointer to the new object @parem repo Repository where the object belongs"},{"name":"repo","type":"git_repository *"},{"name":"type","type":"git_otype","comment":"Type of the object to be created"}],"argline":"git_object **object, git_repository *repo, git_otype type","sig":"git_object **::git_repository *::git_otype","return":{"type":"int","comment":"the new object"},"description":"Create a new in-memory repository object with\nthe given type.","comments":"The object's attributes can be filled in using the\ncorresponding setter methods.\n\nThe object will be written back to given git_repository\nwhen the git_object_write() function is called; objects\ncannot be written to disk until all their main\nattributes have been properly filled.\n\nObjects are instantiated with no SHA1 id; their id\nwill be automatically generated when writing to the\nrepository.\n","group":"repository"},"git_object_write":{"type":"function","file":"repository.h","line":120,"lineto":120,"args":[{"name":"object","type":"git_object *","comment":"Git object to write back"}],"argline":"git_object *object","sig":"git_object *","return":{"type":"int","comment":"0 on success; otherwise an error code"},"description":"Write back an object to disk.","comments":"The object will be written to its corresponding\nrepository.\n\nIf the object has no changes since it was first\nread from the repository, no actions will take place.\n\nIf the object has been modified since it was read from\nthe repository, or it has been created from scratch\nin memory, it will be written to the repository and\nits SHA1 ID will be updated accordingly.\n","group":"object"},"git_object_id":{"type":"function","file":"repository.h","line":131,"lineto":131,"args":[{"name":"obj","type":"git_object *","comment":"the repository object"}],"argline":"git_object *obj","sig":"git_object *","return":{"type":"const git_oid *","comment":"the SHA1 id"},"description":"Get the id (SHA1) of a repository object","comments":"In-memory objects created by git_object_new() do not\nhave a SHA1 ID until they are written on a repository.\n","group":"object"},"git_object_type":{"type":"function","file":"repository.h","line":139,"lineto":139,"args":[{"name":"obj","type":"git_object *","comment":"the repository object"}],"argline":"git_object *obj","sig":"git_object *","return":{"type":"git_otype","comment":"the object's type"},"description":"Get the object type of an object","comments":"","group":"object"},"git_object_owner":{"type":"function","file":"repository.h","line":147,"lineto":147,"args":[{"name":"obj","type":"git_object *","comment":"the object"}],"argline":"git_object *obj","sig":"git_object *","return":{"type":"git_repository *","comment":"the repository who owns this object"},"description":"Get the repository that owns this object","comments":"","group":"object"},"git_object_free":{"type":"function","file":"repository.h","line":161,"lineto":161,"args":[{"name":"object","type":"git_object *","comment":"the object to free"}],"argline":"git_object *object","sig":"git_object *","return":{"type":"void"},"description":"Free a reference to one of the objects in the repository.","comments":"Repository objects are managed automatically by the library,\nbut this method can be used to force freeing one of the\nobjects.\n\nCareful: freeing objects in the middle of a repository\ntraversal will most likely cause errors.\n","group":"object"},"git_repository_free":{"type":"function","file":"repository.h","line":167,"lineto":167,"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"},"description":"Free a previously allocated repository\n@param repo repository handle to close. If NULL nothing occurs.","comments":"","group":"repository"},"git_oid_mkstr":{"type":"function","file":"oid.h","line":36,"lineto":36,"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 the hex sequence and have at least the number of bytes needed for an oid encoded in hex (40 bytes)."}],"argline":"git_oid *out, const char *str","sig":"git_oid *::const char *","return":{"type":"int","comment":"GIT_SUCCESS if valid; GIT_ENOTOID on failure."},"description":"Parse a hex formatted object id into a git_oid.\n@param out oid structure the result is written into.\n@param str input hex string; must be pointing at the start of\n the hex sequence and have at least the number of bytes\n needed for an oid encoded in hex (40 bytes).\n@return GIT_SUCCESS if valid; GIT_ENOTOID on failure.","comments":"","group":"oid"},"git_oid_mkraw":{"type":"function","file":"oid.h","line":43,"lineto":46,"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"},"description":"Copy an already raw oid into a git_oid structure.\n@param out oid structure the result is written into.\n@param raw the raw input bytes to be copied.","comments":"","group":"oid"},"git_oid_fmt":{"type":"function","file":"oid.h","line":57,"lineto":57,"args":[{"name":"str","type":"char *","comment":"output hex string; must be pointing at the start of the hex sequence and have at least the number of bytes needed for an oid encoded in hex (40 bytes). Only the oid digits are written; a '\\\\0' terminator must be added by 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"},"description":"Format a git_oid into a hex string.\n@param str output hex string; must be pointing at the start of\n the hex sequence and have at least the number of bytes\n needed for an oid encoded in hex (40 bytes). Only the\n oid digits are written; a '\\\\0' terminator must be added\n by the caller if it is required.\n@param oid oid structure to format.","comments":"","group":"oid"},"git_oid_pathfmt":{"type":"function","file":"oid.h","line":72,"lineto":72,"args":[{"name":"str","type":"char *","comment":"output hex string; must be pointing at the start of the hex sequence and have at least the number of bytes needed for an oid encoded in hex (41 bytes). Only the oid digits are written; a '\\\\0' terminator must be added by 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"},"description":"Format a git_oid into a loose-object path string.\n<p>\nThe resulting string is \"aa/...\", where \"aa\" is the first two\nhex digitis of the oid and \"...\" is the remaining 38 digits.","comments":"","group":"oid"},"git_oid_allocfmt":{"type":"function","file":"oid.h","line":80,"lineto":80,"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 deallocate the string with free()."},"description":"Format a gid_oid into a newly allocated c-string.\n@param oid the oid structure to format\n@return the c-string; NULL if memory is exhausted. Caller must\n deallocate the string with free().","comments":"","group":"oid"},"git_oid_to_string":{"type":"function","file":"oid.h","line":97,"lineto":97,"args":[{"name":"out","type":"char *","comment":"the buffer into which the oid string is output."},{"name":"n","type":"size_t","comment":"the size of the out buffer."},{"name":"oid","type":"const git_oid *","comment":"the oid structure to format."}],"argline":"char *out, size_t n, const git_oid *oid","sig":"char *::size_t::const git_oid *","return":{"type":"char *","comment":"the out buffer pointer, assuming no input parameter errors, otherwise a pointer to an empty string."},"description":"Format a git_oid into a buffer as a hex format c-string.\n<p>\nIf the buffer is smaller than GIT_OID_HEXSZ+1, then the resulting\noid c-string will be truncated to n-1 characters. If there are\nany input parameter errors (out == NULL, n == 0, oid == NULL),\nthen a pointer to an empty string is returned, so that the return\nvalue can always be printed.","comments":"","group":"oid"},"git_oid_cpy":{"type":"function","file":"oid.h","line":104,"lineto":107,"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"},"description":"Copy an oid from one structure to another.\n@param out oid structure the result is written into.\n@param src oid structure to copy from.","comments":"","group":"oid"},"git_oid_cmp":{"type":"function","file":"oid.h","line":115,"lineto":118,"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":"<0, 0, >0 if a < b, a == b, a > b."},"description":"Compare two oid structures.\n@param a first oid structure.\n@param b second oid structure.\n@return <0, 0, >0 if a < b, a == b, a > b.","comments":"","group":"oid"},"git_odb_open":{"type":"function","file":"odb.h","line":28,"lineto":28,"args":[{"name":"out","type":"git_odb **","comment":"location to store the database pointer, if opened. Set to NULL if the open failed."},{"name":"objects_dir","type":"const char *","comment":"path of the database's \"objects\" directory."}],"argline":"git_odb **out, const char *objects_dir","sig":"git_odb **::const char *","return":{"type":"int","comment":"GIT_SUCCESS if the database opened; otherwise an error code describing why the open was not possible."},"description":"Open an object database for read/write access.\n@param out location to store the database pointer, if opened.\n Set to NULL if the open failed.\n@param objects_dir path of the database's \"objects\" directory.\n@return GIT_SUCCESS if the database opened; otherwise an error\n code describing why the open was not possible.","comments":"","group":"odb"},"git_odb_close":{"type":"function","file":"odb.h","line":34,"lineto":34,"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"},"description":"Close an open object database.\n@param db database pointer to close. If NULL no action is taken.","comments":"","group":"odb"},"git_odb_read":{"type":"function","file":"odb.h","line":69,"lineto":69,"args":[{"name":"out","type":"git_rawobj *","comment":"object descriptor to populate upon reading."},{"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_rawobj *out, git_odb *db, const git_oid *id","sig":"git_rawobj *::git_odb *::const git_oid *","return":{"type":"int","comment":"- GIT_SUCCESS if the object was read; - GIT_ENOTFOUND if the object is not in the database."},"description":"Read an object from the database.","comments":"If GIT_ENOTFOUND then out->data is set to NULL.\n","group":"odb"},"git_odb_read_header":{"type":"function","file":"odb.h","line":88,"lineto":88,"args":[{"name":"out","type":"git_rawobj *","comment":"object descriptor to populate upon reading."},{"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_rawobj *out, git_odb *db, const git_oid *id","sig":"git_rawobj *::git_odb *::const git_oid *","return":{"type":"int","comment":"- GIT_SUCCESS if the object was read; - GIT_ENOTFOUND if the object is not in the database."},"description":"Read the header of an object from the database, without\nreading its full contents.","comments":"Only the 'type' and 'len' fields of the git_rawobj structure\nare filled. The 'data' pointer will always be NULL.\n\nThe raw object pointed by 'out' doesn't need to be manually\nclosed with git_obj_close().\n","group":"odb"},"git_odb__read_packed":{"type":"function","file":"odb.h","line":102,"lineto":102,"args":[{"name":"out","type":"git_rawobj *","comment":"object descriptor to populate upon reading."},{"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_rawobj *out, git_odb *db, const git_oid *id","sig":"git_rawobj *::git_odb *::const git_oid *","return":{"type":"int","comment":"- GIT_SUCCESS if the object was read. - GIT_ENOTFOUND if the object is not in the database."},"description":"Read an object from the database using only pack files.","comments":"If GIT_ENOTFOUND then out->data is set to NULL.\n","group":"odb"},"git_odb__read_loose":{"type":"function","file":"odb.h","line":116,"lineto":116,"args":[{"name":"out","type":"git_rawobj *","comment":"object descriptor to populate upon reading."},{"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_rawobj *out, git_odb *db, const git_oid *id","sig":"git_rawobj *::git_odb *::const git_oid *","return":{"type":"int","comment":"- GIT_SUCCESS if the object was read. - GIT_ENOTFOUND if the object is not in the database."},"description":"Read an object from the database using only loose object files.","comments":"If GIT_ENOTFOUND then out->data is set to NULL.\n","group":"odb"},"git_odb_write":{"type":"function","file":"odb.h","line":128,"lineto":128,"args":[{"name":"id","type":"git_oid *","comment":"identity of the object written."},{"name":"db","type":"git_odb *","comment":"database to which the object should be written."},{"name":"obj","type":"git_rawobj *","comment":"object descriptor for the object to write."}],"argline":"git_oid *id, git_odb *db, git_rawobj *obj","sig":"git_oid *::git_odb *::git_rawobj *","return":{"type":"int","comment":"- GIT_SUCCESS if the object was written; - GIT_ERROR otherwise."},"description":"Write an object to the database.","comments":"","group":"odb"},"git_obj_close":{"type":"function","file":"odb.h","line":139,"lineto":143,"args":[{"name":"obj","type":"git_rawobj *","comment":"object descriptor to free."}],"argline":"git_rawobj *obj","sig":"git_rawobj *","return":{"type":"void"},"description":"Release all memory used by the obj structure.","comments":"As a result of this call, obj->data will be set to NULL.\n\nIf obj->data is already NULL, nothing happens.\n","group":"obj"},"git_obj_type_to_string":{"type":"function","file":"odb.h","line":154,"lineto":154,"args":[{"name":"type","type":"git_otype","comment":"object type to convert."}],"argline":"git_otype type","sig":"git_otype","return":{"type":"const char *","comment":"the corresponding string representation."},"description":"Convert an object type to it's string representation.","comments":"The result is a pointer to a string in static memory and\nshould not be free()'ed.\n","group":"obj"},"git_obj_string_to_type":{"type":"function","file":"odb.h","line":162,"lineto":162,"args":[{"name":"str","type":"const char *","comment":"the string to convert."}],"argline":"const char *str","sig":"const char *","return":{"type":"git_otype","comment":"the corresponding git_otype."},"description":"Convert a string object type representation to it's git_otype.","comments":"","group":"obj"},"git_obj__loose_object_type":{"type":"function","file":"odb.h","line":171,"lineto":171,"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, false otherwise."},"description":"Determine if the given git_otype is a valid loose object type.","comments":"","group":"obj"},"git_obj_hash":{"type":"function","file":"odb.h","line":185,"lineto":185,"args":[{"name":"id","type":"git_oid *","comment":"the resulting object-ID."},{"name":"obj","type":"git_rawobj *","comment":"the object whose hash is to be determined."}],"argline":"git_oid *id, git_rawobj *obj","sig":"git_oid *::git_rawobj *","return":{"type":"int","comment":"- GIT_SUCCESS if the object-ID was correctly determined. - GIT_ERROR if the given object is malformed."},"description":"Determine the object-ID (sha1 hash) of the given git_rawobj.","comments":"The input obj must be a valid loose object type and the data\npointer must not be NULL, unless the len field is also zero.\n","group":"obj"},"git_odb_exists":{"type":"function","file":"odb.h","line":196,"lineto":196,"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":"- true, if the object was found - false, otherwise"},"description":"Determine if the given object can be found in the object database.","comments":"","group":"odb"},"git_index_open_bare":{"type":"function","file":"index.h","line":61,"lineto":61,"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 on success; error code otherwise"},"description":"Create a new Git index object as a memory representation\nof the Git index file in 'index_path', without a repository\nto back it.","comments":"Since there is no ODB behind this index, any Index methods\nwhich rely on the ODB (e.g. index_add) will fail with the\nGIT_EBAREINDEX error code.\n","group":"index"},"git_index_open_inrepo":{"type":"function","file":"index.h","line":71,"lineto":71,"args":[{"name":"index","type":"git_index **","comment":"_path the path to the index file in disk"},{"name":"repo","type":"git_repository *","comment":"the git repo which owns the index"}],"argline":"git_index **index, git_repository *repo","sig":"git_index **::git_repository *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Open the Index inside the git repository pointed\nby 'repo'.","comments":"","group":"index"},"git_index_clear":{"type":"function","file":"index.h","line":80,"lineto":80,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"void"},"description":"Clear the contents (all the entries) of an index object.\nThis clears the index object in memory; changes must be manually\nwritten to disk for them to take effect.","comments":"","group":"index"},"git_index_free":{"type":"function","file":"index.h","line":87,"lineto":87,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"void"},"description":"Free an existing index object.","comments":"","group":"index"},"git_index_read":{"type":"function","file":"index.h","line":96,"lineto":96,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"int","comment":"0 on success, otherwise an error code"},"description":"Update the contents of an existing index object in memory\nby reading from the hard disk.","comments":"","group":"index"},"git_index_write":{"type":"function","file":"index.h","line":105,"lineto":105,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"int","comment":"0 on success, otherwise an error code"},"description":"Write an existing index object from memory back to disk\nusing an atomic file lock.","comments":"","group":"index"},"git_index_find":{"type":"function","file":"index.h","line":115,"lineto":115,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"},{"name":"path","type":"const char *","comment":"path to search"}],"argline":"git_index *index, const char *path","sig":"git_index *::const char *","return":{"type":"int","comment":"an index >= 0 if found, -1 otherwise"},"description":"Find the first index of any entires which point to given\npath in the Git index.","comments":"","group":"index"},"git_index_add":{"type":"function","file":"index.h","line":125,"lineto":125,"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 on success, otherwise an error code"},"description":"Add or update an index entry from a file in disk.","comments":"","group":"index"},"git_index_remove":{"type":"function","file":"index.h","line":134,"lineto":134,"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 on success, otherwise an error code"},"description":"Remove an entry from the index","comments":"","group":"index"},"git_index_insert":{"type":"function","file":"index.h","line":147,"lineto":147,"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 on success, otherwise an error code"},"description":"Insert an entry into the index.\nA full copy (including the 'path' string) of the given\n'source_entry' will be inserted on the index; if the index\nalready contains an entry for the same path, the entry\nwill be updated.","comments":"","group":"index"},"git_index_get":{"type":"function","file":"index.h","line":159,"lineto":159,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"},{"name":"n","type":"int","comment":"the position of the entry"}],"argline":"git_index *index, int n","sig":"git_index *::int","return":{"type":"git_index_entry *","comment":"a pointer to the entry; NULL if out of bounds"},"description":"Get a pointer to one of the entries in the index","comments":"This entry can be modified, and the changes will be written\nback to disk on the next write() call.\n","group":"index"},"git_index_entrycount":{"type":"function","file":"index.h","line":167,"lineto":167,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"unsigned int","comment":"integer of count of current entries"},"description":"Get the count of entries currently in the index","comments":"","group":"index"},"git_strerror":{"type":"function","file":"errors.h","line":29,"lineto":29,"args":[{"name":"num","type":"int","comment":"The error code to explain"}],"argline":"int num","sig":"int","return":{"type":"const char *","comment":"a string explaining the error code"},"description":"strerror() for the Git library\n@param num The error code to explain\n@return a string explaining the error code","comments":"","group":"errors"},"git_commit_lookup":{"type":"function","file":"commit.h","line":32,"lineto":32,"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 an 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 on success; error code otherwise"},"description":"Lookup a commit object from a repository.\nThe generated commit object is owned by the revision\nrepo and shall not be freed by the user.","comments":"","group":"commit"},"git_commit_new":{"type":"function","file":"commit.h","line":45,"lineto":45,"args":[{"name":"commit","type":"git_commit **","comment":"pointer to the new commit"},{"name":"repo","type":"git_repository *","comment":"The repository where the object will reside"}],"argline":"git_commit ** commit, git_repository *repo","sig":"git_commit **::git_repository *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Create a new in-memory git_commit.","comments":"The commit object must be manually filled using\nsetter methods before it can be written to its\nrepository.\n","group":"commit"},"git_commit_id":{"type":"function","file":"commit.h","line":52,"lineto":52,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"const git_oid *","comment":"object identity for the commit."},"description":"Get the id of a commit.\n@param commit a previously loaded commit.\n@return object identity for the commit.","comments":"","group":"commit"},"git_commit_message_short":{"type":"function","file":"commit.h","line":59,"lineto":59,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"const char *","comment":"the short message of a commit"},"description":"Get the short (one line) message of a commit.\n@param commit a previously loaded commit.\n@return the short message of a commit","comments":"","group":"commit"},"git_commit_message":{"type":"function","file":"commit.h","line":66,"lineto":66,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"const char *","comment":"the message of a commit"},"description":"Get the full message of a commit.\n@param commit a previously loaded commit.\n@return the message of a commit","comments":"","group":"commit"},"git_commit_time":{"type":"function","file":"commit.h","line":73,"lineto":73,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"time_t","comment":"the time of a commit"},"description":"Get the commit time (i.e. committer time) of a commit.\n@param commit a previously loaded commit.\n@return the time of a commit","comments":"","group":"commit"},"git_commit_committer":{"type":"function","file":"commit.h","line":80,"lineto":80,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"const git_person *","comment":"the committer of a commit"},"description":"Get the committer of a commit.\n@param commit a previously loaded commit.\n@return the committer of a commit","comments":"","group":"commit"},"git_commit_author":{"type":"function","file":"commit.h","line":87,"lineto":87,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"const git_person *","comment":"the author of a commit"},"description":"Get the author of a commit.\n@param commit a previously loaded commit.\n@return the author of a commit","comments":"","group":"commit"},"git_commit_tree":{"type":"function","file":"commit.h","line":94,"lineto":94,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"const git_tree *","comment":"the tree of a commit"},"description":"Get the tree pointed to by a commit.\n@param commit a previously loaded commit.\n@return the tree of a commit","comments":"","group":"commit"},"git_commit_add_parent":{"type":"function","file":"commit.h","line":101,"lineto":101,"args":[{"name":"commit","type":"git_commit *","comment":"the commit object"},{"name":"new_parent","type":"git_commit *","comment":"the new commit which will be a parent"}],"argline":"git_commit *commit, git_commit *new_parent","sig":"git_commit *::git_commit *","return":{"type":"void"},"description":"Add a new parent commit to an existing commit\n@param commit the commit object\n@param new_parent the new commit which will be a parent","comments":"","group":"commit"},"git_commit_set_message":{"type":"function","file":"commit.h","line":108,"lineto":108,"args":[{"name":"commit","type":"git_commit *","comment":"the commit object"},{"name":"message","type":"const char *","comment":"the new message"}],"argline":"git_commit *commit, const char *message","sig":"git_commit *::const char *","return":{"type":"void"},"description":"Set the message of a commit\n@param commit the commit object\n@param message the new message","comments":"","group":"commit"},"git_commit_set_committer":{"type":"function","file":"commit.h","line":117,"lineto":117,"args":[{"name":"commit","type":"git_commit *","comment":"the commit object"},{"name":"name","type":"const char *","comment":"name of the new committer"},{"name":"email","type":"const char *","comment":"email of the new committer"},{"name":"time","type":"time_t","comment":"time when the committer committed the commit"}],"argline":"git_commit *commit, const char *name, const char *email, time_t time","sig":"git_commit *::const char *::const char *::time_t","return":{"type":"void"},"description":"Set the committer of a commit\n@param commit the commit object\n@param name name of the new committer\n@param email email of the new committer\n@param time time when the committer committed the commit","comments":"","group":"commit"},"git_commit_set_author":{"type":"function","file":"commit.h","line":126,"lineto":126,"args":[{"name":"commit","type":"git_commit *","comment":"the commit object"},{"name":"name","type":"const char *","comment":"name of the new author"},{"name":"email","type":"const char *","comment":"email of the new author"},{"name":"time","type":"time_t","comment":"time when the author created the commit"}],"argline":"git_commit *commit, const char *name, const char *email, time_t time","sig":"git_commit *::const char *::const char *::time_t","return":{"type":"void"},"description":"Set the author of a commit\n@param commit the commit object\n@param name name of the new author\n@param email email of the new author\n@param time time when the author created the commit","comments":"","group":"commit"},"git_commit_set_tree":{"type":"function","file":"commit.h","line":133,"lineto":133,"args":[{"name":"commit","type":"git_commit *","comment":"the commit object"},{"name":"tree","type":"git_tree *","comment":"the new tree"}],"argline":"git_commit *commit, git_tree *tree","sig":"git_commit *::git_tree *","return":{"type":"void"},"description":"Set the tree which is pointed to by a commit\n@param commit the commit object\n@param tree the new tree","comments":"","group":"commit"},"git_blob_lookup":{"type":"function","file":"blob.h","line":29,"lineto":29,"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 on success; error code otherwise"},"description":"Lookup a blob object from a repository.\nThe generated blob object is owned by the revision\nrepo and shall not be freed by the user.","comments":"","group":"blob"},"git_blob_new":{"type":"function","file":"blob.h","line":42,"lineto":42,"args":[{"name":"blob","type":"git_blob **","comment":"pointer to the new blob"},{"name":"repo","type":"git_repository *","comment":"The repository where the object will reside"}],"argline":"git_blob **blob, git_repository *repo","sig":"git_blob **::git_repository *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Create a new in-memory git_blob.","comments":"The blob object must be manually filled using\nthe 'set_rawcontent' methods before it can\nbe written back to disk.\n","group":"blob"},"git_blob_set_rawcontent_fromfile":{"type":"function","file":"blob.h","line":52,"lineto":52,"args":[{"name":"blob","type":"git_blob *","comment":"pointer to the new blob"},{"name":"filename","type":"const char *","comment":"name of the file to read"}],"argline":"git_blob *blob, const char *filename","sig":"git_blob *::const char *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Fill a blob with the contents inside\nthe pointed file.","comments":"","group":"blob"},"git_blob_set_rawcontent":{"type":"function","file":"blob.h","line":63,"lineto":63,"args":[{"name":"blob","type":"git_blob *","comment":"pointer to the blob"},{"name":"buffer","type":"const void *","comment":"buffer with the contents for the blob"},{"name":"len","type":"size_t","comment":"size of the buffer"}],"argline":"git_blob *blob, const void *buffer, size_t len","sig":"git_blob *::const void *::size_t","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Fill a blob with the contents inside\nthe pointed buffer","comments":"","group":"blob"},"git_blob_rawcontent":{"type":"function","file":"blob.h","line":76,"lineto":76,"args":[{"name":"blob","type":"git_blob *","comment":"pointer to the blob"}],"argline":"git_blob *blob","sig":"git_blob *","return":{"type":"const char *","comment":"the pointer; NULL if the blob has no contents"},"description":"Get a read-only buffer with the raw content of a blob.","comments":"A pointer to the raw content of a blob is returned;\nthis pointer is owned internally by the object and shall\nnot be free'd. The pointer may be invalidated at a later\ntime (e.g. when changing the contents of the blob).\n","group":"blob"},"git_blob_rawsize":{"type":"function","file":"blob.h","line":84,"lineto":84,"args":[{"name":"blob","type":"git_blob *","comment":"pointer to the blob"}],"argline":"git_blob *blob","sig":"git_blob *","return":{"type":"int","comment":"size on bytes"},"description":"Get the size in bytes of the contents of a blob","comments":"","group":"blob"},"git_blob_writefile":{"type":"function","file":"blob.h","line":95,"lineto":95,"args":[{"name":"written_id","type":"git_oid *","comment":"return the id of the written blob"},{"name":"repo","type":"git_repository *","comment":"repository where the blob will be written"},{"name":"path","type":"const char *","comment":"file from which the blob will be created"}],"argline":"git_oid *written_id, git_repository *repo, const char *path","sig":"git_oid *::git_repository *::const char *","return":{"type":"int"},"description":"Read a file from the working folder of a repository\nand write it to the Object Database as a loose blob,\nif such doesn't exist yet.","comments":"","group":"blob"}},"globals":{"GIT_SORT_NONE":{"value":"(0)","file":"revwalk.h","line":23,"comments":"Sort the repository contents in no particular ordering;\nthis sorting is arbitrary, implementation-specific\nand subject to change at any time.\nThis is the default sorting for new walkers."},"GIT_SORT_TOPOLOGICAL":{"value":"(1 << 0)","file":"revwalk.h","line":30,"comments":"Sort the repository contents in topological order\n(parents before children); this sorting mode\ncan be combined with time sorting."},"GIT_SORT_TIME":{"value":"(1 << 1)","file":"revwalk.h","line":37,"comments":"Sort the repository contents by commit time;\nthis sorting mode can be combined with\ntopological sorting."},"GIT_SORT_REVERSE":{"value":"(1 << 2)","file":"revwalk.h","line":44,"comments":"Iterate through the repository contents in reverse\norder; this sorting mode can be combined with\nany of the above."},"GIT_OID_RAWSZ":{"value":"20","file":"oid.h","line":17,"comments":"Size (in bytes) of a raw/binary oid"},"GIT_OID_HEXSZ":{"value":"(GIT_OID_RAWSZ * 2)","file":"oid.h","line":20,"comments":"Size (in bytes) of a hex formatted oid"},"GIT_BEGIN_DECL":{"value":"","file":"common.h","line":12,"comments":"Start declarations in C mode"},"GIT_END_DECL":{"value":"","file":"common.h","line":14,"comments":"End declarations in C mode"},"GIT_EXTERN(type)":{"value":"extern __attribute__((visibility(\"default\"))) type","file":"common.h","line":18,"comments":"Declare a public function exported for application use."},"GIT_EXTERN_TLS(type)":{"value":"extern __attribute__((visibility(\"default\"))) GIT_TLS type","file":"common.h","line":27,"comments":"Declare a public TLS symbol exported for application use."},"GIT_INLINE(type)":{"value":"static __inline type","file":"common.h","line":37,"comments":"Declare a function as always inlined."},"GIT_FORMAT_PRINTF(a,b)":{"value":"__attribute__((format (printf, a, b)))","file":"common.h","line":44,"comments":"Declare a function's takes printf style arguments."},"GIT_SUCCESS":{"value":"0","file":"common.h","line":59,"comments":"Operation completed successfully."},"GIT_ERROR":{"value":"-1","file":"common.h","line":67,"comments":"Operation failed, with unspecified reason.\nThis value also serves as the base error code; all other\nerror codes are subtracted from it such that all errors\nare < 0, in typical POSIX C tradition."},"GIT_ENOTOID":{"value":"(GIT_ERROR - 1)","file":"common.h","line":70,"comments":"Input was not a properly formatted Git object id."},"GIT_ENOTFOUND":{"value":"(GIT_ERROR - 2)","file":"common.h","line":73,"comments":"Input does not exist in the scope searched."},"GIT_ENOMEM":{"value":"(GIT_ERROR - 3)","file":"common.h","line":76,"comments":"Not enough space available."},"GIT_EOSERR":{"value":"(GIT_ERROR - 4)","file":"common.h","line":79,"comments":"Consult the OS error information."},"GIT_EOBJTYPE":{"value":"(GIT_ERROR - 5)","file":"common.h","line":82,"comments":"The specified object is of invalid type"},"GIT_EOBJCORRUPTED":{"value":"(GIT_ERROR - 6)","file":"common.h","line":85,"comments":"The specified object has its data corrupted"},"GIT_ENOTAREPO":{"value":"(GIT_ERROR - 7)","file":"common.h","line":88,"comments":"The specified repository is invalid"},"GIT_EINVALIDTYPE":{"value":"(GIT_ERROR - 8)","file":"common.h","line":91,"comments":"The object type is invalid or doesn't match"},"GIT_EMISSINGOBJDATA":{"value":"(GIT_ERROR - 9)","file":"common.h","line":94,"comments":"The object cannot be written that because it's missing internal data"},"GIT_EPACKCORRUPTED":{"value":"(GIT_ERROR - 10)","file":"common.h","line":97,"comments":"The packfile for the ODB is corrupted"},"GIT_EFLOCKFAIL":{"value":"(GIT_ERROR - 11)","file":"common.h","line":100,"comments":"Failed to adquire or release a file lock"},"GIT_EZLIB":{"value":"(GIT_ERROR - 12)","file":"common.h","line":103,"comments":"The Z library failed to inflate/deflate an object's data"},"GIT_EBUSY":{"value":"(GIT_ERROR - 13)","file":"common.h","line":106,"comments":"The queried object is currently busy"},"GIT_EBAREINDEX":{"value":"(GIT_ERROR -14)","file":"common.h","line":109,"comments":"The index file is not backed up by an existing repository"}},"types":[["git_blob",{"type":"struct","value":"git_blob","file":"blob.h","line":17,"lineto":17,"block":"","tdef":"typedef","comments":"In-memory representation of a blob object.","used":{"returns":[],"needs":["git_blob_lookup","git_blob_new","git_blob_rawcontent","git_blob_rawsize","git_blob_set_rawcontent","git_blob_set_rawcontent_fromfile"]}}],["git_commit",{"type":"struct","value":"git_commit","file":"commit.h","line":19,"lineto":19,"block":"","tdef":"typedef","comments":"Parsed representation of a commit object.","used":{"returns":["git_revwalk_next"],"needs":["git_commit_add_parent","git_commit_author","git_commit_committer","git_commit_id","git_commit_lookup","git_commit_message","git_commit_message_short","git_commit_new","git_commit_set_author","git_commit_set_committer","git_commit_set_message","git_commit_set_tree","git_commit_time","git_commit_tree","git_revwalk_hide","git_revwalk_push"]}}],["git_index",{"type":"struct","value":"git_index","file":"index.h","line":18,"lineto":18,"block":"","tdef":"typedef","comments":"Memory representation of an index file.","used":{"returns":["git_repository_index"],"needs":["git_index_add","git_index_clear","git_index_entrycount","git_index_find","git_index_free","git_index_get","git_index_insert","git_index_open_bare","git_index_open_inrepo","git_index_read","git_index_remove","git_index_write"]}}],["git_index_entry",{"type":"struct","value":"git_index_entry","file":"index.h","line":28,"lineto":45,"block":"git_index_time ctime\ngit_index_time mtime\nuint32_t dev\nuint32_t ino\nuint32_t mode\nuint32_t uid\nuint32_t gid\nuint32_t file_size\ngit_oid oid\nuint16_t flags\nuint16_t flags_extended\nchar *path","tdef":"typedef","comments":"Memory representation of a file entry in the index.","used":{"returns":["git_index_get"],"needs":["git_index_insert"]}}],["git_index_time",{"type":"struct","value":"git_index_time","file":"index.h","line":22,"lineto":25,"block":"uint32_t seconds\nuint32_t nanoseconds","tdef":"typedef","comments":"Time used in a git index entry","used":{"returns":[],"needs":[]}}],["git_object",{"type":"struct","value":"git_object","file":"common.h","line":121,"lineto":121,"block":"","tdef":"typedef","comments":"Representation of a generic object in a repository","used":{"returns":["git_tag_target"],"needs":["git_object_free","git_object_id","git_object_owner","git_object_type","git_object_write","git_repository_lookup","git_repository_newobject","git_tag_set_target","git_tree_entry_2object"]}}],["git_odb",{"type":"struct","value":"git_odb","file":"odb.h","line":18,"lineto":18,"block":"","tdef":"typedef","comments":"An open object database handle.","used":{"returns":["git_repository_database"],"needs":["git_odb__read_loose","git_odb__read_packed","git_odb_close","git_odb_exists","git_odb_open","git_odb_read","git_odb_read_header","git_odb_write"]}}],["git_oid",{"type":"struct","value":"git_oid","file":"oid.h","line":23,"lineto":26,"block":"unsigned char id[GIT_OID_RAWSZ]","tdef":"typedef","comments":"Unique identity of any object (commit, tree, blob, tag).","used":{"returns":["git_commit_id","git_object_id","git_tag_id","git_tree_entry_id","git_tree_id"],"needs":["git_blob_lookup","git_blob_writefile","git_commit_lookup","git_obj_hash","git_odb__read_loose","git_odb__read_packed","git_odb_exists","git_odb_read","git_odb_read_header","git_odb_write","git_oid_allocfmt","git_oid_cmp","git_oid_cpy","git_oid_fmt","git_oid_mkraw","git_oid_mkstr","git_oid_pathfmt","git_oid_to_string","git_repository_lookup","git_tag_lookup","git_tree_add_entry","git_tree_entry_set_id","git_tree_lookup"]}}],["git_otype",{"type":"enum","file":"odb.h","line":37,"lineto":48,"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","comments":"Basic type (loose or packed) of any Git object.","used":{"returns":[],"needs":["git_obj__loose_object_type","git_obj_type_to_string","git_repository_lookup","git_repository_newobject"]}}],["git_person",{"type":"struct","value":"git_person","file":"common.h","line":125,"lineto":129,"block":"","tdef":"typedef","comments":"Parsed representation of a person","used":{"returns":["git_commit_author","git_commit_committer","git_tag_tagger"],"needs":[]}}],["git_rawobj",{"type":"struct","value":"git_rawobj","file":"odb.h","line":51,"lineto":55,"block":"void *data\nsize_t len\ngit_otype type","tdef":"typedef","comments":"An object read from the database.","used":{"returns":[],"needs":["git_obj_close","git_obj_hash","git_odb__read_loose","git_odb__read_packed","git_odb_read","git_odb_read_header","git_odb_write"]}}],["git_repository",{"type":"struct","value":"git_repository","file":"common.h","line":118,"lineto":118,"block":"","tdef":"typedef","comments":"Representation of an existing git repository,\nincluding all its object contents","used":{"returns":["git_object_owner","git_revwalk_repository"],"needs":["git_blob_lookup","git_blob_new","git_blob_writefile","git_commit_lookup","git_commit_new","git_index_open_inrepo","git_repository_database","git_repository_free","git_repository_index","git_repository_lookup","git_repository_newobject","git_repository_open","git_revwalk_new","git_tag_lookup","git_tag_new","git_tree_lookup","git_tree_new"]}}],["git_tag",{"type":"struct","value":"git_tag","file":"tag.h","line":19,"lineto":19,"block":"","tdef":"typedef","comments":"Parsed representation of a tag object.","used":{"returns":[],"needs":["git_tag_id","git_tag_lookup","git_tag_message","git_tag_name","git_tag_new","git_tag_set_message","git_tag_set_name","git_tag_set_tagger","git_tag_set_target","git_tag_tagger","git_tag_target","git_tag_type"]}}],["git_tree",{"type":"struct","value":"git_tree","file":"tree.h","line":22,"lineto":22,"block":"","tdef":"typedef","comments":"Representation of a tree object.","used":{"returns":["git_commit_tree"],"needs":["git_commit_set_tree","git_tree_add_entry","git_tree_entry_byindex","git_tree_entry_byname","git_tree_entrycount","git_tree_id","git_tree_lookup","git_tree_new","git_tree_remove_entry_byindex","git_tree_remove_entry_byname"]}}],["git_tree_entry",{"type":"struct","value":"git_tree_entry","file":"tree.h","line":19,"lineto":19,"block":"","tdef":"typedef","comments":"Representation of each one of the entries in a tree object.","used":{"returns":["git_tree_entry_byindex","git_tree_entry_byname"],"needs":["git_tree_entry_2object","git_tree_entry_attributes","git_tree_entry_id","git_tree_entry_name","git_tree_entry_set_attributes","git_tree_entry_set_id","git_tree_entry_set_name"]}}]],"prefix":"src/git","groups":[["blob",["git_blob_lookup","git_blob_new","git_blob_rawcontent","git_blob_rawsize","git_blob_set_rawcontent","git_blob_set_rawcontent_fromfile","git_blob_writefile"]],["commit",["git_commit_add_parent","git_commit_author","git_commit_committer","git_commit_id","git_commit_lookup","git_commit_message","git_commit_message_short","git_commit_new","git_commit_set_author","git_commit_set_committer","git_commit_set_message","git_commit_set_tree","git_commit_time","git_commit_tree"]],["errors",["git_strerror"]],["index",["git_index_add","git_index_clear","git_index_entrycount","git_index_find","git_index_free","git_index_get","git_index_insert","git_index_open_bare","git_index_open_inrepo","git_index_read","git_index_remove","git_index_write"]],["obj",["git_obj__loose_object_type","git_obj_close","git_obj_hash","git_obj_string_to_type","git_obj_type_to_string"]],["object",["git_object_free","git_object_id","git_object_owner","git_object_type","git_object_write"]],["odb",["git_odb__read_loose","git_odb__read_packed","git_odb_close","git_odb_exists","git_odb_open","git_odb_read","git_odb_read_header","git_odb_write"]],["oid",["git_oid_allocfmt","git_oid_cmp","git_oid_cpy","git_oid_fmt","git_oid_mkraw","git_oid_mkstr","git_oid_pathfmt","git_oid_to_string"]],["repository",["git_repository_database","git_repository_free","git_repository_index","git_repository_lookup","git_repository_newobject","git_repository_open"]],["revwalk",["git_revwalk_free","git_revwalk_hide","git_revwalk_new","git_revwalk_next","git_revwalk_push","git_revwalk_repository","git_revwalk_reset","git_revwalk_sorting"]],["tag",["git_tag_id","git_tag_lookup","git_tag_message","git_tag_name","git_tag_new","git_tag_set_message","git_tag_set_name","git_tag_set_tagger","git_tag_set_target","git_tag_tagger","git_tag_target","git_tag_type"]],["tree",["git_tree_add_entry","git_tree_entry_2object","git_tree_entry_attributes","git_tree_entry_byindex","git_tree_entry_byname","git_tree_entry_id","git_tree_entry_name","git_tree_entry_set_attributes","git_tree_entry_set_id","git_tree_entry_set_name","git_tree_entrycount","git_tree_id","git_tree_lookup","git_tree_new","git_tree_remove_entry_byindex","git_tree_remove_entry_byname"]],["zlib",["deflateBound"]]]} \ No newline at end of file
diff --git a/v0.10.0.json b/v0.10.0.json
index eeea8f2fa..5e8f909fe 100644
--- a/v0.10.0.json
+++ b/v0.10.0.json
@@ -1 +1 @@
-{"files":[{"file":"common.h","functions":[],"meta":{"brief":"Git common platform definitions","defgroup":"git_common Git common platform definitions","ingroup":"Git","comments":"\n"},"lines":179},{"file":"signature.h","functions":["git_signature_new","git_signature_dup","git_signature_free"],"meta":{"brief":"Git signature creation","defgroup":"git_signature Git signature creation","ingroup":"Git","comments":"\n"},"lines":70},{"file":"blob.h","functions":["git_blob_lookup","git_blob_new","git_blob_set_rawcontent_fromfile","git_blob_set_rawcontent","git_blob_rawcontent","git_blob_rawsize","git_blob_writefile"],"meta":{"brief":"Git blob load and write routines","defgroup":"git_blob Git blob load and write routines","ingroup":"Git","comments":"\n"},"lines":128},{"file":"index.h","functions":["git_index_open_bare","git_index_open_inrepo","git_index_clear","git_index_free","git_index_read","git_index_write","git_index_find","git_index_add","git_index_remove","git_index_insert","git_index_get","git_index_entrycount"],"meta":{"brief":"Git index parsing and manipulation routines","defgroup":"git_index Git index parsing and manipulation routines","ingroup":"Git","comments":"\n"},"lines":199},{"file":"repository.h","functions":["git_repository_open","git_repository_open2","git_repository_open3","git_repository_database","git_repository_index","git_repository_free","git_repository_close","git_repository_init"],"meta":{"brief":"Git repository management routines","defgroup":"git_repository Git repository management routines","ingroup":"Git","comments":"\n"},"lines":191},{"file":"tag.h","functions":["git_tag_lookup","git_tag_new","git_tag_id","git_tag_target","git_tag_target_oid","git_tag_type","git_tag_name","git_tag_tagger","git_tag_message","git_tag_set_target","git_tag_set_name","git_tag_set_tagger","git_tag_set_message"],"meta":{"brief":"Git tag parsing routines","defgroup":"git_tag Git tag management","ingroup":"Git","comments":"\n"},"lines":154},{"file":"odb_backend.h","functions":[],"meta":{"brief":"Git custom backend functions","defgroup":"git_backend Git custom backend API","ingroup":"Git","comments":"\n"},"lines":77},{"file":"commit.h","functions":["git_commit_lookup","git_commit_new","git_commit_id","git_commit_message_short","git_commit_message","git_commit_time","git_commit_time_offset","git_commit_committer","git_commit_author","git_commit_tree","git_commit_parentcount","git_commit_parent","git_commit_add_parent","git_commit_set_message","git_commit_set_committer","git_commit_set_author","git_commit_set_tree"],"meta":{"brief":"Git commit parsing, formatting routines","defgroup":"git_commit Git commit parsing, formatting routines","ingroup":"Git","comments":"\n"},"lines":188},{"file":"types.h","functions":[],"meta":{"brief":"libgit2 base & compatibility types","ingroup":"Git","comments":"\n"},"lines":154},{"file":"zlib.h","functions":["deflateBound"],"meta":{"brief":"Git data compression routines","defgroup":"git_zlib Git data compression routines","ingroup":"Git","comments":"\n"},"lines":58},{"file":"tree.h","functions":["git_tree_lookup","git_tree_new","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_2object","git_tree_add_entry","git_tree_remove_entry_byindex","git_tree_remove_entry_byname","git_tree_clear_entries","git_tree_entry_set_id","git_tree_entry_set_name","git_tree_entry_set_attributes"],"meta":{"brief":"Git tree parsing, loading routines","defgroup":"git_tree Git tree parsing, loading routines","ingroup":"Git","comments":"\n"},"lines":223},{"file":"odb.h","functions":["git_odb_new","git_odb_open","git_odb_add_backend","git_odb_add_alternate","git_odb_close","git_odb_read","git_odb_read_header","git_odb_write","git_odb_exists","git_rawobj_hash","git_rawobj_close"],"meta":{"brief":"Git object database routines","defgroup":"git_odb Git object database routines","ingroup":"Git","comments":"\n"},"lines":201},{"file":"thread-utils.h","functions":[],"meta":{},"lines":80},{"file":"oid.h","functions":["git_oid_mkstr","git_oid_mkraw","git_oid_fmt","git_oid_pathfmt","git_oid_allocfmt","git_oid_to_string","git_oid_cpy","git_oid_cmp","git_oid_shorten_new","git_oid_shorten_add","git_oid_shorten_free"],"meta":{"brief":"Git object id routines","defgroup":"git_oid Git object id routines","ingroup":"Git","comments":"\n"},"lines":191},{"file":"errors.h","functions":["git_strerror"],"meta":{"brief":"Git error handling routines and variables","ingroup":"Git","comments":"\n"},"lines":45},{"file":"revwalk.h","functions":["git_revwalk_new","git_revwalk_reset","git_revwalk_push","git_revwalk_hide","git_revwalk_next","git_revwalk_sorting","git_revwalk_free","git_revwalk_repository"],"meta":{"brief":"Git revision traversal routines","defgroup":"git_revwalk Git revision traversal routines","ingroup":"Git","comments":"\n"},"lines":138},{"file":"object.h","functions":["git_object_lookup","git_object_new","git_object_write","git_object_id","git_object_type","git_object_owner","git_object_close","git_object_type2string","git_object_string2type","git_object_typeisloose","git_object__size"],"meta":{"brief":"Git revision object management routines","defgroup":"git_object Git revision object management routines","ingroup":"Git","comments":"\n"},"lines":198},{"file":"refs.h","functions":["git_reference_lookup","git_reference_create_symbolic","git_reference_create_oid","git_reference_oid","git_reference_target","git_reference_type","git_reference_name","git_reference_resolve","git_reference_owner","git_reference_set_target","git_reference_set_oid","git_reference_rename","git_reference_delete","git_reference_packall","git_reference_listall"],"meta":{"brief":"Git reference management routines","defgroup":"git_reference Git reference management routines","ingroup":"Git","comments":"\n"},"lines":246}],"functions":{"git_signature_new":{"type":"function","file":"signature.h","line":50,"lineto":50,"args":[{"name":"name","type":"const char *"},{"name":"email","type":"const char *"},{"name":"time","type":"time_t"},{"name":"offset","type":"int"}],"argline":"const char *name, const char *email, time_t time, int offset","sig":"const char *::const char *::time_t::int","return":{"type":"git_signature *","comment":"the new sig, NULl on out of memory"},"description":"Create a new action signature. The signature must be freed\nmanually or using git_signature_free","comments":"@name name of the person\n@email email of the person\n@time time when the action happened\n@offset timezone offset in minutes for the time","group":"signature"},"git_signature_dup":{"type":"function","file":"signature.h","line":59,"lineto":59,"args":[{"name":"sig","type":"const git_signature *"}],"argline":"const git_signature *sig","sig":"const git_signature *","return":{"type":"git_signature *","comment":"a copy of sig, NULL on out of memory"},"description":"Create a copy of an existing signature.","comments":"All internal strings are also duplicated.\n@sig signature to duplicated","group":"signature"},"git_signature_free":{"type":"function","file":"signature.h","line":66,"lineto":66,"args":[{"name":"sig","type":"git_signature *"}],"argline":"git_signature *sig","sig":"git_signature *","return":{"type":"void"},"description":"Free an existing signature","comments":"@sig signature to free","group":"signature"},"git_blob_lookup":{"type":"function","file":"blob.h","line":52,"lineto":55,"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 on success; error code otherwise"},"description":"Lookup a blob object from a repository.\nThe generated blob object is owned by the revision\nrepo and shall not be freed by the user.","comments":"","group":"blob"},"git_blob_new":{"type":"function","file":"blob.h","line":68,"lineto":71,"args":[{"name":"blob","type":"git_blob **","comment":"pointer to the new blob"},{"name":"repo","type":"git_repository *","comment":"The repository where the object will reside"}],"argline":"git_blob **blob, git_repository *repo","sig":"git_blob **::git_repository *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Create a new in-memory git_blob.","comments":"The blob object must be manually filled using\nthe 'set_rawcontent' methods before it can\nbe written back to disk.\n","group":"blob"},"git_blob_set_rawcontent_fromfile":{"type":"function","file":"blob.h","line":81,"lineto":81,"args":[{"name":"blob","type":"git_blob *","comment":"pointer to the new blob"},{"name":"filename","type":"const char *","comment":"name of the file to read"}],"argline":"git_blob *blob, const char *filename","sig":"git_blob *::const char *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Fill a blob with the contents inside\nthe pointed file.","comments":"","group":"blob"},"git_blob_set_rawcontent":{"type":"function","file":"blob.h","line":92,"lineto":92,"args":[{"name":"blob","type":"git_blob *","comment":"pointer to the blob"},{"name":"buffer","type":"const void *","comment":"buffer with the contents for the blob"},{"name":"len","type":"size_t","comment":"size of the buffer"}],"argline":"git_blob *blob, const void *buffer, size_t len","sig":"git_blob *::const void *::size_t","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Fill a blob with the contents inside\nthe pointed buffer","comments":"","group":"blob"},"git_blob_rawcontent":{"type":"function","file":"blob.h","line":105,"lineto":105,"args":[{"name":"blob","type":"git_blob *","comment":"pointer to the blob"}],"argline":"git_blob *blob","sig":"git_blob *","return":{"type":"const void *","comment":"the pointer; NULL if the blob has no contents"},"description":"Get a read-only buffer with the raw content of a blob.","comments":"A pointer to the raw content of a blob is returned;\nthis pointer is owned internally by the object and shall\nnot be free'd. The pointer may be invalidated at a later\ntime (e.g. when changing the contents of the blob).\n","group":"blob"},"git_blob_rawsize":{"type":"function","file":"blob.h","line":113,"lineto":113,"args":[{"name":"blob","type":"git_blob *","comment":"pointer to the blob"}],"argline":"git_blob *blob","sig":"git_blob *","return":{"type":"int","comment":"size on bytes"},"description":"Get the size in bytes of the contents of a blob","comments":"","group":"blob"},"git_blob_writefile":{"type":"function","file":"blob.h","line":124,"lineto":124,"args":[{"name":"written_id","type":"git_oid *","comment":"return the id of the written blob"},{"name":"repo","type":"git_repository *","comment":"repository where the blob will be written"},{"name":"path","type":"const char *","comment":"file from which the blob will be created"}],"argline":"git_oid *written_id, git_repository *repo, const char *path","sig":"git_oid *::git_repository *::const char *","return":{"type":"int"},"description":"Read a file from the working folder of a repository\nand write it to the Object Database as a loose blob,\nif such doesn't exist yet.","comments":"","group":"blob"},"git_index_open_bare":{"type":"function","file":"index.h","line":88,"lineto":88,"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 on success; error code otherwise"},"description":"Create a new Git index object as a memory representation\nof the Git index file in 'index_path', without a repository\nto back it.","comments":"Since there is no ODB behind this index, any Index methods\nwhich rely on the ODB (e.g. index_add) will fail with the\nGIT_EBAREINDEX error code.\n","group":"index"},"git_index_open_inrepo":{"type":"function","file":"index.h","line":98,"lineto":98,"args":[{"name":"index","type":"git_index **","comment":"_path the path to the index file in disk"},{"name":"repo","type":"git_repository *","comment":"the git repo which owns the index"}],"argline":"git_index **index, git_repository *repo","sig":"git_index **::git_repository *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Open the Index inside the git repository pointed\nby 'repo'.","comments":"","group":"index"},"git_index_clear":{"type":"function","file":"index.h","line":107,"lineto":107,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"void"},"description":"Clear the contents (all the entries) of an index object.\nThis clears the index object in memory; changes must be manually\nwritten to disk for them to take effect.","comments":"","group":"index"},"git_index_free":{"type":"function","file":"index.h","line":114,"lineto":114,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"void"},"description":"Free an existing index object.","comments":"","group":"index"},"git_index_read":{"type":"function","file":"index.h","line":123,"lineto":123,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"int","comment":"0 on success, otherwise an error code"},"description":"Update the contents of an existing index object in memory\nby reading from the hard disk.","comments":"","group":"index"},"git_index_write":{"type":"function","file":"index.h","line":132,"lineto":132,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"int","comment":"0 on success, otherwise an error code"},"description":"Write an existing index object from memory back to disk\nusing an atomic file lock.","comments":"","group":"index"},"git_index_find":{"type":"function","file":"index.h","line":142,"lineto":142,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"},{"name":"path","type":"const char *","comment":"path to search"}],"argline":"git_index *index, const char *path","sig":"git_index *::const char *","return":{"type":"int","comment":"an index >= 0 if found, -1 otherwise"},"description":"Find the first index of any entires which point to given\npath in the Git index.","comments":"","group":"index"},"git_index_add":{"type":"function","file":"index.h","line":152,"lineto":152,"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 on success, otherwise an error code"},"description":"Add or update an index entry from a file in disk.","comments":"","group":"index"},"git_index_remove":{"type":"function","file":"index.h","line":161,"lineto":161,"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 on success, otherwise an error code"},"description":"Remove an entry from the index","comments":"","group":"index"},"git_index_insert":{"type":"function","file":"index.h","line":174,"lineto":174,"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 on success, otherwise an error code"},"description":"Insert an entry into the index.\nA full copy (including the 'path' string) of the given\n'source_entry' will be inserted on the index; if the index\nalready contains an entry for the same path, the entry\nwill be updated.","comments":"","group":"index"},"git_index_get":{"type":"function","file":"index.h","line":186,"lineto":186,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"},{"name":"n","type":"int","comment":"the position of the entry"}],"argline":"git_index *index, int n","sig":"git_index *::int","return":{"type":"git_index_entry *","comment":"a pointer to the entry; NULL if out of bounds"},"description":"Get a pointer to one of the entries in the index","comments":"This entry can be modified, and the changes will be written\nback to disk on the next write() call.\n","group":"index"},"git_index_entrycount":{"type":"function","file":"index.h","line":194,"lineto":194,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"unsigned int","comment":"integer of count of current entries"},"description":"Get the count of entries currently in the index","comments":"","group":"index"},"git_repository_open":{"type":"function","file":"repository.h","line":64,"lineto":64,"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 on success; error code otherwise"},"description":"Open a git repository.","comments":"The 'path' argument must point to an existing git repository\nfolder, e.g.\n\n\t/path/to/my_repo/.git/\t(normal repository)\n\t\t\t\t\t\tobjects/\n\t\t\t\t\t\tindex\n\t\t\t\t\t\tHEAD\n\n\t/path/to/bare_repo/\t\t(bare repository)\n\t\t\t\t\tobjects/\n\t\t\t\t\tindex\n\t\t\t\t\tHEAD\n\nThe method will automatically detect if 'path' is a normal\nor bare repository or fail is 'path' is neither.\n","group":"repository"},"git_repository_open2":{"type":"function","file":"repository.h","line":93,"lineto":97,"args":[{"name":"repository","type":"git_repository **","comment":"pointer to the repo which will be opened"},{"name":"git_dir","type":"const char *","comment":"The full path to the repository folder e.g. a '.git' folder for live repos, any folder for bare Equivalent to $GIT_DIR. Cannot be NULL."},{"name":"git_object_directory","type":"const char *","comment":"The full path to the ODB folder. the folder where all the loose and packed objects are stored Equivalent to $GIT_OBJECT_DIRECTORY. If NULL, \"$GIT_DIR/objects/\" is assumed."},{"name":"git_index_file","type":"const char *","comment":"The full path to the index (dircache) file Equivalent to $GIT_INDEX_FILE. If NULL, \"$GIT_DIR/index\" is assumed."},{"name":"git_work_tree","type":"const char *","comment":"The full path to the working tree of the repository, if the repository is not bare. Equivalent to $GIT_WORK_TREE. If NULL, the repository is assumed to be bare."}],"argline":"git_repository **repository,\n\t\tconst char *git_dir,\n\t\tconst char *git_object_directory,\n\t\tconst char *git_index_file,\n\t\tconst char *git_work_tree","sig":"git_repository **::const char *::const char *::const char *::const char *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Open a git repository by manually specifying all its paths","comments":"","group":"repository"},"git_repository_open3":{"type":"function","file":"repository.h","line":128,"lineto":132,"args":[{"name":"repository","type":"git_repository **","comment":"pointer to the repo which will be opened"},{"name":"git_dir","type":"const char *","comment":"The full path to the repository folder e.g. a '.git' folder for live repos, any folder for bare Equivalent to $GIT_DIR. Cannot be NULL."},{"name":"object_database","type":"git_odb *","comment":"A pointer to a git_odb created & initialized by the user (e.g. with custom backends). This object database will be owned by the repository and will be automatically free'd. It should not be manually free'd by the user, or this git_repository object will become invalid."},{"name":"git_index_file","type":"const char *","comment":"The full path to the index (dircache) file Equivalent to $GIT_INDEX_FILE. If NULL, \"$GIT_DIR/index\" is assumed."},{"name":"git_work_tree","type":"const char *","comment":"The full path to the working tree of the repository, if the repository is not bare. Equivalent to $GIT_WORK_TREE. If NULL, the repository is assumed to be bare."}],"argline":"git_repository **repository,\n\t\tconst char *git_dir,\n\t\tgit_odb *object_database,\n\t\tconst char *git_index_file,\n\t\tconst char *git_work_tree","sig":"git_repository **::const char *::git_odb *::const char *::const char *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Open a git repository by manually specifying its paths and\nthe object database it will use.","comments":"","group":"repository"},"git_repository_database":{"type":"function","file":"repository.h","line":141,"lineto":141,"args":[{"name":"repo","type":"git_repository *","comment":"a repository object"}],"argline":"git_repository *repo","sig":"git_repository *","return":{"type":"git_odb *","comment":"a pointer to the object db"},"description":"Get the object database behind a Git repository","comments":"","group":"repository"},"git_repository_index":{"type":"function","file":"repository.h","line":153,"lineto":153,"args":[{"name":"index","type":"git_index **","comment":"Pointer where to store the index"},{"name":"repo","type":"git_repository *","comment":"a repository object"}],"argline":"git_index **index, git_repository *repo","sig":"git_index **::git_repository *","return":{"type":"int","comment":"0 on success; error code if the index could not be opened"},"description":"Get the Index file of a Git repository","comments":"This is a cheap operation; the index is only opened on the first call,\nand subsequent calls only retrieve the previous pointer.\n","group":"repository"},"git_repository_free":{"type":"function","file":"repository.h","line":160,"lineto":160,"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"},"description":"Free a previously allocated repository","comments":"","group":"repository"},"git_repository_close":{"type":"function","file":"repository.h","line":170,"lineto":170,"args":[{"name":"repo","type":"git_repository *","comment":"repository handle to collect. If NULL nothing occurs."}],"argline":"git_repository *repo","sig":"git_repository *","return":{"type":"void"},"description":"Force a garbage collector pass on the repository","comments":"This will force-free any cached objects that have been\npreviously marked by the user as closed (`git_object_close`).\n","group":"repository"},"git_repository_init":{"type":"function","file":"repository.h","line":187,"lineto":187,"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","comment":"if true, a Git repository without a working directory is created at the pointed path. If false, provided path will be considered as the working directory into which the .git directory will be created."}],"argline":"git_repository **repo_out, const char *path, unsigned is_bare","sig":"git_repository **::const char *::unsigned","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Creates a new Git repository in the given folder.","comments":"TODO:\n- Reinit the repository\n- Create config files\n","group":"repository"},"git_tag_lookup":{"type":"function","file":"tag.h","line":52,"lineto":55,"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 on success; error code otherwise"},"description":"Lookup a tag object from the repository.\nThe generated tag object is owned by the revision\nrepo and shall not be freed by the user.","comments":"","group":"tag"},"git_tag_new":{"type":"function","file":"tag.h","line":68,"lineto":71,"args":[{"name":"tag","type":"git_tag **","comment":"pointer to the new tag"},{"name":"repo","type":"git_repository *","comment":"The repository where the object will reside"}],"argline":"git_tag **tag, git_repository *repo","sig":"git_tag **::git_repository *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Create a new in-memory git_tag.","comments":"The tag object must be manually filled using\nsetter methods before it can be written to its\nrepository.\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":"Get the id of a tag.\n@param tag a previously loaded tag.\n@return object identity for the tag.","comments":"","group":"tag"},"git_tag_target":{"type":"function","file":"tag.h","line":86,"lineto":86,"args":[{"name":"target","type":"git_object **","comment":"pointer where to store the target"},{"name":"t","type":"git_tag *","comment":"arget pointer where to store the target"}],"argline":"git_object **target, git_tag *t","sig":"git_object **::git_tag *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Get the tagged object of a tag\n@param target pointer where to store the target\n@param tag a previously loaded tag.\n@return 0 on success; error code otherwise","comments":"","group":"tag"},"git_tag_target_oid":{"type":"function","file":"tag.h","line":93,"lineto":93,"args":[{"name":"t","type":"git_tag *","comment":"ag a previously loaded tag."}],"argline":"git_tag *t","sig":"git_tag *","return":{"type":"const git_oid *","comment":"pointer to the OID"},"description":"Get the OID of the tagged object of a tag\n@param tag a previously loaded tag.\n@return pointer to the OID","comments":"","group":"tag"},"git_tag_type":{"type":"function","file":"tag.h","line":100,"lineto":100,"args":[{"name":"t","type":"git_tag *","comment":"ag a previously loaded tag."}],"argline":"git_tag *t","sig":"git_tag *","return":{"type":"git_otype","comment":"type of the tagged object"},"description":"Get the type of a tag's tagged object\n@param tag a previously loaded tag.\n@return type of the tagged object","comments":"","group":"tag"},"git_tag_name":{"type":"function","file":"tag.h","line":107,"lineto":107,"args":[{"name":"t","type":"git_tag *","comment":"ag a previously loaded tag."}],"argline":"git_tag *t","sig":"git_tag *","return":{"type":"const char *","comment":"name of the tag"},"description":"Get the name of a tag\n@param tag a previously loaded tag.\n@return name of the tag","comments":"","group":"tag"},"git_tag_tagger":{"type":"function","file":"tag.h","line":114,"lineto":114,"args":[{"name":"t","type":"git_tag *","comment":"ag a previously loaded tag."}],"argline":"git_tag *t","sig":"git_tag *","return":{"type":"const git_signature *","comment":"reference to the tag's author"},"description":"Get the tagger (author) of a tag\n@param tag a previously loaded tag.\n@return reference to the tag's author","comments":"","group":"tag"},"git_tag_message":{"type":"function","file":"tag.h","line":121,"lineto":121,"args":[{"name":"t","type":"git_tag *","comment":"ag a previously loaded tag."}],"argline":"git_tag *t","sig":"git_tag *","return":{"type":"const char *","comment":"message of the tag"},"description":"Get the message of a tag\n@param tag a previously loaded tag.\n@return message of the tag","comments":"","group":"tag"},"git_tag_set_target":{"type":"function","file":"tag.h","line":128,"lineto":128,"args":[{"name":"tag","type":"git_tag *","comment":"The tag to modify"},{"name":"target","type":"git_object *","comment":"the new tagged target"}],"argline":"git_tag *tag, git_object *target","sig":"git_tag *::git_object *","return":{"type":"int"},"description":"Set the target of a tag (i.e. the object that the tag points to)\n@param tag The tag to modify\n@param target the new tagged target","comments":"","group":"tag"},"git_tag_set_name":{"type":"function","file":"tag.h","line":135,"lineto":135,"args":[{"name":"tag","type":"git_tag *","comment":"The tag to modify"},{"name":"name","type":"const char *","comment":"the new name for the tag"}],"argline":"git_tag *tag, const char *name","sig":"git_tag *::const char *","return":{"type":"void"},"description":"Set the name of a tag\n@param tag The tag to modify\n@param name the new name for the tag","comments":"","group":"tag"},"git_tag_set_tagger":{"type":"function","file":"tag.h","line":143,"lineto":143,"args":[{"name":"tag","type":"git_tag *","comment":"The tag to modify"},{"name":"tagger_sig","type":"const git_signature *","comment":"signature of the tagging action"}],"argline":"git_tag *tag, const git_signature *tagger_sig","sig":"git_tag *::const git_signature *","return":{"type":"void","comment":"0 on success; error code otherwise"},"description":"Set the tagger of a tag\n@param tag The tag to modify\n@param tagger_sig signature of the tagging action\n@return 0 on success; error code otherwise","comments":"","group":"tag"},"git_tag_set_message":{"type":"function","file":"tag.h","line":150,"lineto":150,"args":[{"name":"tag","type":"git_tag *","comment":"The tag to modify"},{"name":"message","type":"const char *","comment":"the new tagger for the tag"}],"argline":"git_tag *tag, const char *message","sig":"git_tag *::const char *","return":{"type":"void"},"description":"Set the message of a tag\n@param tag The tag to modify\n@param message the new tagger for the tag","comments":"","group":"tag"},"git_commit_lookup":{"type":"function","file":"commit.h","line":53,"lineto":56,"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 an 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 on success; error code otherwise"},"description":"Lookup a commit object from a repository.\nThe generated commit object is owned by the revision\nrepo and shall not be freed by the user.","comments":"","group":"commit"},"git_commit_new":{"type":"function","file":"commit.h","line":69,"lineto":72,"args":[{"name":"commit","type":"git_commit **","comment":"pointer to the new commit"},{"name":"repo","type":"git_repository *","comment":"The repository where the object will reside"}],"argline":"git_commit **commit, git_repository *repo","sig":"git_commit **::git_repository *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Create a new in-memory git_commit.","comments":"The commit object must be manually filled using\nsetter methods before it can be written to its\nrepository.\n","group":"commit"},"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":"Get the id of a commit.\n@param commit a previously loaded commit.\n@return object identity for the commit.","comments":"","group":"commit"},"git_commit_message_short":{"type":"function","file":"commit.h","line":86,"lineto":86,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"const char *","comment":"the short message of a commit"},"description":"Get the short (one line) message of a commit.\n@param commit a previously loaded commit.\n@return the short message of a commit","comments":"","group":"commit"},"git_commit_message":{"type":"function","file":"commit.h","line":93,"lineto":93,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"const char *","comment":"the message of a commit"},"description":"Get the full message of a commit.\n@param commit a previously loaded commit.\n@return the message of a commit","comments":"","group":"commit"},"git_commit_time":{"type":"function","file":"commit.h","line":100,"lineto":100,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"time_t","comment":"the time of a commit"},"description":"Get the commit time (i.e. committer time) of a commit.\n@param commit a previously loaded commit.\n@return the time of a commit","comments":"","group":"commit"},"git_commit_time_offset":{"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":"int","comment":"positive or negative timezone offset, in minutes from UTC"},"description":"Get the commit timezone offset (i.e. committer's preferred timezone) of a commit.\n@param commit a previously loaded commit.\n@return positive or negative timezone offset, in minutes from UTC","comments":"","group":"commit"},"git_commit_committer":{"type":"function","file":"commit.h","line":114,"lineto":114,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"const git_signature *","comment":"the committer of a commit"},"description":"Get the committer of a commit.\n@param commit a previously loaded commit.\n@return the committer of a commit","comments":"","group":"commit"},"git_commit_author":{"type":"function","file":"commit.h","line":121,"lineto":121,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"const git_signature *","comment":"the author of a commit"},"description":"Get the author of a commit.\n@param commit a previously loaded commit.\n@return the author of a commit","comments":"","group":"commit"},"git_commit_tree":{"type":"function","file":"commit.h","line":129,"lineto":129,"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 on success; error code otherwise"},"description":"Get the tree pointed to by a commit.\n@param tree_out pointer where to store the tree object\n@param commit a previously loaded commit.\n@return 0 on success; error code otherwise","comments":"","group":"commit"},"git_commit_parentcount":{"type":"function","file":"commit.h","line":137,"lineto":137,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"unsigned int","comment":"integer of count of parents"},"description":"Get the number of parents of this commit","comments":"","group":"commit"},"git_commit_parent":{"type":"function","file":"commit.h","line":147,"lineto":147,"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 on success; error code otherwise"},"description":"Get the specified parent of the commit.","comments":"","group":"commit"},"git_commit_add_parent":{"type":"function","file":"commit.h","line":155,"lineto":155,"args":[{"name":"commit","type":"git_commit *","comment":"the commit object"},{"name":"new_parent","type":"git_commit *","comment":"the new commit which will be a parent"}],"argline":"git_commit *commit, git_commit *new_parent","sig":"git_commit *::git_commit *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Add a new parent commit to an existing commit\n@param commit the commit object\n@param new_parent the new commit which will be a parent\n@return 0 on success; error code otherwise","comments":"","group":"commit"},"git_commit_set_message":{"type":"function","file":"commit.h","line":162,"lineto":162,"args":[{"name":"commit","type":"git_commit *","comment":"the commit object"},{"name":"message","type":"const char *","comment":"the new message"}],"argline":"git_commit *commit, const char *message","sig":"git_commit *::const char *","return":{"type":"void"},"description":"Set the message of a commit\n@param commit the commit object\n@param message the new message","comments":"","group":"commit"},"git_commit_set_committer":{"type":"function","file":"commit.h","line":169,"lineto":169,"args":[{"name":"commit","type":"git_commit *","comment":"the commit object"},{"name":"committer_sig","type":"const git_signature *"}],"argline":"git_commit *commit, const git_signature *committer_sig","sig":"git_commit *::const git_signature *","return":{"type":"void"},"description":"Set the committer of a commit\n@param commit the commit object\n@param author_sig signature of the committer","comments":"","group":"commit"},"git_commit_set_author":{"type":"function","file":"commit.h","line":176,"lineto":176,"args":[{"name":"commit","type":"git_commit *","comment":"the commit object"},{"name":"author_sig","type":"const git_signature *","comment":"signature of the author"}],"argline":"git_commit *commit, const git_signature *author_sig","sig":"git_commit *::const git_signature *","return":{"type":"void"},"description":"Set the author of a commit\n@param commit the commit object\n@param author_sig signature of the author","comments":"","group":"commit"},"git_commit_set_tree":{"type":"function","file":"commit.h","line":184,"lineto":184,"args":[{"name":"commit","type":"git_commit *","comment":"the commit object"},{"name":"tree","type":"git_tree *","comment":"the new tree"}],"argline":"git_commit *commit, git_tree *tree","sig":"git_commit *::git_tree *","return":{"type":"int"},"description":"Set the tree which is pointed to by a commit\n@param commit the commit object\n@param tree the new tree\n@param 0 on success; error code otherwise","comments":"","group":"commit"},"deflateBound":{"type":"function","file":"zlib.h","line":50,"lineto":54,"args":[{"name":"stream","type":"z_streamp","comment":"the stream pointer."},{"name":"s","type":"size_t","comment":"tream the stream pointer."}],"argline":"z_streamp stream, size_t s","sig":"z_streamp::size_t","return":{"type":"size_t","comment":"maximum length of the compressed data."},"description":"deflateBound returns an upper bound on the compressed size.","comments":"This is a stub function used when zlib does not supply the\ndeflateBound() implementation itself.\n","group":"zlib"},"git_tree_lookup":{"type":"function","file":"tree.h","line":52,"lineto":55,"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 on success; error code otherwise"},"description":"Lookup a tree object from the repository.\nThe generated tree object is owned by the revision\nrepo and shall not be freed by the user.","comments":"","group":"tree"},"git_tree_new":{"type":"function","file":"tree.h","line":68,"lineto":71,"args":[{"name":"tree","type":"git_tree **","comment":"pointer to the new tree"},{"name":"repo","type":"git_repository *","comment":"The repository where the object will reside"}],"argline":"git_tree **tree, git_repository *repo","sig":"git_tree **::git_repository *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Create a new in-memory git_tree.","comments":"The tree object must be manually filled using\nsetter methods before it can be written to its\nrepository.\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":"Get the id of a tree.\n@param tree a previously loaded tree.\n@return object identity for the tree.","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":"size_t","comment":"the number of entries in the tree"},"description":"Get the number of entries listed in a tree\n@param tree a previously loaded tree.\n@return the number of entries in the tree","comments":"","group":"tree"},"git_tree_entry_byname":{"type":"function","file":"tree.h","line":94,"lineto":94,"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":"git_tree_entry *","comment":"the tree entry; NULL if not found"},"description":"Lookup a tree entry by its filename\n@param tree a previously loaded tree.\n@param filename the filename of the desired entry\n@return the tree entry; NULL if not found","comments":"","group":"tree"},"git_tree_entry_byindex":{"type":"function","file":"tree.h","line":102,"lineto":102,"args":[{"name":"tree","type":"git_tree *","comment":"a previously loaded tree."},{"name":"idx","type":"int","comment":"the position in the entry list"}],"argline":"git_tree *tree, int idx","sig":"git_tree *::int","return":{"type":"git_tree_entry *","comment":"the tree entry; NULL if not found"},"description":"Lookup a tree entry by its position in the tree\n@param tree a previously loaded tree.\n@param idx the position in the entry list\n@return the tree entry; NULL if not found","comments":"","group":"tree"},"git_tree_entry_attributes":{"type":"function","file":"tree.h","line":109,"lineto":109,"args":[{"name":"entry","type":"git_tree_entry *","comment":"a tree entry"}],"argline":"git_tree_entry *entry","sig":"git_tree_entry *","return":{"type":"unsigned int","comment":"attributes as an integer"},"description":"Get the UNIX file attributes of a tree entry\n@param entry a tree entry\n@return attributes as an integer","comments":"","group":"tree"},"git_tree_entry_name":{"type":"function","file":"tree.h","line":116,"lineto":116,"args":[{"name":"entry","type":"git_tree_entry *","comment":"a tree entry"}],"argline":"git_tree_entry *entry","sig":"git_tree_entry *","return":{"type":"const char *","comment":"the name of the file"},"description":"Get the filename of a tree entry\n@param entry a tree entry\n@return the name of the file","comments":"","group":"tree"},"git_tree_entry_id":{"type":"function","file":"tree.h","line":123,"lineto":123,"args":[{"name":"entry","type":"git_tree_entry *","comment":"a tree entry"}],"argline":"git_tree_entry *entry","sig":"git_tree_entry *","return":{"type":"const git_oid *","comment":"the oid of the object"},"description":"Get the id of the object pointed by the entry\n@param entry a tree entry\n@return the oid of the object","comments":"","group":"tree"},"git_tree_entry_2object":{"type":"function","file":"tree.h","line":132,"lineto":132,"args":[{"name":"object","type":"git_object **","comment":"pointer to the converted object"},{"name":"entry","type":"git_tree_entry *","comment":"a tree entry"}],"argline":"git_object **object, git_tree_entry *entry","sig":"git_object **::git_tree_entry *","return":{"type":"int","comment":"a reference to the pointed object in the repository"},"description":"Convert a tree entry to the git_object it points too.","comments":"","group":"tree"},"git_tree_add_entry":{"type":"function","file":"tree.h","line":149,"lineto":149,"args":[{"name":"entry_out","type":"git_tree_entry **","comment":"Pointer to the entry that just got created. May be NULL if you are not interested on getting the new entry"},{"name":"tree","type":"git_tree *","comment":"Tree object to store the entry @iparam id OID for the tree entry"},{"name":"id","type":"const git_oid *"},{"name":"filename","type":"const char *","comment":"Filename for the tree entry"},{"name":"attributes","type":"int","comment":"UNIX file attributes for the entry"}],"argline":"git_tree_entry **entry_out, git_tree *tree, const git_oid *id, const char *filename, int attributes","sig":"git_tree_entry **::git_tree *::const git_oid *::const char *::int","return":{"type":"int","comment":"0 on success; otherwise error code"},"description":"Add a new entry to a tree and return the new entry.","comments":"This will mark the tree as modified; the new entry will\nbe written back to disk on the next git_object_write()\n","group":"tree"},"git_tree_remove_entry_byindex":{"type":"function","file":"tree.h","line":163,"lineto":163,"args":[{"name":"tree","type":"git_tree *","comment":"Tree where to remove the entry"},{"name":"idx","type":"int","comment":"index of the entry"}],"argline":"git_tree *tree, int idx","sig":"git_tree *::int","return":{"type":"int","comment":"0 on successful removal; GIT_ENOTFOUND if the entry wasn't found"},"description":"Remove an entry by its index.","comments":"Index must be >= 0 and < than git_tree_entrycount().\n\nThis will mark the tree as modified; the modified entry will\nbe written back to disk on the next git_object_write()\n","group":"tree"},"git_tree_remove_entry_byname":{"type":"function","file":"tree.h","line":175,"lineto":175,"args":[{"name":"tree","type":"git_tree *","comment":"Tree where to remove the entry"},{"name":"filename","type":"const char *","comment":"File name of the entry"}],"argline":"git_tree *tree, const char *filename","sig":"git_tree *::const char *","return":{"type":"int","comment":"0 on successful removal; GIT_ENOTFOUND if the entry wasn't found"},"description":"Remove an entry by its filename.","comments":"This will mark the tree as modified; the modified entry will\nbe written back to disk on the next git_object_write()\n","group":"tree"},"git_tree_clear_entries":{"type":"function","file":"tree.h","line":185,"lineto":185,"args":[{"name":"tree","type":"git_tree *","comment":"Tree object whose entries are to be sorted"}],"argline":"git_tree *tree","sig":"git_tree *","return":{"type":"void"},"description":"Clear all the entries in a tree.","comments":"This will mark the tree as modified; the modified entry will\nbe written back to disk on the next git_object_write().\n","group":"tree"},"git_tree_entry_set_id":{"type":"function","file":"tree.h","line":196,"lineto":196,"args":[{"name":"entry","type":"git_tree_entry *","comment":"Entry object which will be modified"},{"name":"oid","type":"const git_oid *","comment":"new SHA1 oid for the entry"}],"argline":"git_tree_entry *entry, const git_oid *oid","sig":"git_tree_entry *::const git_oid *","return":{"type":"void"},"description":"Change the SHA1 id of a tree entry.","comments":"This will mark the tree that contains the entry as modified;\nthe modified entry will be written back to disk on the next git_object_write()\n","group":"tree"},"git_tree_entry_set_name":{"type":"function","file":"tree.h","line":207,"lineto":207,"args":[{"name":"entry","type":"git_tree_entry *","comment":"Entry object which will be modified"},{"name":"name","type":"const char *"}],"argline":"git_tree_entry *entry, const char *name","sig":"git_tree_entry *::const char *","return":{"type":"void"},"description":"Change the filename of a tree entry.","comments":"This will mark the tree that contains the entry as modified;\nthe modified entry will be written back to disk on the next git_object_write()\n","group":"tree"},"git_tree_entry_set_attributes":{"type":"function","file":"tree.h","line":219,"lineto":219,"args":[{"name":"entry","type":"git_tree_entry *","comment":"Entry object which will be modified"},{"name":"attr","type":"unsigned int"}],"argline":"git_tree_entry *entry, unsigned int attr","sig":"git_tree_entry *::unsigned int","return":{"type":"int","comment":"0 if the attributes were properly set; error code otherwise"},"description":"Change the attributes of a tree entry.","comments":"This will mark the tree that contains the entry as modified;\nthe modified entry will be written back to disk on the next git_object_write()\n","group":"tree"},"git_odb_new":{"type":"function","file":"odb.h","line":52,"lineto":52,"args":[{"name":"out","type":"git_odb **","comment":"location to store the database pointer, if opened. Set to NULL if the open failed."}],"argline":"git_odb **out","sig":"git_odb **","return":{"type":"int","comment":"GIT_SUCCESS if the database was created; otherwise an error code describing why the open was not possible."},"description":"Create a new object database with no backends.","comments":"Before the ODB can be used for read/writing, a custom database\nbackend must be manually added using `git_odb_add_backend()`\n","group":"odb"},"git_odb_open":{"type":"function","file":"odb.h","line":71,"lineto":71,"args":[{"name":"out","type":"git_odb **","comment":"location to store the database pointer, if opened. Set to NULL if the open failed."},{"name":"objects_dir","type":"const char *","comment":"path of the backends' \"objects\" directory."}],"argline":"git_odb **out, const char *objects_dir","sig":"git_odb **::const char *","return":{"type":"int","comment":"GIT_SUCCESS if the database opened; otherwise an error code describing why the open was not possible."},"description":"Create a new object database and automatically add\nthe two default backends:","comments":"- git_odb_backend_loose: read and write loose object files\n\tfrom disk, assuming `objects_dir` as the Objects folder\n\n- git_odb_backend_pack: read objects from packfiles,\n\tassuming `objects_dir` as the Objects folder which\n\tcontains a 'pack/' folder with the corresponding data\n","group":"odb"},"git_odb_add_backend":{"type":"function","file":"odb.h","line":82,"lineto":82,"args":[{"name":"odb","type":"git_odb *","comment":"database to add the backend to"},{"name":"backend","type":"git_odb_backend *"},{"name":"priority","type":"int"}],"argline":"git_odb *odb, git_odb_backend *backend, int priority","sig":"git_odb *::git_odb_backend *::int","return":{"type":"int","comment":"0 on sucess; error code otherwise"},"description":"Add a custom backend to an existing Object DB","comments":"Read <odb_backends.h> for more information.\n","group":"odb"},"git_odb_add_alternate":{"type":"function","file":"odb.h","line":99,"lineto":99,"args":[{"name":"odb","type":"git_odb *","comment":"database to add the backend to"},{"name":"backend","type":"git_odb_backend *"},{"name":"priority","type":"int"}],"argline":"git_odb *odb, git_odb_backend *backend, int priority","sig":"git_odb *::git_odb_backend *::int","return":{"type":"int","comment":"0 on sucess; error code otherwise"},"description":"Add a custom backend to an existing Object DB; this\nbackend will work as an alternate.","comments":"Alternate backends are always checked for objects *after*\nall the main backends have been exhausted.\n\nWriting is disabled on alternate backends.\n\nRead <odb_backends.h> for more information.\n","group":"odb"},"git_odb_close":{"type":"function","file":"odb.h","line":105,"lineto":105,"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"},"description":"Close an open object database.\n@param db database pointer to close. If NULL no action is taken.","comments":"","group":"odb"},"git_odb_read":{"type":"function","file":"odb.h","line":126,"lineto":126,"args":[{"name":"out","type":"git_rawobj *","comment":"object descriptor to populate upon reading."},{"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_rawobj *out, git_odb *db, const git_oid *id","sig":"git_rawobj *::git_odb *::const git_oid *","return":{"type":"int","comment":"- GIT_SUCCESS if the object was read; - GIT_ENOTFOUND if the object is not in the database."},"description":"Read an object from the database.","comments":"If GIT_ENOTFOUND then out->data is set to NULL.\n","group":"odb"},"git_odb_read_header":{"type":"function","file":"odb.h","line":145,"lineto":145,"args":[{"name":"out","type":"git_rawobj *","comment":"object descriptor to populate upon reading."},{"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_rawobj *out, git_odb *db, const git_oid *id","sig":"git_rawobj *::git_odb *::const git_oid *","return":{"type":"int","comment":"- GIT_SUCCESS if the object was read; - GIT_ENOTFOUND if the object is not in the database."},"description":"Read the header of an object from the database, without\nreading its full contents.","comments":"Only the 'type' and 'len' fields of the git_rawobj structure\nare filled. The 'data' pointer will always be NULL.\n\nThe raw object pointed by 'out' doesn't need to be manually\nclosed with git_rawobj_close().\n","group":"odb"},"git_odb_write":{"type":"function","file":"odb.h","line":157,"lineto":157,"args":[{"name":"id","type":"git_oid *","comment":"identity of the object written."},{"name":"db","type":"git_odb *","comment":"database to which the object should be written."},{"name":"obj","type":"git_rawobj *","comment":"object descriptor for the object to write."}],"argline":"git_oid *id, git_odb *db, git_rawobj *obj","sig":"git_oid *::git_odb *::git_rawobj *","return":{"type":"int","comment":"- GIT_SUCCESS if the object was written; - GIT_ERROR otherwise."},"description":"Write an object to the database.","comments":"","group":"odb"},"git_odb_exists":{"type":"function","file":"odb.h","line":168,"lineto":168,"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":"- true, if the object was found - false, otherwise"},"description":"Determine if the given object can be found in the object database.","comments":"","group":"odb"},"git_rawobj_hash":{"type":"function","file":"odb.h","line":186,"lineto":186,"args":[{"name":"id","type":"git_oid *","comment":"the resulting object-ID."},{"name":"obj","type":"git_rawobj *","comment":"the object whose hash is to be determined."}],"argline":"git_oid *id, git_rawobj *obj","sig":"git_oid *::git_rawobj *","return":{"type":"int","comment":"- GIT_SUCCESS if the object-ID was correctly determined. - GIT_ERROR if the given object is malformed."},"description":"Determine the object-ID (sha1 hash) of the given git_rawobj.","comments":"The input obj must be a valid loose object type and the data\npointer must not be NULL, unless the len field is also zero.\n","group":"rawobj"},"git_rawobj_close":{"type":"function","file":"odb.h","line":197,"lineto":197,"args":[{"name":"obj","type":"git_rawobj *","comment":"object descriptor to free."}],"argline":"git_rawobj *obj","sig":"git_rawobj *","return":{"type":"void"},"description":"Release all memory used by the obj structure.","comments":"As a result of this call, obj->data will be set to NULL.\n\nIf obj->data is already NULL, nothing happens.\n","group":"rawobj"},"git_oid_mkstr":{"type":"function","file":"oid.h","line":60,"lineto":60,"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 the hex sequence and have at least the number of bytes needed for an oid encoded in hex (40 bytes)."}],"argline":"git_oid *out, const char *str","sig":"git_oid *::const char *","return":{"type":"int","comment":"GIT_SUCCESS if valid; GIT_ENOTOID on failure."},"description":"Parse a hex formatted object id into a git_oid.\n@param out oid structure the result is written into.\n@param str input hex string; must be pointing at the start of\n the hex sequence and have at least the number of bytes\n needed for an oid encoded in hex (40 bytes).\n@return GIT_SUCCESS if valid; GIT_ENOTOID on failure.","comments":"","group":"oid"},"git_oid_mkraw":{"type":"function","file":"oid.h","line":67,"lineto":67,"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"},"description":"Copy an already raw oid into a git_oid structure.\n@param out oid structure the result is written into.\n@param raw the raw input bytes to be copied.","comments":"","group":"oid"},"git_oid_fmt":{"type":"function","file":"oid.h","line":78,"lineto":78,"args":[{"name":"str","type":"char *","comment":"output hex string; must be pointing at the start of the hex sequence and have at least the number of bytes needed for an oid encoded in hex (40 bytes). Only the oid digits are written; a '\\\\0' terminator must be added by 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"},"description":"Format a git_oid into a hex string.\n@param str output hex string; must be pointing at the start of\n the hex sequence and have at least the number of bytes\n needed for an oid encoded in hex (40 bytes). Only the\n oid digits are written; a '\\\\0' terminator must be added\n by the caller if it is required.\n@param oid oid structure to format.","comments":"","group":"oid"},"git_oid_pathfmt":{"type":"function","file":"oid.h","line":93,"lineto":93,"args":[{"name":"str","type":"char *","comment":"output hex string; must be pointing at the start of the hex sequence and have at least the number of bytes needed for an oid encoded in hex (41 bytes). Only the oid digits are written; a '\\\\0' terminator must be added by 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"},"description":"Format a git_oid into a loose-object path string.\n<p>\nThe resulting string is \"aa/...\", where \"aa\" is the first two\nhex digitis of the oid and \"...\" is the remaining 38 digits.","comments":"","group":"oid"},"git_oid_allocfmt":{"type":"function","file":"oid.h","line":101,"lineto":101,"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 deallocate the string with free()."},"description":"Format a gid_oid into a newly allocated c-string.\n@param oid the oid structure to format\n@return the c-string; NULL if memory is exhausted. Caller must\n deallocate the string with free().","comments":"","group":"oid"},"git_oid_to_string":{"type":"function","file":"oid.h","line":118,"lineto":118,"args":[{"name":"out","type":"char *","comment":"the buffer into which the oid string is output."},{"name":"n","type":"size_t","comment":"the size of the out buffer."},{"name":"oid","type":"const git_oid *","comment":"the oid structure to format."}],"argline":"char *out, size_t n, const git_oid *oid","sig":"char *::size_t::const git_oid *","return":{"type":"char *","comment":"the out buffer pointer, assuming no input parameter errors, otherwise a pointer to an empty string."},"description":"Format a git_oid into a buffer as a hex format c-string.\n<p>\nIf the buffer is smaller than GIT_OID_HEXSZ+1, then the resulting\noid c-string will be truncated to n-1 characters. If there are\nany input parameter errors (out == NULL, n == 0, oid == NULL),\nthen a pointer to an empty string is returned, so that the return\nvalue can always be printed.","comments":"","group":"oid"},"git_oid_cpy":{"type":"function","file":"oid.h","line":125,"lineto":125,"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"},"description":"Copy an oid from one structure to another.\n@param out oid structure the result is written into.\n@param src oid structure to copy from.","comments":"","group":"oid"},"git_oid_cmp":{"type":"function","file":"oid.h","line":133,"lineto":133,"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":"<0, 0, >0 if a < b, a == b, a > b."},"description":"Compare two oid structures.\n@param a first oid structure.\n@param b second oid structure.\n@return <0, 0, >0 if a < b, a == b, a > b.","comments":"","group":"oid"},"git_oid_shorten_new":{"type":"function","file":"oid.h","line":154,"lineto":154,"args":[{"name":"min_length","type":"size_t","comment":"The minimal length for all identifiers, which will be used even if shorter OIDs would still be unique."}],"argline":"size_t min_length","sig":"size_t","return":{"type":"git_oid_shorten *","comment":"a `git_oid_shorten` instance, NULL if OOM"},"description":"Create a new OID shortener.","comments":"The OID shortener is used to process a list of OIDs\nin text form and return the shortest length that would\nuniquely identify all of them.\n\nE.g. look at the result of `git log --abbrev`.\n","group":"oid"},"git_oid_shorten_add":{"type":"function","file":"oid.h","line":180,"lineto":180,"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 added so far to the set; or an error code (<0) if an error occurs."},"description":"Add a new OID to set of shortened OIDs and calculate\nthe minimal length to uniquely identify all the OIDs in\nthe set.","comments":"The OID is expected to be a 40-char hexadecimal string.\nThe OID is owned by the user and will not be modified\nor freed.\n\nFor performance reasons, there is a hard-limit of how many\nOIDs can be added to a single set (around ~22000, assuming\na mostly randomized distribution), which should be enough\nfor any kind of program, and keeps the algorithm fast and\nmemory-efficient.\n\nAttempting to add more than those OIDs will result in a\nGIT_ENOMEM error\n","group":"oid"},"git_oid_shorten_free":{"type":"function","file":"oid.h","line":187,"lineto":187,"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"},"description":"Free an OID shortener instance","comments":"","group":"oid"},"git_strerror":{"type":"function","file":"errors.h","line":41,"lineto":41,"args":[{"name":"num","type":"int","comment":"The error code to explain"}],"argline":"int num","sig":"int","return":{"type":"const char *","comment":"a string explaining the error code"},"description":"strerror() for the Git library\n@param num The error code to explain\n@return a string explaining the error code","comments":"","group":"errors"},"git_revwalk_new":{"type":"function","file":"revwalk.h","line":77,"lineto":77,"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 on success; error code otherwise"},"description":"Allocate a new revision walker to iterate through a repo.","comments":"","group":"revwalk"},"git_revwalk_reset":{"type":"function","file":"revwalk.h","line":83,"lineto":83,"args":[{"name":"walker","type":"git_revwalk *","comment":"handle to reset."}],"argline":"git_revwalk *walker","sig":"git_revwalk *","return":{"type":"void"},"description":"Reset the walking machinery for reuse.\n@param walker handle to reset.","comments":"","group":"revwalk"},"git_revwalk_push":{"type":"function","file":"revwalk.h","line":92,"lineto":92,"args":[{"name":"walk","type":"git_revwalk *","comment":"er the walker being used for the traversal."},{"name":"oid","type":"const git_oid *"}],"argline":"git_revwalk *walk, const git_oid *oid","sig":"git_revwalk *::const git_oid *","return":{"type":"int"},"description":"Mark a commit to start traversal from.\nThe commit object must belong to the repo which is being walked through.","comments":"","group":"revwalk"},"git_revwalk_hide":{"type":"function","file":"revwalk.h","line":100,"lineto":100,"args":[{"name":"walk","type":"git_revwalk *","comment":"er the walker being used for the traversal."},{"name":"oid","type":"const git_oid *"}],"argline":"git_revwalk *walk, const git_oid *oid","sig":"git_revwalk *::const git_oid *","return":{"type":"int"},"description":"Mark a commit (and its ancestors) uninteresting for the output.\n@param walker the walker being used for the traversal.\n@param commit the commit that will be ignored during the traversal","comments":"","group":"revwalk"},"git_revwalk_next":{"type":"function","file":"revwalk.h","line":110,"lineto":110,"args":[{"name":"oid","type":"git_oid *"},{"name":"walk","type":"git_revwalk *","comment":"the walker to pop the commit from."}],"argline":"git_oid *oid, git_revwalk *walk","sig":"git_oid *::git_revwalk *","return":{"type":"int","comment":"GIT_SUCCESS if the next commit was found; GIT_EREVWALKOVER if there are no commits left to iterate"},"description":"Get the next commit from the revision traversal.","comments":"","group":"revwalk"},"git_revwalk_sorting":{"type":"function","file":"revwalk.h","line":119,"lineto":119,"args":[{"name":"walk","type":"git_revwalk *","comment":"the walker being used for the traversal."},{"name":"sort_mode","type":"unsigned int","comment":"combination of GIT_RPSORT_XXX flags"}],"argline":"git_revwalk *walk, unsigned int sort_mode","sig":"git_revwalk *::unsigned int","return":{"type":"int"},"description":"Change the sorting mode when iterating through the\nrepository's contents.\nChanging the sorting mode resets the walker.\n@param walk the walker being used for the traversal.\n@param sort_mode combination of GIT_RPSORT_XXX flags","comments":"","group":"revwalk"},"git_revwalk_free":{"type":"function","file":"revwalk.h","line":125,"lineto":125,"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"},"description":"Free a revwalk previously allocated.\n@param walk traversal handle to close. If NULL nothing occurs.","comments":"","group":"revwalk"},"git_revwalk_repository":{"type":"function","file":"revwalk.h","line":134,"lineto":134,"args":[{"name":"walk","type":"git_revwalk *","comment":"the revision walker"}],"argline":"git_revwalk *walk","sig":"git_revwalk *","return":{"type":"git_repository *","comment":"the repository being walked"},"description":"Return the repository on which this walker\nis operating.","comments":"","group":"revwalk"},"git_object_lookup":{"type":"function","file":"object.h","line":58,"lineto":58,"args":[{"name":"object","type":"git_object **","comment":"pointer to the looked-up object"},{"name":"repo","type":"git_repository *","comment":"the repository to look up the object"},{"name":"id","type":"const git_oid *","comment":"the unique identifier for the object"},{"name":"type","type":"git_otype","comment":"the type of the object"}],"argline":"git_object **object, git_repository *repo, const git_oid *id, git_otype type","sig":"git_object **::git_repository *::const git_oid *::git_otype","return":{"type":"int","comment":"a reference to the object"},"description":"Lookup a reference to one of the objects in a repostory.","comments":"The generated reference is owned by the repository and\nshould not be freed by the user.\n\nThe 'type' parameter must match the type of the object\nin the odb; the method will fail otherwise.\nThe special value 'GIT_OBJ_ANY' may be passed to let\nthe method guess the object's type.\n","group":"object"},"git_object_new":{"type":"function","file":"object.h","line":81,"lineto":81,"args":[{"name":"object","type":"git_object **","comment":"pointer to the new object @parem repo Repository where the object belongs"},{"name":"repo","type":"git_repository *"},{"name":"type","type":"git_otype","comment":"Type of the object to be created"}],"argline":"git_object **object, git_repository *repo, git_otype type","sig":"git_object **::git_repository *::git_otype","return":{"type":"int","comment":"the new object"},"description":"Create a new in-memory repository object with\nthe given type.","comments":"The object's attributes can be filled in using the\ncorresponding setter methods.\n\nThe object will be written back to given git_repository\nwhen the git_object_write() function is called; objects\ncannot be written to disk until all their main\nattributes have been properly filled.\n\nObjects are instantiated with no SHA1 id; their id\nwill be automatically generated when writing to the\nrepository.\n","group":"object"},"git_object_write":{"type":"function","file":"object.h","line":101,"lineto":101,"args":[{"name":"object","type":"git_object *","comment":"Git object to write back"}],"argline":"git_object *object","sig":"git_object *","return":{"type":"int","comment":"0 on success; otherwise an error code"},"description":"Write back an object to disk.","comments":"The object will be written to its corresponding\nrepository.\n\nIf the object has no changes since it was first\nread from the repository, no actions will take place.\n\nIf the object has been modified since it was read from\nthe repository, or it has been created from scratch\nin memory, it will be written to the repository and\nits SHA1 ID will be updated accordingly.\n","group":"object"},"git_object_id":{"type":"function","file":"object.h","line":112,"lineto":112,"args":[{"name":"obj","type":"const git_object *","comment":"the repository object"}],"argline":"const git_object *obj","sig":"const git_object *","return":{"type":"const git_oid *","comment":"the SHA1 id"},"description":"Get the id (SHA1) of a repository object","comments":"In-memory objects created by git_object_new() do not\nhave a SHA1 ID until they are written on a repository.\n","group":"object"},"git_object_type":{"type":"function","file":"object.h","line":120,"lineto":120,"args":[{"name":"obj","type":"const git_object *","comment":"the repository object"}],"argline":"const git_object *obj","sig":"const git_object *","return":{"type":"git_otype","comment":"the object's type"},"description":"Get the object type of an object","comments":"","group":"object"},"git_object_owner":{"type":"function","file":"object.h","line":128,"lineto":128,"args":[{"name":"obj","type":"const git_object *","comment":"the object"}],"argline":"const git_object *obj","sig":"const git_object *","return":{"type":"git_repository *","comment":"the repository who owns this object"},"description":"Get the repository that owns this object","comments":"","group":"object"},"git_object_close":{"type":"function","file":"object.h","line":151,"lineto":151,"args":[{"name":"object","type":"git_object *","comment":"the object to close"}],"argline":"git_object *object","sig":"git_object *","return":{"type":"void"},"description":"Close an open object","comments":"This method instructs the library to close an existing\nobject; note that git_objects are owned and cached by the repository\nso the object may or may not be freed after this library call,\ndepending on how agressive is the caching mechanism used\nby the repository.\n\nIMPORTANT:\nIt is *not* necessary to call this method when you stop using\nan object, since all object memory is automatically reclaimed\nby the repository when it is freed.\n\nForgetting to call `git_object_close` does not cause memory\nleaks, but it's is recommended to close as soon as possible\nthe biggest objects (e.g. blobs) to prevent wasting memory\nspace.\n","group":"object"},"git_object_type2string":{"type":"function","file":"object.h","line":162,"lineto":162,"args":[{"name":"type","type":"git_otype","comment":"object type to convert."}],"argline":"git_otype type","sig":"git_otype","return":{"type":"const char *","comment":"the corresponding string representation."},"description":"Convert an object type to it's string representation.","comments":"The result is a pointer to a string in static memory and\nshould not be free()'ed.\n","group":"object"},"git_object_string2type":{"type":"function","file":"object.h","line":170,"lineto":170,"args":[{"name":"str","type":"const char *","comment":"the string to convert."}],"argline":"const char *str","sig":"const char *","return":{"type":"git_otype","comment":"the corresponding git_otype."},"description":"Convert a string object type representation to it's git_otype.","comments":"","group":"object"},"git_object_typeisloose":{"type":"function","file":"object.h","line":179,"lineto":179,"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, false otherwise."},"description":"Determine if the given git_otype is a valid loose object type.","comments":"","group":"object"},"git_object__size":{"type":"function","file":"object.h","line":193,"lineto":193,"args":[{"name":"type","type":"git_otype","comment":"object type to get its size"}],"argline":"git_otype type","sig":"git_otype","return":{"type":"size_t","comment":"size in bytes of the object"},"description":"Get the size in bytes for the structure which\nacts as an in-memory representation of any given\nobject type.","comments":"For all the core types, this would the equivalent\nof calling `sizeof(git_commit)` if the core types\nwere not opaque on the external API.\n","group":"object"},"git_reference_lookup":{"type":"function","file":"refs.h","line":52,"lineto":52,"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 on success; error code otherwise"},"description":"Lookup a reference by its name in a repository.","comments":"The generated reference is owned by the repository and\nshould not be freed by the user.\n","group":"reference"},"git_reference_create_symbolic":{"type":"function","file":"refs.h","line":69,"lineto":69,"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"}],"argline":"git_reference **ref_out, git_repository *repo, const char *name, const char *target","sig":"git_reference **::git_repository *::const char *::const char *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Create a new symbolic reference.","comments":"The reference will be created in the repository and written\nto the disk.\n\nThis reference is owned by the repository and shall not\nbe free'd by the user.\n","group":"reference"},"git_reference_create_oid":{"type":"function","file":"refs.h","line":86,"lineto":86,"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."}],"argline":"git_reference **ref_out, git_repository *repo, const char *name, const git_oid *id","sig":"git_reference **::git_repository *::const char *::const git_oid *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Create a new object id reference.","comments":"The reference will be created in the repository and written\nto the disk.\n\nThis reference is owned by the repository and shall not\nbe free'd by the user.\n","group":"reference"},"git_reference_oid":{"type":"function","file":"refs.h","line":96,"lineto":96,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"const git_oid *","comment":"a pointer to the oid if available, NULL otherwise"},"description":"Get the OID pointed to by a reference.","comments":"Only available if the reference is direct (i.e. not symbolic)\n","group":"reference"},"git_reference_target":{"type":"function","file":"refs.h","line":106,"lineto":106,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"const char *","comment":"a pointer to the name if available, NULL otherwise"},"description":"Get full name to the reference pointed by this reference","comments":"Only available if the reference is symbolic\n","group":"reference"},"git_reference_type":{"type":"function","file":"refs.h","line":116,"lineto":116,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"git_rtype","comment":"the type"},"description":"Get the type of a reference","comments":"Either direct (GIT_REF_OID) or symbolic (GIT_REF_SYMBOLIC)\n","group":"reference"},"git_reference_name":{"type":"function","file":"refs.h","line":124,"lineto":124,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"const char *","comment":"the full name for the ref"},"description":"Get the full name of a reference","comments":"","group":"reference"},"git_reference_resolve":{"type":"function","file":"refs.h","line":139,"lineto":139,"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 on success; error code otherwise"},"description":"Resolve a symbolic reference","comments":"Thie method iteratively peels a symbolic reference\nuntil it resolves to a direct reference to an OID.\n\nIf a direct reference is passed as an argument,\nthat reference is returned immediately\n","group":"reference"},"git_reference_owner":{"type":"function","file":"refs.h","line":147,"lineto":147,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"git_repository *","comment":"a pointer to the repo"},"description":"Get the repository where a reference resides","comments":"","group":"reference"},"git_reference_set_target":{"type":"function","file":"refs.h","line":162,"lineto":162,"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 on success; error code otherwise"},"description":"Set the symbolic target of a reference.","comments":"The reference must be a symbolic reference, otherwise\nthis method will fail.\n\nThe reference will be automatically updated in\nmemory and on disk.\n","group":"reference"},"git_reference_set_oid":{"type":"function","file":"refs.h","line":177,"lineto":177,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"},{"name":"id","type":"const git_oid *"}],"argline":"git_reference *ref, const git_oid *id","sig":"git_reference *::const git_oid *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Set the OID target of a reference.","comments":"The reference must be a direct reference, otherwise\nthis method will fail.\n\nThe reference will be automatically updated in\nmemory and on disk.\n","group":"reference"},"git_reference_rename":{"type":"function","file":"refs.h","line":190,"lineto":190,"args":[{"name":"ref","type":"git_reference *"},{"name":"new_name","type":"const char *"}],"argline":"git_reference *ref, const char *new_name","sig":"git_reference *::const char *","return":{"type":"int"},"description":"Rename an existing reference","comments":"This method works for both direct and symbolic references.\nThe new name will be checked for validity and may be\nmodified into a normalized form.\n\nThe refernece will be immediately renamed in-memory\nand on disk.","group":"reference"},"git_reference_delete":{"type":"function","file":"refs.h","line":201,"lineto":201,"args":[{"name":"ref","type":"git_reference *"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"int"},"description":"Delete an existing reference","comments":"This method works for both direct and symbolic references.\n\nThe reference will be immediately removed on disk and from\nmemory. The given reference pointer will no longer be valid.","group":"reference"},"git_reference_packall":{"type":"function","file":"refs.h","line":219,"lineto":219,"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 on success; error code otherwise"},"description":"Pack all the loose references in the repository","comments":"This method will load into the cache all the loose\nreferences on the repository and update the \n`packed-refs` file with them.\n\nOnce the `packed-refs` file has been written properly,\nthe loose references will be removed from disk.\n\nWARNING: calling this method may invalidate any existing\nreferences previously loaded on the cache.\n","group":"reference"},"git_reference_listall":{"type":"function","file":"refs.h","line":242,"lineto":242,"args":[{"name":"array","type":"git_strarray *","comment":"Pointer to a git_strarray structure where the 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 listing."}],"argline":"git_strarray *array, git_repository *repo, unsigned int list_flags","sig":"git_strarray *::git_repository *::unsigned int","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Fill a list with all the references that can be found\nin a repository.","comments":"The listed references may be filtered by type, or using\na bitwise OR of several types. Use the magic value\n`GIT_REF_LISTALL` to obtain all references, including\npacked ones.\n\nThe string array will be filled with the names of all\nreferences; these values are owned by the user and\nshould be free'd manually when no longer needed, using\n`git_strarray_free`.\n","group":"reference"}},"globals":{"GIT_BEGIN_DECL":{"value":"","file":"common.h","line":37,"comments":"Start declarations in C mode"},"GIT_END_DECL":{"value":"","file":"common.h","line":39,"comments":"End declarations in C mode"},"GIT_EXTERN(type)":{"value":"extern __attribute__((visibility(\"default\"))) type","file":"common.h","line":43,"comments":"Declare a public function exported for application use."},"GIT_EXTERN_TLS(type)":{"value":"extern __attribute__((visibility(\"default\"))) GIT_TLS type","file":"common.h","line":54,"comments":"Declare a public TLS symbol exported for application use."},"GIT_INLINE(type)":{"value":"static __inline type","file":"common.h","line":66,"comments":"Declare a function as always inlined."},"GIT_FORMAT_PRINTF(a,b)":{"value":"__attribute__((format (printf, a, b)))","file":"common.h","line":73,"comments":"Declare a function's takes printf style arguments."},"GIT_SUCCESS":{"value":"0","file":"common.h","line":88,"comments":"Operation completed successfully."},"GIT_ERROR":{"value":"-1","file":"common.h","line":96,"comments":"Operation failed, with unspecified reason.\nThis value also serves as the base error code; all other\nerror codes are subtracted from it such that all errors\nare < 0, in typical POSIX C tradition."},"GIT_ENOTOID":{"value":"(GIT_ERROR - 1)","file":"common.h","line":99,"comments":"Input was not a properly formatted Git object id."},"GIT_ENOTFOUND":{"value":"(GIT_ERROR - 2)","file":"common.h","line":102,"comments":"Input does not exist in the scope searched."},"GIT_ENOMEM":{"value":"(GIT_ERROR - 3)","file":"common.h","line":105,"comments":"Not enough space available."},"GIT_EOSERR":{"value":"(GIT_ERROR - 4)","file":"common.h","line":108,"comments":"Consult the OS error information."},"GIT_EOBJTYPE":{"value":"(GIT_ERROR - 5)","file":"common.h","line":111,"comments":"The specified object is of invalid type"},"GIT_EOBJCORRUPTED":{"value":"(GIT_ERROR - 6)","file":"common.h","line":114,"comments":"The specified object has its data corrupted"},"GIT_ENOTAREPO":{"value":"(GIT_ERROR - 7)","file":"common.h","line":117,"comments":"The specified repository is invalid"},"GIT_EINVALIDTYPE":{"value":"(GIT_ERROR - 8)","file":"common.h","line":120,"comments":"The object type is invalid or doesn't match"},"GIT_EMISSINGOBJDATA":{"value":"(GIT_ERROR - 9)","file":"common.h","line":123,"comments":"The object cannot be written that because it's missing internal data"},"GIT_EPACKCORRUPTED":{"value":"(GIT_ERROR - 10)","file":"common.h","line":126,"comments":"The packfile for the ODB is corrupted"},"GIT_EFLOCKFAIL":{"value":"(GIT_ERROR - 11)","file":"common.h","line":129,"comments":"Failed to adquire or release a file lock"},"GIT_EZLIB":{"value":"(GIT_ERROR - 12)","file":"common.h","line":132,"comments":"The Z library failed to inflate/deflate an object's data"},"GIT_EBUSY":{"value":"(GIT_ERROR - 13)","file":"common.h","line":135,"comments":"The queried object is currently busy"},"GIT_EBAREINDEX":{"value":"(GIT_ERROR - 14)","file":"common.h","line":138,"comments":"The index file is not backed up by an existing repository"},"GIT_EINVALIDREFNAME":{"value":"(GIT_ERROR - 15)","file":"common.h","line":141,"comments":"The name of the reference is not valid"},"GIT_EREFCORRUPTED":{"value":"(GIT_ERROR - 16)","file":"common.h","line":144,"comments":"The specified reference has its data corrupted"},"GIT_ETOONESTEDSYMREF":{"value":"(GIT_ERROR - 17)","file":"common.h","line":147,"comments":"The specified symbolic reference is too deeply nested"},"GIT_EPACKEDREFSCORRUPTED":{"value":"(GIT_ERROR - 18)","file":"common.h","line":150,"comments":"The pack-refs file is either corrupted of its format is not currently supported"},"GIT_EINVALIDPATH":{"value":"(GIT_ERROR - 19)","file":"common.h","line":153,"comments":"The path is invalid"},"GIT_EREVWALKOVER":{"value":"(GIT_ERROR - 20)","file":"common.h","line":156,"comments":"The revision walker is empty; there are no more commits left to iterate"},"GIT_EINVALIDREFSTATE":{"value":"(GIT_ERROR - 21)","file":"common.h","line":159,"comments":"The state of the reference is not valid"},"GIT_OID_RAWSZ":{"value":"20","file":"oid.h","line":41,"comments":"Size (in bytes) of a raw/binary oid"},"GIT_OID_HEXSZ":{"value":"(GIT_OID_RAWSZ * 2)","file":"oid.h","line":44,"comments":"Size (in bytes) of a hex formatted oid"},"GIT_SORT_NONE":{"value":"(0)","file":"revwalk.h","line":47,"comments":"Sort the repository contents in no particular ordering;\nthis sorting is arbitrary, implementation-specific\nand subject to change at any time.\nThis is the default sorting for new walkers."},"GIT_SORT_TOPOLOGICAL":{"value":"(1 << 0)","file":"revwalk.h","line":54,"comments":"Sort the repository contents in topological order\n(parents before children); this sorting mode\ncan be combined with time sorting."},"GIT_SORT_TIME":{"value":"(1 << 1)","file":"revwalk.h","line":61,"comments":"Sort the repository contents by commit time;\nthis sorting mode can be combined with\ntopological sorting."},"GIT_SORT_REVERSE":{"value":"(1 << 2)","file":"revwalk.h","line":68,"comments":"Iterate through the repository contents in reverse\norder; this sorting mode can be combined with\nany of the above."}},"types":[["git_blob",{"type":"struct","value":"git_blob","file":"types.h","line":111,"lineto":111,"block":"","tdef":"typedef","comments":"In-memory representation of a blob object.","used":{"returns":[],"needs":["git_blob_lookup","git_blob_new","git_blob_rawcontent","git_blob_rawsize","git_blob_set_rawcontent","git_blob_set_rawcontent_fromfile"]}}],["git_commit",{"type":"struct","value":"git_commit","file":"types.h","line":114,"lineto":114,"block":"","tdef":"typedef","comments":"Parsed representation of a commit object.","used":{"returns":[],"needs":["git_commit_add_parent","git_commit_author","git_commit_committer","git_commit_id","git_commit_lookup","git_commit_message","git_commit_message_short","git_commit_new","git_commit_parent","git_commit_parentcount","git_commit_set_author","git_commit_set_committer","git_commit_set_message","git_commit_set_tree","git_commit_time","git_commit_time_offset","git_commit_tree"]}}],["git_index",{"type":"struct","value":"git_index","file":"types.h","line":123,"lineto":123,"block":"","tdef":"typedef","comments":"Memory representation of an index file.","used":{"returns":[],"needs":["git_index_add","git_index_clear","git_index_entrycount","git_index_find","git_index_free","git_index_get","git_index_insert","git_index_open_bare","git_index_open_inrepo","git_index_read","git_index_remove","git_index_write","git_repository_index"]}}],["git_index_entry",{"type":"struct","value":"git_index_entry","file":"index.h","line":55,"lineto":72,"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","comments":"Memory representation of a file entry in the index.","used":{"returns":["git_index_get"],"needs":["git_index_insert"]}}],["git_index_time",{"type":"struct","value":"git_index_time","file":"index.h","line":48,"lineto":52,"block":"git_time_t seconds\nunsigned int nanoseconds","tdef":"typedef","comments":"Time used in a git index entry","used":{"returns":[],"needs":[]}}],["git_object",{"type":"struct","value":"git_object","file":"types.h","line":102,"lineto":102,"block":"","tdef":"typedef","comments":"Representation of a generic object in a repository","used":{"returns":[],"needs":["git_object_close","git_object_id","git_object_lookup","git_object_new","git_object_owner","git_object_type","git_object_write","git_tag_set_target","git_tag_target","git_tree_entry_2object"]}}],["git_odb",{"type":"struct","value":"git_odb","file":"types.h","line":90,"lineto":90,"block":"","tdef":"typedef","comments":"An open object database handle.","used":{"returns":["git_repository_database"],"needs":["git_odb_add_alternate","git_odb_add_backend","git_odb_close","git_odb_exists","git_odb_new","git_odb_open","git_odb_read","git_odb_read_header","git_odb_write","git_repository_open3"]}}],["git_odb_backend",{"type":"struct","value":"git_odb_backend","file":"types.h","line":93,"lineto":93,"block":"","tdef":"typedef","comments":"A custom backend in an ODB","used":{"returns":[],"needs":["git_odb_add_alternate","git_odb_add_backend"]}}],["git_oid",{"type":"struct","value":"git_oid","file":"oid.h","line":47,"lineto":50,"block":"unsigned char id[GIT_OID_RAWSZ]","tdef":"typedef","comments":"Unique identity of any object (commit, tree, blob, tag).","used":{"returns":["git_commit_id","git_object_id","git_reference_oid","git_tag_id","git_tag_target_oid","git_tree_entry_id","git_tree_id"],"needs":["git_blob_lookup","git_blob_writefile","git_commit_lookup","git_object_lookup","git_odb_exists","git_odb_read","git_odb_read_header","git_odb_write","git_oid_allocfmt","git_oid_cmp","git_oid_cpy","git_oid_fmt","git_oid_mkraw","git_oid_mkstr","git_oid_pathfmt","git_oid_to_string","git_rawobj_hash","git_reference_create_oid","git_reference_set_oid","git_revwalk_hide","git_revwalk_next","git_revwalk_push","git_tag_lookup","git_tree_add_entry","git_tree_entry_set_id","git_tree_lookup"]}}],["git_oid_shorten",{"type":"struct","value":"git_oid_shorten","file":"oid.h","line":138,"lineto":138,"block":"","tdef":"typedef","comments":"OID Shortener object","used":{"returns":["git_oid_shorten_new"],"needs":["git_oid_shorten_add","git_oid_shorten_free"]}}],["git_otype",{"type":"enum","file":"types.h","line":76,"lineto":87,"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","comments":"Basic type (loose or packed) of any Git object.","used":{"returns":[],"needs":["git_object__size","git_object_lookup","git_object_new","git_object_type2string","git_object_typeisloose"]}}],["git_rawobj",{"type":"struct","value":"git_rawobj","file":"odb.h","line":108,"lineto":112,"block":"void *data\nsize_t len\ngit_otype type","tdef":"typedef","comments":"An object read from the database.","used":{"returns":[],"needs":["git_odb_read","git_odb_read_header","git_odb_write","git_rawobj_close","git_rawobj_hash"]}}],["git_reference",{"type":"struct","value":"git_reference","file":"types.h","line":139,"lineto":139,"block":"","tdef":"typedef","comments":"In-memory representation of a reference.","used":{"returns":[],"needs":["git_reference_create_oid","git_reference_create_symbolic","git_reference_delete","git_reference_lookup","git_reference_name","git_reference_oid","git_reference_owner","git_reference_rename","git_reference_resolve","git_reference_set_oid","git_reference_set_target","git_reference_target","git_reference_type"]}}],["git_repository",{"type":"struct","value":"git_repository","file":"types.h","line":99,"lineto":99,"block":"","tdef":"typedef","comments":"Representation of an existing git repository,\nincluding all its object contents","used":{"returns":["git_object_owner","git_reference_owner","git_revwalk_repository"],"needs":["git_blob_lookup","git_blob_new","git_blob_writefile","git_commit_lookup","git_commit_new","git_index_open_inrepo","git_object_lookup","git_object_new","git_reference_create_oid","git_reference_create_symbolic","git_reference_listall","git_reference_lookup","git_reference_packall","git_repository_close","git_repository_database","git_repository_free","git_repository_index","git_repository_init","git_repository_open","git_repository_open2","git_repository_open3","git_revwalk_new","git_tag_lookup","git_tag_new","git_tree_lookup","git_tree_new"]}}],["git_revwalk",{"type":"struct","value":"git_revwalk","file":"types.h","line":105,"lineto":105,"block":"","tdef":"typedef","comments":"Representation of an in-progress walk through the commits in a repo","used":{"returns":[],"needs":["git_revwalk_free","git_revwalk_hide","git_revwalk_new","git_revwalk_next","git_revwalk_push","git_revwalk_repository","git_revwalk_reset","git_revwalk_sorting"]}}],["git_rtype",{"type":"enum","file":"types.h","line":142,"lineto":149,"block":"GIT_REF_INVALID\nGIT_REF_OID\nGIT_REF_SYMBOLIC\nGIT_REF_PACKED\nGIT_REF_HAS_PEEL\nGIT_REF_LISTALL","tdef":"typedef","comments":"Basic type of any Git reference.","used":{"returns":[],"needs":[]}}],["git_signature",{"type":"struct","value":"git_signature","file":"types.h","line":132,"lineto":136,"block":"char *name\nchar *email\ngit_time when","tdef":"typedef","comments":"An action signature (e.g. for committers, taggers, etc)","used":{"returns":["git_commit_author","git_commit_committer","git_signature_dup","git_signature_new","git_tag_tagger"],"needs":["git_commit_set_author","git_commit_set_committer","git_signature_dup","git_signature_free","git_tag_set_tagger"]}}],["git_tag",{"type":"struct","value":"git_tag","file":"types.h","line":108,"lineto":108,"block":"","tdef":"typedef","comments":"Parsed representation of a tag object.","used":{"returns":[],"needs":["git_tag_id","git_tag_lookup","git_tag_message","git_tag_name","git_tag_new","git_tag_set_message","git_tag_set_name","git_tag_set_tagger","git_tag_set_target","git_tag_tagger","git_tag_target","git_tag_target_oid","git_tag_type"]}}],["git_time",{"type":"struct","value":"git_time","file":"types.h","line":126,"lineto":129,"block":"time_t time\nint offset","tdef":"typedef","comments":"Time in a signature","used":{"returns":[],"needs":[]}}],["git_tree",{"type":"struct","value":"git_tree","file":"types.h","line":120,"lineto":120,"block":"","tdef":"typedef","comments":"Representation of a tree object.","used":{"returns":[],"needs":["git_commit_set_tree","git_commit_tree","git_tree_add_entry","git_tree_clear_entries","git_tree_entry_byindex","git_tree_entry_byname","git_tree_entrycount","git_tree_id","git_tree_lookup","git_tree_new","git_tree_remove_entry_byindex","git_tree_remove_entry_byname"]}}],["git_tree_entry",{"type":"struct","value":"git_tree_entry","file":"types.h","line":117,"lineto":117,"block":"","tdef":"typedef","comments":"Representation of each one of the entries in a tree object.","used":{"returns":["git_tree_entry_byindex","git_tree_entry_byname"],"needs":["git_tree_add_entry","git_tree_entry_2object","git_tree_entry_attributes","git_tree_entry_id","git_tree_entry_name","git_tree_entry_set_attributes","git_tree_entry_set_id","git_tree_entry_set_name"]}}]],"prefix":"include/git2","groups":[["blob",["git_blob_lookup","git_blob_new","git_blob_rawcontent","git_blob_rawsize","git_blob_set_rawcontent","git_blob_set_rawcontent_fromfile","git_blob_writefile"]],["commit",["git_commit_add_parent","git_commit_author","git_commit_committer","git_commit_id","git_commit_lookup","git_commit_message","git_commit_message_short","git_commit_new","git_commit_parent","git_commit_parentcount","git_commit_set_author","git_commit_set_committer","git_commit_set_message","git_commit_set_tree","git_commit_time","git_commit_time_offset","git_commit_tree"]],["errors",["git_strerror"]],["index",["git_index_add","git_index_clear","git_index_entrycount","git_index_find","git_index_free","git_index_get","git_index_insert","git_index_open_bare","git_index_open_inrepo","git_index_read","git_index_remove","git_index_write"]],["object",["git_object__size","git_object_close","git_object_id","git_object_lookup","git_object_new","git_object_owner","git_object_string2type","git_object_type","git_object_type2string","git_object_typeisloose","git_object_write"]],["odb",["git_odb_add_alternate","git_odb_add_backend","git_odb_close","git_odb_exists","git_odb_new","git_odb_open","git_odb_read","git_odb_read_header","git_odb_write"]],["oid",["git_oid_allocfmt","git_oid_cmp","git_oid_cpy","git_oid_fmt","git_oid_mkraw","git_oid_mkstr","git_oid_pathfmt","git_oid_shorten_add","git_oid_shorten_free","git_oid_shorten_new","git_oid_to_string"]],["rawobj",["git_rawobj_close","git_rawobj_hash"]],["reference",["git_reference_create_oid","git_reference_create_symbolic","git_reference_delete","git_reference_listall","git_reference_lookup","git_reference_name","git_reference_oid","git_reference_owner","git_reference_packall","git_reference_rename","git_reference_resolve","git_reference_set_oid","git_reference_set_target","git_reference_target","git_reference_type"]],["repository",["git_repository_close","git_repository_database","git_repository_free","git_repository_index","git_repository_init","git_repository_open","git_repository_open2","git_repository_open3"]],["revwalk",["git_revwalk_free","git_revwalk_hide","git_revwalk_new","git_revwalk_next","git_revwalk_push","git_revwalk_repository","git_revwalk_reset","git_revwalk_sorting"]],["signature",["git_signature_dup","git_signature_free","git_signature_new"]],["tag",["git_tag_id","git_tag_lookup","git_tag_message","git_tag_name","git_tag_new","git_tag_set_message","git_tag_set_name","git_tag_set_tagger","git_tag_set_target","git_tag_tagger","git_tag_target","git_tag_target_oid","git_tag_type"]],["tree",["git_tree_add_entry","git_tree_clear_entries","git_tree_entry_2object","git_tree_entry_attributes","git_tree_entry_byindex","git_tree_entry_byname","git_tree_entry_id","git_tree_entry_name","git_tree_entry_set_attributes","git_tree_entry_set_id","git_tree_entry_set_name","git_tree_entrycount","git_tree_id","git_tree_lookup","git_tree_new","git_tree_remove_entry_byindex","git_tree_remove_entry_byname"]],["zlib",["deflateBound"]]]} \ No newline at end of file
+{"files":[{"file":"zlib.h","functions":["deflateBound"],"meta":{"brief":"Git data compression routines","defgroup":"git_zlib Git data compression routines","ingroup":"Git","comments":"\n"},"lines":58},{"file":"types.h","functions":[],"meta":{"brief":"libgit2 base & compatibility types","ingroup":"Git","comments":"\n"},"lines":154},{"file":"tree.h","functions":["git_tree_lookup","git_tree_new","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_2object","git_tree_add_entry","git_tree_remove_entry_byindex","git_tree_remove_entry_byname","git_tree_clear_entries","git_tree_entry_set_id","git_tree_entry_set_name","git_tree_entry_set_attributes"],"meta":{"brief":"Git tree parsing, loading routines","defgroup":"git_tree Git tree parsing, loading routines","ingroup":"Git","comments":"\n"},"lines":223},{"file":"thread-utils.h","functions":[],"meta":{},"lines":80},{"file":"tag.h","functions":["git_tag_lookup","git_tag_new","git_tag_id","git_tag_target","git_tag_target_oid","git_tag_type","git_tag_name","git_tag_tagger","git_tag_message","git_tag_set_target","git_tag_set_name","git_tag_set_tagger","git_tag_set_message"],"meta":{"brief":"Git tag parsing routines","defgroup":"git_tag Git tag management","ingroup":"Git","comments":"\n"},"lines":154},{"file":"signature.h","functions":["git_signature_new","git_signature_dup","git_signature_free"],"meta":{"brief":"Git signature creation","defgroup":"git_signature Git signature creation","ingroup":"Git","comments":"\n"},"lines":70},{"file":"revwalk.h","functions":["git_revwalk_new","git_revwalk_reset","git_revwalk_push","git_revwalk_hide","git_revwalk_next","git_revwalk_sorting","git_revwalk_free","git_revwalk_repository"],"meta":{"brief":"Git revision traversal routines","defgroup":"git_revwalk Git revision traversal routines","ingroup":"Git","comments":"\n"},"lines":138},{"file":"repository.h","functions":["git_repository_open","git_repository_open2","git_repository_open3","git_repository_database","git_repository_index","git_repository_free","git_repository_close","git_repository_init"],"meta":{"brief":"Git repository management routines","defgroup":"git_repository Git repository management routines","ingroup":"Git","comments":"\n"},"lines":191},{"file":"refs.h","functions":["git_reference_lookup","git_reference_create_symbolic","git_reference_create_oid","git_reference_oid","git_reference_target","git_reference_type","git_reference_name","git_reference_resolve","git_reference_owner","git_reference_set_target","git_reference_set_oid","git_reference_rename","git_reference_delete","git_reference_packall","git_reference_listall"],"meta":{"brief":"Git reference management routines","defgroup":"git_reference Git reference management routines","ingroup":"Git","comments":"\n"},"lines":246},{"file":"oid.h","functions":["git_oid_mkstr","git_oid_mkraw","git_oid_fmt","git_oid_pathfmt","git_oid_allocfmt","git_oid_to_string","git_oid_cpy","git_oid_cmp","git_oid_shorten_new","git_oid_shorten_add","git_oid_shorten_free"],"meta":{"brief":"Git object id routines","defgroup":"git_oid Git object id routines","ingroup":"Git","comments":"\n"},"lines":191},{"file":"odb_backend.h","functions":[],"meta":{"brief":"Git custom backend functions","defgroup":"git_backend Git custom backend API","ingroup":"Git","comments":"\n"},"lines":77},{"file":"odb.h","functions":["git_odb_new","git_odb_open","git_odb_add_backend","git_odb_add_alternate","git_odb_close","git_odb_read","git_odb_read_header","git_odb_write","git_odb_exists","git_rawobj_hash","git_rawobj_close"],"meta":{"brief":"Git object database routines","defgroup":"git_odb Git object database routines","ingroup":"Git","comments":"\n"},"lines":201},{"file":"object.h","functions":["git_object_lookup","git_object_new","git_object_write","git_object_id","git_object_type","git_object_owner","git_object_close","git_object_type2string","git_object_string2type","git_object_typeisloose","git_object__size"],"meta":{"brief":"Git revision object management routines","defgroup":"git_object Git revision object management routines","ingroup":"Git","comments":"\n"},"lines":198},{"file":"index.h","functions":["git_index_open_bare","git_index_open_inrepo","git_index_clear","git_index_free","git_index_read","git_index_write","git_index_find","git_index_add","git_index_remove","git_index_insert","git_index_get","git_index_entrycount"],"meta":{"brief":"Git index parsing and manipulation routines","defgroup":"git_index Git index parsing and manipulation routines","ingroup":"Git","comments":"\n"},"lines":199},{"file":"errors.h","functions":["git_strerror"],"meta":{"brief":"Git error handling routines and variables","ingroup":"Git","comments":"\n"},"lines":45},{"file":"common.h","functions":[],"meta":{"brief":"Git common platform definitions","defgroup":"git_common Git common platform definitions","ingroup":"Git","comments":"\n"},"lines":179},{"file":"commit.h","functions":["git_commit_lookup","git_commit_new","git_commit_id","git_commit_message_short","git_commit_message","git_commit_time","git_commit_time_offset","git_commit_committer","git_commit_author","git_commit_tree","git_commit_parentcount","git_commit_parent","git_commit_add_parent","git_commit_set_message","git_commit_set_committer","git_commit_set_author","git_commit_set_tree"],"meta":{"brief":"Git commit parsing, formatting routines","defgroup":"git_commit Git commit parsing, formatting routines","ingroup":"Git","comments":"\n"},"lines":188},{"file":"blob.h","functions":["git_blob_lookup","git_blob_new","git_blob_set_rawcontent_fromfile","git_blob_set_rawcontent","git_blob_rawcontent","git_blob_rawsize","git_blob_writefile"],"meta":{"brief":"Git blob load and write routines","defgroup":"git_blob Git blob load and write routines","ingroup":"Git","comments":"\n"},"lines":128}],"functions":{"deflateBound":{"type":"function","file":"zlib.h","line":50,"lineto":54,"args":[{"name":"stream","type":"z_streamp","comment":"the stream pointer."},{"name":"s","type":"size_t","comment":"tream the stream pointer."}],"argline":"z_streamp stream, size_t s","sig":"z_streamp::size_t","return":{"type":"size_t","comment":"maximum length of the compressed data."},"description":"deflateBound returns an upper bound on the compressed size.","comments":"This is a stub function used when zlib does not supply the\ndeflateBound() implementation itself.\n","group":"zlib"},"git_tree_lookup":{"type":"function","file":"tree.h","line":52,"lineto":55,"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 on success; error code otherwise"},"description":"Lookup a tree object from the repository.\nThe generated tree object is owned by the revision\nrepo and shall not be freed by the user.","comments":"","group":"tree"},"git_tree_new":{"type":"function","file":"tree.h","line":68,"lineto":71,"args":[{"name":"tree","type":"git_tree **","comment":"pointer to the new tree"},{"name":"repo","type":"git_repository *","comment":"The repository where the object will reside"}],"argline":"git_tree **tree, git_repository *repo","sig":"git_tree **::git_repository *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Create a new in-memory git_tree.","comments":"The tree object must be manually filled using\nsetter methods before it can be written to its\nrepository.\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":"Get the id of a tree.\n@param tree a previously loaded tree.\n@return object identity for the tree.","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":"size_t","comment":"the number of entries in the tree"},"description":"Get the number of entries listed in a tree\n@param tree a previously loaded tree.\n@return the number of entries in the tree","comments":"","group":"tree"},"git_tree_entry_byname":{"type":"function","file":"tree.h","line":94,"lineto":94,"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":"git_tree_entry *","comment":"the tree entry; NULL if not found"},"description":"Lookup a tree entry by its filename\n@param tree a previously loaded tree.\n@param filename the filename of the desired entry\n@return the tree entry; NULL if not found","comments":"","group":"tree"},"git_tree_entry_byindex":{"type":"function","file":"tree.h","line":102,"lineto":102,"args":[{"name":"tree","type":"git_tree *","comment":"a previously loaded tree."},{"name":"idx","type":"int","comment":"the position in the entry list"}],"argline":"git_tree *tree, int idx","sig":"git_tree *::int","return":{"type":"git_tree_entry *","comment":"the tree entry; NULL if not found"},"description":"Lookup a tree entry by its position in the tree\n@param tree a previously loaded tree.\n@param idx the position in the entry list\n@return the tree entry; NULL if not found","comments":"","group":"tree"},"git_tree_entry_attributes":{"type":"function","file":"tree.h","line":109,"lineto":109,"args":[{"name":"entry","type":"git_tree_entry *","comment":"a tree entry"}],"argline":"git_tree_entry *entry","sig":"git_tree_entry *","return":{"type":"unsigned int","comment":"attributes as an integer"},"description":"Get the UNIX file attributes of a tree entry\n@param entry a tree entry\n@return attributes as an integer","comments":"","group":"tree"},"git_tree_entry_name":{"type":"function","file":"tree.h","line":116,"lineto":116,"args":[{"name":"entry","type":"git_tree_entry *","comment":"a tree entry"}],"argline":"git_tree_entry *entry","sig":"git_tree_entry *","return":{"type":"const char *","comment":"the name of the file"},"description":"Get the filename of a tree entry\n@param entry a tree entry\n@return the name of the file","comments":"","group":"tree"},"git_tree_entry_id":{"type":"function","file":"tree.h","line":123,"lineto":123,"args":[{"name":"entry","type":"git_tree_entry *","comment":"a tree entry"}],"argline":"git_tree_entry *entry","sig":"git_tree_entry *","return":{"type":"const git_oid *","comment":"the oid of the object"},"description":"Get the id of the object pointed by the entry\n@param entry a tree entry\n@return the oid of the object","comments":"","group":"tree"},"git_tree_entry_2object":{"type":"function","file":"tree.h","line":132,"lineto":132,"args":[{"name":"object","type":"git_object **","comment":"pointer to the converted object"},{"name":"entry","type":"git_tree_entry *","comment":"a tree entry"}],"argline":"git_object **object, git_tree_entry *entry","sig":"git_object **::git_tree_entry *","return":{"type":"int","comment":"a reference to the pointed object in the repository"},"description":"Convert a tree entry to the git_object it points too.","comments":"","group":"tree"},"git_tree_add_entry":{"type":"function","file":"tree.h","line":149,"lineto":149,"args":[{"name":"entry_out","type":"git_tree_entry **","comment":"Pointer to the entry that just got created. May be NULL if you are not interested on getting the new entry"},{"name":"tree","type":"git_tree *","comment":"Tree object to store the entry @iparam id OID for the tree entry"},{"name":"id","type":"const git_oid *"},{"name":"filename","type":"const char *","comment":"Filename for the tree entry"},{"name":"attributes","type":"int","comment":"UNIX file attributes for the entry"}],"argline":"git_tree_entry **entry_out, git_tree *tree, const git_oid *id, const char *filename, int attributes","sig":"git_tree_entry **::git_tree *::const git_oid *::const char *::int","return":{"type":"int","comment":"0 on success; otherwise error code"},"description":"Add a new entry to a tree and return the new entry.","comments":"This will mark the tree as modified; the new entry will\nbe written back to disk on the next git_object_write()\n","group":"tree"},"git_tree_remove_entry_byindex":{"type":"function","file":"tree.h","line":163,"lineto":163,"args":[{"name":"tree","type":"git_tree *","comment":"Tree where to remove the entry"},{"name":"idx","type":"int","comment":"index of the entry"}],"argline":"git_tree *tree, int idx","sig":"git_tree *::int","return":{"type":"int","comment":"0 on successful removal; GIT_ENOTFOUND if the entry wasn't found"},"description":"Remove an entry by its index.","comments":"Index must be >= 0 and < than git_tree_entrycount().\n\nThis will mark the tree as modified; the modified entry will\nbe written back to disk on the next git_object_write()\n","group":"tree"},"git_tree_remove_entry_byname":{"type":"function","file":"tree.h","line":175,"lineto":175,"args":[{"name":"tree","type":"git_tree *","comment":"Tree where to remove the entry"},{"name":"filename","type":"const char *","comment":"File name of the entry"}],"argline":"git_tree *tree, const char *filename","sig":"git_tree *::const char *","return":{"type":"int","comment":"0 on successful removal; GIT_ENOTFOUND if the entry wasn't found"},"description":"Remove an entry by its filename.","comments":"This will mark the tree as modified; the modified entry will\nbe written back to disk on the next git_object_write()\n","group":"tree"},"git_tree_clear_entries":{"type":"function","file":"tree.h","line":185,"lineto":185,"args":[{"name":"tree","type":"git_tree *","comment":"Tree object whose entries are to be sorted"}],"argline":"git_tree *tree","sig":"git_tree *","return":{"type":"void"},"description":"Clear all the entries in a tree.","comments":"This will mark the tree as modified; the modified entry will\nbe written back to disk on the next git_object_write().\n","group":"tree"},"git_tree_entry_set_id":{"type":"function","file":"tree.h","line":196,"lineto":196,"args":[{"name":"entry","type":"git_tree_entry *","comment":"Entry object which will be modified"},{"name":"oid","type":"const git_oid *","comment":"new SHA1 oid for the entry"}],"argline":"git_tree_entry *entry, const git_oid *oid","sig":"git_tree_entry *::const git_oid *","return":{"type":"void"},"description":"Change the SHA1 id of a tree entry.","comments":"This will mark the tree that contains the entry as modified;\nthe modified entry will be written back to disk on the next git_object_write()\n","group":"tree"},"git_tree_entry_set_name":{"type":"function","file":"tree.h","line":207,"lineto":207,"args":[{"name":"entry","type":"git_tree_entry *","comment":"Entry object which will be modified"},{"name":"name","type":"const char *"}],"argline":"git_tree_entry *entry, const char *name","sig":"git_tree_entry *::const char *","return":{"type":"void"},"description":"Change the filename of a tree entry.","comments":"This will mark the tree that contains the entry as modified;\nthe modified entry will be written back to disk on the next git_object_write()\n","group":"tree"},"git_tree_entry_set_attributes":{"type":"function","file":"tree.h","line":219,"lineto":219,"args":[{"name":"entry","type":"git_tree_entry *","comment":"Entry object which will be modified"},{"name":"attr","type":"unsigned int"}],"argline":"git_tree_entry *entry, unsigned int attr","sig":"git_tree_entry *::unsigned int","return":{"type":"int","comment":"0 if the attributes were properly set; error code otherwise"},"description":"Change the attributes of a tree entry.","comments":"This will mark the tree that contains the entry as modified;\nthe modified entry will be written back to disk on the next git_object_write()\n","group":"tree"},"git_tag_lookup":{"type":"function","file":"tag.h","line":52,"lineto":55,"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 on success; error code otherwise"},"description":"Lookup a tag object from the repository.\nThe generated tag object is owned by the revision\nrepo and shall not be freed by the user.","comments":"","group":"tag"},"git_tag_new":{"type":"function","file":"tag.h","line":68,"lineto":71,"args":[{"name":"tag","type":"git_tag **","comment":"pointer to the new tag"},{"name":"repo","type":"git_repository *","comment":"The repository where the object will reside"}],"argline":"git_tag **tag, git_repository *repo","sig":"git_tag **::git_repository *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Create a new in-memory git_tag.","comments":"The tag object must be manually filled using\nsetter methods before it can be written to its\nrepository.\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":"Get the id of a tag.\n@param tag a previously loaded tag.\n@return object identity for the tag.","comments":"","group":"tag"},"git_tag_target":{"type":"function","file":"tag.h","line":86,"lineto":86,"args":[{"name":"target","type":"git_object **","comment":"pointer where to store the target"},{"name":"t","type":"git_tag *","comment":"arget pointer where to store the target"}],"argline":"git_object **target, git_tag *t","sig":"git_object **::git_tag *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Get the tagged object of a tag\n@param target pointer where to store the target\n@param tag a previously loaded tag.\n@return 0 on success; error code otherwise","comments":"","group":"tag"},"git_tag_target_oid":{"type":"function","file":"tag.h","line":93,"lineto":93,"args":[{"name":"t","type":"git_tag *","comment":"ag a previously loaded tag."}],"argline":"git_tag *t","sig":"git_tag *","return":{"type":"const git_oid *","comment":"pointer to the OID"},"description":"Get the OID of the tagged object of a tag\n@param tag a previously loaded tag.\n@return pointer to the OID","comments":"","group":"tag"},"git_tag_type":{"type":"function","file":"tag.h","line":100,"lineto":100,"args":[{"name":"t","type":"git_tag *","comment":"ag a previously loaded tag."}],"argline":"git_tag *t","sig":"git_tag *","return":{"type":"git_otype","comment":"type of the tagged object"},"description":"Get the type of a tag's tagged object\n@param tag a previously loaded tag.\n@return type of the tagged object","comments":"","group":"tag"},"git_tag_name":{"type":"function","file":"tag.h","line":107,"lineto":107,"args":[{"name":"t","type":"git_tag *","comment":"ag a previously loaded tag."}],"argline":"git_tag *t","sig":"git_tag *","return":{"type":"const char *","comment":"name of the tag"},"description":"Get the name of a tag\n@param tag a previously loaded tag.\n@return name of the tag","comments":"","group":"tag"},"git_tag_tagger":{"type":"function","file":"tag.h","line":114,"lineto":114,"args":[{"name":"t","type":"git_tag *","comment":"ag a previously loaded tag."}],"argline":"git_tag *t","sig":"git_tag *","return":{"type":"const git_signature *","comment":"reference to the tag's author"},"description":"Get the tagger (author) of a tag\n@param tag a previously loaded tag.\n@return reference to the tag's author","comments":"","group":"tag"},"git_tag_message":{"type":"function","file":"tag.h","line":121,"lineto":121,"args":[{"name":"t","type":"git_tag *","comment":"ag a previously loaded tag."}],"argline":"git_tag *t","sig":"git_tag *","return":{"type":"const char *","comment":"message of the tag"},"description":"Get the message of a tag\n@param tag a previously loaded tag.\n@return message of the tag","comments":"","group":"tag"},"git_tag_set_target":{"type":"function","file":"tag.h","line":128,"lineto":128,"args":[{"name":"tag","type":"git_tag *","comment":"The tag to modify"},{"name":"target","type":"git_object *","comment":"the new tagged target"}],"argline":"git_tag *tag, git_object *target","sig":"git_tag *::git_object *","return":{"type":"int"},"description":"Set the target of a tag (i.e. the object that the tag points to)\n@param tag The tag to modify\n@param target the new tagged target","comments":"","group":"tag"},"git_tag_set_name":{"type":"function","file":"tag.h","line":135,"lineto":135,"args":[{"name":"tag","type":"git_tag *","comment":"The tag to modify"},{"name":"name","type":"const char *","comment":"the new name for the tag"}],"argline":"git_tag *tag, const char *name","sig":"git_tag *::const char *","return":{"type":"void"},"description":"Set the name of a tag\n@param tag The tag to modify\n@param name the new name for the tag","comments":"","group":"tag"},"git_tag_set_tagger":{"type":"function","file":"tag.h","line":143,"lineto":143,"args":[{"name":"tag","type":"git_tag *","comment":"The tag to modify"},{"name":"tagger_sig","type":"const git_signature *","comment":"signature of the tagging action"}],"argline":"git_tag *tag, const git_signature *tagger_sig","sig":"git_tag *::const git_signature *","return":{"type":"void","comment":"0 on success; error code otherwise"},"description":"Set the tagger of a tag\n@param tag The tag to modify\n@param tagger_sig signature of the tagging action\n@return 0 on success; error code otherwise","comments":"","group":"tag"},"git_tag_set_message":{"type":"function","file":"tag.h","line":150,"lineto":150,"args":[{"name":"tag","type":"git_tag *","comment":"The tag to modify"},{"name":"message","type":"const char *","comment":"the new tagger for the tag"}],"argline":"git_tag *tag, const char *message","sig":"git_tag *::const char *","return":{"type":"void"},"description":"Set the message of a tag\n@param tag The tag to modify\n@param message the new tagger for the tag","comments":"","group":"tag"},"git_signature_new":{"type":"function","file":"signature.h","line":50,"lineto":50,"args":[{"name":"name","type":"const char *"},{"name":"email","type":"const char *"},{"name":"time","type":"time_t"},{"name":"offset","type":"int"}],"argline":"const char *name, const char *email, time_t time, int offset","sig":"const char *::const char *::time_t::int","return":{"type":"git_signature *","comment":"the new sig, NULl on out of memory"},"description":"Create a new action signature. The signature must be freed\nmanually or using git_signature_free","comments":"@name name of the person\n@email email of the person\n@time time when the action happened\n@offset timezone offset in minutes for the time","group":"signature"},"git_signature_dup":{"type":"function","file":"signature.h","line":59,"lineto":59,"args":[{"name":"sig","type":"const git_signature *"}],"argline":"const git_signature *sig","sig":"const git_signature *","return":{"type":"git_signature *","comment":"a copy of sig, NULL on out of memory"},"description":"Create a copy of an existing signature.","comments":"All internal strings are also duplicated.\n@sig signature to duplicated","group":"signature"},"git_signature_free":{"type":"function","file":"signature.h","line":66,"lineto":66,"args":[{"name":"sig","type":"git_signature *"}],"argline":"git_signature *sig","sig":"git_signature *","return":{"type":"void"},"description":"Free an existing signature","comments":"@sig signature to free","group":"signature"},"git_revwalk_new":{"type":"function","file":"revwalk.h","line":77,"lineto":77,"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 on success; error code otherwise"},"description":"Allocate a new revision walker to iterate through a repo.","comments":"","group":"revwalk"},"git_revwalk_reset":{"type":"function","file":"revwalk.h","line":83,"lineto":83,"args":[{"name":"walker","type":"git_revwalk *","comment":"handle to reset."}],"argline":"git_revwalk *walker","sig":"git_revwalk *","return":{"type":"void"},"description":"Reset the walking machinery for reuse.\n@param walker handle to reset.","comments":"","group":"revwalk"},"git_revwalk_push":{"type":"function","file":"revwalk.h","line":92,"lineto":92,"args":[{"name":"walk","type":"git_revwalk *","comment":"er the walker being used for the traversal."},{"name":"oid","type":"const git_oid *"}],"argline":"git_revwalk *walk, const git_oid *oid","sig":"git_revwalk *::const git_oid *","return":{"type":"int"},"description":"Mark a commit to start traversal from.\nThe commit object must belong to the repo which is being walked through.","comments":"","group":"revwalk"},"git_revwalk_hide":{"type":"function","file":"revwalk.h","line":100,"lineto":100,"args":[{"name":"walk","type":"git_revwalk *","comment":"er the walker being used for the traversal."},{"name":"oid","type":"const git_oid *"}],"argline":"git_revwalk *walk, const git_oid *oid","sig":"git_revwalk *::const git_oid *","return":{"type":"int"},"description":"Mark a commit (and its ancestors) uninteresting for the output.\n@param walker the walker being used for the traversal.\n@param commit the commit that will be ignored during the traversal","comments":"","group":"revwalk"},"git_revwalk_next":{"type":"function","file":"revwalk.h","line":110,"lineto":110,"args":[{"name":"oid","type":"git_oid *"},{"name":"walk","type":"git_revwalk *","comment":"the walker to pop the commit from."}],"argline":"git_oid *oid, git_revwalk *walk","sig":"git_oid *::git_revwalk *","return":{"type":"int","comment":"GIT_SUCCESS if the next commit was found; GIT_EREVWALKOVER if there are no commits left to iterate"},"description":"Get the next commit from the revision traversal.","comments":"","group":"revwalk"},"git_revwalk_sorting":{"type":"function","file":"revwalk.h","line":119,"lineto":119,"args":[{"name":"walk","type":"git_revwalk *","comment":"the walker being used for the traversal."},{"name":"sort_mode","type":"unsigned int","comment":"combination of GIT_RPSORT_XXX flags"}],"argline":"git_revwalk *walk, unsigned int sort_mode","sig":"git_revwalk *::unsigned int","return":{"type":"int"},"description":"Change the sorting mode when iterating through the\nrepository's contents.\nChanging the sorting mode resets the walker.\n@param walk the walker being used for the traversal.\n@param sort_mode combination of GIT_RPSORT_XXX flags","comments":"","group":"revwalk"},"git_revwalk_free":{"type":"function","file":"revwalk.h","line":125,"lineto":125,"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"},"description":"Free a revwalk previously allocated.\n@param walk traversal handle to close. If NULL nothing occurs.","comments":"","group":"revwalk"},"git_revwalk_repository":{"type":"function","file":"revwalk.h","line":134,"lineto":134,"args":[{"name":"walk","type":"git_revwalk *","comment":"the revision walker"}],"argline":"git_revwalk *walk","sig":"git_revwalk *","return":{"type":"git_repository *","comment":"the repository being walked"},"description":"Return the repository on which this walker\nis operating.","comments":"","group":"revwalk"},"git_repository_open":{"type":"function","file":"repository.h","line":64,"lineto":64,"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 on success; error code otherwise"},"description":"Open a git repository.","comments":"The 'path' argument must point to an existing git repository\nfolder, e.g.\n\n\t/path/to/my_repo/.git/\t(normal repository)\n\t\t\t\t\t\tobjects/\n\t\t\t\t\t\tindex\n\t\t\t\t\t\tHEAD\n\n\t/path/to/bare_repo/\t\t(bare repository)\n\t\t\t\t\tobjects/\n\t\t\t\t\tindex\n\t\t\t\t\tHEAD\n\nThe method will automatically detect if 'path' is a normal\nor bare repository or fail is 'path' is neither.\n","group":"repository"},"git_repository_open2":{"type":"function","file":"repository.h","line":93,"lineto":97,"args":[{"name":"repository","type":"git_repository **","comment":"pointer to the repo which will be opened"},{"name":"git_dir","type":"const char *","comment":"The full path to the repository folder e.g. a '.git' folder for live repos, any folder for bare Equivalent to $GIT_DIR. Cannot be NULL."},{"name":"git_object_directory","type":"const char *","comment":"The full path to the ODB folder. the folder where all the loose and packed objects are stored Equivalent to $GIT_OBJECT_DIRECTORY. If NULL, \"$GIT_DIR/objects/\" is assumed."},{"name":"git_index_file","type":"const char *","comment":"The full path to the index (dircache) file Equivalent to $GIT_INDEX_FILE. If NULL, \"$GIT_DIR/index\" is assumed."},{"name":"git_work_tree","type":"const char *","comment":"The full path to the working tree of the repository, if the repository is not bare. Equivalent to $GIT_WORK_TREE. If NULL, the repository is assumed to be bare."}],"argline":"git_repository **repository,\n\t\tconst char *git_dir,\n\t\tconst char *git_object_directory,\n\t\tconst char *git_index_file,\n\t\tconst char *git_work_tree","sig":"git_repository **::const char *::const char *::const char *::const char *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Open a git repository by manually specifying all its paths","comments":"","group":"repository"},"git_repository_open3":{"type":"function","file":"repository.h","line":128,"lineto":132,"args":[{"name":"repository","type":"git_repository **","comment":"pointer to the repo which will be opened"},{"name":"git_dir","type":"const char *","comment":"The full path to the repository folder e.g. a '.git' folder for live repos, any folder for bare Equivalent to $GIT_DIR. Cannot be NULL."},{"name":"object_database","type":"git_odb *","comment":"A pointer to a git_odb created & initialized by the user (e.g. with custom backends). This object database will be owned by the repository and will be automatically free'd. It should not be manually free'd by the user, or this git_repository object will become invalid."},{"name":"git_index_file","type":"const char *","comment":"The full path to the index (dircache) file Equivalent to $GIT_INDEX_FILE. If NULL, \"$GIT_DIR/index\" is assumed."},{"name":"git_work_tree","type":"const char *","comment":"The full path to the working tree of the repository, if the repository is not bare. Equivalent to $GIT_WORK_TREE. If NULL, the repository is assumed to be bare."}],"argline":"git_repository **repository,\n\t\tconst char *git_dir,\n\t\tgit_odb *object_database,\n\t\tconst char *git_index_file,\n\t\tconst char *git_work_tree","sig":"git_repository **::const char *::git_odb *::const char *::const char *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Open a git repository by manually specifying its paths and\nthe object database it will use.","comments":"","group":"repository"},"git_repository_database":{"type":"function","file":"repository.h","line":141,"lineto":141,"args":[{"name":"repo","type":"git_repository *","comment":"a repository object"}],"argline":"git_repository *repo","sig":"git_repository *","return":{"type":"git_odb *","comment":"a pointer to the object db"},"description":"Get the object database behind a Git repository","comments":"","group":"repository"},"git_repository_index":{"type":"function","file":"repository.h","line":153,"lineto":153,"args":[{"name":"index","type":"git_index **","comment":"Pointer where to store the index"},{"name":"repo","type":"git_repository *","comment":"a repository object"}],"argline":"git_index **index, git_repository *repo","sig":"git_index **::git_repository *","return":{"type":"int","comment":"0 on success; error code if the index could not be opened"},"description":"Get the Index file of a Git repository","comments":"This is a cheap operation; the index is only opened on the first call,\nand subsequent calls only retrieve the previous pointer.\n","group":"repository"},"git_repository_free":{"type":"function","file":"repository.h","line":160,"lineto":160,"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"},"description":"Free a previously allocated repository","comments":"","group":"repository"},"git_repository_close":{"type":"function","file":"repository.h","line":170,"lineto":170,"args":[{"name":"repo","type":"git_repository *","comment":"repository handle to collect. If NULL nothing occurs."}],"argline":"git_repository *repo","sig":"git_repository *","return":{"type":"void"},"description":"Force a garbage collector pass on the repository","comments":"This will force-free any cached objects that have been\npreviously marked by the user as closed (`git_object_close`).\n","group":"repository"},"git_repository_init":{"type":"function","file":"repository.h","line":187,"lineto":187,"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","comment":"if true, a Git repository without a working directory is created at the pointed path. If false, provided path will be considered as the working directory into which the .git directory will be created."}],"argline":"git_repository **repo_out, const char *path, unsigned is_bare","sig":"git_repository **::const char *::unsigned","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Creates a new Git repository in the given folder.","comments":"TODO:\n- Reinit the repository\n- Create config files\n","group":"repository"},"git_reference_lookup":{"type":"function","file":"refs.h","line":52,"lineto":52,"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 on success; error code otherwise"},"description":"Lookup a reference by its name in a repository.","comments":"The generated reference is owned by the repository and\nshould not be freed by the user.\n","group":"reference"},"git_reference_create_symbolic":{"type":"function","file":"refs.h","line":69,"lineto":69,"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"}],"argline":"git_reference **ref_out, git_repository *repo, const char *name, const char *target","sig":"git_reference **::git_repository *::const char *::const char *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Create a new symbolic reference.","comments":"The reference will be created in the repository and written\nto the disk.\n\nThis reference is owned by the repository and shall not\nbe free'd by the user.\n","group":"reference"},"git_reference_create_oid":{"type":"function","file":"refs.h","line":86,"lineto":86,"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."}],"argline":"git_reference **ref_out, git_repository *repo, const char *name, const git_oid *id","sig":"git_reference **::git_repository *::const char *::const git_oid *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Create a new object id reference.","comments":"The reference will be created in the repository and written\nto the disk.\n\nThis reference is owned by the repository and shall not\nbe free'd by the user.\n","group":"reference"},"git_reference_oid":{"type":"function","file":"refs.h","line":96,"lineto":96,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"const git_oid *","comment":"a pointer to the oid if available, NULL otherwise"},"description":"Get the OID pointed to by a reference.","comments":"Only available if the reference is direct (i.e. not symbolic)\n","group":"reference"},"git_reference_target":{"type":"function","file":"refs.h","line":106,"lineto":106,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"const char *","comment":"a pointer to the name if available, NULL otherwise"},"description":"Get full name to the reference pointed by this reference","comments":"Only available if the reference is symbolic\n","group":"reference"},"git_reference_type":{"type":"function","file":"refs.h","line":116,"lineto":116,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"git_rtype","comment":"the type"},"description":"Get the type of a reference","comments":"Either direct (GIT_REF_OID) or symbolic (GIT_REF_SYMBOLIC)\n","group":"reference"},"git_reference_name":{"type":"function","file":"refs.h","line":124,"lineto":124,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"const char *","comment":"the full name for the ref"},"description":"Get the full name of a reference","comments":"","group":"reference"},"git_reference_resolve":{"type":"function","file":"refs.h","line":139,"lineto":139,"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 on success; error code otherwise"},"description":"Resolve a symbolic reference","comments":"Thie method iteratively peels a symbolic reference\nuntil it resolves to a direct reference to an OID.\n\nIf a direct reference is passed as an argument,\nthat reference is returned immediately\n","group":"reference"},"git_reference_owner":{"type":"function","file":"refs.h","line":147,"lineto":147,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"git_repository *","comment":"a pointer to the repo"},"description":"Get the repository where a reference resides","comments":"","group":"reference"},"git_reference_set_target":{"type":"function","file":"refs.h","line":162,"lineto":162,"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 on success; error code otherwise"},"description":"Set the symbolic target of a reference.","comments":"The reference must be a symbolic reference, otherwise\nthis method will fail.\n\nThe reference will be automatically updated in\nmemory and on disk.\n","group":"reference"},"git_reference_set_oid":{"type":"function","file":"refs.h","line":177,"lineto":177,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"},{"name":"id","type":"const git_oid *"}],"argline":"git_reference *ref, const git_oid *id","sig":"git_reference *::const git_oid *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Set the OID target of a reference.","comments":"The reference must be a direct reference, otherwise\nthis method will fail.\n\nThe reference will be automatically updated in\nmemory and on disk.\n","group":"reference"},"git_reference_rename":{"type":"function","file":"refs.h","line":190,"lineto":190,"args":[{"name":"ref","type":"git_reference *"},{"name":"new_name","type":"const char *"}],"argline":"git_reference *ref, const char *new_name","sig":"git_reference *::const char *","return":{"type":"int"},"description":"Rename an existing reference","comments":"This method works for both direct and symbolic references.\nThe new name will be checked for validity and may be\nmodified into a normalized form.\n\nThe refernece will be immediately renamed in-memory\nand on disk.","group":"reference"},"git_reference_delete":{"type":"function","file":"refs.h","line":201,"lineto":201,"args":[{"name":"ref","type":"git_reference *"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"int"},"description":"Delete an existing reference","comments":"This method works for both direct and symbolic references.\n\nThe reference will be immediately removed on disk and from\nmemory. The given reference pointer will no longer be valid.","group":"reference"},"git_reference_packall":{"type":"function","file":"refs.h","line":219,"lineto":219,"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 on success; error code otherwise"},"description":"Pack all the loose references in the repository","comments":"This method will load into the cache all the loose\nreferences on the repository and update the \n`packed-refs` file with them.\n\nOnce the `packed-refs` file has been written properly,\nthe loose references will be removed from disk.\n\nWARNING: calling this method may invalidate any existing\nreferences previously loaded on the cache.\n","group":"reference"},"git_reference_listall":{"type":"function","file":"refs.h","line":242,"lineto":242,"args":[{"name":"array","type":"git_strarray *","comment":"Pointer to a git_strarray structure where the 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 listing."}],"argline":"git_strarray *array, git_repository *repo, unsigned int list_flags","sig":"git_strarray *::git_repository *::unsigned int","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Fill a list with all the references that can be found\nin a repository.","comments":"The listed references may be filtered by type, or using\na bitwise OR of several types. Use the magic value\n`GIT_REF_LISTALL` to obtain all references, including\npacked ones.\n\nThe string array will be filled with the names of all\nreferences; these values are owned by the user and\nshould be free'd manually when no longer needed, using\n`git_strarray_free`.\n","group":"reference"},"git_oid_mkstr":{"type":"function","file":"oid.h","line":60,"lineto":60,"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 the hex sequence and have at least the number of bytes needed for an oid encoded in hex (40 bytes)."}],"argline":"git_oid *out, const char *str","sig":"git_oid *::const char *","return":{"type":"int","comment":"GIT_SUCCESS if valid; GIT_ENOTOID on failure."},"description":"Parse a hex formatted object id into a git_oid.\n@param out oid structure the result is written into.\n@param str input hex string; must be pointing at the start of\n the hex sequence and have at least the number of bytes\n needed for an oid encoded in hex (40 bytes).\n@return GIT_SUCCESS if valid; GIT_ENOTOID on failure.","comments":"","group":"oid"},"git_oid_mkraw":{"type":"function","file":"oid.h","line":67,"lineto":67,"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"},"description":"Copy an already raw oid into a git_oid structure.\n@param out oid structure the result is written into.\n@param raw the raw input bytes to be copied.","comments":"","group":"oid"},"git_oid_fmt":{"type":"function","file":"oid.h","line":78,"lineto":78,"args":[{"name":"str","type":"char *","comment":"output hex string; must be pointing at the start of the hex sequence and have at least the number of bytes needed for an oid encoded in hex (40 bytes). Only the oid digits are written; a '\\\\0' terminator must be added by 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"},"description":"Format a git_oid into a hex string.\n@param str output hex string; must be pointing at the start of\n the hex sequence and have at least the number of bytes\n needed for an oid encoded in hex (40 bytes). Only the\n oid digits are written; a '\\\\0' terminator must be added\n by the caller if it is required.\n@param oid oid structure to format.","comments":"","group":"oid"},"git_oid_pathfmt":{"type":"function","file":"oid.h","line":93,"lineto":93,"args":[{"name":"str","type":"char *","comment":"output hex string; must be pointing at the start of the hex sequence and have at least the number of bytes needed for an oid encoded in hex (41 bytes). Only the oid digits are written; a '\\\\0' terminator must be added by 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"},"description":"Format a git_oid into a loose-object path string.\n<p>\nThe resulting string is \"aa/...\", where \"aa\" is the first two\nhex digitis of the oid and \"...\" is the remaining 38 digits.","comments":"","group":"oid"},"git_oid_allocfmt":{"type":"function","file":"oid.h","line":101,"lineto":101,"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 deallocate the string with free()."},"description":"Format a gid_oid into a newly allocated c-string.\n@param oid the oid structure to format\n@return the c-string; NULL if memory is exhausted. Caller must\n deallocate the string with free().","comments":"","group":"oid"},"git_oid_to_string":{"type":"function","file":"oid.h","line":118,"lineto":118,"args":[{"name":"out","type":"char *","comment":"the buffer into which the oid string is output."},{"name":"n","type":"size_t","comment":"the size of the out buffer."},{"name":"oid","type":"const git_oid *","comment":"the oid structure to format."}],"argline":"char *out, size_t n, const git_oid *oid","sig":"char *::size_t::const git_oid *","return":{"type":"char *","comment":"the out buffer pointer, assuming no input parameter errors, otherwise a pointer to an empty string."},"description":"Format a git_oid into a buffer as a hex format c-string.\n<p>\nIf the buffer is smaller than GIT_OID_HEXSZ+1, then the resulting\noid c-string will be truncated to n-1 characters. If there are\nany input parameter errors (out == NULL, n == 0, oid == NULL),\nthen a pointer to an empty string is returned, so that the return\nvalue can always be printed.","comments":"","group":"oid"},"git_oid_cpy":{"type":"function","file":"oid.h","line":125,"lineto":125,"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"},"description":"Copy an oid from one structure to another.\n@param out oid structure the result is written into.\n@param src oid structure to copy from.","comments":"","group":"oid"},"git_oid_cmp":{"type":"function","file":"oid.h","line":133,"lineto":133,"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":"<0, 0, >0 if a < b, a == b, a > b."},"description":"Compare two oid structures.\n@param a first oid structure.\n@param b second oid structure.\n@return <0, 0, >0 if a < b, a == b, a > b.","comments":"","group":"oid"},"git_oid_shorten_new":{"type":"function","file":"oid.h","line":154,"lineto":154,"args":[{"name":"min_length","type":"size_t","comment":"The minimal length for all identifiers, which will be used even if shorter OIDs would still be unique."}],"argline":"size_t min_length","sig":"size_t","return":{"type":"git_oid_shorten *","comment":"a `git_oid_shorten` instance, NULL if OOM"},"description":"Create a new OID shortener.","comments":"The OID shortener is used to process a list of OIDs\nin text form and return the shortest length that would\nuniquely identify all of them.\n\nE.g. look at the result of `git log --abbrev`.\n","group":"oid"},"git_oid_shorten_add":{"type":"function","file":"oid.h","line":180,"lineto":180,"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 added so far to the set; or an error code (<0) if an error occurs."},"description":"Add a new OID to set of shortened OIDs and calculate\nthe minimal length to uniquely identify all the OIDs in\nthe set.","comments":"The OID is expected to be a 40-char hexadecimal string.\nThe OID is owned by the user and will not be modified\nor freed.\n\nFor performance reasons, there is a hard-limit of how many\nOIDs can be added to a single set (around ~22000, assuming\na mostly randomized distribution), which should be enough\nfor any kind of program, and keeps the algorithm fast and\nmemory-efficient.\n\nAttempting to add more than those OIDs will result in a\nGIT_ENOMEM error\n","group":"oid"},"git_oid_shorten_free":{"type":"function","file":"oid.h","line":187,"lineto":187,"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"},"description":"Free an OID shortener instance","comments":"","group":"oid"},"git_odb_new":{"type":"function","file":"odb.h","line":52,"lineto":52,"args":[{"name":"out","type":"git_odb **","comment":"location to store the database pointer, if opened. Set to NULL if the open failed."}],"argline":"git_odb **out","sig":"git_odb **","return":{"type":"int","comment":"GIT_SUCCESS if the database was created; otherwise an error code describing why the open was not possible."},"description":"Create a new object database with no backends.","comments":"Before the ODB can be used for read/writing, a custom database\nbackend must be manually added using `git_odb_add_backend()`\n","group":"odb"},"git_odb_open":{"type":"function","file":"odb.h","line":71,"lineto":71,"args":[{"name":"out","type":"git_odb **","comment":"location to store the database pointer, if opened. Set to NULL if the open failed."},{"name":"objects_dir","type":"const char *","comment":"path of the backends' \"objects\" directory."}],"argline":"git_odb **out, const char *objects_dir","sig":"git_odb **::const char *","return":{"type":"int","comment":"GIT_SUCCESS if the database opened; otherwise an error code describing why the open was not possible."},"description":"Create a new object database and automatically add\nthe two default backends:","comments":"- git_odb_backend_loose: read and write loose object files\n\tfrom disk, assuming `objects_dir` as the Objects folder\n\n- git_odb_backend_pack: read objects from packfiles,\n\tassuming `objects_dir` as the Objects folder which\n\tcontains a 'pack/' folder with the corresponding data\n","group":"odb"},"git_odb_add_backend":{"type":"function","file":"odb.h","line":82,"lineto":82,"args":[{"name":"odb","type":"git_odb *","comment":"database to add the backend to"},{"name":"backend","type":"git_odb_backend *"},{"name":"priority","type":"int"}],"argline":"git_odb *odb, git_odb_backend *backend, int priority","sig":"git_odb *::git_odb_backend *::int","return":{"type":"int","comment":"0 on sucess; error code otherwise"},"description":"Add a custom backend to an existing Object DB","comments":"Read <odb_backends.h> for more information.\n","group":"odb"},"git_odb_add_alternate":{"type":"function","file":"odb.h","line":99,"lineto":99,"args":[{"name":"odb","type":"git_odb *","comment":"database to add the backend to"},{"name":"backend","type":"git_odb_backend *"},{"name":"priority","type":"int"}],"argline":"git_odb *odb, git_odb_backend *backend, int priority","sig":"git_odb *::git_odb_backend *::int","return":{"type":"int","comment":"0 on sucess; error code otherwise"},"description":"Add a custom backend to an existing Object DB; this\nbackend will work as an alternate.","comments":"Alternate backends are always checked for objects *after*\nall the main backends have been exhausted.\n\nWriting is disabled on alternate backends.\n\nRead <odb_backends.h> for more information.\n","group":"odb"},"git_odb_close":{"type":"function","file":"odb.h","line":105,"lineto":105,"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"},"description":"Close an open object database.\n@param db database pointer to close. If NULL no action is taken.","comments":"","group":"odb"},"git_odb_read":{"type":"function","file":"odb.h","line":126,"lineto":126,"args":[{"name":"out","type":"git_rawobj *","comment":"object descriptor to populate upon reading."},{"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_rawobj *out, git_odb *db, const git_oid *id","sig":"git_rawobj *::git_odb *::const git_oid *","return":{"type":"int","comment":"- GIT_SUCCESS if the object was read; - GIT_ENOTFOUND if the object is not in the database."},"description":"Read an object from the database.","comments":"If GIT_ENOTFOUND then out->data is set to NULL.\n","group":"odb"},"git_odb_read_header":{"type":"function","file":"odb.h","line":145,"lineto":145,"args":[{"name":"out","type":"git_rawobj *","comment":"object descriptor to populate upon reading."},{"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_rawobj *out, git_odb *db, const git_oid *id","sig":"git_rawobj *::git_odb *::const git_oid *","return":{"type":"int","comment":"- GIT_SUCCESS if the object was read; - GIT_ENOTFOUND if the object is not in the database."},"description":"Read the header of an object from the database, without\nreading its full contents.","comments":"Only the 'type' and 'len' fields of the git_rawobj structure\nare filled. The 'data' pointer will always be NULL.\n\nThe raw object pointed by 'out' doesn't need to be manually\nclosed with git_rawobj_close().\n","group":"odb"},"git_odb_write":{"type":"function","file":"odb.h","line":157,"lineto":157,"args":[{"name":"id","type":"git_oid *","comment":"identity of the object written."},{"name":"db","type":"git_odb *","comment":"database to which the object should be written."},{"name":"obj","type":"git_rawobj *","comment":"object descriptor for the object to write."}],"argline":"git_oid *id, git_odb *db, git_rawobj *obj","sig":"git_oid *::git_odb *::git_rawobj *","return":{"type":"int","comment":"- GIT_SUCCESS if the object was written; - GIT_ERROR otherwise."},"description":"Write an object to the database.","comments":"","group":"odb"},"git_odb_exists":{"type":"function","file":"odb.h","line":168,"lineto":168,"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":"- true, if the object was found - false, otherwise"},"description":"Determine if the given object can be found in the object database.","comments":"","group":"odb"},"git_rawobj_hash":{"type":"function","file":"odb.h","line":186,"lineto":186,"args":[{"name":"id","type":"git_oid *","comment":"the resulting object-ID."},{"name":"obj","type":"git_rawobj *","comment":"the object whose hash is to be determined."}],"argline":"git_oid *id, git_rawobj *obj","sig":"git_oid *::git_rawobj *","return":{"type":"int","comment":"- GIT_SUCCESS if the object-ID was correctly determined. - GIT_ERROR if the given object is malformed."},"description":"Determine the object-ID (sha1 hash) of the given git_rawobj.","comments":"The input obj must be a valid loose object type and the data\npointer must not be NULL, unless the len field is also zero.\n","group":"rawobj"},"git_rawobj_close":{"type":"function","file":"odb.h","line":197,"lineto":197,"args":[{"name":"obj","type":"git_rawobj *","comment":"object descriptor to free."}],"argline":"git_rawobj *obj","sig":"git_rawobj *","return":{"type":"void"},"description":"Release all memory used by the obj structure.","comments":"As a result of this call, obj->data will be set to NULL.\n\nIf obj->data is already NULL, nothing happens.\n","group":"rawobj"},"git_object_lookup":{"type":"function","file":"object.h","line":58,"lineto":58,"args":[{"name":"object","type":"git_object **","comment":"pointer to the looked-up object"},{"name":"repo","type":"git_repository *","comment":"the repository to look up the object"},{"name":"id","type":"const git_oid *","comment":"the unique identifier for the object"},{"name":"type","type":"git_otype","comment":"the type of the object"}],"argline":"git_object **object, git_repository *repo, const git_oid *id, git_otype type","sig":"git_object **::git_repository *::const git_oid *::git_otype","return":{"type":"int","comment":"a reference to the object"},"description":"Lookup a reference to one of the objects in a repostory.","comments":"The generated reference is owned by the repository and\nshould not be freed by the user.\n\nThe 'type' parameter must match the type of the object\nin the odb; the method will fail otherwise.\nThe special value 'GIT_OBJ_ANY' may be passed to let\nthe method guess the object's type.\n","group":"object"},"git_object_new":{"type":"function","file":"object.h","line":81,"lineto":81,"args":[{"name":"object","type":"git_object **","comment":"pointer to the new object @parem repo Repository where the object belongs"},{"name":"repo","type":"git_repository *"},{"name":"type","type":"git_otype","comment":"Type of the object to be created"}],"argline":"git_object **object, git_repository *repo, git_otype type","sig":"git_object **::git_repository *::git_otype","return":{"type":"int","comment":"the new object"},"description":"Create a new in-memory repository object with\nthe given type.","comments":"The object's attributes can be filled in using the\ncorresponding setter methods.\n\nThe object will be written back to given git_repository\nwhen the git_object_write() function is called; objects\ncannot be written to disk until all their main\nattributes have been properly filled.\n\nObjects are instantiated with no SHA1 id; their id\nwill be automatically generated when writing to the\nrepository.\n","group":"object"},"git_object_write":{"type":"function","file":"object.h","line":101,"lineto":101,"args":[{"name":"object","type":"git_object *","comment":"Git object to write back"}],"argline":"git_object *object","sig":"git_object *","return":{"type":"int","comment":"0 on success; otherwise an error code"},"description":"Write back an object to disk.","comments":"The object will be written to its corresponding\nrepository.\n\nIf the object has no changes since it was first\nread from the repository, no actions will take place.\n\nIf the object has been modified since it was read from\nthe repository, or it has been created from scratch\nin memory, it will be written to the repository and\nits SHA1 ID will be updated accordingly.\n","group":"object"},"git_object_id":{"type":"function","file":"object.h","line":112,"lineto":112,"args":[{"name":"obj","type":"const git_object *","comment":"the repository object"}],"argline":"const git_object *obj","sig":"const git_object *","return":{"type":"const git_oid *","comment":"the SHA1 id"},"description":"Get the id (SHA1) of a repository object","comments":"In-memory objects created by git_object_new() do not\nhave a SHA1 ID until they are written on a repository.\n","group":"object"},"git_object_type":{"type":"function","file":"object.h","line":120,"lineto":120,"args":[{"name":"obj","type":"const git_object *","comment":"the repository object"}],"argline":"const git_object *obj","sig":"const git_object *","return":{"type":"git_otype","comment":"the object's type"},"description":"Get the object type of an object","comments":"","group":"object"},"git_object_owner":{"type":"function","file":"object.h","line":128,"lineto":128,"args":[{"name":"obj","type":"const git_object *","comment":"the object"}],"argline":"const git_object *obj","sig":"const git_object *","return":{"type":"git_repository *","comment":"the repository who owns this object"},"description":"Get the repository that owns this object","comments":"","group":"object"},"git_object_close":{"type":"function","file":"object.h","line":151,"lineto":151,"args":[{"name":"object","type":"git_object *","comment":"the object to close"}],"argline":"git_object *object","sig":"git_object *","return":{"type":"void"},"description":"Close an open object","comments":"This method instructs the library to close an existing\nobject; note that git_objects are owned and cached by the repository\nso the object may or may not be freed after this library call,\ndepending on how agressive is the caching mechanism used\nby the repository.\n\nIMPORTANT:\nIt is *not* necessary to call this method when you stop using\nan object, since all object memory is automatically reclaimed\nby the repository when it is freed.\n\nForgetting to call `git_object_close` does not cause memory\nleaks, but it's is recommended to close as soon as possible\nthe biggest objects (e.g. blobs) to prevent wasting memory\nspace.\n","group":"object"},"git_object_type2string":{"type":"function","file":"object.h","line":162,"lineto":162,"args":[{"name":"type","type":"git_otype","comment":"object type to convert."}],"argline":"git_otype type","sig":"git_otype","return":{"type":"const char *","comment":"the corresponding string representation."},"description":"Convert an object type to it's string representation.","comments":"The result is a pointer to a string in static memory and\nshould not be free()'ed.\n","group":"object"},"git_object_string2type":{"type":"function","file":"object.h","line":170,"lineto":170,"args":[{"name":"str","type":"const char *","comment":"the string to convert."}],"argline":"const char *str","sig":"const char *","return":{"type":"git_otype","comment":"the corresponding git_otype."},"description":"Convert a string object type representation to it's git_otype.","comments":"","group":"object"},"git_object_typeisloose":{"type":"function","file":"object.h","line":179,"lineto":179,"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, false otherwise."},"description":"Determine if the given git_otype is a valid loose object type.","comments":"","group":"object"},"git_object__size":{"type":"function","file":"object.h","line":193,"lineto":193,"args":[{"name":"type","type":"git_otype","comment":"object type to get its size"}],"argline":"git_otype type","sig":"git_otype","return":{"type":"size_t","comment":"size in bytes of the object"},"description":"Get the size in bytes for the structure which\nacts as an in-memory representation of any given\nobject type.","comments":"For all the core types, this would the equivalent\nof calling `sizeof(git_commit)` if the core types\nwere not opaque on the external API.\n","group":"object"},"git_index_open_bare":{"type":"function","file":"index.h","line":88,"lineto":88,"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 on success; error code otherwise"},"description":"Create a new Git index object as a memory representation\nof the Git index file in 'index_path', without a repository\nto back it.","comments":"Since there is no ODB behind this index, any Index methods\nwhich rely on the ODB (e.g. index_add) will fail with the\nGIT_EBAREINDEX error code.\n","group":"index"},"git_index_open_inrepo":{"type":"function","file":"index.h","line":98,"lineto":98,"args":[{"name":"index","type":"git_index **","comment":"_path the path to the index file in disk"},{"name":"repo","type":"git_repository *","comment":"the git repo which owns the index"}],"argline":"git_index **index, git_repository *repo","sig":"git_index **::git_repository *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Open the Index inside the git repository pointed\nby 'repo'.","comments":"","group":"index"},"git_index_clear":{"type":"function","file":"index.h","line":107,"lineto":107,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"void"},"description":"Clear the contents (all the entries) of an index object.\nThis clears the index object in memory; changes must be manually\nwritten to disk for them to take effect.","comments":"","group":"index"},"git_index_free":{"type":"function","file":"index.h","line":114,"lineto":114,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"void"},"description":"Free an existing index object.","comments":"","group":"index"},"git_index_read":{"type":"function","file":"index.h","line":123,"lineto":123,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"int","comment":"0 on success, otherwise an error code"},"description":"Update the contents of an existing index object in memory\nby reading from the hard disk.","comments":"","group":"index"},"git_index_write":{"type":"function","file":"index.h","line":132,"lineto":132,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"int","comment":"0 on success, otherwise an error code"},"description":"Write an existing index object from memory back to disk\nusing an atomic file lock.","comments":"","group":"index"},"git_index_find":{"type":"function","file":"index.h","line":142,"lineto":142,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"},{"name":"path","type":"const char *","comment":"path to search"}],"argline":"git_index *index, const char *path","sig":"git_index *::const char *","return":{"type":"int","comment":"an index >= 0 if found, -1 otherwise"},"description":"Find the first index of any entires which point to given\npath in the Git index.","comments":"","group":"index"},"git_index_add":{"type":"function","file":"index.h","line":152,"lineto":152,"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 on success, otherwise an error code"},"description":"Add or update an index entry from a file in disk.","comments":"","group":"index"},"git_index_remove":{"type":"function","file":"index.h","line":161,"lineto":161,"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 on success, otherwise an error code"},"description":"Remove an entry from the index","comments":"","group":"index"},"git_index_insert":{"type":"function","file":"index.h","line":174,"lineto":174,"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 on success, otherwise an error code"},"description":"Insert an entry into the index.\nA full copy (including the 'path' string) of the given\n'source_entry' will be inserted on the index; if the index\nalready contains an entry for the same path, the entry\nwill be updated.","comments":"","group":"index"},"git_index_get":{"type":"function","file":"index.h","line":186,"lineto":186,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"},{"name":"n","type":"int","comment":"the position of the entry"}],"argline":"git_index *index, int n","sig":"git_index *::int","return":{"type":"git_index_entry *","comment":"a pointer to the entry; NULL if out of bounds"},"description":"Get a pointer to one of the entries in the index","comments":"This entry can be modified, and the changes will be written\nback to disk on the next write() call.\n","group":"index"},"git_index_entrycount":{"type":"function","file":"index.h","line":194,"lineto":194,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"unsigned int","comment":"integer of count of current entries"},"description":"Get the count of entries currently in the index","comments":"","group":"index"},"git_strerror":{"type":"function","file":"errors.h","line":41,"lineto":41,"args":[{"name":"num","type":"int","comment":"The error code to explain"}],"argline":"int num","sig":"int","return":{"type":"const char *","comment":"a string explaining the error code"},"description":"strerror() for the Git library\n@param num The error code to explain\n@return a string explaining the error code","comments":"","group":"errors"},"git_commit_lookup":{"type":"function","file":"commit.h","line":53,"lineto":56,"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 an 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 on success; error code otherwise"},"description":"Lookup a commit object from a repository.\nThe generated commit object is owned by the revision\nrepo and shall not be freed by the user.","comments":"","group":"commit"},"git_commit_new":{"type":"function","file":"commit.h","line":69,"lineto":72,"args":[{"name":"commit","type":"git_commit **","comment":"pointer to the new commit"},{"name":"repo","type":"git_repository *","comment":"The repository where the object will reside"}],"argline":"git_commit **commit, git_repository *repo","sig":"git_commit **::git_repository *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Create a new in-memory git_commit.","comments":"The commit object must be manually filled using\nsetter methods before it can be written to its\nrepository.\n","group":"commit"},"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":"Get the id of a commit.\n@param commit a previously loaded commit.\n@return object identity for the commit.","comments":"","group":"commit"},"git_commit_message_short":{"type":"function","file":"commit.h","line":86,"lineto":86,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"const char *","comment":"the short message of a commit"},"description":"Get the short (one line) message of a commit.\n@param commit a previously loaded commit.\n@return the short message of a commit","comments":"","group":"commit"},"git_commit_message":{"type":"function","file":"commit.h","line":93,"lineto":93,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"const char *","comment":"the message of a commit"},"description":"Get the full message of a commit.\n@param commit a previously loaded commit.\n@return the message of a commit","comments":"","group":"commit"},"git_commit_time":{"type":"function","file":"commit.h","line":100,"lineto":100,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"time_t","comment":"the time of a commit"},"description":"Get the commit time (i.e. committer time) of a commit.\n@param commit a previously loaded commit.\n@return the time of a commit","comments":"","group":"commit"},"git_commit_time_offset":{"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":"int","comment":"positive or negative timezone offset, in minutes from UTC"},"description":"Get the commit timezone offset (i.e. committer's preferred timezone) of a commit.\n@param commit a previously loaded commit.\n@return positive or negative timezone offset, in minutes from UTC","comments":"","group":"commit"},"git_commit_committer":{"type":"function","file":"commit.h","line":114,"lineto":114,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"const git_signature *","comment":"the committer of a commit"},"description":"Get the committer of a commit.\n@param commit a previously loaded commit.\n@return the committer of a commit","comments":"","group":"commit"},"git_commit_author":{"type":"function","file":"commit.h","line":121,"lineto":121,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"const git_signature *","comment":"the author of a commit"},"description":"Get the author of a commit.\n@param commit a previously loaded commit.\n@return the author of a commit","comments":"","group":"commit"},"git_commit_tree":{"type":"function","file":"commit.h","line":129,"lineto":129,"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 on success; error code otherwise"},"description":"Get the tree pointed to by a commit.\n@param tree_out pointer where to store the tree object\n@param commit a previously loaded commit.\n@return 0 on success; error code otherwise","comments":"","group":"commit"},"git_commit_parentcount":{"type":"function","file":"commit.h","line":137,"lineto":137,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"unsigned int","comment":"integer of count of parents"},"description":"Get the number of parents of this commit","comments":"","group":"commit"},"git_commit_parent":{"type":"function","file":"commit.h","line":147,"lineto":147,"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 on success; error code otherwise"},"description":"Get the specified parent of the commit.","comments":"","group":"commit"},"git_commit_add_parent":{"type":"function","file":"commit.h","line":155,"lineto":155,"args":[{"name":"commit","type":"git_commit *","comment":"the commit object"},{"name":"new_parent","type":"git_commit *","comment":"the new commit which will be a parent"}],"argline":"git_commit *commit, git_commit *new_parent","sig":"git_commit *::git_commit *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Add a new parent commit to an existing commit\n@param commit the commit object\n@param new_parent the new commit which will be a parent\n@return 0 on success; error code otherwise","comments":"","group":"commit"},"git_commit_set_message":{"type":"function","file":"commit.h","line":162,"lineto":162,"args":[{"name":"commit","type":"git_commit *","comment":"the commit object"},{"name":"message","type":"const char *","comment":"the new message"}],"argline":"git_commit *commit, const char *message","sig":"git_commit *::const char *","return":{"type":"void"},"description":"Set the message of a commit\n@param commit the commit object\n@param message the new message","comments":"","group":"commit"},"git_commit_set_committer":{"type":"function","file":"commit.h","line":169,"lineto":169,"args":[{"name":"commit","type":"git_commit *","comment":"the commit object"},{"name":"committer_sig","type":"const git_signature *"}],"argline":"git_commit *commit, const git_signature *committer_sig","sig":"git_commit *::const git_signature *","return":{"type":"void"},"description":"Set the committer of a commit\n@param commit the commit object\n@param author_sig signature of the committer","comments":"","group":"commit"},"git_commit_set_author":{"type":"function","file":"commit.h","line":176,"lineto":176,"args":[{"name":"commit","type":"git_commit *","comment":"the commit object"},{"name":"author_sig","type":"const git_signature *","comment":"signature of the author"}],"argline":"git_commit *commit, const git_signature *author_sig","sig":"git_commit *::const git_signature *","return":{"type":"void"},"description":"Set the author of a commit\n@param commit the commit object\n@param author_sig signature of the author","comments":"","group":"commit"},"git_commit_set_tree":{"type":"function","file":"commit.h","line":184,"lineto":184,"args":[{"name":"commit","type":"git_commit *","comment":"the commit object"},{"name":"tree","type":"git_tree *","comment":"the new tree"}],"argline":"git_commit *commit, git_tree *tree","sig":"git_commit *::git_tree *","return":{"type":"int"},"description":"Set the tree which is pointed to by a commit\n@param commit the commit object\n@param tree the new tree\n@param 0 on success; error code otherwise","comments":"","group":"commit"},"git_blob_lookup":{"type":"function","file":"blob.h","line":52,"lineto":55,"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 on success; error code otherwise"},"description":"Lookup a blob object from a repository.\nThe generated blob object is owned by the revision\nrepo and shall not be freed by the user.","comments":"","group":"blob"},"git_blob_new":{"type":"function","file":"blob.h","line":68,"lineto":71,"args":[{"name":"blob","type":"git_blob **","comment":"pointer to the new blob"},{"name":"repo","type":"git_repository *","comment":"The repository where the object will reside"}],"argline":"git_blob **blob, git_repository *repo","sig":"git_blob **::git_repository *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Create a new in-memory git_blob.","comments":"The blob object must be manually filled using\nthe 'set_rawcontent' methods before it can\nbe written back to disk.\n","group":"blob"},"git_blob_set_rawcontent_fromfile":{"type":"function","file":"blob.h","line":81,"lineto":81,"args":[{"name":"blob","type":"git_blob *","comment":"pointer to the new blob"},{"name":"filename","type":"const char *","comment":"name of the file to read"}],"argline":"git_blob *blob, const char *filename","sig":"git_blob *::const char *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Fill a blob with the contents inside\nthe pointed file.","comments":"","group":"blob"},"git_blob_set_rawcontent":{"type":"function","file":"blob.h","line":92,"lineto":92,"args":[{"name":"blob","type":"git_blob *","comment":"pointer to the blob"},{"name":"buffer","type":"const void *","comment":"buffer with the contents for the blob"},{"name":"len","type":"size_t","comment":"size of the buffer"}],"argline":"git_blob *blob, const void *buffer, size_t len","sig":"git_blob *::const void *::size_t","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Fill a blob with the contents inside\nthe pointed buffer","comments":"","group":"blob"},"git_blob_rawcontent":{"type":"function","file":"blob.h","line":105,"lineto":105,"args":[{"name":"blob","type":"git_blob *","comment":"pointer to the blob"}],"argline":"git_blob *blob","sig":"git_blob *","return":{"type":"const void *","comment":"the pointer; NULL if the blob has no contents"},"description":"Get a read-only buffer with the raw content of a blob.","comments":"A pointer to the raw content of a blob is returned;\nthis pointer is owned internally by the object and shall\nnot be free'd. The pointer may be invalidated at a later\ntime (e.g. when changing the contents of the blob).\n","group":"blob"},"git_blob_rawsize":{"type":"function","file":"blob.h","line":113,"lineto":113,"args":[{"name":"blob","type":"git_blob *","comment":"pointer to the blob"}],"argline":"git_blob *blob","sig":"git_blob *","return":{"type":"int","comment":"size on bytes"},"description":"Get the size in bytes of the contents of a blob","comments":"","group":"blob"},"git_blob_writefile":{"type":"function","file":"blob.h","line":124,"lineto":124,"args":[{"name":"written_id","type":"git_oid *","comment":"return the id of the written blob"},{"name":"repo","type":"git_repository *","comment":"repository where the blob will be written"},{"name":"path","type":"const char *","comment":"file from which the blob will be created"}],"argline":"git_oid *written_id, git_repository *repo, const char *path","sig":"git_oid *::git_repository *::const char *","return":{"type":"int"},"description":"Read a file from the working folder of a repository\nand write it to the Object Database as a loose blob,\nif such doesn't exist yet.","comments":"","group":"blob"}},"globals":{"GIT_SORT_NONE":{"value":"(0)","file":"revwalk.h","line":47,"comments":"Sort the repository contents in no particular ordering;\nthis sorting is arbitrary, implementation-specific\nand subject to change at any time.\nThis is the default sorting for new walkers."},"GIT_SORT_TOPOLOGICAL":{"value":"(1 << 0)","file":"revwalk.h","line":54,"comments":"Sort the repository contents in topological order\n(parents before children); this sorting mode\ncan be combined with time sorting."},"GIT_SORT_TIME":{"value":"(1 << 1)","file":"revwalk.h","line":61,"comments":"Sort the repository contents by commit time;\nthis sorting mode can be combined with\ntopological sorting."},"GIT_SORT_REVERSE":{"value":"(1 << 2)","file":"revwalk.h","line":68,"comments":"Iterate through the repository contents in reverse\norder; this sorting mode can be combined with\nany of the above."},"GIT_OID_RAWSZ":{"value":"20","file":"oid.h","line":41,"comments":"Size (in bytes) of a raw/binary oid"},"GIT_OID_HEXSZ":{"value":"(GIT_OID_RAWSZ * 2)","file":"oid.h","line":44,"comments":"Size (in bytes) of a hex formatted oid"},"GIT_BEGIN_DECL":{"value":"","file":"common.h","line":37,"comments":"Start declarations in C mode"},"GIT_END_DECL":{"value":"","file":"common.h","line":39,"comments":"End declarations in C mode"},"GIT_EXTERN(type)":{"value":"extern __attribute__((visibility(\"default\"))) type","file":"common.h","line":43,"comments":"Declare a public function exported for application use."},"GIT_EXTERN_TLS(type)":{"value":"extern __attribute__((visibility(\"default\"))) GIT_TLS type","file":"common.h","line":54,"comments":"Declare a public TLS symbol exported for application use."},"GIT_INLINE(type)":{"value":"static __inline type","file":"common.h","line":66,"comments":"Declare a function as always inlined."},"GIT_FORMAT_PRINTF(a,b)":{"value":"__attribute__((format (printf, a, b)))","file":"common.h","line":73,"comments":"Declare a function's takes printf style arguments."},"GIT_SUCCESS":{"value":"0","file":"common.h","line":88,"comments":"Operation completed successfully."},"GIT_ERROR":{"value":"-1","file":"common.h","line":96,"comments":"Operation failed, with unspecified reason.\nThis value also serves as the base error code; all other\nerror codes are subtracted from it such that all errors\nare < 0, in typical POSIX C tradition."},"GIT_ENOTOID":{"value":"(GIT_ERROR - 1)","file":"common.h","line":99,"comments":"Input was not a properly formatted Git object id."},"GIT_ENOTFOUND":{"value":"(GIT_ERROR - 2)","file":"common.h","line":102,"comments":"Input does not exist in the scope searched."},"GIT_ENOMEM":{"value":"(GIT_ERROR - 3)","file":"common.h","line":105,"comments":"Not enough space available."},"GIT_EOSERR":{"value":"(GIT_ERROR - 4)","file":"common.h","line":108,"comments":"Consult the OS error information."},"GIT_EOBJTYPE":{"value":"(GIT_ERROR - 5)","file":"common.h","line":111,"comments":"The specified object is of invalid type"},"GIT_EOBJCORRUPTED":{"value":"(GIT_ERROR - 6)","file":"common.h","line":114,"comments":"The specified object has its data corrupted"},"GIT_ENOTAREPO":{"value":"(GIT_ERROR - 7)","file":"common.h","line":117,"comments":"The specified repository is invalid"},"GIT_EINVALIDTYPE":{"value":"(GIT_ERROR - 8)","file":"common.h","line":120,"comments":"The object type is invalid or doesn't match"},"GIT_EMISSINGOBJDATA":{"value":"(GIT_ERROR - 9)","file":"common.h","line":123,"comments":"The object cannot be written that because it's missing internal data"},"GIT_EPACKCORRUPTED":{"value":"(GIT_ERROR - 10)","file":"common.h","line":126,"comments":"The packfile for the ODB is corrupted"},"GIT_EFLOCKFAIL":{"value":"(GIT_ERROR - 11)","file":"common.h","line":129,"comments":"Failed to adquire or release a file lock"},"GIT_EZLIB":{"value":"(GIT_ERROR - 12)","file":"common.h","line":132,"comments":"The Z library failed to inflate/deflate an object's data"},"GIT_EBUSY":{"value":"(GIT_ERROR - 13)","file":"common.h","line":135,"comments":"The queried object is currently busy"},"GIT_EBAREINDEX":{"value":"(GIT_ERROR - 14)","file":"common.h","line":138,"comments":"The index file is not backed up by an existing repository"},"GIT_EINVALIDREFNAME":{"value":"(GIT_ERROR - 15)","file":"common.h","line":141,"comments":"The name of the reference is not valid"},"GIT_EREFCORRUPTED":{"value":"(GIT_ERROR - 16)","file":"common.h","line":144,"comments":"The specified reference has its data corrupted"},"GIT_ETOONESTEDSYMREF":{"value":"(GIT_ERROR - 17)","file":"common.h","line":147,"comments":"The specified symbolic reference is too deeply nested"},"GIT_EPACKEDREFSCORRUPTED":{"value":"(GIT_ERROR - 18)","file":"common.h","line":150,"comments":"The pack-refs file is either corrupted of its format is not currently supported"},"GIT_EINVALIDPATH":{"value":"(GIT_ERROR - 19)","file":"common.h","line":153,"comments":"The path is invalid"},"GIT_EREVWALKOVER":{"value":"(GIT_ERROR - 20)","file":"common.h","line":156,"comments":"The revision walker is empty; there are no more commits left to iterate"},"GIT_EINVALIDREFSTATE":{"value":"(GIT_ERROR - 21)","file":"common.h","line":159,"comments":"The state of the reference is not valid"}},"types":[["git_blob",{"type":"struct","value":"git_blob","file":"types.h","line":111,"lineto":111,"block":"","tdef":"typedef","comments":"In-memory representation of a blob object.","used":{"returns":[],"needs":["git_blob_lookup","git_blob_new","git_blob_rawcontent","git_blob_rawsize","git_blob_set_rawcontent","git_blob_set_rawcontent_fromfile"]}}],["git_commit",{"type":"struct","value":"git_commit","file":"types.h","line":114,"lineto":114,"block":"","tdef":"typedef","comments":"Parsed representation of a commit object.","used":{"returns":[],"needs":["git_commit_add_parent","git_commit_author","git_commit_committer","git_commit_id","git_commit_lookup","git_commit_message","git_commit_message_short","git_commit_new","git_commit_parent","git_commit_parentcount","git_commit_set_author","git_commit_set_committer","git_commit_set_message","git_commit_set_tree","git_commit_time","git_commit_time_offset","git_commit_tree"]}}],["git_index",{"type":"struct","value":"git_index","file":"types.h","line":123,"lineto":123,"block":"","tdef":"typedef","comments":"Memory representation of an index file.","used":{"returns":[],"needs":["git_index_add","git_index_clear","git_index_entrycount","git_index_find","git_index_free","git_index_get","git_index_insert","git_index_open_bare","git_index_open_inrepo","git_index_read","git_index_remove","git_index_write","git_repository_index"]}}],["git_index_entry",{"type":"struct","value":"git_index_entry","file":"index.h","line":55,"lineto":72,"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","comments":"Memory representation of a file entry in the index.","used":{"returns":["git_index_get"],"needs":["git_index_insert"]}}],["git_index_time",{"type":"struct","value":"git_index_time","file":"index.h","line":48,"lineto":52,"block":"git_time_t seconds\nunsigned int nanoseconds","tdef":"typedef","comments":"Time used in a git index entry","used":{"returns":[],"needs":[]}}],["git_object",{"type":"struct","value":"git_object","file":"types.h","line":102,"lineto":102,"block":"","tdef":"typedef","comments":"Representation of a generic object in a repository","used":{"returns":[],"needs":["git_object_close","git_object_id","git_object_lookup","git_object_new","git_object_owner","git_object_type","git_object_write","git_tag_set_target","git_tag_target","git_tree_entry_2object"]}}],["git_odb",{"type":"struct","value":"git_odb","file":"types.h","line":90,"lineto":90,"block":"","tdef":"typedef","comments":"An open object database handle.","used":{"returns":["git_repository_database"],"needs":["git_odb_add_alternate","git_odb_add_backend","git_odb_close","git_odb_exists","git_odb_new","git_odb_open","git_odb_read","git_odb_read_header","git_odb_write","git_repository_open3"]}}],["git_odb_backend",{"type":"struct","value":"git_odb_backend","file":"odb_backend.h","line":43,"lineto":77,"block":"git_odb *odb\nint (* read)(git_rawobj *, struct git_odb_backend *, const git_oid *)\nint (* read_header)(git_rawobj *, struct git_odb_backend *, const git_oid *)\nint (* write)(git_oid *id, struct git_odb_backend *, git_rawobj *obj)\nint (* exists)(struct git_odb_backend *, const git_oid *)\nvoid (* free)(struct git_odb_backend *)","tdef":null,"comments":"An instance for a custom backend","used":{"returns":[],"needs":["git_odb_add_alternate","git_odb_add_backend"]}}],["git_oid",{"type":"struct","value":"git_oid","file":"oid.h","line":47,"lineto":50,"block":"unsigned char id[GIT_OID_RAWSZ]","tdef":"typedef","comments":"Unique identity of any object (commit, tree, blob, tag).","used":{"returns":["git_commit_id","git_object_id","git_reference_oid","git_tag_id","git_tag_target_oid","git_tree_entry_id","git_tree_id"],"needs":["git_blob_lookup","git_blob_writefile","git_commit_lookup","git_object_lookup","git_odb_exists","git_odb_read","git_odb_read_header","git_odb_write","git_oid_allocfmt","git_oid_cmp","git_oid_cpy","git_oid_fmt","git_oid_mkraw","git_oid_mkstr","git_oid_pathfmt","git_oid_to_string","git_rawobj_hash","git_reference_create_oid","git_reference_set_oid","git_revwalk_hide","git_revwalk_next","git_revwalk_push","git_tag_lookup","git_tree_add_entry","git_tree_entry_set_id","git_tree_lookup"]}}],["git_oid_shorten",{"type":"struct","value":"git_oid_shorten","file":"oid.h","line":138,"lineto":138,"block":"","tdef":"typedef","comments":"OID Shortener object","used":{"returns":["git_oid_shorten_new"],"needs":["git_oid_shorten_add","git_oid_shorten_free"]}}],["git_otype",{"type":"enum","file":"types.h","line":76,"lineto":87,"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","comments":"Basic type (loose or packed) of any Git object.","used":{"returns":[],"needs":["git_object__size","git_object_lookup","git_object_new","git_object_type2string","git_object_typeisloose"]}}],["git_rawobj",{"type":"struct","value":"git_rawobj","file":"odb.h","line":108,"lineto":112,"block":"void *data\nsize_t len\ngit_otype type","tdef":"typedef","comments":"An object read from the database.","used":{"returns":[],"needs":["git_odb_read","git_odb_read_header","git_odb_write","git_rawobj_close","git_rawobj_hash"]}}],["git_reference",{"type":"struct","value":"git_reference","file":"types.h","line":139,"lineto":139,"block":"","tdef":"typedef","comments":"In-memory representation of a reference.","used":{"returns":[],"needs":["git_reference_create_oid","git_reference_create_symbolic","git_reference_delete","git_reference_lookup","git_reference_name","git_reference_oid","git_reference_owner","git_reference_rename","git_reference_resolve","git_reference_set_oid","git_reference_set_target","git_reference_target","git_reference_type"]}}],["git_repository",{"type":"struct","value":"git_repository","file":"types.h","line":99,"lineto":99,"block":"","tdef":"typedef","comments":"Representation of an existing git repository,\nincluding all its object contents","used":{"returns":["git_object_owner","git_reference_owner","git_revwalk_repository"],"needs":["git_blob_lookup","git_blob_new","git_blob_writefile","git_commit_lookup","git_commit_new","git_index_open_inrepo","git_object_lookup","git_object_new","git_reference_create_oid","git_reference_create_symbolic","git_reference_listall","git_reference_lookup","git_reference_packall","git_repository_close","git_repository_database","git_repository_free","git_repository_index","git_repository_init","git_repository_open","git_repository_open2","git_repository_open3","git_revwalk_new","git_tag_lookup","git_tag_new","git_tree_lookup","git_tree_new"]}}],["git_revwalk",{"type":"struct","value":"git_revwalk","file":"types.h","line":105,"lineto":105,"block":"","tdef":"typedef","comments":"Representation of an in-progress walk through the commits in a repo","used":{"returns":[],"needs":["git_revwalk_free","git_revwalk_hide","git_revwalk_new","git_revwalk_next","git_revwalk_push","git_revwalk_repository","git_revwalk_reset","git_revwalk_sorting"]}}],["git_rtype",{"type":"enum","file":"types.h","line":142,"lineto":149,"block":"GIT_REF_INVALID\nGIT_REF_OID\nGIT_REF_SYMBOLIC\nGIT_REF_PACKED\nGIT_REF_HAS_PEEL\nGIT_REF_LISTALL","tdef":"typedef","comments":"Basic type of any Git reference.","used":{"returns":[],"needs":[]}}],["git_signature",{"type":"struct","value":"git_signature","file":"types.h","line":132,"lineto":136,"block":"char *name\nchar *email\ngit_time when","tdef":"typedef","comments":"An action signature (e.g. for committers, taggers, etc)","used":{"returns":["git_commit_author","git_commit_committer","git_signature_dup","git_signature_new","git_tag_tagger"],"needs":["git_commit_set_author","git_commit_set_committer","git_signature_dup","git_signature_free","git_tag_set_tagger"]}}],["git_tag",{"type":"struct","value":"git_tag","file":"types.h","line":108,"lineto":108,"block":"","tdef":"typedef","comments":"Parsed representation of a tag object.","used":{"returns":[],"needs":["git_tag_id","git_tag_lookup","git_tag_message","git_tag_name","git_tag_new","git_tag_set_message","git_tag_set_name","git_tag_set_tagger","git_tag_set_target","git_tag_tagger","git_tag_target","git_tag_target_oid","git_tag_type"]}}],["git_time",{"type":"struct","value":"git_time","file":"types.h","line":126,"lineto":129,"block":"time_t time\nint offset","tdef":"typedef","comments":"Time in a signature","used":{"returns":[],"needs":[]}}],["git_tree",{"type":"struct","value":"git_tree","file":"types.h","line":120,"lineto":120,"block":"","tdef":"typedef","comments":"Representation of a tree object.","used":{"returns":[],"needs":["git_commit_set_tree","git_commit_tree","git_tree_add_entry","git_tree_clear_entries","git_tree_entry_byindex","git_tree_entry_byname","git_tree_entrycount","git_tree_id","git_tree_lookup","git_tree_new","git_tree_remove_entry_byindex","git_tree_remove_entry_byname"]}}],["git_tree_entry",{"type":"struct","value":"git_tree_entry","file":"types.h","line":117,"lineto":117,"block":"","tdef":"typedef","comments":"Representation of each one of the entries in a tree object.","used":{"returns":["git_tree_entry_byindex","git_tree_entry_byname"],"needs":["git_tree_add_entry","git_tree_entry_2object","git_tree_entry_attributes","git_tree_entry_id","git_tree_entry_name","git_tree_entry_set_attributes","git_tree_entry_set_id","git_tree_entry_set_name"]}}]],"prefix":"include/git2","groups":[["blob",["git_blob_lookup","git_blob_new","git_blob_rawcontent","git_blob_rawsize","git_blob_set_rawcontent","git_blob_set_rawcontent_fromfile","git_blob_writefile"]],["commit",["git_commit_add_parent","git_commit_author","git_commit_committer","git_commit_id","git_commit_lookup","git_commit_message","git_commit_message_short","git_commit_new","git_commit_parent","git_commit_parentcount","git_commit_set_author","git_commit_set_committer","git_commit_set_message","git_commit_set_tree","git_commit_time","git_commit_time_offset","git_commit_tree"]],["errors",["git_strerror"]],["index",["git_index_add","git_index_clear","git_index_entrycount","git_index_find","git_index_free","git_index_get","git_index_insert","git_index_open_bare","git_index_open_inrepo","git_index_read","git_index_remove","git_index_write"]],["object",["git_object__size","git_object_close","git_object_id","git_object_lookup","git_object_new","git_object_owner","git_object_string2type","git_object_type","git_object_type2string","git_object_typeisloose","git_object_write"]],["odb",["git_odb_add_alternate","git_odb_add_backend","git_odb_close","git_odb_exists","git_odb_new","git_odb_open","git_odb_read","git_odb_read_header","git_odb_write"]],["oid",["git_oid_allocfmt","git_oid_cmp","git_oid_cpy","git_oid_fmt","git_oid_mkraw","git_oid_mkstr","git_oid_pathfmt","git_oid_shorten_add","git_oid_shorten_free","git_oid_shorten_new","git_oid_to_string"]],["rawobj",["git_rawobj_close","git_rawobj_hash"]],["reference",["git_reference_create_oid","git_reference_create_symbolic","git_reference_delete","git_reference_listall","git_reference_lookup","git_reference_name","git_reference_oid","git_reference_owner","git_reference_packall","git_reference_rename","git_reference_resolve","git_reference_set_oid","git_reference_set_target","git_reference_target","git_reference_type"]],["repository",["git_repository_close","git_repository_database","git_repository_free","git_repository_index","git_repository_init","git_repository_open","git_repository_open2","git_repository_open3"]],["revwalk",["git_revwalk_free","git_revwalk_hide","git_revwalk_new","git_revwalk_next","git_revwalk_push","git_revwalk_repository","git_revwalk_reset","git_revwalk_sorting"]],["signature",["git_signature_dup","git_signature_free","git_signature_new"]],["tag",["git_tag_id","git_tag_lookup","git_tag_message","git_tag_name","git_tag_new","git_tag_set_message","git_tag_set_name","git_tag_set_tagger","git_tag_set_target","git_tag_tagger","git_tag_target","git_tag_target_oid","git_tag_type"]],["tree",["git_tree_add_entry","git_tree_clear_entries","git_tree_entry_2object","git_tree_entry_attributes","git_tree_entry_byindex","git_tree_entry_byname","git_tree_entry_id","git_tree_entry_name","git_tree_entry_set_attributes","git_tree_entry_set_id","git_tree_entry_set_name","git_tree_entrycount","git_tree_id","git_tree_lookup","git_tree_new","git_tree_remove_entry_byindex","git_tree_remove_entry_byname"]],["zlib",["deflateBound"]]]} \ No newline at end of file
diff --git a/v0.11.0.json b/v0.11.0.json
index 887923b9a..380a72dc3 100644
--- a/v0.11.0.json
+++ b/v0.11.0.json
@@ -1 +1 @@
-{"files":[{"file":"common.h","functions":[],"meta":{"brief":"Git common platform definitions","defgroup":"git_common Git common platform definitions","ingroup":"Git","comments":"\n"},"lines":175},{"file":"signature.h","functions":["git_signature_new","git_signature_dup","git_signature_free"],"meta":{"brief":"Git signature creation","defgroup":"git_signature Git signature creation","ingroup":"Git","comments":"\n"},"lines":70},{"file":"blob.h","functions":["git_blob_lookup","git_blob_close","git_blob_rawcontent","git_blob_rawsize","git_blob_create_fromfile","git_blob_create_frombuffer"],"meta":{"brief":"Git blob load and write routines","defgroup":"git_blob Git blob load and write routines","ingroup":"Git","comments":"\n"},"lines":121},{"file":"index.h","functions":["git_index_open_bare","git_index_open_inrepo","git_index_clear","git_index_free","git_index_read","git_index_write","git_index_find","git_index_add","git_index_remove","git_index_insert","git_index_get","git_index_entrycount"],"meta":{"brief":"Git index parsing and manipulation routines","defgroup":"git_index Git index parsing and manipulation routines","ingroup":"Git","comments":"\n"},"lines":199},{"file":"repository.h","functions":["git_repository_open","git_repository_open2","git_repository_open3","git_repository_database","git_repository_index","git_repository_free","git_repository_init"],"meta":{"brief":"Git repository management routines","defgroup":"git_repository Git repository management routines","ingroup":"Git","comments":"\n"},"lines":187},{"file":"tag.h","functions":["git_tag_lookup","git_tag_close","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_o"],"meta":{"brief":"Git tag parsing routines","defgroup":"git_tag Git tag management","ingroup":"Git","comments":"\n"},"lines":193},{"file":"odb_backend.h","functions":[],"meta":{"brief":"Git custom backend functions","defgroup":"git_backend Git custom backend API","ingroup":"Git","comments":"\n"},"lines":107},{"file":"commit.h","functions":["git_commit_lookup","git_commit_close","git_commit_id","git_commit_message_short","git_commit_message","git_commit_time","git_commit_time_offset","git_commit_committer","git_commit_author","git_commit_tree","git_commit_parentcount","git_commit_parent","git_commit_create","git_commit_create_o","git_commit_create_ov","git_commit_create_v"],"meta":{"brief":"Git commit parsing, formatting routines","defgroup":"git_commit Git commit parsing, formatting routines","ingroup":"Git","comments":"\n"},"lines":282},{"file":"types.h","functions":[],"meta":{"brief":"libgit2 base & compatibility types","ingroup":"Git","comments":"\n"},"lines":159},{"file":"zlib.h","functions":["deflateBound"],"meta":{"brief":"Git data compression routines","defgroup":"git_zlib Git data compression routines","ingroup":"Git","comments":"\n"},"lines":58},{"file":"tree.h","functions":["git_tree_lookup","git_tree_close","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_2object"],"meta":{"brief":"Git tree parsing, loading routines","defgroup":"git_tree Git tree parsing, loading routines","ingroup":"Git","comments":"\n"},"lines":143},{"file":"odb.h","functions":["git_odb_new","git_odb_open","git_odb_add_backend","git_odb_add_alternate","git_odb_close","git_odb_read","git_odb_read_header","git_odb_exists","git_odb_write","git_odb_open_wstream","git_odb_open_rstream","git_odb_hash","git_odb_object_close","git_odb_object_id","git_odb_object_data","git_odb_object_size","git_odb_object_type"],"meta":{"brief":"Git object database routines","defgroup":"git_odb Git object database routines","ingroup":"Git","comments":"\n"},"lines":302},{"file":"thread-utils.h","functions":[],"meta":{},"lines":70},{"file":"oid.h","functions":["git_oid_mkstr","git_oid_mkraw","git_oid_fmt","git_oid_pathfmt","git_oid_allocfmt","git_oid_to_string","git_oid_cpy","git_oid_cmp","git_oid_shorten_new","git_oid_shorten_add","git_oid_shorten_free"],"meta":{"brief":"Git object id routines","defgroup":"git_oid Git object id routines","ingroup":"Git","comments":"\n"},"lines":191},{"file":"errors.h","functions":["git_strerror"],"meta":{"brief":"Git error handling routines and variables","ingroup":"Git","comments":"\n"},"lines":45},{"file":"revwalk.h","functions":["git_revwalk_new","git_revwalk_reset","git_revwalk_push","git_revwalk_hide","git_revwalk_next","git_revwalk_sorting","git_revwalk_free","git_revwalk_repository"],"meta":{"brief":"Git revision traversal routines","defgroup":"git_revwalk Git revision traversal routines","ingroup":"Git","comments":"\n"},"lines":187},{"file":"object.h","functions":["git_object_lookup","git_object_id","git_object_type","git_object_owner","git_object_close","git_object_type2string","git_object_string2type","git_object_typeisloose","git_object__size"],"meta":{"brief":"Git revision object management routines","defgroup":"git_object Git revision object management routines","ingroup":"Git","comments":"\n"},"lines":147},{"file":"refs.h","functions":["git_reference_lookup","git_reference_create_symbolic","git_reference_create_oid","git_reference_oid","git_reference_target","git_reference_type","git_reference_name","git_reference_resolve","git_reference_owner","git_reference_set_target","git_reference_set_oid","git_reference_rename","git_reference_delete","git_reference_packall","git_reference_listall","git_reference_listcb"],"meta":{"brief":"Git reference management routines","defgroup":"git_reference Git reference management routines","ingroup":"Git","comments":"\n"},"lines":269}],"functions":{"git_signature_new":{"type":"function","file":"signature.h","line":50,"lineto":50,"args":[{"name":"name","type":"const char *"},{"name":"email","type":"const char *"},{"name":"time","type":"git_time_t"},{"name":"offset","type":"int"}],"argline":"const char *name, const char *email, git_time_t time, int offset","sig":"const char *::const char *::git_time_t::int","return":{"type":"git_signature *","comment":"the new sig, NULL on out of memory"},"description":"Create a new action signature. The signature must be freed\nmanually or using git_signature_free","comments":"@name name of the person\n@email email of the person\n@time time when the action happened\n@offset timezone offset in minutes for the time","group":"signature"},"git_signature_dup":{"type":"function","file":"signature.h","line":59,"lineto":59,"args":[{"name":"sig","type":"const git_signature *"}],"argline":"const git_signature *sig","sig":"const git_signature *","return":{"type":"git_signature *","comment":"a copy of sig, NULL on out of memory"},"description":"Create a copy of an existing signature.","comments":"All internal strings are also duplicated.\n@sig signature to duplicated","group":"signature"},"git_signature_free":{"type":"function","file":"signature.h","line":66,"lineto":66,"args":[{"name":"sig","type":"git_signature *"}],"argline":"git_signature *sig","sig":"git_signature *","return":{"type":"void"},"description":"Free an existing signature","comments":"@sig signature to free","group":"signature"},"git_blob_lookup":{"type":"function","file":"blob.h","line":50,"lineto":53,"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 on success; error code otherwise"},"description":"Lookup a blob object from a repository.","comments":"","group":"blob"},"git_blob_close":{"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"},"description":"Close an open blob","comments":"This is a wrapper around git_object_close()\n\nIMPORTANT:\nIt *is* necessary to call this method when you stop\nusing a blob. Failure to do so will cause a memory leak.\n","group":"blob"},"git_blob_rawcontent":{"type":"function","file":"blob.h","line":84,"lineto":84,"args":[{"name":"blob","type":"git_blob *","comment":"pointer to the blob"}],"argline":"git_blob *blob","sig":"git_blob *","return":{"type":"const void *","comment":"the pointer; NULL if the blob has no contents"},"description":"Get a read-only buffer with the raw content of a blob.","comments":"A pointer to the raw content of a blob is returned;\nthis pointer is owned internally by the object and shall\nnot be free'd. The pointer may be invalidated at a later\ntime.\n","group":"blob"},"git_blob_rawsize":{"type":"function","file":"blob.h","line":92,"lineto":92,"args":[{"name":"blob","type":"git_blob *","comment":"pointer to the blob"}],"argline":"git_blob *blob","sig":"git_blob *","return":{"type":"int","comment":"size on bytes"},"description":"Get the size in bytes of the contents of a blob","comments":"","group":"blob"},"git_blob_create_fromfile":{"type":"function","file":"blob.h","line":105,"lineto":105,"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. this repository cannot be bare"},{"name":"path","type":"const char *","comment":"file from which the blob will be created, relative 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 on success; error code otherwise"},"description":"Read a file from the working folder of a repository\nand write it to the Object Database as a loose blob","comments":"","group":"blob"},"git_blob_create_frombuffer":{"type":"function","file":"blob.h","line":117,"lineto":117,"args":[{"name":"oid","type":"git_oid *","comment":"return the oid of the written blob"},{"name":"repo","type":"git_repository *","comment":"repository where to blob will be written"},{"name":"buffer","type":"const void *","comment":"data to be written into the blob"},{"name":"len","type":"size_t","comment":"length of the data"}],"argline":"git_oid *oid, git_repository *repo, const void *buffer, size_t len","sig":"git_oid *::git_repository *::const void *::size_t","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Write an in-memory buffer to the ODB as a blob","comments":"","group":"blob"},"git_index_open_bare":{"type":"function","file":"index.h","line":88,"lineto":88,"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 on success; error code otherwise"},"description":"Create a new Git index object as a memory representation\nof the Git index file in 'index_path', without a repository\nto back it.","comments":"Since there is no ODB behind this index, any Index methods\nwhich rely on the ODB (e.g. index_add) will fail with the\nGIT_EBAREINDEX error code.\n","group":"index"},"git_index_open_inrepo":{"type":"function","file":"index.h","line":98,"lineto":98,"args":[{"name":"index","type":"git_index **","comment":"the pointer for the new index"},{"name":"repo","type":"git_repository *","comment":"the git repo which owns the index"}],"argline":"git_index **index, git_repository *repo","sig":"git_index **::git_repository *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Open the Index inside the git repository pointed\nby 'repo'.","comments":"","group":"index"},"git_index_clear":{"type":"function","file":"index.h","line":107,"lineto":107,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"void"},"description":"Clear the contents (all the entries) of an index object.\nThis clears the index object in memory; changes must be manually\nwritten to disk for them to take effect.","comments":"","group":"index"},"git_index_free":{"type":"function","file":"index.h","line":114,"lineto":114,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"void"},"description":"Free an existing index object.","comments":"","group":"index"},"git_index_read":{"type":"function","file":"index.h","line":123,"lineto":123,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"int","comment":"0 on success, otherwise an error code"},"description":"Update the contents of an existing index object in memory\nby reading from the hard disk.","comments":"","group":"index"},"git_index_write":{"type":"function","file":"index.h","line":132,"lineto":132,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"int","comment":"0 on success, otherwise an error code"},"description":"Write an existing index object from memory back to disk\nusing an atomic file lock.","comments":"","group":"index"},"git_index_find":{"type":"function","file":"index.h","line":142,"lineto":142,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"},{"name":"path","type":"const char *","comment":"path to search"}],"argline":"git_index *index, const char *path","sig":"git_index *::const char *","return":{"type":"int","comment":"an index >= 0 if found, -1 otherwise"},"description":"Find the first index of any entries which point to given\npath in the Git index.","comments":"","group":"index"},"git_index_add":{"type":"function","file":"index.h","line":152,"lineto":152,"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 on success, otherwise an error code"},"description":"Add or update an index entry from a file in disk.","comments":"","group":"index"},"git_index_remove":{"type":"function","file":"index.h","line":161,"lineto":161,"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 on success, otherwise an error code"},"description":"Remove an entry from the index","comments":"","group":"index"},"git_index_insert":{"type":"function","file":"index.h","line":174,"lineto":174,"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 on success, otherwise an error code"},"description":"Insert an entry into the index.\nA full copy (including the 'path' string) of the given\n'source_entry' will be inserted on the index; if the index\nalready contains an entry for the same path, the entry\nwill be updated.","comments":"","group":"index"},"git_index_get":{"type":"function","file":"index.h","line":186,"lineto":186,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"},{"name":"n","type":"int","comment":"the position of the entry"}],"argline":"git_index *index, int n","sig":"git_index *::int","return":{"type":"git_index_entry *","comment":"a pointer to the entry; NULL if out of bounds"},"description":"Get a pointer to one of the entries in the index","comments":"This entry can be modified, and the changes will be written\nback to disk on the next write() call.\n","group":"index"},"git_index_entrycount":{"type":"function","file":"index.h","line":194,"lineto":194,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"unsigned int","comment":"integer of count of current entries"},"description":"Get the count of entries currently in the index","comments":"","group":"index"},"git_repository_open":{"type":"function","file":"repository.h","line":64,"lineto":64,"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 on success; error code otherwise"},"description":"Open a git repository.","comments":"The 'path' argument must point to an existing git repository\nfolder, e.g.\n\n\t/path/to/my_repo/.git/\t(normal repository)\n\t\t\t\t\t\tobjects/\n\t\t\t\t\t\tindex\n\t\t\t\t\t\tHEAD\n\n\t/path/to/bare_repo/\t\t(bare repository)\n\t\t\t\t\tobjects/\n\t\t\t\t\tindex\n\t\t\t\t\tHEAD\n\nThe method will automatically detect if 'path' is a normal\nor bare repository or fail is 'path' is neither.\n","group":"repository"},"git_repository_open2":{"type":"function","file":"repository.h","line":93,"lineto":97,"args":[{"name":"repository","type":"git_repository **","comment":"pointer to the repo which will be opened"},{"name":"git_dir","type":"const char *","comment":"The full path to the repository folder e.g. a '.git' folder for live repos, any folder for bare Equivalent to $GIT_DIR. Cannot be NULL."},{"name":"git_object_directory","type":"const char *","comment":"The full path to the ODB folder. the folder where all the loose and packed objects are stored Equivalent to $GIT_OBJECT_DIRECTORY. If NULL, \"$GIT_DIR/objects/\" is assumed."},{"name":"git_index_file","type":"const char *","comment":"The full path to the index (dircache) file Equivalent to $GIT_INDEX_FILE. If NULL, \"$GIT_DIR/index\" is assumed."},{"name":"git_work_tree","type":"const char *","comment":"The full path to the working tree of the repository, if the repository is not bare. Equivalent to $GIT_WORK_TREE. If NULL, the repository is assumed to be bare."}],"argline":"git_repository **repository,\n\t\tconst char *git_dir,\n\t\tconst char *git_object_directory,\n\t\tconst char *git_index_file,\n\t\tconst char *git_work_tree","sig":"git_repository **::const char *::const char *::const char *::const char *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Open a git repository by manually specifying all its paths","comments":"","group":"repository"},"git_repository_open3":{"type":"function","file":"repository.h","line":128,"lineto":132,"args":[{"name":"repository","type":"git_repository **","comment":"pointer to the repo which will be opened"},{"name":"git_dir","type":"const char *","comment":"The full path to the repository folder e.g. a '.git' folder for live repos, any folder for bare Equivalent to $GIT_DIR. Cannot be NULL."},{"name":"object_database","type":"git_odb *","comment":"A pointer to a git_odb created & initialized by the user (e.g. with custom backends). This object database will be owned by the repository and will be automatically free'd. It should not be manually free'd by the user, or this git_repository object will become invalid."},{"name":"git_index_file","type":"const char *","comment":"The full path to the index (dircache) file Equivalent to $GIT_INDEX_FILE. If NULL, \"$GIT_DIR/index\" is assumed."},{"name":"git_work_tree","type":"const char *","comment":"The full path to the working tree of the repository, if the repository is not bare. Equivalent to $GIT_WORK_TREE. If NULL, the repository is assumed to be bare."}],"argline":"git_repository **repository,\n\t\tconst char *git_dir,\n\t\tgit_odb *object_database,\n\t\tconst char *git_index_file,\n\t\tconst char *git_work_tree","sig":"git_repository **::const char *::git_odb *::const char *::const char *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Open a git repository by manually specifying its paths and\nthe object database it will use.","comments":"","group":"repository"},"git_repository_database":{"type":"function","file":"repository.h","line":141,"lineto":141,"args":[{"name":"repo","type":"git_repository *","comment":"a repository object"}],"argline":"git_repository *repo","sig":"git_repository *","return":{"type":"git_odb *","comment":"a pointer to the object db"},"description":"Get the object database behind a Git repository","comments":"","group":"repository"},"git_repository_index":{"type":"function","file":"repository.h","line":153,"lineto":153,"args":[{"name":"index","type":"git_index **","comment":"Pointer where to store the index"},{"name":"repo","type":"git_repository *","comment":"a repository object"}],"argline":"git_index **index, git_repository *repo","sig":"git_index **::git_repository *","return":{"type":"int","comment":"0 on success; error code if the index could not be opened"},"description":"Get the Index file of a Git repository","comments":"This is a cheap operation; the index is only opened on the first call,\nand subsequent calls only retrieve the previous pointer.\n","group":"repository"},"git_repository_free":{"type":"function","file":"repository.h","line":166,"lineto":166,"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"},"description":"Free a previously allocated repository","comments":"Note that after a repository is free'd, all the objects it has spawned\nwill still exist until they are manually closed by the user\nwith `git_object_close`, but accessing any of the attributes of\nan object without a backing repository will result in undefined\nbehavior\n","group":"repository"},"git_repository_init":{"type":"function","file":"repository.h","line":183,"lineto":183,"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","comment":"if true, a Git repository without a working directory is created at the pointed path. If false, provided path will be considered as the working directory into which the .git directory will be created."}],"argline":"git_repository **repo_out, const char *path, unsigned is_bare","sig":"git_repository **::const char *::unsigned","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Creates a new Git repository in the given folder.","comments":"TODO:\n- Reinit the repository\n- Create config files\n","group":"repository"},"git_tag_lookup":{"type":"function","file":"tag.h","line":50,"lineto":53,"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 on success; error code otherwise"},"description":"Lookup a tag object from the repository.","comments":"","group":"tag"},"git_tag_close":{"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"},"description":"Close an open tag","comments":"This is a wrapper around git_object_close()\n\nIMPORTANT:\nIt *is* necessary to call this method when you stop\nusing a tag. Failure to do so will cause a memory leak.\n","group":"tag"},"git_tag_id":{"type":"function","file":"tag.h","line":79,"lineto":79,"args":[{"name":"tag","type":"git_tag *","comment":"a previously loaded tag."}],"argline":"git_tag *tag","sig":"git_tag *","return":{"type":"const git_oid *","comment":"object identity for the tag."},"description":"Get the id of a tag.","comments":"","group":"tag"},"git_tag_target":{"type":"function","file":"tag.h","line":91,"lineto":91,"args":[{"name":"target","type":"git_object **","comment":"pointer where to store the target"},{"name":"t","type":"git_tag *","comment":"arget pointer where to store the target"}],"argline":"git_object **target, git_tag *t","sig":"git_object **::git_tag *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Get the tagged object of a tag","comments":"This method performs a repository lookup for the\ngiven object and returns it\n","group":"tag"},"git_tag_target_oid":{"type":"function","file":"tag.h","line":99,"lineto":99,"args":[{"name":"t","type":"git_tag *","comment":"ag a previously loaded tag."}],"argline":"git_tag *t","sig":"git_tag *","return":{"type":"const git_oid *","comment":"pointer to the OID"},"description":"Get the OID of the tagged object of a tag","comments":"","group":"tag"},"git_tag_type":{"type":"function","file":"tag.h","line":107,"lineto":107,"args":[{"name":"t","type":"git_tag *","comment":"ag a previously loaded tag."}],"argline":"git_tag *t","sig":"git_tag *","return":{"type":"git_otype","comment":"type of the tagged object"},"description":"Get the type of a tag's tagged object","comments":"","group":"tag"},"git_tag_name":{"type":"function","file":"tag.h","line":115,"lineto":115,"args":[{"name":"t","type":"git_tag *","comment":"ag a previously loaded tag."}],"argline":"git_tag *t","sig":"git_tag *","return":{"type":"const char *","comment":"name of the tag"},"description":"Get the name of a tag","comments":"","group":"tag"},"git_tag_tagger":{"type":"function","file":"tag.h","line":123,"lineto":123,"args":[{"name":"t","type":"git_tag *","comment":"ag a previously loaded tag."}],"argline":"git_tag *t","sig":"git_tag *","return":{"type":"const git_signature *","comment":"reference to the tag's author"},"description":"Get the tagger (author) of a tag","comments":"","group":"tag"},"git_tag_message":{"type":"function","file":"tag.h","line":131,"lineto":131,"args":[{"name":"t","type":"git_tag *","comment":"ag a previously loaded tag."}],"argline":"git_tag *t","sig":"git_tag *","return":{"type":"const char *","comment":"message of the tag"},"description":"Get the message of a tag","comments":"","group":"tag"},"git_tag_create":{"type":"function","file":"tag.h","line":161,"lineto":168,"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":"tag_name","type":"const char *","comment":"Name for the tag; this name is validated for consistency"},{"name":"target","type":"const git_oid *","comment":"OID to which this tag points; note that no validation is done on this OID. Use the _o version of this method to assure a proper object is being tagged"},{"name":"target_type","type":"git_otype","comment":"Type of the tagged OID; note that no validation is performed here either"},{"name":"tagger","type":"const git_signature *","comment":"Signature of the tagger for this tag, and of the tagging time"},{"name":"message","type":"const char *","comment":"Full message for this tag"}],"argline":"git_oid *oid,\n\t\tgit_repository *repo,\n\t\tconst char *tag_name,\n\t\tconst git_oid *target,\n\t\tgit_otype target_type,\n\t\tconst git_signature *tagger,\n\t\tconst char *message","sig":"git_oid *::git_repository *::const char *::const git_oid *::git_otype::const git_signature *::const char *","return":{"type":"int","comment":"0 on success; error code otherwise. A tag object is written to the ODB, and a proper reference is written in the /refs/tags folder, pointing to it"},"description":"Create a new tag in the repository from an OID","comments":"","group":"tag"},"git_tag_create_o":{"type":"function","file":"tag.h","line":183,"lineto":189,"args":[{"name":"oid","type":"git_oid *"},{"name":"repo","type":"git_repository *"},{"name":"tag_name","type":"const char *"},{"name":"target","type":"const git_object *"},{"name":"tagger","type":"const git_signature *"},{"name":"message","type":"const char *"}],"argline":"git_oid *oid,\n\t\tgit_repository *repo,\n\t\tconst char *tag_name,\n\t\tconst git_object *target,\n\t\tconst git_signature *tagger,\n\t\tconst char *message","sig":"git_oid *::git_repository *::const char *::const git_object *::const git_signature *::const char *","return":{"type":"int"},"description":"Create a new tag in the repository from an existing\n`git_object` instance","comments":"This method replaces the `target` and `target_type`\nparemeters of `git_tag_create` by a single instance\nof a `const git_object *`, which is assured to be\na proper object in the ODB and hence will create\na valid tag\n\n@see git_tag_create","group":"tag"},"git_commit_lookup":{"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 an 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 on success; error code otherwise"},"description":"Lookup a commit object from a repository.","comments":"","group":"commit"},"git_commit_close":{"type":"function","file":"commit.h","line":67,"lineto":70,"args":[{"name":"commit","type":"git_commit *","comment":"the commit to close"}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"void"},"description":"Close an open commit","comments":"This is a wrapper around git_object_close()\n\nIMPORTANT:\nIt *is* necessary to call this method when you stop\nusing a commit. Failure to do so will cause a memory leak.\n","group":"commit"},"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":"Get the id of a commit.","comments":"","group":"commit"},"git_commit_message_short":{"type":"function","file":"commit.h","line":87,"lineto":87,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"const char *","comment":"the short message of a commit"},"description":"Get the short (one line) message of a commit.","comments":"","group":"commit"},"git_commit_message":{"type":"function","file":"commit.h","line":95,"lineto":95,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"const char *","comment":"the message of a commit"},"description":"Get the full message of a commit.","comments":"","group":"commit"},"git_commit_time":{"type":"function","file":"commit.h","line":103,"lineto":103,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"git_time_t","comment":"the time of a commit"},"description":"Get the commit time (i.e. committer time) of a commit.","comments":"","group":"commit"},"git_commit_time_offset":{"type":"function","file":"commit.h","line":111,"lineto":111,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"int","comment":"positive or negative timezone offset, in minutes from UTC"},"description":"Get the commit timezone offset (i.e. committer's preferred timezone) of a commit.","comments":"","group":"commit"},"git_commit_committer":{"type":"function","file":"commit.h","line":119,"lineto":119,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"const git_signature *","comment":"the committer of a commit"},"description":"Get the committer of a commit.","comments":"","group":"commit"},"git_commit_author":{"type":"function","file":"commit.h","line":127,"lineto":127,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"const git_signature *","comment":"the author of a commit"},"description":"Get the author of a commit.","comments":"","group":"commit"},"git_commit_tree":{"type":"function","file":"commit.h","line":136,"lineto":136,"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 on success; error code otherwise"},"description":"Get the tree pointed to by a commit.","comments":"","group":"commit"},"git_commit_parentcount":{"type":"function","file":"commit.h","line":144,"lineto":144,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"unsigned int","comment":"integer of count of parents"},"description":"Get the number of parents of this commit","comments":"","group":"commit"},"git_commit_parent":{"type":"function","file":"commit.h","line":154,"lineto":154,"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 on success; error code otherwise"},"description":"Get the specified parent of the commit.","comments":"","group":"commit"},"git_commit_create":{"type":"function","file":"commit.h","line":195,"lineto":204,"args":[{"name":"oid","type":"git_oid *","comment":"Pointer where to store the OID of the newly 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 will be updated to point to this commit. If the reference is not direct, it will be resolved to a direct reference. Use \"HEAD\" to update the HEAD of the current branch and make it point to this commit"},{"name":"author","type":"const git_signature *","comment":"Signature representing the author and the authory time of this commit"},{"name":"committer","type":"const git_signature *","comment":"Signature representing the committer and the commit time of this commit"},{"name":"message","type":"const char *","comment":"Full message for this commit"},{"name":"tree_oid","type":"const git_oid *","comment":"Object ID of the tree for this commit. Note that no validation is performed on this OID. Use the _o variants of this method to assure a proper tree is passed to the commit."},{"name":"parent_count","type":"int","comment":"Number of parents for this commit"}],"argline":"git_oid *oid,\n\t\tgit_repository *repo,\n\t\tconst char *update_ref,\n\t\tconst git_signature *author,\n\t\tconst git_signature *committer,\n\t\tconst char *message,\n\t\tconst git_oid *tree_oid,\n\t\tint parent_count,\n\t\tconst git_oid *parent_oids[]","sig":"git_oid *::git_repository *::const char *::const git_signature *::const git_signature *::const char *::const git_oid *::int","return":{"type":"int","comment":"0 on success; error code otherwise The created commit will be written to the Object Database and the given reference will be updated to point to it"},"description":"Create a new commit in the repository","comments":"","group":"commit"},"git_commit_create_o":{"type":"function","file":"commit.h","line":217,"lineto":226,"args":[{"name":"oid","type":"git_oid *"},{"name":"repo","type":"git_repository *"},{"name":"update_ref","type":"const char *"},{"name":"author","type":"const git_signature *"},{"name":"committer","type":"const git_signature *"},{"name":"message","type":"const char *"},{"name":"tree","type":"const git_tree *"},{"name":"parent_count","type":"int"}],"argline":"git_oid *oid,\n\t\tgit_repository *repo,\n\t\tconst char *update_ref,\n\t\tconst git_signature *author,\n\t\tconst git_signature *committer,\n\t\tconst char *message,\n\t\tconst git_tree *tree,\n\t\tint parent_count,\n\t\tconst git_commit *parents[]","sig":"git_oid *::git_repository *::const char *::const git_signature *::const git_signature *::const char *::const git_tree *::int","return":{"type":"int"},"description":"Create a new commit in the repository using `git_object`\ninstances as parameters.","comments":"The `tree_oid` and `parent_oids` paremeters now take a instance\nof `git_tree` and `git_commit`, respectively.\n\nAll other parameters remain the same\n\n@see git_commit_create","group":"commit"},"git_commit_create_ov":{"type":"function","file":"commit.h","line":244,"lineto":253,"args":[{"name":"oid","type":"git_oid *"},{"name":"repo","type":"git_repository *"},{"name":"update_ref","type":"const char *"},{"name":"author","type":"const git_signature *"},{"name":"committer","type":"const git_signature *"},{"name":"message","type":"const char *"},{"name":"tree","type":"const git_tree *"},{"name":"parent_count","type":"int"}],"argline":"git_oid *oid,\n\t\tgit_repository *repo,\n\t\tconst char *update_ref,\n\t\tconst git_signature *author,\n\t\tconst git_signature *committer,\n\t\tconst char *message,\n\t\tconst git_tree *tree,\n\t\tint parent_count,\n\t\t...","sig":"git_oid *::git_repository *::const char *::const git_signature *::const git_signature *::const char *::const git_tree *::int","return":{"type":"int"},"description":"Create a new commit in the repository using `git_object`\ninstances and a variable argument list.","comments":"The `tree_oid` paremeter now takes a instance\nof `const git_tree *`.\n\nThe parents for the commit are specified as a variable\nlist of pointers to `const git_commit *`. Note that this\nis a convenience method which may not be safe to export\nfor certain languages or compilers\n\nAll other parameters remain the same\n\n@see git_commit_create","group":"commit"},"git_commit_create_v":{"type":"function","file":"commit.h","line":269,"lineto":278,"args":[{"name":"oid","type":"git_oid *"},{"name":"repo","type":"git_repository *"},{"name":"update_ref","type":"const char *"},{"name":"author","type":"const git_signature *"},{"name":"committer","type":"const git_signature *"},{"name":"message","type":"const char *"},{"name":"tree_oid","type":"const git_oid *"},{"name":"parent_count","type":"int"}],"argline":"git_oid *oid,\n\t\tgit_repository *repo,\n\t\tconst char *update_ref,\n\t\tconst git_signature *author,\n\t\tconst git_signature *committer,\n\t\tconst char *message,\n\t\tconst git_oid *tree_oid,\n\t\tint parent_count,\n\t\t...","sig":"git_oid *::git_repository *::const char *::const git_signature *::const git_signature *::const char *::const git_oid *::int","return":{"type":"int"},"description":"Create a new commit in the repository using \na variable argument list.","comments":"The parents for the commit are specified as a variable\nlist of pointers to `const git_oid *`. Note that this\nis a convenience method which may not be safe to export\nfor certain languages or compilers\n\nAll other parameters remain the same\n\n@see git_commit_create","group":"commit"},"deflateBound":{"type":"function","file":"zlib.h","line":50,"lineto":54,"args":[{"name":"stream","type":"z_streamp","comment":"the stream pointer."},{"name":"s","type":"size_t","comment":"tream the stream pointer."}],"argline":"z_streamp stream, size_t s","sig":"z_streamp::size_t","return":{"type":"size_t","comment":"maximum length of the compressed data."},"description":"deflateBound returns an upper bound on the compressed size.","comments":"This is a stub function used when zlib does not supply the\ndeflateBound() implementation itself.\n","group":"zlib"},"git_tree_lookup":{"type":"function","file":"tree.h","line":50,"lineto":53,"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 on success; error code otherwise"},"description":"Lookup a tree object from the repository.","comments":"","group":"tree"},"git_tree_close":{"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"},"description":"Close an open tree","comments":"This is a wrapper around git_object_close()\n\nIMPORTANT:\nIt *is* necessary to call this method when you stop\nusing a tree. Failure to do so will cause a memory leak.\n","group":"tree"},"git_tree_id":{"type":"function","file":"tree.h","line":79,"lineto":79,"args":[{"name":"tree","type":"git_tree *","comment":"a previously loaded tree."}],"argline":"git_tree *tree","sig":"git_tree *","return":{"type":"const git_oid *","comment":"object identity for the tree."},"description":"Get the id of a tree.","comments":"","group":"tree"},"git_tree_entrycount":{"type":"function","file":"tree.h","line":87,"lineto":87,"args":[{"name":"tree","type":"git_tree *","comment":"a previously loaded tree."}],"argline":"git_tree *tree","sig":"git_tree *","return":{"type":"size_t","comment":"the number of entries in the tree"},"description":"Get the number of entries listed in a tree","comments":"","group":"tree"},"git_tree_entry_byname":{"type":"function","file":"tree.h","line":96,"lineto":96,"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":"git_tree_entry *","comment":"the tree entry; NULL if not found"},"description":"Lookup a tree entry by its filename","comments":"","group":"tree"},"git_tree_entry_byindex":{"type":"function","file":"tree.h","line":105,"lineto":105,"args":[{"name":"tree","type":"git_tree *","comment":"a previously loaded tree."},{"name":"idx","type":"int","comment":"the position in the entry list"}],"argline":"git_tree *tree, int idx","sig":"git_tree *::int","return":{"type":"git_tree_entry *","comment":"the tree entry; NULL if not found"},"description":"Lookup a tree entry by its position in the tree","comments":"","group":"tree"},"git_tree_entry_attributes":{"type":"function","file":"tree.h","line":113,"lineto":113,"args":[{"name":"entry","type":"git_tree_entry *","comment":"a tree entry"}],"argline":"git_tree_entry *entry","sig":"git_tree_entry *","return":{"type":"unsigned int","comment":"attributes as an integer"},"description":"Get the UNIX file attributes of a tree entry","comments":"","group":"tree"},"git_tree_entry_name":{"type":"function","file":"tree.h","line":121,"lineto":121,"args":[{"name":"entry","type":"git_tree_entry *","comment":"a tree entry"}],"argline":"git_tree_entry *entry","sig":"git_tree_entry *","return":{"type":"const char *","comment":"the name of the file"},"description":"Get the filename of a tree entry","comments":"","group":"tree"},"git_tree_entry_id":{"type":"function","file":"tree.h","line":129,"lineto":129,"args":[{"name":"entry","type":"git_tree_entry *","comment":"a tree entry"}],"argline":"git_tree_entry *entry","sig":"git_tree_entry *","return":{"type":"const git_oid *","comment":"the oid of the object"},"description":"Get the id of the object pointed by the entry","comments":"","group":"tree"},"git_tree_entry_2object":{"type":"function","file":"tree.h","line":139,"lineto":139,"args":[{"name":"object_out","type":"git_object **"},{"name":"repo","type":"git_repository *","comment":"repository where to lookup the pointed object"},{"name":"entry","type":"git_tree_entry *","comment":"a tree entry"}],"argline":"git_object **object_out, git_repository *repo, git_tree_entry *entry","sig":"git_object **::git_repository *::git_tree_entry *","return":{"type":"int","comment":"a reference to the pointed object in the repository"},"description":"Convert a tree entry to the git_object it points too.","comments":"","group":"tree"},"git_odb_new":{"type":"function","file":"odb.h","line":53,"lineto":53,"args":[{"name":"out","type":"git_odb **","comment":"location to store the database pointer, if opened. Set to NULL if the open failed."}],"argline":"git_odb **out","sig":"git_odb **","return":{"type":"int","comment":"GIT_SUCCESS if the database was created; otherwise an error code describing why the open was not possible."},"description":"Create a new object database with no backends.","comments":"Before the ODB can be used for read/writing, a custom database\nbackend must be manually added using `git_odb_add_backend()`\n","group":"odb"},"git_odb_open":{"type":"function","file":"odb.h","line":72,"lineto":72,"args":[{"name":"out","type":"git_odb **","comment":"location to store the database pointer, if opened. Set to NULL if the open failed."},{"name":"objects_dir","type":"const char *","comment":"path of the backends' \"objects\" directory."}],"argline":"git_odb **out, const char *objects_dir","sig":"git_odb **::const char *","return":{"type":"int","comment":"GIT_SUCCESS if the database opened; otherwise an error code describing why the open was not possible."},"description":"Create a new object database and automatically add\nthe two default backends:","comments":"- git_odb_backend_loose: read and write loose object files\n\tfrom disk, assuming `objects_dir` as the Objects folder\n\n- git_odb_backend_pack: read objects from packfiles,\n\tassuming `objects_dir` as the Objects folder which\n\tcontains a 'pack/' folder with the corresponding data\n","group":"odb"},"git_odb_add_backend":{"type":"function","file":"odb.h","line":83,"lineto":83,"args":[{"name":"odb","type":"git_odb *","comment":"database to add the backend to"},{"name":"backend","type":"git_odb_backend *"},{"name":"priority","type":"int"}],"argline":"git_odb *odb, git_odb_backend *backend, int priority","sig":"git_odb *::git_odb_backend *::int","return":{"type":"int","comment":"0 on sucess; error code otherwise"},"description":"Add a custom backend to an existing Object DB","comments":"Read <odb_backends.h> for more information.\n","group":"odb"},"git_odb_add_alternate":{"type":"function","file":"odb.h","line":100,"lineto":100,"args":[{"name":"odb","type":"git_odb *","comment":"database to add the backend to"},{"name":"backend","type":"git_odb_backend *"},{"name":"priority","type":"int"}],"argline":"git_odb *odb, git_odb_backend *backend, int priority","sig":"git_odb *::git_odb_backend *::int","return":{"type":"int","comment":"0 on sucess; error code otherwise"},"description":"Add a custom backend to an existing Object DB; this\nbackend will work as an alternate.","comments":"Alternate backends are always checked for objects *after*\nall the main backends have been exhausted.\n\nWriting is disabled on alternate backends.\n\nRead <odb_backends.h> for more information.\n","group":"odb"},"git_odb_close":{"type":"function","file":"odb.h","line":107,"lineto":107,"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"},"description":"Close an open object database.","comments":"","group":"odb"},"git_odb_read":{"type":"function","file":"odb.h","line":126,"lineto":126,"args":[{"name":"out","type":"git_odb_object **","comment":"pointer where to store the read object"},{"name":"db","type":"git_odb *","comment":"database to search for the object in."},{"name":"id","type":"const git_oid *","comment":"identity of the object to read."}],"argline":"git_odb_object **out, git_odb *db, const git_oid *id","sig":"git_odb_object **::git_odb *::const git_oid *","return":{"type":"int","comment":"- GIT_SUCCESS if the object was read; - GIT_ENOTFOUND if the object is not in the database."},"description":"Read an object from the database.","comments":"This method queries all avaiable ODB backends\ntrying to read the given OID.\n\nThe returned object is reference counted and\ninternally cached, so it should be closed\nby the user once it's no longer in use.\n","group":"odb"},"git_odb_read_header":{"type":"function","file":"odb.h","line":146,"lineto":146,"args":[{"name":"len_p","type":"size_t *","comment":"pointer where to store the length"},{"name":"type_p","type":"git_otype *","comment":"pointer where to store the type"},{"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":"size_t *len_p, git_otype *type_p, git_odb *db, const git_oid *id","sig":"size_t *::git_otype *::git_odb *::const git_oid *","return":{"type":"int","comment":"- GIT_SUCCESS if the object was read; - GIT_ENOTFOUND if the object is not in the database."},"description":"Read the header of an object from the database, without\nreading its full contents.","comments":"The header includes the length and the type of an object.\n\nNote that most backends do not support reading only the header\nof an object, so the whole object will be read and then the\nheader will be returned.\n","group":"odb"},"git_odb_exists":{"type":"function","file":"odb.h","line":157,"lineto":157,"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 - 0, otherwise"},"description":"Determine if the given object can be found in the object database.","comments":"","group":"odb"},"git_odb_write":{"type":"function","file":"odb.h","line":177,"lineto":177,"args":[{"name":"oid","type":"git_oid *","comment":"pointer to store the OID result of the write"},{"name":"odb","type":"git_odb *","comment":"object database where to store the object"},{"name":"data","type":"const void *","comment":"buffer with the data to storr"},{"name":"len","type":"size_t","comment":"size of the buffer"},{"name":"type","type":"git_otype","comment":"type of the data to store"}],"argline":"git_oid *oid, git_odb *odb, const void *data, size_t len, git_otype type","sig":"git_oid *::git_odb *::const void *::size_t::git_otype","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Write an object directly into the ODB","comments":"This method writes a full object straight into the ODB.\nFor most cases, it is preferred to write objects through a write\nstream, which is both faster and less memory intensive, specially\nfor big objects.\n\nThis method is provided for compatibility with custom backends\nwhich are not able to support streaming writes\n","group":"odb"},"git_odb_open_wstream":{"type":"function","file":"odb.h","line":206,"lineto":206,"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 write"},{"name":"size","type":"size_t","comment":"final size of the object that will be written"},{"name":"type","type":"git_otype","comment":"type of the object that will be written"}],"argline":"git_odb_stream **stream, git_odb *db, size_t size, git_otype type","sig":"git_odb_stream **::git_odb *::size_t::git_otype","return":{"type":"int","comment":"0 if the stream was created; error code otherwise"},"description":"Open a stream to write an object into the ODB","comments":"The type and final length of the object must be specified\nwhen opening the stream.\n\nThe returned stream will be of type `GIT_STREAM_WRONLY` and\nwill have the following methods:\n\n\t- stream->write: write `n` bytes into the stream\n\t- stream->finalize_write: close the stream and store the object in\n\t\tthe odb\n\t- stream->free: free the stream\n\nThe streaming write won't be effective until `stream->finalize_write`\nis called and returns without an error\n\nThe stream must always be free'd or will leak memory.\n\n@see git_odb_stream\n","group":"odb"},"git_odb_open_rstream":{"type":"function","file":"odb.h","line":232,"lineto":232,"args":[{"name":"stream","type":"git_odb_stream **","comment":"pointer where to store the stream"},{"name":"db","type":"git_odb *","comment":"object database where the stream will read from"},{"name":"oid","type":"const git_oid *","comment":"oid of the object the stream will read from"}],"argline":"git_odb_stream **stream, git_odb *db, const git_oid *oid","sig":"git_odb_stream **::git_odb *::const git_oid *","return":{"type":"int","comment":"0 if the stream was created; error code otherwise"},"description":"Open a stream to read an object from the ODB","comments":"Note that most backends do *not* support streaming reads\nbecause they store their objects as compressed/delta'ed blobs.\n\nIt's recommended to use `git_odb_read` instead, which is\nassured to work on all backends.\n\nThe returned stream will be of type `GIT_STREAM_RDONLY` and\nwill have the following methods:\n\n\t- stream->read: read `n` bytes from the stream\n\t- stream->free: free the stream\n\nThe stream must always be free'd or will leak memory.\n\n@see git_odb_stream\n","group":"odb"},"git_odb_hash":{"type":"function","file":"odb.h","line":246,"lineto":246,"args":[{"name":"id","type":"git_oid *","comment":"the resulting object-ID."},{"name":"data","type":"const void *","comment":"data to hash"},{"name":"len","type":"size_t","comment":"size of the data"},{"name":"type","type":"git_otype","comment":"of the data to hash"}],"argline":"git_oid *id, const void *data, size_t len, git_otype type","sig":"git_oid *::const void *::size_t::git_otype","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Determine the object-ID (sha1 hash) of a data buffer","comments":"The resulting SHA-1 OID will the itentifier for the data\nbuffer as if the data buffer it were to written to the ODB.\n","group":"odb"},"git_odb_object_close":{"type":"function","file":"odb.h","line":256,"lineto":256,"args":[{"name":"object","type":"git_odb_object *","comment":"object to close"}],"argline":"git_odb_object *object","sig":"git_odb_object *","return":{"type":"void"},"description":"Close an ODB object","comments":"This method must always be called once a `git_odb_object` is no\nlonger needed, otherwise memory will leak.\n","group":"odb"},"git_odb_object_id":{"type":"function","file":"odb.h","line":266,"lineto":266,"args":[{"name":"object","type":"git_odb_object *","comment":"the object"}],"argline":"git_odb_object *object","sig":"git_odb_object *","return":{"type":"const git_oid *","comment":"a pointer to the OID"},"description":"Return the OID of an ODB object","comments":"This is the OID from which the object was read from\n","group":"odb"},"git_odb_object_data":{"type":"function","file":"odb.h","line":279,"lineto":279,"args":[{"name":"object","type":"git_odb_object *","comment":"the object"}],"argline":"git_odb_object *object","sig":"git_odb_object *","return":{"type":"const void *","comment":"a pointer to the data"},"description":"Return the data of an ODB object","comments":"This is the uncompressed, raw data as read from the ODB,\nwithout the leading header.\n\nThis pointer is owned by the object and shall not be free'd.\n","group":"odb"},"git_odb_object_size":{"type":"function","file":"odb.h","line":290,"lineto":290,"args":[{"name":"object","type":"git_odb_object *","comment":"the object"}],"argline":"git_odb_object *object","sig":"git_odb_object *","return":{"type":"size_t","comment":"the size"},"description":"Return the size of an ODB object","comments":"This is the real size of the `data` buffer, not the\nactual size of the object.\n","group":"odb"},"git_odb_object_type":{"type":"function","file":"odb.h","line":298,"lineto":298,"args":[{"name":"object","type":"git_odb_object *","comment":"the object"}],"argline":"git_odb_object *object","sig":"git_odb_object *","return":{"type":"git_otype","comment":"the type"},"description":"Return the type of an ODB object","comments":"","group":"odb"},"git_oid_mkstr":{"type":"function","file":"oid.h","line":60,"lineto":60,"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 the hex sequence and have at least the number of bytes needed for an oid encoded in hex (40 bytes)."}],"argline":"git_oid *out, const char *str","sig":"git_oid *::const char *","return":{"type":"int","comment":"GIT_SUCCESS if valid; GIT_ENOTOID on failure."},"description":"Parse a hex formatted object id into a git_oid.\n@param out oid structure the result is written into.\n@param str input hex string; must be pointing at the start of\n the hex sequence and have at least the number of bytes\n needed for an oid encoded in hex (40 bytes).\n@return GIT_SUCCESS if valid; GIT_ENOTOID on failure.","comments":"","group":"oid"},"git_oid_mkraw":{"type":"function","file":"oid.h","line":67,"lineto":67,"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"},"description":"Copy an already raw oid into a git_oid structure.\n@param out oid structure the result is written into.\n@param raw the raw input bytes to be copied.","comments":"","group":"oid"},"git_oid_fmt":{"type":"function","file":"oid.h","line":78,"lineto":78,"args":[{"name":"str","type":"char *","comment":"output hex string; must be pointing at the start of the hex sequence and have at least the number of bytes needed for an oid encoded in hex (40 bytes). Only the oid digits are written; a '\\\\0' terminator must be added by 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"},"description":"Format a git_oid into a hex string.\n@param str output hex string; must be pointing at the start of\n the hex sequence and have at least the number of bytes\n needed for an oid encoded in hex (40 bytes). Only the\n oid digits are written; a '\\\\0' terminator must be added\n by the caller if it is required.\n@param oid oid structure to format.","comments":"","group":"oid"},"git_oid_pathfmt":{"type":"function","file":"oid.h","line":93,"lineto":93,"args":[{"name":"str","type":"char *","comment":"output hex string; must be pointing at the start of the hex sequence and have at least the number of bytes needed for an oid encoded in hex (41 bytes). Only the oid digits are written; a '\\\\0' terminator must be added by 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"},"description":"Format a git_oid into a loose-object path string.\n<p>\nThe resulting string is \"aa/...\", where \"aa\" is the first two\nhex digitis of the oid and \"...\" is the remaining 38 digits.","comments":"","group":"oid"},"git_oid_allocfmt":{"type":"function","file":"oid.h","line":101,"lineto":101,"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 deallocate the string with free()."},"description":"Format a gid_oid into a newly allocated c-string.\n@param oid the oid structure to format\n@return the c-string; NULL if memory is exhausted. Caller must\n deallocate the string with free().","comments":"","group":"oid"},"git_oid_to_string":{"type":"function","file":"oid.h","line":118,"lineto":118,"args":[{"name":"out","type":"char *","comment":"the buffer into which the oid string is output."},{"name":"n","type":"size_t","comment":"the size of the out buffer."},{"name":"oid","type":"const git_oid *","comment":"the oid structure to format."}],"argline":"char *out, size_t n, const git_oid *oid","sig":"char *::size_t::const git_oid *","return":{"type":"char *","comment":"the out buffer pointer, assuming no input parameter errors, otherwise a pointer to an empty string."},"description":"Format a git_oid into a buffer as a hex format c-string.\n<p>\nIf the buffer is smaller than GIT_OID_HEXSZ+1, then the resulting\noid c-string will be truncated to n-1 characters. If there are\nany input parameter errors (out == NULL, n == 0, oid == NULL),\nthen a pointer to an empty string is returned, so that the return\nvalue can always be printed.","comments":"","group":"oid"},"git_oid_cpy":{"type":"function","file":"oid.h","line":125,"lineto":125,"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"},"description":"Copy an oid from one structure to another.\n@param out oid structure the result is written into.\n@param src oid structure to copy from.","comments":"","group":"oid"},"git_oid_cmp":{"type":"function","file":"oid.h","line":133,"lineto":133,"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":"<0, 0, >0 if a < b, a == b, a > b."},"description":"Compare two oid structures.\n@param a first oid structure.\n@param b second oid structure.\n@return <0, 0, >0 if a < b, a == b, a > b.","comments":"","group":"oid"},"git_oid_shorten_new":{"type":"function","file":"oid.h","line":154,"lineto":154,"args":[{"name":"min_length","type":"size_t","comment":"The minimal length for all identifiers, which will be used even if shorter OIDs would still be unique."}],"argline":"size_t min_length","sig":"size_t","return":{"type":"git_oid_shorten *","comment":"a `git_oid_shorten` instance, NULL if OOM"},"description":"Create a new OID shortener.","comments":"The OID shortener is used to process a list of OIDs\nin text form and return the shortest length that would\nuniquely identify all of them.\n\nE.g. look at the result of `git log --abbrev`.\n","group":"oid"},"git_oid_shorten_add":{"type":"function","file":"oid.h","line":180,"lineto":180,"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 added so far to the set; or an error code (<0) if an error occurs."},"description":"Add a new OID to set of shortened OIDs and calculate\nthe minimal length to uniquely identify all the OIDs in\nthe set.","comments":"The OID is expected to be a 40-char hexadecimal string.\nThe OID is owned by the user and will not be modified\nor freed.\n\nFor performance reasons, there is a hard-limit of how many\nOIDs can be added to a single set (around ~22000, assuming\na mostly randomized distribution), which should be enough\nfor any kind of program, and keeps the algorithm fast and\nmemory-efficient.\n\nAttempting to add more than those OIDs will result in a\nGIT_ENOMEM error\n","group":"oid"},"git_oid_shorten_free":{"type":"function","file":"oid.h","line":187,"lineto":187,"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"},"description":"Free an OID shortener instance","comments":"","group":"oid"},"git_strerror":{"type":"function","file":"errors.h","line":41,"lineto":41,"args":[{"name":"num","type":"int","comment":"The error code to explain"}],"argline":"int num","sig":"int","return":{"type":"const char *","comment":"a string explaining the error code"},"description":"strerror() for the Git library\n@param num The error code to explain\n@return a string explaining the error code","comments":"","group":"errors"},"git_revwalk_new":{"type":"function","file":"revwalk.h","line":88,"lineto":88,"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 on success; error code otherwise"},"description":"Allocate a new revision walker to iterate through a repo.","comments":"This revision walker uses a custom memory pool and an internal\ncommit cache, so it is relatively expensive to allocate.\n\nFor maximum performance, this revision walker should be\nreused for different walks.\n\nThis revision walker is *not* thread safe: it may only be\nused to walk a repository on a single thread; however,\nit is possible to have several revision walkers in\nseveral different threads walking the same repository.\n","group":"revwalk"},"git_revwalk_reset":{"type":"function","file":"revwalk.h","line":103,"lineto":103,"args":[{"name":"walker","type":"git_revwalk *","comment":"handle to reset."}],"argline":"git_revwalk *walker","sig":"git_revwalk *","return":{"type":"void"},"description":"Reset the revision walker for reuse.","comments":"This will clear all the pushed and hidden commits, and\nleave the walker in a blank state (just like at\ncreation) ready to receive new commit pushes and\nstart a new walk.\n\nThe revision walk is automatically reset when a walk\nis over.\n","group":"revwalk"},"git_revwalk_push":{"type":"function","file":"revwalk.h","line":120,"lineto":120,"args":[{"name":"walk","type":"git_revwalk *","comment":"er 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 on success; error code otherwise"},"description":"Mark a commit to start traversal from.","comments":"The given OID must belong to a commit on the walked\nrepository.\n\nThe given commit will be used as one of the roots\nwhen starting the revision walk. At least one commit\nmust be pushed the repository before a walk can\nbe started.\n","group":"revwalk"},"git_revwalk_hide":{"type":"function","file":"revwalk.h","line":136,"lineto":136,"args":[{"name":"walk","type":"git_revwalk *","comment":"er the walker being used for the traversal."},{"name":"oid","type":"const git_oid *"}],"argline":"git_revwalk *walk, const git_oid *oid","sig":"git_revwalk *::const git_oid *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Mark a commit (and its ancestors) uninteresting for the output.","comments":"The given OID must belong to a commit on the walked\nrepository.\n\nThe resolved commit and all its parents will be hidden from the\noutput on the revision walk.\n","group":"revwalk"},"git_revwalk_next":{"type":"function","file":"revwalk.h","line":156,"lineto":156,"args":[{"name":"oid","type":"git_oid *","comment":"Pointer where to store the oid of the next commit"},{"name":"walk","type":"git_revwalk *","comment":"the walker to pop the commit from."}],"argline":"git_oid *oid, git_revwalk *walk","sig":"git_oid *::git_revwalk *","return":{"type":"int","comment":"GIT_SUCCESS if the next commit was found; GIT_EREVWALKOVER if there are no commits left to iterate"},"description":"Get the next commit from the revision walk.","comments":"The initial call to this method is *not* blocking when\niterating through a repo with a time-sorting mode.\n\nIterating with Topological or inverted modes makes the initial\ncall blocking to preprocess the commit list, but this block should be\nmostly unnoticeable on most repositories (topological preprocessing\ntimes at 0.3s on the git.git repo).\n\nThe revision walker is reset when the walk is over.\n","group":"revwalk"},"git_revwalk_sorting":{"type":"function","file":"revwalk.h","line":167,"lineto":167,"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"},"description":"Change the sorting mode when iterating through the\nrepository's contents.","comments":"Changing the sorting mode resets the walker.\n","group":"revwalk"},"git_revwalk_free":{"type":"function","file":"revwalk.h","line":174,"lineto":174,"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"},"description":"Free a revision walker previously allocated.","comments":"","group":"revwalk"},"git_revwalk_repository":{"type":"function","file":"revwalk.h","line":183,"lineto":183,"args":[{"name":"walk","type":"git_revwalk *","comment":"the revision walker"}],"argline":"git_revwalk *walk","sig":"git_revwalk *","return":{"type":"git_repository *","comment":"the repository being walked"},"description":"Return the repository on which this walker\nis operating.","comments":"","group":"revwalk"},"git_object_lookup":{"type":"function","file":"object.h","line":59,"lineto":59,"args":[{"name":"object","type":"git_object **","comment":"pointer to the looked-up object"},{"name":"repo","type":"git_repository *","comment":"the repository to look up the object"},{"name":"id","type":"const git_oid *","comment":"the unique identifier for the object"},{"name":"type","type":"git_otype","comment":"the type of the object"}],"argline":"git_object **object, git_repository *repo, const git_oid *id, git_otype type","sig":"git_object **::git_repository *::const git_oid *::git_otype","return":{"type":"int","comment":"a reference to the object"},"description":"Lookup a reference to one of the objects in a repostory.","comments":"The generated reference is owned by the repository and\nshould be closed with the `git_object_close` method\ninstead of free'd manually.\n\nThe 'type' parameter must match the type of the object\nin the odb; the method will fail otherwise.\nThe special value 'GIT_OBJ_ANY' may be passed to let\nthe method guess the object's type.\n","group":"object"},"git_object_id":{"type":"function","file":"object.h","line":67,"lineto":67,"args":[{"name":"obj","type":"const git_object *","comment":"the repository object"}],"argline":"const git_object *obj","sig":"const git_object *","return":{"type":"const git_oid *","comment":"the SHA1 id"},"description":"Get the id (SHA1) of a repository object","comments":"","group":"object"},"git_object_type":{"type":"function","file":"object.h","line":75,"lineto":75,"args":[{"name":"obj","type":"const git_object *","comment":"the repository object"}],"argline":"const git_object *obj","sig":"const git_object *","return":{"type":"git_otype","comment":"the object's type"},"description":"Get the object type of an object","comments":"","group":"object"},"git_object_owner":{"type":"function","file":"object.h","line":83,"lineto":83,"args":[{"name":"obj","type":"const git_object *","comment":"the object"}],"argline":"const git_object *obj","sig":"const git_object *","return":{"type":"git_repository *","comment":"the repository who owns this object"},"description":"Get the repository that owns this object","comments":"","group":"object"},"git_object_close":{"type":"function","file":"object.h","line":100,"lineto":100,"args":[{"name":"object","type":"git_object *","comment":"the object to close"}],"argline":"git_object *object","sig":"git_object *","return":{"type":"void"},"description":"Close an open object","comments":"This method instructs the library to close an existing\nobject; note that git_objects are owned and cached by the repository\nso the object may or may not be freed after this library call,\ndepending on how agressive is the caching mechanism used\nby the repository.\n\nIMPORTANT:\nIt *is* necessary to call this method when you stop using\nan object. Failure to do so will cause a memory leak.\n","group":"object"},"git_object_type2string":{"type":"function","file":"object.h","line":111,"lineto":111,"args":[{"name":"type","type":"git_otype","comment":"object type to convert."}],"argline":"git_otype type","sig":"git_otype","return":{"type":"const char *","comment":"the corresponding string representation."},"description":"Convert an object type to it's string representation.","comments":"The result is a pointer to a string in static memory and\nshould not be free()'ed.\n","group":"object"},"git_object_string2type":{"type":"function","file":"object.h","line":119,"lineto":119,"args":[{"name":"str","type":"const char *","comment":"the string to convert."}],"argline":"const char *str","sig":"const char *","return":{"type":"git_otype","comment":"the corresponding git_otype."},"description":"Convert a string object type representation to it's git_otype.","comments":"","group":"object"},"git_object_typeisloose":{"type":"function","file":"object.h","line":128,"lineto":128,"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, false otherwise."},"description":"Determine if the given git_otype is a valid loose object type.","comments":"","group":"object"},"git_object__size":{"type":"function","file":"object.h","line":142,"lineto":142,"args":[{"name":"type","type":"git_otype","comment":"object type to get its size"}],"argline":"git_otype type","sig":"git_otype","return":{"type":"size_t","comment":"size in bytes of the object"},"description":"Get the size in bytes for the structure which\nacts as an in-memory representation of any given\nobject type.","comments":"For all the core types, this would the equivalent\nof calling `sizeof(git_commit)` if the core types\nwere not opaque on the external API.\n","group":"object"},"git_reference_lookup":{"type":"function","file":"refs.h","line":52,"lineto":52,"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 on success; error code otherwise"},"description":"Lookup a reference by its name in a repository.","comments":"The generated reference is owned by the repository and\nshould not be freed by the user.\n","group":"reference"},"git_reference_create_symbolic":{"type":"function","file":"refs.h","line":69,"lineto":69,"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"}],"argline":"git_reference **ref_out, git_repository *repo, const char *name, const char *target","sig":"git_reference **::git_repository *::const char *::const char *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Create a new symbolic reference.","comments":"The reference will be created in the repository and written\nto the disk.\n\nThis reference is owned by the repository and shall not\nbe free'd by the user.\n","group":"reference"},"git_reference_create_oid":{"type":"function","file":"refs.h","line":86,"lineto":86,"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."}],"argline":"git_reference **ref_out, git_repository *repo, const char *name, const git_oid *id","sig":"git_reference **::git_repository *::const char *::const git_oid *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Create a new object id reference.","comments":"The reference will be created in the repository and written\nto the disk.\n\nThis reference is owned by the repository and shall not\nbe free'd by the user.\n","group":"reference"},"git_reference_oid":{"type":"function","file":"refs.h","line":96,"lineto":96,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"const git_oid *","comment":"a pointer to the oid if available, NULL otherwise"},"description":"Get the OID pointed to by a reference.","comments":"Only available if the reference is direct (i.e. not symbolic)\n","group":"reference"},"git_reference_target":{"type":"function","file":"refs.h","line":106,"lineto":106,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"const char *","comment":"a pointer to the name if available, NULL otherwise"},"description":"Get full name to the reference pointed by this reference","comments":"Only available if the reference is symbolic\n","group":"reference"},"git_reference_type":{"type":"function","file":"refs.h","line":116,"lineto":116,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"git_rtype","comment":"the type"},"description":"Get the type of a reference","comments":"Either direct (GIT_REF_OID) or symbolic (GIT_REF_SYMBOLIC)\n","group":"reference"},"git_reference_name":{"type":"function","file":"refs.h","line":124,"lineto":124,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"const char *","comment":"the full name for the ref"},"description":"Get the full name of a reference","comments":"","group":"reference"},"git_reference_resolve":{"type":"function","file":"refs.h","line":139,"lineto":139,"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 on success; error code otherwise"},"description":"Resolve a symbolic reference","comments":"Thie method iteratively peels a symbolic reference\nuntil it resolves to a direct reference to an OID.\n\nIf a direct reference is passed as an argument,\nthat reference is returned immediately\n","group":"reference"},"git_reference_owner":{"type":"function","file":"refs.h","line":147,"lineto":147,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"git_repository *","comment":"a pointer to the repo"},"description":"Get the repository where a reference resides","comments":"","group":"reference"},"git_reference_set_target":{"type":"function","file":"refs.h","line":162,"lineto":162,"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 on success; error code otherwise"},"description":"Set the symbolic target of a reference.","comments":"The reference must be a symbolic reference, otherwise\nthis method will fail.\n\nThe reference will be automatically updated in\nmemory and on disk.\n","group":"reference"},"git_reference_set_oid":{"type":"function","file":"refs.h","line":177,"lineto":177,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"},{"name":"id","type":"const git_oid *"}],"argline":"git_reference *ref, const git_oid *id","sig":"git_reference *::const git_oid *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Set the OID target of a reference.","comments":"The reference must be a direct reference, otherwise\nthis method will fail.\n\nThe reference will be automatically updated in\nmemory and on disk.\n","group":"reference"},"git_reference_rename":{"type":"function","file":"refs.h","line":190,"lineto":190,"args":[{"name":"ref","type":"git_reference *"},{"name":"new_name","type":"const char *"}],"argline":"git_reference *ref, const char *new_name","sig":"git_reference *::const char *","return":{"type":"int"},"description":"Rename an existing reference","comments":"This method works for both direct and symbolic references.\nThe new name will be checked for validity and may be\nmodified into a normalized form.\n\nThe refernece will be immediately renamed in-memory\nand on disk.","group":"reference"},"git_reference_delete":{"type":"function","file":"refs.h","line":201,"lineto":201,"args":[{"name":"ref","type":"git_reference *"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"int"},"description":"Delete an existing reference","comments":"This method works for both direct and symbolic references.\n\nThe reference will be immediately removed on disk and from\nmemory. The given reference pointer will no longer be valid.","group":"reference"},"git_reference_packall":{"type":"function","file":"refs.h","line":219,"lineto":219,"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 on success; error code otherwise"},"description":"Pack all the loose references in the repository","comments":"This method will load into the cache all the loose\nreferences on the repository and update the \n`packed-refs` file with them.\n\nOnce the `packed-refs` file has been written properly,\nthe loose references will be removed from disk.\n\nWARNING: calling this method may invalidate any existing\nreferences previously loaded on the cache.\n","group":"reference"},"git_reference_listall":{"type":"function","file":"refs.h","line":242,"lineto":242,"args":[{"name":"array","type":"git_strarray *","comment":"Pointer to a git_strarray structure where the 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 listing."}],"argline":"git_strarray *array, git_repository *repo, unsigned int list_flags","sig":"git_strarray *::git_repository *::unsigned int","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Fill a list with all the references that can be found\nin a repository.","comments":"The listed references may be filtered by type, or using\na bitwise OR of several types. Use the magic value\n`GIT_REF_LISTALL` to obtain all references, including\npacked ones.\n\nThe string array will be filled with the names of all\nreferences; these values are owned by the user and\nshould be free'd manually when no longer needed, using\n`git_strarray_free`.\n","group":"reference"},"git_reference_listcb":{"type":"function","file":"refs.h","line":265,"lineto":265,"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 listing."},{"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 (*callback)(const char *, void *), void *payload","sig":"git_repository *::unsigned int::int (*)(const char *, void *)::void *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"List all the references in the repository, calling a custom\ncallback for each one.","comments":"The listed references may be filtered by type, or using\na bitwise OR of several types. Use the magic value\n`GIT_REF_LISTALL` to obtain all references, including\npacked ones.\n\nThe `callback` function will be called for each of the references\nin the repository, and will receive the name of the reference and\nthe `payload` value passed to this method.\n","group":"reference"}},"globals":{"GIT_BEGIN_DECL":{"value":"","file":"common.h","line":37,"comments":"Start declarations in C mode"},"GIT_END_DECL":{"value":"","file":"common.h","line":39,"comments":"End declarations in C mode"},"GIT_EXTERN(type)":{"value":"extern __attribute__((visibility(\"default\"))) type","file":"common.h","line":43,"comments":"Declare a public function exported for application use."},"GIT_EXTERN_TLS(type)":{"value":"extern __attribute__((visibility(\"default\"))) GIT_TLS type","file":"common.h","line":54,"comments":"Declare a public TLS symbol exported for application use."},"GIT_INLINE(type)":{"value":"static __inline type","file":"common.h","line":66,"comments":"Declare a function as always inlined."},"GIT_FORMAT_PRINTF(a,b)":{"value":"__attribute__((format (printf, a, b)))","file":"common.h","line":73,"comments":"Declare a function's takes printf style arguments."},"GIT_SUCCESS":{"value":"0","file":"common.h","line":88,"comments":"Operation completed successfully."},"GIT_ERROR":{"value":"-1","file":"common.h","line":96,"comments":"Operation failed, with unspecified reason.\nThis value also serves as the base error code; all other\nerror codes are subtracted from it such that all errors\nare < 0, in typical POSIX C tradition."},"GIT_ENOTOID":{"value":"(GIT_ERROR - 1)","file":"common.h","line":99,"comments":"Input was not a properly formatted Git object id."},"GIT_ENOTFOUND":{"value":"(GIT_ERROR - 2)","file":"common.h","line":102,"comments":"Input does not exist in the scope searched."},"GIT_ENOMEM":{"value":"(GIT_ERROR - 3)","file":"common.h","line":105,"comments":"Not enough space available."},"GIT_EOSERR":{"value":"(GIT_ERROR - 4)","file":"common.h","line":108,"comments":"Consult the OS error information."},"GIT_EOBJTYPE":{"value":"(GIT_ERROR - 5)","file":"common.h","line":111,"comments":"The specified object is of invalid type"},"GIT_EOBJCORRUPTED":{"value":"(GIT_ERROR - 6)","file":"common.h","line":114,"comments":"The specified object has its data corrupted"},"GIT_ENOTAREPO":{"value":"(GIT_ERROR - 7)","file":"common.h","line":117,"comments":"The specified repository is invalid"},"GIT_EINVALIDTYPE":{"value":"(GIT_ERROR - 8)","file":"common.h","line":120,"comments":"The object type is invalid or doesn't match"},"GIT_EMISSINGOBJDATA":{"value":"(GIT_ERROR - 9)","file":"common.h","line":123,"comments":"The object cannot be written because it's missing internal data"},"GIT_EPACKCORRUPTED":{"value":"(GIT_ERROR - 10)","file":"common.h","line":126,"comments":"The packfile for the ODB is corrupted"},"GIT_EFLOCKFAIL":{"value":"(GIT_ERROR - 11)","file":"common.h","line":129,"comments":"Failed to acquire or release a file lock"},"GIT_EZLIB":{"value":"(GIT_ERROR - 12)","file":"common.h","line":132,"comments":"The Z library failed to inflate/deflate an object's data"},"GIT_EBUSY":{"value":"(GIT_ERROR - 13)","file":"common.h","line":135,"comments":"The queried object is currently busy"},"GIT_EBAREINDEX":{"value":"(GIT_ERROR - 14)","file":"common.h","line":138,"comments":"The index file is not backed up by an existing repository"},"GIT_EINVALIDREFNAME":{"value":"(GIT_ERROR - 15)","file":"common.h","line":141,"comments":"The name of the reference is not valid"},"GIT_EREFCORRUPTED":{"value":"(GIT_ERROR - 16)","file":"common.h","line":144,"comments":"The specified reference has its data corrupted"},"GIT_ETOONESTEDSYMREF":{"value":"(GIT_ERROR - 17)","file":"common.h","line":147,"comments":"The specified symbolic reference is too deeply nested"},"GIT_EPACKEDREFSCORRUPTED":{"value":"(GIT_ERROR - 18)","file":"common.h","line":150,"comments":"The pack-refs file is either corrupted or its format is not currently supported"},"GIT_EINVALIDPATH":{"value":"(GIT_ERROR - 19)","file":"common.h","line":153,"comments":"The path is invalid"},"GIT_EREVWALKOVER":{"value":"(GIT_ERROR - 20)","file":"common.h","line":156,"comments":"The revision walker is empty; there are no more commits left to iterate"},"GIT_EINVALIDREFSTATE":{"value":"(GIT_ERROR - 21)","file":"common.h","line":159,"comments":"The state of the reference is not valid"},"GIT_ENOTIMPLEMENTED":{"value":"(GIT_ERROR - 22)","file":"common.h","line":162,"comments":"This feature has not been implemented yet"},"GIT_OID_RAWSZ":{"value":"20","file":"oid.h","line":41,"comments":"Size (in bytes) of a raw/binary oid"},"GIT_OID_HEXSZ":{"value":"(GIT_OID_RAWSZ * 2)","file":"oid.h","line":44,"comments":"Size (in bytes) of a hex formatted oid"},"GIT_SORT_NONE":{"value":"(0)","file":"revwalk.h","line":47,"comments":"Sort the repository contents in no particular ordering;\nthis sorting is arbitrary, implementation-specific\nand subject to change at any time.\nThis is the default sorting for new walkers."},"GIT_SORT_TOPOLOGICAL":{"value":"(1 << 0)","file":"revwalk.h","line":54,"comments":"Sort the repository contents in topological order\n(parents before children); this sorting mode\ncan be combined with time sorting."},"GIT_SORT_TIME":{"value":"(1 << 1)","file":"revwalk.h","line":61,"comments":"Sort the repository contents by commit time;\nthis sorting mode can be combined with\ntopological sorting."},"GIT_SORT_REVERSE":{"value":"(1 << 2)","file":"revwalk.h","line":68,"comments":"Iterate through the repository contents in reverse\norder; this sorting mode can be combined with\nany of the above."}},"types":[["git_blob",{"type":"struct","value":"git_blob","file":"types.h","line":116,"lineto":116,"block":"","tdef":"typedef","comments":"In-memory representation of a blob object.","used":{"returns":[],"needs":["git_blob_close","git_blob_lookup","git_blob_rawcontent","git_blob_rawsize"]}}],["git_commit",{"type":"struct","value":"git_commit","file":"types.h","line":119,"lineto":119,"block":"","tdef":"typedef","comments":"Parsed representation of a commit object.","used":{"returns":[],"needs":["git_commit_author","git_commit_close","git_commit_committer","git_commit_create_o","git_commit_id","git_commit_lookup","git_commit_message","git_commit_message_short","git_commit_parent","git_commit_parentcount","git_commit_time","git_commit_time_offset","git_commit_tree"]}}],["git_index",{"type":"struct","value":"git_index","file":"types.h","line":128,"lineto":128,"block":"","tdef":"typedef","comments":"Memory representation of an index file.","used":{"returns":[],"needs":["git_index_add","git_index_clear","git_index_entrycount","git_index_find","git_index_free","git_index_get","git_index_insert","git_index_open_bare","git_index_open_inrepo","git_index_read","git_index_remove","git_index_write","git_repository_index"]}}],["git_index_entry",{"type":"struct","value":"git_index_entry","file":"index.h","line":55,"lineto":72,"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","comments":"Memory representation of a file entry in the index.","used":{"returns":["git_index_get"],"needs":["git_index_insert"]}}],["git_index_time",{"type":"struct","value":"git_index_time","file":"index.h","line":48,"lineto":52,"block":"git_time_t seconds\nunsigned int nanoseconds","tdef":"typedef","comments":"Time used in a git index entry","used":{"returns":[],"needs":[]}}],["git_object",{"type":"struct","value":"git_object","file":"types.h","line":107,"lineto":107,"block":"","tdef":"typedef","comments":"Representation of a generic object in a repository","used":{"returns":[],"needs":["git_object_close","git_object_id","git_object_lookup","git_object_owner","git_object_type","git_tag_create_o","git_tag_target","git_tree_entry_2object"]}}],["git_odb",{"type":"struct","value":"git_odb","file":"types.h","line":89,"lineto":89,"block":"","tdef":"typedef","comments":"An open object database handle.","used":{"returns":["git_repository_database"],"needs":["git_odb_add_alternate","git_odb_add_backend","git_odb_close","git_odb_exists","git_odb_new","git_odb_open","git_odb_open_rstream","git_odb_open_wstream","git_odb_read","git_odb_read_header","git_odb_write","git_repository_open3"]}}],["git_odb_backend",{"type":"struct","value":"git_odb_backend","file":"types.h","line":92,"lineto":92,"block":"","tdef":"typedef","comments":"A custom backend in an ODB","used":{"returns":[],"needs":["git_odb_add_alternate","git_odb_add_backend"]}}],["git_odb_object",{"type":"struct","value":"git_odb_object","file":"types.h","line":95,"lineto":95,"block":"","tdef":"typedef","comments":"An object read from the ODB","used":{"returns":[],"needs":["git_odb_object_close","git_odb_object_data","git_odb_object_id","git_odb_object_size","git_odb_object_type","git_odb_read"]}}],["git_odb_stream",{"type":"struct","value":"git_odb_stream","file":"types.h","line":98,"lineto":98,"block":"","tdef":"typedef","comments":"A stream to read/write from the ODB","used":{"returns":[],"needs":["git_odb_open_rstream","git_odb_open_wstream"]}}],["git_odb_streammode",{"type":"enum","file":"odb_backend.h","line":94,"lineto":107,"block":"GIT_STREAM_RDONLY\nGIT_STREAM_WRONLY\nGIT_STREAM_RW","tdef":"typedef","comments":"Streaming mode","used":{"returns":[],"needs":[]}}],["git_oid",{"type":"struct","value":"git_oid","file":"oid.h","line":47,"lineto":50,"block":"unsigned char id[GIT_OID_RAWSZ]","tdef":"typedef","comments":"Unique identity of any object (commit, tree, blob, tag).","used":{"returns":["git_commit_id","git_object_id","git_odb_object_id","git_reference_oid","git_tag_id","git_tag_target_oid","git_tree_entry_id","git_tree_id"],"needs":["git_blob_create_frombuffer","git_blob_create_fromfile","git_blob_lookup","git_commit_create","git_commit_create_o","git_commit_create_ov","git_commit_create_v","git_commit_lookup","git_object_lookup","git_odb_exists","git_odb_hash","git_odb_open_rstream","git_odb_read","git_odb_read_header","git_odb_write","git_oid_allocfmt","git_oid_cmp","git_oid_cpy","git_oid_fmt","git_oid_mkraw","git_oid_mkstr","git_oid_pathfmt","git_oid_to_string","git_reference_create_oid","git_reference_set_oid","git_revwalk_hide","git_revwalk_next","git_revwalk_push","git_tag_create","git_tag_create_o","git_tag_lookup","git_tree_lookup"]}}],["git_oid_shorten",{"type":"struct","value":"git_oid_shorten","file":"oid.h","line":138,"lineto":138,"block":"","tdef":"typedef","comments":"OID Shortener object","used":{"returns":["git_oid_shorten_new"],"needs":["git_oid_shorten_add","git_oid_shorten_free"]}}],["git_otype",{"type":"enum","file":"types.h","line":75,"lineto":86,"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","comments":"Basic type (loose or packed) of any Git object.","used":{"returns":[],"needs":["git_object__size","git_object_lookup","git_object_type2string","git_object_typeisloose","git_odb_hash","git_odb_open_wstream","git_odb_read_header","git_odb_write","git_tag_create"]}}],["git_reference",{"type":"struct","value":"git_reference","file":"types.h","line":144,"lineto":144,"block":"","tdef":"typedef","comments":"In-memory representation of a reference.","used":{"returns":[],"needs":["git_reference_create_oid","git_reference_create_symbolic","git_reference_delete","git_reference_lookup","git_reference_name","git_reference_oid","git_reference_owner","git_reference_rename","git_reference_resolve","git_reference_set_oid","git_reference_set_target","git_reference_target","git_reference_type"]}}],["git_repository",{"type":"struct","value":"git_repository","file":"types.h","line":104,"lineto":104,"block":"","tdef":"typedef","comments":"Representation of an existing git repository,\nincluding all its object contents","used":{"returns":["git_object_owner","git_reference_owner","git_revwalk_repository"],"needs":["git_blob_create_frombuffer","git_blob_create_fromfile","git_blob_lookup","git_commit_create","git_commit_create_o","git_commit_create_ov","git_commit_create_v","git_commit_lookup","git_index_open_inrepo","git_object_lookup","git_reference_create_oid","git_reference_create_symbolic","git_reference_listall","git_reference_listcb","git_reference_lookup","git_reference_packall","git_repository_database","git_repository_free","git_repository_index","git_repository_init","git_repository_open","git_repository_open2","git_repository_open3","git_revwalk_new","git_tag_create","git_tag_create_o","git_tag_lookup","git_tree_entry_2object","git_tree_lookup"]}}],["git_revwalk",{"type":"struct","value":"git_revwalk","file":"types.h","line":110,"lineto":110,"block":"","tdef":"typedef","comments":"Representation of an in-progress walk through the commits in a repo","used":{"returns":[],"needs":["git_revwalk_free","git_revwalk_hide","git_revwalk_new","git_revwalk_next","git_revwalk_push","git_revwalk_repository","git_revwalk_reset","git_revwalk_sorting"]}}],["git_rtype",{"type":"enum","file":"types.h","line":147,"lineto":154,"block":"GIT_REF_INVALID\nGIT_REF_OID\nGIT_REF_SYMBOLIC\nGIT_REF_PACKED\nGIT_REF_HAS_PEEL\nGIT_REF_LISTALL","tdef":"typedef","comments":"Basic type of any Git reference.","used":{"returns":[],"needs":[]}}],["git_signature",{"type":"struct","value":"git_signature","file":"types.h","line":137,"lineto":141,"block":"char *name\nchar *email\ngit_time when","tdef":"typedef","comments":"An action signature (e.g. for committers, taggers, etc)","used":{"returns":["git_commit_author","git_commit_committer","git_signature_dup","git_signature_new","git_tag_tagger"],"needs":["git_commit_create","git_commit_create_o","git_commit_create_ov","git_commit_create_v","git_signature_dup","git_signature_free","git_tag_create","git_tag_create_o"]}}],["git_tag",{"type":"struct","value":"git_tag","file":"types.h","line":113,"lineto":113,"block":"","tdef":"typedef","comments":"Parsed representation of a tag object.","used":{"returns":[],"needs":["git_tag_close","git_tag_id","git_tag_lookup","git_tag_message","git_tag_name","git_tag_tagger","git_tag_target","git_tag_target_oid","git_tag_type"]}}],["git_time",{"type":"struct","value":"git_time","file":"types.h","line":131,"lineto":134,"block":"git_time_t time\nint offset","tdef":"typedef","comments":"Time in a signature","used":{"returns":[],"needs":[]}}],["git_tree",{"type":"struct","value":"git_tree","file":"types.h","line":125,"lineto":125,"block":"","tdef":"typedef","comments":"Representation of a tree object.","used":{"returns":[],"needs":["git_commit_create_o","git_commit_create_ov","git_commit_tree","git_tree_close","git_tree_entry_byindex","git_tree_entry_byname","git_tree_entrycount","git_tree_id","git_tree_lookup"]}}],["git_tree_entry",{"type":"struct","value":"git_tree_entry","file":"types.h","line":122,"lineto":122,"block":"","tdef":"typedef","comments":"Representation of each one of the entries in a tree object.","used":{"returns":["git_tree_entry_byindex","git_tree_entry_byname"],"needs":["git_tree_entry_2object","git_tree_entry_attributes","git_tree_entry_id","git_tree_entry_name"]}}]],"prefix":"include/git2","groups":[["blob",["git_blob_close","git_blob_create_frombuffer","git_blob_create_fromfile","git_blob_lookup","git_blob_rawcontent","git_blob_rawsize"]],["commit",["git_commit_author","git_commit_close","git_commit_committer","git_commit_create","git_commit_create_o","git_commit_create_ov","git_commit_create_v","git_commit_id","git_commit_lookup","git_commit_message","git_commit_message_short","git_commit_parent","git_commit_parentcount","git_commit_time","git_commit_time_offset","git_commit_tree"]],["errors",["git_strerror"]],["index",["git_index_add","git_index_clear","git_index_entrycount","git_index_find","git_index_free","git_index_get","git_index_insert","git_index_open_bare","git_index_open_inrepo","git_index_read","git_index_remove","git_index_write"]],["object",["git_object__size","git_object_close","git_object_id","git_object_lookup","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_close","git_odb_exists","git_odb_hash","git_odb_new","git_odb_object_close","git_odb_object_data","git_odb_object_id","git_odb_object_size","git_odb_object_type","git_odb_open","git_odb_open_rstream","git_odb_open_wstream","git_odb_read","git_odb_read_header","git_odb_write"]],["oid",["git_oid_allocfmt","git_oid_cmp","git_oid_cpy","git_oid_fmt","git_oid_mkraw","git_oid_mkstr","git_oid_pathfmt","git_oid_shorten_add","git_oid_shorten_free","git_oid_shorten_new","git_oid_to_string"]],["reference",["git_reference_create_oid","git_reference_create_symbolic","git_reference_delete","git_reference_listall","git_reference_listcb","git_reference_lookup","git_reference_name","git_reference_oid","git_reference_owner","git_reference_packall","git_reference_rename","git_reference_resolve","git_reference_set_oid","git_reference_set_target","git_reference_target","git_reference_type"]],["repository",["git_repository_database","git_repository_free","git_repository_index","git_repository_init","git_repository_open","git_repository_open2","git_repository_open3"]],["revwalk",["git_revwalk_free","git_revwalk_hide","git_revwalk_new","git_revwalk_next","git_revwalk_push","git_revwalk_repository","git_revwalk_reset","git_revwalk_sorting"]],["signature",["git_signature_dup","git_signature_free","git_signature_new"]],["tag",["git_tag_close","git_tag_create","git_tag_create_o","git_tag_id","git_tag_lookup","git_tag_message","git_tag_name","git_tag_tagger","git_tag_target","git_tag_target_oid","git_tag_type"]],["tree",["git_tree_close","git_tree_entry_2object","git_tree_entry_attributes","git_tree_entry_byindex","git_tree_entry_byname","git_tree_entry_id","git_tree_entry_name","git_tree_entrycount","git_tree_id","git_tree_lookup"]],["zlib",["deflateBound"]]]} \ No newline at end of file
+{"files":[{"file":"zlib.h","functions":["deflateBound"],"meta":{"brief":"Git data compression routines","defgroup":"git_zlib Git data compression routines","ingroup":"Git","comments":"\n"},"lines":58},{"file":"types.h","functions":[],"meta":{"brief":"libgit2 base & compatibility types","ingroup":"Git","comments":"\n"},"lines":159},{"file":"tree.h","functions":["git_tree_lookup","git_tree_close","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_2object"],"meta":{"brief":"Git tree parsing, loading routines","defgroup":"git_tree Git tree parsing, loading routines","ingroup":"Git","comments":"\n"},"lines":143},{"file":"thread-utils.h","functions":[],"meta":{},"lines":70},{"file":"tag.h","functions":["git_tag_lookup","git_tag_close","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_o"],"meta":{"brief":"Git tag parsing routines","defgroup":"git_tag Git tag management","ingroup":"Git","comments":"\n"},"lines":193},{"file":"signature.h","functions":["git_signature_new","git_signature_dup","git_signature_free"],"meta":{"brief":"Git signature creation","defgroup":"git_signature Git signature creation","ingroup":"Git","comments":"\n"},"lines":70},{"file":"revwalk.h","functions":["git_revwalk_new","git_revwalk_reset","git_revwalk_push","git_revwalk_hide","git_revwalk_next","git_revwalk_sorting","git_revwalk_free","git_revwalk_repository"],"meta":{"brief":"Git revision traversal routines","defgroup":"git_revwalk Git revision traversal routines","ingroup":"Git","comments":"\n"},"lines":187},{"file":"repository.h","functions":["git_repository_open","git_repository_open2","git_repository_open3","git_repository_database","git_repository_index","git_repository_free","git_repository_init"],"meta":{"brief":"Git repository management routines","defgroup":"git_repository Git repository management routines","ingroup":"Git","comments":"\n"},"lines":187},{"file":"refs.h","functions":["git_reference_lookup","git_reference_create_symbolic","git_reference_create_oid","git_reference_oid","git_reference_target","git_reference_type","git_reference_name","git_reference_resolve","git_reference_owner","git_reference_set_target","git_reference_set_oid","git_reference_rename","git_reference_delete","git_reference_packall","git_reference_listall","git_reference_listcb"],"meta":{"brief":"Git reference management routines","defgroup":"git_reference Git reference management routines","ingroup":"Git","comments":"\n"},"lines":269},{"file":"oid.h","functions":["git_oid_mkstr","git_oid_mkraw","git_oid_fmt","git_oid_pathfmt","git_oid_allocfmt","git_oid_to_string","git_oid_cpy","git_oid_cmp","git_oid_shorten_new","git_oid_shorten_add","git_oid_shorten_free"],"meta":{"brief":"Git object id routines","defgroup":"git_oid Git object id routines","ingroup":"Git","comments":"\n"},"lines":191},{"file":"odb_backend.h","functions":[],"meta":{"brief":"Git custom backend functions","defgroup":"git_backend Git custom backend API","ingroup":"Git","comments":"\n"},"lines":107},{"file":"odb.h","functions":["git_odb_new","git_odb_open","git_odb_add_backend","git_odb_add_alternate","git_odb_close","git_odb_read","git_odb_read_header","git_odb_exists","git_odb_write","git_odb_open_wstream","git_odb_open_rstream","git_odb_hash","git_odb_object_close","git_odb_object_id","git_odb_object_data","git_odb_object_size","git_odb_object_type"],"meta":{"brief":"Git object database routines","defgroup":"git_odb Git object database routines","ingroup":"Git","comments":"\n"},"lines":302},{"file":"object.h","functions":["git_object_lookup","git_object_id","git_object_type","git_object_owner","git_object_close","git_object_type2string","git_object_string2type","git_object_typeisloose","git_object__size"],"meta":{"brief":"Git revision object management routines","defgroup":"git_object Git revision object management routines","ingroup":"Git","comments":"\n"},"lines":147},{"file":"index.h","functions":["git_index_open_bare","git_index_open_inrepo","git_index_clear","git_index_free","git_index_read","git_index_write","git_index_find","git_index_add","git_index_remove","git_index_insert","git_index_get","git_index_entrycount"],"meta":{"brief":"Git index parsing and manipulation routines","defgroup":"git_index Git index parsing and manipulation routines","ingroup":"Git","comments":"\n"},"lines":199},{"file":"errors.h","functions":["git_strerror"],"meta":{"brief":"Git error handling routines and variables","ingroup":"Git","comments":"\n"},"lines":45},{"file":"common.h","functions":[],"meta":{"brief":"Git common platform definitions","defgroup":"git_common Git common platform definitions","ingroup":"Git","comments":"\n"},"lines":175},{"file":"commit.h","functions":["git_commit_lookup","git_commit_close","git_commit_id","git_commit_message_short","git_commit_message","git_commit_time","git_commit_time_offset","git_commit_committer","git_commit_author","git_commit_tree","git_commit_parentcount","git_commit_parent","git_commit_create","git_commit_create_o","git_commit_create_ov","git_commit_create_v"],"meta":{"brief":"Git commit parsing, formatting routines","defgroup":"git_commit Git commit parsing, formatting routines","ingroup":"Git","comments":"\n"},"lines":282},{"file":"blob.h","functions":["git_blob_lookup","git_blob_close","git_blob_rawcontent","git_blob_rawsize","git_blob_create_fromfile","git_blob_create_frombuffer"],"meta":{"brief":"Git blob load and write routines","defgroup":"git_blob Git blob load and write routines","ingroup":"Git","comments":"\n"},"lines":121}],"functions":{"deflateBound":{"type":"function","file":"zlib.h","line":50,"lineto":54,"args":[{"name":"stream","type":"z_streamp","comment":"the stream pointer."},{"name":"s","type":"size_t","comment":"tream the stream pointer."}],"argline":"z_streamp stream, size_t s","sig":"z_streamp::size_t","return":{"type":"size_t","comment":"maximum length of the compressed data."},"description":"deflateBound returns an upper bound on the compressed size.","comments":"This is a stub function used when zlib does not supply the\ndeflateBound() implementation itself.\n","group":"zlib"},"git_tree_lookup":{"type":"function","file":"tree.h","line":50,"lineto":53,"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 on success; error code otherwise"},"description":"Lookup a tree object from the repository.","comments":"","group":"tree"},"git_tree_close":{"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"},"description":"Close an open tree","comments":"This is a wrapper around git_object_close()\n\nIMPORTANT:\nIt *is* necessary to call this method when you stop\nusing a tree. Failure to do so will cause a memory leak.\n","group":"tree"},"git_tree_id":{"type":"function","file":"tree.h","line":79,"lineto":79,"args":[{"name":"tree","type":"git_tree *","comment":"a previously loaded tree."}],"argline":"git_tree *tree","sig":"git_tree *","return":{"type":"const git_oid *","comment":"object identity for the tree."},"description":"Get the id of a tree.","comments":"","group":"tree"},"git_tree_entrycount":{"type":"function","file":"tree.h","line":87,"lineto":87,"args":[{"name":"tree","type":"git_tree *","comment":"a previously loaded tree."}],"argline":"git_tree *tree","sig":"git_tree *","return":{"type":"size_t","comment":"the number of entries in the tree"},"description":"Get the number of entries listed in a tree","comments":"","group":"tree"},"git_tree_entry_byname":{"type":"function","file":"tree.h","line":96,"lineto":96,"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":"git_tree_entry *","comment":"the tree entry; NULL if not found"},"description":"Lookup a tree entry by its filename","comments":"","group":"tree"},"git_tree_entry_byindex":{"type":"function","file":"tree.h","line":105,"lineto":105,"args":[{"name":"tree","type":"git_tree *","comment":"a previously loaded tree."},{"name":"idx","type":"int","comment":"the position in the entry list"}],"argline":"git_tree *tree, int idx","sig":"git_tree *::int","return":{"type":"git_tree_entry *","comment":"the tree entry; NULL if not found"},"description":"Lookup a tree entry by its position in the tree","comments":"","group":"tree"},"git_tree_entry_attributes":{"type":"function","file":"tree.h","line":113,"lineto":113,"args":[{"name":"entry","type":"git_tree_entry *","comment":"a tree entry"}],"argline":"git_tree_entry *entry","sig":"git_tree_entry *","return":{"type":"unsigned int","comment":"attributes as an integer"},"description":"Get the UNIX file attributes of a tree entry","comments":"","group":"tree"},"git_tree_entry_name":{"type":"function","file":"tree.h","line":121,"lineto":121,"args":[{"name":"entry","type":"git_tree_entry *","comment":"a tree entry"}],"argline":"git_tree_entry *entry","sig":"git_tree_entry *","return":{"type":"const char *","comment":"the name of the file"},"description":"Get the filename of a tree entry","comments":"","group":"tree"},"git_tree_entry_id":{"type":"function","file":"tree.h","line":129,"lineto":129,"args":[{"name":"entry","type":"git_tree_entry *","comment":"a tree entry"}],"argline":"git_tree_entry *entry","sig":"git_tree_entry *","return":{"type":"const git_oid *","comment":"the oid of the object"},"description":"Get the id of the object pointed by the entry","comments":"","group":"tree"},"git_tree_entry_2object":{"type":"function","file":"tree.h","line":139,"lineto":139,"args":[{"name":"object_out","type":"git_object **"},{"name":"repo","type":"git_repository *","comment":"repository where to lookup the pointed object"},{"name":"entry","type":"git_tree_entry *","comment":"a tree entry"}],"argline":"git_object **object_out, git_repository *repo, git_tree_entry *entry","sig":"git_object **::git_repository *::git_tree_entry *","return":{"type":"int","comment":"a reference to the pointed object in the repository"},"description":"Convert a tree entry to the git_object it points too.","comments":"","group":"tree"},"git_tag_lookup":{"type":"function","file":"tag.h","line":50,"lineto":53,"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 on success; error code otherwise"},"description":"Lookup a tag object from the repository.","comments":"","group":"tag"},"git_tag_close":{"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"},"description":"Close an open tag","comments":"This is a wrapper around git_object_close()\n\nIMPORTANT:\nIt *is* necessary to call this method when you stop\nusing a tag. Failure to do so will cause a memory leak.\n","group":"tag"},"git_tag_id":{"type":"function","file":"tag.h","line":79,"lineto":79,"args":[{"name":"tag","type":"git_tag *","comment":"a previously loaded tag."}],"argline":"git_tag *tag","sig":"git_tag *","return":{"type":"const git_oid *","comment":"object identity for the tag."},"description":"Get the id of a tag.","comments":"","group":"tag"},"git_tag_target":{"type":"function","file":"tag.h","line":91,"lineto":91,"args":[{"name":"target","type":"git_object **","comment":"pointer where to store the target"},{"name":"t","type":"git_tag *","comment":"arget pointer where to store the target"}],"argline":"git_object **target, git_tag *t","sig":"git_object **::git_tag *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Get the tagged object of a tag","comments":"This method performs a repository lookup for the\ngiven object and returns it\n","group":"tag"},"git_tag_target_oid":{"type":"function","file":"tag.h","line":99,"lineto":99,"args":[{"name":"t","type":"git_tag *","comment":"ag a previously loaded tag."}],"argline":"git_tag *t","sig":"git_tag *","return":{"type":"const git_oid *","comment":"pointer to the OID"},"description":"Get the OID of the tagged object of a tag","comments":"","group":"tag"},"git_tag_type":{"type":"function","file":"tag.h","line":107,"lineto":107,"args":[{"name":"t","type":"git_tag *","comment":"ag a previously loaded tag."}],"argline":"git_tag *t","sig":"git_tag *","return":{"type":"git_otype","comment":"type of the tagged object"},"description":"Get the type of a tag's tagged object","comments":"","group":"tag"},"git_tag_name":{"type":"function","file":"tag.h","line":115,"lineto":115,"args":[{"name":"t","type":"git_tag *","comment":"ag a previously loaded tag."}],"argline":"git_tag *t","sig":"git_tag *","return":{"type":"const char *","comment":"name of the tag"},"description":"Get the name of a tag","comments":"","group":"tag"},"git_tag_tagger":{"type":"function","file":"tag.h","line":123,"lineto":123,"args":[{"name":"t","type":"git_tag *","comment":"ag a previously loaded tag."}],"argline":"git_tag *t","sig":"git_tag *","return":{"type":"const git_signature *","comment":"reference to the tag's author"},"description":"Get the tagger (author) of a tag","comments":"","group":"tag"},"git_tag_message":{"type":"function","file":"tag.h","line":131,"lineto":131,"args":[{"name":"t","type":"git_tag *","comment":"ag a previously loaded tag."}],"argline":"git_tag *t","sig":"git_tag *","return":{"type":"const char *","comment":"message of the tag"},"description":"Get the message of a tag","comments":"","group":"tag"},"git_tag_create":{"type":"function","file":"tag.h","line":161,"lineto":168,"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":"tag_name","type":"const char *","comment":"Name for the tag; this name is validated for consistency"},{"name":"target","type":"const git_oid *","comment":"OID to which this tag points; note that no validation is done on this OID. Use the _o version of this method to assure a proper object is being tagged"},{"name":"target_type","type":"git_otype","comment":"Type of the tagged OID; note that no validation is performed here either"},{"name":"tagger","type":"const git_signature *","comment":"Signature of the tagger for this tag, and of the tagging time"},{"name":"message","type":"const char *","comment":"Full message for this tag"}],"argline":"git_oid *oid,\n\t\tgit_repository *repo,\n\t\tconst char *tag_name,\n\t\tconst git_oid *target,\n\t\tgit_otype target_type,\n\t\tconst git_signature *tagger,\n\t\tconst char *message","sig":"git_oid *::git_repository *::const char *::const git_oid *::git_otype::const git_signature *::const char *","return":{"type":"int","comment":"0 on success; error code otherwise. A tag object is written to the ODB, and a proper reference is written in the /refs/tags folder, pointing to it"},"description":"Create a new tag in the repository from an OID","comments":"","group":"tag"},"git_tag_create_o":{"type":"function","file":"tag.h","line":183,"lineto":189,"args":[{"name":"oid","type":"git_oid *"},{"name":"repo","type":"git_repository *"},{"name":"tag_name","type":"const char *"},{"name":"target","type":"const git_object *"},{"name":"tagger","type":"const git_signature *"},{"name":"message","type":"const char *"}],"argline":"git_oid *oid,\n\t\tgit_repository *repo,\n\t\tconst char *tag_name,\n\t\tconst git_object *target,\n\t\tconst git_signature *tagger,\n\t\tconst char *message","sig":"git_oid *::git_repository *::const char *::const git_object *::const git_signature *::const char *","return":{"type":"int"},"description":"Create a new tag in the repository from an existing\n`git_object` instance","comments":"This method replaces the `target` and `target_type`\nparemeters of `git_tag_create` by a single instance\nof a `const git_object *`, which is assured to be\na proper object in the ODB and hence will create\na valid tag\n\n@see git_tag_create","group":"tag"},"git_signature_new":{"type":"function","file":"signature.h","line":50,"lineto":50,"args":[{"name":"name","type":"const char *"},{"name":"email","type":"const char *"},{"name":"time","type":"git_time_t"},{"name":"offset","type":"int"}],"argline":"const char *name, const char *email, git_time_t time, int offset","sig":"const char *::const char *::git_time_t::int","return":{"type":"git_signature *","comment":"the new sig, NULL on out of memory"},"description":"Create a new action signature. The signature must be freed\nmanually or using git_signature_free","comments":"@name name of the person\n@email email of the person\n@time time when the action happened\n@offset timezone offset in minutes for the time","group":"signature"},"git_signature_dup":{"type":"function","file":"signature.h","line":59,"lineto":59,"args":[{"name":"sig","type":"const git_signature *"}],"argline":"const git_signature *sig","sig":"const git_signature *","return":{"type":"git_signature *","comment":"a copy of sig, NULL on out of memory"},"description":"Create a copy of an existing signature.","comments":"All internal strings are also duplicated.\n@sig signature to duplicated","group":"signature"},"git_signature_free":{"type":"function","file":"signature.h","line":66,"lineto":66,"args":[{"name":"sig","type":"git_signature *"}],"argline":"git_signature *sig","sig":"git_signature *","return":{"type":"void"},"description":"Free an existing signature","comments":"@sig signature to free","group":"signature"},"git_revwalk_new":{"type":"function","file":"revwalk.h","line":88,"lineto":88,"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 on success; error code otherwise"},"description":"Allocate a new revision walker to iterate through a repo.","comments":"This revision walker uses a custom memory pool and an internal\ncommit cache, so it is relatively expensive to allocate.\n\nFor maximum performance, this revision walker should be\nreused for different walks.\n\nThis revision walker is *not* thread safe: it may only be\nused to walk a repository on a single thread; however,\nit is possible to have several revision walkers in\nseveral different threads walking the same repository.\n","group":"revwalk"},"git_revwalk_reset":{"type":"function","file":"revwalk.h","line":103,"lineto":103,"args":[{"name":"walker","type":"git_revwalk *","comment":"handle to reset."}],"argline":"git_revwalk *walker","sig":"git_revwalk *","return":{"type":"void"},"description":"Reset the revision walker for reuse.","comments":"This will clear all the pushed and hidden commits, and\nleave the walker in a blank state (just like at\ncreation) ready to receive new commit pushes and\nstart a new walk.\n\nThe revision walk is automatically reset when a walk\nis over.\n","group":"revwalk"},"git_revwalk_push":{"type":"function","file":"revwalk.h","line":120,"lineto":120,"args":[{"name":"walk","type":"git_revwalk *","comment":"er 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 on success; error code otherwise"},"description":"Mark a commit to start traversal from.","comments":"The given OID must belong to a commit on the walked\nrepository.\n\nThe given commit will be used as one of the roots\nwhen starting the revision walk. At least one commit\nmust be pushed the repository before a walk can\nbe started.\n","group":"revwalk"},"git_revwalk_hide":{"type":"function","file":"revwalk.h","line":136,"lineto":136,"args":[{"name":"walk","type":"git_revwalk *","comment":"er the walker being used for the traversal."},{"name":"oid","type":"const git_oid *"}],"argline":"git_revwalk *walk, const git_oid *oid","sig":"git_revwalk *::const git_oid *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Mark a commit (and its ancestors) uninteresting for the output.","comments":"The given OID must belong to a commit on the walked\nrepository.\n\nThe resolved commit and all its parents will be hidden from the\noutput on the revision walk.\n","group":"revwalk"},"git_revwalk_next":{"type":"function","file":"revwalk.h","line":156,"lineto":156,"args":[{"name":"oid","type":"git_oid *","comment":"Pointer where to store the oid of the next commit"},{"name":"walk","type":"git_revwalk *","comment":"the walker to pop the commit from."}],"argline":"git_oid *oid, git_revwalk *walk","sig":"git_oid *::git_revwalk *","return":{"type":"int","comment":"GIT_SUCCESS if the next commit was found; GIT_EREVWALKOVER if there are no commits left to iterate"},"description":"Get the next commit from the revision walk.","comments":"The initial call to this method is *not* blocking when\niterating through a repo with a time-sorting mode.\n\nIterating with Topological or inverted modes makes the initial\ncall blocking to preprocess the commit list, but this block should be\nmostly unnoticeable on most repositories (topological preprocessing\ntimes at 0.3s on the git.git repo).\n\nThe revision walker is reset when the walk is over.\n","group":"revwalk"},"git_revwalk_sorting":{"type":"function","file":"revwalk.h","line":167,"lineto":167,"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"},"description":"Change the sorting mode when iterating through the\nrepository's contents.","comments":"Changing the sorting mode resets the walker.\n","group":"revwalk"},"git_revwalk_free":{"type":"function","file":"revwalk.h","line":174,"lineto":174,"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"},"description":"Free a revision walker previously allocated.","comments":"","group":"revwalk"},"git_revwalk_repository":{"type":"function","file":"revwalk.h","line":183,"lineto":183,"args":[{"name":"walk","type":"git_revwalk *","comment":"the revision walker"}],"argline":"git_revwalk *walk","sig":"git_revwalk *","return":{"type":"git_repository *","comment":"the repository being walked"},"description":"Return the repository on which this walker\nis operating.","comments":"","group":"revwalk"},"git_repository_open":{"type":"function","file":"repository.h","line":64,"lineto":64,"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 on success; error code otherwise"},"description":"Open a git repository.","comments":"The 'path' argument must point to an existing git repository\nfolder, e.g.\n\n\t/path/to/my_repo/.git/\t(normal repository)\n\t\t\t\t\t\tobjects/\n\t\t\t\t\t\tindex\n\t\t\t\t\t\tHEAD\n\n\t/path/to/bare_repo/\t\t(bare repository)\n\t\t\t\t\tobjects/\n\t\t\t\t\tindex\n\t\t\t\t\tHEAD\n\nThe method will automatically detect if 'path' is a normal\nor bare repository or fail is 'path' is neither.\n","group":"repository"},"git_repository_open2":{"type":"function","file":"repository.h","line":93,"lineto":97,"args":[{"name":"repository","type":"git_repository **","comment":"pointer to the repo which will be opened"},{"name":"git_dir","type":"const char *","comment":"The full path to the repository folder e.g. a '.git' folder for live repos, any folder for bare Equivalent to $GIT_DIR. Cannot be NULL."},{"name":"git_object_directory","type":"const char *","comment":"The full path to the ODB folder. the folder where all the loose and packed objects are stored Equivalent to $GIT_OBJECT_DIRECTORY. If NULL, \"$GIT_DIR/objects/\" is assumed."},{"name":"git_index_file","type":"const char *","comment":"The full path to the index (dircache) file Equivalent to $GIT_INDEX_FILE. If NULL, \"$GIT_DIR/index\" is assumed."},{"name":"git_work_tree","type":"const char *","comment":"The full path to the working tree of the repository, if the repository is not bare. Equivalent to $GIT_WORK_TREE. If NULL, the repository is assumed to be bare."}],"argline":"git_repository **repository,\n\t\tconst char *git_dir,\n\t\tconst char *git_object_directory,\n\t\tconst char *git_index_file,\n\t\tconst char *git_work_tree","sig":"git_repository **::const char *::const char *::const char *::const char *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Open a git repository by manually specifying all its paths","comments":"","group":"repository"},"git_repository_open3":{"type":"function","file":"repository.h","line":128,"lineto":132,"args":[{"name":"repository","type":"git_repository **","comment":"pointer to the repo which will be opened"},{"name":"git_dir","type":"const char *","comment":"The full path to the repository folder e.g. a '.git' folder for live repos, any folder for bare Equivalent to $GIT_DIR. Cannot be NULL."},{"name":"object_database","type":"git_odb *","comment":"A pointer to a git_odb created & initialized by the user (e.g. with custom backends). This object database will be owned by the repository and will be automatically free'd. It should not be manually free'd by the user, or this git_repository object will become invalid."},{"name":"git_index_file","type":"const char *","comment":"The full path to the index (dircache) file Equivalent to $GIT_INDEX_FILE. If NULL, \"$GIT_DIR/index\" is assumed."},{"name":"git_work_tree","type":"const char *","comment":"The full path to the working tree of the repository, if the repository is not bare. Equivalent to $GIT_WORK_TREE. If NULL, the repository is assumed to be bare."}],"argline":"git_repository **repository,\n\t\tconst char *git_dir,\n\t\tgit_odb *object_database,\n\t\tconst char *git_index_file,\n\t\tconst char *git_work_tree","sig":"git_repository **::const char *::git_odb *::const char *::const char *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Open a git repository by manually specifying its paths and\nthe object database it will use.","comments":"","group":"repository"},"git_repository_database":{"type":"function","file":"repository.h","line":141,"lineto":141,"args":[{"name":"repo","type":"git_repository *","comment":"a repository object"}],"argline":"git_repository *repo","sig":"git_repository *","return":{"type":"git_odb *","comment":"a pointer to the object db"},"description":"Get the object database behind a Git repository","comments":"","group":"repository"},"git_repository_index":{"type":"function","file":"repository.h","line":153,"lineto":153,"args":[{"name":"index","type":"git_index **","comment":"Pointer where to store the index"},{"name":"repo","type":"git_repository *","comment":"a repository object"}],"argline":"git_index **index, git_repository *repo","sig":"git_index **::git_repository *","return":{"type":"int","comment":"0 on success; error code if the index could not be opened"},"description":"Get the Index file of a Git repository","comments":"This is a cheap operation; the index is only opened on the first call,\nand subsequent calls only retrieve the previous pointer.\n","group":"repository"},"git_repository_free":{"type":"function","file":"repository.h","line":166,"lineto":166,"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"},"description":"Free a previously allocated repository","comments":"Note that after a repository is free'd, all the objects it has spawned\nwill still exist until they are manually closed by the user\nwith `git_object_close`, but accessing any of the attributes of\nan object without a backing repository will result in undefined\nbehavior\n","group":"repository"},"git_repository_init":{"type":"function","file":"repository.h","line":183,"lineto":183,"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","comment":"if true, a Git repository without a working directory is created at the pointed path. If false, provided path will be considered as the working directory into which the .git directory will be created."}],"argline":"git_repository **repo_out, const char *path, unsigned is_bare","sig":"git_repository **::const char *::unsigned","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Creates a new Git repository in the given folder.","comments":"TODO:\n- Reinit the repository\n- Create config files\n","group":"repository"},"git_reference_lookup":{"type":"function","file":"refs.h","line":52,"lineto":52,"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 on success; error code otherwise"},"description":"Lookup a reference by its name in a repository.","comments":"The generated reference is owned by the repository and\nshould not be freed by the user.\n","group":"reference"},"git_reference_create_symbolic":{"type":"function","file":"refs.h","line":69,"lineto":69,"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"}],"argline":"git_reference **ref_out, git_repository *repo, const char *name, const char *target","sig":"git_reference **::git_repository *::const char *::const char *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Create a new symbolic reference.","comments":"The reference will be created in the repository and written\nto the disk.\n\nThis reference is owned by the repository and shall not\nbe free'd by the user.\n","group":"reference"},"git_reference_create_oid":{"type":"function","file":"refs.h","line":86,"lineto":86,"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."}],"argline":"git_reference **ref_out, git_repository *repo, const char *name, const git_oid *id","sig":"git_reference **::git_repository *::const char *::const git_oid *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Create a new object id reference.","comments":"The reference will be created in the repository and written\nto the disk.\n\nThis reference is owned by the repository and shall not\nbe free'd by the user.\n","group":"reference"},"git_reference_oid":{"type":"function","file":"refs.h","line":96,"lineto":96,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"const git_oid *","comment":"a pointer to the oid if available, NULL otherwise"},"description":"Get the OID pointed to by a reference.","comments":"Only available if the reference is direct (i.e. not symbolic)\n","group":"reference"},"git_reference_target":{"type":"function","file":"refs.h","line":106,"lineto":106,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"const char *","comment":"a pointer to the name if available, NULL otherwise"},"description":"Get full name to the reference pointed by this reference","comments":"Only available if the reference is symbolic\n","group":"reference"},"git_reference_type":{"type":"function","file":"refs.h","line":116,"lineto":116,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"git_rtype","comment":"the type"},"description":"Get the type of a reference","comments":"Either direct (GIT_REF_OID) or symbolic (GIT_REF_SYMBOLIC)\n","group":"reference"},"git_reference_name":{"type":"function","file":"refs.h","line":124,"lineto":124,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"const char *","comment":"the full name for the ref"},"description":"Get the full name of a reference","comments":"","group":"reference"},"git_reference_resolve":{"type":"function","file":"refs.h","line":139,"lineto":139,"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 on success; error code otherwise"},"description":"Resolve a symbolic reference","comments":"Thie method iteratively peels a symbolic reference\nuntil it resolves to a direct reference to an OID.\n\nIf a direct reference is passed as an argument,\nthat reference is returned immediately\n","group":"reference"},"git_reference_owner":{"type":"function","file":"refs.h","line":147,"lineto":147,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"git_repository *","comment":"a pointer to the repo"},"description":"Get the repository where a reference resides","comments":"","group":"reference"},"git_reference_set_target":{"type":"function","file":"refs.h","line":162,"lineto":162,"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 on success; error code otherwise"},"description":"Set the symbolic target of a reference.","comments":"The reference must be a symbolic reference, otherwise\nthis method will fail.\n\nThe reference will be automatically updated in\nmemory and on disk.\n","group":"reference"},"git_reference_set_oid":{"type":"function","file":"refs.h","line":177,"lineto":177,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"},{"name":"id","type":"const git_oid *"}],"argline":"git_reference *ref, const git_oid *id","sig":"git_reference *::const git_oid *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Set the OID target of a reference.","comments":"The reference must be a direct reference, otherwise\nthis method will fail.\n\nThe reference will be automatically updated in\nmemory and on disk.\n","group":"reference"},"git_reference_rename":{"type":"function","file":"refs.h","line":190,"lineto":190,"args":[{"name":"ref","type":"git_reference *"},{"name":"new_name","type":"const char *"}],"argline":"git_reference *ref, const char *new_name","sig":"git_reference *::const char *","return":{"type":"int"},"description":"Rename an existing reference","comments":"This method works for both direct and symbolic references.\nThe new name will be checked for validity and may be\nmodified into a normalized form.\n\nThe refernece will be immediately renamed in-memory\nand on disk.","group":"reference"},"git_reference_delete":{"type":"function","file":"refs.h","line":201,"lineto":201,"args":[{"name":"ref","type":"git_reference *"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"int"},"description":"Delete an existing reference","comments":"This method works for both direct and symbolic references.\n\nThe reference will be immediately removed on disk and from\nmemory. The given reference pointer will no longer be valid.","group":"reference"},"git_reference_packall":{"type":"function","file":"refs.h","line":219,"lineto":219,"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 on success; error code otherwise"},"description":"Pack all the loose references in the repository","comments":"This method will load into the cache all the loose\nreferences on the repository and update the \n`packed-refs` file with them.\n\nOnce the `packed-refs` file has been written properly,\nthe loose references will be removed from disk.\n\nWARNING: calling this method may invalidate any existing\nreferences previously loaded on the cache.\n","group":"reference"},"git_reference_listall":{"type":"function","file":"refs.h","line":242,"lineto":242,"args":[{"name":"array","type":"git_strarray *","comment":"Pointer to a git_strarray structure where the 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 listing."}],"argline":"git_strarray *array, git_repository *repo, unsigned int list_flags","sig":"git_strarray *::git_repository *::unsigned int","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Fill a list with all the references that can be found\nin a repository.","comments":"The listed references may be filtered by type, or using\na bitwise OR of several types. Use the magic value\n`GIT_REF_LISTALL` to obtain all references, including\npacked ones.\n\nThe string array will be filled with the names of all\nreferences; these values are owned by the user and\nshould be free'd manually when no longer needed, using\n`git_strarray_free`.\n","group":"reference"},"git_reference_listcb":{"type":"function","file":"refs.h","line":265,"lineto":265,"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 listing."},{"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 (*callback)(const char *, void *), void *payload","sig":"git_repository *::unsigned int::int (*)(const char *, void *)::void *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"List all the references in the repository, calling a custom\ncallback for each one.","comments":"The listed references may be filtered by type, or using\na bitwise OR of several types. Use the magic value\n`GIT_REF_LISTALL` to obtain all references, including\npacked ones.\n\nThe `callback` function will be called for each of the references\nin the repository, and will receive the name of the reference and\nthe `payload` value passed to this method.\n","group":"reference"},"git_oid_mkstr":{"type":"function","file":"oid.h","line":60,"lineto":60,"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 the hex sequence and have at least the number of bytes needed for an oid encoded in hex (40 bytes)."}],"argline":"git_oid *out, const char *str","sig":"git_oid *::const char *","return":{"type":"int","comment":"GIT_SUCCESS if valid; GIT_ENOTOID on failure."},"description":"Parse a hex formatted object id into a git_oid.\n@param out oid structure the result is written into.\n@param str input hex string; must be pointing at the start of\n the hex sequence and have at least the number of bytes\n needed for an oid encoded in hex (40 bytes).\n@return GIT_SUCCESS if valid; GIT_ENOTOID on failure.","comments":"","group":"oid"},"git_oid_mkraw":{"type":"function","file":"oid.h","line":67,"lineto":67,"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"},"description":"Copy an already raw oid into a git_oid structure.\n@param out oid structure the result is written into.\n@param raw the raw input bytes to be copied.","comments":"","group":"oid"},"git_oid_fmt":{"type":"function","file":"oid.h","line":78,"lineto":78,"args":[{"name":"str","type":"char *","comment":"output hex string; must be pointing at the start of the hex sequence and have at least the number of bytes needed for an oid encoded in hex (40 bytes). Only the oid digits are written; a '\\\\0' terminator must be added by 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"},"description":"Format a git_oid into a hex string.\n@param str output hex string; must be pointing at the start of\n the hex sequence and have at least the number of bytes\n needed for an oid encoded in hex (40 bytes). Only the\n oid digits are written; a '\\\\0' terminator must be added\n by the caller if it is required.\n@param oid oid structure to format.","comments":"","group":"oid"},"git_oid_pathfmt":{"type":"function","file":"oid.h","line":93,"lineto":93,"args":[{"name":"str","type":"char *","comment":"output hex string; must be pointing at the start of the hex sequence and have at least the number of bytes needed for an oid encoded in hex (41 bytes). Only the oid digits are written; a '\\\\0' terminator must be added by 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"},"description":"Format a git_oid into a loose-object path string.\n<p>\nThe resulting string is \"aa/...\", where \"aa\" is the first two\nhex digitis of the oid and \"...\" is the remaining 38 digits.","comments":"","group":"oid"},"git_oid_allocfmt":{"type":"function","file":"oid.h","line":101,"lineto":101,"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 deallocate the string with free()."},"description":"Format a gid_oid into a newly allocated c-string.\n@param oid the oid structure to format\n@return the c-string; NULL if memory is exhausted. Caller must\n deallocate the string with free().","comments":"","group":"oid"},"git_oid_to_string":{"type":"function","file":"oid.h","line":118,"lineto":118,"args":[{"name":"out","type":"char *","comment":"the buffer into which the oid string is output."},{"name":"n","type":"size_t","comment":"the size of the out buffer."},{"name":"oid","type":"const git_oid *","comment":"the oid structure to format."}],"argline":"char *out, size_t n, const git_oid *oid","sig":"char *::size_t::const git_oid *","return":{"type":"char *","comment":"the out buffer pointer, assuming no input parameter errors, otherwise a pointer to an empty string."},"description":"Format a git_oid into a buffer as a hex format c-string.\n<p>\nIf the buffer is smaller than GIT_OID_HEXSZ+1, then the resulting\noid c-string will be truncated to n-1 characters. If there are\nany input parameter errors (out == NULL, n == 0, oid == NULL),\nthen a pointer to an empty string is returned, so that the return\nvalue can always be printed.","comments":"","group":"oid"},"git_oid_cpy":{"type":"function","file":"oid.h","line":125,"lineto":125,"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"},"description":"Copy an oid from one structure to another.\n@param out oid structure the result is written into.\n@param src oid structure to copy from.","comments":"","group":"oid"},"git_oid_cmp":{"type":"function","file":"oid.h","line":133,"lineto":133,"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":"<0, 0, >0 if a < b, a == b, a > b."},"description":"Compare two oid structures.\n@param a first oid structure.\n@param b second oid structure.\n@return <0, 0, >0 if a < b, a == b, a > b.","comments":"","group":"oid"},"git_oid_shorten_new":{"type":"function","file":"oid.h","line":154,"lineto":154,"args":[{"name":"min_length","type":"size_t","comment":"The minimal length for all identifiers, which will be used even if shorter OIDs would still be unique."}],"argline":"size_t min_length","sig":"size_t","return":{"type":"git_oid_shorten *","comment":"a `git_oid_shorten` instance, NULL if OOM"},"description":"Create a new OID shortener.","comments":"The OID shortener is used to process a list of OIDs\nin text form and return the shortest length that would\nuniquely identify all of them.\n\nE.g. look at the result of `git log --abbrev`.\n","group":"oid"},"git_oid_shorten_add":{"type":"function","file":"oid.h","line":180,"lineto":180,"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 added so far to the set; or an error code (<0) if an error occurs."},"description":"Add a new OID to set of shortened OIDs and calculate\nthe minimal length to uniquely identify all the OIDs in\nthe set.","comments":"The OID is expected to be a 40-char hexadecimal string.\nThe OID is owned by the user and will not be modified\nor freed.\n\nFor performance reasons, there is a hard-limit of how many\nOIDs can be added to a single set (around ~22000, assuming\na mostly randomized distribution), which should be enough\nfor any kind of program, and keeps the algorithm fast and\nmemory-efficient.\n\nAttempting to add more than those OIDs will result in a\nGIT_ENOMEM error\n","group":"oid"},"git_oid_shorten_free":{"type":"function","file":"oid.h","line":187,"lineto":187,"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"},"description":"Free an OID shortener instance","comments":"","group":"oid"},"git_odb_new":{"type":"function","file":"odb.h","line":53,"lineto":53,"args":[{"name":"out","type":"git_odb **","comment":"location to store the database pointer, if opened. Set to NULL if the open failed."}],"argline":"git_odb **out","sig":"git_odb **","return":{"type":"int","comment":"GIT_SUCCESS if the database was created; otherwise an error code describing why the open was not possible."},"description":"Create a new object database with no backends.","comments":"Before the ODB can be used for read/writing, a custom database\nbackend must be manually added using `git_odb_add_backend()`\n","group":"odb"},"git_odb_open":{"type":"function","file":"odb.h","line":72,"lineto":72,"args":[{"name":"out","type":"git_odb **","comment":"location to store the database pointer, if opened. Set to NULL if the open failed."},{"name":"objects_dir","type":"const char *","comment":"path of the backends' \"objects\" directory."}],"argline":"git_odb **out, const char *objects_dir","sig":"git_odb **::const char *","return":{"type":"int","comment":"GIT_SUCCESS if the database opened; otherwise an error code describing why the open was not possible."},"description":"Create a new object database and automatically add\nthe two default backends:","comments":"- git_odb_backend_loose: read and write loose object files\n\tfrom disk, assuming `objects_dir` as the Objects folder\n\n- git_odb_backend_pack: read objects from packfiles,\n\tassuming `objects_dir` as the Objects folder which\n\tcontains a 'pack/' folder with the corresponding data\n","group":"odb"},"git_odb_add_backend":{"type":"function","file":"odb.h","line":83,"lineto":83,"args":[{"name":"odb","type":"git_odb *","comment":"database to add the backend to"},{"name":"backend","type":"git_odb_backend *"},{"name":"priority","type":"int"}],"argline":"git_odb *odb, git_odb_backend *backend, int priority","sig":"git_odb *::git_odb_backend *::int","return":{"type":"int","comment":"0 on sucess; error code otherwise"},"description":"Add a custom backend to an existing Object DB","comments":"Read <odb_backends.h> for more information.\n","group":"odb"},"git_odb_add_alternate":{"type":"function","file":"odb.h","line":100,"lineto":100,"args":[{"name":"odb","type":"git_odb *","comment":"database to add the backend to"},{"name":"backend","type":"git_odb_backend *"},{"name":"priority","type":"int"}],"argline":"git_odb *odb, git_odb_backend *backend, int priority","sig":"git_odb *::git_odb_backend *::int","return":{"type":"int","comment":"0 on sucess; error code otherwise"},"description":"Add a custom backend to an existing Object DB; this\nbackend will work as an alternate.","comments":"Alternate backends are always checked for objects *after*\nall the main backends have been exhausted.\n\nWriting is disabled on alternate backends.\n\nRead <odb_backends.h> for more information.\n","group":"odb"},"git_odb_close":{"type":"function","file":"odb.h","line":107,"lineto":107,"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"},"description":"Close an open object database.","comments":"","group":"odb"},"git_odb_read":{"type":"function","file":"odb.h","line":126,"lineto":126,"args":[{"name":"out","type":"git_odb_object **","comment":"pointer where to store the read object"},{"name":"db","type":"git_odb *","comment":"database to search for the object in."},{"name":"id","type":"const git_oid *","comment":"identity of the object to read."}],"argline":"git_odb_object **out, git_odb *db, const git_oid *id","sig":"git_odb_object **::git_odb *::const git_oid *","return":{"type":"int","comment":"- GIT_SUCCESS if the object was read; - GIT_ENOTFOUND if the object is not in the database."},"description":"Read an object from the database.","comments":"This method queries all avaiable ODB backends\ntrying to read the given OID.\n\nThe returned object is reference counted and\ninternally cached, so it should be closed\nby the user once it's no longer in use.\n","group":"odb"},"git_odb_read_header":{"type":"function","file":"odb.h","line":146,"lineto":146,"args":[{"name":"len_p","type":"size_t *","comment":"pointer where to store the length"},{"name":"type_p","type":"git_otype *","comment":"pointer where to store the type"},{"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":"size_t *len_p, git_otype *type_p, git_odb *db, const git_oid *id","sig":"size_t *::git_otype *::git_odb *::const git_oid *","return":{"type":"int","comment":"- GIT_SUCCESS if the object was read; - GIT_ENOTFOUND if the object is not in the database."},"description":"Read the header of an object from the database, without\nreading its full contents.","comments":"The header includes the length and the type of an object.\n\nNote that most backends do not support reading only the header\nof an object, so the whole object will be read and then the\nheader will be returned.\n","group":"odb"},"git_odb_exists":{"type":"function","file":"odb.h","line":157,"lineto":157,"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 - 0, otherwise"},"description":"Determine if the given object can be found in the object database.","comments":"","group":"odb"},"git_odb_write":{"type":"function","file":"odb.h","line":177,"lineto":177,"args":[{"name":"oid","type":"git_oid *","comment":"pointer to store the OID result of the write"},{"name":"odb","type":"git_odb *","comment":"object database where to store the object"},{"name":"data","type":"const void *","comment":"buffer with the data to storr"},{"name":"len","type":"size_t","comment":"size of the buffer"},{"name":"type","type":"git_otype","comment":"type of the data to store"}],"argline":"git_oid *oid, git_odb *odb, const void *data, size_t len, git_otype type","sig":"git_oid *::git_odb *::const void *::size_t::git_otype","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Write an object directly into the ODB","comments":"This method writes a full object straight into the ODB.\nFor most cases, it is preferred to write objects through a write\nstream, which is both faster and less memory intensive, specially\nfor big objects.\n\nThis method is provided for compatibility with custom backends\nwhich are not able to support streaming writes\n","group":"odb"},"git_odb_open_wstream":{"type":"function","file":"odb.h","line":206,"lineto":206,"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 write"},{"name":"size","type":"size_t","comment":"final size of the object that will be written"},{"name":"type","type":"git_otype","comment":"type of the object that will be written"}],"argline":"git_odb_stream **stream, git_odb *db, size_t size, git_otype type","sig":"git_odb_stream **::git_odb *::size_t::git_otype","return":{"type":"int","comment":"0 if the stream was created; error code otherwise"},"description":"Open a stream to write an object into the ODB","comments":"The type and final length of the object must be specified\nwhen opening the stream.\n\nThe returned stream will be of type `GIT_STREAM_WRONLY` and\nwill have the following methods:\n\n\t- stream->write: write `n` bytes into the stream\n\t- stream->finalize_write: close the stream and store the object in\n\t\tthe odb\n\t- stream->free: free the stream\n\nThe streaming write won't be effective until `stream->finalize_write`\nis called and returns without an error\n\nThe stream must always be free'd or will leak memory.\n\n@see git_odb_stream\n","group":"odb"},"git_odb_open_rstream":{"type":"function","file":"odb.h","line":232,"lineto":232,"args":[{"name":"stream","type":"git_odb_stream **","comment":"pointer where to store the stream"},{"name":"db","type":"git_odb *","comment":"object database where the stream will read from"},{"name":"oid","type":"const git_oid *","comment":"oid of the object the stream will read from"}],"argline":"git_odb_stream **stream, git_odb *db, const git_oid *oid","sig":"git_odb_stream **::git_odb *::const git_oid *","return":{"type":"int","comment":"0 if the stream was created; error code otherwise"},"description":"Open a stream to read an object from the ODB","comments":"Note that most backends do *not* support streaming reads\nbecause they store their objects as compressed/delta'ed blobs.\n\nIt's recommended to use `git_odb_read` instead, which is\nassured to work on all backends.\n\nThe returned stream will be of type `GIT_STREAM_RDONLY` and\nwill have the following methods:\n\n\t- stream->read: read `n` bytes from the stream\n\t- stream->free: free the stream\n\nThe stream must always be free'd or will leak memory.\n\n@see git_odb_stream\n","group":"odb"},"git_odb_hash":{"type":"function","file":"odb.h","line":246,"lineto":246,"args":[{"name":"id","type":"git_oid *","comment":"the resulting object-ID."},{"name":"data","type":"const void *","comment":"data to hash"},{"name":"len","type":"size_t","comment":"size of the data"},{"name":"type","type":"git_otype","comment":"of the data to hash"}],"argline":"git_oid *id, const void *data, size_t len, git_otype type","sig":"git_oid *::const void *::size_t::git_otype","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Determine the object-ID (sha1 hash) of a data buffer","comments":"The resulting SHA-1 OID will the itentifier for the data\nbuffer as if the data buffer it were to written to the ODB.\n","group":"odb"},"git_odb_object_close":{"type":"function","file":"odb.h","line":256,"lineto":256,"args":[{"name":"object","type":"git_odb_object *","comment":"object to close"}],"argline":"git_odb_object *object","sig":"git_odb_object *","return":{"type":"void"},"description":"Close an ODB object","comments":"This method must always be called once a `git_odb_object` is no\nlonger needed, otherwise memory will leak.\n","group":"odb"},"git_odb_object_id":{"type":"function","file":"odb.h","line":266,"lineto":266,"args":[{"name":"object","type":"git_odb_object *","comment":"the object"}],"argline":"git_odb_object *object","sig":"git_odb_object *","return":{"type":"const git_oid *","comment":"a pointer to the OID"},"description":"Return the OID of an ODB object","comments":"This is the OID from which the object was read from\n","group":"odb"},"git_odb_object_data":{"type":"function","file":"odb.h","line":279,"lineto":279,"args":[{"name":"object","type":"git_odb_object *","comment":"the object"}],"argline":"git_odb_object *object","sig":"git_odb_object *","return":{"type":"const void *","comment":"a pointer to the data"},"description":"Return the data of an ODB object","comments":"This is the uncompressed, raw data as read from the ODB,\nwithout the leading header.\n\nThis pointer is owned by the object and shall not be free'd.\n","group":"odb"},"git_odb_object_size":{"type":"function","file":"odb.h","line":290,"lineto":290,"args":[{"name":"object","type":"git_odb_object *","comment":"the object"}],"argline":"git_odb_object *object","sig":"git_odb_object *","return":{"type":"size_t","comment":"the size"},"description":"Return the size of an ODB object","comments":"This is the real size of the `data` buffer, not the\nactual size of the object.\n","group":"odb"},"git_odb_object_type":{"type":"function","file":"odb.h","line":298,"lineto":298,"args":[{"name":"object","type":"git_odb_object *","comment":"the object"}],"argline":"git_odb_object *object","sig":"git_odb_object *","return":{"type":"git_otype","comment":"the type"},"description":"Return the type of an ODB object","comments":"","group":"odb"},"git_object_lookup":{"type":"function","file":"object.h","line":59,"lineto":59,"args":[{"name":"object","type":"git_object **","comment":"pointer to the looked-up object"},{"name":"repo","type":"git_repository *","comment":"the repository to look up the object"},{"name":"id","type":"const git_oid *","comment":"the unique identifier for the object"},{"name":"type","type":"git_otype","comment":"the type of the object"}],"argline":"git_object **object, git_repository *repo, const git_oid *id, git_otype type","sig":"git_object **::git_repository *::const git_oid *::git_otype","return":{"type":"int","comment":"a reference to the object"},"description":"Lookup a reference to one of the objects in a repostory.","comments":"The generated reference is owned by the repository and\nshould be closed with the `git_object_close` method\ninstead of free'd manually.\n\nThe 'type' parameter must match the type of the object\nin the odb; the method will fail otherwise.\nThe special value 'GIT_OBJ_ANY' may be passed to let\nthe method guess the object's type.\n","group":"object"},"git_object_id":{"type":"function","file":"object.h","line":67,"lineto":67,"args":[{"name":"obj","type":"const git_object *","comment":"the repository object"}],"argline":"const git_object *obj","sig":"const git_object *","return":{"type":"const git_oid *","comment":"the SHA1 id"},"description":"Get the id (SHA1) of a repository object","comments":"","group":"object"},"git_object_type":{"type":"function","file":"object.h","line":75,"lineto":75,"args":[{"name":"obj","type":"const git_object *","comment":"the repository object"}],"argline":"const git_object *obj","sig":"const git_object *","return":{"type":"git_otype","comment":"the object's type"},"description":"Get the object type of an object","comments":"","group":"object"},"git_object_owner":{"type":"function","file":"object.h","line":83,"lineto":83,"args":[{"name":"obj","type":"const git_object *","comment":"the object"}],"argline":"const git_object *obj","sig":"const git_object *","return":{"type":"git_repository *","comment":"the repository who owns this object"},"description":"Get the repository that owns this object","comments":"","group":"object"},"git_object_close":{"type":"function","file":"object.h","line":100,"lineto":100,"args":[{"name":"object","type":"git_object *","comment":"the object to close"}],"argline":"git_object *object","sig":"git_object *","return":{"type":"void"},"description":"Close an open object","comments":"This method instructs the library to close an existing\nobject; note that git_objects are owned and cached by the repository\nso the object may or may not be freed after this library call,\ndepending on how agressive is the caching mechanism used\nby the repository.\n\nIMPORTANT:\nIt *is* necessary to call this method when you stop using\nan object. Failure to do so will cause a memory leak.\n","group":"object"},"git_object_type2string":{"type":"function","file":"object.h","line":111,"lineto":111,"args":[{"name":"type","type":"git_otype","comment":"object type to convert."}],"argline":"git_otype type","sig":"git_otype","return":{"type":"const char *","comment":"the corresponding string representation."},"description":"Convert an object type to it's string representation.","comments":"The result is a pointer to a string in static memory and\nshould not be free()'ed.\n","group":"object"},"git_object_string2type":{"type":"function","file":"object.h","line":119,"lineto":119,"args":[{"name":"str","type":"const char *","comment":"the string to convert."}],"argline":"const char *str","sig":"const char *","return":{"type":"git_otype","comment":"the corresponding git_otype."},"description":"Convert a string object type representation to it's git_otype.","comments":"","group":"object"},"git_object_typeisloose":{"type":"function","file":"object.h","line":128,"lineto":128,"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, false otherwise."},"description":"Determine if the given git_otype is a valid loose object type.","comments":"","group":"object"},"git_object__size":{"type":"function","file":"object.h","line":142,"lineto":142,"args":[{"name":"type","type":"git_otype","comment":"object type to get its size"}],"argline":"git_otype type","sig":"git_otype","return":{"type":"size_t","comment":"size in bytes of the object"},"description":"Get the size in bytes for the structure which\nacts as an in-memory representation of any given\nobject type.","comments":"For all the core types, this would the equivalent\nof calling `sizeof(git_commit)` if the core types\nwere not opaque on the external API.\n","group":"object"},"git_index_open_bare":{"type":"function","file":"index.h","line":88,"lineto":88,"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 on success; error code otherwise"},"description":"Create a new Git index object as a memory representation\nof the Git index file in 'index_path', without a repository\nto back it.","comments":"Since there is no ODB behind this index, any Index methods\nwhich rely on the ODB (e.g. index_add) will fail with the\nGIT_EBAREINDEX error code.\n","group":"index"},"git_index_open_inrepo":{"type":"function","file":"index.h","line":98,"lineto":98,"args":[{"name":"index","type":"git_index **","comment":"the pointer for the new index"},{"name":"repo","type":"git_repository *","comment":"the git repo which owns the index"}],"argline":"git_index **index, git_repository *repo","sig":"git_index **::git_repository *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Open the Index inside the git repository pointed\nby 'repo'.","comments":"","group":"index"},"git_index_clear":{"type":"function","file":"index.h","line":107,"lineto":107,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"void"},"description":"Clear the contents (all the entries) of an index object.\nThis clears the index object in memory; changes must be manually\nwritten to disk for them to take effect.","comments":"","group":"index"},"git_index_free":{"type":"function","file":"index.h","line":114,"lineto":114,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"void"},"description":"Free an existing index object.","comments":"","group":"index"},"git_index_read":{"type":"function","file":"index.h","line":123,"lineto":123,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"int","comment":"0 on success, otherwise an error code"},"description":"Update the contents of an existing index object in memory\nby reading from the hard disk.","comments":"","group":"index"},"git_index_write":{"type":"function","file":"index.h","line":132,"lineto":132,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"int","comment":"0 on success, otherwise an error code"},"description":"Write an existing index object from memory back to disk\nusing an atomic file lock.","comments":"","group":"index"},"git_index_find":{"type":"function","file":"index.h","line":142,"lineto":142,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"},{"name":"path","type":"const char *","comment":"path to search"}],"argline":"git_index *index, const char *path","sig":"git_index *::const char *","return":{"type":"int","comment":"an index >= 0 if found, -1 otherwise"},"description":"Find the first index of any entries which point to given\npath in the Git index.","comments":"","group":"index"},"git_index_add":{"type":"function","file":"index.h","line":152,"lineto":152,"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 on success, otherwise an error code"},"description":"Add or update an index entry from a file in disk.","comments":"","group":"index"},"git_index_remove":{"type":"function","file":"index.h","line":161,"lineto":161,"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 on success, otherwise an error code"},"description":"Remove an entry from the index","comments":"","group":"index"},"git_index_insert":{"type":"function","file":"index.h","line":174,"lineto":174,"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 on success, otherwise an error code"},"description":"Insert an entry into the index.\nA full copy (including the 'path' string) of the given\n'source_entry' will be inserted on the index; if the index\nalready contains an entry for the same path, the entry\nwill be updated.","comments":"","group":"index"},"git_index_get":{"type":"function","file":"index.h","line":186,"lineto":186,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"},{"name":"n","type":"int","comment":"the position of the entry"}],"argline":"git_index *index, int n","sig":"git_index *::int","return":{"type":"git_index_entry *","comment":"a pointer to the entry; NULL if out of bounds"},"description":"Get a pointer to one of the entries in the index","comments":"This entry can be modified, and the changes will be written\nback to disk on the next write() call.\n","group":"index"},"git_index_entrycount":{"type":"function","file":"index.h","line":194,"lineto":194,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"unsigned int","comment":"integer of count of current entries"},"description":"Get the count of entries currently in the index","comments":"","group":"index"},"git_strerror":{"type":"function","file":"errors.h","line":41,"lineto":41,"args":[{"name":"num","type":"int","comment":"The error code to explain"}],"argline":"int num","sig":"int","return":{"type":"const char *","comment":"a string explaining the error code"},"description":"strerror() for the Git library\n@param num The error code to explain\n@return a string explaining the error code","comments":"","group":"errors"},"git_commit_lookup":{"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 an 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 on success; error code otherwise"},"description":"Lookup a commit object from a repository.","comments":"","group":"commit"},"git_commit_close":{"type":"function","file":"commit.h","line":67,"lineto":70,"args":[{"name":"commit","type":"git_commit *","comment":"the commit to close"}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"void"},"description":"Close an open commit","comments":"This is a wrapper around git_object_close()\n\nIMPORTANT:\nIt *is* necessary to call this method when you stop\nusing a commit. Failure to do so will cause a memory leak.\n","group":"commit"},"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":"Get the id of a commit.","comments":"","group":"commit"},"git_commit_message_short":{"type":"function","file":"commit.h","line":87,"lineto":87,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"const char *","comment":"the short message of a commit"},"description":"Get the short (one line) message of a commit.","comments":"","group":"commit"},"git_commit_message":{"type":"function","file":"commit.h","line":95,"lineto":95,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"const char *","comment":"the message of a commit"},"description":"Get the full message of a commit.","comments":"","group":"commit"},"git_commit_time":{"type":"function","file":"commit.h","line":103,"lineto":103,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"git_time_t","comment":"the time of a commit"},"description":"Get the commit time (i.e. committer time) of a commit.","comments":"","group":"commit"},"git_commit_time_offset":{"type":"function","file":"commit.h","line":111,"lineto":111,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"int","comment":"positive or negative timezone offset, in minutes from UTC"},"description":"Get the commit timezone offset (i.e. committer's preferred timezone) of a commit.","comments":"","group":"commit"},"git_commit_committer":{"type":"function","file":"commit.h","line":119,"lineto":119,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"const git_signature *","comment":"the committer of a commit"},"description":"Get the committer of a commit.","comments":"","group":"commit"},"git_commit_author":{"type":"function","file":"commit.h","line":127,"lineto":127,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"const git_signature *","comment":"the author of a commit"},"description":"Get the author of a commit.","comments":"","group":"commit"},"git_commit_tree":{"type":"function","file":"commit.h","line":136,"lineto":136,"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 on success; error code otherwise"},"description":"Get the tree pointed to by a commit.","comments":"","group":"commit"},"git_commit_parentcount":{"type":"function","file":"commit.h","line":144,"lineto":144,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"unsigned int","comment":"integer of count of parents"},"description":"Get the number of parents of this commit","comments":"","group":"commit"},"git_commit_parent":{"type":"function","file":"commit.h","line":154,"lineto":154,"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 on success; error code otherwise"},"description":"Get the specified parent of the commit.","comments":"","group":"commit"},"git_commit_create":{"type":"function","file":"commit.h","line":195,"lineto":204,"args":[{"name":"oid","type":"git_oid *","comment":"Pointer where to store the OID of the newly 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 will be updated to point to this commit. If the reference is not direct, it will be resolved to a direct reference. Use \"HEAD\" to update the HEAD of the current branch and make it point to this commit"},{"name":"author","type":"const git_signature *","comment":"Signature representing the author and the authory time of this commit"},{"name":"committer","type":"const git_signature *","comment":"Signature representing the committer and the commit time of this commit"},{"name":"message","type":"const char *","comment":"Full message for this commit"},{"name":"tree_oid","type":"const git_oid *","comment":"Object ID of the tree for this commit. Note that no validation is performed on this OID. Use the _o variants of this method to assure a proper tree is passed to the commit."},{"name":"parent_count","type":"int","comment":"Number of parents for this commit"}],"argline":"git_oid *oid,\n\t\tgit_repository *repo,\n\t\tconst char *update_ref,\n\t\tconst git_signature *author,\n\t\tconst git_signature *committer,\n\t\tconst char *message,\n\t\tconst git_oid *tree_oid,\n\t\tint parent_count,\n\t\tconst git_oid *parent_oids[]","sig":"git_oid *::git_repository *::const char *::const git_signature *::const git_signature *::const char *::const git_oid *::int","return":{"type":"int","comment":"0 on success; error code otherwise The created commit will be written to the Object Database and the given reference will be updated to point to it"},"description":"Create a new commit in the repository","comments":"","group":"commit"},"git_commit_create_o":{"type":"function","file":"commit.h","line":217,"lineto":226,"args":[{"name":"oid","type":"git_oid *"},{"name":"repo","type":"git_repository *"},{"name":"update_ref","type":"const char *"},{"name":"author","type":"const git_signature *"},{"name":"committer","type":"const git_signature *"},{"name":"message","type":"const char *"},{"name":"tree","type":"const git_tree *"},{"name":"parent_count","type":"int"}],"argline":"git_oid *oid,\n\t\tgit_repository *repo,\n\t\tconst char *update_ref,\n\t\tconst git_signature *author,\n\t\tconst git_signature *committer,\n\t\tconst char *message,\n\t\tconst git_tree *tree,\n\t\tint parent_count,\n\t\tconst git_commit *parents[]","sig":"git_oid *::git_repository *::const char *::const git_signature *::const git_signature *::const char *::const git_tree *::int","return":{"type":"int"},"description":"Create a new commit in the repository using `git_object`\ninstances as parameters.","comments":"The `tree_oid` and `parent_oids` paremeters now take a instance\nof `git_tree` and `git_commit`, respectively.\n\nAll other parameters remain the same\n\n@see git_commit_create","group":"commit"},"git_commit_create_ov":{"type":"function","file":"commit.h","line":244,"lineto":253,"args":[{"name":"oid","type":"git_oid *"},{"name":"repo","type":"git_repository *"},{"name":"update_ref","type":"const char *"},{"name":"author","type":"const git_signature *"},{"name":"committer","type":"const git_signature *"},{"name":"message","type":"const char *"},{"name":"tree","type":"const git_tree *"},{"name":"parent_count","type":"int"}],"argline":"git_oid *oid,\n\t\tgit_repository *repo,\n\t\tconst char *update_ref,\n\t\tconst git_signature *author,\n\t\tconst git_signature *committer,\n\t\tconst char *message,\n\t\tconst git_tree *tree,\n\t\tint parent_count,\n\t\t...","sig":"git_oid *::git_repository *::const char *::const git_signature *::const git_signature *::const char *::const git_tree *::int","return":{"type":"int"},"description":"Create a new commit in the repository using `git_object`\ninstances and a variable argument list.","comments":"The `tree_oid` paremeter now takes a instance\nof `const git_tree *`.\n\nThe parents for the commit are specified as a variable\nlist of pointers to `const git_commit *`. Note that this\nis a convenience method which may not be safe to export\nfor certain languages or compilers\n\nAll other parameters remain the same\n\n@see git_commit_create","group":"commit"},"git_commit_create_v":{"type":"function","file":"commit.h","line":269,"lineto":278,"args":[{"name":"oid","type":"git_oid *"},{"name":"repo","type":"git_repository *"},{"name":"update_ref","type":"const char *"},{"name":"author","type":"const git_signature *"},{"name":"committer","type":"const git_signature *"},{"name":"message","type":"const char *"},{"name":"tree_oid","type":"const git_oid *"},{"name":"parent_count","type":"int"}],"argline":"git_oid *oid,\n\t\tgit_repository *repo,\n\t\tconst char *update_ref,\n\t\tconst git_signature *author,\n\t\tconst git_signature *committer,\n\t\tconst char *message,\n\t\tconst git_oid *tree_oid,\n\t\tint parent_count,\n\t\t...","sig":"git_oid *::git_repository *::const char *::const git_signature *::const git_signature *::const char *::const git_oid *::int","return":{"type":"int"},"description":"Create a new commit in the repository using \na variable argument list.","comments":"The parents for the commit are specified as a variable\nlist of pointers to `const git_oid *`. Note that this\nis a convenience method which may not be safe to export\nfor certain languages or compilers\n\nAll other parameters remain the same\n\n@see git_commit_create","group":"commit"},"git_blob_lookup":{"type":"function","file":"blob.h","line":50,"lineto":53,"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 on success; error code otherwise"},"description":"Lookup a blob object from a repository.","comments":"","group":"blob"},"git_blob_close":{"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"},"description":"Close an open blob","comments":"This is a wrapper around git_object_close()\n\nIMPORTANT:\nIt *is* necessary to call this method when you stop\nusing a blob. Failure to do so will cause a memory leak.\n","group":"blob"},"git_blob_rawcontent":{"type":"function","file":"blob.h","line":84,"lineto":84,"args":[{"name":"blob","type":"git_blob *","comment":"pointer to the blob"}],"argline":"git_blob *blob","sig":"git_blob *","return":{"type":"const void *","comment":"the pointer; NULL if the blob has no contents"},"description":"Get a read-only buffer with the raw content of a blob.","comments":"A pointer to the raw content of a blob is returned;\nthis pointer is owned internally by the object and shall\nnot be free'd. The pointer may be invalidated at a later\ntime.\n","group":"blob"},"git_blob_rawsize":{"type":"function","file":"blob.h","line":92,"lineto":92,"args":[{"name":"blob","type":"git_blob *","comment":"pointer to the blob"}],"argline":"git_blob *blob","sig":"git_blob *","return":{"type":"int","comment":"size on bytes"},"description":"Get the size in bytes of the contents of a blob","comments":"","group":"blob"},"git_blob_create_fromfile":{"type":"function","file":"blob.h","line":105,"lineto":105,"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. this repository cannot be bare"},{"name":"path","type":"const char *","comment":"file from which the blob will be created, relative 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 on success; error code otherwise"},"description":"Read a file from the working folder of a repository\nand write it to the Object Database as a loose blob","comments":"","group":"blob"},"git_blob_create_frombuffer":{"type":"function","file":"blob.h","line":117,"lineto":117,"args":[{"name":"oid","type":"git_oid *","comment":"return the oid of the written blob"},{"name":"repo","type":"git_repository *","comment":"repository where to blob will be written"},{"name":"buffer","type":"const void *","comment":"data to be written into the blob"},{"name":"len","type":"size_t","comment":"length of the data"}],"argline":"git_oid *oid, git_repository *repo, const void *buffer, size_t len","sig":"git_oid *::git_repository *::const void *::size_t","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Write an in-memory buffer to the ODB as a blob","comments":"","group":"blob"}},"globals":{"GIT_SORT_NONE":{"value":"(0)","file":"revwalk.h","line":47,"comments":"Sort the repository contents in no particular ordering;\nthis sorting is arbitrary, implementation-specific\nand subject to change at any time.\nThis is the default sorting for new walkers."},"GIT_SORT_TOPOLOGICAL":{"value":"(1 << 0)","file":"revwalk.h","line":54,"comments":"Sort the repository contents in topological order\n(parents before children); this sorting mode\ncan be combined with time sorting."},"GIT_SORT_TIME":{"value":"(1 << 1)","file":"revwalk.h","line":61,"comments":"Sort the repository contents by commit time;\nthis sorting mode can be combined with\ntopological sorting."},"GIT_SORT_REVERSE":{"value":"(1 << 2)","file":"revwalk.h","line":68,"comments":"Iterate through the repository contents in reverse\norder; this sorting mode can be combined with\nany of the above."},"GIT_OID_RAWSZ":{"value":"20","file":"oid.h","line":41,"comments":"Size (in bytes) of a raw/binary oid"},"GIT_OID_HEXSZ":{"value":"(GIT_OID_RAWSZ * 2)","file":"oid.h","line":44,"comments":"Size (in bytes) of a hex formatted oid"},"GIT_BEGIN_DECL":{"value":"","file":"common.h","line":37,"comments":"Start declarations in C mode"},"GIT_END_DECL":{"value":"","file":"common.h","line":39,"comments":"End declarations in C mode"},"GIT_EXTERN(type)":{"value":"extern __attribute__((visibility(\"default\"))) type","file":"common.h","line":43,"comments":"Declare a public function exported for application use."},"GIT_EXTERN_TLS(type)":{"value":"extern __attribute__((visibility(\"default\"))) GIT_TLS type","file":"common.h","line":54,"comments":"Declare a public TLS symbol exported for application use."},"GIT_INLINE(type)":{"value":"static __inline type","file":"common.h","line":66,"comments":"Declare a function as always inlined."},"GIT_FORMAT_PRINTF(a,b)":{"value":"__attribute__((format (printf, a, b)))","file":"common.h","line":73,"comments":"Declare a function's takes printf style arguments."},"GIT_SUCCESS":{"value":"0","file":"common.h","line":88,"comments":"Operation completed successfully."},"GIT_ERROR":{"value":"-1","file":"common.h","line":96,"comments":"Operation failed, with unspecified reason.\nThis value also serves as the base error code; all other\nerror codes are subtracted from it such that all errors\nare < 0, in typical POSIX C tradition."},"GIT_ENOTOID":{"value":"(GIT_ERROR - 1)","file":"common.h","line":99,"comments":"Input was not a properly formatted Git object id."},"GIT_ENOTFOUND":{"value":"(GIT_ERROR - 2)","file":"common.h","line":102,"comments":"Input does not exist in the scope searched."},"GIT_ENOMEM":{"value":"(GIT_ERROR - 3)","file":"common.h","line":105,"comments":"Not enough space available."},"GIT_EOSERR":{"value":"(GIT_ERROR - 4)","file":"common.h","line":108,"comments":"Consult the OS error information."},"GIT_EOBJTYPE":{"value":"(GIT_ERROR - 5)","file":"common.h","line":111,"comments":"The specified object is of invalid type"},"GIT_EOBJCORRUPTED":{"value":"(GIT_ERROR - 6)","file":"common.h","line":114,"comments":"The specified object has its data corrupted"},"GIT_ENOTAREPO":{"value":"(GIT_ERROR - 7)","file":"common.h","line":117,"comments":"The specified repository is invalid"},"GIT_EINVALIDTYPE":{"value":"(GIT_ERROR - 8)","file":"common.h","line":120,"comments":"The object type is invalid or doesn't match"},"GIT_EMISSINGOBJDATA":{"value":"(GIT_ERROR - 9)","file":"common.h","line":123,"comments":"The object cannot be written because it's missing internal data"},"GIT_EPACKCORRUPTED":{"value":"(GIT_ERROR - 10)","file":"common.h","line":126,"comments":"The packfile for the ODB is corrupted"},"GIT_EFLOCKFAIL":{"value":"(GIT_ERROR - 11)","file":"common.h","line":129,"comments":"Failed to acquire or release a file lock"},"GIT_EZLIB":{"value":"(GIT_ERROR - 12)","file":"common.h","line":132,"comments":"The Z library failed to inflate/deflate an object's data"},"GIT_EBUSY":{"value":"(GIT_ERROR - 13)","file":"common.h","line":135,"comments":"The queried object is currently busy"},"GIT_EBAREINDEX":{"value":"(GIT_ERROR - 14)","file":"common.h","line":138,"comments":"The index file is not backed up by an existing repository"},"GIT_EINVALIDREFNAME":{"value":"(GIT_ERROR - 15)","file":"common.h","line":141,"comments":"The name of the reference is not valid"},"GIT_EREFCORRUPTED":{"value":"(GIT_ERROR - 16)","file":"common.h","line":144,"comments":"The specified reference has its data corrupted"},"GIT_ETOONESTEDSYMREF":{"value":"(GIT_ERROR - 17)","file":"common.h","line":147,"comments":"The specified symbolic reference is too deeply nested"},"GIT_EPACKEDREFSCORRUPTED":{"value":"(GIT_ERROR - 18)","file":"common.h","line":150,"comments":"The pack-refs file is either corrupted or its format is not currently supported"},"GIT_EINVALIDPATH":{"value":"(GIT_ERROR - 19)","file":"common.h","line":153,"comments":"The path is invalid"},"GIT_EREVWALKOVER":{"value":"(GIT_ERROR - 20)","file":"common.h","line":156,"comments":"The revision walker is empty; there are no more commits left to iterate"},"GIT_EINVALIDREFSTATE":{"value":"(GIT_ERROR - 21)","file":"common.h","line":159,"comments":"The state of the reference is not valid"},"GIT_ENOTIMPLEMENTED":{"value":"(GIT_ERROR - 22)","file":"common.h","line":162,"comments":"This feature has not been implemented yet"}},"types":[["git_blob",{"type":"struct","value":"git_blob","file":"types.h","line":116,"lineto":116,"block":"","tdef":"typedef","comments":"In-memory representation of a blob object.","used":{"returns":[],"needs":["git_blob_close","git_blob_lookup","git_blob_rawcontent","git_blob_rawsize"]}}],["git_commit",{"type":"struct","value":"git_commit","file":"types.h","line":119,"lineto":119,"block":"","tdef":"typedef","comments":"Parsed representation of a commit object.","used":{"returns":[],"needs":["git_commit_author","git_commit_close","git_commit_committer","git_commit_create_o","git_commit_id","git_commit_lookup","git_commit_message","git_commit_message_short","git_commit_parent","git_commit_parentcount","git_commit_time","git_commit_time_offset","git_commit_tree"]}}],["git_index",{"type":"struct","value":"git_index","file":"types.h","line":128,"lineto":128,"block":"","tdef":"typedef","comments":"Memory representation of an index file.","used":{"returns":[],"needs":["git_index_add","git_index_clear","git_index_entrycount","git_index_find","git_index_free","git_index_get","git_index_insert","git_index_open_bare","git_index_open_inrepo","git_index_read","git_index_remove","git_index_write","git_repository_index"]}}],["git_index_entry",{"type":"struct","value":"git_index_entry","file":"index.h","line":55,"lineto":72,"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","comments":"Memory representation of a file entry in the index.","used":{"returns":["git_index_get"],"needs":["git_index_insert"]}}],["git_index_time",{"type":"struct","value":"git_index_time","file":"index.h","line":48,"lineto":52,"block":"git_time_t seconds\nunsigned int nanoseconds","tdef":"typedef","comments":"Time used in a git index entry","used":{"returns":[],"needs":[]}}],["git_object",{"type":"struct","value":"git_object","file":"types.h","line":107,"lineto":107,"block":"","tdef":"typedef","comments":"Representation of a generic object in a repository","used":{"returns":[],"needs":["git_object_close","git_object_id","git_object_lookup","git_object_owner","git_object_type","git_tag_create_o","git_tag_target","git_tree_entry_2object"]}}],["git_odb",{"type":"struct","value":"git_odb","file":"types.h","line":89,"lineto":89,"block":"","tdef":"typedef","comments":"An open object database handle.","used":{"returns":["git_repository_database"],"needs":["git_odb_add_alternate","git_odb_add_backend","git_odb_close","git_odb_exists","git_odb_new","git_odb_open","git_odb_open_rstream","git_odb_open_wstream","git_odb_read","git_odb_read_header","git_odb_write","git_repository_open3"]}}],["git_odb_backend",{"type":"struct","value":"git_odb_backend","file":"odb_backend.h","line":44,"lineto":80,"block":"git_odb *odb\nint (* read)(void **, size_t *, git_otype *, struct git_odb_backend *, const git_oid *)\nint (* read_header)(size_t *, git_otype *, struct git_odb_backend *, const git_oid *)\nint (* write)(git_oid *, struct git_odb_backend *, const void *, size_t, git_otype)\nint (* writestream)(struct git_odb_stream **, struct git_odb_backend *, size_t, git_otype)\nint (* readstream)(struct git_odb_stream **, struct git_odb_backend *, const git_oid *)\nint (* exists)(struct git_odb_backend *, const git_oid *)\nvoid (* free)(struct git_odb_backend *)","tdef":null,"comments":"An instance for a custom backend","used":{"returns":[],"needs":["git_odb_add_alternate","git_odb_add_backend"]}}],["git_odb_object",{"type":"struct","value":"git_odb_object","file":"types.h","line":95,"lineto":95,"block":"","tdef":"typedef","comments":"An object read from the ODB","used":{"returns":[],"needs":["git_odb_object_close","git_odb_object_data","git_odb_object_id","git_odb_object_size","git_odb_object_type","git_odb_read"]}}],["git_odb_stream",{"type":"struct","value":"git_odb_stream","file":"odb_backend.h","line":83,"lineto":91,"block":"struct git_odb_backend *backend\nint mode\nint (*read)(struct git_odb_stream *stream, char *buffer, size_t len)\nint (*write)(struct git_odb_stream *stream, const char *buffer, size_t len)\nint (*finalize_write)(git_oid *oid_p, struct git_odb_stream *stream)\nvoid (*free)(struct git_odb_stream *stream)","tdef":null,"comments":"A stream to read/write from a backend","used":{"returns":[],"needs":["git_odb_open_rstream","git_odb_open_wstream"]}}],["git_odb_streammode",{"type":"enum","file":"odb_backend.h","line":94,"lineto":107,"block":"GIT_STREAM_RDONLY\nGIT_STREAM_WRONLY\nGIT_STREAM_RW","tdef":"typedef","comments":"Streaming mode","used":{"returns":[],"needs":[]}}],["git_oid",{"type":"struct","value":"git_oid","file":"oid.h","line":47,"lineto":50,"block":"unsigned char id[GIT_OID_RAWSZ]","tdef":"typedef","comments":"Unique identity of any object (commit, tree, blob, tag).","used":{"returns":["git_commit_id","git_object_id","git_odb_object_id","git_reference_oid","git_tag_id","git_tag_target_oid","git_tree_entry_id","git_tree_id"],"needs":["git_blob_create_frombuffer","git_blob_create_fromfile","git_blob_lookup","git_commit_create","git_commit_create_o","git_commit_create_ov","git_commit_create_v","git_commit_lookup","git_object_lookup","git_odb_exists","git_odb_hash","git_odb_open_rstream","git_odb_read","git_odb_read_header","git_odb_write","git_oid_allocfmt","git_oid_cmp","git_oid_cpy","git_oid_fmt","git_oid_mkraw","git_oid_mkstr","git_oid_pathfmt","git_oid_to_string","git_reference_create_oid","git_reference_set_oid","git_revwalk_hide","git_revwalk_next","git_revwalk_push","git_tag_create","git_tag_create_o","git_tag_lookup","git_tree_lookup"]}}],["git_oid_shorten",{"type":"struct","value":"git_oid_shorten","file":"oid.h","line":138,"lineto":138,"block":"","tdef":"typedef","comments":"OID Shortener object","used":{"returns":["git_oid_shorten_new"],"needs":["git_oid_shorten_add","git_oid_shorten_free"]}}],["git_otype",{"type":"enum","file":"types.h","line":75,"lineto":86,"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","comments":"Basic type (loose or packed) of any Git object.","used":{"returns":[],"needs":["git_object__size","git_object_lookup","git_object_type2string","git_object_typeisloose","git_odb_hash","git_odb_open_wstream","git_odb_read_header","git_odb_write","git_tag_create"]}}],["git_reference",{"type":"struct","value":"git_reference","file":"types.h","line":144,"lineto":144,"block":"","tdef":"typedef","comments":"In-memory representation of a reference.","used":{"returns":[],"needs":["git_reference_create_oid","git_reference_create_symbolic","git_reference_delete","git_reference_lookup","git_reference_name","git_reference_oid","git_reference_owner","git_reference_rename","git_reference_resolve","git_reference_set_oid","git_reference_set_target","git_reference_target","git_reference_type"]}}],["git_repository",{"type":"struct","value":"git_repository","file":"types.h","line":104,"lineto":104,"block":"","tdef":"typedef","comments":"Representation of an existing git repository,\nincluding all its object contents","used":{"returns":["git_object_owner","git_reference_owner","git_revwalk_repository"],"needs":["git_blob_create_frombuffer","git_blob_create_fromfile","git_blob_lookup","git_commit_create","git_commit_create_o","git_commit_create_ov","git_commit_create_v","git_commit_lookup","git_index_open_inrepo","git_object_lookup","git_reference_create_oid","git_reference_create_symbolic","git_reference_listall","git_reference_listcb","git_reference_lookup","git_reference_packall","git_repository_database","git_repository_free","git_repository_index","git_repository_init","git_repository_open","git_repository_open2","git_repository_open3","git_revwalk_new","git_tag_create","git_tag_create_o","git_tag_lookup","git_tree_entry_2object","git_tree_lookup"]}}],["git_revwalk",{"type":"struct","value":"git_revwalk","file":"types.h","line":110,"lineto":110,"block":"","tdef":"typedef","comments":"Representation of an in-progress walk through the commits in a repo","used":{"returns":[],"needs":["git_revwalk_free","git_revwalk_hide","git_revwalk_new","git_revwalk_next","git_revwalk_push","git_revwalk_repository","git_revwalk_reset","git_revwalk_sorting"]}}],["git_rtype",{"type":"enum","file":"types.h","line":147,"lineto":154,"block":"GIT_REF_INVALID\nGIT_REF_OID\nGIT_REF_SYMBOLIC\nGIT_REF_PACKED\nGIT_REF_HAS_PEEL\nGIT_REF_LISTALL","tdef":"typedef","comments":"Basic type of any Git reference.","used":{"returns":[],"needs":[]}}],["git_signature",{"type":"struct","value":"git_signature","file":"types.h","line":137,"lineto":141,"block":"char *name\nchar *email\ngit_time when","tdef":"typedef","comments":"An action signature (e.g. for committers, taggers, etc)","used":{"returns":["git_commit_author","git_commit_committer","git_signature_dup","git_signature_new","git_tag_tagger"],"needs":["git_commit_create","git_commit_create_o","git_commit_create_ov","git_commit_create_v","git_signature_dup","git_signature_free","git_tag_create","git_tag_create_o"]}}],["git_tag",{"type":"struct","value":"git_tag","file":"types.h","line":113,"lineto":113,"block":"","tdef":"typedef","comments":"Parsed representation of a tag object.","used":{"returns":[],"needs":["git_tag_close","git_tag_id","git_tag_lookup","git_tag_message","git_tag_name","git_tag_tagger","git_tag_target","git_tag_target_oid","git_tag_type"]}}],["git_time",{"type":"struct","value":"git_time","file":"types.h","line":131,"lineto":134,"block":"git_time_t time\nint offset","tdef":"typedef","comments":"Time in a signature","used":{"returns":[],"needs":[]}}],["git_tree",{"type":"struct","value":"git_tree","file":"types.h","line":125,"lineto":125,"block":"","tdef":"typedef","comments":"Representation of a tree object.","used":{"returns":[],"needs":["git_commit_create_o","git_commit_create_ov","git_commit_tree","git_tree_close","git_tree_entry_byindex","git_tree_entry_byname","git_tree_entrycount","git_tree_id","git_tree_lookup"]}}],["git_tree_entry",{"type":"struct","value":"git_tree_entry","file":"types.h","line":122,"lineto":122,"block":"","tdef":"typedef","comments":"Representation of each one of the entries in a tree object.","used":{"returns":["git_tree_entry_byindex","git_tree_entry_byname"],"needs":["git_tree_entry_2object","git_tree_entry_attributes","git_tree_entry_id","git_tree_entry_name"]}}]],"prefix":"include/git2","groups":[["blob",["git_blob_close","git_blob_create_frombuffer","git_blob_create_fromfile","git_blob_lookup","git_blob_rawcontent","git_blob_rawsize"]],["commit",["git_commit_author","git_commit_close","git_commit_committer","git_commit_create","git_commit_create_o","git_commit_create_ov","git_commit_create_v","git_commit_id","git_commit_lookup","git_commit_message","git_commit_message_short","git_commit_parent","git_commit_parentcount","git_commit_time","git_commit_time_offset","git_commit_tree"]],["errors",["git_strerror"]],["index",["git_index_add","git_index_clear","git_index_entrycount","git_index_find","git_index_free","git_index_get","git_index_insert","git_index_open_bare","git_index_open_inrepo","git_index_read","git_index_remove","git_index_write"]],["object",["git_object__size","git_object_close","git_object_id","git_object_lookup","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_close","git_odb_exists","git_odb_hash","git_odb_new","git_odb_object_close","git_odb_object_data","git_odb_object_id","git_odb_object_size","git_odb_object_type","git_odb_open","git_odb_open_rstream","git_odb_open_wstream","git_odb_read","git_odb_read_header","git_odb_write"]],["oid",["git_oid_allocfmt","git_oid_cmp","git_oid_cpy","git_oid_fmt","git_oid_mkraw","git_oid_mkstr","git_oid_pathfmt","git_oid_shorten_add","git_oid_shorten_free","git_oid_shorten_new","git_oid_to_string"]],["reference",["git_reference_create_oid","git_reference_create_symbolic","git_reference_delete","git_reference_listall","git_reference_listcb","git_reference_lookup","git_reference_name","git_reference_oid","git_reference_owner","git_reference_packall","git_reference_rename","git_reference_resolve","git_reference_set_oid","git_reference_set_target","git_reference_target","git_reference_type"]],["repository",["git_repository_database","git_repository_free","git_repository_index","git_repository_init","git_repository_open","git_repository_open2","git_repository_open3"]],["revwalk",["git_revwalk_free","git_revwalk_hide","git_revwalk_new","git_revwalk_next","git_revwalk_push","git_revwalk_repository","git_revwalk_reset","git_revwalk_sorting"]],["signature",["git_signature_dup","git_signature_free","git_signature_new"]],["tag",["git_tag_close","git_tag_create","git_tag_create_o","git_tag_id","git_tag_lookup","git_tag_message","git_tag_name","git_tag_tagger","git_tag_target","git_tag_target_oid","git_tag_type"]],["tree",["git_tree_close","git_tree_entry_2object","git_tree_entry_attributes","git_tree_entry_byindex","git_tree_entry_byname","git_tree_entry_id","git_tree_entry_name","git_tree_entrycount","git_tree_id","git_tree_lookup"]],["zlib",["deflateBound"]]]} \ No newline at end of file
diff --git a/v0.12.0.json b/v0.12.0.json
index 4273f65d8..5d02dca47 100644
--- a/v0.12.0.json
+++ b/v0.12.0.json
@@ -1 +1 @@
-{"files":[{"file":"common.h","functions":[],"meta":{"brief":"Git common platform definitions","defgroup":"git_common Git common platform definitions","ingroup":"Git","comments":"\n"},"lines":98},{"file":"signature.h","functions":["git_signature_new","git_signature_now","git_signature_dup","git_signature_free"],"meta":{"brief":"Git signature creation","defgroup":"git_signature Git signature creation","ingroup":"Git","comments":"\n"},"lines":81},{"file":"blob.h","functions":["git_blob_lookup","git_blob_close","git_blob_rawcontent","git_blob_rawsize","git_blob_create_fromfile","git_blob_create_frombuffer"],"meta":{"brief":"Git blob load and write routines","defgroup":"git_blob Git blob load and write routines","ingroup":"Git","comments":"\n"},"lines":121},{"file":"index.h","functions":["git_index_open_bare","git_index_open_inrepo","git_index_clear","git_index_free","git_index_read","git_index_write","git_index_find","git_index_add","git_index_add2","git_index_append","git_index_append2","git_index_remove","git_index_get","git_index_entrycount"],"meta":{"brief":"Git index parsing and manipulation routines","defgroup":"git_index Git index parsing and manipulation routines","ingroup":"Git","comments":"\n"},"lines":270},{"file":"repository.h","functions":["git_repository_open","git_repository_open2","git_repository_open3","git_repository_database","git_repository_index","git_repository_free","git_repository_init","git_repository_is_empty","git_repository_path","git_repository_workdir"],"meta":{"brief":"Git repository management routines","defgroup":"git_repository Git repository management routines","ingroup":"Git","comments":"\n"},"lines":217},{"file":"tag.h","functions":["git_tag_lookup","git_tag_close","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_o","git_tag_create_frombuffer","git_tag_create_f","git_tag_create_fo","git_tag_delete","git_tag_list"],"meta":{"brief":"Git tag parsing routines","defgroup":"git_tag Git tag management","ingroup":"Git","comments":"\n"},"lines":297},{"file":"odb_backend.h","functions":[],"meta":{"brief":"Git custom backend functions","defgroup":"git_backend Git custom backend API","ingroup":"Git","comments":"\n"},"lines":107},{"file":"commit.h","functions":["git_commit_lookup","git_commit_close","git_commit_id","git_commit_message_short","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_o","git_commit_create_ov","git_commit_create_v"],"meta":{"brief":"Git commit parsing, formatting routines","defgroup":"git_commit Git commit parsing, formatting routines","ingroup":"Git","comments":"\n"},"lines":302},{"file":"types.h","functions":[],"meta":{"brief":"libgit2 base & compatibility types","ingroup":"Git","comments":"\n"},"lines":162},{"file":"zlib.h","functions":["deflateBound"],"meta":{"brief":"Git data compression routines","defgroup":"git_zlib Git data compression routines","ingroup":"Git","comments":"\n"},"lines":58},{"file":"tree.h","functions":["git_tree_lookup","git_tree_close","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_2object","git_tree_create_fromindex","git_treebuilder_create","git_treebuilder_clear","git_treebuilder_free","git_treebuilder_get","git_treebuilder_insert","git_treebuilder_remove","git_treebuilder_filter","git_treebuilder_write"],"meta":{"brief":"Git tree parsing, loading routines","defgroup":"git_tree Git tree parsing, loading routines","ingroup":"Git","comments":"\n"},"lines":266},{"file":"odb.h","functions":["git_odb_new","git_odb_open","git_odb_add_backend","git_odb_add_alternate","git_odb_close","git_odb_read","git_odb_read_header","git_odb_exists","git_odb_write","git_odb_open_wstream","git_odb_open_rstream","git_odb_hash","git_odb_object_close","git_odb_object_id","git_odb_object_data","git_odb_object_size","git_odb_object_type"],"meta":{"brief":"Git object database routines","defgroup":"git_odb Git object database routines","ingroup":"Git","comments":"\n"},"lines":302},{"file":"thread-utils.h","functions":[],"meta":{},"lines":71},{"file":"oid.h","functions":["git_oid_mkstr","git_oid_mkraw","git_oid_fmt","git_oid_pathfmt","git_oid_allocfmt","git_oid_to_string","git_oid_cpy","git_oid_cmp","git_oid_shorten_new","git_oid_shorten_add","git_oid_shorten_free"],"meta":{"brief":"Git object id routines","defgroup":"git_oid Git object id routines","ingroup":"Git","comments":"\n"},"lines":191},{"file":"errors.h","functions":["git_lasterror","git_strerror"],"meta":{"brief":"Git error handling routines and variables","ingroup":"Git","comments":"\n"},"lines":149},{"file":"revwalk.h","functions":["git_revwalk_new","git_revwalk_reset","git_revwalk_push","git_revwalk_hide","git_revwalk_next","git_revwalk_sorting","git_revwalk_free","git_revwalk_repository"],"meta":{"brief":"Git revision traversal routines","defgroup":"git_revwalk Git revision traversal routines","ingroup":"Git","comments":"\n"},"lines":187},{"file":"object.h","functions":["git_object_lookup","git_object_id","git_object_type","git_object_owner","git_object_close","git_object_type2string","git_object_string2type","git_object_typeisloose","git_object__size"],"meta":{"brief":"Git revision object management routines","defgroup":"git_object Git revision object management routines","ingroup":"Git","comments":"\n"},"lines":147},{"file":"refs.h","functions":["git_reference_lookup","git_reference_create_symbolic","git_reference_create_symbolic_f","git_reference_create_oid","git_reference_create_oid_f","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_rename_f","git_reference_delete","git_reference_packall","git_reference_listall","git_reference_listcb"],"meta":{"brief":"Git reference management routines","defgroup":"git_reference Git reference management routines","ingroup":"Git","comments":"\n"},"lines":325}],"functions":{"git_signature_new":{"type":"function","file":"signature.h","line":50,"lineto":50,"args":[{"name":"name","type":"const char *","comment":"name of the person"},{"name":"email","type":"const char *"},{"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":"const char *name, const char *email, git_time_t time, int offset","sig":"const char *::const char *::git_time_t::int","return":{"type":"git_signature *","comment":"the new sig, NULL on out of memory"},"description":"Create a new action signature. The signature must be freed\nmanually or using git_signature_free","comments":"","group":"signature"},"git_signature_now":{"type":"function","file":"signature.h","line":60,"lineto":60,"args":[{"name":"name","type":"const char *","comment":"name of the person"},{"name":"email","type":"const char *","comment":"email of the person"}],"argline":"const char *name, const char *email","sig":"const char *::const char *","return":{"type":"git_signature *","comment":"the new sig, NULL on out of memory"},"description":"Create a new action signature with a timestamp of 'now'. The\nsignature must be freed manually or using git_signature_free","comments":"","group":"signature"},"git_signature_dup":{"type":"function","file":"signature.h","line":70,"lineto":70,"args":[{"name":"sig","type":"const git_signature *","comment":"signature to duplicated"}],"argline":"const git_signature *sig","sig":"const git_signature *","return":{"type":"git_signature *","comment":"a copy of sig, NULL on out of memory"},"description":"Create a copy of an existing signature.","comments":"All internal strings are also duplicated.","group":"signature"},"git_signature_free":{"type":"function","file":"signature.h","line":77,"lineto":77,"args":[{"name":"sig","type":"git_signature *","comment":"signature to free"}],"argline":"git_signature *sig","sig":"git_signature *","return":{"type":"void"},"description":"Free an existing signature","comments":"","group":"signature"},"git_blob_lookup":{"type":"function","file":"blob.h","line":50,"lineto":53,"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 on success; error code otherwise"},"description":"Lookup a blob object from a repository.","comments":"","group":"blob"},"git_blob_close":{"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"},"description":"Close an open blob","comments":"This is a wrapper around git_object_close()\n\nIMPORTANT:\nIt *is* necessary to call this method when you stop\nusing a blob. Failure to do so will cause a memory leak.\n","group":"blob"},"git_blob_rawcontent":{"type":"function","file":"blob.h","line":84,"lineto":84,"args":[{"name":"blob","type":"git_blob *","comment":"pointer to the blob"}],"argline":"git_blob *blob","sig":"git_blob *","return":{"type":"const void *","comment":"the pointer; NULL if the blob has no contents"},"description":"Get a read-only buffer with the raw content of a blob.","comments":"A pointer to the raw content of a blob is returned;\nthis pointer is owned internally by the object and shall\nnot be free'd. The pointer may be invalidated at a later\ntime.\n","group":"blob"},"git_blob_rawsize":{"type":"function","file":"blob.h","line":92,"lineto":92,"args":[{"name":"blob","type":"git_blob *","comment":"pointer to the blob"}],"argline":"git_blob *blob","sig":"git_blob *","return":{"type":"int","comment":"size on bytes"},"description":"Get the size in bytes of the contents of a blob","comments":"","group":"blob"},"git_blob_create_fromfile":{"type":"function","file":"blob.h","line":105,"lineto":105,"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. this repository cannot be bare"},{"name":"path","type":"const char *","comment":"file from which the blob will be created, relative 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 on success; error code otherwise"},"description":"Read a file from the working folder of a repository\nand write it to the Object Database as a loose blob","comments":"","group":"blob"},"git_blob_create_frombuffer":{"type":"function","file":"blob.h","line":117,"lineto":117,"args":[{"name":"oid","type":"git_oid *","comment":"return the oid of the written blob"},{"name":"repo","type":"git_repository *","comment":"repository where to blob will be written"},{"name":"buffer","type":"const void *","comment":"data to be written into the blob"},{"name":"len","type":"size_t","comment":"length of the data"}],"argline":"git_oid *oid, git_repository *repo, const void *buffer, size_t len","sig":"git_oid *::git_repository *::const void *::size_t","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Write an in-memory buffer to the ODB as a blob","comments":"","group":"blob"},"git_index_open_bare":{"type":"function","file":"index.h","line":118,"lineto":118,"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 on success; error code otherwise"},"description":"Create a new Git index object as a memory representation\nof the Git index file in 'index_path', without a repository\nto back it.","comments":"Since there is no ODB behind this index, any Index methods\nwhich rely on the ODB (e.g. index_add) will fail with the\nGIT_EBAREINDEX error code.\n","group":"index"},"git_index_open_inrepo":{"type":"function","file":"index.h","line":128,"lineto":128,"args":[{"name":"index","type":"git_index **","comment":"the pointer for the new index"},{"name":"repo","type":"git_repository *","comment":"the git repo which owns the index"}],"argline":"git_index **index, git_repository *repo","sig":"git_index **::git_repository *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Open the Index inside the git repository pointed\nby 'repo'.","comments":"","group":"index"},"git_index_clear":{"type":"function","file":"index.h","line":137,"lineto":137,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"void"},"description":"Clear the contents (all the entries) of an index object.\nThis clears the index object in memory; changes must be manually\nwritten to disk for them to take effect.","comments":"","group":"index"},"git_index_free":{"type":"function","file":"index.h","line":144,"lineto":144,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"void"},"description":"Free an existing index object.","comments":"","group":"index"},"git_index_read":{"type":"function","file":"index.h","line":153,"lineto":153,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"int","comment":"0 on success, otherwise an error code"},"description":"Update the contents of an existing index object in memory\nby reading from the hard disk.","comments":"","group":"index"},"git_index_write":{"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":"int","comment":"0 on success, otherwise an error code"},"description":"Write an existing index object from memory back to disk\nusing an atomic file lock.","comments":"","group":"index"},"git_index_find":{"type":"function","file":"index.h","line":172,"lineto":172,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"},{"name":"path","type":"const char *","comment":"path to search"}],"argline":"git_index *index, const char *path","sig":"git_index *::const char *","return":{"type":"int","comment":"an index >= 0 if found, -1 otherwise"},"description":"Find the first index of any entries which point to given\npath in the Git index.","comments":"","group":"index"},"git_index_add":{"type":"function","file":"index.h","line":187,"lineto":187,"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 on success, otherwise an error code"},"description":"Add or update an index entry from a file in disk","comments":"The file `path` must be relative to the repository's\nworking folder and must be readable.\n\nThis method will fail in bare index instances.\n","group":"index"},"git_index_add2":{"type":"function","file":"index.h","line":199,"lineto":199,"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 on success, otherwise an error code"},"description":"Add or update an index entry from an in-memory struct","comments":"A full copy (including the 'path' string) of the given\n'source_entry' will be inserted on the index.\n","group":"index"},"git_index_append":{"type":"function","file":"index.h","line":218,"lineto":218,"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 on success, otherwise an error code"},"description":"Add (append) an index entry from a file in disk","comments":"A new entry will always be inserted into the index;\nif the index already contains an entry for such\npath, the old entry will **not** be replaced.\n\nThe file `path` must be relative to the repository's\nworking folder and must be readable.\n\nThis method will fail in bare index instances.\n","group":"index"},"git_index_append2":{"type":"function","file":"index.h","line":235,"lineto":235,"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 on success, otherwise an error code"},"description":"Add (append) an index entry from an in-memory struct","comments":"A new entry will always be inserted into the index;\nif the index already contains an entry for the path\nin the `entry` struct, the old entry will **not** be\nreplaced.\n\nA full copy (including the 'path' string) of the given\n'source_entry' will be inserted on the index.\n","group":"index"},"git_index_remove":{"type":"function","file":"index.h","line":244,"lineto":244,"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 on success, otherwise an error code"},"description":"Remove an entry from the index","comments":"","group":"index"},"git_index_get":{"type":"function","file":"index.h","line":257,"lineto":257,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"},{"name":"n","type":"int","comment":"the position of the entry"}],"argline":"git_index *index, int n","sig":"git_index *::int","return":{"type":"git_index_entry *","comment":"a pointer to the entry; NULL if out of bounds"},"description":"Get a pointer to one of the entries in the index","comments":"This entry can be modified, and the changes will be written\nback to disk on the next write() call.\n","group":"index"},"git_index_entrycount":{"type":"function","file":"index.h","line":265,"lineto":265,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"unsigned int","comment":"integer of count of current entries"},"description":"Get the count of entries currently in the index","comments":"","group":"index"},"git_repository_open":{"type":"function","file":"repository.h","line":64,"lineto":64,"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 on success; error code otherwise"},"description":"Open a git repository.","comments":"The 'path' argument must point to an existing git repository\nfolder, e.g.\n\n\t/path/to/my_repo/.git/\t(normal repository)\n\t\t\t\t\t\tobjects/\n\t\t\t\t\t\tindex\n\t\t\t\t\t\tHEAD\n\n\t/path/to/bare_repo/\t\t(bare repository)\n\t\t\t\t\tobjects/\n\t\t\t\t\tindex\n\t\t\t\t\tHEAD\n\nThe method will automatically detect if 'path' is a normal\nor bare repository or fail is 'path' is neither.\n","group":"repository"},"git_repository_open2":{"type":"function","file":"repository.h","line":93,"lineto":97,"args":[{"name":"repository","type":"git_repository **","comment":"pointer to the repo which will be opened"},{"name":"git_dir","type":"const char *","comment":"The full path to the repository folder e.g. a '.git' folder for live repos, any folder for bare Equivalent to $GIT_DIR. Cannot be NULL."},{"name":"git_object_directory","type":"const char *","comment":"The full path to the ODB folder. the folder where all the loose and packed objects are stored Equivalent to $GIT_OBJECT_DIRECTORY. If NULL, \"$GIT_DIR/objects/\" is assumed."},{"name":"git_index_file","type":"const char *","comment":"The full path to the index (dircache) file Equivalent to $GIT_INDEX_FILE. If NULL, \"$GIT_DIR/index\" is assumed."},{"name":"git_work_tree","type":"const char *","comment":"The full path to the working tree of the repository, if the repository is not bare. Equivalent to $GIT_WORK_TREE. If NULL, the repository is assumed to be bare."}],"argline":"git_repository **repository,\n\t\tconst char *git_dir,\n\t\tconst char *git_object_directory,\n\t\tconst char *git_index_file,\n\t\tconst char *git_work_tree","sig":"git_repository **::const char *::const char *::const char *::const char *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Open a git repository by manually specifying all its paths","comments":"","group":"repository"},"git_repository_open3":{"type":"function","file":"repository.h","line":128,"lineto":132,"args":[{"name":"repository","type":"git_repository **","comment":"pointer to the repo which will be opened"},{"name":"git_dir","type":"const char *","comment":"The full path to the repository folder e.g. a '.git' folder for live repos, any folder for bare Equivalent to $GIT_DIR. Cannot be NULL."},{"name":"object_database","type":"git_odb *","comment":"A pointer to a git_odb created & initialized by the user (e.g. with custom backends). This object database will be owned by the repository and will be automatically free'd. It should not be manually free'd by the user, or this git_repository object will become invalid."},{"name":"git_index_file","type":"const char *","comment":"The full path to the index (dircache) file Equivalent to $GIT_INDEX_FILE. If NULL, \"$GIT_DIR/index\" is assumed."},{"name":"git_work_tree","type":"const char *","comment":"The full path to the working tree of the repository, if the repository is not bare. Equivalent to $GIT_WORK_TREE. If NULL, the repository is assumed to be bare."}],"argline":"git_repository **repository,\n\t\tconst char *git_dir,\n\t\tgit_odb *object_database,\n\t\tconst char *git_index_file,\n\t\tconst char *git_work_tree","sig":"git_repository **::const char *::git_odb *::const char *::const char *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Open a git repository by manually specifying its paths and\nthe object database it will use.","comments":"","group":"repository"},"git_repository_database":{"type":"function","file":"repository.h","line":141,"lineto":141,"args":[{"name":"repo","type":"git_repository *","comment":"a repository object"}],"argline":"git_repository *repo","sig":"git_repository *","return":{"type":"git_odb *","comment":"a pointer to the object db"},"description":"Get the object database behind a Git repository","comments":"","group":"repository"},"git_repository_index":{"type":"function","file":"repository.h","line":153,"lineto":153,"args":[{"name":"index","type":"git_index **","comment":"Pointer where to store the index"},{"name":"repo","type":"git_repository *","comment":"a repository object"}],"argline":"git_index **index, git_repository *repo","sig":"git_index **::git_repository *","return":{"type":"int","comment":"0 on success; error code if the index could not be opened"},"description":"Get the Index file of a Git repository","comments":"This is a cheap operation; the index is only opened on the first call,\nand subsequent calls only retrieve the previous pointer.\n","group":"repository"},"git_repository_free":{"type":"function","file":"repository.h","line":166,"lineto":166,"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"},"description":"Free a previously allocated repository","comments":"Note that after a repository is free'd, all the objects it has spawned\nwill still exist until they are manually closed by the user\nwith `git_object_close`, but accessing any of the attributes of\nan object without a backing repository will result in undefined\nbehavior\n","group":"repository"},"git_repository_init":{"type":"function","file":"repository.h","line":183,"lineto":183,"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","comment":"if true, a Git repository without a working directory is created at the pointed path. If false, provided path will be considered as the working directory into which the .git directory will be created."}],"argline":"git_repository **repo_out, const char *path, unsigned is_bare","sig":"git_repository **::const char *::unsigned","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Creates a new Git repository in the given folder.","comments":"TODO:\n- Reinit the repository\n- Create config files\n","group":"repository"},"git_repository_is_empty":{"type":"function","file":"repository.h","line":195,"lineto":195,"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 if the repository is corrupted"},"description":"Check if a repository is empty","comments":"An empty repository has just been initialized and contains\nno commits.\n","group":"repository"},"git_repository_path":{"type":"function","file":"repository.h","line":203,"lineto":203,"args":[{"name":"repo","type":"git_repository *","comment":"a repository object"}],"argline":"git_repository *repo","sig":"git_repository *","return":{"type":"const char *","comment":"absolute path to the git directory"},"description":"Get the normalized path to the git repository.","comments":"","group":"repository"},"git_repository_workdir":{"type":"function","file":"repository.h","line":213,"lineto":213,"args":[{"name":"repo","type":"git_repository *","comment":"a repository object"}],"argline":"git_repository *repo","sig":"git_repository *","return":{"type":"const char *","comment":"NULL if the repository is bare; absolute path to the working directory otherwise."},"description":"Get the normalized path to the working directory of the repository.","comments":"If the repository is bare, there is no working directory and NULL we be returned.\n","group":"repository"},"git_tag_lookup":{"type":"function","file":"tag.h","line":50,"lineto":53,"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 on success; error code otherwise"},"description":"Lookup a tag object from the repository.","comments":"","group":"tag"},"git_tag_close":{"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"},"description":"Close an open tag","comments":"This is a wrapper around git_object_close()\n\nIMPORTANT:\nIt *is* necessary to call this method when you stop\nusing a tag. Failure to do so will cause a memory leak.\n","group":"tag"},"git_tag_id":{"type":"function","file":"tag.h","line":79,"lineto":79,"args":[{"name":"tag","type":"git_tag *","comment":"a previously loaded tag."}],"argline":"git_tag *tag","sig":"git_tag *","return":{"type":"const git_oid *","comment":"object identity for the tag."},"description":"Get the id of a tag.","comments":"","group":"tag"},"git_tag_target":{"type":"function","file":"tag.h","line":91,"lineto":91,"args":[{"name":"target","type":"git_object **","comment":"pointer where to store the target"},{"name":"t","type":"git_tag *","comment":"arget pointer where to store the target"}],"argline":"git_object **target, git_tag *t","sig":"git_object **::git_tag *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Get the tagged object of a tag","comments":"This method performs a repository lookup for the\ngiven object and returns it\n","group":"tag"},"git_tag_target_oid":{"type":"function","file":"tag.h","line":99,"lineto":99,"args":[{"name":"t","type":"git_tag *","comment":"ag a previously loaded tag."}],"argline":"git_tag *t","sig":"git_tag *","return":{"type":"const git_oid *","comment":"pointer to the OID"},"description":"Get the OID of the tagged object of a tag","comments":"","group":"tag"},"git_tag_type":{"type":"function","file":"tag.h","line":107,"lineto":107,"args":[{"name":"t","type":"git_tag *","comment":"ag a previously loaded tag."}],"argline":"git_tag *t","sig":"git_tag *","return":{"type":"git_otype","comment":"type of the tagged object"},"description":"Get the type of a tag's tagged object","comments":"","group":"tag"},"git_tag_name":{"type":"function","file":"tag.h","line":115,"lineto":115,"args":[{"name":"t","type":"git_tag *","comment":"ag a previously loaded tag."}],"argline":"git_tag *t","sig":"git_tag *","return":{"type":"const char *","comment":"name of the tag"},"description":"Get the name of a tag","comments":"","group":"tag"},"git_tag_tagger":{"type":"function","file":"tag.h","line":123,"lineto":123,"args":[{"name":"t","type":"git_tag *","comment":"ag a previously loaded tag."}],"argline":"git_tag *t","sig":"git_tag *","return":{"type":"const git_signature *","comment":"reference to the tag's author"},"description":"Get the tagger (author) of a tag","comments":"","group":"tag"},"git_tag_message":{"type":"function","file":"tag.h","line":131,"lineto":131,"args":[{"name":"t","type":"git_tag *","comment":"ag a previously loaded tag."}],"argline":"git_tag *t","sig":"git_tag *","return":{"type":"const char *","comment":"message of the tag"},"description":"Get the message of a tag","comments":"","group":"tag"},"git_tag_create":{"type":"function","file":"tag.h","line":162,"lineto":169,"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":"tag_name","type":"const char *","comment":"Name for the tag; this name is validated for consistency. It should also not conflict with an already existing tag name"},{"name":"target","type":"const git_oid *","comment":"OID to which this tag points; note that no validation is done on this OID. Use the _o version of this method to assure a proper object is being tagged"},{"name":"target_type","type":"git_otype","comment":"Type of the tagged OID; note that no validation is performed here either"},{"name":"tagger","type":"const git_signature *","comment":"Signature of the tagger for this tag, and of the tagging time"},{"name":"message","type":"const char *","comment":"Full message for this tag"}],"argline":"git_oid *oid,\n\t\tgit_repository *repo,\n\t\tconst char *tag_name,\n\t\tconst git_oid *target,\n\t\tgit_otype target_type,\n\t\tconst git_signature *tagger,\n\t\tconst char *message","sig":"git_oid *::git_repository *::const char *::const git_oid *::git_otype::const git_signature *::const char *","return":{"type":"int","comment":"0 on success; error code otherwise. A tag object is written to the ODB, and a proper reference is written in the /refs/tags folder, pointing to it"},"description":"Create a new tag in the repository from an OID","comments":"","group":"tag"},"git_tag_create_o":{"type":"function","file":"tag.h","line":184,"lineto":190,"args":[{"name":"oid","type":"git_oid *"},{"name":"repo","type":"git_repository *"},{"name":"tag_name","type":"const char *"},{"name":"target","type":"const git_object *"},{"name":"tagger","type":"const git_signature *"},{"name":"message","type":"const char *"}],"argline":"git_oid *oid,\n\t\tgit_repository *repo,\n\t\tconst char *tag_name,\n\t\tconst git_object *target,\n\t\tconst git_signature *tagger,\n\t\tconst char *message","sig":"git_oid *::git_repository *::const char *::const git_object *::const git_signature *::const char *","return":{"type":"int"},"description":"Create a new tag in the repository from an existing\n`git_object` instance","comments":"This method replaces the `target` and `target_type`\nparemeters of `git_tag_create` by a single instance\nof a `const git_object *`, which is assured to be\na proper object in the ODB and hence will create\na valid tag\n\n@see git_tag_create","group":"tag"},"git_tag_create_frombuffer":{"type":"function","file":"tag.h","line":201,"lineto":204,"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"}],"argline":"git_oid *oid,\n\t\tgit_repository *repo,\n\t\tconst char *buffer","sig":"git_oid *::git_repository *::const char *","return":{"type":"int"},"description":"Create a new tag in the repository from a buffer","comments":"","group":"tag"},"git_tag_create_f":{"type":"function","file":"tag.h","line":234,"lineto":241,"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":"tag_name","type":"const char *","comment":"Name for the tag; this name is validated for consistency."},{"name":"target","type":"const git_oid *","comment":"OID to which this tag points; note that no validation is done on this OID. Use the _fo version of this method to assure a proper object is being tagged"},{"name":"target_type","type":"git_otype","comment":"Type of the tagged OID; note that no validation is performed here either"},{"name":"tagger","type":"const git_signature *","comment":"Signature of the tagger for this tag, and of the tagging time"},{"name":"message","type":"const char *","comment":"Full message for this tag"}],"argline":"git_oid *oid,\n\t\tgit_repository *repo,\n\t\tconst char *tag_name,\n\t\tconst git_oid *target,\n\t\tgit_otype target_type,\n\t\tconst git_signature *tagger,\n\t\tconst char *message","sig":"git_oid *::git_repository *::const char *::const git_oid *::git_otype::const git_signature *::const char *","return":{"type":"int","comment":"0 on success; error code otherwise. A tag object is written to the ODB, and a proper reference is written in the /refs/tags folder, pointing to it"},"description":"Create a new tag in the repository from an OID\nand overwrite an already existing tag reference, if any.","comments":"","group":"tag"},"git_tag_create_fo":{"type":"function","file":"tag.h","line":256,"lineto":262,"args":[{"name":"oid","type":"git_oid *"},{"name":"repo","type":"git_repository *"},{"name":"tag_name","type":"const char *"},{"name":"target","type":"const git_object *"},{"name":"tagger","type":"const git_signature *"},{"name":"message","type":"const char *"}],"argline":"git_oid *oid,\n\t\tgit_repository *repo,\n\t\tconst char *tag_name,\n\t\tconst git_object *target,\n\t\tconst git_signature *tagger,\n\t\tconst char *message","sig":"git_oid *::git_repository *::const char *::const git_object *::const git_signature *::const char *","return":{"type":"int"},"description":"Create a new tag in the repository from an existing\n`git_object` instance and overwrite an already existing \ntag reference, if any.","comments":"This method replaces the `target` and `target_type`\nparemeters of `git_tag_create_f` by a single instance\nof a `const git_object *`, which is assured to be\na proper object in the ODB and hence will create\na valid tag\n\n@see git_tag_create_f","group":"tag"},"git_tag_delete":{"type":"function","file":"tag.h","line":274,"lineto":276,"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; this name is validated for consistency."}],"argline":"git_repository *repo,\n\t\tconst char *tag_name","sig":"git_repository *::const char *","return":{"type":"int","comment":"0 on success; error code otherwise."},"description":"Delete an existing tag reference.","comments":"","group":"tag"},"git_tag_list":{"type":"function","file":"tag.h","line":291,"lineto":293,"args":[{"name":"tag_names","type":"git_strarray *"},{"name":"repo","type":"git_repository *","comment":"Repository where to find the tags"}],"argline":"git_strarray *tag_names,\n\t\tgit_repository *repo","sig":"git_strarray *::git_repository *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Fill a list with all the tags in the Repository","comments":"The string array will be filled with the names of the\nmatching tags; these values are owned by the user and\nshould be free'd manually when no longer needed, using\n`git_strarray_free`.\n","group":"tag"},"git_commit_lookup":{"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 an 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 on success; error code otherwise"},"description":"Lookup a commit object from a repository.","comments":"","group":"commit"},"git_commit_close":{"type":"function","file":"commit.h","line":67,"lineto":70,"args":[{"name":"commit","type":"git_commit *","comment":"the commit to close"}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"void"},"description":"Close an open commit","comments":"This is a wrapper around git_object_close()\n\nIMPORTANT:\nIt *is* necessary to call this method when you stop\nusing a commit. Failure to do so will cause a memory leak.\n","group":"commit"},"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":"Get the id of a commit.","comments":"","group":"commit"},"git_commit_message_short":{"type":"function","file":"commit.h","line":87,"lineto":87,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"const char *","comment":"the short message of a commit"},"description":"Get the short (one line) message of a commit.","comments":"","group":"commit"},"git_commit_message":{"type":"function","file":"commit.h","line":95,"lineto":95,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"const char *","comment":"the message of a commit"},"description":"Get the full message of a commit.","comments":"","group":"commit"},"git_commit_time":{"type":"function","file":"commit.h","line":103,"lineto":103,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"git_time_t","comment":"the time of a commit"},"description":"Get the commit time (i.e. committer time) of a commit.","comments":"","group":"commit"},"git_commit_time_offset":{"type":"function","file":"commit.h","line":111,"lineto":111,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"int","comment":"positive or negative timezone offset, in minutes from UTC"},"description":"Get the commit timezone offset (i.e. committer's preferred timezone) of a commit.","comments":"","group":"commit"},"git_commit_committer":{"type":"function","file":"commit.h","line":119,"lineto":119,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"const git_signature *","comment":"the committer of a commit"},"description":"Get the committer of a commit.","comments":"","group":"commit"},"git_commit_author":{"type":"function","file":"commit.h","line":127,"lineto":127,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"const git_signature *","comment":"the author of a commit"},"description":"Get the author of a commit.","comments":"","group":"commit"},"git_commit_tree":{"type":"function","file":"commit.h","line":136,"lineto":136,"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 on success; error code otherwise"},"description":"Get the tree pointed to by a commit.","comments":"","group":"commit"},"git_commit_tree_oid":{"type":"function","file":"commit.h","line":146,"lineto":146,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"const git_oid *","comment":"the id of tree pointed to by commit."},"description":"Get the id of the tree pointed to by a commit. This differs from\n`git_commit_tree` in that no attempts are made to fetch an object\nfrom the ODB.","comments":"","group":"commit"},"git_commit_parentcount":{"type":"function","file":"commit.h","line":154,"lineto":154,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"unsigned int","comment":"integer of count of parents"},"description":"Get the number of parents of this commit","comments":"","group":"commit"},"git_commit_parent":{"type":"function","file":"commit.h","line":164,"lineto":164,"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 on success; error code otherwise"},"description":"Get the specified parent of the commit.","comments":"","group":"commit"},"git_commit_parent_oid":{"type":"function","file":"commit.h","line":175,"lineto":175,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."},{"name":"n","type":"unsigned int","comment":"the position of the parent (from 0 to `parentcount`)"}],"argline":"git_commit *commit, unsigned int n","sig":"git_commit *::unsigned int","return":{"type":"const git_oid *","comment":"the id of the parent, NULL on error."},"description":"Get the oid of a specified parent for a commit. This is different from\n`git_commit_parent`, which will attempt to load the parent commit from\nthe ODB.","comments":"","group":"commit"},"git_commit_create":{"type":"function","file":"commit.h","line":215,"lineto":224,"args":[{"name":"oid","type":"git_oid *","comment":"Pointer where to store the OID of the newly 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 will be updated to point to this commit. If the reference is not direct, it will be resolved to a direct reference. Use \"HEAD\" to update the HEAD of the current branch and make it point to this commit"},{"name":"author","type":"const git_signature *","comment":"Signature representing the author and the authory time of this commit"},{"name":"committer","type":"const git_signature *","comment":"Signature representing the committer and the commit time of this commit"},{"name":"message","type":"const char *","comment":"Full message for this commit"},{"name":"tree_oid","type":"const git_oid *","comment":"Object ID of the tree for this commit. Note that no validation is performed on this OID. Use the _o variants of this method to assure a proper tree is passed to the commit."},{"name":"parent_count","type":"int","comment":"Number of parents for this commit"}],"argline":"git_oid *oid,\n\t\tgit_repository *repo,\n\t\tconst char *update_ref,\n\t\tconst git_signature *author,\n\t\tconst git_signature *committer,\n\t\tconst char *message,\n\t\tconst git_oid *tree_oid,\n\t\tint parent_count,\n\t\tconst git_oid *parent_oids[]","sig":"git_oid *::git_repository *::const char *::const git_signature *::const git_signature *::const char *::const git_oid *::int","return":{"type":"int","comment":"0 on success; error code otherwise The created commit will be written to the Object Database and the given reference will be updated to point to it"},"description":"Create a new commit in the repository","comments":"","group":"commit"},"git_commit_create_o":{"type":"function","file":"commit.h","line":237,"lineto":246,"args":[{"name":"oid","type":"git_oid *"},{"name":"repo","type":"git_repository *"},{"name":"update_ref","type":"const char *"},{"name":"author","type":"const git_signature *"},{"name":"committer","type":"const git_signature *"},{"name":"message","type":"const char *"},{"name":"tree","type":"const git_tree *"},{"name":"parent_count","type":"int"}],"argline":"git_oid *oid,\n\t\tgit_repository *repo,\n\t\tconst char *update_ref,\n\t\tconst git_signature *author,\n\t\tconst git_signature *committer,\n\t\tconst char *message,\n\t\tconst git_tree *tree,\n\t\tint parent_count,\n\t\tconst git_commit *parents[]","sig":"git_oid *::git_repository *::const char *::const git_signature *::const git_signature *::const char *::const git_tree *::int","return":{"type":"int"},"description":"Create a new commit in the repository using `git_object`\ninstances as parameters.","comments":"The `tree_oid` and `parent_oids` paremeters now take a instance\nof `git_tree` and `git_commit`, respectively.\n\nAll other parameters remain the same\n\n@see git_commit_create","group":"commit"},"git_commit_create_ov":{"type":"function","file":"commit.h","line":264,"lineto":273,"args":[{"name":"oid","type":"git_oid *"},{"name":"repo","type":"git_repository *"},{"name":"update_ref","type":"const char *"},{"name":"author","type":"const git_signature *"},{"name":"committer","type":"const git_signature *"},{"name":"message","type":"const char *"},{"name":"tree","type":"const git_tree *"},{"name":"parent_count","type":"int"}],"argline":"git_oid *oid,\n\t\tgit_repository *repo,\n\t\tconst char *update_ref,\n\t\tconst git_signature *author,\n\t\tconst git_signature *committer,\n\t\tconst char *message,\n\t\tconst git_tree *tree,\n\t\tint parent_count,\n\t\t...","sig":"git_oid *::git_repository *::const char *::const git_signature *::const git_signature *::const char *::const git_tree *::int","return":{"type":"int"},"description":"Create a new commit in the repository using `git_object`\ninstances and a variable argument list.","comments":"The `tree_oid` paremeter now takes a instance\nof `const git_tree *`.\n\nThe parents for the commit are specified as a variable\nlist of pointers to `const git_commit *`. Note that this\nis a convenience method which may not be safe to export\nfor certain languages or compilers\n\nAll other parameters remain the same\n\n@see git_commit_create","group":"commit"},"git_commit_create_v":{"type":"function","file":"commit.h","line":289,"lineto":298,"args":[{"name":"oid","type":"git_oid *"},{"name":"repo","type":"git_repository *"},{"name":"update_ref","type":"const char *"},{"name":"author","type":"const git_signature *"},{"name":"committer","type":"const git_signature *"},{"name":"message","type":"const char *"},{"name":"tree_oid","type":"const git_oid *"},{"name":"parent_count","type":"int"}],"argline":"git_oid *oid,\n\t\tgit_repository *repo,\n\t\tconst char *update_ref,\n\t\tconst git_signature *author,\n\t\tconst git_signature *committer,\n\t\tconst char *message,\n\t\tconst git_oid *tree_oid,\n\t\tint parent_count,\n\t\t...","sig":"git_oid *::git_repository *::const char *::const git_signature *::const git_signature *::const char *::const git_oid *::int","return":{"type":"int"},"description":"Create a new commit in the repository using \na variable argument list.","comments":"The parents for the commit are specified as a variable\nlist of pointers to `const git_oid *`. Note that this\nis a convenience method which may not be safe to export\nfor certain languages or compilers\n\nAll other parameters remain the same\n\n@see git_commit_create","group":"commit"},"deflateBound":{"type":"function","file":"zlib.h","line":50,"lineto":54,"args":[{"name":"stream","type":"z_streamp","comment":"the stream pointer."},{"name":"s","type":"size_t","comment":"tream the stream pointer."}],"argline":"z_streamp stream, size_t s","sig":"z_streamp::size_t","return":{"type":"size_t","comment":"maximum length of the compressed data."},"description":"deflateBound returns an upper bound on the compressed size.","comments":"This is a stub function used when zlib does not supply the\ndeflateBound() implementation itself.\n","group":"zlib"},"git_tree_lookup":{"type":"function","file":"tree.h","line":50,"lineto":53,"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 on success; error code otherwise"},"description":"Lookup a tree object from the repository.","comments":"","group":"tree"},"git_tree_close":{"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"},"description":"Close an open tree","comments":"This is a wrapper around git_object_close()\n\nIMPORTANT:\nIt *is* necessary to call this method when you stop\nusing a tree. Failure to do so will cause a memory leak.\n","group":"tree"},"git_tree_id":{"type":"function","file":"tree.h","line":79,"lineto":79,"args":[{"name":"tree","type":"git_tree *","comment":"a previously loaded tree."}],"argline":"git_tree *tree","sig":"git_tree *","return":{"type":"const git_oid *","comment":"object identity for the tree."},"description":"Get the id of a tree.","comments":"","group":"tree"},"git_tree_entrycount":{"type":"function","file":"tree.h","line":87,"lineto":87,"args":[{"name":"tree","type":"git_tree *","comment":"a previously loaded tree."}],"argline":"git_tree *tree","sig":"git_tree *","return":{"type":"size_t","comment":"the number of entries in the tree"},"description":"Get the number of entries listed in a tree","comments":"","group":"tree"},"git_tree_entry_byname":{"type":"function","file":"tree.h","line":96,"lineto":96,"args":[{"name":"tree","type":"git_tree *","comment":"a previously loaded tree."},{"name":"filename","type":"const char *","comment":"the filename of the desired entry"}],"argline":"git_tree *tree, const char *filename","sig":"git_tree *::const char *","return":{"type":"const git_tree_entry *","comment":"the tree entry; NULL if not found"},"description":"Lookup a tree entry by its filename","comments":"","group":"tree"},"git_tree_entry_byindex":{"type":"function","file":"tree.h","line":105,"lineto":105,"args":[{"name":"tree","type":"git_tree *","comment":"a previously loaded tree."},{"name":"idx","type":"int","comment":"the position in the entry list"}],"argline":"git_tree *tree, int idx","sig":"git_tree *::int","return":{"type":"const git_tree_entry *","comment":"the tree entry; NULL if not found"},"description":"Lookup a tree entry by its position in the tree","comments":"","group":"tree"},"git_tree_entry_attributes":{"type":"function","file":"tree.h","line":113,"lineto":113,"args":[{"name":"entry","type":"const git_tree_entry *","comment":"a tree entry"}],"argline":"const git_tree_entry *entry","sig":"const git_tree_entry *","return":{"type":"unsigned int","comment":"attributes as an integer"},"description":"Get the UNIX file attributes of a tree entry","comments":"","group":"tree"},"git_tree_entry_name":{"type":"function","file":"tree.h","line":121,"lineto":121,"args":[{"name":"entry","type":"const git_tree_entry *","comment":"a tree entry"}],"argline":"const git_tree_entry *entry","sig":"const git_tree_entry *","return":{"type":"const char *","comment":"the name of the file"},"description":"Get the filename of a tree entry","comments":"","group":"tree"},"git_tree_entry_id":{"type":"function","file":"tree.h","line":129,"lineto":129,"args":[{"name":"entry","type":"const git_tree_entry *","comment":"a tree entry"}],"argline":"const git_tree_entry *entry","sig":"const git_tree_entry *","return":{"type":"const git_oid *","comment":"the oid of the object"},"description":"Get the id of the object pointed by the entry","comments":"","group":"tree"},"git_tree_entry_2object":{"type":"function","file":"tree.h","line":139,"lineto":139,"args":[{"name":"object_out","type":"git_object **"},{"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 on success; error code otherwise"},"description":"Convert a tree entry to the git_object it points too.","comments":"","group":"tree"},"git_tree_create_fromindex":{"type":"function","file":"tree.h","line":157,"lineto":157,"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 on success; error code otherwise"},"description":"Write a tree to the ODB from the index file","comments":"This method will scan the index and write a representation\nof its current state back to disk; it recursively creates\ntree objects for each of the subtrees stored in the index,\nbut only returns the OID of the root tree. This is the OID\nthat can be used e.g. to create a commit.\n\nThe index instance cannot be bare, and needs to be associated\nto an existing repository.\n","group":"tree"},"git_treebuilder_create":{"type":"function","file":"tree.h","line":176,"lineto":176,"args":[{"name":"builder_p","type":"git_treebuilder **","comment":"Pointer where to store the tree builder"},{"name":"source","type":"const git_tree *","comment":"Source tree to initialize the builder (optional)"}],"argline":"git_treebuilder **builder_p, const git_tree *source","sig":"git_treebuilder **::const git_tree *","return":{"type":"int","comment":"0 on sucess; error code otherwise"},"description":"Create a new tree builder.","comments":"The tree builder can be used to create or modify\ntrees in memory and write them as tree objects to the\ndatabase.\n\nIf the `source` parameter is not NULL, the tree builder\nwill be initialized with the entries of the given tree.\n\nIf the `source` parameter is NULL, the tree builder will\nhave no entries and will have to be filled manually.\n","group":"treebuilder"},"git_treebuilder_clear":{"type":"function","file":"tree.h","line":183,"lineto":183,"args":[{"name":"bld","type":"git_treebuilder *","comment":"Builder to clear"}],"argline":"git_treebuilder *bld","sig":"git_treebuilder *","return":{"type":"void"},"description":"Clear all the entires in the builder","comments":"","group":"treebuilder"},"git_treebuilder_free":{"type":"function","file":"tree.h","line":194,"lineto":194,"args":[{"name":"bld","type":"git_treebuilder *","comment":"Builder to free"}],"argline":"git_treebuilder *bld","sig":"git_treebuilder *","return":{"type":"void"},"description":"Free a tree builder","comments":"This will clear all the entries and free to builder.\nFailing to free the builder after you're done using it\nwill result in a memory leak\n","group":"treebuilder"},"git_treebuilder_get":{"type":"function","file":"tree.h","line":206,"lineto":206,"args":[{"name":"bld","type":"git_treebuilder *","comment":"Tree builder"},{"name":"filename","type":"const char *","comment":"Name of the entry"}],"argline":"git_treebuilder *bld, const char *filename","sig":"git_treebuilder *::const char *","return":{"type":"const git_tree_entry *","comment":"pointer to the entry; NULL if not found"},"description":"Get an entry from the builder from its filename","comments":"The returned entry is owned by the builder and should\nnot be freed manually.\n","group":"treebuilder"},"git_treebuilder_insert":{"type":"function","file":"tree.h","line":227,"lineto":227,"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 on success; error code otherwise"},"description":"Add or update an entry to the builder","comments":"Insert a new entry for `filename` in the builder with the\ngiven attributes.\n\nif an entry named `filename` already exists, its attributes\nwill be updated with the given ones.\n\nThe optional pointer `entry_out` can be used to retrieve a\npointer to the newly created/updated entry.\n","group":"treebuilder"},"git_treebuilder_remove":{"type":"function","file":"tree.h","line":235,"lineto":235,"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"},"description":"Remove an entry from the builder by its filename","comments":"","group":"treebuilder"},"git_treebuilder_filter":{"type":"function","file":"tree.h","line":248,"lineto":248,"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 *"}],"argline":"git_treebuilder *bld, int (*filter)(const git_tree_entry *, void *), void *payload","sig":"git_treebuilder *::int (*)(const git_tree_entry *, void *)::void *","return":{"type":"void"},"description":"Filter the entries in the tree","comments":"The `filter` callback will be called for each entry\nin the tree with a pointer to the entry and the\nprovided `payload`: if the callback returns 1, the\nentry will be filtered (removed from the builder).\n","group":"treebuilder"},"git_treebuilder_write":{"type":"function","file":"tree.h","line":262,"lineto":262,"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 on success; error code otherwise"},"description":"Write the contents of the tree builder as a tree object","comments":"The tree builder will be written to the given `repo`, and\nit's identifying SHA1 hash will be stored in the `oid`\npointer.\n","group":"treebuilder"},"git_odb_new":{"type":"function","file":"odb.h","line":53,"lineto":53,"args":[{"name":"out","type":"git_odb **","comment":"location to store the database pointer, if opened. Set to NULL if the open failed."}],"argline":"git_odb **out","sig":"git_odb **","return":{"type":"int","comment":"GIT_SUCCESS if the database was created; otherwise an error code describing why the open was not possible."},"description":"Create a new object database with no backends.","comments":"Before the ODB can be used for read/writing, a custom database\nbackend must be manually added using `git_odb_add_backend()`\n","group":"odb"},"git_odb_open":{"type":"function","file":"odb.h","line":72,"lineto":72,"args":[{"name":"out","type":"git_odb **","comment":"location to store the database pointer, if opened. Set to NULL if the open failed."},{"name":"objects_dir","type":"const char *","comment":"path of the backends' \"objects\" directory."}],"argline":"git_odb **out, const char *objects_dir","sig":"git_odb **::const char *","return":{"type":"int","comment":"GIT_SUCCESS if the database opened; otherwise an error code describing why the open was not possible."},"description":"Create a new object database and automatically add\nthe two default backends:","comments":"- git_odb_backend_loose: read and write loose object files\n\tfrom disk, assuming `objects_dir` as the Objects folder\n\n- git_odb_backend_pack: read objects from packfiles,\n\tassuming `objects_dir` as the Objects folder which\n\tcontains a 'pack/' folder with the corresponding data\n","group":"odb"},"git_odb_add_backend":{"type":"function","file":"odb.h","line":83,"lineto":83,"args":[{"name":"odb","type":"git_odb *","comment":"database to add the backend to"},{"name":"backend","type":"git_odb_backend *"},{"name":"priority","type":"int"}],"argline":"git_odb *odb, git_odb_backend *backend, int priority","sig":"git_odb *::git_odb_backend *::int","return":{"type":"int","comment":"0 on sucess; error code otherwise"},"description":"Add a custom backend to an existing Object DB","comments":"Read <odb_backends.h> for more information.\n","group":"odb"},"git_odb_add_alternate":{"type":"function","file":"odb.h","line":100,"lineto":100,"args":[{"name":"odb","type":"git_odb *","comment":"database to add the backend to"},{"name":"backend","type":"git_odb_backend *"},{"name":"priority","type":"int"}],"argline":"git_odb *odb, git_odb_backend *backend, int priority","sig":"git_odb *::git_odb_backend *::int","return":{"type":"int","comment":"0 on sucess; error code otherwise"},"description":"Add a custom backend to an existing Object DB; this\nbackend will work as an alternate.","comments":"Alternate backends are always checked for objects *after*\nall the main backends have been exhausted.\n\nWriting is disabled on alternate backends.\n\nRead <odb_backends.h> for more information.\n","group":"odb"},"git_odb_close":{"type":"function","file":"odb.h","line":107,"lineto":107,"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"},"description":"Close an open object database.","comments":"","group":"odb"},"git_odb_read":{"type":"function","file":"odb.h","line":126,"lineto":126,"args":[{"name":"out","type":"git_odb_object **","comment":"pointer where to store the read object"},{"name":"db","type":"git_odb *","comment":"database to search for the object in."},{"name":"id","type":"const git_oid *","comment":"identity of the object to read."}],"argline":"git_odb_object **out, git_odb *db, const git_oid *id","sig":"git_odb_object **::git_odb *::const git_oid *","return":{"type":"int","comment":"- GIT_SUCCESS if the object was read; - GIT_ENOTFOUND if the object is not in the database."},"description":"Read an object from the database.","comments":"This method queries all avaiable ODB backends\ntrying to read the given OID.\n\nThe returned object is reference counted and\ninternally cached, so it should be closed\nby the user once it's no longer in use.\n","group":"odb"},"git_odb_read_header":{"type":"function","file":"odb.h","line":146,"lineto":146,"args":[{"name":"len_p","type":"size_t *","comment":"pointer where to store the length"},{"name":"type_p","type":"git_otype *","comment":"pointer where to store the type"},{"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":"size_t *len_p, git_otype *type_p, git_odb *db, const git_oid *id","sig":"size_t *::git_otype *::git_odb *::const git_oid *","return":{"type":"int","comment":"- GIT_SUCCESS if the object was read; - GIT_ENOTFOUND if the object is not in the database."},"description":"Read the header of an object from the database, without\nreading its full contents.","comments":"The header includes the length and the type of an object.\n\nNote that most backends do not support reading only the header\nof an object, so the whole object will be read and then the\nheader will be returned.\n","group":"odb"},"git_odb_exists":{"type":"function","file":"odb.h","line":157,"lineto":157,"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 - 0, otherwise"},"description":"Determine if the given object can be found in the object database.","comments":"","group":"odb"},"git_odb_write":{"type":"function","file":"odb.h","line":177,"lineto":177,"args":[{"name":"oid","type":"git_oid *","comment":"pointer to store the OID result of the write"},{"name":"odb","type":"git_odb *","comment":"object database where to store the object"},{"name":"data","type":"const void *","comment":"buffer with the data to storr"},{"name":"len","type":"size_t","comment":"size of the buffer"},{"name":"type","type":"git_otype","comment":"type of the data to store"}],"argline":"git_oid *oid, git_odb *odb, const void *data, size_t len, git_otype type","sig":"git_oid *::git_odb *::const void *::size_t::git_otype","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Write an object directly into the ODB","comments":"This method writes a full object straight into the ODB.\nFor most cases, it is preferred to write objects through a write\nstream, which is both faster and less memory intensive, specially\nfor big objects.\n\nThis method is provided for compatibility with custom backends\nwhich are not able to support streaming writes\n","group":"odb"},"git_odb_open_wstream":{"type":"function","file":"odb.h","line":206,"lineto":206,"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 write"},{"name":"size","type":"size_t","comment":"final size of the object that will be written"},{"name":"type","type":"git_otype","comment":"type of the object that will be written"}],"argline":"git_odb_stream **stream, git_odb *db, size_t size, git_otype type","sig":"git_odb_stream **::git_odb *::size_t::git_otype","return":{"type":"int","comment":"0 if the stream was created; error code otherwise"},"description":"Open a stream to write an object into the ODB","comments":"The type and final length of the object must be specified\nwhen opening the stream.\n\nThe returned stream will be of type `GIT_STREAM_WRONLY` and\nwill have the following methods:\n\n\t- stream->write: write `n` bytes into the stream\n\t- stream->finalize_write: close the stream and store the object in\n\t\tthe odb\n\t- stream->free: free the stream\n\nThe streaming write won't be effective until `stream->finalize_write`\nis called and returns without an error\n\nThe stream must always be free'd or will leak memory.\n\n@see git_odb_stream\n","group":"odb"},"git_odb_open_rstream":{"type":"function","file":"odb.h","line":232,"lineto":232,"args":[{"name":"stream","type":"git_odb_stream **","comment":"pointer where to store the stream"},{"name":"db","type":"git_odb *","comment":"object database where the stream will read from"},{"name":"oid","type":"const git_oid *","comment":"oid of the object the stream will read from"}],"argline":"git_odb_stream **stream, git_odb *db, const git_oid *oid","sig":"git_odb_stream **::git_odb *::const git_oid *","return":{"type":"int","comment":"0 if the stream was created; error code otherwise"},"description":"Open a stream to read an object from the ODB","comments":"Note that most backends do *not* support streaming reads\nbecause they store their objects as compressed/delta'ed blobs.\n\nIt's recommended to use `git_odb_read` instead, which is\nassured to work on all backends.\n\nThe returned stream will be of type `GIT_STREAM_RDONLY` and\nwill have the following methods:\n\n\t- stream->read: read `n` bytes from the stream\n\t- stream->free: free the stream\n\nThe stream must always be free'd or will leak memory.\n\n@see git_odb_stream\n","group":"odb"},"git_odb_hash":{"type":"function","file":"odb.h","line":246,"lineto":246,"args":[{"name":"id","type":"git_oid *","comment":"the resulting object-ID."},{"name":"data","type":"const void *","comment":"data to hash"},{"name":"len","type":"size_t","comment":"size of the data"},{"name":"type","type":"git_otype","comment":"of the data to hash"}],"argline":"git_oid *id, const void *data, size_t len, git_otype type","sig":"git_oid *::const void *::size_t::git_otype","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Determine the object-ID (sha1 hash) of a data buffer","comments":"The resulting SHA-1 OID will the itentifier for the data\nbuffer as if the data buffer it were to written to the ODB.\n","group":"odb"},"git_odb_object_close":{"type":"function","file":"odb.h","line":256,"lineto":256,"args":[{"name":"object","type":"git_odb_object *","comment":"object to close"}],"argline":"git_odb_object *object","sig":"git_odb_object *","return":{"type":"void"},"description":"Close an ODB object","comments":"This method must always be called once a `git_odb_object` is no\nlonger needed, otherwise memory will leak.\n","group":"odb"},"git_odb_object_id":{"type":"function","file":"odb.h","line":266,"lineto":266,"args":[{"name":"object","type":"git_odb_object *","comment":"the object"}],"argline":"git_odb_object *object","sig":"git_odb_object *","return":{"type":"const git_oid *","comment":"a pointer to the OID"},"description":"Return the OID of an ODB object","comments":"This is the OID from which the object was read from\n","group":"odb"},"git_odb_object_data":{"type":"function","file":"odb.h","line":279,"lineto":279,"args":[{"name":"object","type":"git_odb_object *","comment":"the object"}],"argline":"git_odb_object *object","sig":"git_odb_object *","return":{"type":"const void *","comment":"a pointer to the data"},"description":"Return the data of an ODB object","comments":"This is the uncompressed, raw data as read from the ODB,\nwithout the leading header.\n\nThis pointer is owned by the object and shall not be free'd.\n","group":"odb"},"git_odb_object_size":{"type":"function","file":"odb.h","line":290,"lineto":290,"args":[{"name":"object","type":"git_odb_object *","comment":"the object"}],"argline":"git_odb_object *object","sig":"git_odb_object *","return":{"type":"size_t","comment":"the size"},"description":"Return the size of an ODB object","comments":"This is the real size of the `data` buffer, not the\nactual size of the object.\n","group":"odb"},"git_odb_object_type":{"type":"function","file":"odb.h","line":298,"lineto":298,"args":[{"name":"object","type":"git_odb_object *","comment":"the object"}],"argline":"git_odb_object *object","sig":"git_odb_object *","return":{"type":"git_otype","comment":"the type"},"description":"Return the type of an ODB object","comments":"","group":"odb"},"git_oid_mkstr":{"type":"function","file":"oid.h","line":60,"lineto":60,"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 the hex sequence and have at least the number of bytes needed for an oid encoded in hex (40 bytes)."}],"argline":"git_oid *out, const char *str","sig":"git_oid *::const char *","return":{"type":"int","comment":"GIT_SUCCESS if valid; GIT_ENOTOID on failure."},"description":"Parse a hex formatted object id into a git_oid.\n@param out oid structure the result is written into.\n@param str input hex string; must be pointing at the start of\n the hex sequence and have at least the number of bytes\n needed for an oid encoded in hex (40 bytes).\n@return GIT_SUCCESS if valid; GIT_ENOTOID on failure.","comments":"","group":"oid"},"git_oid_mkraw":{"type":"function","file":"oid.h","line":67,"lineto":67,"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"},"description":"Copy an already raw oid into a git_oid structure.\n@param out oid structure the result is written into.\n@param raw the raw input bytes to be copied.","comments":"","group":"oid"},"git_oid_fmt":{"type":"function","file":"oid.h","line":78,"lineto":78,"args":[{"name":"str","type":"char *","comment":"output hex string; must be pointing at the start of the hex sequence and have at least the number of bytes needed for an oid encoded in hex (40 bytes). Only the oid digits are written; a '\\\\0' terminator must be added by 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"},"description":"Format a git_oid into a hex string.\n@param str output hex string; must be pointing at the start of\n the hex sequence and have at least the number of bytes\n needed for an oid encoded in hex (40 bytes). Only the\n oid digits are written; a '\\\\0' terminator must be added\n by the caller if it is required.\n@param oid oid structure to format.","comments":"","group":"oid"},"git_oid_pathfmt":{"type":"function","file":"oid.h","line":93,"lineto":93,"args":[{"name":"str","type":"char *","comment":"output hex string; must be pointing at the start of the hex sequence and have at least the number of bytes needed for an oid encoded in hex (41 bytes). Only the oid digits are written; a '\\\\0' terminator must be added by 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"},"description":"Format a git_oid into a loose-object path string.\n<p>\nThe resulting string is \"aa/...\", where \"aa\" is the first two\nhex digitis of the oid and \"...\" is the remaining 38 digits.","comments":"","group":"oid"},"git_oid_allocfmt":{"type":"function","file":"oid.h","line":101,"lineto":101,"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 deallocate the string with free()."},"description":"Format a gid_oid into a newly allocated c-string.\n@param oid the oid structure to format\n@return the c-string; NULL if memory is exhausted. Caller must\n deallocate the string with free().","comments":"","group":"oid"},"git_oid_to_string":{"type":"function","file":"oid.h","line":118,"lineto":118,"args":[{"name":"out","type":"char *","comment":"the buffer into which the oid string is output."},{"name":"n","type":"size_t","comment":"the size of the out buffer."},{"name":"oid","type":"const git_oid *","comment":"the oid structure to format."}],"argline":"char *out, size_t n, const git_oid *oid","sig":"char *::size_t::const git_oid *","return":{"type":"char *","comment":"the out buffer pointer, assuming no input parameter errors, otherwise a pointer to an empty string."},"description":"Format a git_oid into a buffer as a hex format c-string.\n<p>\nIf the buffer is smaller than GIT_OID_HEXSZ+1, then the resulting\noid c-string will be truncated to n-1 characters. If there are\nany input parameter errors (out == NULL, n == 0, oid == NULL),\nthen a pointer to an empty string is returned, so that the return\nvalue can always be printed.","comments":"","group":"oid"},"git_oid_cpy":{"type":"function","file":"oid.h","line":125,"lineto":125,"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"},"description":"Copy an oid from one structure to another.\n@param out oid structure the result is written into.\n@param src oid structure to copy from.","comments":"","group":"oid"},"git_oid_cmp":{"type":"function","file":"oid.h","line":133,"lineto":133,"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":"<0, 0, >0 if a < b, a == b, a > b."},"description":"Compare two oid structures.\n@param a first oid structure.\n@param b second oid structure.\n@return <0, 0, >0 if a < b, a == b, a > b.","comments":"","group":"oid"},"git_oid_shorten_new":{"type":"function","file":"oid.h","line":154,"lineto":154,"args":[{"name":"min_length","type":"size_t","comment":"The minimal length for all identifiers, which will be used even if shorter OIDs would still be unique."}],"argline":"size_t min_length","sig":"size_t","return":{"type":"git_oid_shorten *","comment":"a `git_oid_shorten` instance, NULL if OOM"},"description":"Create a new OID shortener.","comments":"The OID shortener is used to process a list of OIDs\nin text form and return the shortest length that would\nuniquely identify all of them.\n\nE.g. look at the result of `git log --abbrev`.\n","group":"oid"},"git_oid_shorten_add":{"type":"function","file":"oid.h","line":180,"lineto":180,"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 added so far to the set; or an error code (<0) if an error occurs."},"description":"Add a new OID to set of shortened OIDs and calculate\nthe minimal length to uniquely identify all the OIDs in\nthe set.","comments":"The OID is expected to be a 40-char hexadecimal string.\nThe OID is owned by the user and will not be modified\nor freed.\n\nFor performance reasons, there is a hard-limit of how many\nOIDs can be added to a single set (around ~22000, assuming\na mostly randomized distribution), which should be enough\nfor any kind of program, and keeps the algorithm fast and\nmemory-efficient.\n\nAttempting to add more than those OIDs will result in a\nGIT_ENOMEM error\n","group":"oid"},"git_oid_shorten_free":{"type":"function","file":"oid.h","line":187,"lineto":187,"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"},"description":"Free an OID shortener instance","comments":"","group":"oid"},"git_lasterror":{"type":"function","file":"errors.h","line":133,"lineto":133,"args":[],"argline":"void","sig":"","return":{"type":"const char *","comment":"a string explaining the error"},"description":"Return a detailed error string with the latest error\nthat occurred in the library.\n@return a string explaining the error","comments":"","group":"errors"},"git_strerror":{"type":"function","file":"errors.h","line":145,"lineto":145,"args":[{"name":"num","type":"int","comment":"The error code to explain"}],"argline":"int num","sig":"int","return":{"type":"const char *","comment":"a string explaining the error code"},"description":"strerror() for the Git library","comments":"Get a string description for a given error code.\nNOTE: This method will be eventually deprecated in favor\nof the new `git_lasterror`.\n","group":"errors"},"git_revwalk_new":{"type":"function","file":"revwalk.h","line":88,"lineto":88,"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 on success; error code otherwise"},"description":"Allocate a new revision walker to iterate through a repo.","comments":"This revision walker uses a custom memory pool and an internal\ncommit cache, so it is relatively expensive to allocate.\n\nFor maximum performance, this revision walker should be\nreused for different walks.\n\nThis revision walker is *not* thread safe: it may only be\nused to walk a repository on a single thread; however,\nit is possible to have several revision walkers in\nseveral different threads walking the same repository.\n","group":"revwalk"},"git_revwalk_reset":{"type":"function","file":"revwalk.h","line":103,"lineto":103,"args":[{"name":"walker","type":"git_revwalk *","comment":"handle to reset."}],"argline":"git_revwalk *walker","sig":"git_revwalk *","return":{"type":"void"},"description":"Reset the revision walker for reuse.","comments":"This will clear all the pushed and hidden commits, and\nleave the walker in a blank state (just like at\ncreation) ready to receive new commit pushes and\nstart a new walk.\n\nThe revision walk is automatically reset when a walk\nis over.\n","group":"revwalk"},"git_revwalk_push":{"type":"function","file":"revwalk.h","line":120,"lineto":120,"args":[{"name":"walk","type":"git_revwalk *","comment":"er 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 on success; error code otherwise"},"description":"Mark a commit to start traversal from.","comments":"The given OID must belong to a commit on the walked\nrepository.\n\nThe given commit will be used as one of the roots\nwhen starting the revision walk. At least one commit\nmust be pushed the repository before a walk can\nbe started.\n","group":"revwalk"},"git_revwalk_hide":{"type":"function","file":"revwalk.h","line":136,"lineto":136,"args":[{"name":"walk","type":"git_revwalk *","comment":"er the walker being used for the traversal."},{"name":"oid","type":"const git_oid *"}],"argline":"git_revwalk *walk, const git_oid *oid","sig":"git_revwalk *::const git_oid *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Mark a commit (and its ancestors) uninteresting for the output.","comments":"The given OID must belong to a commit on the walked\nrepository.\n\nThe resolved commit and all its parents will be hidden from the\noutput on the revision walk.\n","group":"revwalk"},"git_revwalk_next":{"type":"function","file":"revwalk.h","line":156,"lineto":156,"args":[{"name":"oid","type":"git_oid *","comment":"Pointer where to store the oid of the next commit"},{"name":"walk","type":"git_revwalk *","comment":"the walker to pop the commit from."}],"argline":"git_oid *oid, git_revwalk *walk","sig":"git_oid *::git_revwalk *","return":{"type":"int","comment":"GIT_SUCCESS if the next commit was found; GIT_EREVWALKOVER if there are no commits left to iterate"},"description":"Get the next commit from the revision walk.","comments":"The initial call to this method is *not* blocking when\niterating through a repo with a time-sorting mode.\n\nIterating with Topological or inverted modes makes the initial\ncall blocking to preprocess the commit list, but this block should be\nmostly unnoticeable on most repositories (topological preprocessing\ntimes at 0.3s on the git.git repo).\n\nThe revision walker is reset when the walk is over.\n","group":"revwalk"},"git_revwalk_sorting":{"type":"function","file":"revwalk.h","line":167,"lineto":167,"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"},"description":"Change the sorting mode when iterating through the\nrepository's contents.","comments":"Changing the sorting mode resets the walker.\n","group":"revwalk"},"git_revwalk_free":{"type":"function","file":"revwalk.h","line":174,"lineto":174,"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"},"description":"Free a revision walker previously allocated.","comments":"","group":"revwalk"},"git_revwalk_repository":{"type":"function","file":"revwalk.h","line":183,"lineto":183,"args":[{"name":"walk","type":"git_revwalk *","comment":"the revision walker"}],"argline":"git_revwalk *walk","sig":"git_revwalk *","return":{"type":"git_repository *","comment":"the repository being walked"},"description":"Return the repository on which this walker\nis operating.","comments":"","group":"revwalk"},"git_object_lookup":{"type":"function","file":"object.h","line":59,"lineto":59,"args":[{"name":"object","type":"git_object **","comment":"pointer to the looked-up object"},{"name":"repo","type":"git_repository *","comment":"the repository to look up the object"},{"name":"id","type":"const git_oid *","comment":"the unique identifier for the object"},{"name":"type","type":"git_otype","comment":"the type of the object"}],"argline":"git_object **object, git_repository *repo, const git_oid *id, git_otype type","sig":"git_object **::git_repository *::const git_oid *::git_otype","return":{"type":"int","comment":"a reference to the object"},"description":"Lookup a reference to one of the objects in a repostory.","comments":"The generated reference is owned by the repository and\nshould be closed with the `git_object_close` method\ninstead of free'd manually.\n\nThe 'type' parameter must match the type of the object\nin the odb; the method will fail otherwise.\nThe special value 'GIT_OBJ_ANY' may be passed to let\nthe method guess the object's type.\n","group":"object"},"git_object_id":{"type":"function","file":"object.h","line":67,"lineto":67,"args":[{"name":"obj","type":"const git_object *","comment":"the repository object"}],"argline":"const git_object *obj","sig":"const git_object *","return":{"type":"const git_oid *","comment":"the SHA1 id"},"description":"Get the id (SHA1) of a repository object","comments":"","group":"object"},"git_object_type":{"type":"function","file":"object.h","line":75,"lineto":75,"args":[{"name":"obj","type":"const git_object *","comment":"the repository object"}],"argline":"const git_object *obj","sig":"const git_object *","return":{"type":"git_otype","comment":"the object's type"},"description":"Get the object type of an object","comments":"","group":"object"},"git_object_owner":{"type":"function","file":"object.h","line":83,"lineto":83,"args":[{"name":"obj","type":"const git_object *","comment":"the object"}],"argline":"const git_object *obj","sig":"const git_object *","return":{"type":"git_repository *","comment":"the repository who owns this object"},"description":"Get the repository that owns this object","comments":"","group":"object"},"git_object_close":{"type":"function","file":"object.h","line":100,"lineto":100,"args":[{"name":"object","type":"git_object *","comment":"the object to close"}],"argline":"git_object *object","sig":"git_object *","return":{"type":"void"},"description":"Close an open object","comments":"This method instructs the library to close an existing\nobject; note that git_objects are owned and cached by the repository\nso the object may or may not be freed after this library call,\ndepending on how agressive is the caching mechanism used\nby the repository.\n\nIMPORTANT:\nIt *is* necessary to call this method when you stop using\nan object. Failure to do so will cause a memory leak.\n","group":"object"},"git_object_type2string":{"type":"function","file":"object.h","line":111,"lineto":111,"args":[{"name":"type","type":"git_otype","comment":"object type to convert."}],"argline":"git_otype type","sig":"git_otype","return":{"type":"const char *","comment":"the corresponding string representation."},"description":"Convert an object type to it's string representation.","comments":"The result is a pointer to a string in static memory and\nshould not be free()'ed.\n","group":"object"},"git_object_string2type":{"type":"function","file":"object.h","line":119,"lineto":119,"args":[{"name":"str","type":"const char *","comment":"the string to convert."}],"argline":"const char *str","sig":"const char *","return":{"type":"git_otype","comment":"the corresponding git_otype."},"description":"Convert a string object type representation to it's git_otype.","comments":"","group":"object"},"git_object_typeisloose":{"type":"function","file":"object.h","line":128,"lineto":128,"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, false otherwise."},"description":"Determine if the given git_otype is a valid loose object type.","comments":"","group":"object"},"git_object__size":{"type":"function","file":"object.h","line":142,"lineto":142,"args":[{"name":"type","type":"git_otype","comment":"object type to get its size"}],"argline":"git_otype type","sig":"git_otype","return":{"type":"size_t","comment":"size in bytes of the object"},"description":"Get the size in bytes for the structure which\nacts as an in-memory representation of any given\nobject type.","comments":"For all the core types, this would the equivalent\nof calling `sizeof(git_commit)` if the core types\nwere not opaque on the external API.\n","group":"object"},"git_reference_lookup":{"type":"function","file":"refs.h","line":52,"lineto":52,"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 on success; error code otherwise"},"description":"Lookup a reference by its name in a repository.","comments":"The generated reference is owned by the repository and\nshould not be freed by the user.\n","group":"reference"},"git_reference_create_symbolic":{"type":"function","file":"refs.h","line":69,"lineto":69,"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"}],"argline":"git_reference **ref_out, git_repository *repo, const char *name, const char *target","sig":"git_reference **::git_repository *::const char *::const char *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Create a new symbolic reference.","comments":"The reference will be created in the repository and written\nto the disk.\n\nThis reference is owned by the repository and shall not\nbe free'd by the user.\n","group":"reference"},"git_reference_create_symbolic_f":{"type":"function","file":"refs.h","line":90,"lineto":90,"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"}],"argline":"git_reference **ref_out, git_repository *repo, const char *name, const char *target","sig":"git_reference **::git_repository *::const char *::const char *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Create a new symbolic reference, overwriting an existing one with\nthe same name, if it exists.","comments":"If the new reference isn't a symbolic one, any pointers to the old\nreference become invalid.\n\nThe reference will be created in the repository and written\nto the disk.\n\nThis reference is owned by the repository and shall not\nbe free'd by the user.\n","group":"reference"},"git_reference_create_oid":{"type":"function","file":"refs.h","line":107,"lineto":107,"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."}],"argline":"git_reference **ref_out, git_repository *repo, const char *name, const git_oid *id","sig":"git_reference **::git_repository *::const char *::const git_oid *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Create a new object id reference.","comments":"The reference will be created in the repository and written\nto the disk.\n\nThis reference is owned by the repository and shall not\nbe free'd by the user.\n","group":"reference"},"git_reference_create_oid_f":{"type":"function","file":"refs.h","line":128,"lineto":128,"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."}],"argline":"git_reference **ref_out, git_repository *repo, const char *name, const git_oid *id","sig":"git_reference **::git_repository *::const char *::const git_oid *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Create a new object id reference, overwriting an existing one with\nthe same name, if it exists.","comments":"If the new reference isn't an object id one, any pointers to the\nold reference become invalid.\n\nThe reference will be created in the repository and written\nto the disk.\n\nThis reference is owned by the repository and shall not\nbe free'd by the user.\n","group":"reference"},"git_reference_oid":{"type":"function","file":"refs.h","line":138,"lineto":138,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"const git_oid *","comment":"a pointer to the oid if available, NULL otherwise"},"description":"Get the OID pointed to by a reference.","comments":"Only available if the reference is direct (i.e. not symbolic)\n","group":"reference"},"git_reference_target":{"type":"function","file":"refs.h","line":148,"lineto":148,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"const char *","comment":"a pointer to the name if available, NULL otherwise"},"description":"Get full name to the reference pointed by this reference","comments":"Only available if the reference is symbolic\n","group":"reference"},"git_reference_type":{"type":"function","file":"refs.h","line":158,"lineto":158,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"git_rtype","comment":"the type"},"description":"Get the type of a reference","comments":"Either direct (GIT_REF_OID) or symbolic (GIT_REF_SYMBOLIC)\n","group":"reference"},"git_reference_name":{"type":"function","file":"refs.h","line":166,"lineto":166,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"const char *","comment":"the full name for the ref"},"description":"Get the full name of a reference","comments":"","group":"reference"},"git_reference_resolve":{"type":"function","file":"refs.h","line":181,"lineto":181,"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 on success; error code otherwise"},"description":"Resolve a symbolic reference","comments":"Thie method iteratively peels a symbolic reference\nuntil it resolves to a direct reference to an OID.\n\nIf a direct reference is passed as an argument,\nthat reference is returned immediately\n","group":"reference"},"git_reference_owner":{"type":"function","file":"refs.h","line":189,"lineto":189,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"git_repository *","comment":"a pointer to the repo"},"description":"Get the repository where a reference resides","comments":"","group":"reference"},"git_reference_set_target":{"type":"function","file":"refs.h","line":204,"lineto":204,"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 on success; error code otherwise"},"description":"Set the symbolic target of a reference.","comments":"The reference must be a symbolic reference, otherwise\nthis method will fail.\n\nThe reference will be automatically updated in\nmemory and on disk.\n","group":"reference"},"git_reference_set_oid":{"type":"function","file":"refs.h","line":219,"lineto":219,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"},{"name":"id","type":"const git_oid *"}],"argline":"git_reference *ref, const git_oid *id","sig":"git_reference *::const git_oid *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Set the OID target of a reference.","comments":"The reference must be a direct reference, otherwise\nthis method will fail.\n\nThe reference will be automatically updated in\nmemory and on disk.\n","group":"reference"},"git_reference_rename":{"type":"function","file":"refs.h","line":232,"lineto":232,"args":[{"name":"ref","type":"git_reference *"},{"name":"new_name","type":"const char *"}],"argline":"git_reference *ref, const char *new_name","sig":"git_reference *::const char *","return":{"type":"int"},"description":"Rename an existing reference","comments":"This method works for both direct and symbolic references.\nThe new name will be checked for validity and may be\nmodified into a normalized form.\n\nThe refernece will be immediately renamed in-memory\nand on disk.","group":"reference"},"git_reference_rename_f":{"type":"function","file":"refs.h","line":246,"lineto":246,"args":[{"name":"ref","type":"git_reference *"},{"name":"new_name","type":"const char *"}],"argline":"git_reference *ref, const char *new_name","sig":"git_reference *::const char *","return":{"type":"int"},"description":"Rename an existing reference, overwriting an existing one with the\nsame name, if it exists.","comments":"This method works for both direct and symbolic references.\nThe new name will be checked for validity and may be\nmodified into a normalized form.\n\nThe refernece will be immediately renamed in-memory\nand on disk.","group":"reference"},"git_reference_delete":{"type":"function","file":"refs.h","line":257,"lineto":257,"args":[{"name":"ref","type":"git_reference *"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"int"},"description":"Delete an existing reference","comments":"This method works for both direct and symbolic references.\n\nThe reference will be immediately removed on disk and from\nmemory. The given reference pointer will no longer be valid.","group":"reference"},"git_reference_packall":{"type":"function","file":"refs.h","line":275,"lineto":275,"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 on success; error code otherwise"},"description":"Pack all the loose references in the repository","comments":"This method will load into the cache all the loose\nreferences on the repository and update the \n`packed-refs` file with them.\n\nOnce the `packed-refs` file has been written properly,\nthe loose references will be removed from disk.\n\nWARNING: calling this method may invalidate any existing\nreferences previously loaded on the cache.\n","group":"reference"},"git_reference_listall":{"type":"function","file":"refs.h","line":298,"lineto":298,"args":[{"name":"array","type":"git_strarray *","comment":"Pointer to a git_strarray structure where the 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 listing."}],"argline":"git_strarray *array, git_repository *repo, unsigned int list_flags","sig":"git_strarray *::git_repository *::unsigned int","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Fill a list with all the references that can be found\nin a repository.","comments":"The listed references may be filtered by type, or using\na bitwise OR of several types. Use the magic value\n`GIT_REF_LISTALL` to obtain all references, including\npacked ones.\n\nThe string array will be filled with the names of all\nreferences; these values are owned by the user and\nshould be free'd manually when no longer needed, using\n`git_strarray_free`.\n","group":"reference"},"git_reference_listcb":{"type":"function","file":"refs.h","line":321,"lineto":321,"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 listing."},{"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 (*callback)(const char *, void *), void *payload","sig":"git_repository *::unsigned int::int (*)(const char *, void *)::void *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"List all the references in the repository, calling a custom\ncallback for each one.","comments":"The listed references may be filtered by type, or using\na bitwise OR of several types. Use the magic value\n`GIT_REF_LISTALL` to obtain all references, including\npacked ones.\n\nThe `callback` function will be called for each of the references\nin the repository, and will receive the name of the reference and\nthe `payload` value passed to this method.\n","group":"reference"}},"globals":{"GIT_BEGIN_DECL":{"value":"","file":"common.h","line":37,"comments":"Start declarations in C mode"},"GIT_END_DECL":{"value":"","file":"common.h","line":39,"comments":"End declarations in C mode"},"GIT_EXTERN(type)":{"value":"extern __attribute__((visibility(\"default\"))) type","file":"common.h","line":43,"comments":"Declare a public function exported for application use."},"GIT_EXTERN_TLS(type)":{"value":"extern __attribute__((visibility(\"default\"))) GIT_TLS type","file":"common.h","line":54,"comments":"Declare a public TLS symbol exported for application use."},"GIT_INLINE(type)":{"value":"static __inline type","file":"common.h","line":66,"comments":"Declare a function as always inlined."},"GIT_FORMAT_PRINTF(a,b)":{"value":"__attribute__((format (printf, a, b)))","file":"common.h","line":73,"comments":"Declare a function's takes printf style arguments."},"GIT_OID_RAWSZ":{"value":"20","file":"oid.h","line":41,"comments":"Size (in bytes) of a raw/binary oid"},"GIT_OID_HEXSZ":{"value":"(GIT_OID_RAWSZ * 2)","file":"oid.h","line":44,"comments":"Size (in bytes) of a hex formatted oid"},"GIT_SUCCESS":{"value":"0","file":"errors.h","line":37,"comments":"Operation completed successfully."},"GIT_ERROR":{"value":"-1","file":"errors.h","line":45,"comments":"Operation failed, with unspecified reason.\nThis value also serves as the base error code; all other\nerror codes are subtracted from it such that all errors\nare < 0, in typical POSIX C tradition."},"GIT_ENOTOID":{"value":"(GIT_ERROR - 1)","file":"errors.h","line":48,"comments":"Input was not a properly formatted Git object id."},"GIT_ENOTFOUND":{"value":"(GIT_ERROR - 2)","file":"errors.h","line":51,"comments":"Input does not exist in the scope searched."},"GIT_ENOMEM":{"value":"(GIT_ERROR - 3)","file":"errors.h","line":54,"comments":"Not enough space available."},"GIT_EOSERR":{"value":"(GIT_ERROR - 4)","file":"errors.h","line":57,"comments":"Consult the OS error information."},"GIT_EOBJTYPE":{"value":"(GIT_ERROR - 5)","file":"errors.h","line":60,"comments":"The specified object is of invalid type"},"GIT_EOBJCORRUPTED":{"value":"(GIT_ERROR - 6)","file":"errors.h","line":63,"comments":"The specified object has its data corrupted"},"GIT_ENOTAREPO":{"value":"(GIT_ERROR - 7)","file":"errors.h","line":66,"comments":"The specified repository is invalid"},"GIT_EINVALIDTYPE":{"value":"(GIT_ERROR - 8)","file":"errors.h","line":69,"comments":"The object type is invalid or doesn't match"},"GIT_EMISSINGOBJDATA":{"value":"(GIT_ERROR - 9)","file":"errors.h","line":72,"comments":"The object cannot be written because it's missing internal data"},"GIT_EPACKCORRUPTED":{"value":"(GIT_ERROR - 10)","file":"errors.h","line":75,"comments":"The packfile for the ODB is corrupted"},"GIT_EFLOCKFAIL":{"value":"(GIT_ERROR - 11)","file":"errors.h","line":78,"comments":"Failed to acquire or release a file lock"},"GIT_EZLIB":{"value":"(GIT_ERROR - 12)","file":"errors.h","line":81,"comments":"The Z library failed to inflate/deflate an object's data"},"GIT_EBUSY":{"value":"(GIT_ERROR - 13)","file":"errors.h","line":84,"comments":"The queried object is currently busy"},"GIT_EBAREINDEX":{"value":"(GIT_ERROR - 14)","file":"errors.h","line":87,"comments":"The index file is not backed up by an existing repository"},"GIT_EINVALIDREFNAME":{"value":"(GIT_ERROR - 15)","file":"errors.h","line":90,"comments":"The name of the reference is not valid"},"GIT_EREFCORRUPTED":{"value":"(GIT_ERROR - 16)","file":"errors.h","line":93,"comments":"The specified reference has its data corrupted"},"GIT_ETOONESTEDSYMREF":{"value":"(GIT_ERROR - 17)","file":"errors.h","line":96,"comments":"The specified symbolic reference is too deeply nested"},"GIT_EPACKEDREFSCORRUPTED":{"value":"(GIT_ERROR - 18)","file":"errors.h","line":99,"comments":"The pack-refs file is either corrupted or its format is not currently supported"},"GIT_EINVALIDPATH":{"value":"(GIT_ERROR - 19)","file":"errors.h","line":102,"comments":"The path is invalid"},"GIT_EREVWALKOVER":{"value":"(GIT_ERROR - 20)","file":"errors.h","line":105,"comments":"The revision walker is empty; there are no more commits left to iterate"},"GIT_EINVALIDREFSTATE":{"value":"(GIT_ERROR - 21)","file":"errors.h","line":108,"comments":"The state of the reference is not valid"},"GIT_ENOTIMPLEMENTED":{"value":"(GIT_ERROR - 22)","file":"errors.h","line":111,"comments":"This feature has not been implemented yet"},"GIT_EEXISTS":{"value":"(GIT_ERROR - 23)","file":"errors.h","line":114,"comments":"A reference with this name already exists"},"GIT_EOVERFLOW":{"value":"(GIT_ERROR - 24)","file":"errors.h","line":117,"comments":"The given integer literal is too large to be parsed"},"GIT_ENOTNUM":{"value":"(GIT_ERROR - 25)","file":"errors.h","line":120,"comments":"The given literal is not a valid number"},"GIT_ESTREAM":{"value":"(GIT_ERROR - 26)","file":"errors.h","line":123,"comments":"Streaming error"},"GIT_EINVALIDARGS":{"value":"(GIT_ERROR - 27)","file":"errors.h","line":126,"comments":"invalid arguments to function"},"GIT_SORT_NONE":{"value":"(0)","file":"revwalk.h","line":47,"comments":"Sort the repository contents in no particular ordering;\nthis sorting is arbitrary, implementation-specific\nand subject to change at any time.\nThis is the default sorting for new walkers."},"GIT_SORT_TOPOLOGICAL":{"value":"(1 << 0)","file":"revwalk.h","line":54,"comments":"Sort the repository contents in topological order\n(parents before children); this sorting mode\ncan be combined with time sorting."},"GIT_SORT_TIME":{"value":"(1 << 1)","file":"revwalk.h","line":61,"comments":"Sort the repository contents by commit time;\nthis sorting mode can be combined with\ntopological sorting."},"GIT_SORT_REVERSE":{"value":"(1 << 2)","file":"revwalk.h","line":68,"comments":"Iterate through the repository contents in reverse\norder; this sorting mode can be combined with\nany of the above."}},"types":[["git_blob",{"type":"struct","value":"git_blob","file":"types.h","line":116,"lineto":116,"block":"","tdef":"typedef","comments":"In-memory representation of a blob object.","used":{"returns":[],"needs":["git_blob_close","git_blob_lookup","git_blob_rawcontent","git_blob_rawsize"]}}],["git_commit",{"type":"struct","value":"git_commit","file":"types.h","line":119,"lineto":119,"block":"","tdef":"typedef","comments":"Parsed representation of a commit object.","used":{"returns":[],"needs":["git_commit_author","git_commit_close","git_commit_committer","git_commit_create_o","git_commit_id","git_commit_lookup","git_commit_message","git_commit_message_short","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_index",{"type":"struct","value":"git_index","file":"types.h","line":131,"lineto":131,"block":"","tdef":"typedef","comments":"Memory representation of an index file.","used":{"returns":[],"needs":["git_index_add","git_index_add2","git_index_append","git_index_append2","git_index_clear","git_index_entrycount","git_index_find","git_index_free","git_index_get","git_index_open_bare","git_index_open_inrepo","git_index_read","git_index_remove","git_index_write","git_repository_index","git_tree_create_fromindex"]}}],["git_index_entry",{"type":"struct","value":"git_index_entry","file":"index.h","line":85,"lineto":102,"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","comments":"Memory representation of a file entry in the index.","used":{"returns":["git_index_get"],"needs":["git_index_add2","git_index_append2"]}}],["git_index_time",{"type":"struct","value":"git_index_time","file":"index.h","line":78,"lineto":82,"block":"git_time_t seconds\nunsigned int nanoseconds","tdef":"typedef","comments":"Time used in a git index entry","used":{"returns":[],"needs":[]}}],["git_object",{"type":"struct","value":"git_object","file":"types.h","line":107,"lineto":107,"block":"","tdef":"typedef","comments":"Representation of a generic object in a repository","used":{"returns":[],"needs":["git_object_close","git_object_id","git_object_lookup","git_object_owner","git_object_type","git_tag_create_fo","git_tag_create_o","git_tag_target","git_tree_entry_2object"]}}],["git_odb",{"type":"struct","value":"git_odb","file":"types.h","line":89,"lineto":89,"block":"","tdef":"typedef","comments":"An open object database handle.","used":{"returns":["git_repository_database"],"needs":["git_odb_add_alternate","git_odb_add_backend","git_odb_close","git_odb_exists","git_odb_new","git_odb_open","git_odb_open_rstream","git_odb_open_wstream","git_odb_read","git_odb_read_header","git_odb_write","git_repository_open3"]}}],["git_odb_backend",{"type":"struct","value":"git_odb_backend","file":"types.h","line":92,"lineto":92,"block":"","tdef":"typedef","comments":"A custom backend in an ODB","used":{"returns":[],"needs":["git_odb_add_alternate","git_odb_add_backend"]}}],["git_odb_object",{"type":"struct","value":"git_odb_object","file":"types.h","line":95,"lineto":95,"block":"","tdef":"typedef","comments":"An object read from the ODB","used":{"returns":[],"needs":["git_odb_object_close","git_odb_object_data","git_odb_object_id","git_odb_object_size","git_odb_object_type","git_odb_read"]}}],["git_odb_stream",{"type":"struct","value":"git_odb_stream","file":"types.h","line":98,"lineto":98,"block":"","tdef":"typedef","comments":"A stream to read/write from the ODB","used":{"returns":[],"needs":["git_odb_open_rstream","git_odb_open_wstream"]}}],["git_odb_streammode",{"type":"enum","file":"odb_backend.h","line":94,"lineto":107,"block":"GIT_STREAM_RDONLY\nGIT_STREAM_WRONLY\nGIT_STREAM_RW","tdef":"typedef","comments":"Streaming mode","used":{"returns":[],"needs":[]}}],["git_oid",{"type":"struct","value":"git_oid","file":"oid.h","line":47,"lineto":50,"block":"unsigned char id[GIT_OID_RAWSZ]","tdef":"typedef","comments":"Unique identity of any object (commit, tree, blob, tag).","used":{"returns":["git_commit_id","git_commit_parent_oid","git_commit_tree_oid","git_object_id","git_odb_object_id","git_reference_oid","git_tag_id","git_tag_target_oid","git_tree_entry_id","git_tree_id"],"needs":["git_blob_create_frombuffer","git_blob_create_fromfile","git_blob_lookup","git_commit_create","git_commit_create_o","git_commit_create_ov","git_commit_create_v","git_commit_lookup","git_object_lookup","git_odb_exists","git_odb_hash","git_odb_open_rstream","git_odb_read","git_odb_read_header","git_odb_write","git_oid_allocfmt","git_oid_cmp","git_oid_cpy","git_oid_fmt","git_oid_mkraw","git_oid_mkstr","git_oid_pathfmt","git_oid_to_string","git_reference_create_oid","git_reference_create_oid_f","git_reference_set_oid","git_revwalk_hide","git_revwalk_next","git_revwalk_push","git_tag_create","git_tag_create_f","git_tag_create_fo","git_tag_create_frombuffer","git_tag_create_o","git_tag_lookup","git_tree_create_fromindex","git_tree_lookup","git_treebuilder_insert","git_treebuilder_write"]}}],["git_oid_shorten",{"type":"struct","value":"git_oid_shorten","file":"oid.h","line":138,"lineto":138,"block":"","tdef":"typedef","comments":"OID Shortener object","used":{"returns":["git_oid_shorten_new"],"needs":["git_oid_shorten_add","git_oid_shorten_free"]}}],["git_otype",{"type":"enum","file":"types.h","line":75,"lineto":86,"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","comments":"Basic type (loose or packed) of any Git object.","used":{"returns":[],"needs":["git_object__size","git_object_lookup","git_object_type2string","git_object_typeisloose","git_odb_hash","git_odb_open_wstream","git_odb_read_header","git_odb_write","git_tag_create","git_tag_create_f"]}}],["git_reference",{"type":"struct","value":"git_reference","file":"types.h","line":147,"lineto":147,"block":"","tdef":"typedef","comments":"In-memory representation of a reference.","used":{"returns":[],"needs":["git_reference_create_oid","git_reference_create_oid_f","git_reference_create_symbolic","git_reference_create_symbolic_f","git_reference_delete","git_reference_lookup","git_reference_name","git_reference_oid","git_reference_owner","git_reference_rename","git_reference_rename_f","git_reference_resolve","git_reference_set_oid","git_reference_set_target","git_reference_target","git_reference_type"]}}],["git_repository",{"type":"struct","value":"git_repository","file":"types.h","line":104,"lineto":104,"block":"","tdef":"typedef","comments":"Representation of an existing git repository,\nincluding all its object contents","used":{"returns":["git_object_owner","git_reference_owner","git_revwalk_repository"],"needs":["git_blob_create_frombuffer","git_blob_create_fromfile","git_blob_lookup","git_commit_create","git_commit_create_o","git_commit_create_ov","git_commit_create_v","git_commit_lookup","git_index_open_inrepo","git_object_lookup","git_reference_create_oid","git_reference_create_oid_f","git_reference_create_symbolic","git_reference_create_symbolic_f","git_reference_listall","git_reference_listcb","git_reference_lookup","git_reference_packall","git_repository_database","git_repository_free","git_repository_index","git_repository_init","git_repository_is_empty","git_repository_open","git_repository_open2","git_repository_open3","git_repository_path","git_repository_workdir","git_revwalk_new","git_tag_create","git_tag_create_f","git_tag_create_fo","git_tag_create_frombuffer","git_tag_create_o","git_tag_delete","git_tag_list","git_tag_lookup","git_tree_entry_2object","git_tree_lookup","git_treebuilder_write"]}}],["git_revwalk",{"type":"struct","value":"git_revwalk","file":"types.h","line":110,"lineto":110,"block":"","tdef":"typedef","comments":"Representation of an in-progress walk through the commits in a repo","used":{"returns":[],"needs":["git_revwalk_free","git_revwalk_hide","git_revwalk_new","git_revwalk_next","git_revwalk_push","git_revwalk_repository","git_revwalk_reset","git_revwalk_sorting"]}}],["git_rtype",{"type":"enum","file":"types.h","line":150,"lineto":157,"block":"GIT_REF_INVALID\nGIT_REF_OID\nGIT_REF_SYMBOLIC\nGIT_REF_PACKED\nGIT_REF_HAS_PEEL\nGIT_REF_LISTALL","tdef":"typedef","comments":"Basic type of any Git reference.","used":{"returns":[],"needs":[]}}],["git_signature",{"type":"struct","value":"git_signature","file":"types.h","line":140,"lineto":144,"block":"char *name\nchar *email\ngit_time when","tdef":"typedef","comments":"An action signature (e.g. for committers, taggers, etc)","used":{"returns":["git_commit_author","git_commit_committer","git_signature_dup","git_signature_new","git_signature_now","git_tag_tagger"],"needs":["git_commit_create","git_commit_create_o","git_commit_create_ov","git_commit_create_v","git_signature_dup","git_signature_free","git_tag_create","git_tag_create_f","git_tag_create_fo","git_tag_create_o"]}}],["git_tag",{"type":"struct","value":"git_tag","file":"types.h","line":113,"lineto":113,"block":"","tdef":"typedef","comments":"Parsed representation of a tag object.","used":{"returns":[],"needs":["git_tag_close","git_tag_id","git_tag_lookup","git_tag_message","git_tag_name","git_tag_tagger","git_tag_target","git_tag_target_oid","git_tag_type"]}}],["git_time",{"type":"struct","value":"git_time","file":"types.h","line":134,"lineto":137,"block":"git_time_t time\nint offset","tdef":"typedef","comments":"Time in a signature","used":{"returns":[],"needs":[]}}],["git_tree",{"type":"struct","value":"git_tree","file":"types.h","line":125,"lineto":125,"block":"","tdef":"typedef","comments":"Representation of a tree object.","used":{"returns":[],"needs":["git_commit_create_o","git_commit_create_ov","git_commit_tree","git_tree_close","git_tree_entry_byindex","git_tree_entry_byname","git_tree_entrycount","git_tree_id","git_tree_lookup","git_treebuilder_create"]}}],["git_tree_entry",{"type":"struct","value":"git_tree_entry","file":"types.h","line":122,"lineto":122,"block":"","tdef":"typedef","comments":"Representation of each one of the entries in a tree object.","used":{"returns":["git_tree_entry_byindex","git_tree_entry_byname","git_treebuilder_get"],"needs":["git_tree_entry_2object","git_tree_entry_attributes","git_tree_entry_id","git_tree_entry_name","git_treebuilder_filter","git_treebuilder_insert"]}}],["git_treebuilder",{"type":"struct","value":"git_treebuilder","file":"types.h","line":128,"lineto":128,"block":"","tdef":"typedef","comments":"Constructor for in-memory trees","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"]}}]],"prefix":"include/git2","groups":[["blob",["git_blob_close","git_blob_create_frombuffer","git_blob_create_fromfile","git_blob_lookup","git_blob_rawcontent","git_blob_rawsize"]],["commit",["git_commit_author","git_commit_close","git_commit_committer","git_commit_create","git_commit_create_o","git_commit_create_ov","git_commit_create_v","git_commit_id","git_commit_lookup","git_commit_message","git_commit_message_short","git_commit_parent","git_commit_parent_oid","git_commit_parentcount","git_commit_time","git_commit_time_offset","git_commit_tree","git_commit_tree_oid"]],["errors",["git_lasterror","git_strerror"]],["index",["git_index_add","git_index_add2","git_index_append","git_index_append2","git_index_clear","git_index_entrycount","git_index_find","git_index_free","git_index_get","git_index_open_bare","git_index_open_inrepo","git_index_read","git_index_remove","git_index_write"]],["object",["git_object__size","git_object_close","git_object_id","git_object_lookup","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_close","git_odb_exists","git_odb_hash","git_odb_new","git_odb_object_close","git_odb_object_data","git_odb_object_id","git_odb_object_size","git_odb_object_type","git_odb_open","git_odb_open_rstream","git_odb_open_wstream","git_odb_read","git_odb_read_header","git_odb_write"]],["oid",["git_oid_allocfmt","git_oid_cmp","git_oid_cpy","git_oid_fmt","git_oid_mkraw","git_oid_mkstr","git_oid_pathfmt","git_oid_shorten_add","git_oid_shorten_free","git_oid_shorten_new","git_oid_to_string"]],["reference",["git_reference_create_oid","git_reference_create_oid_f","git_reference_create_symbolic","git_reference_create_symbolic_f","git_reference_delete","git_reference_listall","git_reference_listcb","git_reference_lookup","git_reference_name","git_reference_oid","git_reference_owner","git_reference_packall","git_reference_rename","git_reference_rename_f","git_reference_resolve","git_reference_set_oid","git_reference_set_target","git_reference_target","git_reference_type"]],["repository",["git_repository_database","git_repository_free","git_repository_index","git_repository_init","git_repository_is_empty","git_repository_open","git_repository_open2","git_repository_open3","git_repository_path","git_repository_workdir"]],["revwalk",["git_revwalk_free","git_revwalk_hide","git_revwalk_new","git_revwalk_next","git_revwalk_push","git_revwalk_repository","git_revwalk_reset","git_revwalk_sorting"]],["signature",["git_signature_dup","git_signature_free","git_signature_new","git_signature_now"]],["tag",["git_tag_close","git_tag_create","git_tag_create_f","git_tag_create_fo","git_tag_create_frombuffer","git_tag_create_o","git_tag_delete","git_tag_id","git_tag_list","git_tag_lookup","git_tag_message","git_tag_name","git_tag_tagger","git_tag_target","git_tag_target_oid","git_tag_type"]],["tree",["git_tree_close","git_tree_create_fromindex","git_tree_entry_2object","git_tree_entry_attributes","git_tree_entry_byindex","git_tree_entry_byname","git_tree_entry_id","git_tree_entry_name","git_tree_entrycount","git_tree_id","git_tree_lookup"]],["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"]],["zlib",["deflateBound"]]]} \ No newline at end of file
+{"files":[{"file":"zlib.h","functions":["deflateBound"],"meta":{"brief":"Git data compression routines","defgroup":"git_zlib Git data compression routines","ingroup":"Git","comments":"\n"},"lines":58},{"file":"types.h","functions":[],"meta":{"brief":"libgit2 base & compatibility types","ingroup":"Git","comments":"\n"},"lines":162},{"file":"tree.h","functions":["git_tree_lookup","git_tree_close","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_2object","git_tree_create_fromindex","git_treebuilder_create","git_treebuilder_clear","git_treebuilder_free","git_treebuilder_get","git_treebuilder_insert","git_treebuilder_remove","git_treebuilder_filter","git_treebuilder_write"],"meta":{"brief":"Git tree parsing, loading routines","defgroup":"git_tree Git tree parsing, loading routines","ingroup":"Git","comments":"\n"},"lines":266},{"file":"thread-utils.h","functions":[],"meta":{},"lines":71},{"file":"tag.h","functions":["git_tag_lookup","git_tag_close","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_o","git_tag_create_frombuffer","git_tag_create_f","git_tag_create_fo","git_tag_delete","git_tag_list"],"meta":{"brief":"Git tag parsing routines","defgroup":"git_tag Git tag management","ingroup":"Git","comments":"\n"},"lines":297},{"file":"signature.h","functions":["git_signature_new","git_signature_now","git_signature_dup","git_signature_free"],"meta":{"brief":"Git signature creation","defgroup":"git_signature Git signature creation","ingroup":"Git","comments":"\n"},"lines":81},{"file":"revwalk.h","functions":["git_revwalk_new","git_revwalk_reset","git_revwalk_push","git_revwalk_hide","git_revwalk_next","git_revwalk_sorting","git_revwalk_free","git_revwalk_repository"],"meta":{"brief":"Git revision traversal routines","defgroup":"git_revwalk Git revision traversal routines","ingroup":"Git","comments":"\n"},"lines":187},{"file":"repository.h","functions":["git_repository_open","git_repository_open2","git_repository_open3","git_repository_database","git_repository_index","git_repository_free","git_repository_init","git_repository_is_empty","git_repository_path","git_repository_workdir"],"meta":{"brief":"Git repository management routines","defgroup":"git_repository Git repository management routines","ingroup":"Git","comments":"\n"},"lines":217},{"file":"refs.h","functions":["git_reference_lookup","git_reference_create_symbolic","git_reference_create_symbolic_f","git_reference_create_oid","git_reference_create_oid_f","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_rename_f","git_reference_delete","git_reference_packall","git_reference_listall","git_reference_listcb"],"meta":{"brief":"Git reference management routines","defgroup":"git_reference Git reference management routines","ingroup":"Git","comments":"\n"},"lines":325},{"file":"oid.h","functions":["git_oid_mkstr","git_oid_mkraw","git_oid_fmt","git_oid_pathfmt","git_oid_allocfmt","git_oid_to_string","git_oid_cpy","git_oid_cmp","git_oid_shorten_new","git_oid_shorten_add","git_oid_shorten_free"],"meta":{"brief":"Git object id routines","defgroup":"git_oid Git object id routines","ingroup":"Git","comments":"\n"},"lines":191},{"file":"odb_backend.h","functions":[],"meta":{"brief":"Git custom backend functions","defgroup":"git_backend Git custom backend API","ingroup":"Git","comments":"\n"},"lines":107},{"file":"odb.h","functions":["git_odb_new","git_odb_open","git_odb_add_backend","git_odb_add_alternate","git_odb_close","git_odb_read","git_odb_read_header","git_odb_exists","git_odb_write","git_odb_open_wstream","git_odb_open_rstream","git_odb_hash","git_odb_object_close","git_odb_object_id","git_odb_object_data","git_odb_object_size","git_odb_object_type"],"meta":{"brief":"Git object database routines","defgroup":"git_odb Git object database routines","ingroup":"Git","comments":"\n"},"lines":302},{"file":"object.h","functions":["git_object_lookup","git_object_id","git_object_type","git_object_owner","git_object_close","git_object_type2string","git_object_string2type","git_object_typeisloose","git_object__size"],"meta":{"brief":"Git revision object management routines","defgroup":"git_object Git revision object management routines","ingroup":"Git","comments":"\n"},"lines":147},{"file":"index.h","functions":["git_index_open_bare","git_index_open_inrepo","git_index_clear","git_index_free","git_index_read","git_index_write","git_index_find","git_index_add","git_index_add2","git_index_append","git_index_append2","git_index_remove","git_index_get","git_index_entrycount"],"meta":{"brief":"Git index parsing and manipulation routines","defgroup":"git_index Git index parsing and manipulation routines","ingroup":"Git","comments":"\n"},"lines":270},{"file":"errors.h","functions":["git_lasterror","git_strerror"],"meta":{"brief":"Git error handling routines and variables","ingroup":"Git","comments":"\n"},"lines":149},{"file":"common.h","functions":[],"meta":{"brief":"Git common platform definitions","defgroup":"git_common Git common platform definitions","ingroup":"Git","comments":"\n"},"lines":98},{"file":"commit.h","functions":["git_commit_lookup","git_commit_close","git_commit_id","git_commit_message_short","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_o","git_commit_create_ov","git_commit_create_v"],"meta":{"brief":"Git commit parsing, formatting routines","defgroup":"git_commit Git commit parsing, formatting routines","ingroup":"Git","comments":"\n"},"lines":302},{"file":"blob.h","functions":["git_blob_lookup","git_blob_close","git_blob_rawcontent","git_blob_rawsize","git_blob_create_fromfile","git_blob_create_frombuffer"],"meta":{"brief":"Git blob load and write routines","defgroup":"git_blob Git blob load and write routines","ingroup":"Git","comments":"\n"},"lines":121}],"functions":{"deflateBound":{"type":"function","file":"zlib.h","line":50,"lineto":54,"args":[{"name":"stream","type":"z_streamp","comment":"the stream pointer."},{"name":"s","type":"size_t","comment":"tream the stream pointer."}],"argline":"z_streamp stream, size_t s","sig":"z_streamp::size_t","return":{"type":"size_t","comment":"maximum length of the compressed data."},"description":"deflateBound returns an upper bound on the compressed size.","comments":"This is a stub function used when zlib does not supply the\ndeflateBound() implementation itself.\n","group":"zlib"},"git_tree_lookup":{"type":"function","file":"tree.h","line":50,"lineto":53,"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 on success; error code otherwise"},"description":"Lookup a tree object from the repository.","comments":"","group":"tree"},"git_tree_close":{"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"},"description":"Close an open tree","comments":"This is a wrapper around git_object_close()\n\nIMPORTANT:\nIt *is* necessary to call this method when you stop\nusing a tree. Failure to do so will cause a memory leak.\n","group":"tree"},"git_tree_id":{"type":"function","file":"tree.h","line":79,"lineto":79,"args":[{"name":"tree","type":"git_tree *","comment":"a previously loaded tree."}],"argline":"git_tree *tree","sig":"git_tree *","return":{"type":"const git_oid *","comment":"object identity for the tree."},"description":"Get the id of a tree.","comments":"","group":"tree"},"git_tree_entrycount":{"type":"function","file":"tree.h","line":87,"lineto":87,"args":[{"name":"tree","type":"git_tree *","comment":"a previously loaded tree."}],"argline":"git_tree *tree","sig":"git_tree *","return":{"type":"size_t","comment":"the number of entries in the tree"},"description":"Get the number of entries listed in a tree","comments":"","group":"tree"},"git_tree_entry_byname":{"type":"function","file":"tree.h","line":96,"lineto":96,"args":[{"name":"tree","type":"git_tree *","comment":"a previously loaded tree."},{"name":"filename","type":"const char *","comment":"the filename of the desired entry"}],"argline":"git_tree *tree, const char *filename","sig":"git_tree *::const char *","return":{"type":"const git_tree_entry *","comment":"the tree entry; NULL if not found"},"description":"Lookup a tree entry by its filename","comments":"","group":"tree"},"git_tree_entry_byindex":{"type":"function","file":"tree.h","line":105,"lineto":105,"args":[{"name":"tree","type":"git_tree *","comment":"a previously loaded tree."},{"name":"idx","type":"int","comment":"the position in the entry list"}],"argline":"git_tree *tree, int idx","sig":"git_tree *::int","return":{"type":"const git_tree_entry *","comment":"the tree entry; NULL if not found"},"description":"Lookup a tree entry by its position in the tree","comments":"","group":"tree"},"git_tree_entry_attributes":{"type":"function","file":"tree.h","line":113,"lineto":113,"args":[{"name":"entry","type":"const git_tree_entry *","comment":"a tree entry"}],"argline":"const git_tree_entry *entry","sig":"const git_tree_entry *","return":{"type":"unsigned int","comment":"attributes as an integer"},"description":"Get the UNIX file attributes of a tree entry","comments":"","group":"tree"},"git_tree_entry_name":{"type":"function","file":"tree.h","line":121,"lineto":121,"args":[{"name":"entry","type":"const git_tree_entry *","comment":"a tree entry"}],"argline":"const git_tree_entry *entry","sig":"const git_tree_entry *","return":{"type":"const char *","comment":"the name of the file"},"description":"Get the filename of a tree entry","comments":"","group":"tree"},"git_tree_entry_id":{"type":"function","file":"tree.h","line":129,"lineto":129,"args":[{"name":"entry","type":"const git_tree_entry *","comment":"a tree entry"}],"argline":"const git_tree_entry *entry","sig":"const git_tree_entry *","return":{"type":"const git_oid *","comment":"the oid of the object"},"description":"Get the id of the object pointed by the entry","comments":"","group":"tree"},"git_tree_entry_2object":{"type":"function","file":"tree.h","line":139,"lineto":139,"args":[{"name":"object_out","type":"git_object **"},{"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 on success; error code otherwise"},"description":"Convert a tree entry to the git_object it points too.","comments":"","group":"tree"},"git_tree_create_fromindex":{"type":"function","file":"tree.h","line":157,"lineto":157,"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 on success; error code otherwise"},"description":"Write a tree to the ODB from the index file","comments":"This method will scan the index and write a representation\nof its current state back to disk; it recursively creates\ntree objects for each of the subtrees stored in the index,\nbut only returns the OID of the root tree. This is the OID\nthat can be used e.g. to create a commit.\n\nThe index instance cannot be bare, and needs to be associated\nto an existing repository.\n","group":"tree"},"git_treebuilder_create":{"type":"function","file":"tree.h","line":176,"lineto":176,"args":[{"name":"builder_p","type":"git_treebuilder **","comment":"Pointer where to store the tree builder"},{"name":"source","type":"const git_tree *","comment":"Source tree to initialize the builder (optional)"}],"argline":"git_treebuilder **builder_p, const git_tree *source","sig":"git_treebuilder **::const git_tree *","return":{"type":"int","comment":"0 on sucess; error code otherwise"},"description":"Create a new tree builder.","comments":"The tree builder can be used to create or modify\ntrees in memory and write them as tree objects to the\ndatabase.\n\nIf the `source` parameter is not NULL, the tree builder\nwill be initialized with the entries of the given tree.\n\nIf the `source` parameter is NULL, the tree builder will\nhave no entries and will have to be filled manually.\n","group":"treebuilder"},"git_treebuilder_clear":{"type":"function","file":"tree.h","line":183,"lineto":183,"args":[{"name":"bld","type":"git_treebuilder *","comment":"Builder to clear"}],"argline":"git_treebuilder *bld","sig":"git_treebuilder *","return":{"type":"void"},"description":"Clear all the entires in the builder","comments":"","group":"treebuilder"},"git_treebuilder_free":{"type":"function","file":"tree.h","line":194,"lineto":194,"args":[{"name":"bld","type":"git_treebuilder *","comment":"Builder to free"}],"argline":"git_treebuilder *bld","sig":"git_treebuilder *","return":{"type":"void"},"description":"Free a tree builder","comments":"This will clear all the entries and free to builder.\nFailing to free the builder after you're done using it\nwill result in a memory leak\n","group":"treebuilder"},"git_treebuilder_get":{"type":"function","file":"tree.h","line":206,"lineto":206,"args":[{"name":"bld","type":"git_treebuilder *","comment":"Tree builder"},{"name":"filename","type":"const char *","comment":"Name of the entry"}],"argline":"git_treebuilder *bld, const char *filename","sig":"git_treebuilder *::const char *","return":{"type":"const git_tree_entry *","comment":"pointer to the entry; NULL if not found"},"description":"Get an entry from the builder from its filename","comments":"The returned entry is owned by the builder and should\nnot be freed manually.\n","group":"treebuilder"},"git_treebuilder_insert":{"type":"function","file":"tree.h","line":227,"lineto":227,"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 on success; error code otherwise"},"description":"Add or update an entry to the builder","comments":"Insert a new entry for `filename` in the builder with the\ngiven attributes.\n\nif an entry named `filename` already exists, its attributes\nwill be updated with the given ones.\n\nThe optional pointer `entry_out` can be used to retrieve a\npointer to the newly created/updated entry.\n","group":"treebuilder"},"git_treebuilder_remove":{"type":"function","file":"tree.h","line":235,"lineto":235,"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"},"description":"Remove an entry from the builder by its filename","comments":"","group":"treebuilder"},"git_treebuilder_filter":{"type":"function","file":"tree.h","line":248,"lineto":248,"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 *"}],"argline":"git_treebuilder *bld, int (*filter)(const git_tree_entry *, void *), void *payload","sig":"git_treebuilder *::int (*)(const git_tree_entry *, void *)::void *","return":{"type":"void"},"description":"Filter the entries in the tree","comments":"The `filter` callback will be called for each entry\nin the tree with a pointer to the entry and the\nprovided `payload`: if the callback returns 1, the\nentry will be filtered (removed from the builder).\n","group":"treebuilder"},"git_treebuilder_write":{"type":"function","file":"tree.h","line":262,"lineto":262,"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 on success; error code otherwise"},"description":"Write the contents of the tree builder as a tree object","comments":"The tree builder will be written to the given `repo`, and\nit's identifying SHA1 hash will be stored in the `oid`\npointer.\n","group":"treebuilder"},"git_tag_lookup":{"type":"function","file":"tag.h","line":50,"lineto":53,"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 on success; error code otherwise"},"description":"Lookup a tag object from the repository.","comments":"","group":"tag"},"git_tag_close":{"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"},"description":"Close an open tag","comments":"This is a wrapper around git_object_close()\n\nIMPORTANT:\nIt *is* necessary to call this method when you stop\nusing a tag. Failure to do so will cause a memory leak.\n","group":"tag"},"git_tag_id":{"type":"function","file":"tag.h","line":79,"lineto":79,"args":[{"name":"tag","type":"git_tag *","comment":"a previously loaded tag."}],"argline":"git_tag *tag","sig":"git_tag *","return":{"type":"const git_oid *","comment":"object identity for the tag."},"description":"Get the id of a tag.","comments":"","group":"tag"},"git_tag_target":{"type":"function","file":"tag.h","line":91,"lineto":91,"args":[{"name":"target","type":"git_object **","comment":"pointer where to store the target"},{"name":"t","type":"git_tag *","comment":"arget pointer where to store the target"}],"argline":"git_object **target, git_tag *t","sig":"git_object **::git_tag *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Get the tagged object of a tag","comments":"This method performs a repository lookup for the\ngiven object and returns it\n","group":"tag"},"git_tag_target_oid":{"type":"function","file":"tag.h","line":99,"lineto":99,"args":[{"name":"t","type":"git_tag *","comment":"ag a previously loaded tag."}],"argline":"git_tag *t","sig":"git_tag *","return":{"type":"const git_oid *","comment":"pointer to the OID"},"description":"Get the OID of the tagged object of a tag","comments":"","group":"tag"},"git_tag_type":{"type":"function","file":"tag.h","line":107,"lineto":107,"args":[{"name":"t","type":"git_tag *","comment":"ag a previously loaded tag."}],"argline":"git_tag *t","sig":"git_tag *","return":{"type":"git_otype","comment":"type of the tagged object"},"description":"Get the type of a tag's tagged object","comments":"","group":"tag"},"git_tag_name":{"type":"function","file":"tag.h","line":115,"lineto":115,"args":[{"name":"t","type":"git_tag *","comment":"ag a previously loaded tag."}],"argline":"git_tag *t","sig":"git_tag *","return":{"type":"const char *","comment":"name of the tag"},"description":"Get the name of a tag","comments":"","group":"tag"},"git_tag_tagger":{"type":"function","file":"tag.h","line":123,"lineto":123,"args":[{"name":"t","type":"git_tag *","comment":"ag a previously loaded tag."}],"argline":"git_tag *t","sig":"git_tag *","return":{"type":"const git_signature *","comment":"reference to the tag's author"},"description":"Get the tagger (author) of a tag","comments":"","group":"tag"},"git_tag_message":{"type":"function","file":"tag.h","line":131,"lineto":131,"args":[{"name":"t","type":"git_tag *","comment":"ag a previously loaded tag."}],"argline":"git_tag *t","sig":"git_tag *","return":{"type":"const char *","comment":"message of the tag"},"description":"Get the message of a tag","comments":"","group":"tag"},"git_tag_create":{"type":"function","file":"tag.h","line":162,"lineto":169,"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":"tag_name","type":"const char *","comment":"Name for the tag; this name is validated for consistency. It should also not conflict with an already existing tag name"},{"name":"target","type":"const git_oid *","comment":"OID to which this tag points; note that no validation is done on this OID. Use the _o version of this method to assure a proper object is being tagged"},{"name":"target_type","type":"git_otype","comment":"Type of the tagged OID; note that no validation is performed here either"},{"name":"tagger","type":"const git_signature *","comment":"Signature of the tagger for this tag, and of the tagging time"},{"name":"message","type":"const char *","comment":"Full message for this tag"}],"argline":"git_oid *oid,\n\t\tgit_repository *repo,\n\t\tconst char *tag_name,\n\t\tconst git_oid *target,\n\t\tgit_otype target_type,\n\t\tconst git_signature *tagger,\n\t\tconst char *message","sig":"git_oid *::git_repository *::const char *::const git_oid *::git_otype::const git_signature *::const char *","return":{"type":"int","comment":"0 on success; error code otherwise. A tag object is written to the ODB, and a proper reference is written in the /refs/tags folder, pointing to it"},"description":"Create a new tag in the repository from an OID","comments":"","group":"tag"},"git_tag_create_o":{"type":"function","file":"tag.h","line":184,"lineto":190,"args":[{"name":"oid","type":"git_oid *"},{"name":"repo","type":"git_repository *"},{"name":"tag_name","type":"const char *"},{"name":"target","type":"const git_object *"},{"name":"tagger","type":"const git_signature *"},{"name":"message","type":"const char *"}],"argline":"git_oid *oid,\n\t\tgit_repository *repo,\n\t\tconst char *tag_name,\n\t\tconst git_object *target,\n\t\tconst git_signature *tagger,\n\t\tconst char *message","sig":"git_oid *::git_repository *::const char *::const git_object *::const git_signature *::const char *","return":{"type":"int"},"description":"Create a new tag in the repository from an existing\n`git_object` instance","comments":"This method replaces the `target` and `target_type`\nparemeters of `git_tag_create` by a single instance\nof a `const git_object *`, which is assured to be\na proper object in the ODB and hence will create\na valid tag\n\n@see git_tag_create","group":"tag"},"git_tag_create_frombuffer":{"type":"function","file":"tag.h","line":201,"lineto":204,"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"}],"argline":"git_oid *oid,\n\t\tgit_repository *repo,\n\t\tconst char *buffer","sig":"git_oid *::git_repository *::const char *","return":{"type":"int"},"description":"Create a new tag in the repository from a buffer","comments":"","group":"tag"},"git_tag_create_f":{"type":"function","file":"tag.h","line":234,"lineto":241,"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":"tag_name","type":"const char *","comment":"Name for the tag; this name is validated for consistency."},{"name":"target","type":"const git_oid *","comment":"OID to which this tag points; note that no validation is done on this OID. Use the _fo version of this method to assure a proper object is being tagged"},{"name":"target_type","type":"git_otype","comment":"Type of the tagged OID; note that no validation is performed here either"},{"name":"tagger","type":"const git_signature *","comment":"Signature of the tagger for this tag, and of the tagging time"},{"name":"message","type":"const char *","comment":"Full message for this tag"}],"argline":"git_oid *oid,\n\t\tgit_repository *repo,\n\t\tconst char *tag_name,\n\t\tconst git_oid *target,\n\t\tgit_otype target_type,\n\t\tconst git_signature *tagger,\n\t\tconst char *message","sig":"git_oid *::git_repository *::const char *::const git_oid *::git_otype::const git_signature *::const char *","return":{"type":"int","comment":"0 on success; error code otherwise. A tag object is written to the ODB, and a proper reference is written in the /refs/tags folder, pointing to it"},"description":"Create a new tag in the repository from an OID\nand overwrite an already existing tag reference, if any.","comments":"","group":"tag"},"git_tag_create_fo":{"type":"function","file":"tag.h","line":256,"lineto":262,"args":[{"name":"oid","type":"git_oid *"},{"name":"repo","type":"git_repository *"},{"name":"tag_name","type":"const char *"},{"name":"target","type":"const git_object *"},{"name":"tagger","type":"const git_signature *"},{"name":"message","type":"const char *"}],"argline":"git_oid *oid,\n\t\tgit_repository *repo,\n\t\tconst char *tag_name,\n\t\tconst git_object *target,\n\t\tconst git_signature *tagger,\n\t\tconst char *message","sig":"git_oid *::git_repository *::const char *::const git_object *::const git_signature *::const char *","return":{"type":"int"},"description":"Create a new tag in the repository from an existing\n`git_object` instance and overwrite an already existing \ntag reference, if any.","comments":"This method replaces the `target` and `target_type`\nparemeters of `git_tag_create_f` by a single instance\nof a `const git_object *`, which is assured to be\na proper object in the ODB and hence will create\na valid tag\n\n@see git_tag_create_f","group":"tag"},"git_tag_delete":{"type":"function","file":"tag.h","line":274,"lineto":276,"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; this name is validated for consistency."}],"argline":"git_repository *repo,\n\t\tconst char *tag_name","sig":"git_repository *::const char *","return":{"type":"int","comment":"0 on success; error code otherwise."},"description":"Delete an existing tag reference.","comments":"","group":"tag"},"git_tag_list":{"type":"function","file":"tag.h","line":291,"lineto":293,"args":[{"name":"tag_names","type":"git_strarray *"},{"name":"repo","type":"git_repository *","comment":"Repository where to find the tags"}],"argline":"git_strarray *tag_names,\n\t\tgit_repository *repo","sig":"git_strarray *::git_repository *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Fill a list with all the tags in the Repository","comments":"The string array will be filled with the names of the\nmatching tags; these values are owned by the user and\nshould be free'd manually when no longer needed, using\n`git_strarray_free`.\n","group":"tag"},"git_signature_new":{"type":"function","file":"signature.h","line":50,"lineto":50,"args":[{"name":"name","type":"const char *","comment":"name of the person"},{"name":"email","type":"const char *"},{"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":"const char *name, const char *email, git_time_t time, int offset","sig":"const char *::const char *::git_time_t::int","return":{"type":"git_signature *","comment":"the new sig, NULL on out of memory"},"description":"Create a new action signature. The signature must be freed\nmanually or using git_signature_free","comments":"","group":"signature"},"git_signature_now":{"type":"function","file":"signature.h","line":60,"lineto":60,"args":[{"name":"name","type":"const char *","comment":"name of the person"},{"name":"email","type":"const char *","comment":"email of the person"}],"argline":"const char *name, const char *email","sig":"const char *::const char *","return":{"type":"git_signature *","comment":"the new sig, NULL on out of memory"},"description":"Create a new action signature with a timestamp of 'now'. The\nsignature must be freed manually or using git_signature_free","comments":"","group":"signature"},"git_signature_dup":{"type":"function","file":"signature.h","line":70,"lineto":70,"args":[{"name":"sig","type":"const git_signature *","comment":"signature to duplicated"}],"argline":"const git_signature *sig","sig":"const git_signature *","return":{"type":"git_signature *","comment":"a copy of sig, NULL on out of memory"},"description":"Create a copy of an existing signature.","comments":"All internal strings are also duplicated.","group":"signature"},"git_signature_free":{"type":"function","file":"signature.h","line":77,"lineto":77,"args":[{"name":"sig","type":"git_signature *","comment":"signature to free"}],"argline":"git_signature *sig","sig":"git_signature *","return":{"type":"void"},"description":"Free an existing signature","comments":"","group":"signature"},"git_revwalk_new":{"type":"function","file":"revwalk.h","line":88,"lineto":88,"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 on success; error code otherwise"},"description":"Allocate a new revision walker to iterate through a repo.","comments":"This revision walker uses a custom memory pool and an internal\ncommit cache, so it is relatively expensive to allocate.\n\nFor maximum performance, this revision walker should be\nreused for different walks.\n\nThis revision walker is *not* thread safe: it may only be\nused to walk a repository on a single thread; however,\nit is possible to have several revision walkers in\nseveral different threads walking the same repository.\n","group":"revwalk"},"git_revwalk_reset":{"type":"function","file":"revwalk.h","line":103,"lineto":103,"args":[{"name":"walker","type":"git_revwalk *","comment":"handle to reset."}],"argline":"git_revwalk *walker","sig":"git_revwalk *","return":{"type":"void"},"description":"Reset the revision walker for reuse.","comments":"This will clear all the pushed and hidden commits, and\nleave the walker in a blank state (just like at\ncreation) ready to receive new commit pushes and\nstart a new walk.\n\nThe revision walk is automatically reset when a walk\nis over.\n","group":"revwalk"},"git_revwalk_push":{"type":"function","file":"revwalk.h","line":120,"lineto":120,"args":[{"name":"walk","type":"git_revwalk *","comment":"er 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 on success; error code otherwise"},"description":"Mark a commit to start traversal from.","comments":"The given OID must belong to a commit on the walked\nrepository.\n\nThe given commit will be used as one of the roots\nwhen starting the revision walk. At least one commit\nmust be pushed the repository before a walk can\nbe started.\n","group":"revwalk"},"git_revwalk_hide":{"type":"function","file":"revwalk.h","line":136,"lineto":136,"args":[{"name":"walk","type":"git_revwalk *","comment":"er the walker being used for the traversal."},{"name":"oid","type":"const git_oid *"}],"argline":"git_revwalk *walk, const git_oid *oid","sig":"git_revwalk *::const git_oid *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Mark a commit (and its ancestors) uninteresting for the output.","comments":"The given OID must belong to a commit on the walked\nrepository.\n\nThe resolved commit and all its parents will be hidden from the\noutput on the revision walk.\n","group":"revwalk"},"git_revwalk_next":{"type":"function","file":"revwalk.h","line":156,"lineto":156,"args":[{"name":"oid","type":"git_oid *","comment":"Pointer where to store the oid of the next commit"},{"name":"walk","type":"git_revwalk *","comment":"the walker to pop the commit from."}],"argline":"git_oid *oid, git_revwalk *walk","sig":"git_oid *::git_revwalk *","return":{"type":"int","comment":"GIT_SUCCESS if the next commit was found; GIT_EREVWALKOVER if there are no commits left to iterate"},"description":"Get the next commit from the revision walk.","comments":"The initial call to this method is *not* blocking when\niterating through a repo with a time-sorting mode.\n\nIterating with Topological or inverted modes makes the initial\ncall blocking to preprocess the commit list, but this block should be\nmostly unnoticeable on most repositories (topological preprocessing\ntimes at 0.3s on the git.git repo).\n\nThe revision walker is reset when the walk is over.\n","group":"revwalk"},"git_revwalk_sorting":{"type":"function","file":"revwalk.h","line":167,"lineto":167,"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"},"description":"Change the sorting mode when iterating through the\nrepository's contents.","comments":"Changing the sorting mode resets the walker.\n","group":"revwalk"},"git_revwalk_free":{"type":"function","file":"revwalk.h","line":174,"lineto":174,"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"},"description":"Free a revision walker previously allocated.","comments":"","group":"revwalk"},"git_revwalk_repository":{"type":"function","file":"revwalk.h","line":183,"lineto":183,"args":[{"name":"walk","type":"git_revwalk *","comment":"the revision walker"}],"argline":"git_revwalk *walk","sig":"git_revwalk *","return":{"type":"git_repository *","comment":"the repository being walked"},"description":"Return the repository on which this walker\nis operating.","comments":"","group":"revwalk"},"git_repository_open":{"type":"function","file":"repository.h","line":64,"lineto":64,"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 on success; error code otherwise"},"description":"Open a git repository.","comments":"The 'path' argument must point to an existing git repository\nfolder, e.g.\n\n\t/path/to/my_repo/.git/\t(normal repository)\n\t\t\t\t\t\tobjects/\n\t\t\t\t\t\tindex\n\t\t\t\t\t\tHEAD\n\n\t/path/to/bare_repo/\t\t(bare repository)\n\t\t\t\t\tobjects/\n\t\t\t\t\tindex\n\t\t\t\t\tHEAD\n\nThe method will automatically detect if 'path' is a normal\nor bare repository or fail is 'path' is neither.\n","group":"repository"},"git_repository_open2":{"type":"function","file":"repository.h","line":93,"lineto":97,"args":[{"name":"repository","type":"git_repository **","comment":"pointer to the repo which will be opened"},{"name":"git_dir","type":"const char *","comment":"The full path to the repository folder e.g. a '.git' folder for live repos, any folder for bare Equivalent to $GIT_DIR. Cannot be NULL."},{"name":"git_object_directory","type":"const char *","comment":"The full path to the ODB folder. the folder where all the loose and packed objects are stored Equivalent to $GIT_OBJECT_DIRECTORY. If NULL, \"$GIT_DIR/objects/\" is assumed."},{"name":"git_index_file","type":"const char *","comment":"The full path to the index (dircache) file Equivalent to $GIT_INDEX_FILE. If NULL, \"$GIT_DIR/index\" is assumed."},{"name":"git_work_tree","type":"const char *","comment":"The full path to the working tree of the repository, if the repository is not bare. Equivalent to $GIT_WORK_TREE. If NULL, the repository is assumed to be bare."}],"argline":"git_repository **repository,\n\t\tconst char *git_dir,\n\t\tconst char *git_object_directory,\n\t\tconst char *git_index_file,\n\t\tconst char *git_work_tree","sig":"git_repository **::const char *::const char *::const char *::const char *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Open a git repository by manually specifying all its paths","comments":"","group":"repository"},"git_repository_open3":{"type":"function","file":"repository.h","line":128,"lineto":132,"args":[{"name":"repository","type":"git_repository **","comment":"pointer to the repo which will be opened"},{"name":"git_dir","type":"const char *","comment":"The full path to the repository folder e.g. a '.git' folder for live repos, any folder for bare Equivalent to $GIT_DIR. Cannot be NULL."},{"name":"object_database","type":"git_odb *","comment":"A pointer to a git_odb created & initialized by the user (e.g. with custom backends). This object database will be owned by the repository and will be automatically free'd. It should not be manually free'd by the user, or this git_repository object will become invalid."},{"name":"git_index_file","type":"const char *","comment":"The full path to the index (dircache) file Equivalent to $GIT_INDEX_FILE. If NULL, \"$GIT_DIR/index\" is assumed."},{"name":"git_work_tree","type":"const char *","comment":"The full path to the working tree of the repository, if the repository is not bare. Equivalent to $GIT_WORK_TREE. If NULL, the repository is assumed to be bare."}],"argline":"git_repository **repository,\n\t\tconst char *git_dir,\n\t\tgit_odb *object_database,\n\t\tconst char *git_index_file,\n\t\tconst char *git_work_tree","sig":"git_repository **::const char *::git_odb *::const char *::const char *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Open a git repository by manually specifying its paths and\nthe object database it will use.","comments":"","group":"repository"},"git_repository_database":{"type":"function","file":"repository.h","line":141,"lineto":141,"args":[{"name":"repo","type":"git_repository *","comment":"a repository object"}],"argline":"git_repository *repo","sig":"git_repository *","return":{"type":"git_odb *","comment":"a pointer to the object db"},"description":"Get the object database behind a Git repository","comments":"","group":"repository"},"git_repository_index":{"type":"function","file":"repository.h","line":153,"lineto":153,"args":[{"name":"index","type":"git_index **","comment":"Pointer where to store the index"},{"name":"repo","type":"git_repository *","comment":"a repository object"}],"argline":"git_index **index, git_repository *repo","sig":"git_index **::git_repository *","return":{"type":"int","comment":"0 on success; error code if the index could not be opened"},"description":"Get the Index file of a Git repository","comments":"This is a cheap operation; the index is only opened on the first call,\nand subsequent calls only retrieve the previous pointer.\n","group":"repository"},"git_repository_free":{"type":"function","file":"repository.h","line":166,"lineto":166,"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"},"description":"Free a previously allocated repository","comments":"Note that after a repository is free'd, all the objects it has spawned\nwill still exist until they are manually closed by the user\nwith `git_object_close`, but accessing any of the attributes of\nan object without a backing repository will result in undefined\nbehavior\n","group":"repository"},"git_repository_init":{"type":"function","file":"repository.h","line":183,"lineto":183,"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","comment":"if true, a Git repository without a working directory is created at the pointed path. If false, provided path will be considered as the working directory into which the .git directory will be created."}],"argline":"git_repository **repo_out, const char *path, unsigned is_bare","sig":"git_repository **::const char *::unsigned","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Creates a new Git repository in the given folder.","comments":"TODO:\n- Reinit the repository\n- Create config files\n","group":"repository"},"git_repository_is_empty":{"type":"function","file":"repository.h","line":195,"lineto":195,"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 if the repository is corrupted"},"description":"Check if a repository is empty","comments":"An empty repository has just been initialized and contains\nno commits.\n","group":"repository"},"git_repository_path":{"type":"function","file":"repository.h","line":203,"lineto":203,"args":[{"name":"repo","type":"git_repository *","comment":"a repository object"}],"argline":"git_repository *repo","sig":"git_repository *","return":{"type":"const char *","comment":"absolute path to the git directory"},"description":"Get the normalized path to the git repository.","comments":"","group":"repository"},"git_repository_workdir":{"type":"function","file":"repository.h","line":213,"lineto":213,"args":[{"name":"repo","type":"git_repository *","comment":"a repository object"}],"argline":"git_repository *repo","sig":"git_repository *","return":{"type":"const char *","comment":"NULL if the repository is bare; absolute path to the working directory otherwise."},"description":"Get the normalized path to the working directory of the repository.","comments":"If the repository is bare, there is no working directory and NULL we be returned.\n","group":"repository"},"git_reference_lookup":{"type":"function","file":"refs.h","line":52,"lineto":52,"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 on success; error code otherwise"},"description":"Lookup a reference by its name in a repository.","comments":"The generated reference is owned by the repository and\nshould not be freed by the user.\n","group":"reference"},"git_reference_create_symbolic":{"type":"function","file":"refs.h","line":69,"lineto":69,"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"}],"argline":"git_reference **ref_out, git_repository *repo, const char *name, const char *target","sig":"git_reference **::git_repository *::const char *::const char *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Create a new symbolic reference.","comments":"The reference will be created in the repository and written\nto the disk.\n\nThis reference is owned by the repository and shall not\nbe free'd by the user.\n","group":"reference"},"git_reference_create_symbolic_f":{"type":"function","file":"refs.h","line":90,"lineto":90,"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"}],"argline":"git_reference **ref_out, git_repository *repo, const char *name, const char *target","sig":"git_reference **::git_repository *::const char *::const char *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Create a new symbolic reference, overwriting an existing one with\nthe same name, if it exists.","comments":"If the new reference isn't a symbolic one, any pointers to the old\nreference become invalid.\n\nThe reference will be created in the repository and written\nto the disk.\n\nThis reference is owned by the repository and shall not\nbe free'd by the user.\n","group":"reference"},"git_reference_create_oid":{"type":"function","file":"refs.h","line":107,"lineto":107,"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."}],"argline":"git_reference **ref_out, git_repository *repo, const char *name, const git_oid *id","sig":"git_reference **::git_repository *::const char *::const git_oid *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Create a new object id reference.","comments":"The reference will be created in the repository and written\nto the disk.\n\nThis reference is owned by the repository and shall not\nbe free'd by the user.\n","group":"reference"},"git_reference_create_oid_f":{"type":"function","file":"refs.h","line":128,"lineto":128,"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."}],"argline":"git_reference **ref_out, git_repository *repo, const char *name, const git_oid *id","sig":"git_reference **::git_repository *::const char *::const git_oid *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Create a new object id reference, overwriting an existing one with\nthe same name, if it exists.","comments":"If the new reference isn't an object id one, any pointers to the\nold reference become invalid.\n\nThe reference will be created in the repository and written\nto the disk.\n\nThis reference is owned by the repository and shall not\nbe free'd by the user.\n","group":"reference"},"git_reference_oid":{"type":"function","file":"refs.h","line":138,"lineto":138,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"const git_oid *","comment":"a pointer to the oid if available, NULL otherwise"},"description":"Get the OID pointed to by a reference.","comments":"Only available if the reference is direct (i.e. not symbolic)\n","group":"reference"},"git_reference_target":{"type":"function","file":"refs.h","line":148,"lineto":148,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"const char *","comment":"a pointer to the name if available, NULL otherwise"},"description":"Get full name to the reference pointed by this reference","comments":"Only available if the reference is symbolic\n","group":"reference"},"git_reference_type":{"type":"function","file":"refs.h","line":158,"lineto":158,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"git_rtype","comment":"the type"},"description":"Get the type of a reference","comments":"Either direct (GIT_REF_OID) or symbolic (GIT_REF_SYMBOLIC)\n","group":"reference"},"git_reference_name":{"type":"function","file":"refs.h","line":166,"lineto":166,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"const char *","comment":"the full name for the ref"},"description":"Get the full name of a reference","comments":"","group":"reference"},"git_reference_resolve":{"type":"function","file":"refs.h","line":181,"lineto":181,"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 on success; error code otherwise"},"description":"Resolve a symbolic reference","comments":"Thie method iteratively peels a symbolic reference\nuntil it resolves to a direct reference to an OID.\n\nIf a direct reference is passed as an argument,\nthat reference is returned immediately\n","group":"reference"},"git_reference_owner":{"type":"function","file":"refs.h","line":189,"lineto":189,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"git_repository *","comment":"a pointer to the repo"},"description":"Get the repository where a reference resides","comments":"","group":"reference"},"git_reference_set_target":{"type":"function","file":"refs.h","line":204,"lineto":204,"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 on success; error code otherwise"},"description":"Set the symbolic target of a reference.","comments":"The reference must be a symbolic reference, otherwise\nthis method will fail.\n\nThe reference will be automatically updated in\nmemory and on disk.\n","group":"reference"},"git_reference_set_oid":{"type":"function","file":"refs.h","line":219,"lineto":219,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"},{"name":"id","type":"const git_oid *"}],"argline":"git_reference *ref, const git_oid *id","sig":"git_reference *::const git_oid *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Set the OID target of a reference.","comments":"The reference must be a direct reference, otherwise\nthis method will fail.\n\nThe reference will be automatically updated in\nmemory and on disk.\n","group":"reference"},"git_reference_rename":{"type":"function","file":"refs.h","line":232,"lineto":232,"args":[{"name":"ref","type":"git_reference *"},{"name":"new_name","type":"const char *"}],"argline":"git_reference *ref, const char *new_name","sig":"git_reference *::const char *","return":{"type":"int"},"description":"Rename an existing reference","comments":"This method works for both direct and symbolic references.\nThe new name will be checked for validity and may be\nmodified into a normalized form.\n\nThe refernece will be immediately renamed in-memory\nand on disk.","group":"reference"},"git_reference_rename_f":{"type":"function","file":"refs.h","line":246,"lineto":246,"args":[{"name":"ref","type":"git_reference *"},{"name":"new_name","type":"const char *"}],"argline":"git_reference *ref, const char *new_name","sig":"git_reference *::const char *","return":{"type":"int"},"description":"Rename an existing reference, overwriting an existing one with the\nsame name, if it exists.","comments":"This method works for both direct and symbolic references.\nThe new name will be checked for validity and may be\nmodified into a normalized form.\n\nThe refernece will be immediately renamed in-memory\nand on disk.","group":"reference"},"git_reference_delete":{"type":"function","file":"refs.h","line":257,"lineto":257,"args":[{"name":"ref","type":"git_reference *"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"int"},"description":"Delete an existing reference","comments":"This method works for both direct and symbolic references.\n\nThe reference will be immediately removed on disk and from\nmemory. The given reference pointer will no longer be valid.","group":"reference"},"git_reference_packall":{"type":"function","file":"refs.h","line":275,"lineto":275,"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 on success; error code otherwise"},"description":"Pack all the loose references in the repository","comments":"This method will load into the cache all the loose\nreferences on the repository and update the \n`packed-refs` file with them.\n\nOnce the `packed-refs` file has been written properly,\nthe loose references will be removed from disk.\n\nWARNING: calling this method may invalidate any existing\nreferences previously loaded on the cache.\n","group":"reference"},"git_reference_listall":{"type":"function","file":"refs.h","line":298,"lineto":298,"args":[{"name":"array","type":"git_strarray *","comment":"Pointer to a git_strarray structure where the 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 listing."}],"argline":"git_strarray *array, git_repository *repo, unsigned int list_flags","sig":"git_strarray *::git_repository *::unsigned int","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Fill a list with all the references that can be found\nin a repository.","comments":"The listed references may be filtered by type, or using\na bitwise OR of several types. Use the magic value\n`GIT_REF_LISTALL` to obtain all references, including\npacked ones.\n\nThe string array will be filled with the names of all\nreferences; these values are owned by the user and\nshould be free'd manually when no longer needed, using\n`git_strarray_free`.\n","group":"reference"},"git_reference_listcb":{"type":"function","file":"refs.h","line":321,"lineto":321,"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 listing."},{"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 (*callback)(const char *, void *), void *payload","sig":"git_repository *::unsigned int::int (*)(const char *, void *)::void *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"List all the references in the repository, calling a custom\ncallback for each one.","comments":"The listed references may be filtered by type, or using\na bitwise OR of several types. Use the magic value\n`GIT_REF_LISTALL` to obtain all references, including\npacked ones.\n\nThe `callback` function will be called for each of the references\nin the repository, and will receive the name of the reference and\nthe `payload` value passed to this method.\n","group":"reference"},"git_oid_mkstr":{"type":"function","file":"oid.h","line":60,"lineto":60,"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 the hex sequence and have at least the number of bytes needed for an oid encoded in hex (40 bytes)."}],"argline":"git_oid *out, const char *str","sig":"git_oid *::const char *","return":{"type":"int","comment":"GIT_SUCCESS if valid; GIT_ENOTOID on failure."},"description":"Parse a hex formatted object id into a git_oid.\n@param out oid structure the result is written into.\n@param str input hex string; must be pointing at the start of\n the hex sequence and have at least the number of bytes\n needed for an oid encoded in hex (40 bytes).\n@return GIT_SUCCESS if valid; GIT_ENOTOID on failure.","comments":"","group":"oid"},"git_oid_mkraw":{"type":"function","file":"oid.h","line":67,"lineto":67,"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"},"description":"Copy an already raw oid into a git_oid structure.\n@param out oid structure the result is written into.\n@param raw the raw input bytes to be copied.","comments":"","group":"oid"},"git_oid_fmt":{"type":"function","file":"oid.h","line":78,"lineto":78,"args":[{"name":"str","type":"char *","comment":"output hex string; must be pointing at the start of the hex sequence and have at least the number of bytes needed for an oid encoded in hex (40 bytes). Only the oid digits are written; a '\\\\0' terminator must be added by 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"},"description":"Format a git_oid into a hex string.\n@param str output hex string; must be pointing at the start of\n the hex sequence and have at least the number of bytes\n needed for an oid encoded in hex (40 bytes). Only the\n oid digits are written; a '\\\\0' terminator must be added\n by the caller if it is required.\n@param oid oid structure to format.","comments":"","group":"oid"},"git_oid_pathfmt":{"type":"function","file":"oid.h","line":93,"lineto":93,"args":[{"name":"str","type":"char *","comment":"output hex string; must be pointing at the start of the hex sequence and have at least the number of bytes needed for an oid encoded in hex (41 bytes). Only the oid digits are written; a '\\\\0' terminator must be added by 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"},"description":"Format a git_oid into a loose-object path string.\n<p>\nThe resulting string is \"aa/...\", where \"aa\" is the first two\nhex digitis of the oid and \"...\" is the remaining 38 digits.","comments":"","group":"oid"},"git_oid_allocfmt":{"type":"function","file":"oid.h","line":101,"lineto":101,"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 deallocate the string with free()."},"description":"Format a gid_oid into a newly allocated c-string.\n@param oid the oid structure to format\n@return the c-string; NULL if memory is exhausted. Caller must\n deallocate the string with free().","comments":"","group":"oid"},"git_oid_to_string":{"type":"function","file":"oid.h","line":118,"lineto":118,"args":[{"name":"out","type":"char *","comment":"the buffer into which the oid string is output."},{"name":"n","type":"size_t","comment":"the size of the out buffer."},{"name":"oid","type":"const git_oid *","comment":"the oid structure to format."}],"argline":"char *out, size_t n, const git_oid *oid","sig":"char *::size_t::const git_oid *","return":{"type":"char *","comment":"the out buffer pointer, assuming no input parameter errors, otherwise a pointer to an empty string."},"description":"Format a git_oid into a buffer as a hex format c-string.\n<p>\nIf the buffer is smaller than GIT_OID_HEXSZ+1, then the resulting\noid c-string will be truncated to n-1 characters. If there are\nany input parameter errors (out == NULL, n == 0, oid == NULL),\nthen a pointer to an empty string is returned, so that the return\nvalue can always be printed.","comments":"","group":"oid"},"git_oid_cpy":{"type":"function","file":"oid.h","line":125,"lineto":125,"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"},"description":"Copy an oid from one structure to another.\n@param out oid structure the result is written into.\n@param src oid structure to copy from.","comments":"","group":"oid"},"git_oid_cmp":{"type":"function","file":"oid.h","line":133,"lineto":133,"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":"<0, 0, >0 if a < b, a == b, a > b."},"description":"Compare two oid structures.\n@param a first oid structure.\n@param b second oid structure.\n@return <0, 0, >0 if a < b, a == b, a > b.","comments":"","group":"oid"},"git_oid_shorten_new":{"type":"function","file":"oid.h","line":154,"lineto":154,"args":[{"name":"min_length","type":"size_t","comment":"The minimal length for all identifiers, which will be used even if shorter OIDs would still be unique."}],"argline":"size_t min_length","sig":"size_t","return":{"type":"git_oid_shorten *","comment":"a `git_oid_shorten` instance, NULL if OOM"},"description":"Create a new OID shortener.","comments":"The OID shortener is used to process a list of OIDs\nin text form and return the shortest length that would\nuniquely identify all of them.\n\nE.g. look at the result of `git log --abbrev`.\n","group":"oid"},"git_oid_shorten_add":{"type":"function","file":"oid.h","line":180,"lineto":180,"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 added so far to the set; or an error code (<0) if an error occurs."},"description":"Add a new OID to set of shortened OIDs and calculate\nthe minimal length to uniquely identify all the OIDs in\nthe set.","comments":"The OID is expected to be a 40-char hexadecimal string.\nThe OID is owned by the user and will not be modified\nor freed.\n\nFor performance reasons, there is a hard-limit of how many\nOIDs can be added to a single set (around ~22000, assuming\na mostly randomized distribution), which should be enough\nfor any kind of program, and keeps the algorithm fast and\nmemory-efficient.\n\nAttempting to add more than those OIDs will result in a\nGIT_ENOMEM error\n","group":"oid"},"git_oid_shorten_free":{"type":"function","file":"oid.h","line":187,"lineto":187,"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"},"description":"Free an OID shortener instance","comments":"","group":"oid"},"git_odb_new":{"type":"function","file":"odb.h","line":53,"lineto":53,"args":[{"name":"out","type":"git_odb **","comment":"location to store the database pointer, if opened. Set to NULL if the open failed."}],"argline":"git_odb **out","sig":"git_odb **","return":{"type":"int","comment":"GIT_SUCCESS if the database was created; otherwise an error code describing why the open was not possible."},"description":"Create a new object database with no backends.","comments":"Before the ODB can be used for read/writing, a custom database\nbackend must be manually added using `git_odb_add_backend()`\n","group":"odb"},"git_odb_open":{"type":"function","file":"odb.h","line":72,"lineto":72,"args":[{"name":"out","type":"git_odb **","comment":"location to store the database pointer, if opened. Set to NULL if the open failed."},{"name":"objects_dir","type":"const char *","comment":"path of the backends' \"objects\" directory."}],"argline":"git_odb **out, const char *objects_dir","sig":"git_odb **::const char *","return":{"type":"int","comment":"GIT_SUCCESS if the database opened; otherwise an error code describing why the open was not possible."},"description":"Create a new object database and automatically add\nthe two default backends:","comments":"- git_odb_backend_loose: read and write loose object files\n\tfrom disk, assuming `objects_dir` as the Objects folder\n\n- git_odb_backend_pack: read objects from packfiles,\n\tassuming `objects_dir` as the Objects folder which\n\tcontains a 'pack/' folder with the corresponding data\n","group":"odb"},"git_odb_add_backend":{"type":"function","file":"odb.h","line":83,"lineto":83,"args":[{"name":"odb","type":"git_odb *","comment":"database to add the backend to"},{"name":"backend","type":"git_odb_backend *"},{"name":"priority","type":"int"}],"argline":"git_odb *odb, git_odb_backend *backend, int priority","sig":"git_odb *::git_odb_backend *::int","return":{"type":"int","comment":"0 on sucess; error code otherwise"},"description":"Add a custom backend to an existing Object DB","comments":"Read <odb_backends.h> for more information.\n","group":"odb"},"git_odb_add_alternate":{"type":"function","file":"odb.h","line":100,"lineto":100,"args":[{"name":"odb","type":"git_odb *","comment":"database to add the backend to"},{"name":"backend","type":"git_odb_backend *"},{"name":"priority","type":"int"}],"argline":"git_odb *odb, git_odb_backend *backend, int priority","sig":"git_odb *::git_odb_backend *::int","return":{"type":"int","comment":"0 on sucess; error code otherwise"},"description":"Add a custom backend to an existing Object DB; this\nbackend will work as an alternate.","comments":"Alternate backends are always checked for objects *after*\nall the main backends have been exhausted.\n\nWriting is disabled on alternate backends.\n\nRead <odb_backends.h> for more information.\n","group":"odb"},"git_odb_close":{"type":"function","file":"odb.h","line":107,"lineto":107,"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"},"description":"Close an open object database.","comments":"","group":"odb"},"git_odb_read":{"type":"function","file":"odb.h","line":126,"lineto":126,"args":[{"name":"out","type":"git_odb_object **","comment":"pointer where to store the read object"},{"name":"db","type":"git_odb *","comment":"database to search for the object in."},{"name":"id","type":"const git_oid *","comment":"identity of the object to read."}],"argline":"git_odb_object **out, git_odb *db, const git_oid *id","sig":"git_odb_object **::git_odb *::const git_oid *","return":{"type":"int","comment":"- GIT_SUCCESS if the object was read; - GIT_ENOTFOUND if the object is not in the database."},"description":"Read an object from the database.","comments":"This method queries all avaiable ODB backends\ntrying to read the given OID.\n\nThe returned object is reference counted and\ninternally cached, so it should be closed\nby the user once it's no longer in use.\n","group":"odb"},"git_odb_read_header":{"type":"function","file":"odb.h","line":146,"lineto":146,"args":[{"name":"len_p","type":"size_t *","comment":"pointer where to store the length"},{"name":"type_p","type":"git_otype *","comment":"pointer where to store the type"},{"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":"size_t *len_p, git_otype *type_p, git_odb *db, const git_oid *id","sig":"size_t *::git_otype *::git_odb *::const git_oid *","return":{"type":"int","comment":"- GIT_SUCCESS if the object was read; - GIT_ENOTFOUND if the object is not in the database."},"description":"Read the header of an object from the database, without\nreading its full contents.","comments":"The header includes the length and the type of an object.\n\nNote that most backends do not support reading only the header\nof an object, so the whole object will be read and then the\nheader will be returned.\n","group":"odb"},"git_odb_exists":{"type":"function","file":"odb.h","line":157,"lineto":157,"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 - 0, otherwise"},"description":"Determine if the given object can be found in the object database.","comments":"","group":"odb"},"git_odb_write":{"type":"function","file":"odb.h","line":177,"lineto":177,"args":[{"name":"oid","type":"git_oid *","comment":"pointer to store the OID result of the write"},{"name":"odb","type":"git_odb *","comment":"object database where to store the object"},{"name":"data","type":"const void *","comment":"buffer with the data to storr"},{"name":"len","type":"size_t","comment":"size of the buffer"},{"name":"type","type":"git_otype","comment":"type of the data to store"}],"argline":"git_oid *oid, git_odb *odb, const void *data, size_t len, git_otype type","sig":"git_oid *::git_odb *::const void *::size_t::git_otype","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Write an object directly into the ODB","comments":"This method writes a full object straight into the ODB.\nFor most cases, it is preferred to write objects through a write\nstream, which is both faster and less memory intensive, specially\nfor big objects.\n\nThis method is provided for compatibility with custom backends\nwhich are not able to support streaming writes\n","group":"odb"},"git_odb_open_wstream":{"type":"function","file":"odb.h","line":206,"lineto":206,"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 write"},{"name":"size","type":"size_t","comment":"final size of the object that will be written"},{"name":"type","type":"git_otype","comment":"type of the object that will be written"}],"argline":"git_odb_stream **stream, git_odb *db, size_t size, git_otype type","sig":"git_odb_stream **::git_odb *::size_t::git_otype","return":{"type":"int","comment":"0 if the stream was created; error code otherwise"},"description":"Open a stream to write an object into the ODB","comments":"The type and final length of the object must be specified\nwhen opening the stream.\n\nThe returned stream will be of type `GIT_STREAM_WRONLY` and\nwill have the following methods:\n\n\t- stream->write: write `n` bytes into the stream\n\t- stream->finalize_write: close the stream and store the object in\n\t\tthe odb\n\t- stream->free: free the stream\n\nThe streaming write won't be effective until `stream->finalize_write`\nis called and returns without an error\n\nThe stream must always be free'd or will leak memory.\n\n@see git_odb_stream\n","group":"odb"},"git_odb_open_rstream":{"type":"function","file":"odb.h","line":232,"lineto":232,"args":[{"name":"stream","type":"git_odb_stream **","comment":"pointer where to store the stream"},{"name":"db","type":"git_odb *","comment":"object database where the stream will read from"},{"name":"oid","type":"const git_oid *","comment":"oid of the object the stream will read from"}],"argline":"git_odb_stream **stream, git_odb *db, const git_oid *oid","sig":"git_odb_stream **::git_odb *::const git_oid *","return":{"type":"int","comment":"0 if the stream was created; error code otherwise"},"description":"Open a stream to read an object from the ODB","comments":"Note that most backends do *not* support streaming reads\nbecause they store their objects as compressed/delta'ed blobs.\n\nIt's recommended to use `git_odb_read` instead, which is\nassured to work on all backends.\n\nThe returned stream will be of type `GIT_STREAM_RDONLY` and\nwill have the following methods:\n\n\t- stream->read: read `n` bytes from the stream\n\t- stream->free: free the stream\n\nThe stream must always be free'd or will leak memory.\n\n@see git_odb_stream\n","group":"odb"},"git_odb_hash":{"type":"function","file":"odb.h","line":246,"lineto":246,"args":[{"name":"id","type":"git_oid *","comment":"the resulting object-ID."},{"name":"data","type":"const void *","comment":"data to hash"},{"name":"len","type":"size_t","comment":"size of the data"},{"name":"type","type":"git_otype","comment":"of the data to hash"}],"argline":"git_oid *id, const void *data, size_t len, git_otype type","sig":"git_oid *::const void *::size_t::git_otype","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Determine the object-ID (sha1 hash) of a data buffer","comments":"The resulting SHA-1 OID will the itentifier for the data\nbuffer as if the data buffer it were to written to the ODB.\n","group":"odb"},"git_odb_object_close":{"type":"function","file":"odb.h","line":256,"lineto":256,"args":[{"name":"object","type":"git_odb_object *","comment":"object to close"}],"argline":"git_odb_object *object","sig":"git_odb_object *","return":{"type":"void"},"description":"Close an ODB object","comments":"This method must always be called once a `git_odb_object` is no\nlonger needed, otherwise memory will leak.\n","group":"odb"},"git_odb_object_id":{"type":"function","file":"odb.h","line":266,"lineto":266,"args":[{"name":"object","type":"git_odb_object *","comment":"the object"}],"argline":"git_odb_object *object","sig":"git_odb_object *","return":{"type":"const git_oid *","comment":"a pointer to the OID"},"description":"Return the OID of an ODB object","comments":"This is the OID from which the object was read from\n","group":"odb"},"git_odb_object_data":{"type":"function","file":"odb.h","line":279,"lineto":279,"args":[{"name":"object","type":"git_odb_object *","comment":"the object"}],"argline":"git_odb_object *object","sig":"git_odb_object *","return":{"type":"const void *","comment":"a pointer to the data"},"description":"Return the data of an ODB object","comments":"This is the uncompressed, raw data as read from the ODB,\nwithout the leading header.\n\nThis pointer is owned by the object and shall not be free'd.\n","group":"odb"},"git_odb_object_size":{"type":"function","file":"odb.h","line":290,"lineto":290,"args":[{"name":"object","type":"git_odb_object *","comment":"the object"}],"argline":"git_odb_object *object","sig":"git_odb_object *","return":{"type":"size_t","comment":"the size"},"description":"Return the size of an ODB object","comments":"This is the real size of the `data` buffer, not the\nactual size of the object.\n","group":"odb"},"git_odb_object_type":{"type":"function","file":"odb.h","line":298,"lineto":298,"args":[{"name":"object","type":"git_odb_object *","comment":"the object"}],"argline":"git_odb_object *object","sig":"git_odb_object *","return":{"type":"git_otype","comment":"the type"},"description":"Return the type of an ODB object","comments":"","group":"odb"},"git_object_lookup":{"type":"function","file":"object.h","line":59,"lineto":59,"args":[{"name":"object","type":"git_object **","comment":"pointer to the looked-up object"},{"name":"repo","type":"git_repository *","comment":"the repository to look up the object"},{"name":"id","type":"const git_oid *","comment":"the unique identifier for the object"},{"name":"type","type":"git_otype","comment":"the type of the object"}],"argline":"git_object **object, git_repository *repo, const git_oid *id, git_otype type","sig":"git_object **::git_repository *::const git_oid *::git_otype","return":{"type":"int","comment":"a reference to the object"},"description":"Lookup a reference to one of the objects in a repostory.","comments":"The generated reference is owned by the repository and\nshould be closed with the `git_object_close` method\ninstead of free'd manually.\n\nThe 'type' parameter must match the type of the object\nin the odb; the method will fail otherwise.\nThe special value 'GIT_OBJ_ANY' may be passed to let\nthe method guess the object's type.\n","group":"object"},"git_object_id":{"type":"function","file":"object.h","line":67,"lineto":67,"args":[{"name":"obj","type":"const git_object *","comment":"the repository object"}],"argline":"const git_object *obj","sig":"const git_object *","return":{"type":"const git_oid *","comment":"the SHA1 id"},"description":"Get the id (SHA1) of a repository object","comments":"","group":"object"},"git_object_type":{"type":"function","file":"object.h","line":75,"lineto":75,"args":[{"name":"obj","type":"const git_object *","comment":"the repository object"}],"argline":"const git_object *obj","sig":"const git_object *","return":{"type":"git_otype","comment":"the object's type"},"description":"Get the object type of an object","comments":"","group":"object"},"git_object_owner":{"type":"function","file":"object.h","line":83,"lineto":83,"args":[{"name":"obj","type":"const git_object *","comment":"the object"}],"argline":"const git_object *obj","sig":"const git_object *","return":{"type":"git_repository *","comment":"the repository who owns this object"},"description":"Get the repository that owns this object","comments":"","group":"object"},"git_object_close":{"type":"function","file":"object.h","line":100,"lineto":100,"args":[{"name":"object","type":"git_object *","comment":"the object to close"}],"argline":"git_object *object","sig":"git_object *","return":{"type":"void"},"description":"Close an open object","comments":"This method instructs the library to close an existing\nobject; note that git_objects are owned and cached by the repository\nso the object may or may not be freed after this library call,\ndepending on how agressive is the caching mechanism used\nby the repository.\n\nIMPORTANT:\nIt *is* necessary to call this method when you stop using\nan object. Failure to do so will cause a memory leak.\n","group":"object"},"git_object_type2string":{"type":"function","file":"object.h","line":111,"lineto":111,"args":[{"name":"type","type":"git_otype","comment":"object type to convert."}],"argline":"git_otype type","sig":"git_otype","return":{"type":"const char *","comment":"the corresponding string representation."},"description":"Convert an object type to it's string representation.","comments":"The result is a pointer to a string in static memory and\nshould not be free()'ed.\n","group":"object"},"git_object_string2type":{"type":"function","file":"object.h","line":119,"lineto":119,"args":[{"name":"str","type":"const char *","comment":"the string to convert."}],"argline":"const char *str","sig":"const char *","return":{"type":"git_otype","comment":"the corresponding git_otype."},"description":"Convert a string object type representation to it's git_otype.","comments":"","group":"object"},"git_object_typeisloose":{"type":"function","file":"object.h","line":128,"lineto":128,"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, false otherwise."},"description":"Determine if the given git_otype is a valid loose object type.","comments":"","group":"object"},"git_object__size":{"type":"function","file":"object.h","line":142,"lineto":142,"args":[{"name":"type","type":"git_otype","comment":"object type to get its size"}],"argline":"git_otype type","sig":"git_otype","return":{"type":"size_t","comment":"size in bytes of the object"},"description":"Get the size in bytes for the structure which\nacts as an in-memory representation of any given\nobject type.","comments":"For all the core types, this would the equivalent\nof calling `sizeof(git_commit)` if the core types\nwere not opaque on the external API.\n","group":"object"},"git_index_open_bare":{"type":"function","file":"index.h","line":118,"lineto":118,"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 on success; error code otherwise"},"description":"Create a new Git index object as a memory representation\nof the Git index file in 'index_path', without a repository\nto back it.","comments":"Since there is no ODB behind this index, any Index methods\nwhich rely on the ODB (e.g. index_add) will fail with the\nGIT_EBAREINDEX error code.\n","group":"index"},"git_index_open_inrepo":{"type":"function","file":"index.h","line":128,"lineto":128,"args":[{"name":"index","type":"git_index **","comment":"the pointer for the new index"},{"name":"repo","type":"git_repository *","comment":"the git repo which owns the index"}],"argline":"git_index **index, git_repository *repo","sig":"git_index **::git_repository *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Open the Index inside the git repository pointed\nby 'repo'.","comments":"","group":"index"},"git_index_clear":{"type":"function","file":"index.h","line":137,"lineto":137,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"void"},"description":"Clear the contents (all the entries) of an index object.\nThis clears the index object in memory; changes must be manually\nwritten to disk for them to take effect.","comments":"","group":"index"},"git_index_free":{"type":"function","file":"index.h","line":144,"lineto":144,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"void"},"description":"Free an existing index object.","comments":"","group":"index"},"git_index_read":{"type":"function","file":"index.h","line":153,"lineto":153,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"int","comment":"0 on success, otherwise an error code"},"description":"Update the contents of an existing index object in memory\nby reading from the hard disk.","comments":"","group":"index"},"git_index_write":{"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":"int","comment":"0 on success, otherwise an error code"},"description":"Write an existing index object from memory back to disk\nusing an atomic file lock.","comments":"","group":"index"},"git_index_find":{"type":"function","file":"index.h","line":172,"lineto":172,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"},{"name":"path","type":"const char *","comment":"path to search"}],"argline":"git_index *index, const char *path","sig":"git_index *::const char *","return":{"type":"int","comment":"an index >= 0 if found, -1 otherwise"},"description":"Find the first index of any entries which point to given\npath in the Git index.","comments":"","group":"index"},"git_index_add":{"type":"function","file":"index.h","line":187,"lineto":187,"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 on success, otherwise an error code"},"description":"Add or update an index entry from a file in disk","comments":"The file `path` must be relative to the repository's\nworking folder and must be readable.\n\nThis method will fail in bare index instances.\n","group":"index"},"git_index_add2":{"type":"function","file":"index.h","line":199,"lineto":199,"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 on success, otherwise an error code"},"description":"Add or update an index entry from an in-memory struct","comments":"A full copy (including the 'path' string) of the given\n'source_entry' will be inserted on the index.\n","group":"index"},"git_index_append":{"type":"function","file":"index.h","line":218,"lineto":218,"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 on success, otherwise an error code"},"description":"Add (append) an index entry from a file in disk","comments":"A new entry will always be inserted into the index;\nif the index already contains an entry for such\npath, the old entry will **not** be replaced.\n\nThe file `path` must be relative to the repository's\nworking folder and must be readable.\n\nThis method will fail in bare index instances.\n","group":"index"},"git_index_append2":{"type":"function","file":"index.h","line":235,"lineto":235,"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 on success, otherwise an error code"},"description":"Add (append) an index entry from an in-memory struct","comments":"A new entry will always be inserted into the index;\nif the index already contains an entry for the path\nin the `entry` struct, the old entry will **not** be\nreplaced.\n\nA full copy (including the 'path' string) of the given\n'source_entry' will be inserted on the index.\n","group":"index"},"git_index_remove":{"type":"function","file":"index.h","line":244,"lineto":244,"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 on success, otherwise an error code"},"description":"Remove an entry from the index","comments":"","group":"index"},"git_index_get":{"type":"function","file":"index.h","line":257,"lineto":257,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"},{"name":"n","type":"int","comment":"the position of the entry"}],"argline":"git_index *index, int n","sig":"git_index *::int","return":{"type":"git_index_entry *","comment":"a pointer to the entry; NULL if out of bounds"},"description":"Get a pointer to one of the entries in the index","comments":"This entry can be modified, and the changes will be written\nback to disk on the next write() call.\n","group":"index"},"git_index_entrycount":{"type":"function","file":"index.h","line":265,"lineto":265,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"unsigned int","comment":"integer of count of current entries"},"description":"Get the count of entries currently in the index","comments":"","group":"index"},"git_lasterror":{"type":"function","file":"errors.h","line":133,"lineto":133,"args":[],"argline":"void","sig":"","return":{"type":"const char *","comment":"a string explaining the error"},"description":"Return a detailed error string with the latest error\nthat occurred in the library.\n@return a string explaining the error","comments":"","group":"errors"},"git_strerror":{"type":"function","file":"errors.h","line":145,"lineto":145,"args":[{"name":"num","type":"int","comment":"The error code to explain"}],"argline":"int num","sig":"int","return":{"type":"const char *","comment":"a string explaining the error code"},"description":"strerror() for the Git library","comments":"Get a string description for a given error code.\nNOTE: This method will be eventually deprecated in favor\nof the new `git_lasterror`.\n","group":"errors"},"git_commit_lookup":{"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 an 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 on success; error code otherwise"},"description":"Lookup a commit object from a repository.","comments":"","group":"commit"},"git_commit_close":{"type":"function","file":"commit.h","line":67,"lineto":70,"args":[{"name":"commit","type":"git_commit *","comment":"the commit to close"}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"void"},"description":"Close an open commit","comments":"This is a wrapper around git_object_close()\n\nIMPORTANT:\nIt *is* necessary to call this method when you stop\nusing a commit. Failure to do so will cause a memory leak.\n","group":"commit"},"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":"Get the id of a commit.","comments":"","group":"commit"},"git_commit_message_short":{"type":"function","file":"commit.h","line":87,"lineto":87,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"const char *","comment":"the short message of a commit"},"description":"Get the short (one line) message of a commit.","comments":"","group":"commit"},"git_commit_message":{"type":"function","file":"commit.h","line":95,"lineto":95,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"const char *","comment":"the message of a commit"},"description":"Get the full message of a commit.","comments":"","group":"commit"},"git_commit_time":{"type":"function","file":"commit.h","line":103,"lineto":103,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"git_time_t","comment":"the time of a commit"},"description":"Get the commit time (i.e. committer time) of a commit.","comments":"","group":"commit"},"git_commit_time_offset":{"type":"function","file":"commit.h","line":111,"lineto":111,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"int","comment":"positive or negative timezone offset, in minutes from UTC"},"description":"Get the commit timezone offset (i.e. committer's preferred timezone) of a commit.","comments":"","group":"commit"},"git_commit_committer":{"type":"function","file":"commit.h","line":119,"lineto":119,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"const git_signature *","comment":"the committer of a commit"},"description":"Get the committer of a commit.","comments":"","group":"commit"},"git_commit_author":{"type":"function","file":"commit.h","line":127,"lineto":127,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"const git_signature *","comment":"the author of a commit"},"description":"Get the author of a commit.","comments":"","group":"commit"},"git_commit_tree":{"type":"function","file":"commit.h","line":136,"lineto":136,"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 on success; error code otherwise"},"description":"Get the tree pointed to by a commit.","comments":"","group":"commit"},"git_commit_tree_oid":{"type":"function","file":"commit.h","line":146,"lineto":146,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"const git_oid *","comment":"the id of tree pointed to by commit."},"description":"Get the id of the tree pointed to by a commit. This differs from\n`git_commit_tree` in that no attempts are made to fetch an object\nfrom the ODB.","comments":"","group":"commit"},"git_commit_parentcount":{"type":"function","file":"commit.h","line":154,"lineto":154,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"unsigned int","comment":"integer of count of parents"},"description":"Get the number of parents of this commit","comments":"","group":"commit"},"git_commit_parent":{"type":"function","file":"commit.h","line":164,"lineto":164,"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 on success; error code otherwise"},"description":"Get the specified parent of the commit.","comments":"","group":"commit"},"git_commit_parent_oid":{"type":"function","file":"commit.h","line":175,"lineto":175,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."},{"name":"n","type":"unsigned int","comment":"the position of the parent (from 0 to `parentcount`)"}],"argline":"git_commit *commit, unsigned int n","sig":"git_commit *::unsigned int","return":{"type":"const git_oid *","comment":"the id of the parent, NULL on error."},"description":"Get the oid of a specified parent for a commit. This is different from\n`git_commit_parent`, which will attempt to load the parent commit from\nthe ODB.","comments":"","group":"commit"},"git_commit_create":{"type":"function","file":"commit.h","line":215,"lineto":224,"args":[{"name":"oid","type":"git_oid *","comment":"Pointer where to store the OID of the newly 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 will be updated to point to this commit. If the reference is not direct, it will be resolved to a direct reference. Use \"HEAD\" to update the HEAD of the current branch and make it point to this commit"},{"name":"author","type":"const git_signature *","comment":"Signature representing the author and the authory time of this commit"},{"name":"committer","type":"const git_signature *","comment":"Signature representing the committer and the commit time of this commit"},{"name":"message","type":"const char *","comment":"Full message for this commit"},{"name":"tree_oid","type":"const git_oid *","comment":"Object ID of the tree for this commit. Note that no validation is performed on this OID. Use the _o variants of this method to assure a proper tree is passed to the commit."},{"name":"parent_count","type":"int","comment":"Number of parents for this commit"}],"argline":"git_oid *oid,\n\t\tgit_repository *repo,\n\t\tconst char *update_ref,\n\t\tconst git_signature *author,\n\t\tconst git_signature *committer,\n\t\tconst char *message,\n\t\tconst git_oid *tree_oid,\n\t\tint parent_count,\n\t\tconst git_oid *parent_oids[]","sig":"git_oid *::git_repository *::const char *::const git_signature *::const git_signature *::const char *::const git_oid *::int","return":{"type":"int","comment":"0 on success; error code otherwise The created commit will be written to the Object Database and the given reference will be updated to point to it"},"description":"Create a new commit in the repository","comments":"","group":"commit"},"git_commit_create_o":{"type":"function","file":"commit.h","line":237,"lineto":246,"args":[{"name":"oid","type":"git_oid *"},{"name":"repo","type":"git_repository *"},{"name":"update_ref","type":"const char *"},{"name":"author","type":"const git_signature *"},{"name":"committer","type":"const git_signature *"},{"name":"message","type":"const char *"},{"name":"tree","type":"const git_tree *"},{"name":"parent_count","type":"int"}],"argline":"git_oid *oid,\n\t\tgit_repository *repo,\n\t\tconst char *update_ref,\n\t\tconst git_signature *author,\n\t\tconst git_signature *committer,\n\t\tconst char *message,\n\t\tconst git_tree *tree,\n\t\tint parent_count,\n\t\tconst git_commit *parents[]","sig":"git_oid *::git_repository *::const char *::const git_signature *::const git_signature *::const char *::const git_tree *::int","return":{"type":"int"},"description":"Create a new commit in the repository using `git_object`\ninstances as parameters.","comments":"The `tree_oid` and `parent_oids` paremeters now take a instance\nof `git_tree` and `git_commit`, respectively.\n\nAll other parameters remain the same\n\n@see git_commit_create","group":"commit"},"git_commit_create_ov":{"type":"function","file":"commit.h","line":264,"lineto":273,"args":[{"name":"oid","type":"git_oid *"},{"name":"repo","type":"git_repository *"},{"name":"update_ref","type":"const char *"},{"name":"author","type":"const git_signature *"},{"name":"committer","type":"const git_signature *"},{"name":"message","type":"const char *"},{"name":"tree","type":"const git_tree *"},{"name":"parent_count","type":"int"}],"argline":"git_oid *oid,\n\t\tgit_repository *repo,\n\t\tconst char *update_ref,\n\t\tconst git_signature *author,\n\t\tconst git_signature *committer,\n\t\tconst char *message,\n\t\tconst git_tree *tree,\n\t\tint parent_count,\n\t\t...","sig":"git_oid *::git_repository *::const char *::const git_signature *::const git_signature *::const char *::const git_tree *::int","return":{"type":"int"},"description":"Create a new commit in the repository using `git_object`\ninstances and a variable argument list.","comments":"The `tree_oid` paremeter now takes a instance\nof `const git_tree *`.\n\nThe parents for the commit are specified as a variable\nlist of pointers to `const git_commit *`. Note that this\nis a convenience method which may not be safe to export\nfor certain languages or compilers\n\nAll other parameters remain the same\n\n@see git_commit_create","group":"commit"},"git_commit_create_v":{"type":"function","file":"commit.h","line":289,"lineto":298,"args":[{"name":"oid","type":"git_oid *"},{"name":"repo","type":"git_repository *"},{"name":"update_ref","type":"const char *"},{"name":"author","type":"const git_signature *"},{"name":"committer","type":"const git_signature *"},{"name":"message","type":"const char *"},{"name":"tree_oid","type":"const git_oid *"},{"name":"parent_count","type":"int"}],"argline":"git_oid *oid,\n\t\tgit_repository *repo,\n\t\tconst char *update_ref,\n\t\tconst git_signature *author,\n\t\tconst git_signature *committer,\n\t\tconst char *message,\n\t\tconst git_oid *tree_oid,\n\t\tint parent_count,\n\t\t...","sig":"git_oid *::git_repository *::const char *::const git_signature *::const git_signature *::const char *::const git_oid *::int","return":{"type":"int"},"description":"Create a new commit in the repository using \na variable argument list.","comments":"The parents for the commit are specified as a variable\nlist of pointers to `const git_oid *`. Note that this\nis a convenience method which may not be safe to export\nfor certain languages or compilers\n\nAll other parameters remain the same\n\n@see git_commit_create","group":"commit"},"git_blob_lookup":{"type":"function","file":"blob.h","line":50,"lineto":53,"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 on success; error code otherwise"},"description":"Lookup a blob object from a repository.","comments":"","group":"blob"},"git_blob_close":{"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"},"description":"Close an open blob","comments":"This is a wrapper around git_object_close()\n\nIMPORTANT:\nIt *is* necessary to call this method when you stop\nusing a blob. Failure to do so will cause a memory leak.\n","group":"blob"},"git_blob_rawcontent":{"type":"function","file":"blob.h","line":84,"lineto":84,"args":[{"name":"blob","type":"git_blob *","comment":"pointer to the blob"}],"argline":"git_blob *blob","sig":"git_blob *","return":{"type":"const void *","comment":"the pointer; NULL if the blob has no contents"},"description":"Get a read-only buffer with the raw content of a blob.","comments":"A pointer to the raw content of a blob is returned;\nthis pointer is owned internally by the object and shall\nnot be free'd. The pointer may be invalidated at a later\ntime.\n","group":"blob"},"git_blob_rawsize":{"type":"function","file":"blob.h","line":92,"lineto":92,"args":[{"name":"blob","type":"git_blob *","comment":"pointer to the blob"}],"argline":"git_blob *blob","sig":"git_blob *","return":{"type":"int","comment":"size on bytes"},"description":"Get the size in bytes of the contents of a blob","comments":"","group":"blob"},"git_blob_create_fromfile":{"type":"function","file":"blob.h","line":105,"lineto":105,"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. this repository cannot be bare"},{"name":"path","type":"const char *","comment":"file from which the blob will be created, relative 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 on success; error code otherwise"},"description":"Read a file from the working folder of a repository\nand write it to the Object Database as a loose blob","comments":"","group":"blob"},"git_blob_create_frombuffer":{"type":"function","file":"blob.h","line":117,"lineto":117,"args":[{"name":"oid","type":"git_oid *","comment":"return the oid of the written blob"},{"name":"repo","type":"git_repository *","comment":"repository where to blob will be written"},{"name":"buffer","type":"const void *","comment":"data to be written into the blob"},{"name":"len","type":"size_t","comment":"length of the data"}],"argline":"git_oid *oid, git_repository *repo, const void *buffer, size_t len","sig":"git_oid *::git_repository *::const void *::size_t","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Write an in-memory buffer to the ODB as a blob","comments":"","group":"blob"}},"globals":{"GIT_SORT_NONE":{"value":"(0)","file":"revwalk.h","line":47,"comments":"Sort the repository contents in no particular ordering;\nthis sorting is arbitrary, implementation-specific\nand subject to change at any time.\nThis is the default sorting for new walkers."},"GIT_SORT_TOPOLOGICAL":{"value":"(1 << 0)","file":"revwalk.h","line":54,"comments":"Sort the repository contents in topological order\n(parents before children); this sorting mode\ncan be combined with time sorting."},"GIT_SORT_TIME":{"value":"(1 << 1)","file":"revwalk.h","line":61,"comments":"Sort the repository contents by commit time;\nthis sorting mode can be combined with\ntopological sorting."},"GIT_SORT_REVERSE":{"value":"(1 << 2)","file":"revwalk.h","line":68,"comments":"Iterate through the repository contents in reverse\norder; this sorting mode can be combined with\nany of the above."},"GIT_OID_RAWSZ":{"value":"20","file":"oid.h","line":41,"comments":"Size (in bytes) of a raw/binary oid"},"GIT_OID_HEXSZ":{"value":"(GIT_OID_RAWSZ * 2)","file":"oid.h","line":44,"comments":"Size (in bytes) of a hex formatted oid"},"GIT_SUCCESS":{"value":"0","file":"errors.h","line":37,"comments":"Operation completed successfully."},"GIT_ERROR":{"value":"-1","file":"errors.h","line":45,"comments":"Operation failed, with unspecified reason.\nThis value also serves as the base error code; all other\nerror codes are subtracted from it such that all errors\nare < 0, in typical POSIX C tradition."},"GIT_ENOTOID":{"value":"(GIT_ERROR - 1)","file":"errors.h","line":48,"comments":"Input was not a properly formatted Git object id."},"GIT_ENOTFOUND":{"value":"(GIT_ERROR - 2)","file":"errors.h","line":51,"comments":"Input does not exist in the scope searched."},"GIT_ENOMEM":{"value":"(GIT_ERROR - 3)","file":"errors.h","line":54,"comments":"Not enough space available."},"GIT_EOSERR":{"value":"(GIT_ERROR - 4)","file":"errors.h","line":57,"comments":"Consult the OS error information."},"GIT_EOBJTYPE":{"value":"(GIT_ERROR - 5)","file":"errors.h","line":60,"comments":"The specified object is of invalid type"},"GIT_EOBJCORRUPTED":{"value":"(GIT_ERROR - 6)","file":"errors.h","line":63,"comments":"The specified object has its data corrupted"},"GIT_ENOTAREPO":{"value":"(GIT_ERROR - 7)","file":"errors.h","line":66,"comments":"The specified repository is invalid"},"GIT_EINVALIDTYPE":{"value":"(GIT_ERROR - 8)","file":"errors.h","line":69,"comments":"The object type is invalid or doesn't match"},"GIT_EMISSINGOBJDATA":{"value":"(GIT_ERROR - 9)","file":"errors.h","line":72,"comments":"The object cannot be written because it's missing internal data"},"GIT_EPACKCORRUPTED":{"value":"(GIT_ERROR - 10)","file":"errors.h","line":75,"comments":"The packfile for the ODB is corrupted"},"GIT_EFLOCKFAIL":{"value":"(GIT_ERROR - 11)","file":"errors.h","line":78,"comments":"Failed to acquire or release a file lock"},"GIT_EZLIB":{"value":"(GIT_ERROR - 12)","file":"errors.h","line":81,"comments":"The Z library failed to inflate/deflate an object's data"},"GIT_EBUSY":{"value":"(GIT_ERROR - 13)","file":"errors.h","line":84,"comments":"The queried object is currently busy"},"GIT_EBAREINDEX":{"value":"(GIT_ERROR - 14)","file":"errors.h","line":87,"comments":"The index file is not backed up by an existing repository"},"GIT_EINVALIDREFNAME":{"value":"(GIT_ERROR - 15)","file":"errors.h","line":90,"comments":"The name of the reference is not valid"},"GIT_EREFCORRUPTED":{"value":"(GIT_ERROR - 16)","file":"errors.h","line":93,"comments":"The specified reference has its data corrupted"},"GIT_ETOONESTEDSYMREF":{"value":"(GIT_ERROR - 17)","file":"errors.h","line":96,"comments":"The specified symbolic reference is too deeply nested"},"GIT_EPACKEDREFSCORRUPTED":{"value":"(GIT_ERROR - 18)","file":"errors.h","line":99,"comments":"The pack-refs file is either corrupted or its format is not currently supported"},"GIT_EINVALIDPATH":{"value":"(GIT_ERROR - 19)","file":"errors.h","line":102,"comments":"The path is invalid"},"GIT_EREVWALKOVER":{"value":"(GIT_ERROR - 20)","file":"errors.h","line":105,"comments":"The revision walker is empty; there are no more commits left to iterate"},"GIT_EINVALIDREFSTATE":{"value":"(GIT_ERROR - 21)","file":"errors.h","line":108,"comments":"The state of the reference is not valid"},"GIT_ENOTIMPLEMENTED":{"value":"(GIT_ERROR - 22)","file":"errors.h","line":111,"comments":"This feature has not been implemented yet"},"GIT_EEXISTS":{"value":"(GIT_ERROR - 23)","file":"errors.h","line":114,"comments":"A reference with this name already exists"},"GIT_EOVERFLOW":{"value":"(GIT_ERROR - 24)","file":"errors.h","line":117,"comments":"The given integer literal is too large to be parsed"},"GIT_ENOTNUM":{"value":"(GIT_ERROR - 25)","file":"errors.h","line":120,"comments":"The given literal is not a valid number"},"GIT_ESTREAM":{"value":"(GIT_ERROR - 26)","file":"errors.h","line":123,"comments":"Streaming error"},"GIT_EINVALIDARGS":{"value":"(GIT_ERROR - 27)","file":"errors.h","line":126,"comments":"invalid arguments to function"},"GIT_BEGIN_DECL":{"value":"","file":"common.h","line":37,"comments":"Start declarations in C mode"},"GIT_END_DECL":{"value":"","file":"common.h","line":39,"comments":"End declarations in C mode"},"GIT_EXTERN(type)":{"value":"extern __attribute__((visibility(\"default\"))) type","file":"common.h","line":43,"comments":"Declare a public function exported for application use."},"GIT_EXTERN_TLS(type)":{"value":"extern __attribute__((visibility(\"default\"))) GIT_TLS type","file":"common.h","line":54,"comments":"Declare a public TLS symbol exported for application use."},"GIT_INLINE(type)":{"value":"static __inline type","file":"common.h","line":66,"comments":"Declare a function as always inlined."},"GIT_FORMAT_PRINTF(a,b)":{"value":"__attribute__((format (printf, a, b)))","file":"common.h","line":73,"comments":"Declare a function's takes printf style arguments."}},"types":[["git_blob",{"type":"struct","value":"git_blob","file":"types.h","line":116,"lineto":116,"block":"","tdef":"typedef","comments":"In-memory representation of a blob object.","used":{"returns":[],"needs":["git_blob_close","git_blob_lookup","git_blob_rawcontent","git_blob_rawsize"]}}],["git_commit",{"type":"struct","value":"git_commit","file":"types.h","line":119,"lineto":119,"block":"","tdef":"typedef","comments":"Parsed representation of a commit object.","used":{"returns":[],"needs":["git_commit_author","git_commit_close","git_commit_committer","git_commit_create_o","git_commit_id","git_commit_lookup","git_commit_message","git_commit_message_short","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_index",{"type":"struct","value":"git_index","file":"types.h","line":131,"lineto":131,"block":"","tdef":"typedef","comments":"Memory representation of an index file.","used":{"returns":[],"needs":["git_index_add","git_index_add2","git_index_append","git_index_append2","git_index_clear","git_index_entrycount","git_index_find","git_index_free","git_index_get","git_index_open_bare","git_index_open_inrepo","git_index_read","git_index_remove","git_index_write","git_repository_index","git_tree_create_fromindex"]}}],["git_index_entry",{"type":"struct","value":"git_index_entry","file":"index.h","line":85,"lineto":102,"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","comments":"Memory representation of a file entry in the index.","used":{"returns":["git_index_get"],"needs":["git_index_add2","git_index_append2"]}}],["git_index_time",{"type":"struct","value":"git_index_time","file":"index.h","line":78,"lineto":82,"block":"git_time_t seconds\nunsigned int nanoseconds","tdef":"typedef","comments":"Time used in a git index entry","used":{"returns":[],"needs":[]}}],["git_object",{"type":"struct","value":"git_object","file":"types.h","line":107,"lineto":107,"block":"","tdef":"typedef","comments":"Representation of a generic object in a repository","used":{"returns":[],"needs":["git_object_close","git_object_id","git_object_lookup","git_object_owner","git_object_type","git_tag_create_fo","git_tag_create_o","git_tag_target","git_tree_entry_2object"]}}],["git_odb",{"type":"struct","value":"git_odb","file":"types.h","line":89,"lineto":89,"block":"","tdef":"typedef","comments":"An open object database handle.","used":{"returns":["git_repository_database"],"needs":["git_odb_add_alternate","git_odb_add_backend","git_odb_close","git_odb_exists","git_odb_new","git_odb_open","git_odb_open_rstream","git_odb_open_wstream","git_odb_read","git_odb_read_header","git_odb_write","git_repository_open3"]}}],["git_odb_backend",{"type":"struct","value":"git_odb_backend","file":"odb_backend.h","line":44,"lineto":80,"block":"git_odb *odb\nint (* read)(void **, size_t *, git_otype *, struct git_odb_backend *, const git_oid *)\nint (* read_header)(size_t *, git_otype *, struct git_odb_backend *, const git_oid *)\nint (* write)(git_oid *, struct git_odb_backend *, const void *, size_t, git_otype)\nint (* writestream)(struct git_odb_stream **, struct git_odb_backend *, size_t, git_otype)\nint (* readstream)(struct git_odb_stream **, struct git_odb_backend *, const git_oid *)\nint (* exists)(struct git_odb_backend *, const git_oid *)\nvoid (* free)(struct git_odb_backend *)","tdef":null,"comments":"An instance for a custom backend","used":{"returns":[],"needs":["git_odb_add_alternate","git_odb_add_backend"]}}],["git_odb_object",{"type":"struct","value":"git_odb_object","file":"types.h","line":95,"lineto":95,"block":"","tdef":"typedef","comments":"An object read from the ODB","used":{"returns":[],"needs":["git_odb_object_close","git_odb_object_data","git_odb_object_id","git_odb_object_size","git_odb_object_type","git_odb_read"]}}],["git_odb_stream",{"type":"struct","value":"git_odb_stream","file":"odb_backend.h","line":83,"lineto":91,"block":"struct git_odb_backend *backend\nint mode\nint (*read)(struct git_odb_stream *stream, char *buffer, size_t len)\nint (*write)(struct git_odb_stream *stream, const char *buffer, size_t len)\nint (*finalize_write)(git_oid *oid_p, struct git_odb_stream *stream)\nvoid (*free)(struct git_odb_stream *stream)","tdef":null,"comments":"A stream to read/write from a backend","used":{"returns":[],"needs":["git_odb_open_rstream","git_odb_open_wstream"]}}],["git_odb_streammode",{"type":"enum","file":"odb_backend.h","line":94,"lineto":107,"block":"GIT_STREAM_RDONLY\nGIT_STREAM_WRONLY\nGIT_STREAM_RW","tdef":"typedef","comments":"Streaming mode","used":{"returns":[],"needs":[]}}],["git_oid",{"type":"struct","value":"git_oid","file":"oid.h","line":47,"lineto":50,"block":"unsigned char id[GIT_OID_RAWSZ]","tdef":"typedef","comments":"Unique identity of any object (commit, tree, blob, tag).","used":{"returns":["git_commit_id","git_commit_parent_oid","git_commit_tree_oid","git_object_id","git_odb_object_id","git_reference_oid","git_tag_id","git_tag_target_oid","git_tree_entry_id","git_tree_id"],"needs":["git_blob_create_frombuffer","git_blob_create_fromfile","git_blob_lookup","git_commit_create","git_commit_create_o","git_commit_create_ov","git_commit_create_v","git_commit_lookup","git_object_lookup","git_odb_exists","git_odb_hash","git_odb_open_rstream","git_odb_read","git_odb_read_header","git_odb_write","git_oid_allocfmt","git_oid_cmp","git_oid_cpy","git_oid_fmt","git_oid_mkraw","git_oid_mkstr","git_oid_pathfmt","git_oid_to_string","git_reference_create_oid","git_reference_create_oid_f","git_reference_set_oid","git_revwalk_hide","git_revwalk_next","git_revwalk_push","git_tag_create","git_tag_create_f","git_tag_create_fo","git_tag_create_frombuffer","git_tag_create_o","git_tag_lookup","git_tree_create_fromindex","git_tree_lookup","git_treebuilder_insert","git_treebuilder_write"]}}],["git_oid_shorten",{"type":"struct","value":"git_oid_shorten","file":"oid.h","line":138,"lineto":138,"block":"","tdef":"typedef","comments":"OID Shortener object","used":{"returns":["git_oid_shorten_new"],"needs":["git_oid_shorten_add","git_oid_shorten_free"]}}],["git_otype",{"type":"enum","file":"types.h","line":75,"lineto":86,"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","comments":"Basic type (loose or packed) of any Git object.","used":{"returns":[],"needs":["git_object__size","git_object_lookup","git_object_type2string","git_object_typeisloose","git_odb_hash","git_odb_open_wstream","git_odb_read_header","git_odb_write","git_tag_create","git_tag_create_f"]}}],["git_reference",{"type":"struct","value":"git_reference","file":"types.h","line":147,"lineto":147,"block":"","tdef":"typedef","comments":"In-memory representation of a reference.","used":{"returns":[],"needs":["git_reference_create_oid","git_reference_create_oid_f","git_reference_create_symbolic","git_reference_create_symbolic_f","git_reference_delete","git_reference_lookup","git_reference_name","git_reference_oid","git_reference_owner","git_reference_rename","git_reference_rename_f","git_reference_resolve","git_reference_set_oid","git_reference_set_target","git_reference_target","git_reference_type"]}}],["git_repository",{"type":"struct","value":"git_repository","file":"types.h","line":104,"lineto":104,"block":"","tdef":"typedef","comments":"Representation of an existing git repository,\nincluding all its object contents","used":{"returns":["git_object_owner","git_reference_owner","git_revwalk_repository"],"needs":["git_blob_create_frombuffer","git_blob_create_fromfile","git_blob_lookup","git_commit_create","git_commit_create_o","git_commit_create_ov","git_commit_create_v","git_commit_lookup","git_index_open_inrepo","git_object_lookup","git_reference_create_oid","git_reference_create_oid_f","git_reference_create_symbolic","git_reference_create_symbolic_f","git_reference_listall","git_reference_listcb","git_reference_lookup","git_reference_packall","git_repository_database","git_repository_free","git_repository_index","git_repository_init","git_repository_is_empty","git_repository_open","git_repository_open2","git_repository_open3","git_repository_path","git_repository_workdir","git_revwalk_new","git_tag_create","git_tag_create_f","git_tag_create_fo","git_tag_create_frombuffer","git_tag_create_o","git_tag_delete","git_tag_list","git_tag_lookup","git_tree_entry_2object","git_tree_lookup","git_treebuilder_write"]}}],["git_revwalk",{"type":"struct","value":"git_revwalk","file":"types.h","line":110,"lineto":110,"block":"","tdef":"typedef","comments":"Representation of an in-progress walk through the commits in a repo","used":{"returns":[],"needs":["git_revwalk_free","git_revwalk_hide","git_revwalk_new","git_revwalk_next","git_revwalk_push","git_revwalk_repository","git_revwalk_reset","git_revwalk_sorting"]}}],["git_rtype",{"type":"enum","file":"types.h","line":150,"lineto":157,"block":"GIT_REF_INVALID\nGIT_REF_OID\nGIT_REF_SYMBOLIC\nGIT_REF_PACKED\nGIT_REF_HAS_PEEL\nGIT_REF_LISTALL","tdef":"typedef","comments":"Basic type of any Git reference.","used":{"returns":[],"needs":[]}}],["git_signature",{"type":"struct","value":"git_signature","file":"types.h","line":140,"lineto":144,"block":"char *name\nchar *email\ngit_time when","tdef":"typedef","comments":"An action signature (e.g. for committers, taggers, etc)","used":{"returns":["git_commit_author","git_commit_committer","git_signature_dup","git_signature_new","git_signature_now","git_tag_tagger"],"needs":["git_commit_create","git_commit_create_o","git_commit_create_ov","git_commit_create_v","git_signature_dup","git_signature_free","git_tag_create","git_tag_create_f","git_tag_create_fo","git_tag_create_o"]}}],["git_tag",{"type":"struct","value":"git_tag","file":"types.h","line":113,"lineto":113,"block":"","tdef":"typedef","comments":"Parsed representation of a tag object.","used":{"returns":[],"needs":["git_tag_close","git_tag_id","git_tag_lookup","git_tag_message","git_tag_name","git_tag_tagger","git_tag_target","git_tag_target_oid","git_tag_type"]}}],["git_time",{"type":"struct","value":"git_time","file":"types.h","line":134,"lineto":137,"block":"git_time_t time\nint offset","tdef":"typedef","comments":"Time in a signature","used":{"returns":[],"needs":[]}}],["git_tree",{"type":"struct","value":"git_tree","file":"types.h","line":125,"lineto":125,"block":"","tdef":"typedef","comments":"Representation of a tree object.","used":{"returns":[],"needs":["git_commit_create_o","git_commit_create_ov","git_commit_tree","git_tree_close","git_tree_entry_byindex","git_tree_entry_byname","git_tree_entrycount","git_tree_id","git_tree_lookup","git_treebuilder_create"]}}],["git_tree_entry",{"type":"struct","value":"git_tree_entry","file":"types.h","line":122,"lineto":122,"block":"","tdef":"typedef","comments":"Representation of each one of the entries in a tree object.","used":{"returns":["git_tree_entry_byindex","git_tree_entry_byname","git_treebuilder_get"],"needs":["git_tree_entry_2object","git_tree_entry_attributes","git_tree_entry_id","git_tree_entry_name","git_treebuilder_filter","git_treebuilder_insert"]}}],["git_treebuilder",{"type":"struct","value":"git_treebuilder","file":"types.h","line":128,"lineto":128,"block":"","tdef":"typedef","comments":"Constructor for in-memory trees","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"]}}]],"prefix":"include/git2","groups":[["blob",["git_blob_close","git_blob_create_frombuffer","git_blob_create_fromfile","git_blob_lookup","git_blob_rawcontent","git_blob_rawsize"]],["commit",["git_commit_author","git_commit_close","git_commit_committer","git_commit_create","git_commit_create_o","git_commit_create_ov","git_commit_create_v","git_commit_id","git_commit_lookup","git_commit_message","git_commit_message_short","git_commit_parent","git_commit_parent_oid","git_commit_parentcount","git_commit_time","git_commit_time_offset","git_commit_tree","git_commit_tree_oid"]],["errors",["git_lasterror","git_strerror"]],["index",["git_index_add","git_index_add2","git_index_append","git_index_append2","git_index_clear","git_index_entrycount","git_index_find","git_index_free","git_index_get","git_index_open_bare","git_index_open_inrepo","git_index_read","git_index_remove","git_index_write"]],["object",["git_object__size","git_object_close","git_object_id","git_object_lookup","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_close","git_odb_exists","git_odb_hash","git_odb_new","git_odb_object_close","git_odb_object_data","git_odb_object_id","git_odb_object_size","git_odb_object_type","git_odb_open","git_odb_open_rstream","git_odb_open_wstream","git_odb_read","git_odb_read_header","git_odb_write"]],["oid",["git_oid_allocfmt","git_oid_cmp","git_oid_cpy","git_oid_fmt","git_oid_mkraw","git_oid_mkstr","git_oid_pathfmt","git_oid_shorten_add","git_oid_shorten_free","git_oid_shorten_new","git_oid_to_string"]],["reference",["git_reference_create_oid","git_reference_create_oid_f","git_reference_create_symbolic","git_reference_create_symbolic_f","git_reference_delete","git_reference_listall","git_reference_listcb","git_reference_lookup","git_reference_name","git_reference_oid","git_reference_owner","git_reference_packall","git_reference_rename","git_reference_rename_f","git_reference_resolve","git_reference_set_oid","git_reference_set_target","git_reference_target","git_reference_type"]],["repository",["git_repository_database","git_repository_free","git_repository_index","git_repository_init","git_repository_is_empty","git_repository_open","git_repository_open2","git_repository_open3","git_repository_path","git_repository_workdir"]],["revwalk",["git_revwalk_free","git_revwalk_hide","git_revwalk_new","git_revwalk_next","git_revwalk_push","git_revwalk_repository","git_revwalk_reset","git_revwalk_sorting"]],["signature",["git_signature_dup","git_signature_free","git_signature_new","git_signature_now"]],["tag",["git_tag_close","git_tag_create","git_tag_create_f","git_tag_create_fo","git_tag_create_frombuffer","git_tag_create_o","git_tag_delete","git_tag_id","git_tag_list","git_tag_lookup","git_tag_message","git_tag_name","git_tag_tagger","git_tag_target","git_tag_target_oid","git_tag_type"]],["tree",["git_tree_close","git_tree_create_fromindex","git_tree_entry_2object","git_tree_entry_attributes","git_tree_entry_byindex","git_tree_entry_byname","git_tree_entry_id","git_tree_entry_name","git_tree_entrycount","git_tree_id","git_tree_lookup"]],["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"]],["zlib",["deflateBound"]]]} \ No newline at end of file
diff --git a/v0.13.0.json b/v0.13.0.json
index 029c97eb2..2be684877 100644
--- a/v0.13.0.json
+++ b/v0.13.0.json
@@ -1 +1 @@
-{"files":[{"file":"common.h","functions":["git_libgit2_version"],"meta":{"brief":"Git common platform definitions","defgroup":"git_common Git common platform definitions","ingroup":"Git","comments":"\n"},"lines":128},{"file":"signature.h","functions":["git_signature_new","git_signature_now","git_signature_dup","git_signature_free"],"meta":{"brief":"Git signature creation","defgroup":"git_signature Git signature creation","ingroup":"Git","comments":"\n"},"lines":81},{"file":"config.h","functions":["git_config_find_global","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_int","git_config_get_long","git_config_get_bool","git_config_get_string","git_config_set_int","git_config_set_long","git_config_set_bool","git_config_set_string","git_config_foreach"],"meta":{"brief":"Git config management routines","defgroup":"git_config Git config management routines","ingroup":"Git","comments":"\n"},"lines":273},{"file":"blob.h","functions":["git_blob_lookup","git_blob_lookup_prefix","git_blob_close","git_blob_rawcontent","git_blob_rawsize","git_blob_create_fromfile","git_blob_create_frombuffer"],"meta":{"brief":"Git blob load and write routines","defgroup":"git_blob Git blob load and write routines","ingroup":"Git","comments":"\n"},"lines":138},{"file":"index.h","functions":["git_index_open","git_index_clear","git_index_free","git_index_read","git_index_write","git_index_find","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"],"meta":{"brief":"Git index parsing and manipulation routines","defgroup":"git_index Git index parsing and manipulation routines","ingroup":"Git","comments":"\n"},"lines":317},{"file":"repository.h","functions":["git_repository_open","git_repository_open2","git_repository_open3","git_repository_discover","git_repository_database","git_repository_index","git_repository_free","git_repository_init","git_repository_is_empty","git_repository_path","git_repository_is_bare","git_repository_config"],"meta":{"brief":"Git repository management routines","defgroup":"git_repository Git repository management routines","ingroup":"Git","comments":"\n"},"lines":308},{"file":"tag.h","functions":["git_tag_lookup","git_tag_lookup_prefix","git_tag_close","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_o","git_tag_create_frombuffer","git_tag_create_f","git_tag_create_fo","git_tag_delete","git_tag_list"],"meta":{"brief":"Git tag parsing routines","defgroup":"git_tag Git tag management","ingroup":"Git","comments":"\n"},"lines":316},{"file":"odb_backend.h","functions":[],"meta":{"brief":"Git custom backend functions","defgroup":"git_backend Git custom backend API","ingroup":"Git","comments":"\n"},"lines":118},{"file":"commit.h","functions":["git_commit_lookup","git_commit_lookup_prefix","git_commit_close","git_commit_id","git_commit_message_short","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_o","git_commit_create_ov","git_commit_create_v"],"meta":{"brief":"Git commit parsing, formatting routines","defgroup":"git_commit Git commit parsing, formatting routines","ingroup":"Git","comments":"\n"},"lines":319},{"file":"types.h","functions":[],"meta":{"brief":"libgit2 base & compatibility types","ingroup":"Git","comments":"\n"},"lines":168},{"file":"zlib.h","functions":["deflateBound"],"meta":{"brief":"Git data compression routines","defgroup":"git_zlib Git data compression routines","ingroup":"Git","comments":"\n"},"lines":58},{"file":"tree.h","functions":["git_tree_lookup","git_tree_lookup_prefix","git_tree_close","git_tree_id","git_tree_entrycount","git_tree_entry_byname","git_tree_entry_byindex","git_tree_entry_attributes","git_tree_entry_name","git_tree_entry_id","git_tree_entry_type","git_tree_entry_2object","git_tree_create_fromindex","git_treebuilder_create","git_treebuilder_clear","git_treebuilder_free","git_treebuilder_get","git_treebuilder_insert","git_treebuilder_remove","git_treebuilder_filter","git_treebuilder_write"],"meta":{"brief":"Git tree parsing, loading routines","defgroup":"git_tree Git tree parsing, loading routines","ingroup":"Git","comments":"\n"},"lines":291},{"file":"odb.h","functions":["git_odb_new","git_odb_open","git_odb_add_backend","git_odb_add_alternate","git_odb_close","git_odb_read","git_odb_read_prefix","git_odb_read_header","git_odb_exists","git_odb_write","git_odb_open_wstream","git_odb_open_rstream","git_odb_hash","git_odb_object_close","git_odb_object_id","git_odb_object_data","git_odb_object_size","git_odb_object_type"],"meta":{"brief":"Git object database routines","defgroup":"git_odb Git object database routines","ingroup":"Git","comments":"\n"},"lines":338},{"file":"thread-utils.h","functions":[],"meta":{},"lines":78},{"file":"oid.h","functions":["git_oid_fromstr","git_oid_fromraw","git_oid_fmt","git_oid_pathfmt","git_oid_allocfmt","git_oid_to_string","git_oid_cpy","git_oid_cmp","git_oid_ncmp","git_oid_shorten_new","git_oid_shorten_add","git_oid_shorten_free"],"meta":{"brief":"Git object id routines","defgroup":"git_oid Git object id routines","ingroup":"Git","comments":"\n"},"lines":212},{"file":"errors.h","functions":["git_lasterror","git_strerror"],"meta":{"brief":"Git error handling routines and variables","ingroup":"Git","comments":"\n"},"lines":151},{"file":"revwalk.h","functions":["git_revwalk_new","git_revwalk_reset","git_revwalk_push","git_revwalk_hide","git_revwalk_next","git_revwalk_sorting","git_revwalk_free","git_revwalk_repository"],"meta":{"brief":"Git revision traversal routines","defgroup":"git_revwalk Git revision traversal routines","ingroup":"Git","comments":"\n"},"lines":187},{"file":"object.h","functions":["git_object_lookup","git_object_lookup_prefix","git_object_id","git_object_type","git_object_owner","git_object_close","git_object_type2string","git_object_string2type","git_object_typeisloose","git_object__size"],"meta":{"brief":"Git revision object management routines","defgroup":"git_object Git revision object management routines","ingroup":"Git","comments":"\n"},"lines":191},{"file":"refs.h","functions":["git_reference_lookup","git_reference_create_symbolic","git_reference_create_symbolic_f","git_reference_create_oid","git_reference_create_oid_f","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_rename_f","git_reference_delete","git_reference_packall","git_reference_listall","git_reference_foreach"],"meta":{"brief":"Git reference management routines","defgroup":"git_reference Git reference management routines","ingroup":"Git","comments":"\n"},"lines":324}],"functions":{"git_libgit2_version":{"type":"function","file":"common.h","line":124,"lineto":124,"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"},"description":"Return the version of the libgit2 library\nbeing currently used.","comments":"","group":"libgit2"},"git_signature_new":{"type":"function","file":"signature.h","line":50,"lineto":50,"args":[{"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":"const char *name, const char *email, git_time_t time, int offset","sig":"const char *::const char *::git_time_t::int","return":{"type":"git_signature *","comment":"the new sig, NULL on out of memory"},"description":"Create a new action signature. The signature must be freed\nmanually or using git_signature_free","comments":"","group":"signature","examples":{"general.c":["ex/v0.13.0/general.html#git_signature_new-1","ex/v0.13.0/general.html#git_signature_new-2"]}},"git_signature_now":{"type":"function","file":"signature.h","line":60,"lineto":60,"args":[{"name":"name","type":"const char *","comment":"name of the person"},{"name":"email","type":"const char *","comment":"email of the person"}],"argline":"const char *name, const char *email","sig":"const char *::const char *","return":{"type":"git_signature *","comment":"the new sig, NULL on out of memory"},"description":"Create a new action signature with a timestamp of 'now'. The\nsignature must be freed manually or using git_signature_free","comments":"","group":"signature"},"git_signature_dup":{"type":"function","file":"signature.h","line":70,"lineto":70,"args":[{"name":"sig","type":"const git_signature *","comment":"signature to duplicated"}],"argline":"const git_signature *sig","sig":"const git_signature *","return":{"type":"git_signature *","comment":"a copy of sig, NULL on out of memory"},"description":"Create a copy of an existing signature.","comments":"All internal strings are also duplicated.","group":"signature"},"git_signature_free":{"type":"function","file":"signature.h","line":77,"lineto":77,"args":[{"name":"sig","type":"git_signature *","comment":"signature to free"}],"argline":"git_signature *sig","sig":"git_signature *","return":{"type":"void"},"description":"Free an existing signature","comments":"","group":"signature"},"git_config_find_global":{"type":"function","file":"config.h","line":70,"lineto":70,"args":[{"name":"global_config_path","type":"char *","comment":"Buffer of GIT_PATH_MAX length to store the path"}],"argline":"char *global_config_path","sig":"char *","return":{"type":"int","comment":"GIT_SUCCESS if a global configuration file has been found. Its path will be stored in `buffer`."},"description":"Locate the path to the global configuration file","comments":"The user or global configuration file is usually\nlocated in `$HOME/.gitconfig`.\n\nThis method will try to guess the full path to that\nfile, if the file exists. The returned path\nmay be used on any `git_config` call to load the\nglobal configuration file.\n","group":"config"},"git_config_open_global":{"type":"function","file":"config.h","line":81,"lineto":81,"args":[{"name":"out","type":"git_config **","comment":"Pointer to store the config instance"}],"argline":"git_config **out","sig":"git_config **","return":{"type":"int","comment":"GIT_SUCCESS on success; error code otherwise"},"description":"Open the global configuration file","comments":"Utility wrapper that calls `git_config_find_global`\nand opens the located file, if it exists.\n","group":"config"},"git_config_file__ondisk":{"type":"function","file":"config.h","line":94,"lineto":94,"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"},"description":"Create a configuration file backend for ondisk files","comments":"These are the normal `.gitconfig` files that Core Git\nprocesses. Note that you first have to add this file to a\nconfiguration object before you can query it for configuration\nvariables.\n","group":"config"},"git_config_new":{"type":"function","file":"config.h","line":105,"lineto":105,"args":[{"name":"out","type":"git_config **","comment":"pointer to the new configuration"}],"argline":"git_config **out","sig":"git_config **","return":{"type":"int","comment":"GIT_SUCCESS on success; error code otherwise"},"description":"Allocate a new configuration object","comments":"This object is empty, so you have to add a file to it before you\ncan do anything with it.\n","group":"config"},"git_config_add_file":{"type":"function","file":"config.h","line":122,"lineto":122,"args":[{"name":"cfg","type":"git_config *","comment":"the configuration to add the file to"},{"name":"file","type":"git_config_file *","comment":"the configuration file (backend) to add"},{"name":"priority","type":"int","comment":"the priority the backend should have"}],"argline":"git_config *cfg, git_config_file *file, int priority","sig":"git_config *::git_config_file *::int","return":{"type":"int","comment":"GIT_SUCCESS on success; error code otherwise"},"description":"Add a generic config file instance to an existing config","comments":"Note that the configuration object will free the file\nautomatically.\n\nFurther queries on this config object will access each\nof the config file instances in order (instances with\na higher priority will be accessed first).\n","group":"config"},"git_config_add_file_ondisk":{"type":"function","file":"config.h","line":143,"lineto":143,"args":[{"name":"cfg","type":"git_config *","comment":"the configuration to add the file to"},{"name":"path","type":"const char *","comment":"path to the configuration file (backend) to add"},{"name":"priority","type":"int","comment":"the priority the backend should have"}],"argline":"git_config *cfg, const char *path, int priority","sig":"git_config *::const char *::int","return":{"type":"int","comment":"GIT_SUCCESS on success; error code otherwise"},"description":"Add an on-disk config file instance to an existing config","comments":"The on-disk file pointed at by `path` will be opened and\nparsed; it's expected to be a native Git config file following\nthe default Git config syntax (see man git-config).\n\nNote that the configuration object will free the file\nautomatically.\n\nFurther queries on this config object will access each\nof the config file instances in order (instances with\na higher priority will be accessed first).\n","group":"config"},"git_config_open_ondisk":{"type":"function","file":"config.h","line":158,"lineto":158,"args":[{"name":"cfg","type":"git_config **","comment":"The configuration instance to create"},{"name":"path","type":"const char *","comment":"Path to the on-disk file to open"}],"argline":"git_config **cfg, const char *path","sig":"git_config **::const char *","return":{"type":"int","comment":"GIT_SUCCESS on success; error code otherwise"},"description":"Create a new config instance containing a single on-disk file","comments":"This method is a simple utility wrapper for the following sequence\nof calls:\n- git_config_new\n- git_config_add_file_ondisk\n","group":"config","examples":{"general.c":["ex/v0.13.0/general.html#git_config_open_ondisk-3"]}},"git_config_free":{"type":"function","file":"config.h","line":165,"lineto":165,"args":[{"name":"cfg","type":"git_config *","comment":"the configuration to free"}],"argline":"git_config *cfg","sig":"git_config *","return":{"type":"void"},"description":"Free the configuration and its associated memory and files","comments":"","group":"config"},"git_config_get_int":{"type":"function","file":"config.h","line":175,"lineto":175,"args":[{"name":"cfg","type":"git_config *","comment":"where to look for the variable"},{"name":"name","type":"const char *","comment":"the variable's name"},{"name":"out","type":"int *","comment":"pointer to the variable where the value should be stored"}],"argline":"git_config *cfg, const char *name, int *out","sig":"git_config *::const char *::int *","return":{"type":"int","comment":"GIT_SUCCESS on success; error code otherwise"},"description":"Get the value of an integer config variable.","comments":"","group":"config","examples":{"general.c":["ex/v0.13.0/general.html#git_config_get_int-4"]}},"git_config_get_long":{"type":"function","file":"config.h","line":185,"lineto":185,"args":[{"name":"cfg","type":"git_config *","comment":"where to look for the variable"},{"name":"name","type":"const char *","comment":"the variable's name"},{"name":"out","type":"long int *","comment":"pointer to the variable where the value should be stored"}],"argline":"git_config *cfg, const char *name, long int *out","sig":"git_config *::const char *::long int *","return":{"type":"int","comment":"GIT_SUCCESS on success; error code otherwise"},"description":"Get the value of a long integer config variable.","comments":"","group":"config"},"git_config_get_bool":{"type":"function","file":"config.h","line":198,"lineto":198,"args":[{"name":"cfg","type":"git_config *","comment":"where to look for the variable"},{"name":"name","type":"const char *","comment":"the variable's name"},{"name":"out","type":"int *","comment":"pointer to the variable where the value should be stored"}],"argline":"git_config *cfg, const char *name, int *out","sig":"git_config *::const char *::int *","return":{"type":"int","comment":"GIT_SUCCESS on success; error code otherwise"},"description":"Get the value of a boolean config variable.","comments":"This function uses the usual C convention of 0 being false and\nanything else true.\n","group":"config"},"git_config_get_string":{"type":"function","file":"config.h","line":211,"lineto":211,"args":[{"name":"cfg","type":"git_config *","comment":"where to look for the variable"},{"name":"name","type":"const char *","comment":"the variable's name"},{"name":"out","type":"const char **","comment":"pointer to the variable's value"}],"argline":"git_config *cfg, const char *name, const char **out","sig":"git_config *::const char *::const char **","return":{"type":"int","comment":"GIT_SUCCESS on success; error code otherwise"},"description":"Get the value of a string config variable.","comments":"The string is owned by the variable and should not be freed by the\nuser.\n","group":"config","examples":{"general.c":["ex/v0.13.0/general.html#git_config_get_string-5"]}},"git_config_set_int":{"type":"function","file":"config.h","line":221,"lineto":221,"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":"Integer value for the variable"}],"argline":"git_config *cfg, const char *name, int value","sig":"git_config *::const char *::int","return":{"type":"int","comment":"GIT_SUCCESS on success; error code otherwise"},"description":"Set the value of an integer config variable.","comments":"","group":"config"},"git_config_set_long":{"type":"function","file":"config.h","line":231,"lineto":231,"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":"long int","comment":"Long integer value for the variable"}],"argline":"git_config *cfg, const char *name, long int value","sig":"git_config *::const char *::long int","return":{"type":"int","comment":"GIT_SUCCESS on success; error code otherwise"},"description":"Set the value of a long integer config variable.","comments":"","group":"config"},"git_config_set_bool":{"type":"function","file":"config.h","line":241,"lineto":241,"args":[{"name":"cfg","type":"git_config *","comment":"where to look for the variable"},{"name":"name","type":"const char *","comment":"the variable's name"},{"name":"value","type":"int","comment":"the value to store"}],"argline":"git_config *cfg, const char *name, int value","sig":"git_config *::const char *::int","return":{"type":"int","comment":"GIT_SUCCESS on success; error code otherwise"},"description":"Set the value of a boolean config variable.","comments":"","group":"config"},"git_config_set_string":{"type":"function","file":"config.h","line":254,"lineto":254,"args":[{"name":"cfg","type":"git_config *","comment":"where to look for the variable"},{"name":"name","type":"const char *","comment":"the variable's name"},{"name":"value","type":"const char *","comment":"the string to store."}],"argline":"git_config *cfg, const char *name, const char *value","sig":"git_config *::const char *::const char *","return":{"type":"int","comment":"GIT_SUCCESS on success; error code otherwise"},"description":"Set the value of a string config variable.","comments":"A copy of the string is made and the user is free to use it\nafterwards.\n","group":"config"},"git_config_foreach":{"type":"function","file":"config.h","line":269,"lineto":269,"args":[{"name":"cfg","type":"git_config *","comment":"where to get the variables from"},{"name":"callback","type":"int (*)(const char *, void *data)","comment":"the function to call on each variable"},{"name":"data","type":"void *","comment":"the data to pass to the callback"}],"argline":"git_config *cfg, int (*callback)(const char *, void *data), void *data","sig":"git_config *::int (*)(const char *, void *data)::void *","return":{"type":"int","comment":"GIT_SUCCESS or the return value of the callback which didn't return 0"},"description":"Perform an operation on each config variable.","comments":"The callback is passed a pointer to a config variable name and the\ndata pointer passed to this function. As soon as one of the\ncallback functions returns something other than 0, this function\nreturns that value.\n","group":"config"},"git_blob_lookup":{"type":"function","file":"blob.h","line":50,"lineto":53,"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 on success; error code otherwise"},"description":"Lookup a blob object from a repository.","comments":"","group":"blob","examples":{"general.c":["ex/v0.13.0/general.html#git_blob_lookup-6"]}},"git_blob_lookup_prefix":{"type":"function","file":"blob.h","line":67,"lineto":70,"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 on success; error code otherwise"},"description":"Lookup a blob object from a repository,\ngiven a prefix of its identifier (short id).","comments":"@see git_object_lookup_prefix\n","group":"blob"},"git_blob_close":{"type":"function","file":"blob.h","line":83,"lineto":86,"args":[{"name":"blob","type":"git_blob *","comment":"the blob to close"}],"argline":"git_blob *blob","sig":"git_blob *","return":{"type":"void"},"description":"Close an open blob","comments":"This is a wrapper around git_object_close()\n\nIMPORTANT:\nIt *is* necessary to call this method when you stop\nusing a blob. Failure to do so will cause a memory leak.\n","group":"blob"},"git_blob_rawcontent":{"type":"function","file":"blob.h","line":101,"lineto":101,"args":[{"name":"blob","type":"git_blob *","comment":"pointer to the blob"}],"argline":"git_blob *blob","sig":"git_blob *","return":{"type":"const void *","comment":"the pointer; NULL if the blob has no contents"},"description":"Get a read-only buffer with the raw content of a blob.","comments":"A pointer to the raw content of a blob is returned;\nthis pointer is owned internally by the object and shall\nnot be free'd. The pointer may be invalidated at a later\ntime.\n","group":"blob","examples":{"general.c":["ex/v0.13.0/general.html#git_blob_rawcontent-7"]}},"git_blob_rawsize":{"type":"function","file":"blob.h","line":109,"lineto":109,"args":[{"name":"blob","type":"git_blob *","comment":"pointer to the blob"}],"argline":"git_blob *blob","sig":"git_blob *","return":{"type":"int","comment":"size on bytes"},"description":"Get the size in bytes of the contents of a blob","comments":"","group":"blob","examples":{"general.c":["ex/v0.13.0/general.html#git_blob_rawsize-8","ex/v0.13.0/general.html#git_blob_rawsize-9"]}},"git_blob_create_fromfile":{"type":"function","file":"blob.h","line":122,"lineto":122,"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. this repository cannot be bare"},{"name":"path","type":"const char *","comment":"file from which the blob will be created, relative 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 on success; error code otherwise"},"description":"Read a file from the working folder of a repository\nand write it to the Object Database as a loose blob","comments":"","group":"blob"},"git_blob_create_frombuffer":{"type":"function","file":"blob.h","line":134,"lineto":134,"args":[{"name":"oid","type":"git_oid *","comment":"return the oid of the written blob"},{"name":"repo","type":"git_repository *","comment":"repository where to blob will be written"},{"name":"buffer","type":"const void *","comment":"data to be written into the blob"},{"name":"len","type":"size_t","comment":"length of the data"}],"argline":"git_oid *oid, git_repository *repo, const void *buffer, size_t len","sig":"git_oid *::git_repository *::const void *::size_t","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Write an in-memory buffer to the ODB as a blob","comments":"","group":"blob"},"git_index_open":{"type":"function","file":"index.h","line":129,"lineto":129,"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 on success; error code otherwise"},"description":"Create a new bare Git index object as a memory representation\nof the Git index file in 'index_path', without a repository\nto back it.","comments":"Since there is no ODB or working directory behind this index,\nany Index methods which rely on these (e.g. index_add) will\nfail with the GIT_EBAREINDEX error code.\n\nIf you need to access the index of an actual repository,\nuse the `git_repository_index` wrapper.\n\nThe index must be freed once it's no longer in use.\n","group":"index"},"git_index_clear":{"type":"function","file":"index.h","line":138,"lineto":138,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"void"},"description":"Clear the contents (all the entries) of an index object.\nThis clears the index object in memory; changes must be manually\nwritten to disk for them to take effect.","comments":"","group":"index"},"git_index_free":{"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":"void"},"description":"Free an existing index object.","comments":"","group":"index","examples":{"showindex.c":["ex/v0.13.0/showindex.html#git_index_free-1"],"general.c":["ex/v0.13.0/general.html#git_index_free-10"]}},"git_index_read":{"type":"function","file":"index.h","line":154,"lineto":154,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"int","comment":"0 on success, otherwise an error code"},"description":"Update the contents of an existing index object in memory\nby reading from the hard disk.","comments":"","group":"index","examples":{"showindex.c":["ex/v0.13.0/showindex.html#git_index_read-2"]}},"git_index_write":{"type":"function","file":"index.h","line":163,"lineto":163,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"int","comment":"0 on success, otherwise an error code"},"description":"Write an existing index object from memory back to disk\nusing an atomic file lock.","comments":"","group":"index"},"git_index_find":{"type":"function","file":"index.h","line":173,"lineto":173,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"},{"name":"path","type":"const char *","comment":"path to search"}],"argline":"git_index *index, const char *path","sig":"git_index *::const char *","return":{"type":"int","comment":"an index >= 0 if found, -1 otherwise"},"description":"Find the first index of any entries which point to given\npath in the Git index.","comments":"","group":"index"},"git_index_add":{"type":"function","file":"index.h","line":188,"lineto":188,"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 on success, otherwise an error code"},"description":"Add or update an index entry from a file in disk","comments":"The file `path` must be relative to the repository's\nworking folder and must be readable.\n\nThis method will fail in bare index instances.\n","group":"index"},"git_index_add2":{"type":"function","file":"index.h","line":200,"lineto":200,"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 on success, otherwise an error code"},"description":"Add or update an index entry from an in-memory struct","comments":"A full copy (including the 'path' string) of the given\n'source_entry' will be inserted on the index.\n","group":"index"},"git_index_append":{"type":"function","file":"index.h","line":219,"lineto":219,"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 on success, otherwise an error code"},"description":"Add (append) an index entry from a file in disk","comments":"A new entry will always be inserted into the index;\nif the index already contains an entry for such\npath, the old entry will **not** be replaced.\n\nThe file `path` must be relative to the repository's\nworking folder and must be readable.\n\nThis method will fail in bare index instances.\n","group":"index"},"git_index_append2":{"type":"function","file":"index.h","line":236,"lineto":236,"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 on success, otherwise an error code"},"description":"Add (append) an index entry from an in-memory struct","comments":"A new entry will always be inserted into the index;\nif the index already contains an entry for the path\nin the `entry` struct, the old entry will **not** be\nreplaced.\n\nA full copy (including the 'path' string) of the given\n'source_entry' will be inserted on the index.\n","group":"index"},"git_index_remove":{"type":"function","file":"index.h","line":245,"lineto":245,"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 on success, otherwise an error code"},"description":"Remove an entry from the index","comments":"","group":"index"},"git_index_get":{"type":"function","file":"index.h","line":260,"lineto":260,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"},{"name":"n","type":"unsigned int","comment":"the position of the entry"}],"argline":"git_index *index, unsigned int n","sig":"git_index *::unsigned int","return":{"type":"git_index_entry *","comment":"a pointer to the entry; NULL if out of bounds"},"description":"Get a pointer to one of the entries in the index","comments":"This entry can be modified, and the changes will be written\nback to disk on the next write() call.\n\nThe entry should not be freed by the caller.\n","group":"index","examples":{"showindex.c":["ex/v0.13.0/showindex.html#git_index_get-3"],"general.c":["ex/v0.13.0/general.html#git_index_get-11"]}},"git_index_entrycount":{"type":"function","file":"index.h","line":268,"lineto":268,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"unsigned int","comment":"integer of count of current entries"},"description":"Get the count of entries currently in the index","comments":"","group":"index","examples":{"showindex.c":["ex/v0.13.0/showindex.html#git_index_entrycount-4"],"general.c":["ex/v0.13.0/general.html#git_index_entrycount-12"]}},"git_index_entrycount_unmerged":{"type":"function","file":"index.h","line":276,"lineto":276,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"unsigned int","comment":"integer of count of current unmerged entries"},"description":"Get the count of unmerged entries currently in the index","comments":"","group":"index"},"git_index_get_unmerged_bypath":{"type":"function","file":"index.h","line":288,"lineto":288,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"},{"name":"path","type":"const char *","comment":"path to search"}],"argline":"git_index *index, const char *path","sig":"git_index *::const char *","return":{"type":"const git_index_entry_unmerged *","comment":"the unmerged entry; NULL if not found"},"description":"Get an unmerged entry from the index.","comments":"The returned entry is read-only and should not be modified\nof freed by the caller.\n","group":"index"},"git_index_get_unmerged_byindex":{"type":"function","file":"index.h","line":300,"lineto":300,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"},{"name":"n","type":"unsigned int","comment":"the position of the entry"}],"argline":"git_index *index, unsigned int n","sig":"git_index *::unsigned int","return":{"type":"const git_index_entry_unmerged *","comment":"a pointer to the unmerged entry; NULL if out of bounds"},"description":"Get an unmerged entry from the index.","comments":"The returned entry is read-only and should not be modified\nof freed by the caller.\n","group":"index"},"git_index_entry_stage":{"type":"function","file":"index.h","line":313,"lineto":313,"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"},"description":"Return the stage number from a git index entry","comments":"This entry is calculated from the entrie's flag\nattribute like this:\n\n(entry->flags & GIT_IDXENTRY_STAGEMASK) >> GIT_IDXENTRY_STAGESHIFT\n","group":"index"},"git_repository_open":{"type":"function","file":"repository.h","line":64,"lineto":64,"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 on success; error code otherwise"},"description":"Open a git repository.","comments":"The 'path' argument must point to an existing git repository\nfolder, e.g.\n\n\t/path/to/my_repo/.git/\t(normal repository)\n\t\t\t\t\t\tobjects/\n\t\t\t\t\t\tindex\n\t\t\t\t\t\tHEAD\n\n\t/path/to/bare_repo/\t\t(bare repository)\n\t\t\t\t\tobjects/\n\t\t\t\t\tindex\n\t\t\t\t\tHEAD\n\nThe method will automatically detect if 'path' is a normal\nor bare repository or fail is 'path' is neither.\n","group":"repository","examples":{"showindex.c":["ex/v0.13.0/showindex.html#git_repository_open-5"],"general.c":["ex/v0.13.0/general.html#git_repository_open-13"]}},"git_repository_open2":{"type":"function","file":"repository.h","line":93,"lineto":97,"args":[{"name":"repository","type":"git_repository **","comment":"pointer to the repo which will be opened"},{"name":"git_dir","type":"const char *","comment":"The full path to the repository folder e.g. a '.git' folder for live repos, any folder for bare Equivalent to $GIT_DIR. Cannot be NULL."},{"name":"git_object_directory","type":"const char *","comment":"The full path to the ODB folder. the folder where all the loose and packed objects are stored Equivalent to $GIT_OBJECT_DIRECTORY. If NULL, \"$GIT_DIR/objects/\" is assumed."},{"name":"git_index_file","type":"const char *","comment":"The full path to the index (dircache) file Equivalent to $GIT_INDEX_FILE. If NULL, \"$GIT_DIR/index\" is assumed."},{"name":"git_work_tree","type":"const char *","comment":"The full path to the working tree of the repository, if the repository is not bare. Equivalent to $GIT_WORK_TREE. If NULL, the repository is assumed to be bare."}],"argline":"git_repository **repository,\n\t\tconst char *git_dir,\n\t\tconst char *git_object_directory,\n\t\tconst char *git_index_file,\n\t\tconst char *git_work_tree","sig":"git_repository **::const char *::const char *::const char *::const char *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Open a git repository by manually specifying all its paths","comments":"","group":"repository"},"git_repository_open3":{"type":"function","file":"repository.h","line":128,"lineto":132,"args":[{"name":"repository","type":"git_repository **","comment":"pointer to the repo which will be opened"},{"name":"git_dir","type":"const char *","comment":"The full path to the repository folder e.g. a '.git' folder for live repos, any folder for bare Equivalent to $GIT_DIR. Cannot be NULL."},{"name":"object_database","type":"git_odb *","comment":"A pointer to a git_odb created & initialized by the user (e.g. with custom backends). This object database will be owned by the repository and will be automatically free'd. It should not be manually free'd by the user, or this git_repository object will become invalid."},{"name":"git_index_file","type":"const char *","comment":"The full path to the index (dircache) file Equivalent to $GIT_INDEX_FILE. If NULL, \"$GIT_DIR/index\" is assumed."},{"name":"git_work_tree","type":"const char *","comment":"The full path to the working tree of the repository, if the repository is not bare. Equivalent to $GIT_WORK_TREE. If NULL, the repository is assumed to be bare."}],"argline":"git_repository **repository,\n\t\tconst char *git_dir,\n\t\tgit_odb *object_database,\n\t\tconst char *git_index_file,\n\t\tconst char *git_work_tree","sig":"git_repository **::const char *::git_odb *::const char *::const char *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Open a git repository by manually specifying its paths and\nthe object database it will use.","comments":"","group":"repository"},"git_repository_discover":{"type":"function","file":"repository.h","line":161,"lineto":161,"args":[{"name":"repository_path","type":"char *","comment":"The user allocated buffer which will contain the found path."},{"name":"size","type":"size_t","comment":"repository_path size"},{"name":"start_path","type":"const char *","comment":"The base path where the lookup starts."},{"name":"across_fs","type":"int","comment":"If true, then the lookup will not stop when a filesystem device change is detected while exploring parent directories."},{"name":"ceiling_dirs","type":"const char *","comment":"A GIT_PATH_LIST_SEPARATOR separated list of absolute symbolic link free paths. The lookup will stop when any of this paths is reached. Note that the lookup always performs on start_path no matter start_path appears in ceiling_dirs ceiling_dirs might be NULL (which is equivalent to an empty string)"}],"argline":"char *repository_path, size_t size, const char *start_path, int across_fs, const char *ceiling_dirs","sig":"char *::size_t::const char *::int::const char *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Look for a git repository and copy its path in the given buffer. The lookup start\nfrom base_path and walk across parent directories if nothing has been found. The\nlookup ends when the first repository is found, or when reaching a directory\nreferenced in ceiling_dirs or when the filesystem changes (in case across_fs\nis true).","comments":"The method will automatically detect if the repository is bare (if there is\na repository).\n","group":"repository"},"git_repository_database":{"type":"function","file":"repository.h","line":169,"lineto":169,"args":[{"name":"repo","type":"git_repository *","comment":"a repository object"}],"argline":"git_repository *repo","sig":"git_repository *","return":{"type":"git_odb *","comment":"a pointer to the object db"},"description":"Get the object database behind a Git repository","comments":"","group":"repository","examples":{"general.c":["ex/v0.13.0/general.html#git_repository_database-14"]}},"git_repository_index":{"type":"function","file":"repository.h","line":189,"lineto":189,"args":[{"name":"index","type":"git_index **","comment":"Pointer where to store the index"},{"name":"repo","type":"git_repository *","comment":"a repository object"}],"argline":"git_index **index, git_repository *repo","sig":"git_index **::git_repository *","return":{"type":"int","comment":"0 on success; error code if the index could not be opened"},"description":"Open the Index file of a Git repository","comments":"This returns a new and unique `git_index` object representing the\nactive index for the repository.\n\nThis method may be called more than once (e.g. on different threads).\n\nEach returned `git_index` object is independent and suffers no race\nconditions: synchronization is done at the FS level.\n\nEach returned `git_index` object must be manually freed by the user,\nusing `git_index_free`.\n","group":"repository","examples":{"showindex.c":["ex/v0.13.0/showindex.html#git_repository_index-6"],"general.c":["ex/v0.13.0/general.html#git_repository_index-15"]}},"git_repository_free":{"type":"function","file":"repository.h","line":202,"lineto":202,"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"},"description":"Free a previously allocated repository","comments":"Note that after a repository is free'd, all the objects it has spawned\nwill still exist until they are manually closed by the user\nwith `git_object_close`, but accessing any of the attributes of\nan object without a backing repository will result in undefined\nbehavior\n","group":"repository","examples":{"showindex.c":["ex/v0.13.0/showindex.html#git_repository_free-7"],"general.c":["ex/v0.13.0/general.html#git_repository_free-16"]}},"git_repository_init":{"type":"function","file":"repository.h","line":219,"lineto":219,"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","comment":"if true, a Git repository without a working directory is created at the pointed path. If false, provided path will be considered as the working directory into which the .git directory will be created."}],"argline":"git_repository **repo_out, const char *path, unsigned is_bare","sig":"git_repository **::const char *::unsigned","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Creates a new Git repository in the given folder.","comments":"TODO:\n- Reinit the repository\n- Create config files\n","group":"repository"},"git_repository_is_empty":{"type":"function","file":"repository.h","line":231,"lineto":231,"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 if the repository is corrupted"},"description":"Check if a repository is empty","comments":"An empty repository has just been initialized and contains\nno commits.\n","group":"repository"},"git_repository_path":{"type":"function","file":"repository.h","line":258,"lineto":258,"args":[{"name":"repo","type":"git_repository *","comment":"a repository object"},{"name":"id","type":"git_repository_pathid","comment":"The ID of the path to return"}],"argline":"git_repository *repo, git_repository_pathid id","sig":"git_repository *::git_repository_pathid","return":{"type":"const char *","comment":"absolute path of the requested id"},"description":"Get one of the paths to the repository","comments":"Possible values for `id`:\n\nGIT_REPO_PATH: return the path to the repository\nGIT_REPO_PATH_INDEX: return the path to the index\nGIT_REPO_PATH_ODB: return the path to the ODB\nGIT_REPO_PATH_WORKDIR: return the path to the working\n\tdirectory\n","group":"repository"},"git_repository_is_bare":{"type":"function","file":"repository.h","line":266,"lineto":266,"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 otherwise."},"description":"Check if a repository is bare","comments":"","group":"repository"},"git_repository_config":{"type":"function","file":"repository.h","line":301,"lineto":304,"args":[{"name":"out","type":"git_config **","comment":"the repository's configuration"},{"name":"repo","type":"git_repository *","comment":"the repository for which to get the config"},{"name":"user_config_path","type":"const char *","comment":"Path to the user config file"},{"name":"system_config_path","type":"const char *","comment":"Path to the system-wide config file"}],"argline":"git_config **out,\n\tgit_repository *repo,\n\tconst char *user_config_path,\n\tconst char *system_config_path","sig":"git_config **::git_repository *::const char *::const char *","return":{"type":"int"},"description":"Retrieve the relevant configuration for a repository","comments":"By default he returned `git_config` instance contains a single\nconfiguration file, the `.gitconfig' file that may be found\ninside the repository.\n\nIf the `user_config_path` variable is not NULL, the given config\nfile will be also included in the configuration set. On most UNIX\nsystems, this file may be found on `$HOME/.gitconfig`.\n\nIf the `system_config_path` variable is not NULL, the given config\nfile will be also included in the configuration set. On most UNIX\nsystems, this file may be found on `$PREFIX/etc/gitconfig`.\n\nThe resulting `git_config` instance will query the files in the following\norder:\n\n- Repository configuration file\n- User configuration file\n- System configuration file\n\nThe method will fail if any of the passed config files cannot be\nfound or accessed.\n\nThe returned `git_config` instance is owned by the caller and must\nbe manually free'd once it's no longer on use.\n","group":"repository"},"git_tag_lookup":{"type":"function","file":"tag.h","line":50,"lineto":53,"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 on success; error code otherwise"},"description":"Lookup a tag object from the repository.","comments":"","group":"tag","examples":{"general.c":["ex/v0.13.0/general.html#git_tag_lookup-17"]}},"git_tag_lookup_prefix":{"type":"function","file":"tag.h","line":67,"lineto":70,"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 on success; error code otherwise"},"description":"Lookup a tag object from the repository,\ngiven a prefix of its identifier (short id).","comments":"@see git_object_lookup_prefix\n","group":"tag"},"git_tag_close":{"type":"function","file":"tag.h","line":83,"lineto":86,"args":[{"name":"tag","type":"git_tag *","comment":"the tag to close"}],"argline":"git_tag *tag","sig":"git_tag *","return":{"type":"void"},"description":"Close an open tag","comments":"This is a wrapper around git_object_close()\n\nIMPORTANT:\nIt *is* necessary to call this method when you stop\nusing a tag. Failure to do so will cause a memory leak.\n","group":"tag"},"git_tag_id":{"type":"function","file":"tag.h","line":96,"lineto":96,"args":[{"name":"tag","type":"git_tag *","comment":"a previously loaded tag."}],"argline":"git_tag *tag","sig":"git_tag *","return":{"type":"const git_oid *","comment":"object identity for the tag."},"description":"Get the id of a tag.","comments":"","group":"tag"},"git_tag_target":{"type":"function","file":"tag.h","line":108,"lineto":108,"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 on success; error code otherwise"},"description":"Get the tagged object of a tag","comments":"This method performs a repository lookup for the\ngiven object and returns it\n","group":"tag","examples":{"general.c":["ex/v0.13.0/general.html#git_tag_target-18"]}},"git_tag_target_oid":{"type":"function","file":"tag.h","line":116,"lineto":116,"args":[{"name":"tag","type":"git_tag *","comment":"a previously loaded tag."}],"argline":"git_tag *tag","sig":"git_tag *","return":{"type":"const git_oid *","comment":"pointer to the OID"},"description":"Get the OID of the tagged object of a tag","comments":"","group":"tag"},"git_tag_type":{"type":"function","file":"tag.h","line":124,"lineto":124,"args":[{"name":"tag","type":"git_tag *","comment":"a previously loaded tag."}],"argline":"git_tag *tag","sig":"git_tag *","return":{"type":"git_otype","comment":"type of the tagged object"},"description":"Get the type of a tag's tagged object","comments":"","group":"tag","examples":{"general.c":["ex/v0.13.0/general.html#git_tag_type-19"]}},"git_tag_name":{"type":"function","file":"tag.h","line":132,"lineto":132,"args":[{"name":"tag","type":"git_tag *","comment":"a previously loaded tag."}],"argline":"git_tag *tag","sig":"git_tag *","return":{"type":"const char *","comment":"name of the tag"},"description":"Get the name of a tag","comments":"","group":"tag","examples":{"general.c":["ex/v0.13.0/general.html#git_tag_name-20"]}},"git_tag_tagger":{"type":"function","file":"tag.h","line":140,"lineto":140,"args":[{"name":"tag","type":"git_tag *","comment":"a previously loaded tag."}],"argline":"git_tag *tag","sig":"git_tag *","return":{"type":"const git_signature *","comment":"reference to the tag's author"},"description":"Get the tagger (author) of a tag","comments":"","group":"tag"},"git_tag_message":{"type":"function","file":"tag.h","line":148,"lineto":148,"args":[{"name":"tag","type":"git_tag *","comment":"a previously loaded tag."}],"argline":"git_tag *tag","sig":"git_tag *","return":{"type":"const char *","comment":"message of the tag"},"description":"Get the message of a tag","comments":"","group":"tag","examples":{"general.c":["ex/v0.13.0/general.html#git_tag_message-21"]}},"git_tag_create":{"type":"function","file":"tag.h","line":181,"lineto":188,"args":[{"name":"oid","type":"git_oid *","comment":"Pointer where to store the OID of the newly created tag. If the tag already exists, this parameter will be the oid of the existed tag, and the function will 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 for consistency. It should also not conflict with an already existing tag name"},{"name":"target","type":"const git_oid *","comment":"OID to which this tag points; note that no validation is done on this OID. Use the _o version of this method to assure a proper object is being tagged"},{"name":"target_type","type":"git_otype","comment":"Type of the tagged OID; note that no validation is performed here either"},{"name":"tagger","type":"const git_signature *","comment":"Signature of the tagger for this tag, and of the tagging time"},{"name":"message","type":"const char *","comment":"Full message for this tag"}],"argline":"git_oid *oid,\n\t\tgit_repository *repo,\n\t\tconst char *tag_name,\n\t\tconst git_oid *target,\n\t\tgit_otype target_type,\n\t\tconst git_signature *tagger,\n\t\tconst char *message","sig":"git_oid *::git_repository *::const char *::const git_oid *::git_otype::const git_signature *::const char *","return":{"type":"int","comment":"0 on success; error code otherwise. A tag object is written to the ODB, and a proper reference is written in the /refs/tags folder, pointing to it"},"description":"Create a new tag in the repository from an OID","comments":"","group":"tag"},"git_tag_create_o":{"type":"function","file":"tag.h","line":203,"lineto":209,"args":[{"name":"oid","type":"git_oid *"},{"name":"repo","type":"git_repository *"},{"name":"tag_name","type":"const char *"},{"name":"target","type":"const git_object *"},{"name":"tagger","type":"const git_signature *"},{"name":"message","type":"const char *"}],"argline":"git_oid *oid,\n\t\tgit_repository *repo,\n\t\tconst char *tag_name,\n\t\tconst git_object *target,\n\t\tconst git_signature *tagger,\n\t\tconst char *message","sig":"git_oid *::git_repository *::const char *::const git_object *::const git_signature *::const char *","return":{"type":"int"},"description":"Create a new tag in the repository from an existing\n`git_object` instance","comments":"This method replaces the `target` and `target_type`\nparemeters of `git_tag_create` by a single instance\nof a `const git_object *`, which is assured to be\na proper object in the ODB and hence will create\na valid tag\n\n@see git_tag_create","group":"tag"},"git_tag_create_frombuffer":{"type":"function","file":"tag.h","line":220,"lineto":223,"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"}],"argline":"git_oid *oid,\n\t\tgit_repository *repo,\n\t\tconst char *buffer","sig":"git_oid *::git_repository *::const char *","return":{"type":"int"},"description":"Create a new tag in the repository from a buffer","comments":"","group":"tag"},"git_tag_create_f":{"type":"function","file":"tag.h","line":253,"lineto":260,"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":"tag_name","type":"const char *","comment":"Name for the tag; this name is validated for consistency."},{"name":"target","type":"const git_oid *","comment":"OID to which this tag points; note that no validation is done on this OID. Use the _fo version of this method to assure a proper object is being tagged"},{"name":"target_type","type":"git_otype","comment":"Type of the tagged OID; note that no validation is performed here either"},{"name":"tagger","type":"const git_signature *","comment":"Signature of the tagger for this tag, and of the tagging time"},{"name":"message","type":"const char *","comment":"Full message for this tag"}],"argline":"git_oid *oid,\n\t\tgit_repository *repo,\n\t\tconst char *tag_name,\n\t\tconst git_oid *target,\n\t\tgit_otype target_type,\n\t\tconst git_signature *tagger,\n\t\tconst char *message","sig":"git_oid *::git_repository *::const char *::const git_oid *::git_otype::const git_signature *::const char *","return":{"type":"int","comment":"0 on success; error code otherwise. A tag object is written to the ODB, and a proper reference is written in the /refs/tags folder, pointing to it"},"description":"Create a new tag in the repository from an OID\nand overwrite an already existing tag reference, if any.","comments":"","group":"tag"},"git_tag_create_fo":{"type":"function","file":"tag.h","line":275,"lineto":281,"args":[{"name":"oid","type":"git_oid *"},{"name":"repo","type":"git_repository *"},{"name":"tag_name","type":"const char *"},{"name":"target","type":"const git_object *"},{"name":"tagger","type":"const git_signature *"},{"name":"message","type":"const char *"}],"argline":"git_oid *oid,\n\t\tgit_repository *repo,\n\t\tconst char *tag_name,\n\t\tconst git_object *target,\n\t\tconst git_signature *tagger,\n\t\tconst char *message","sig":"git_oid *::git_repository *::const char *::const git_object *::const git_signature *::const char *","return":{"type":"int"},"description":"Create a new tag in the repository from an existing\n`git_object` instance and overwrite an already existing \ntag reference, if any.","comments":"This method replaces the `target` and `target_type`\nparemeters of `git_tag_create_f` by a single instance\nof a `const git_object *`, which is assured to be\na proper object in the ODB and hence will create\na valid tag\n\n@see git_tag_create_f","group":"tag"},"git_tag_delete":{"type":"function","file":"tag.h","line":293,"lineto":295,"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; this name is validated for consistency."}],"argline":"git_repository *repo,\n\t\tconst char *tag_name","sig":"git_repository *::const char *","return":{"type":"int","comment":"0 on success; error code otherwise."},"description":"Delete an existing tag reference.","comments":"","group":"tag"},"git_tag_list":{"type":"function","file":"tag.h","line":310,"lineto":312,"args":[{"name":"tag_names","type":"git_strarray *","comment":"Pointer to a git_strarray structure where the tag names will be stored"},{"name":"repo","type":"git_repository *","comment":"Repository where to find the tags"}],"argline":"git_strarray *tag_names,\n\t\tgit_repository *repo","sig":"git_strarray *::git_repository *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Fill a list with all the tags in the Repository","comments":"The string array will be filled with the names of the\nmatching tags; these values are owned by the user and\nshould be free'd manually when no longer needed, using\n`git_strarray_free`.\n","group":"tag"},"git_commit_lookup":{"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 an 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 on success; error code otherwise"},"description":"Lookup a commit object from a repository.","comments":"","group":"commit","examples":{"general.c":["ex/v0.13.0/general.html#git_commit_lookup-22","ex/v0.13.0/general.html#git_commit_lookup-23"]}},"git_commit_lookup_prefix":{"type":"function","file":"commit.h","line":69,"lineto":72,"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 an annotated tag it will be peeled back to the commit."},{"name":"len","type":"unsigned","comment":"the length of the short identifier"}],"argline":"git_commit **commit, git_repository *repo, const git_oid *id, unsigned len","sig":"git_commit **::git_repository *::const git_oid *::unsigned","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Lookup a commit object from a repository,\ngiven a prefix of its identifier (short id).","comments":"@see git_object_lookup_prefix\n","group":"commit"},"git_commit_close":{"type":"function","file":"commit.h","line":85,"lineto":88,"args":[{"name":"commit","type":"git_commit *","comment":"the commit to close"}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"void"},"description":"Close an open commit","comments":"This is a wrapper around git_object_close()\n\nIMPORTANT:\nIt *is* necessary to call this method when you stop\nusing a commit. Failure to do so will cause a memory leak.\n","group":"commit","examples":{"general.c":["ex/v0.13.0/general.html#git_commit_close-24","ex/v0.13.0/general.html#git_commit_close-25","ex/v0.13.0/general.html#git_commit_close-26","ex/v0.13.0/general.html#git_commit_close-27"]}},"git_commit_id":{"type":"function","file":"commit.h","line":97,"lineto":97,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"const git_oid *","comment":"object identity for the commit."},"description":"Get the id of a commit.","comments":"","group":"commit","examples":{"general.c":["ex/v0.13.0/general.html#git_commit_id-28"]}},"git_commit_message_short":{"type":"function","file":"commit.h","line":105,"lineto":105,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"const char *","comment":"the short message of a commit"},"description":"Get the short (one line) message of a commit.","comments":"","group":"commit","examples":{"general.c":["ex/v0.13.0/general.html#git_commit_message_short-29","ex/v0.13.0/general.html#git_commit_message_short-30"]}},"git_commit_message":{"type":"function","file":"commit.h","line":113,"lineto":113,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"const char *","comment":"the message of a commit"},"description":"Get the full message of a commit.","comments":"","group":"commit","examples":{"general.c":["ex/v0.13.0/general.html#git_commit_message-31"]}},"git_commit_time":{"type":"function","file":"commit.h","line":121,"lineto":121,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"git_time_t","comment":"the time of a commit"},"description":"Get the commit time (i.e. committer time) of a commit.","comments":"","group":"commit","examples":{"general.c":["ex/v0.13.0/general.html#git_commit_time-32","ex/v0.13.0/general.html#git_commit_time-33"]}},"git_commit_time_offset":{"type":"function","file":"commit.h","line":129,"lineto":129,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"int","comment":"positive or negative timezone offset, in minutes from UTC"},"description":"Get the commit timezone offset (i.e. committer's preferred timezone) of a commit.","comments":"","group":"commit"},"git_commit_committer":{"type":"function","file":"commit.h","line":137,"lineto":137,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"const git_signature *","comment":"the committer of a commit"},"description":"Get the committer of a commit.","comments":"","group":"commit","examples":{"general.c":["ex/v0.13.0/general.html#git_commit_committer-34"]}},"git_commit_author":{"type":"function","file":"commit.h","line":145,"lineto":145,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"const git_signature *","comment":"the author of a commit"},"description":"Get the author of a commit.","comments":"","group":"commit","examples":{"general.c":["ex/v0.13.0/general.html#git_commit_author-35","ex/v0.13.0/general.html#git_commit_author-36"]}},"git_commit_tree":{"type":"function","file":"commit.h","line":154,"lineto":154,"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 on success; error code otherwise"},"description":"Get the tree pointed to by a commit.","comments":"","group":"commit"},"git_commit_tree_oid":{"type":"function","file":"commit.h","line":164,"lineto":164,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"const git_oid *","comment":"the id of tree pointed to by commit."},"description":"Get the id of the tree pointed to by a commit. This differs from\n`git_commit_tree` in that no attempts are made to fetch an object\nfrom the ODB.","comments":"","group":"commit"},"git_commit_parentcount":{"type":"function","file":"commit.h","line":172,"lineto":172,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"unsigned int","comment":"integer of count of parents"},"description":"Get the number of parents of this commit","comments":"","group":"commit","examples":{"general.c":["ex/v0.13.0/general.html#git_commit_parentcount-37"]}},"git_commit_parent":{"type":"function","file":"commit.h","line":182,"lineto":182,"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 on success; error code otherwise"},"description":"Get the specified parent of the commit.","comments":"","group":"commit","examples":{"general.c":["ex/v0.13.0/general.html#git_commit_parent-38"]}},"git_commit_parent_oid":{"type":"function","file":"commit.h","line":193,"lineto":193,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."},{"name":"n","type":"unsigned int","comment":"the position of the parent (from 0 to `parentcount`)"}],"argline":"git_commit *commit, unsigned int n","sig":"git_commit *::unsigned int","return":{"type":"const git_oid *","comment":"the id of the parent, NULL on error."},"description":"Get the oid of a specified parent for a commit. This is different from\n`git_commit_parent`, which will attempt to load the parent commit from\nthe ODB.","comments":"","group":"commit"},"git_commit_create":{"type":"function","file":"commit.h","line":232,"lineto":241,"args":[{"name":"oid","type":"git_oid *","comment":"Pointer where to store the OID of the newly 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 will be updated to point to this commit. If the reference is not direct, it will be resolved to a direct reference. Use \"HEAD\" to update the HEAD of the current branch and make it point to this commit"},{"name":"author","type":"const git_signature *","comment":"Signature representing the author and the authory time of this commit"},{"name":"committer","type":"const git_signature *","comment":"Signature representing the committer and the commit time of this commit"},{"name":"message","type":"const char *","comment":"Full message for this commit"},{"name":"tree_oid","type":"const git_oid *","comment":"Object ID of the tree for this commit. Note that no validation is performed on this OID. Use the _o variants of this method to assure a proper tree is passed to the commit."},{"name":"parent_count","type":"int","comment":"Number of parents for this commit"}],"argline":"git_oid *oid,\n\t\tgit_repository *repo,\n\t\tconst char *update_ref,\n\t\tconst git_signature *author,\n\t\tconst git_signature *committer,\n\t\tconst char *message,\n\t\tconst git_oid *tree_oid,\n\t\tint parent_count,\n\t\tconst git_oid *parent_oids[]","sig":"git_oid *::git_repository *::const char *::const git_signature *::const git_signature *::const char *::const git_oid *::int","return":{"type":"int","comment":"0 on success; error code otherwise The created commit will be written to the Object Database and the given reference will be updated to point to it"},"description":"Create a new commit in the repository","comments":"","group":"commit"},"git_commit_create_o":{"type":"function","file":"commit.h","line":254,"lineto":263,"args":[{"name":"oid","type":"git_oid *"},{"name":"repo","type":"git_repository *"},{"name":"update_ref","type":"const char *"},{"name":"author","type":"const git_signature *"},{"name":"committer","type":"const git_signature *"},{"name":"message","type":"const char *"},{"name":"tree","type":"const git_tree *"},{"name":"parent_count","type":"int"}],"argline":"git_oid *oid,\n\t\tgit_repository *repo,\n\t\tconst char *update_ref,\n\t\tconst git_signature *author,\n\t\tconst git_signature *committer,\n\t\tconst char *message,\n\t\tconst git_tree *tree,\n\t\tint parent_count,\n\t\tconst git_commit *parents[]","sig":"git_oid *::git_repository *::const char *::const git_signature *::const git_signature *::const char *::const git_tree *::int","return":{"type":"int"},"description":"Create a new commit in the repository using `git_object`\ninstances as parameters.","comments":"The `tree_oid` and `parent_oids` paremeters now take a instance\nof `git_tree` and `git_commit`, respectively.\n\nAll other parameters remain the same\n\n@see git_commit_create","group":"commit"},"git_commit_create_ov":{"type":"function","file":"commit.h","line":281,"lineto":290,"args":[{"name":"oid","type":"git_oid *"},{"name":"repo","type":"git_repository *"},{"name":"update_ref","type":"const char *"},{"name":"author","type":"const git_signature *"},{"name":"committer","type":"const git_signature *"},{"name":"message","type":"const char *"},{"name":"tree","type":"const git_tree *"},{"name":"parent_count","type":"int"}],"argline":"git_oid *oid,\n\t\tgit_repository *repo,\n\t\tconst char *update_ref,\n\t\tconst git_signature *author,\n\t\tconst git_signature *committer,\n\t\tconst char *message,\n\t\tconst git_tree *tree,\n\t\tint parent_count,\n\t\t...","sig":"git_oid *::git_repository *::const char *::const git_signature *::const git_signature *::const char *::const git_tree *::int","return":{"type":"int"},"description":"Create a new commit in the repository using `git_object`\ninstances and a variable argument list.","comments":"The `tree_oid` paremeter now takes a instance\nof `const git_tree *`.\n\nThe parents for the commit are specified as a variable\nlist of pointers to `const git_commit *`. Note that this\nis a convenience method which may not be safe to export\nfor certain languages or compilers\n\nAll other parameters remain the same\n\n@see git_commit_create","group":"commit"},"git_commit_create_v":{"type":"function","file":"commit.h","line":306,"lineto":315,"args":[{"name":"oid","type":"git_oid *"},{"name":"repo","type":"git_repository *"},{"name":"update_ref","type":"const char *"},{"name":"author","type":"const git_signature *"},{"name":"committer","type":"const git_signature *"},{"name":"message","type":"const char *"},{"name":"tree_oid","type":"const git_oid *"},{"name":"parent_count","type":"int"}],"argline":"git_oid *oid,\n\t\tgit_repository *repo,\n\t\tconst char *update_ref,\n\t\tconst git_signature *author,\n\t\tconst git_signature *committer,\n\t\tconst char *message,\n\t\tconst git_oid *tree_oid,\n\t\tint parent_count,\n\t\t...","sig":"git_oid *::git_repository *::const char *::const git_signature *::const git_signature *::const char *::const git_oid *::int","return":{"type":"int"},"description":"Create a new commit in the repository using \na variable argument list.","comments":"The parents for the commit are specified as a variable\nlist of pointers to `const git_oid *`. Note that this\nis a convenience method which may not be safe to export\nfor certain languages or compilers\n\nAll other parameters remain the same\n\n@see git_commit_create","group":"commit","examples":{"general.c":["ex/v0.13.0/general.html#git_commit_create_v-39"]}},"deflateBound":{"type":"function","file":"zlib.h","line":50,"lineto":54,"args":[{"name":"stream","type":"z_streamp","comment":"the stream pointer."},{"name":"s","type":"size_t","comment":"tream the stream pointer."}],"argline":"z_streamp stream, size_t s","sig":"z_streamp::size_t","return":{"type":"size_t","comment":"maximum length of the compressed data."},"description":"deflateBound returns an upper bound on the compressed size.","comments":"This is a stub function used when zlib does not supply the\ndeflateBound() implementation itself.\n","group":"zlib"},"git_tree_lookup":{"type":"function","file":"tree.h","line":50,"lineto":53,"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 on success; error code otherwise"},"description":"Lookup a tree object from the repository.","comments":"","group":"tree","examples":{"general.c":["ex/v0.13.0/general.html#git_tree_lookup-40"]}},"git_tree_lookup_prefix":{"type":"function","file":"tree.h","line":67,"lineto":70,"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 on success; error code otherwise"},"description":"Lookup a tree object from the repository,\ngiven a prefix of its identifier (short id).","comments":"@see git_object_lookup_prefix\n","group":"tree"},"git_tree_close":{"type":"function","file":"tree.h","line":83,"lineto":86,"args":[{"name":"tree","type":"git_tree *","comment":"the tree to close"}],"argline":"git_tree *tree","sig":"git_tree *","return":{"type":"void"},"description":"Close an open tree","comments":"This is a wrapper around git_object_close()\n\nIMPORTANT:\nIt *is* necessary to call this method when you stop\nusing a tree. Failure to do so will cause a memory leak.\n","group":"tree"},"git_tree_id":{"type":"function","file":"tree.h","line":96,"lineto":96,"args":[{"name":"tree","type":"git_tree *","comment":"a previously loaded tree."}],"argline":"git_tree *tree","sig":"git_tree *","return":{"type":"const git_oid *","comment":"object identity for the tree."},"description":"Get the id of a tree.","comments":"","group":"tree"},"git_tree_entrycount":{"type":"function","file":"tree.h","line":104,"lineto":104,"args":[{"name":"tree","type":"git_tree *","comment":"a previously loaded tree."}],"argline":"git_tree *tree","sig":"git_tree *","return":{"type":"unsigned int","comment":"the number of entries in the tree"},"description":"Get the number of entries listed in a tree","comments":"","group":"tree","examples":{"general.c":["ex/v0.13.0/general.html#git_tree_entrycount-41"]}},"git_tree_entry_byname":{"type":"function","file":"tree.h","line":113,"lineto":113,"args":[{"name":"tree","type":"git_tree *","comment":"a previously loaded tree."},{"name":"filename","type":"const char *","comment":"the filename of the desired entry"}],"argline":"git_tree *tree, const char *filename","sig":"git_tree *::const char *","return":{"type":"const git_tree_entry *","comment":"the tree entry; NULL if not found"},"description":"Lookup a tree entry by its filename","comments":"","group":"tree","examples":{"general.c":["ex/v0.13.0/general.html#git_tree_entry_byname-42"]}},"git_tree_entry_byindex":{"type":"function","file":"tree.h","line":122,"lineto":122,"args":[{"name":"tree","type":"git_tree *","comment":"a previously loaded tree."},{"name":"idx","type":"unsigned int","comment":"the position in the entry list"}],"argline":"git_tree *tree, unsigned int idx","sig":"git_tree *::unsigned int","return":{"type":"const git_tree_entry *","comment":"the tree entry; NULL if not found"},"description":"Lookup a tree entry by its position in the tree","comments":"","group":"tree","examples":{"general.c":["ex/v0.13.0/general.html#git_tree_entry_byindex-43"]}},"git_tree_entry_attributes":{"type":"function","file":"tree.h","line":130,"lineto":130,"args":[{"name":"entry","type":"const git_tree_entry *","comment":"a tree entry"}],"argline":"const git_tree_entry *entry","sig":"const git_tree_entry *","return":{"type":"unsigned int","comment":"attributes as an integer"},"description":"Get the UNIX file attributes of a tree entry","comments":"","group":"tree"},"git_tree_entry_name":{"type":"function","file":"tree.h","line":138,"lineto":138,"args":[{"name":"entry","type":"const git_tree_entry *","comment":"a tree entry"}],"argline":"const git_tree_entry *entry","sig":"const git_tree_entry *","return":{"type":"const char *","comment":"the name of the file"},"description":"Get the filename of a tree entry","comments":"","group":"tree","examples":{"general.c":["ex/v0.13.0/general.html#git_tree_entry_name-44","ex/v0.13.0/general.html#git_tree_entry_name-45"]}},"git_tree_entry_id":{"type":"function","file":"tree.h","line":146,"lineto":146,"args":[{"name":"entry","type":"const git_tree_entry *","comment":"a tree entry"}],"argline":"const git_tree_entry *entry","sig":"const git_tree_entry *","return":{"type":"const git_oid *","comment":"the oid of the object"},"description":"Get the id of the object pointed by the entry","comments":"","group":"tree"},"git_tree_entry_type":{"type":"function","file":"tree.h","line":154,"lineto":154,"args":[{"name":"entry","type":"const git_tree_entry *","comment":"a tree entry"}],"argline":"const git_tree_entry *entry","sig":"const git_tree_entry *","return":{"type":"git_otype","comment":"the type of the pointed object"},"description":"Get the type of the object pointed by the entry","comments":"","group":"tree"},"git_tree_entry_2object":{"type":"function","file":"tree.h","line":164,"lineto":164,"args":[{"name":"object_out","type":"git_object **"},{"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 on success; error code otherwise"},"description":"Convert a tree entry to the git_object it points too.","comments":"","group":"tree","examples":{"general.c":["ex/v0.13.0/general.html#git_tree_entry_2object-46"]}},"git_tree_create_fromindex":{"type":"function","file":"tree.h","line":182,"lineto":182,"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 on success; error code otherwise"},"description":"Write a tree to the ODB from the index file","comments":"This method will scan the index and write a representation\nof its current state back to disk; it recursively creates\ntree objects for each of the subtrees stored in the index,\nbut only returns the OID of the root tree. This is the OID\nthat can be used e.g. to create a commit.\n\nThe index instance cannot be bare, and needs to be associated\nto an existing repository.\n","group":"tree"},"git_treebuilder_create":{"type":"function","file":"tree.h","line":201,"lineto":201,"args":[{"name":"builder_p","type":"git_treebuilder **","comment":"Pointer where to store the tree builder"},{"name":"source","type":"const git_tree *","comment":"Source tree to initialize the builder (optional)"}],"argline":"git_treebuilder **builder_p, const git_tree *source","sig":"git_treebuilder **::const git_tree *","return":{"type":"int","comment":"0 on sucess; error code otherwise"},"description":"Create a new tree builder.","comments":"The tree builder can be used to create or modify\ntrees in memory and write them as tree objects to the\ndatabase.\n\nIf the `source` parameter is not NULL, the tree builder\nwill be initialized with the entries of the given tree.\n\nIf the `source` parameter is NULL, the tree builder will\nhave no entries and will have to be filled manually.\n","group":"treebuilder"},"git_treebuilder_clear":{"type":"function","file":"tree.h","line":208,"lineto":208,"args":[{"name":"bld","type":"git_treebuilder *","comment":"Builder to clear"}],"argline":"git_treebuilder *bld","sig":"git_treebuilder *","return":{"type":"void"},"description":"Clear all the entires in the builder","comments":"","group":"treebuilder"},"git_treebuilder_free":{"type":"function","file":"tree.h","line":219,"lineto":219,"args":[{"name":"bld","type":"git_treebuilder *","comment":"Builder to free"}],"argline":"git_treebuilder *bld","sig":"git_treebuilder *","return":{"type":"void"},"description":"Free a tree builder","comments":"This will clear all the entries and free to builder.\nFailing to free the builder after you're done using it\nwill result in a memory leak\n","group":"treebuilder"},"git_treebuilder_get":{"type":"function","file":"tree.h","line":231,"lineto":231,"args":[{"name":"bld","type":"git_treebuilder *","comment":"Tree builder"},{"name":"filename","type":"const char *","comment":"Name of the entry"}],"argline":"git_treebuilder *bld, const char *filename","sig":"git_treebuilder *::const char *","return":{"type":"const git_tree_entry *","comment":"pointer to the entry; NULL if not found"},"description":"Get an entry from the builder from its filename","comments":"The returned entry is owned by the builder and should\nnot be freed manually.\n","group":"treebuilder"},"git_treebuilder_insert":{"type":"function","file":"tree.h","line":252,"lineto":252,"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 on success; error code otherwise"},"description":"Add or update an entry to the builder","comments":"Insert a new entry for `filename` in the builder with the\ngiven attributes.\n\nif an entry named `filename` already exists, its attributes\nwill be updated with the given ones.\n\nThe optional pointer `entry_out` can be used to retrieve a\npointer to the newly created/updated entry.\n","group":"treebuilder"},"git_treebuilder_remove":{"type":"function","file":"tree.h","line":260,"lineto":260,"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"},"description":"Remove an entry from the builder by its filename","comments":"","group":"treebuilder"},"git_treebuilder_filter":{"type":"function","file":"tree.h","line":273,"lineto":273,"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 *"}],"argline":"git_treebuilder *bld, int (*filter)(const git_tree_entry *, void *), void *payload","sig":"git_treebuilder *::int (*)(const git_tree_entry *, void *)::void *","return":{"type":"void"},"description":"Filter the entries in the tree","comments":"The `filter` callback will be called for each entry\nin the tree with a pointer to the entry and the\nprovided `payload`: if the callback returns 1, the\nentry will be filtered (removed from the builder).\n","group":"treebuilder"},"git_treebuilder_write":{"type":"function","file":"tree.h","line":287,"lineto":287,"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 on success; error code otherwise"},"description":"Write the contents of the tree builder as a tree object","comments":"The tree builder will be written to the given `repo`, and\nit's identifying SHA1 hash will be stored in the `oid`\npointer.\n","group":"treebuilder"},"git_odb_new":{"type":"function","file":"odb.h","line":53,"lineto":53,"args":[{"name":"out","type":"git_odb **","comment":"location to store the database pointer, if opened. Set to NULL if the open failed."}],"argline":"git_odb **out","sig":"git_odb **","return":{"type":"int","comment":"GIT_SUCCESS if the database was created; otherwise an error code describing why the open was not possible."},"description":"Create a new object database with no backends.","comments":"Before the ODB can be used for read/writing, a custom database\nbackend must be manually added using `git_odb_add_backend()`\n","group":"odb"},"git_odb_open":{"type":"function","file":"odb.h","line":72,"lineto":72,"args":[{"name":"out","type":"git_odb **","comment":"location to store the database pointer, if opened. Set to NULL if the open failed."},{"name":"objects_dir","type":"const char *","comment":"path of the backends' \"objects\" directory."}],"argline":"git_odb **out, const char *objects_dir","sig":"git_odb **::const char *","return":{"type":"int","comment":"GIT_SUCCESS if the database opened; otherwise an error code describing why the open was not possible."},"description":"Create a new object database and automatically add\nthe two default backends:","comments":"- git_odb_backend_loose: read and write loose object files\n\tfrom disk, assuming `objects_dir` as the Objects folder\n\n- git_odb_backend_pack: read objects from packfiles,\n\tassuming `objects_dir` as the Objects folder which\n\tcontains a 'pack/' folder with the corresponding data\n","group":"odb"},"git_odb_add_backend":{"type":"function","file":"odb.h","line":87,"lineto":87,"args":[{"name":"odb","type":"git_odb *","comment":"database to add the backend to"},{"name":"backend","type":"git_odb_backend *","comment":"pointer to a git_odb_backend instance"},{"name":"priority","type":"int","comment":"Value for ordering the backends queue"}],"argline":"git_odb *odb, git_odb_backend *backend, int priority","sig":"git_odb *::git_odb_backend *::int","return":{"type":"int","comment":"0 on sucess; error code otherwise"},"description":"Add a custom backend to an existing Object DB","comments":"The backends are checked in relative ordering, based on the\nvalue of the `priority` parameter.\n\nRead <odb_backends.h> for more information.\n","group":"odb"},"git_odb_add_alternate":{"type":"function","file":"odb.h","line":108,"lineto":108,"args":[{"name":"odb","type":"git_odb *","comment":"database to add the backend to"},{"name":"backend","type":"git_odb_backend *","comment":"pointer to a git_odb_backend instance"},{"name":"priority","type":"int","comment":"Value for ordering the backends queue"}],"argline":"git_odb *odb, git_odb_backend *backend, int priority","sig":"git_odb *::git_odb_backend *::int","return":{"type":"int","comment":"0 on sucess; error code otherwise"},"description":"Add a custom backend to an existing Object DB; this\nbackend will work as an alternate.","comments":"Alternate backends are always checked for objects *after*\nall the main backends have been exhausted. \n\nThe backends are checked in relative ordering, based on the\nvalue of the `priority` parameter.\n\nWriting is disabled on alternate backends.\n\nRead <odb_backends.h> for more information.\n","group":"odb"},"git_odb_close":{"type":"function","file":"odb.h","line":115,"lineto":115,"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"},"description":"Close an open object database.","comments":"","group":"odb"},"git_odb_read":{"type":"function","file":"odb.h","line":134,"lineto":134,"args":[{"name":"out","type":"git_odb_object **","comment":"pointer where to store the read object"},{"name":"db","type":"git_odb *","comment":"database to search for the object in."},{"name":"id","type":"const git_oid *","comment":"identity of the object to read."}],"argline":"git_odb_object **out, git_odb *db, const git_oid *id","sig":"git_odb_object **::git_odb *::const git_oid *","return":{"type":"int","comment":"- GIT_SUCCESS if the object was read; - GIT_ENOTFOUND if the object is not in the database."},"description":"Read an object from the database.","comments":"This method queries all available ODB backends\ntrying to read the given OID.\n\nThe returned object is reference counted and\ninternally cached, so it should be closed\nby the user once it's no longer in use.\n","group":"odb","examples":{"general.c":["ex/v0.13.0/general.html#git_odb_read-47"]}},"git_odb_read_prefix":{"type":"function","file":"odb.h","line":162,"lineto":162,"args":[{"name":"out","type":"git_odb_object **","comment":"pointer where to store the read object"},{"name":"db","type":"git_odb *","comment":"database to search for the object in."},{"name":"short_id","type":"const git_oid *","comment":"a prefix of the id of the object to read."},{"name":"len","type":"unsigned int","comment":"the length of the prefix"}],"argline":"git_odb_object **out, git_odb *db, const git_oid *short_id, unsigned int len","sig":"git_odb_object **::git_odb *::const git_oid *::unsigned int","return":{"type":"int","comment":"GIT_SUCCESS if the object was read; GIT_ENOTFOUND if the object is not in the database. GIT_EAMBIGUOUS if the prefix is ambiguous (several objects match the prefix)"},"description":"Read an object from the database, given a prefix\nof its identifier.","comments":"This method queries all available ODB backends\ntrying to match the 'len' first hexadecimal\ncharacters of the 'short_id'.\nThe remaining (GIT_OID_HEXSZ-len)*4 bits of\n'short_id' must be 0s.\n'len' must be at least GIT_OID_MINPREFIXLEN,\nand the prefix must be long enough to identify\na unique object in all the backends; the\nmethod will fail otherwise.\n\nThe returned object is reference counted and\ninternally cached, so it should be closed\nby the user once it's no longer in use.\n","group":"odb"},"git_odb_read_header":{"type":"function","file":"odb.h","line":182,"lineto":182,"args":[{"name":"len_p","type":"size_t *","comment":"pointer where to store the length"},{"name":"type_p","type":"git_otype *","comment":"pointer where to store the type"},{"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":"size_t *len_p, git_otype *type_p, git_odb *db, const git_oid *id","sig":"size_t *::git_otype *::git_odb *::const git_oid *","return":{"type":"int","comment":"- GIT_SUCCESS if the object was read; - GIT_ENOTFOUND if the object is not in the database."},"description":"Read the header of an object from the database, without\nreading its full contents.","comments":"The header includes the length and the type of an object.\n\nNote that most backends do not support reading only the header\nof an object, so the whole object will be read and then the\nheader will be returned.\n","group":"odb"},"git_odb_exists":{"type":"function","file":"odb.h","line":193,"lineto":193,"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 - 0, otherwise"},"description":"Determine if the given object can be found in the object database.","comments":"","group":"odb"},"git_odb_write":{"type":"function","file":"odb.h","line":213,"lineto":213,"args":[{"name":"oid","type":"git_oid *","comment":"pointer to store the OID result of the write"},{"name":"odb","type":"git_odb *","comment":"object database where to store the object"},{"name":"data","type":"const void *","comment":"buffer with the data to storr"},{"name":"len","type":"size_t","comment":"size of the buffer"},{"name":"type","type":"git_otype","comment":"type of the data to store"}],"argline":"git_oid *oid, git_odb *odb, const void *data, size_t len, git_otype type","sig":"git_oid *::git_odb *::const void *::size_t::git_otype","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Write an object directly into the ODB","comments":"This method writes a full object straight into the ODB.\nFor most cases, it is preferred to write objects through a write\nstream, which is both faster and less memory intensive, specially\nfor big objects.\n\nThis method is provided for compatibility with custom backends\nwhich are not able to support streaming writes\n","group":"odb","examples":{"general.c":["ex/v0.13.0/general.html#git_odb_write-48"]}},"git_odb_open_wstream":{"type":"function","file":"odb.h","line":242,"lineto":242,"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 write"},{"name":"size","type":"size_t","comment":"final size of the object that will be written"},{"name":"type","type":"git_otype","comment":"type of the object that will be written"}],"argline":"git_odb_stream **stream, git_odb *db, size_t size, git_otype type","sig":"git_odb_stream **::git_odb *::size_t::git_otype","return":{"type":"int","comment":"0 if the stream was created; error code otherwise"},"description":"Open a stream to write an object into the ODB","comments":"The type and final length of the object must be specified\nwhen opening the stream.\n\nThe returned stream will be of type `GIT_STREAM_WRONLY` and\nwill have the following methods:\n\n\t- stream->write: write `n` bytes into the stream\n\t- stream->finalize_write: close the stream and store the object in\n\t\tthe odb\n\t- stream->free: free the stream\n\nThe streaming write won't be effective until `stream->finalize_write`\nis called and returns without an error\n\nThe stream must always be free'd or will leak memory.\n\n@see git_odb_stream\n","group":"odb"},"git_odb_open_rstream":{"type":"function","file":"odb.h","line":268,"lineto":268,"args":[{"name":"stream","type":"git_odb_stream **","comment":"pointer where to store the stream"},{"name":"db","type":"git_odb *","comment":"object database where the stream will read from"},{"name":"oid","type":"const git_oid *","comment":"oid of the object the stream will read from"}],"argline":"git_odb_stream **stream, git_odb *db, const git_oid *oid","sig":"git_odb_stream **::git_odb *::const git_oid *","return":{"type":"int","comment":"0 if the stream was created; error code otherwise"},"description":"Open a stream to read an object from the ODB","comments":"Note that most backends do *not* support streaming reads\nbecause they store their objects as compressed/delta'ed blobs.\n\nIt's recommended to use `git_odb_read` instead, which is\nassured to work on all backends.\n\nThe returned stream will be of type `GIT_STREAM_RDONLY` and\nwill have the following methods:\n\n\t- stream->read: read `n` bytes from the stream\n\t- stream->free: free the stream\n\nThe stream must always be free'd or will leak memory.\n\n@see git_odb_stream\n","group":"odb"},"git_odb_hash":{"type":"function","file":"odb.h","line":282,"lineto":282,"args":[{"name":"id","type":"git_oid *","comment":"the resulting object-ID."},{"name":"data","type":"const void *","comment":"data to hash"},{"name":"len","type":"size_t","comment":"size of the data"},{"name":"type","type":"git_otype","comment":"of the data to hash"}],"argline":"git_oid *id, const void *data, size_t len, git_otype type","sig":"git_oid *::const void *::size_t::git_otype","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Determine the object-ID (sha1 hash) of a data buffer","comments":"The resulting SHA-1 OID will the itentifier for the data\nbuffer as if the data buffer it were to written to the ODB.\n","group":"odb"},"git_odb_object_close":{"type":"function","file":"odb.h","line":292,"lineto":292,"args":[{"name":"object","type":"git_odb_object *","comment":"object to close"}],"argline":"git_odb_object *object","sig":"git_odb_object *","return":{"type":"void"},"description":"Close an ODB object","comments":"This method must always be called once a `git_odb_object` is no\nlonger needed, otherwise memory will leak.\n","group":"odb","examples":{"general.c":["ex/v0.13.0/general.html#git_odb_object_close-49"]}},"git_odb_object_id":{"type":"function","file":"odb.h","line":302,"lineto":302,"args":[{"name":"object","type":"git_odb_object *","comment":"the object"}],"argline":"git_odb_object *object","sig":"git_odb_object *","return":{"type":"const git_oid *","comment":"a pointer to the OID"},"description":"Return the OID of an ODB object","comments":"This is the OID from which the object was read from\n","group":"odb"},"git_odb_object_data":{"type":"function","file":"odb.h","line":315,"lineto":315,"args":[{"name":"object","type":"git_odb_object *","comment":"the object"}],"argline":"git_odb_object *object","sig":"git_odb_object *","return":{"type":"const void *","comment":"a pointer to the data"},"description":"Return the data of an ODB object","comments":"This is the uncompressed, raw data as read from the ODB,\nwithout the leading header.\n\nThis pointer is owned by the object and shall not be free'd.\n","group":"odb","examples":{"general.c":["ex/v0.13.0/general.html#git_odb_object_data-50"]}},"git_odb_object_size":{"type":"function","file":"odb.h","line":326,"lineto":326,"args":[{"name":"object","type":"git_odb_object *","comment":"the object"}],"argline":"git_odb_object *object","sig":"git_odb_object *","return":{"type":"size_t","comment":"the size"},"description":"Return the size of an ODB object","comments":"This is the real size of the `data` buffer, not the\nactual size of the object.\n","group":"odb","examples":{"general.c":["ex/v0.13.0/general.html#git_odb_object_size-51"]}},"git_odb_object_type":{"type":"function","file":"odb.h","line":334,"lineto":334,"args":[{"name":"object","type":"git_odb_object *","comment":"the object"}],"argline":"git_odb_object *object","sig":"git_odb_object *","return":{"type":"git_otype","comment":"the type"},"description":"Return the type of an ODB object","comments":"","group":"odb","examples":{"general.c":["ex/v0.13.0/general.html#git_odb_object_type-52"]}},"git_oid_fromstr":{"type":"function","file":"oid.h","line":65,"lineto":65,"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 the hex sequence and have at least the number of bytes needed for an oid encoded in hex (40 bytes)."}],"argline":"git_oid *out, const char *str","sig":"git_oid *::const char *","return":{"type":"int","comment":"GIT_SUCCESS if valid; GIT_ENOTOID on failure."},"description":"Parse a hex formatted object id into a git_oid.","comments":"","group":"oid","examples":{"general.c":["ex/v0.13.0/general.html#git_oid_fromstr-53","ex/v0.13.0/general.html#git_oid_fromstr-54","ex/v0.13.0/general.html#git_oid_fromstr-55","ex/v0.13.0/general.html#git_oid_fromstr-56","ex/v0.13.0/general.html#git_oid_fromstr-57","ex/v0.13.0/general.html#git_oid_fromstr-58","ex/v0.13.0/general.html#git_oid_fromstr-59","ex/v0.13.0/general.html#git_oid_fromstr-60"]}},"git_oid_fromraw":{"type":"function","file":"oid.h","line":73,"lineto":73,"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"},"description":"Copy an already raw oid into a git_oid structure.","comments":"","group":"oid"},"git_oid_fmt":{"type":"function","file":"oid.h","line":85,"lineto":85,"args":[{"name":"str","type":"char *","comment":"output hex string; must be pointing at the start of the hex sequence and have at least the number of bytes needed for an oid encoded in hex (40 bytes). Only the oid digits are written; a '\\\\0' terminator must be added by 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"},"description":"Format a git_oid into a hex string.","comments":"","group":"oid","examples":{"showindex.c":["ex/v0.13.0/showindex.html#git_oid_fmt-8"],"general.c":["ex/v0.13.0/general.html#git_oid_fmt-61","ex/v0.13.0/general.html#git_oid_fmt-62","ex/v0.13.0/general.html#git_oid_fmt-63","ex/v0.13.0/general.html#git_oid_fmt-64","ex/v0.13.0/general.html#git_oid_fmt-65"]}},"git_oid_pathfmt":{"type":"function","file":"oid.h","line":100,"lineto":100,"args":[{"name":"str","type":"char *","comment":"output hex string; must be pointing at the start of the hex sequence and have at least the number of bytes needed for an oid encoded in hex (41 bytes). Only the oid digits are written; a '\\\\0' terminator must be added by 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"},"description":"Format a git_oid into a loose-object path string.","comments":"The resulting string is \"aa/...\", where \"aa\" is the first two\nhex digitis of the oid and \"...\" is the remaining 38 digits.\n","group":"oid"},"git_oid_allocfmt":{"type":"function","file":"oid.h","line":109,"lineto":109,"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 deallocate the string with free()."},"description":"Format a git_oid into a newly allocated c-string.","comments":"","group":"oid"},"git_oid_to_string":{"type":"function","file":"oid.h","line":126,"lineto":126,"args":[{"name":"out","type":"char *","comment":"the buffer into which the oid string is output."},{"name":"n","type":"size_t","comment":"the size of the out buffer."},{"name":"oid","type":"const git_oid *","comment":"the oid structure to format."}],"argline":"char *out, size_t n, const git_oid *oid","sig":"char *::size_t::const git_oid *","return":{"type":"char *","comment":"the out buffer pointer, assuming no input parameter errors, otherwise a pointer to an empty string."},"description":"Format a git_oid into a buffer as a hex format c-string.","comments":"If the buffer is smaller than GIT_OID_HEXSZ+1, then the resulting\noid c-string will be truncated to n-1 characters. If there are\nany input parameter errors (out == NULL, n == 0, oid == NULL),\nthen a pointer to an empty string is returned, so that the return\nvalue can always be printed.\n","group":"oid"},"git_oid_cpy":{"type":"function","file":"oid.h","line":134,"lineto":134,"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"},"description":"Copy an oid from one structure to another.","comments":"","group":"oid"},"git_oid_cmp":{"type":"function","file":"oid.h","line":143,"lineto":143,"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":"<0, 0, >0 if a < b, a == b, a > b."},"description":"Compare two oid structures.","comments":"","group":"oid"},"git_oid_ncmp":{"type":"function","file":"oid.h","line":154,"lineto":154,"args":[{"name":"a","type":"const git_oid *","comment":"first oid structure."},{"name":"b","type":"const git_oid *","comment":"second oid structure."},{"name":"len","type":"unsigned int","comment":"the number of hex chars to compare"}],"argline":"const git_oid *a, const git_oid *b, unsigned int len","sig":"const git_oid *::const git_oid *::unsigned int","return":{"type":"int","comment":"0 in case of a match"},"description":"Compare the first 'len' hexadecimal characters (packets of 4 bits)\nof two oid structures.","comments":"","group":"oid"},"git_oid_shorten_new":{"type":"function","file":"oid.h","line":175,"lineto":175,"args":[{"name":"min_length","type":"size_t","comment":"The minimal length for all identifiers, which will be used even if shorter OIDs would still be unique."}],"argline":"size_t min_length","sig":"size_t","return":{"type":"git_oid_shorten *","comment":"a `git_oid_shorten` instance, NULL if OOM"},"description":"Create a new OID shortener.","comments":"The OID shortener is used to process a list of OIDs\nin text form and return the shortest length that would\nuniquely identify all of them.\n\nE.g. look at the result of `git log --abbrev`.\n","group":"oid"},"git_oid_shorten_add":{"type":"function","file":"oid.h","line":201,"lineto":201,"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 added so far to the set; or an error code (<0) if an error occurs."},"description":"Add a new OID to set of shortened OIDs and calculate\nthe minimal length to uniquely identify all the OIDs in\nthe set.","comments":"The OID is expected to be a 40-char hexadecimal string.\nThe OID is owned by the user and will not be modified\nor freed.\n\nFor performance reasons, there is a hard-limit of how many\nOIDs can be added to a single set (around ~22000, assuming\na mostly randomized distribution), which should be enough\nfor any kind of program, and keeps the algorithm fast and\nmemory-efficient.\n\nAttempting to add more than those OIDs will result in a\nGIT_ENOMEM error\n","group":"oid"},"git_oid_shorten_free":{"type":"function","file":"oid.h","line":208,"lineto":208,"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"},"description":"Free an OID shortener instance","comments":"","group":"oid"},"git_lasterror":{"type":"function","file":"errors.h","line":135,"lineto":135,"args":[],"argline":"void","sig":"","return":{"type":"const char *","comment":"a string explaining the error"},"description":"Return a detailed error string with the latest error\nthat occurred in the library.\n@return a string explaining the error","comments":"","group":"errors"},"git_strerror":{"type":"function","file":"errors.h","line":147,"lineto":147,"args":[{"name":"num","type":"int","comment":"The error code to explain"}],"argline":"int num","sig":"int","return":{"type":"const char *","comment":"a string explaining the error code"},"description":"strerror() for the Git library","comments":"Get a string description for a given error code.\nNOTE: This method will be eventually deprecated in favor\nof the new `git_lasterror`.\n","group":"errors"},"git_revwalk_new":{"type":"function","file":"revwalk.h","line":88,"lineto":88,"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 on success; error code otherwise"},"description":"Allocate a new revision walker to iterate through a repo.","comments":"This revision walker uses a custom memory pool and an internal\ncommit cache, so it is relatively expensive to allocate.\n\nFor maximum performance, this revision walker should be\nreused for different walks.\n\nThis revision walker is *not* thread safe: it may only be\nused to walk a repository on a single thread; however,\nit is possible to have several revision walkers in\nseveral different threads walking the same repository.\n","group":"revwalk","examples":{"general.c":["ex/v0.13.0/general.html#git_revwalk_new-66"]}},"git_revwalk_reset":{"type":"function","file":"revwalk.h","line":103,"lineto":103,"args":[{"name":"walker","type":"git_revwalk *","comment":"handle to reset."}],"argline":"git_revwalk *walker","sig":"git_revwalk *","return":{"type":"void"},"description":"Reset the revision walker for reuse.","comments":"This will clear all the pushed and hidden commits, and\nleave the walker in a blank state (just like at\ncreation) ready to receive new commit pushes and\nstart a new walk.\n\nThe revision walk is automatically reset when a walk\nis over.\n","group":"revwalk"},"git_revwalk_push":{"type":"function","file":"revwalk.h","line":120,"lineto":120,"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 on success; error code otherwise"},"description":"Mark a commit to start traversal from.","comments":"The given OID must belong to a commit on the walked\nrepository.\n\nThe given commit will be used as one of the roots\nwhen starting the revision walk. At least one commit\nmust be pushed the repository before a walk can\nbe started.\n","group":"revwalk","examples":{"general.c":["ex/v0.13.0/general.html#git_revwalk_push-67"]}},"git_revwalk_hide":{"type":"function","file":"revwalk.h","line":136,"lineto":136,"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 on success; error code otherwise"},"description":"Mark a commit (and its ancestors) uninteresting for the output.","comments":"The given OID must belong to a commit on the walked\nrepository.\n\nThe resolved commit and all its parents will be hidden from the\noutput on the revision walk.\n","group":"revwalk"},"git_revwalk_next":{"type":"function","file":"revwalk.h","line":156,"lineto":156,"args":[{"name":"oid","type":"git_oid *","comment":"Pointer where to store the oid of the next commit"},{"name":"walk","type":"git_revwalk *","comment":"the walker to pop the commit from."}],"argline":"git_oid *oid, git_revwalk *walk","sig":"git_oid *::git_revwalk *","return":{"type":"int","comment":"GIT_SUCCESS if the next commit was found; GIT_EREVWALKOVER if there are no commits left to iterate"},"description":"Get the next commit from the revision walk.","comments":"The initial call to this method is *not* blocking when\niterating through a repo with a time-sorting mode.\n\nIterating with Topological or inverted modes makes the initial\ncall blocking to preprocess the commit list, but this block should be\nmostly unnoticeable on most repositories (topological preprocessing\ntimes at 0.3s on the git.git repo).\n\nThe revision walker is reset when the walk is over.\n","group":"revwalk","examples":{"general.c":["ex/v0.13.0/general.html#git_revwalk_next-68"]}},"git_revwalk_sorting":{"type":"function","file":"revwalk.h","line":167,"lineto":167,"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"},"description":"Change the sorting mode when iterating through the\nrepository's contents.","comments":"Changing the sorting mode resets the walker.\n","group":"revwalk","examples":{"general.c":["ex/v0.13.0/general.html#git_revwalk_sorting-69"]}},"git_revwalk_free":{"type":"function","file":"revwalk.h","line":174,"lineto":174,"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"},"description":"Free a revision walker previously allocated.","comments":"","group":"revwalk","examples":{"general.c":["ex/v0.13.0/general.html#git_revwalk_free-70"]}},"git_revwalk_repository":{"type":"function","file":"revwalk.h","line":183,"lineto":183,"args":[{"name":"walk","type":"git_revwalk *","comment":"the revision walker"}],"argline":"git_revwalk *walk","sig":"git_revwalk *","return":{"type":"git_repository *","comment":"the repository being walked"},"description":"Return the repository on which this walker\nis operating.","comments":"","group":"revwalk"},"git_object_lookup":{"type":"function","file":"object.h","line":59,"lineto":63,"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,\n\t\tgit_repository *repo,\n\t\tconst git_oid *id,\n\t\tgit_otype type","sig":"git_object **::git_repository *::const git_oid *::git_otype","return":{"type":"int","comment":"a reference to the object"},"description":"Lookup a reference to one of the objects in a repostory.","comments":"The generated reference is owned by the repository and\nshould be closed with the `git_object_close` method\ninstead of free'd manually.\n\nThe 'type' parameter must match the type of the object\nin the odb; the method will fail otherwise.\nThe special value 'GIT_OBJ_ANY' may be passed to let\nthe method guess the object's type.\n","group":"object"},"git_object_lookup_prefix":{"type":"function","file":"object.h","line":92,"lineto":97,"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,\n\t\tgit_repository *repo,\n\t\tconst git_oid *id,\n\t\tunsigned int len,\n\t\tgit_otype type","sig":"git_object **::git_repository *::const git_oid *::unsigned int::git_otype","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Lookup a reference to one of the objects in a repostory,\ngiven a prefix of its identifier (short id).","comments":"The object obtained will be so that its identifier\nmatches the first 'len' hexadecimal characters\n(packets of 4 bits) of the given 'id'.\n'len' must be at least GIT_OID_MINPREFIXLEN, and\nlong enough to identify a unique object matching\nthe prefix; otherwise the method will fail.\n\nThe generated reference is owned by the repository and\nshould be closed with the `git_object_close` method\ninstead of free'd manually.\n\nThe 'type' parameter must match the type of the object\nin the odb; the method will fail otherwise.\nThe special value 'GIT_OBJ_ANY' may be passed to let\nthe method guess the object's type.\n","group":"object"},"git_object_id":{"type":"function","file":"object.h","line":105,"lineto":105,"args":[{"name":"obj","type":"const git_object *","comment":"the repository object"}],"argline":"const git_object *obj","sig":"const git_object *","return":{"type":"const git_oid *","comment":"the SHA1 id"},"description":"Get the id (SHA1) of a repository object","comments":"","group":"object"},"git_object_type":{"type":"function","file":"object.h","line":113,"lineto":113,"args":[{"name":"obj","type":"const git_object *","comment":"the repository object"}],"argline":"const git_object *obj","sig":"const git_object *","return":{"type":"git_otype","comment":"the object's type"},"description":"Get the object type of an object","comments":"","group":"object"},"git_object_owner":{"type":"function","file":"object.h","line":127,"lineto":127,"args":[{"name":"obj","type":"const git_object *","comment":"the object"}],"argline":"const git_object *obj","sig":"const git_object *","return":{"type":"git_repository *","comment":"the repository who owns this object"},"description":"Get the repository that owns this object","comments":"Freeing or calling `git_repository_close` on the\nreturned pointer will invalidate the actual object.\n\nAny other operation may be run on the repository without\naffecting the object.\n","group":"object"},"git_object_close":{"type":"function","file":"object.h","line":144,"lineto":144,"args":[{"name":"object","type":"git_object *","comment":"the object to close"}],"argline":"git_object *object","sig":"git_object *","return":{"type":"void"},"description":"Close an open object","comments":"This method instructs the library to close an existing\nobject; note that git_objects are owned and cached by the repository\nso the object may or may not be freed after this library call,\ndepending on how agressive is the caching mechanism used\nby the repository.\n\nIMPORTANT:\nIt *is* necessary to call this method when you stop using\nan object. Failure to do so will cause a memory leak.\n","group":"object","examples":{"general.c":["ex/v0.13.0/general.html#git_object_close-71"]}},"git_object_type2string":{"type":"function","file":"object.h","line":155,"lineto":155,"args":[{"name":"type","type":"git_otype","comment":"object type to convert."}],"argline":"git_otype type","sig":"git_otype","return":{"type":"const char *","comment":"the corresponding string representation."},"description":"Convert an object type to it's string representation.","comments":"The result is a pointer to a string in static memory and\nshould not be free()'ed.\n","group":"object","examples":{"general.c":["ex/v0.13.0/general.html#git_object_type2string-72"]}},"git_object_string2type":{"type":"function","file":"object.h","line":163,"lineto":163,"args":[{"name":"str","type":"const char *","comment":"the string to convert."}],"argline":"const char *str","sig":"const char *","return":{"type":"git_otype","comment":"the corresponding git_otype."},"description":"Convert a string object type representation to it's git_otype.","comments":"","group":"object"},"git_object_typeisloose":{"type":"function","file":"object.h","line":172,"lineto":172,"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, false otherwise."},"description":"Determine if the given git_otype is a valid loose object type.","comments":"","group":"object"},"git_object__size":{"type":"function","file":"object.h","line":186,"lineto":186,"args":[{"name":"type","type":"git_otype","comment":"object type to get its size"}],"argline":"git_otype type","sig":"git_otype","return":{"type":"size_t","comment":"size in bytes of the object"},"description":"Get the size in bytes for the structure which\nacts as an in-memory representation of any given\nobject type.","comments":"For all the core types, this would the equivalent\nof calling `sizeof(git_commit)` if the core types\nwere not opaque on the external API.\n","group":"object"},"git_reference_lookup":{"type":"function","file":"refs.h","line":52,"lineto":52,"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 on success; error code otherwise"},"description":"Lookup a reference by its name in a repository.","comments":"The generated reference is owned by the repository and\nshould not be freed by the user.\n","group":"reference","examples":{"general.c":["ex/v0.13.0/general.html#git_reference_lookup-73"]}},"git_reference_create_symbolic":{"type":"function","file":"refs.h","line":69,"lineto":69,"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"}],"argline":"git_reference **ref_out, git_repository *repo, const char *name, const char *target","sig":"git_reference **::git_repository *::const char *::const char *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Create a new symbolic reference.","comments":"The reference will be created in the repository and written\nto the disk.\n\nThis reference is owned by the repository and shall not\nbe free'd by the user.\n","group":"reference"},"git_reference_create_symbolic_f":{"type":"function","file":"refs.h","line":90,"lineto":90,"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"}],"argline":"git_reference **ref_out, git_repository *repo, const char *name, const char *target","sig":"git_reference **::git_repository *::const char *::const char *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Create a new symbolic reference, overwriting an existing one with\nthe same name, if it exists.","comments":"If the new reference isn't a symbolic one, any pointers to the old\nreference become invalid.\n\nThe reference will be created in the repository and written\nto the disk.\n\nThis reference is owned by the repository and shall not\nbe free'd by the user.\n","group":"reference"},"git_reference_create_oid":{"type":"function","file":"refs.h","line":107,"lineto":107,"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."}],"argline":"git_reference **ref_out, git_repository *repo, const char *name, const git_oid *id","sig":"git_reference **::git_repository *::const char *::const git_oid *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Create a new object id reference.","comments":"The reference will be created in the repository and written\nto the disk.\n\nThis reference is owned by the repository and shall not\nbe free'd by the user.\n","group":"reference"},"git_reference_create_oid_f":{"type":"function","file":"refs.h","line":128,"lineto":128,"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."}],"argline":"git_reference **ref_out, git_repository *repo, const char *name, const git_oid *id","sig":"git_reference **::git_repository *::const char *::const git_oid *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Create a new object id reference, overwriting an existing one with\nthe same name, if it exists.","comments":"If the new reference isn't an object id one, any pointers to the\nold reference become invalid.\n\nThe reference will be created in the repository and written\nto the disk.\n\nThis reference is owned by the repository and shall not\nbe free'd by the user.\n","group":"reference"},"git_reference_oid":{"type":"function","file":"refs.h","line":138,"lineto":138,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"const git_oid *","comment":"a pointer to the oid if available, NULL otherwise"},"description":"Get the OID pointed to by a reference.","comments":"Only available if the reference is direct (i.e. not symbolic)\n","group":"reference","examples":{"general.c":["ex/v0.13.0/general.html#git_reference_oid-74"]}},"git_reference_target":{"type":"function","file":"refs.h","line":148,"lineto":148,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"const char *","comment":"a pointer to the name if available, NULL otherwise"},"description":"Get full name to the reference pointed by this reference","comments":"Only available if the reference is symbolic\n","group":"reference","examples":{"general.c":["ex/v0.13.0/general.html#git_reference_target-75"]}},"git_reference_type":{"type":"function","file":"refs.h","line":158,"lineto":158,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"git_rtype","comment":"the type"},"description":"Get the type of a reference","comments":"Either direct (GIT_REF_OID) or symbolic (GIT_REF_SYMBOLIC)\n","group":"reference","examples":{"general.c":["ex/v0.13.0/general.html#git_reference_type-76"]}},"git_reference_name":{"type":"function","file":"refs.h","line":166,"lineto":166,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"const char *","comment":"the full name for the ref"},"description":"Get the full name of a reference","comments":"","group":"reference"},"git_reference_resolve":{"type":"function","file":"refs.h","line":181,"lineto":181,"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 on success; error code otherwise"},"description":"Resolve a symbolic reference","comments":"Thie method iteratively peels a symbolic reference\nuntil it resolves to a direct reference to an OID.\n\nIf a direct reference is passed as an argument,\nthat reference is returned immediately\n","group":"reference"},"git_reference_owner":{"type":"function","file":"refs.h","line":189,"lineto":189,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"git_repository *","comment":"a pointer to the repo"},"description":"Get the repository where a reference resides","comments":"","group":"reference"},"git_reference_set_target":{"type":"function","file":"refs.h","line":204,"lineto":204,"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 on success; error code otherwise"},"description":"Set the symbolic target of a reference.","comments":"The reference must be a symbolic reference, otherwise\nthis method will fail.\n\nThe reference will be automatically updated in\nmemory and on disk.\n","group":"reference"},"git_reference_set_oid":{"type":"function","file":"refs.h","line":219,"lineto":219,"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 on success; error code otherwise"},"description":"Set the OID target of a reference.","comments":"The reference must be a direct reference, otherwise\nthis method will fail.\n\nThe reference will be automatically updated in\nmemory and on disk.\n","group":"reference"},"git_reference_rename":{"type":"function","file":"refs.h","line":232,"lineto":232,"args":[{"name":"ref","type":"git_reference *"},{"name":"new_name","type":"const char *"}],"argline":"git_reference *ref, const char *new_name","sig":"git_reference *::const char *","return":{"type":"int"},"description":"Rename an existing reference","comments":"This method works for both direct and symbolic references.\nThe new name will be checked for validity and may be\nmodified into a normalized form.\n\nThe refernece will be immediately renamed in-memory\nand on disk.","group":"reference"},"git_reference_rename_f":{"type":"function","file":"refs.h","line":246,"lineto":246,"args":[{"name":"ref","type":"git_reference *"},{"name":"new_name","type":"const char *"}],"argline":"git_reference *ref, const char *new_name","sig":"git_reference *::const char *","return":{"type":"int"},"description":"Rename an existing reference, overwriting an existing one with the\nsame name, if it exists.","comments":"This method works for both direct and symbolic references.\nThe new name will be checked for validity and may be\nmodified into a normalized form.\n\nThe refernece will be immediately renamed in-memory\nand on disk.","group":"reference"},"git_reference_delete":{"type":"function","file":"refs.h","line":257,"lineto":257,"args":[{"name":"ref","type":"git_reference *"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"int"},"description":"Delete an existing reference","comments":"This method works for both direct and symbolic references.\n\nThe reference will be immediately removed on disk and from\nmemory. The given reference pointer will no longer be valid.","group":"reference"},"git_reference_packall":{"type":"function","file":"refs.h","line":275,"lineto":275,"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 on success; error code otherwise"},"description":"Pack all the loose references in the repository","comments":"This method will load into the cache all the loose\nreferences on the repository and update the \n`packed-refs` file with them.\n\nOnce the `packed-refs` file has been written properly,\nthe loose references will be removed from disk.\n\nWARNING: calling this method may invalidate any existing\nreferences previously loaded on the cache.\n","group":"reference"},"git_reference_listall":{"type":"function","file":"refs.h","line":298,"lineto":298,"args":[{"name":"array","type":"git_strarray *","comment":"Pointer to a git_strarray structure where the 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 listing."}],"argline":"git_strarray *array, git_repository *repo, unsigned int list_flags","sig":"git_strarray *::git_repository *::unsigned int","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Fill a list with all the references that can be found\nin a repository.","comments":"The listed references may be filtered by type, or using\na bitwise OR of several types. Use the magic value\n`GIT_REF_LISTALL` to obtain all references, including\npacked ones.\n\nThe string array will be filled with the names of all\nreferences; these values are owned by the user and\nshould be free'd manually when no longer needed, using\n`git_strarray_free`.\n","group":"reference","examples":{"general.c":["ex/v0.13.0/general.html#git_reference_listall-77"]}},"git_reference_foreach":{"type":"function","file":"refs.h","line":320,"lineto":320,"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 listing."},{"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 (*callback)(const char *, void *), void *payload","sig":"git_repository *::unsigned int::int (*)(const char *, void *)::void *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Perform an operation on each reference in the repository","comments":"The processed references may be filtered by type, or using\na bitwise OR of several types. Use the magic value\n`GIT_REF_LISTALL` to obtain all references, including\npacked ones.\n\nThe `callback` function will be called for each of the references\nin the repository, and will receive the name of the reference and\nthe `payload` value passed to this method.\n","group":"reference"}},"globals":{"GIT_BEGIN_DECL":{"value":"","file":"common.h","line":37,"comments":"Start declarations in C mode"},"GIT_END_DECL":{"value":"","file":"common.h","line":39,"comments":"End declarations in C mode"},"GIT_EXTERN(type)":{"value":"extern __attribute__((visibility(\"default\"))) type","file":"common.h","line":43,"comments":"Declare a public function exported for application use."},"GIT_EXTERN_TLS(type)":{"value":"extern __attribute__((visibility(\"default\"))) GIT_TLS type","file":"common.h","line":54,"comments":"Declare a public TLS symbol exported for application use."},"GIT_INLINE(type)":{"value":"static __inline type","file":"common.h","line":66,"comments":"Declare a function as always inlined."},"GIT_FORMAT_PRINTF(a,b)":{"value":"__attribute__((format (printf, a, b)))","file":"common.h","line":73,"comments":"Declare a function's takes printf style arguments."},"GIT_PATH_LIST_SEPARATOR":{"value":"';'","file":"common.h","line":98,"comments":"The separator used in path list strings (ie like in the PATH\nenvironment variable). A semi-colon \";\" is used on Windows, and\na colon \":\" for all other systems."},"GIT_PATH_MAX":{"value":"4096","file":"common.h","line":107,"comments":"The maximum length of a git valid git path."},"GIT_OID_RAWSZ":{"value":"20","file":"oid.h","line":41,"comments":"Size (in bytes) of a raw/binary oid"},"GIT_OID_HEXSZ":{"value":"(GIT_OID_RAWSZ * 2)","file":"oid.h","line":44,"comments":"Size (in bytes) of a hex formatted oid"},"GIT_OID_MINPREFIXLEN":{"value":"4","file":"oid.h","line":48,"comments":"Minimum length (in number of hex characters,\ni.e. packets of 4 bits) of an oid prefix"},"GIT_SORT_NONE":{"value":"(0)","file":"revwalk.h","line":47,"comments":"Sort the repository contents in no particular ordering;\nthis sorting is arbitrary, implementation-specific\nand subject to change at any time.\nThis is the default sorting for new walkers."},"GIT_SORT_TOPOLOGICAL":{"value":"(1 << 0)","file":"revwalk.h","line":54,"comments":"Sort the repository contents in topological order\n(parents before children); this sorting mode\ncan be combined with time sorting."},"GIT_SORT_TIME":{"value":"(1 << 1)","file":"revwalk.h","line":61,"comments":"Sort the repository contents by commit time;\nthis sorting mode can be combined with\ntopological sorting."},"GIT_SORT_REVERSE":{"value":"(1 << 2)","file":"revwalk.h","line":68,"comments":"Iterate through the repository contents in reverse\norder; this sorting mode can be combined with\nany of the above."}},"types":[["git_blob",{"type":"struct","value":"git_blob","file":"types.h","line":116,"lineto":116,"block":"","tdef":"typedef","comments":"In-memory representation of a blob object.","used":{"returns":[],"needs":["git_blob_close","git_blob_lookup","git_blob_lookup_prefix","git_blob_rawcontent","git_blob_rawsize"]}}],["git_commit",{"type":"struct","value":"git_commit","file":"types.h","line":119,"lineto":119,"block":"","tdef":"typedef","comments":"Parsed representation of a commit object.","used":{"returns":[],"needs":["git_commit_author","git_commit_close","git_commit_committer","git_commit_create_o","git_commit_id","git_commit_lookup","git_commit_lookup_prefix","git_commit_message","git_commit_message_short","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",{"type":"struct","value":"git_config","file":"types.h","line":134,"lineto":134,"block":"","tdef":"typedef","comments":"Memory representation of a set of config files","used":{"returns":[],"needs":["git_config_add_file","git_config_add_file_ondisk","git_config_foreach","git_config_free","git_config_get_bool","git_config_get_int","git_config_get_long","git_config_get_string","git_config_new","git_config_open_global","git_config_open_ondisk","git_config_set_bool","git_config_set_int","git_config_set_long","git_config_set_string","git_repository_config"]}}],["git_config_file",{"type":"struct","value":"git_config_file","file":"types.h","line":137,"lineto":137,"block":"","tdef":"typedef","comments":"Interface to access a configuration file","used":{"returns":[],"needs":["git_config_add_file","git_config_file__ondisk"]}}],["git_index",{"type":"struct","value":"git_index","file":"types.h","line":131,"lineto":131,"block":"","tdef":"typedef","comments":"Memory representation of an index file.","used":{"returns":[],"needs":["git_index_add","git_index_add2","git_index_append","git_index_append2","git_index_clear","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_remove","git_index_write","git_repository_index","git_tree_create_fromindex"]}}],["git_index_entry",{"type":"struct","value":"git_index_entry","file":"index.h","line":85,"lineto":102,"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\nconst char *path","tdef":"typedef","comments":"Memory representation of a file entry in the index.","used":{"returns":["git_index_get"],"needs":["git_index_add2","git_index_append2","git_index_entry_stage"]}}],["git_index_entry_unmerged",{"type":"struct","value":"git_index_entry_unmerged","file":"index.h","line":105,"lineto":109,"block":"unsigned int mode[3]\ngit_oid oid[3]\nconst char *path","tdef":"typedef","comments":"Representation of an unmerged file entry in the index.","used":{"returns":["git_index_get_unmerged_byindex","git_index_get_unmerged_bypath"],"needs":[]}}],["git_index_time",{"type":"struct","value":"git_index_time","file":"index.h","line":78,"lineto":82,"block":"git_time_t seconds\nunsigned int nanoseconds","tdef":"typedef","comments":"Time used in a git index entry","used":{"returns":[],"needs":[]}}],["git_object",{"type":"struct","value":"git_object","file":"types.h","line":107,"lineto":107,"block":"","tdef":"typedef","comments":"Representation of a generic object in a repository","used":{"returns":[],"needs":["git_object_close","git_object_id","git_object_lookup","git_object_lookup_prefix","git_object_owner","git_object_type","git_tag_create_fo","git_tag_create_o","git_tag_target","git_tree_entry_2object"]}}],["git_odb",{"type":"struct","value":"git_odb","file":"types.h","line":89,"lineto":89,"block":"","tdef":"typedef","comments":"An open object database handle.","used":{"returns":["git_repository_database"],"needs":["git_odb_add_alternate","git_odb_add_backend","git_odb_close","git_odb_exists","git_odb_new","git_odb_open","git_odb_open_rstream","git_odb_open_wstream","git_odb_read","git_odb_read_header","git_odb_read_prefix","git_odb_write","git_repository_open3"]}}],["git_odb_backend",{"type":"struct","value":"git_odb_backend","file":"types.h","line":92,"lineto":92,"block":"","tdef":"typedef","comments":"A custom backend in an ODB","used":{"returns":[],"needs":["git_odb_add_alternate","git_odb_add_backend"]}}],["git_odb_object",{"type":"struct","value":"git_odb_object","file":"types.h","line":95,"lineto":95,"block":"","tdef":"typedef","comments":"An object read from the ODB","used":{"returns":[],"needs":["git_odb_object_close","git_odb_object_data","git_odb_object_id","git_odb_object_size","git_odb_object_type","git_odb_read","git_odb_read_prefix"]}}],["git_odb_stream",{"type":"struct","value":"git_odb_stream","file":"types.h","line":98,"lineto":98,"block":"","tdef":"typedef","comments":"A stream to read/write from the ODB","used":{"returns":[],"needs":["git_odb_open_rstream","git_odb_open_wstream"]}}],["git_odb_streammode",{"type":"enum","file":"odb_backend.h","line":107,"lineto":118,"block":"GIT_STREAM_RDONLY\nGIT_STREAM_WRONLY\nGIT_STREAM_RW","tdef":"typedef","comments":"Streaming mode","used":{"returns":[],"needs":[]}}],["git_oid",{"type":"struct","value":"git_oid","file":"oid.h","line":51,"lineto":54,"block":"unsigned char id[GIT_OID_RAWSZ]","tdef":"typedef","comments":"Unique identity of any object (commit, tree, blob, tag).","used":{"returns":["git_commit_id","git_commit_parent_oid","git_commit_tree_oid","git_object_id","git_odb_object_id","git_reference_oid","git_tag_id","git_tag_target_oid","git_tree_entry_id","git_tree_id"],"needs":["git_blob_create_frombuffer","git_blob_create_fromfile","git_blob_lookup","git_blob_lookup_prefix","git_commit_create","git_commit_create_o","git_commit_create_ov","git_commit_create_v","git_commit_lookup","git_commit_lookup_prefix","git_object_lookup","git_object_lookup_prefix","git_odb_exists","git_odb_hash","git_odb_open_rstream","git_odb_read","git_odb_read_header","git_odb_read_prefix","git_odb_write","git_oid_allocfmt","git_oid_cmp","git_oid_cpy","git_oid_fmt","git_oid_fromraw","git_oid_fromstr","git_oid_ncmp","git_oid_pathfmt","git_oid_to_string","git_reference_create_oid","git_reference_create_oid_f","git_reference_set_oid","git_revwalk_hide","git_revwalk_next","git_revwalk_push","git_tag_create","git_tag_create_f","git_tag_create_fo","git_tag_create_frombuffer","git_tag_create_o","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",{"type":"struct","value":"git_oid_shorten","file":"oid.h","line":159,"lineto":159,"block":"","tdef":"typedef","comments":"OID Shortener object","used":{"returns":["git_oid_shorten_new"],"needs":["git_oid_shorten_add","git_oid_shorten_free"]}}],["git_otype",{"type":"enum","file":"types.h","line":75,"lineto":86,"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","comments":"Basic type (loose or packed) of any Git object.","used":{"returns":[],"needs":["git_object__size","git_object_lookup","git_object_lookup_prefix","git_object_type2string","git_object_typeisloose","git_odb_hash","git_odb_open_wstream","git_odb_read_header","git_odb_write","git_tag_create","git_tag_create_f"]}}],["git_reference",{"type":"struct","value":"git_reference","file":"types.h","line":153,"lineto":153,"block":"","tdef":"typedef","comments":"In-memory representation of a reference.","used":{"returns":[],"needs":["git_reference_create_oid","git_reference_create_oid_f","git_reference_create_symbolic","git_reference_create_symbolic_f","git_reference_delete","git_reference_lookup","git_reference_name","git_reference_oid","git_reference_owner","git_reference_rename","git_reference_rename_f","git_reference_resolve","git_reference_set_oid","git_reference_set_target","git_reference_target","git_reference_type"]}}],["git_repository",{"type":"struct","value":"git_repository","file":"types.h","line":104,"lineto":104,"block":"","tdef":"typedef","comments":"Representation of an existing git repository,\nincluding all its object contents","used":{"returns":["git_object_owner","git_reference_owner","git_revwalk_repository"],"needs":["git_blob_create_frombuffer","git_blob_create_fromfile","git_blob_lookup","git_blob_lookup_prefix","git_commit_create","git_commit_create_o","git_commit_create_ov","git_commit_create_v","git_commit_lookup","git_commit_lookup_prefix","git_object_lookup","git_object_lookup_prefix","git_reference_create_oid","git_reference_create_oid_f","git_reference_create_symbolic","git_reference_create_symbolic_f","git_reference_foreach","git_reference_listall","git_reference_lookup","git_reference_packall","git_repository_config","git_repository_database","git_repository_free","git_repository_index","git_repository_init","git_repository_is_bare","git_repository_is_empty","git_repository_open","git_repository_open2","git_repository_open3","git_repository_path","git_revwalk_new","git_tag_create","git_tag_create_f","git_tag_create_fo","git_tag_create_frombuffer","git_tag_create_o","git_tag_delete","git_tag_list","git_tag_lookup","git_tag_lookup_prefix","git_tree_entry_2object","git_tree_lookup","git_tree_lookup_prefix","git_treebuilder_write"]}}],["git_repository_pathid",{"type":"enum","file":"repository.h","line":236,"lineto":241,"block":"GIT_REPO_PATH\nGIT_REPO_PATH_INDEX\nGIT_REPO_PATH_ODB\nGIT_REPO_PATH_WORKDIR","tdef":"typedef","comments":"Internal path identifiers for a repository","used":{"returns":[],"needs":["git_repository_path"]}}],["git_revwalk",{"type":"struct","value":"git_revwalk","file":"types.h","line":110,"lineto":110,"block":"","tdef":"typedef","comments":"Representation of an in-progress walk through the commits in a repo","used":{"returns":[],"needs":["git_revwalk_free","git_revwalk_hide","git_revwalk_new","git_revwalk_next","git_revwalk_push","git_revwalk_repository","git_revwalk_reset","git_revwalk_sorting"]}}],["git_rtype",{"type":"enum","file":"types.h","line":156,"lineto":163,"block":"GIT_REF_INVALID\nGIT_REF_OID\nGIT_REF_SYMBOLIC\nGIT_REF_PACKED\nGIT_REF_HAS_PEEL\nGIT_REF_LISTALL","tdef":"typedef","comments":"Basic type of any Git reference.","used":{"returns":[],"needs":[]}}],["git_signature",{"type":"struct","value":"git_signature","file":"types.h","line":146,"lineto":150,"block":"char *name\nchar *email\ngit_time when","tdef":"typedef","comments":"An action signature (e.g. for committers, taggers, etc)","used":{"returns":["git_commit_author","git_commit_committer","git_signature_dup","git_signature_new","git_signature_now","git_tag_tagger"],"needs":["git_commit_create","git_commit_create_o","git_commit_create_ov","git_commit_create_v","git_signature_dup","git_signature_free","git_tag_create","git_tag_create_f","git_tag_create_fo","git_tag_create_o"]}}],["git_tag",{"type":"struct","value":"git_tag","file":"types.h","line":113,"lineto":113,"block":"","tdef":"typedef","comments":"Parsed representation of a tag object.","used":{"returns":[],"needs":["git_tag_close","git_tag_id","git_tag_lookup","git_tag_lookup_prefix","git_tag_message","git_tag_name","git_tag_tagger","git_tag_target","git_tag_target_oid","git_tag_type"]}}],["git_time",{"type":"struct","value":"git_time","file":"types.h","line":140,"lineto":143,"block":"git_time_t time\nint offset","tdef":"typedef","comments":"Time in a signature","used":{"returns":[],"needs":[]}}],["git_tree",{"type":"struct","value":"git_tree","file":"types.h","line":125,"lineto":125,"block":"","tdef":"typedef","comments":"Representation of a tree object.","used":{"returns":[],"needs":["git_commit_create_o","git_commit_create_ov","git_commit_tree","git_tree_close","git_tree_entry_byindex","git_tree_entry_byname","git_tree_entrycount","git_tree_id","git_tree_lookup","git_tree_lookup_prefix","git_treebuilder_create"]}}],["git_tree_entry",{"type":"struct","value":"git_tree_entry","file":"types.h","line":122,"lineto":122,"block":"","tdef":"typedef","comments":"Representation of each one of the entries in a tree object.","used":{"returns":["git_tree_entry_byindex","git_tree_entry_byname","git_treebuilder_get"],"needs":["git_tree_entry_2object","git_tree_entry_attributes","git_tree_entry_id","git_tree_entry_name","git_tree_entry_type","git_treebuilder_filter","git_treebuilder_insert"]}}],["git_treebuilder",{"type":"struct","value":"git_treebuilder","file":"types.h","line":128,"lineto":128,"block":"","tdef":"typedef","comments":"Constructor for in-memory trees","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"]}}]],"prefix":"include/git2","groups":[["blob",["git_blob_close","git_blob_create_frombuffer","git_blob_create_fromfile","git_blob_lookup","git_blob_lookup_prefix","git_blob_rawcontent","git_blob_rawsize"]],["commit",["git_commit_author","git_commit_close","git_commit_committer","git_commit_create","git_commit_create_o","git_commit_create_ov","git_commit_create_v","git_commit_id","git_commit_lookup","git_commit_lookup_prefix","git_commit_message","git_commit_message_short","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_file__ondisk","git_config_find_global","git_config_foreach","git_config_free","git_config_get_bool","git_config_get_int","git_config_get_long","git_config_get_string","git_config_new","git_config_open_global","git_config_open_ondisk","git_config_set_bool","git_config_set_int","git_config_set_long","git_config_set_string"]],["errors",["git_lasterror","git_strerror"]],["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_remove","git_index_write"]],["libgit2",["git_libgit2_version"]],["object",["git_object__size","git_object_close","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_close","git_odb_exists","git_odb_hash","git_odb_new","git_odb_object_close","git_odb_object_data","git_odb_object_id","git_odb_object_size","git_odb_object_type","git_odb_open","git_odb_open_rstream","git_odb_open_wstream","git_odb_read","git_odb_read_header","git_odb_read_prefix","git_odb_write"]],["oid",["git_oid_allocfmt","git_oid_cmp","git_oid_cpy","git_oid_fmt","git_oid_fromraw","git_oid_fromstr","git_oid_ncmp","git_oid_pathfmt","git_oid_shorten_add","git_oid_shorten_free","git_oid_shorten_new","git_oid_to_string"]],["reference",["git_reference_create_oid","git_reference_create_oid_f","git_reference_create_symbolic","git_reference_create_symbolic_f","git_reference_delete","git_reference_foreach","git_reference_listall","git_reference_lookup","git_reference_name","git_reference_oid","git_reference_owner","git_reference_packall","git_reference_rename","git_reference_rename_f","git_reference_resolve","git_reference_set_oid","git_reference_set_target","git_reference_target","git_reference_type"]],["repository",["git_repository_config","git_repository_database","git_repository_discover","git_repository_free","git_repository_index","git_repository_init","git_repository_is_bare","git_repository_is_empty","git_repository_open","git_repository_open2","git_repository_open3","git_repository_path"]],["revwalk",["git_revwalk_free","git_revwalk_hide","git_revwalk_new","git_revwalk_next","git_revwalk_push","git_revwalk_repository","git_revwalk_reset","git_revwalk_sorting"]],["signature",["git_signature_dup","git_signature_free","git_signature_new","git_signature_now"]],["tag",["git_tag_close","git_tag_create","git_tag_create_f","git_tag_create_fo","git_tag_create_frombuffer","git_tag_create_o","git_tag_delete","git_tag_id","git_tag_list","git_tag_lookup","git_tag_lookup_prefix","git_tag_message","git_tag_name","git_tag_tagger","git_tag_target","git_tag_target_oid","git_tag_type"]],["tree",["git_tree_close","git_tree_create_fromindex","git_tree_entry_2object","git_tree_entry_attributes","git_tree_entry_byindex","git_tree_entry_byname","git_tree_entry_id","git_tree_entry_name","git_tree_entry_type","git_tree_entrycount","git_tree_id","git_tree_lookup","git_tree_lookup_prefix"]],["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"]],["zlib",["deflateBound"]]],"examples":[["showindex.c","ex/v0.13.0/showindex.html"],["general.c","ex/v0.13.0/general.html"]]} \ No newline at end of file
+{"files":[{"file":"zlib.h","functions":["deflateBound"],"meta":{"brief":"Git data compression routines","defgroup":"git_zlib Git data compression routines","ingroup":"Git","comments":"\n"},"lines":58},{"file":"types.h","functions":[],"meta":{"brief":"libgit2 base & compatibility types","ingroup":"Git","comments":"\n"},"lines":168},{"file":"tree.h","functions":["git_tree_lookup","git_tree_lookup_prefix","git_tree_close","git_tree_id","git_tree_entrycount","git_tree_entry_byname","git_tree_entry_byindex","git_tree_entry_attributes","git_tree_entry_name","git_tree_entry_id","git_tree_entry_type","git_tree_entry_2object","git_tree_create_fromindex","git_treebuilder_create","git_treebuilder_clear","git_treebuilder_free","git_treebuilder_get","git_treebuilder_insert","git_treebuilder_remove","git_treebuilder_filter","git_treebuilder_write"],"meta":{"brief":"Git tree parsing, loading routines","defgroup":"git_tree Git tree parsing, loading routines","ingroup":"Git","comments":"\n"},"lines":291},{"file":"thread-utils.h","functions":[],"meta":{},"lines":78},{"file":"tag.h","functions":["git_tag_lookup","git_tag_lookup_prefix","git_tag_close","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_o","git_tag_create_frombuffer","git_tag_create_f","git_tag_create_fo","git_tag_delete","git_tag_list"],"meta":{"brief":"Git tag parsing routines","defgroup":"git_tag Git tag management","ingroup":"Git","comments":"\n"},"lines":316},{"file":"signature.h","functions":["git_signature_new","git_signature_now","git_signature_dup","git_signature_free"],"meta":{"brief":"Git signature creation","defgroup":"git_signature Git signature creation","ingroup":"Git","comments":"\n"},"lines":81},{"file":"revwalk.h","functions":["git_revwalk_new","git_revwalk_reset","git_revwalk_push","git_revwalk_hide","git_revwalk_next","git_revwalk_sorting","git_revwalk_free","git_revwalk_repository"],"meta":{"brief":"Git revision traversal routines","defgroup":"git_revwalk Git revision traversal routines","ingroup":"Git","comments":"\n"},"lines":187},{"file":"repository.h","functions":["git_repository_open","git_repository_open2","git_repository_open3","git_repository_discover","git_repository_database","git_repository_index","git_repository_free","git_repository_init","git_repository_is_empty","git_repository_path","git_repository_is_bare","git_repository_config"],"meta":{"brief":"Git repository management routines","defgroup":"git_repository Git repository management routines","ingroup":"Git","comments":"\n"},"lines":308},{"file":"refs.h","functions":["git_reference_lookup","git_reference_create_symbolic","git_reference_create_symbolic_f","git_reference_create_oid","git_reference_create_oid_f","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_rename_f","git_reference_delete","git_reference_packall","git_reference_listall","git_reference_foreach"],"meta":{"brief":"Git reference management routines","defgroup":"git_reference Git reference management routines","ingroup":"Git","comments":"\n"},"lines":324},{"file":"oid.h","functions":["git_oid_fromstr","git_oid_fromraw","git_oid_fmt","git_oid_pathfmt","git_oid_allocfmt","git_oid_to_string","git_oid_cpy","git_oid_cmp","git_oid_ncmp","git_oid_shorten_new","git_oid_shorten_add","git_oid_shorten_free"],"meta":{"brief":"Git object id routines","defgroup":"git_oid Git object id routines","ingroup":"Git","comments":"\n"},"lines":212},{"file":"odb_backend.h","functions":[],"meta":{"brief":"Git custom backend functions","defgroup":"git_backend Git custom backend API","ingroup":"Git","comments":"\n"},"lines":118},{"file":"odb.h","functions":["git_odb_new","git_odb_open","git_odb_add_backend","git_odb_add_alternate","git_odb_close","git_odb_read","git_odb_read_prefix","git_odb_read_header","git_odb_exists","git_odb_write","git_odb_open_wstream","git_odb_open_rstream","git_odb_hash","git_odb_object_close","git_odb_object_id","git_odb_object_data","git_odb_object_size","git_odb_object_type"],"meta":{"brief":"Git object database routines","defgroup":"git_odb Git object database routines","ingroup":"Git","comments":"\n"},"lines":338},{"file":"object.h","functions":["git_object_lookup","git_object_lookup_prefix","git_object_id","git_object_type","git_object_owner","git_object_close","git_object_type2string","git_object_string2type","git_object_typeisloose","git_object__size"],"meta":{"brief":"Git revision object management routines","defgroup":"git_object Git revision object management routines","ingroup":"Git","comments":"\n"},"lines":191},{"file":"index.h","functions":["git_index_open","git_index_clear","git_index_free","git_index_read","git_index_write","git_index_find","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"],"meta":{"brief":"Git index parsing and manipulation routines","defgroup":"git_index Git index parsing and manipulation routines","ingroup":"Git","comments":"\n"},"lines":317},{"file":"errors.h","functions":["git_lasterror","git_strerror"],"meta":{"brief":"Git error handling routines and variables","ingroup":"Git","comments":"\n"},"lines":151},{"file":"config.h","functions":["git_config_find_global","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_int","git_config_get_long","git_config_get_bool","git_config_get_string","git_config_set_int","git_config_set_long","git_config_set_bool","git_config_set_string","git_config_foreach"],"meta":{"brief":"Git config management routines","defgroup":"git_config Git config management routines","ingroup":"Git","comments":"\n"},"lines":273},{"file":"common.h","functions":["git_libgit2_version"],"meta":{"brief":"Git common platform definitions","defgroup":"git_common Git common platform definitions","ingroup":"Git","comments":"\n"},"lines":128},{"file":"commit.h","functions":["git_commit_lookup","git_commit_lookup_prefix","git_commit_close","git_commit_id","git_commit_message_short","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_o","git_commit_create_ov","git_commit_create_v"],"meta":{"brief":"Git commit parsing, formatting routines","defgroup":"git_commit Git commit parsing, formatting routines","ingroup":"Git","comments":"\n"},"lines":319},{"file":"blob.h","functions":["git_blob_lookup","git_blob_lookup_prefix","git_blob_close","git_blob_rawcontent","git_blob_rawsize","git_blob_create_fromfile","git_blob_create_frombuffer"],"meta":{"brief":"Git blob load and write routines","defgroup":"git_blob Git blob load and write routines","ingroup":"Git","comments":"\n"},"lines":138}],"functions":{"deflateBound":{"type":"function","file":"zlib.h","line":50,"lineto":54,"args":[{"name":"stream","type":"z_streamp","comment":"the stream pointer."},{"name":"s","type":"size_t","comment":"tream the stream pointer."}],"argline":"z_streamp stream, size_t s","sig":"z_streamp::size_t","return":{"type":"size_t","comment":"maximum length of the compressed data."},"description":"deflateBound returns an upper bound on the compressed size.","comments":"This is a stub function used when zlib does not supply the\ndeflateBound() implementation itself.\n","group":"zlib"},"git_tree_lookup":{"type":"function","file":"tree.h","line":50,"lineto":53,"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 on success; error code otherwise"},"description":"Lookup a tree object from the repository.","comments":"","group":"tree","examples":{"general.c":["ex/v0.13.0/general.html#git_tree_lookup-1"]}},"git_tree_lookup_prefix":{"type":"function","file":"tree.h","line":67,"lineto":70,"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 on success; error code otherwise"},"description":"Lookup a tree object from the repository,\ngiven a prefix of its identifier (short id).","comments":"@see git_object_lookup_prefix\n","group":"tree"},"git_tree_close":{"type":"function","file":"tree.h","line":83,"lineto":86,"args":[{"name":"tree","type":"git_tree *","comment":"the tree to close"}],"argline":"git_tree *tree","sig":"git_tree *","return":{"type":"void"},"description":"Close an open tree","comments":"This is a wrapper around git_object_close()\n\nIMPORTANT:\nIt *is* necessary to call this method when you stop\nusing a tree. Failure to do so will cause a memory leak.\n","group":"tree"},"git_tree_id":{"type":"function","file":"tree.h","line":96,"lineto":96,"args":[{"name":"tree","type":"git_tree *","comment":"a previously loaded tree."}],"argline":"git_tree *tree","sig":"git_tree *","return":{"type":"const git_oid *","comment":"object identity for the tree."},"description":"Get the id of a tree.","comments":"","group":"tree"},"git_tree_entrycount":{"type":"function","file":"tree.h","line":104,"lineto":104,"args":[{"name":"tree","type":"git_tree *","comment":"a previously loaded tree."}],"argline":"git_tree *tree","sig":"git_tree *","return":{"type":"unsigned int","comment":"the number of entries in the tree"},"description":"Get the number of entries listed in a tree","comments":"","group":"tree","examples":{"general.c":["ex/v0.13.0/general.html#git_tree_entrycount-2"]}},"git_tree_entry_byname":{"type":"function","file":"tree.h","line":113,"lineto":113,"args":[{"name":"tree","type":"git_tree *","comment":"a previously loaded tree."},{"name":"filename","type":"const char *","comment":"the filename of the desired entry"}],"argline":"git_tree *tree, const char *filename","sig":"git_tree *::const char *","return":{"type":"const git_tree_entry *","comment":"the tree entry; NULL if not found"},"description":"Lookup a tree entry by its filename","comments":"","group":"tree","examples":{"general.c":["ex/v0.13.0/general.html#git_tree_entry_byname-3"]}},"git_tree_entry_byindex":{"type":"function","file":"tree.h","line":122,"lineto":122,"args":[{"name":"tree","type":"git_tree *","comment":"a previously loaded tree."},{"name":"idx","type":"unsigned int","comment":"the position in the entry list"}],"argline":"git_tree *tree, unsigned int idx","sig":"git_tree *::unsigned int","return":{"type":"const git_tree_entry *","comment":"the tree entry; NULL if not found"},"description":"Lookup a tree entry by its position in the tree","comments":"","group":"tree","examples":{"general.c":["ex/v0.13.0/general.html#git_tree_entry_byindex-4"]}},"git_tree_entry_attributes":{"type":"function","file":"tree.h","line":130,"lineto":130,"args":[{"name":"entry","type":"const git_tree_entry *","comment":"a tree entry"}],"argline":"const git_tree_entry *entry","sig":"const git_tree_entry *","return":{"type":"unsigned int","comment":"attributes as an integer"},"description":"Get the UNIX file attributes of a tree entry","comments":"","group":"tree"},"git_tree_entry_name":{"type":"function","file":"tree.h","line":138,"lineto":138,"args":[{"name":"entry","type":"const git_tree_entry *","comment":"a tree entry"}],"argline":"const git_tree_entry *entry","sig":"const git_tree_entry *","return":{"type":"const char *","comment":"the name of the file"},"description":"Get the filename of a tree entry","comments":"","group":"tree","examples":{"general.c":["ex/v0.13.0/general.html#git_tree_entry_name-5","ex/v0.13.0/general.html#git_tree_entry_name-6"]}},"git_tree_entry_id":{"type":"function","file":"tree.h","line":146,"lineto":146,"args":[{"name":"entry","type":"const git_tree_entry *","comment":"a tree entry"}],"argline":"const git_tree_entry *entry","sig":"const git_tree_entry *","return":{"type":"const git_oid *","comment":"the oid of the object"},"description":"Get the id of the object pointed by the entry","comments":"","group":"tree"},"git_tree_entry_type":{"type":"function","file":"tree.h","line":154,"lineto":154,"args":[{"name":"entry","type":"const git_tree_entry *","comment":"a tree entry"}],"argline":"const git_tree_entry *entry","sig":"const git_tree_entry *","return":{"type":"git_otype","comment":"the type of the pointed object"},"description":"Get the type of the object pointed by the entry","comments":"","group":"tree"},"git_tree_entry_2object":{"type":"function","file":"tree.h","line":164,"lineto":164,"args":[{"name":"object_out","type":"git_object **"},{"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 on success; error code otherwise"},"description":"Convert a tree entry to the git_object it points too.","comments":"","group":"tree","examples":{"general.c":["ex/v0.13.0/general.html#git_tree_entry_2object-7"]}},"git_tree_create_fromindex":{"type":"function","file":"tree.h","line":182,"lineto":182,"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 on success; error code otherwise"},"description":"Write a tree to the ODB from the index file","comments":"This method will scan the index and write a representation\nof its current state back to disk; it recursively creates\ntree objects for each of the subtrees stored in the index,\nbut only returns the OID of the root tree. This is the OID\nthat can be used e.g. to create a commit.\n\nThe index instance cannot be bare, and needs to be associated\nto an existing repository.\n","group":"tree"},"git_treebuilder_create":{"type":"function","file":"tree.h","line":201,"lineto":201,"args":[{"name":"builder_p","type":"git_treebuilder **","comment":"Pointer where to store the tree builder"},{"name":"source","type":"const git_tree *","comment":"Source tree to initialize the builder (optional)"}],"argline":"git_treebuilder **builder_p, const git_tree *source","sig":"git_treebuilder **::const git_tree *","return":{"type":"int","comment":"0 on sucess; error code otherwise"},"description":"Create a new tree builder.","comments":"The tree builder can be used to create or modify\ntrees in memory and write them as tree objects to the\ndatabase.\n\nIf the `source` parameter is not NULL, the tree builder\nwill be initialized with the entries of the given tree.\n\nIf the `source` parameter is NULL, the tree builder will\nhave no entries and will have to be filled manually.\n","group":"treebuilder"},"git_treebuilder_clear":{"type":"function","file":"tree.h","line":208,"lineto":208,"args":[{"name":"bld","type":"git_treebuilder *","comment":"Builder to clear"}],"argline":"git_treebuilder *bld","sig":"git_treebuilder *","return":{"type":"void"},"description":"Clear all the entires in the builder","comments":"","group":"treebuilder"},"git_treebuilder_free":{"type":"function","file":"tree.h","line":219,"lineto":219,"args":[{"name":"bld","type":"git_treebuilder *","comment":"Builder to free"}],"argline":"git_treebuilder *bld","sig":"git_treebuilder *","return":{"type":"void"},"description":"Free a tree builder","comments":"This will clear all the entries and free to builder.\nFailing to free the builder after you're done using it\nwill result in a memory leak\n","group":"treebuilder"},"git_treebuilder_get":{"type":"function","file":"tree.h","line":231,"lineto":231,"args":[{"name":"bld","type":"git_treebuilder *","comment":"Tree builder"},{"name":"filename","type":"const char *","comment":"Name of the entry"}],"argline":"git_treebuilder *bld, const char *filename","sig":"git_treebuilder *::const char *","return":{"type":"const git_tree_entry *","comment":"pointer to the entry; NULL if not found"},"description":"Get an entry from the builder from its filename","comments":"The returned entry is owned by the builder and should\nnot be freed manually.\n","group":"treebuilder"},"git_treebuilder_insert":{"type":"function","file":"tree.h","line":252,"lineto":252,"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 on success; error code otherwise"},"description":"Add or update an entry to the builder","comments":"Insert a new entry for `filename` in the builder with the\ngiven attributes.\n\nif an entry named `filename` already exists, its attributes\nwill be updated with the given ones.\n\nThe optional pointer `entry_out` can be used to retrieve a\npointer to the newly created/updated entry.\n","group":"treebuilder"},"git_treebuilder_remove":{"type":"function","file":"tree.h","line":260,"lineto":260,"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"},"description":"Remove an entry from the builder by its filename","comments":"","group":"treebuilder"},"git_treebuilder_filter":{"type":"function","file":"tree.h","line":273,"lineto":273,"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 *"}],"argline":"git_treebuilder *bld, int (*filter)(const git_tree_entry *, void *), void *payload","sig":"git_treebuilder *::int (*)(const git_tree_entry *, void *)::void *","return":{"type":"void"},"description":"Filter the entries in the tree","comments":"The `filter` callback will be called for each entry\nin the tree with a pointer to the entry and the\nprovided `payload`: if the callback returns 1, the\nentry will be filtered (removed from the builder).\n","group":"treebuilder"},"git_treebuilder_write":{"type":"function","file":"tree.h","line":287,"lineto":287,"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 on success; error code otherwise"},"description":"Write the contents of the tree builder as a tree object","comments":"The tree builder will be written to the given `repo`, and\nit's identifying SHA1 hash will be stored in the `oid`\npointer.\n","group":"treebuilder"},"git_tag_lookup":{"type":"function","file":"tag.h","line":50,"lineto":53,"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 on success; error code otherwise"},"description":"Lookup a tag object from the repository.","comments":"","group":"tag","examples":{"general.c":["ex/v0.13.0/general.html#git_tag_lookup-8"]}},"git_tag_lookup_prefix":{"type":"function","file":"tag.h","line":67,"lineto":70,"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 on success; error code otherwise"},"description":"Lookup a tag object from the repository,\ngiven a prefix of its identifier (short id).","comments":"@see git_object_lookup_prefix\n","group":"tag"},"git_tag_close":{"type":"function","file":"tag.h","line":83,"lineto":86,"args":[{"name":"tag","type":"git_tag *","comment":"the tag to close"}],"argline":"git_tag *tag","sig":"git_tag *","return":{"type":"void"},"description":"Close an open tag","comments":"This is a wrapper around git_object_close()\n\nIMPORTANT:\nIt *is* necessary to call this method when you stop\nusing a tag. Failure to do so will cause a memory leak.\n","group":"tag"},"git_tag_id":{"type":"function","file":"tag.h","line":96,"lineto":96,"args":[{"name":"tag","type":"git_tag *","comment":"a previously loaded tag."}],"argline":"git_tag *tag","sig":"git_tag *","return":{"type":"const git_oid *","comment":"object identity for the tag."},"description":"Get the id of a tag.","comments":"","group":"tag"},"git_tag_target":{"type":"function","file":"tag.h","line":108,"lineto":108,"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 on success; error code otherwise"},"description":"Get the tagged object of a tag","comments":"This method performs a repository lookup for the\ngiven object and returns it\n","group":"tag","examples":{"general.c":["ex/v0.13.0/general.html#git_tag_target-9"]}},"git_tag_target_oid":{"type":"function","file":"tag.h","line":116,"lineto":116,"args":[{"name":"tag","type":"git_tag *","comment":"a previously loaded tag."}],"argline":"git_tag *tag","sig":"git_tag *","return":{"type":"const git_oid *","comment":"pointer to the OID"},"description":"Get the OID of the tagged object of a tag","comments":"","group":"tag"},"git_tag_type":{"type":"function","file":"tag.h","line":124,"lineto":124,"args":[{"name":"tag","type":"git_tag *","comment":"a previously loaded tag."}],"argline":"git_tag *tag","sig":"git_tag *","return":{"type":"git_otype","comment":"type of the tagged object"},"description":"Get the type of a tag's tagged object","comments":"","group":"tag","examples":{"general.c":["ex/v0.13.0/general.html#git_tag_type-10"]}},"git_tag_name":{"type":"function","file":"tag.h","line":132,"lineto":132,"args":[{"name":"tag","type":"git_tag *","comment":"a previously loaded tag."}],"argline":"git_tag *tag","sig":"git_tag *","return":{"type":"const char *","comment":"name of the tag"},"description":"Get the name of a tag","comments":"","group":"tag","examples":{"general.c":["ex/v0.13.0/general.html#git_tag_name-11"]}},"git_tag_tagger":{"type":"function","file":"tag.h","line":140,"lineto":140,"args":[{"name":"tag","type":"git_tag *","comment":"a previously loaded tag."}],"argline":"git_tag *tag","sig":"git_tag *","return":{"type":"const git_signature *","comment":"reference to the tag's author"},"description":"Get the tagger (author) of a tag","comments":"","group":"tag"},"git_tag_message":{"type":"function","file":"tag.h","line":148,"lineto":148,"args":[{"name":"tag","type":"git_tag *","comment":"a previously loaded tag."}],"argline":"git_tag *tag","sig":"git_tag *","return":{"type":"const char *","comment":"message of the tag"},"description":"Get the message of a tag","comments":"","group":"tag","examples":{"general.c":["ex/v0.13.0/general.html#git_tag_message-12"]}},"git_tag_create":{"type":"function","file":"tag.h","line":181,"lineto":188,"args":[{"name":"oid","type":"git_oid *","comment":"Pointer where to store the OID of the newly created tag. If the tag already exists, this parameter will be the oid of the existed tag, and the function will 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 for consistency. It should also not conflict with an already existing tag name"},{"name":"target","type":"const git_oid *","comment":"OID to which this tag points; note that no validation is done on this OID. Use the _o version of this method to assure a proper object is being tagged"},{"name":"target_type","type":"git_otype","comment":"Type of the tagged OID; note that no validation is performed here either"},{"name":"tagger","type":"const git_signature *","comment":"Signature of the tagger for this tag, and of the tagging time"},{"name":"message","type":"const char *","comment":"Full message for this tag"}],"argline":"git_oid *oid,\n\t\tgit_repository *repo,\n\t\tconst char *tag_name,\n\t\tconst git_oid *target,\n\t\tgit_otype target_type,\n\t\tconst git_signature *tagger,\n\t\tconst char *message","sig":"git_oid *::git_repository *::const char *::const git_oid *::git_otype::const git_signature *::const char *","return":{"type":"int","comment":"0 on success; error code otherwise. A tag object is written to the ODB, and a proper reference is written in the /refs/tags folder, pointing to it"},"description":"Create a new tag in the repository from an OID","comments":"","group":"tag"},"git_tag_create_o":{"type":"function","file":"tag.h","line":203,"lineto":209,"args":[{"name":"oid","type":"git_oid *"},{"name":"repo","type":"git_repository *"},{"name":"tag_name","type":"const char *"},{"name":"target","type":"const git_object *"},{"name":"tagger","type":"const git_signature *"},{"name":"message","type":"const char *"}],"argline":"git_oid *oid,\n\t\tgit_repository *repo,\n\t\tconst char *tag_name,\n\t\tconst git_object *target,\n\t\tconst git_signature *tagger,\n\t\tconst char *message","sig":"git_oid *::git_repository *::const char *::const git_object *::const git_signature *::const char *","return":{"type":"int"},"description":"Create a new tag in the repository from an existing\n`git_object` instance","comments":"This method replaces the `target` and `target_type`\nparemeters of `git_tag_create` by a single instance\nof a `const git_object *`, which is assured to be\na proper object in the ODB and hence will create\na valid tag\n\n@see git_tag_create","group":"tag"},"git_tag_create_frombuffer":{"type":"function","file":"tag.h","line":220,"lineto":223,"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"}],"argline":"git_oid *oid,\n\t\tgit_repository *repo,\n\t\tconst char *buffer","sig":"git_oid *::git_repository *::const char *","return":{"type":"int"},"description":"Create a new tag in the repository from a buffer","comments":"","group":"tag"},"git_tag_create_f":{"type":"function","file":"tag.h","line":253,"lineto":260,"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":"tag_name","type":"const char *","comment":"Name for the tag; this name is validated for consistency."},{"name":"target","type":"const git_oid *","comment":"OID to which this tag points; note that no validation is done on this OID. Use the _fo version of this method to assure a proper object is being tagged"},{"name":"target_type","type":"git_otype","comment":"Type of the tagged OID; note that no validation is performed here either"},{"name":"tagger","type":"const git_signature *","comment":"Signature of the tagger for this tag, and of the tagging time"},{"name":"message","type":"const char *","comment":"Full message for this tag"}],"argline":"git_oid *oid,\n\t\tgit_repository *repo,\n\t\tconst char *tag_name,\n\t\tconst git_oid *target,\n\t\tgit_otype target_type,\n\t\tconst git_signature *tagger,\n\t\tconst char *message","sig":"git_oid *::git_repository *::const char *::const git_oid *::git_otype::const git_signature *::const char *","return":{"type":"int","comment":"0 on success; error code otherwise. A tag object is written to the ODB, and a proper reference is written in the /refs/tags folder, pointing to it"},"description":"Create a new tag in the repository from an OID\nand overwrite an already existing tag reference, if any.","comments":"","group":"tag"},"git_tag_create_fo":{"type":"function","file":"tag.h","line":275,"lineto":281,"args":[{"name":"oid","type":"git_oid *"},{"name":"repo","type":"git_repository *"},{"name":"tag_name","type":"const char *"},{"name":"target","type":"const git_object *"},{"name":"tagger","type":"const git_signature *"},{"name":"message","type":"const char *"}],"argline":"git_oid *oid,\n\t\tgit_repository *repo,\n\t\tconst char *tag_name,\n\t\tconst git_object *target,\n\t\tconst git_signature *tagger,\n\t\tconst char *message","sig":"git_oid *::git_repository *::const char *::const git_object *::const git_signature *::const char *","return":{"type":"int"},"description":"Create a new tag in the repository from an existing\n`git_object` instance and overwrite an already existing \ntag reference, if any.","comments":"This method replaces the `target` and `target_type`\nparemeters of `git_tag_create_f` by a single instance\nof a `const git_object *`, which is assured to be\na proper object in the ODB and hence will create\na valid tag\n\n@see git_tag_create_f","group":"tag"},"git_tag_delete":{"type":"function","file":"tag.h","line":293,"lineto":295,"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; this name is validated for consistency."}],"argline":"git_repository *repo,\n\t\tconst char *tag_name","sig":"git_repository *::const char *","return":{"type":"int","comment":"0 on success; error code otherwise."},"description":"Delete an existing tag reference.","comments":"","group":"tag"},"git_tag_list":{"type":"function","file":"tag.h","line":310,"lineto":312,"args":[{"name":"tag_names","type":"git_strarray *","comment":"Pointer to a git_strarray structure where the tag names will be stored"},{"name":"repo","type":"git_repository *","comment":"Repository where to find the tags"}],"argline":"git_strarray *tag_names,\n\t\tgit_repository *repo","sig":"git_strarray *::git_repository *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Fill a list with all the tags in the Repository","comments":"The string array will be filled with the names of the\nmatching tags; these values are owned by the user and\nshould be free'd manually when no longer needed, using\n`git_strarray_free`.\n","group":"tag"},"git_signature_new":{"type":"function","file":"signature.h","line":50,"lineto":50,"args":[{"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":"const char *name, const char *email, git_time_t time, int offset","sig":"const char *::const char *::git_time_t::int","return":{"type":"git_signature *","comment":"the new sig, NULL on out of memory"},"description":"Create a new action signature. The signature must be freed\nmanually or using git_signature_free","comments":"","group":"signature","examples":{"general.c":["ex/v0.13.0/general.html#git_signature_new-13","ex/v0.13.0/general.html#git_signature_new-14"]}},"git_signature_now":{"type":"function","file":"signature.h","line":60,"lineto":60,"args":[{"name":"name","type":"const char *","comment":"name of the person"},{"name":"email","type":"const char *","comment":"email of the person"}],"argline":"const char *name, const char *email","sig":"const char *::const char *","return":{"type":"git_signature *","comment":"the new sig, NULL on out of memory"},"description":"Create a new action signature with a timestamp of 'now'. The\nsignature must be freed manually or using git_signature_free","comments":"","group":"signature"},"git_signature_dup":{"type":"function","file":"signature.h","line":70,"lineto":70,"args":[{"name":"sig","type":"const git_signature *","comment":"signature to duplicated"}],"argline":"const git_signature *sig","sig":"const git_signature *","return":{"type":"git_signature *","comment":"a copy of sig, NULL on out of memory"},"description":"Create a copy of an existing signature.","comments":"All internal strings are also duplicated.","group":"signature"},"git_signature_free":{"type":"function","file":"signature.h","line":77,"lineto":77,"args":[{"name":"sig","type":"git_signature *","comment":"signature to free"}],"argline":"git_signature *sig","sig":"git_signature *","return":{"type":"void"},"description":"Free an existing signature","comments":"","group":"signature"},"git_revwalk_new":{"type":"function","file":"revwalk.h","line":88,"lineto":88,"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 on success; error code otherwise"},"description":"Allocate a new revision walker to iterate through a repo.","comments":"This revision walker uses a custom memory pool and an internal\ncommit cache, so it is relatively expensive to allocate.\n\nFor maximum performance, this revision walker should be\nreused for different walks.\n\nThis revision walker is *not* thread safe: it may only be\nused to walk a repository on a single thread; however,\nit is possible to have several revision walkers in\nseveral different threads walking the same repository.\n","group":"revwalk","examples":{"general.c":["ex/v0.13.0/general.html#git_revwalk_new-15"]}},"git_revwalk_reset":{"type":"function","file":"revwalk.h","line":103,"lineto":103,"args":[{"name":"walker","type":"git_revwalk *","comment":"handle to reset."}],"argline":"git_revwalk *walker","sig":"git_revwalk *","return":{"type":"void"},"description":"Reset the revision walker for reuse.","comments":"This will clear all the pushed and hidden commits, and\nleave the walker in a blank state (just like at\ncreation) ready to receive new commit pushes and\nstart a new walk.\n\nThe revision walk is automatically reset when a walk\nis over.\n","group":"revwalk"},"git_revwalk_push":{"type":"function","file":"revwalk.h","line":120,"lineto":120,"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 on success; error code otherwise"},"description":"Mark a commit to start traversal from.","comments":"The given OID must belong to a commit on the walked\nrepository.\n\nThe given commit will be used as one of the roots\nwhen starting the revision walk. At least one commit\nmust be pushed the repository before a walk can\nbe started.\n","group":"revwalk","examples":{"general.c":["ex/v0.13.0/general.html#git_revwalk_push-16"]}},"git_revwalk_hide":{"type":"function","file":"revwalk.h","line":136,"lineto":136,"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 on success; error code otherwise"},"description":"Mark a commit (and its ancestors) uninteresting for the output.","comments":"The given OID must belong to a commit on the walked\nrepository.\n\nThe resolved commit and all its parents will be hidden from the\noutput on the revision walk.\n","group":"revwalk"},"git_revwalk_next":{"type":"function","file":"revwalk.h","line":156,"lineto":156,"args":[{"name":"oid","type":"git_oid *","comment":"Pointer where to store the oid of the next commit"},{"name":"walk","type":"git_revwalk *","comment":"the walker to pop the commit from."}],"argline":"git_oid *oid, git_revwalk *walk","sig":"git_oid *::git_revwalk *","return":{"type":"int","comment":"GIT_SUCCESS if the next commit was found; GIT_EREVWALKOVER if there are no commits left to iterate"},"description":"Get the next commit from the revision walk.","comments":"The initial call to this method is *not* blocking when\niterating through a repo with a time-sorting mode.\n\nIterating with Topological or inverted modes makes the initial\ncall blocking to preprocess the commit list, but this block should be\nmostly unnoticeable on most repositories (topological preprocessing\ntimes at 0.3s on the git.git repo).\n\nThe revision walker is reset when the walk is over.\n","group":"revwalk","examples":{"general.c":["ex/v0.13.0/general.html#git_revwalk_next-17"]}},"git_revwalk_sorting":{"type":"function","file":"revwalk.h","line":167,"lineto":167,"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"},"description":"Change the sorting mode when iterating through the\nrepository's contents.","comments":"Changing the sorting mode resets the walker.\n","group":"revwalk","examples":{"general.c":["ex/v0.13.0/general.html#git_revwalk_sorting-18"]}},"git_revwalk_free":{"type":"function","file":"revwalk.h","line":174,"lineto":174,"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"},"description":"Free a revision walker previously allocated.","comments":"","group":"revwalk","examples":{"general.c":["ex/v0.13.0/general.html#git_revwalk_free-19"]}},"git_revwalk_repository":{"type":"function","file":"revwalk.h","line":183,"lineto":183,"args":[{"name":"walk","type":"git_revwalk *","comment":"the revision walker"}],"argline":"git_revwalk *walk","sig":"git_revwalk *","return":{"type":"git_repository *","comment":"the repository being walked"},"description":"Return the repository on which this walker\nis operating.","comments":"","group":"revwalk"},"git_repository_open":{"type":"function","file":"repository.h","line":64,"lineto":64,"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 on success; error code otherwise"},"description":"Open a git repository.","comments":"The 'path' argument must point to an existing git repository\nfolder, e.g.\n\n\t/path/to/my_repo/.git/\t(normal repository)\n\t\t\t\t\t\tobjects/\n\t\t\t\t\t\tindex\n\t\t\t\t\t\tHEAD\n\n\t/path/to/bare_repo/\t\t(bare repository)\n\t\t\t\t\tobjects/\n\t\t\t\t\tindex\n\t\t\t\t\tHEAD\n\nThe method will automatically detect if 'path' is a normal\nor bare repository or fail is 'path' is neither.\n","group":"repository","examples":{"showindex.c":["ex/v0.13.0/showindex.html#git_repository_open-1"],"general.c":["ex/v0.13.0/general.html#git_repository_open-20"]}},"git_repository_open2":{"type":"function","file":"repository.h","line":93,"lineto":97,"args":[{"name":"repository","type":"git_repository **","comment":"pointer to the repo which will be opened"},{"name":"git_dir","type":"const char *","comment":"The full path to the repository folder e.g. a '.git' folder for live repos, any folder for bare Equivalent to $GIT_DIR. Cannot be NULL."},{"name":"git_object_directory","type":"const char *","comment":"The full path to the ODB folder. the folder where all the loose and packed objects are stored Equivalent to $GIT_OBJECT_DIRECTORY. If NULL, \"$GIT_DIR/objects/\" is assumed."},{"name":"git_index_file","type":"const char *","comment":"The full path to the index (dircache) file Equivalent to $GIT_INDEX_FILE. If NULL, \"$GIT_DIR/index\" is assumed."},{"name":"git_work_tree","type":"const char *","comment":"The full path to the working tree of the repository, if the repository is not bare. Equivalent to $GIT_WORK_TREE. If NULL, the repository is assumed to be bare."}],"argline":"git_repository **repository,\n\t\tconst char *git_dir,\n\t\tconst char *git_object_directory,\n\t\tconst char *git_index_file,\n\t\tconst char *git_work_tree","sig":"git_repository **::const char *::const char *::const char *::const char *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Open a git repository by manually specifying all its paths","comments":"","group":"repository"},"git_repository_open3":{"type":"function","file":"repository.h","line":128,"lineto":132,"args":[{"name":"repository","type":"git_repository **","comment":"pointer to the repo which will be opened"},{"name":"git_dir","type":"const char *","comment":"The full path to the repository folder e.g. a '.git' folder for live repos, any folder for bare Equivalent to $GIT_DIR. Cannot be NULL."},{"name":"object_database","type":"git_odb *","comment":"A pointer to a git_odb created & initialized by the user (e.g. with custom backends). This object database will be owned by the repository and will be automatically free'd. It should not be manually free'd by the user, or this git_repository object will become invalid."},{"name":"git_index_file","type":"const char *","comment":"The full path to the index (dircache) file Equivalent to $GIT_INDEX_FILE. If NULL, \"$GIT_DIR/index\" is assumed."},{"name":"git_work_tree","type":"const char *","comment":"The full path to the working tree of the repository, if the repository is not bare. Equivalent to $GIT_WORK_TREE. If NULL, the repository is assumed to be bare."}],"argline":"git_repository **repository,\n\t\tconst char *git_dir,\n\t\tgit_odb *object_database,\n\t\tconst char *git_index_file,\n\t\tconst char *git_work_tree","sig":"git_repository **::const char *::git_odb *::const char *::const char *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Open a git repository by manually specifying its paths and\nthe object database it will use.","comments":"","group":"repository"},"git_repository_discover":{"type":"function","file":"repository.h","line":161,"lineto":161,"args":[{"name":"repository_path","type":"char *","comment":"The user allocated buffer which will contain the found path."},{"name":"size","type":"size_t","comment":"repository_path size"},{"name":"start_path","type":"const char *","comment":"The base path where the lookup starts."},{"name":"across_fs","type":"int","comment":"If true, then the lookup will not stop when a filesystem device change is detected while exploring parent directories."},{"name":"ceiling_dirs","type":"const char *","comment":"A GIT_PATH_LIST_SEPARATOR separated list of absolute symbolic link free paths. The lookup will stop when any of this paths is reached. Note that the lookup always performs on start_path no matter start_path appears in ceiling_dirs ceiling_dirs might be NULL (which is equivalent to an empty string)"}],"argline":"char *repository_path, size_t size, const char *start_path, int across_fs, const char *ceiling_dirs","sig":"char *::size_t::const char *::int::const char *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Look for a git repository and copy its path in the given buffer. The lookup start\nfrom base_path and walk across parent directories if nothing has been found. The\nlookup ends when the first repository is found, or when reaching a directory\nreferenced in ceiling_dirs or when the filesystem changes (in case across_fs\nis true).","comments":"The method will automatically detect if the repository is bare (if there is\na repository).\n","group":"repository"},"git_repository_database":{"type":"function","file":"repository.h","line":169,"lineto":169,"args":[{"name":"repo","type":"git_repository *","comment":"a repository object"}],"argline":"git_repository *repo","sig":"git_repository *","return":{"type":"git_odb *","comment":"a pointer to the object db"},"description":"Get the object database behind a Git repository","comments":"","group":"repository","examples":{"general.c":["ex/v0.13.0/general.html#git_repository_database-21"]}},"git_repository_index":{"type":"function","file":"repository.h","line":189,"lineto":189,"args":[{"name":"index","type":"git_index **","comment":"Pointer where to store the index"},{"name":"repo","type":"git_repository *","comment":"a repository object"}],"argline":"git_index **index, git_repository *repo","sig":"git_index **::git_repository *","return":{"type":"int","comment":"0 on success; error code if the index could not be opened"},"description":"Open the Index file of a Git repository","comments":"This returns a new and unique `git_index` object representing the\nactive index for the repository.\n\nThis method may be called more than once (e.g. on different threads).\n\nEach returned `git_index` object is independent and suffers no race\nconditions: synchronization is done at the FS level.\n\nEach returned `git_index` object must be manually freed by the user,\nusing `git_index_free`.\n","group":"repository","examples":{"showindex.c":["ex/v0.13.0/showindex.html#git_repository_index-2"],"general.c":["ex/v0.13.0/general.html#git_repository_index-22"]}},"git_repository_free":{"type":"function","file":"repository.h","line":202,"lineto":202,"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"},"description":"Free a previously allocated repository","comments":"Note that after a repository is free'd, all the objects it has spawned\nwill still exist until they are manually closed by the user\nwith `git_object_close`, but accessing any of the attributes of\nan object without a backing repository will result in undefined\nbehavior\n","group":"repository","examples":{"showindex.c":["ex/v0.13.0/showindex.html#git_repository_free-3"],"general.c":["ex/v0.13.0/general.html#git_repository_free-23"]}},"git_repository_init":{"type":"function","file":"repository.h","line":219,"lineto":219,"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","comment":"if true, a Git repository without a working directory is created at the pointed path. If false, provided path will be considered as the working directory into which the .git directory will be created."}],"argline":"git_repository **repo_out, const char *path, unsigned is_bare","sig":"git_repository **::const char *::unsigned","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Creates a new Git repository in the given folder.","comments":"TODO:\n- Reinit the repository\n- Create config files\n","group":"repository"},"git_repository_is_empty":{"type":"function","file":"repository.h","line":231,"lineto":231,"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 if the repository is corrupted"},"description":"Check if a repository is empty","comments":"An empty repository has just been initialized and contains\nno commits.\n","group":"repository"},"git_repository_path":{"type":"function","file":"repository.h","line":258,"lineto":258,"args":[{"name":"repo","type":"git_repository *","comment":"a repository object"},{"name":"id","type":"git_repository_pathid","comment":"The ID of the path to return"}],"argline":"git_repository *repo, git_repository_pathid id","sig":"git_repository *::git_repository_pathid","return":{"type":"const char *","comment":"absolute path of the requested id"},"description":"Get one of the paths to the repository","comments":"Possible values for `id`:\n\nGIT_REPO_PATH: return the path to the repository\nGIT_REPO_PATH_INDEX: return the path to the index\nGIT_REPO_PATH_ODB: return the path to the ODB\nGIT_REPO_PATH_WORKDIR: return the path to the working\n\tdirectory\n","group":"repository"},"git_repository_is_bare":{"type":"function","file":"repository.h","line":266,"lineto":266,"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 otherwise."},"description":"Check if a repository is bare","comments":"","group":"repository"},"git_repository_config":{"type":"function","file":"repository.h","line":301,"lineto":304,"args":[{"name":"out","type":"git_config **","comment":"the repository's configuration"},{"name":"repo","type":"git_repository *","comment":"the repository for which to get the config"},{"name":"user_config_path","type":"const char *","comment":"Path to the user config file"},{"name":"system_config_path","type":"const char *","comment":"Path to the system-wide config file"}],"argline":"git_config **out,\n\tgit_repository *repo,\n\tconst char *user_config_path,\n\tconst char *system_config_path","sig":"git_config **::git_repository *::const char *::const char *","return":{"type":"int"},"description":"Retrieve the relevant configuration for a repository","comments":"By default he returned `git_config` instance contains a single\nconfiguration file, the `.gitconfig' file that may be found\ninside the repository.\n\nIf the `user_config_path` variable is not NULL, the given config\nfile will be also included in the configuration set. On most UNIX\nsystems, this file may be found on `$HOME/.gitconfig`.\n\nIf the `system_config_path` variable is not NULL, the given config\nfile will be also included in the configuration set. On most UNIX\nsystems, this file may be found on `$PREFIX/etc/gitconfig`.\n\nThe resulting `git_config` instance will query the files in the following\norder:\n\n- Repository configuration file\n- User configuration file\n- System configuration file\n\nThe method will fail if any of the passed config files cannot be\nfound or accessed.\n\nThe returned `git_config` instance is owned by the caller and must\nbe manually free'd once it's no longer on use.\n","group":"repository"},"git_reference_lookup":{"type":"function","file":"refs.h","line":52,"lineto":52,"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 on success; error code otherwise"},"description":"Lookup a reference by its name in a repository.","comments":"The generated reference is owned by the repository and\nshould not be freed by the user.\n","group":"reference","examples":{"general.c":["ex/v0.13.0/general.html#git_reference_lookup-24"]}},"git_reference_create_symbolic":{"type":"function","file":"refs.h","line":69,"lineto":69,"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"}],"argline":"git_reference **ref_out, git_repository *repo, const char *name, const char *target","sig":"git_reference **::git_repository *::const char *::const char *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Create a new symbolic reference.","comments":"The reference will be created in the repository and written\nto the disk.\n\nThis reference is owned by the repository and shall not\nbe free'd by the user.\n","group":"reference"},"git_reference_create_symbolic_f":{"type":"function","file":"refs.h","line":90,"lineto":90,"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"}],"argline":"git_reference **ref_out, git_repository *repo, const char *name, const char *target","sig":"git_reference **::git_repository *::const char *::const char *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Create a new symbolic reference, overwriting an existing one with\nthe same name, if it exists.","comments":"If the new reference isn't a symbolic one, any pointers to the old\nreference become invalid.\n\nThe reference will be created in the repository and written\nto the disk.\n\nThis reference is owned by the repository and shall not\nbe free'd by the user.\n","group":"reference"},"git_reference_create_oid":{"type":"function","file":"refs.h","line":107,"lineto":107,"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."}],"argline":"git_reference **ref_out, git_repository *repo, const char *name, const git_oid *id","sig":"git_reference **::git_repository *::const char *::const git_oid *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Create a new object id reference.","comments":"The reference will be created in the repository and written\nto the disk.\n\nThis reference is owned by the repository and shall not\nbe free'd by the user.\n","group":"reference"},"git_reference_create_oid_f":{"type":"function","file":"refs.h","line":128,"lineto":128,"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."}],"argline":"git_reference **ref_out, git_repository *repo, const char *name, const git_oid *id","sig":"git_reference **::git_repository *::const char *::const git_oid *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Create a new object id reference, overwriting an existing one with\nthe same name, if it exists.","comments":"If the new reference isn't an object id one, any pointers to the\nold reference become invalid.\n\nThe reference will be created in the repository and written\nto the disk.\n\nThis reference is owned by the repository and shall not\nbe free'd by the user.\n","group":"reference"},"git_reference_oid":{"type":"function","file":"refs.h","line":138,"lineto":138,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"const git_oid *","comment":"a pointer to the oid if available, NULL otherwise"},"description":"Get the OID pointed to by a reference.","comments":"Only available if the reference is direct (i.e. not symbolic)\n","group":"reference","examples":{"general.c":["ex/v0.13.0/general.html#git_reference_oid-25"]}},"git_reference_target":{"type":"function","file":"refs.h","line":148,"lineto":148,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"const char *","comment":"a pointer to the name if available, NULL otherwise"},"description":"Get full name to the reference pointed by this reference","comments":"Only available if the reference is symbolic\n","group":"reference","examples":{"general.c":["ex/v0.13.0/general.html#git_reference_target-26"]}},"git_reference_type":{"type":"function","file":"refs.h","line":158,"lineto":158,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"git_rtype","comment":"the type"},"description":"Get the type of a reference","comments":"Either direct (GIT_REF_OID) or symbolic (GIT_REF_SYMBOLIC)\n","group":"reference","examples":{"general.c":["ex/v0.13.0/general.html#git_reference_type-27"]}},"git_reference_name":{"type":"function","file":"refs.h","line":166,"lineto":166,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"const char *","comment":"the full name for the ref"},"description":"Get the full name of a reference","comments":"","group":"reference"},"git_reference_resolve":{"type":"function","file":"refs.h","line":181,"lineto":181,"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 on success; error code otherwise"},"description":"Resolve a symbolic reference","comments":"Thie method iteratively peels a symbolic reference\nuntil it resolves to a direct reference to an OID.\n\nIf a direct reference is passed as an argument,\nthat reference is returned immediately\n","group":"reference"},"git_reference_owner":{"type":"function","file":"refs.h","line":189,"lineto":189,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"git_repository *","comment":"a pointer to the repo"},"description":"Get the repository where a reference resides","comments":"","group":"reference"},"git_reference_set_target":{"type":"function","file":"refs.h","line":204,"lineto":204,"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 on success; error code otherwise"},"description":"Set the symbolic target of a reference.","comments":"The reference must be a symbolic reference, otherwise\nthis method will fail.\n\nThe reference will be automatically updated in\nmemory and on disk.\n","group":"reference"},"git_reference_set_oid":{"type":"function","file":"refs.h","line":219,"lineto":219,"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 on success; error code otherwise"},"description":"Set the OID target of a reference.","comments":"The reference must be a direct reference, otherwise\nthis method will fail.\n\nThe reference will be automatically updated in\nmemory and on disk.\n","group":"reference"},"git_reference_rename":{"type":"function","file":"refs.h","line":232,"lineto":232,"args":[{"name":"ref","type":"git_reference *"},{"name":"new_name","type":"const char *"}],"argline":"git_reference *ref, const char *new_name","sig":"git_reference *::const char *","return":{"type":"int"},"description":"Rename an existing reference","comments":"This method works for both direct and symbolic references.\nThe new name will be checked for validity and may be\nmodified into a normalized form.\n\nThe refernece will be immediately renamed in-memory\nand on disk.","group":"reference"},"git_reference_rename_f":{"type":"function","file":"refs.h","line":246,"lineto":246,"args":[{"name":"ref","type":"git_reference *"},{"name":"new_name","type":"const char *"}],"argline":"git_reference *ref, const char *new_name","sig":"git_reference *::const char *","return":{"type":"int"},"description":"Rename an existing reference, overwriting an existing one with the\nsame name, if it exists.","comments":"This method works for both direct and symbolic references.\nThe new name will be checked for validity and may be\nmodified into a normalized form.\n\nThe refernece will be immediately renamed in-memory\nand on disk.","group":"reference"},"git_reference_delete":{"type":"function","file":"refs.h","line":257,"lineto":257,"args":[{"name":"ref","type":"git_reference *"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"int"},"description":"Delete an existing reference","comments":"This method works for both direct and symbolic references.\n\nThe reference will be immediately removed on disk and from\nmemory. The given reference pointer will no longer be valid.","group":"reference"},"git_reference_packall":{"type":"function","file":"refs.h","line":275,"lineto":275,"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 on success; error code otherwise"},"description":"Pack all the loose references in the repository","comments":"This method will load into the cache all the loose\nreferences on the repository and update the \n`packed-refs` file with them.\n\nOnce the `packed-refs` file has been written properly,\nthe loose references will be removed from disk.\n\nWARNING: calling this method may invalidate any existing\nreferences previously loaded on the cache.\n","group":"reference"},"git_reference_listall":{"type":"function","file":"refs.h","line":298,"lineto":298,"args":[{"name":"array","type":"git_strarray *","comment":"Pointer to a git_strarray structure where the 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 listing."}],"argline":"git_strarray *array, git_repository *repo, unsigned int list_flags","sig":"git_strarray *::git_repository *::unsigned int","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Fill a list with all the references that can be found\nin a repository.","comments":"The listed references may be filtered by type, or using\na bitwise OR of several types. Use the magic value\n`GIT_REF_LISTALL` to obtain all references, including\npacked ones.\n\nThe string array will be filled with the names of all\nreferences; these values are owned by the user and\nshould be free'd manually when no longer needed, using\n`git_strarray_free`.\n","group":"reference","examples":{"general.c":["ex/v0.13.0/general.html#git_reference_listall-28"]}},"git_reference_foreach":{"type":"function","file":"refs.h","line":320,"lineto":320,"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 listing."},{"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 (*callback)(const char *, void *), void *payload","sig":"git_repository *::unsigned int::int (*)(const char *, void *)::void *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Perform an operation on each reference in the repository","comments":"The processed references may be filtered by type, or using\na bitwise OR of several types. Use the magic value\n`GIT_REF_LISTALL` to obtain all references, including\npacked ones.\n\nThe `callback` function will be called for each of the references\nin the repository, and will receive the name of the reference and\nthe `payload` value passed to this method.\n","group":"reference"},"git_oid_fromstr":{"type":"function","file":"oid.h","line":65,"lineto":65,"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 the hex sequence and have at least the number of bytes needed for an oid encoded in hex (40 bytes)."}],"argline":"git_oid *out, const char *str","sig":"git_oid *::const char *","return":{"type":"int","comment":"GIT_SUCCESS if valid; GIT_ENOTOID on failure."},"description":"Parse a hex formatted object id into a git_oid.","comments":"","group":"oid","examples":{"general.c":["ex/v0.13.0/general.html#git_oid_fromstr-29","ex/v0.13.0/general.html#git_oid_fromstr-30","ex/v0.13.0/general.html#git_oid_fromstr-31","ex/v0.13.0/general.html#git_oid_fromstr-32","ex/v0.13.0/general.html#git_oid_fromstr-33","ex/v0.13.0/general.html#git_oid_fromstr-34","ex/v0.13.0/general.html#git_oid_fromstr-35","ex/v0.13.0/general.html#git_oid_fromstr-36"]}},"git_oid_fromraw":{"type":"function","file":"oid.h","line":73,"lineto":73,"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"},"description":"Copy an already raw oid into a git_oid structure.","comments":"","group":"oid"},"git_oid_fmt":{"type":"function","file":"oid.h","line":85,"lineto":85,"args":[{"name":"str","type":"char *","comment":"output hex string; must be pointing at the start of the hex sequence and have at least the number of bytes needed for an oid encoded in hex (40 bytes). Only the oid digits are written; a '\\\\0' terminator must be added by 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"},"description":"Format a git_oid into a hex string.","comments":"","group":"oid","examples":{"showindex.c":["ex/v0.13.0/showindex.html#git_oid_fmt-4"],"general.c":["ex/v0.13.0/general.html#git_oid_fmt-37","ex/v0.13.0/general.html#git_oid_fmt-38","ex/v0.13.0/general.html#git_oid_fmt-39","ex/v0.13.0/general.html#git_oid_fmt-40","ex/v0.13.0/general.html#git_oid_fmt-41"]}},"git_oid_pathfmt":{"type":"function","file":"oid.h","line":100,"lineto":100,"args":[{"name":"str","type":"char *","comment":"output hex string; must be pointing at the start of the hex sequence and have at least the number of bytes needed for an oid encoded in hex (41 bytes). Only the oid digits are written; a '\\\\0' terminator must be added by 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"},"description":"Format a git_oid into a loose-object path string.","comments":"The resulting string is \"aa/...\", where \"aa\" is the first two\nhex digitis of the oid and \"...\" is the remaining 38 digits.\n","group":"oid"},"git_oid_allocfmt":{"type":"function","file":"oid.h","line":109,"lineto":109,"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 deallocate the string with free()."},"description":"Format a git_oid into a newly allocated c-string.","comments":"","group":"oid"},"git_oid_to_string":{"type":"function","file":"oid.h","line":126,"lineto":126,"args":[{"name":"out","type":"char *","comment":"the buffer into which the oid string is output."},{"name":"n","type":"size_t","comment":"the size of the out buffer."},{"name":"oid","type":"const git_oid *","comment":"the oid structure to format."}],"argline":"char *out, size_t n, const git_oid *oid","sig":"char *::size_t::const git_oid *","return":{"type":"char *","comment":"the out buffer pointer, assuming no input parameter errors, otherwise a pointer to an empty string."},"description":"Format a git_oid into a buffer as a hex format c-string.","comments":"If the buffer is smaller than GIT_OID_HEXSZ+1, then the resulting\noid c-string will be truncated to n-1 characters. If there are\nany input parameter errors (out == NULL, n == 0, oid == NULL),\nthen a pointer to an empty string is returned, so that the return\nvalue can always be printed.\n","group":"oid"},"git_oid_cpy":{"type":"function","file":"oid.h","line":134,"lineto":134,"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"},"description":"Copy an oid from one structure to another.","comments":"","group":"oid"},"git_oid_cmp":{"type":"function","file":"oid.h","line":143,"lineto":143,"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":"<0, 0, >0 if a < b, a == b, a > b."},"description":"Compare two oid structures.","comments":"","group":"oid"},"git_oid_ncmp":{"type":"function","file":"oid.h","line":154,"lineto":154,"args":[{"name":"a","type":"const git_oid *","comment":"first oid structure."},{"name":"b","type":"const git_oid *","comment":"second oid structure."},{"name":"len","type":"unsigned int","comment":"the number of hex chars to compare"}],"argline":"const git_oid *a, const git_oid *b, unsigned int len","sig":"const git_oid *::const git_oid *::unsigned int","return":{"type":"int","comment":"0 in case of a match"},"description":"Compare the first 'len' hexadecimal characters (packets of 4 bits)\nof two oid structures.","comments":"","group":"oid"},"git_oid_shorten_new":{"type":"function","file":"oid.h","line":175,"lineto":175,"args":[{"name":"min_length","type":"size_t","comment":"The minimal length for all identifiers, which will be used even if shorter OIDs would still be unique."}],"argline":"size_t min_length","sig":"size_t","return":{"type":"git_oid_shorten *","comment":"a `git_oid_shorten` instance, NULL if OOM"},"description":"Create a new OID shortener.","comments":"The OID shortener is used to process a list of OIDs\nin text form and return the shortest length that would\nuniquely identify all of them.\n\nE.g. look at the result of `git log --abbrev`.\n","group":"oid"},"git_oid_shorten_add":{"type":"function","file":"oid.h","line":201,"lineto":201,"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 added so far to the set; or an error code (<0) if an error occurs."},"description":"Add a new OID to set of shortened OIDs and calculate\nthe minimal length to uniquely identify all the OIDs in\nthe set.","comments":"The OID is expected to be a 40-char hexadecimal string.\nThe OID is owned by the user and will not be modified\nor freed.\n\nFor performance reasons, there is a hard-limit of how many\nOIDs can be added to a single set (around ~22000, assuming\na mostly randomized distribution), which should be enough\nfor any kind of program, and keeps the algorithm fast and\nmemory-efficient.\n\nAttempting to add more than those OIDs will result in a\nGIT_ENOMEM error\n","group":"oid"},"git_oid_shorten_free":{"type":"function","file":"oid.h","line":208,"lineto":208,"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"},"description":"Free an OID shortener instance","comments":"","group":"oid"},"git_odb_new":{"type":"function","file":"odb.h","line":53,"lineto":53,"args":[{"name":"out","type":"git_odb **","comment":"location to store the database pointer, if opened. Set to NULL if the open failed."}],"argline":"git_odb **out","sig":"git_odb **","return":{"type":"int","comment":"GIT_SUCCESS if the database was created; otherwise an error code describing why the open was not possible."},"description":"Create a new object database with no backends.","comments":"Before the ODB can be used for read/writing, a custom database\nbackend must be manually added using `git_odb_add_backend()`\n","group":"odb"},"git_odb_open":{"type":"function","file":"odb.h","line":72,"lineto":72,"args":[{"name":"out","type":"git_odb **","comment":"location to store the database pointer, if opened. Set to NULL if the open failed."},{"name":"objects_dir","type":"const char *","comment":"path of the backends' \"objects\" directory."}],"argline":"git_odb **out, const char *objects_dir","sig":"git_odb **::const char *","return":{"type":"int","comment":"GIT_SUCCESS if the database opened; otherwise an error code describing why the open was not possible."},"description":"Create a new object database and automatically add\nthe two default backends:","comments":"- git_odb_backend_loose: read and write loose object files\n\tfrom disk, assuming `objects_dir` as the Objects folder\n\n- git_odb_backend_pack: read objects from packfiles,\n\tassuming `objects_dir` as the Objects folder which\n\tcontains a 'pack/' folder with the corresponding data\n","group":"odb"},"git_odb_add_backend":{"type":"function","file":"odb.h","line":87,"lineto":87,"args":[{"name":"odb","type":"git_odb *","comment":"database to add the backend to"},{"name":"backend","type":"git_odb_backend *","comment":"pointer to a git_odb_backend instance"},{"name":"priority","type":"int","comment":"Value for ordering the backends queue"}],"argline":"git_odb *odb, git_odb_backend *backend, int priority","sig":"git_odb *::git_odb_backend *::int","return":{"type":"int","comment":"0 on sucess; error code otherwise"},"description":"Add a custom backend to an existing Object DB","comments":"The backends are checked in relative ordering, based on the\nvalue of the `priority` parameter.\n\nRead <odb_backends.h> for more information.\n","group":"odb"},"git_odb_add_alternate":{"type":"function","file":"odb.h","line":108,"lineto":108,"args":[{"name":"odb","type":"git_odb *","comment":"database to add the backend to"},{"name":"backend","type":"git_odb_backend *","comment":"pointer to a git_odb_backend instance"},{"name":"priority","type":"int","comment":"Value for ordering the backends queue"}],"argline":"git_odb *odb, git_odb_backend *backend, int priority","sig":"git_odb *::git_odb_backend *::int","return":{"type":"int","comment":"0 on sucess; error code otherwise"},"description":"Add a custom backend to an existing Object DB; this\nbackend will work as an alternate.","comments":"Alternate backends are always checked for objects *after*\nall the main backends have been exhausted. \n\nThe backends are checked in relative ordering, based on the\nvalue of the `priority` parameter.\n\nWriting is disabled on alternate backends.\n\nRead <odb_backends.h> for more information.\n","group":"odb"},"git_odb_close":{"type":"function","file":"odb.h","line":115,"lineto":115,"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"},"description":"Close an open object database.","comments":"","group":"odb"},"git_odb_read":{"type":"function","file":"odb.h","line":134,"lineto":134,"args":[{"name":"out","type":"git_odb_object **","comment":"pointer where to store the read object"},{"name":"db","type":"git_odb *","comment":"database to search for the object in."},{"name":"id","type":"const git_oid *","comment":"identity of the object to read."}],"argline":"git_odb_object **out, git_odb *db, const git_oid *id","sig":"git_odb_object **::git_odb *::const git_oid *","return":{"type":"int","comment":"- GIT_SUCCESS if the object was read; - GIT_ENOTFOUND if the object is not in the database."},"description":"Read an object from the database.","comments":"This method queries all available ODB backends\ntrying to read the given OID.\n\nThe returned object is reference counted and\ninternally cached, so it should be closed\nby the user once it's no longer in use.\n","group":"odb","examples":{"general.c":["ex/v0.13.0/general.html#git_odb_read-42"]}},"git_odb_read_prefix":{"type":"function","file":"odb.h","line":162,"lineto":162,"args":[{"name":"out","type":"git_odb_object **","comment":"pointer where to store the read object"},{"name":"db","type":"git_odb *","comment":"database to search for the object in."},{"name":"short_id","type":"const git_oid *","comment":"a prefix of the id of the object to read."},{"name":"len","type":"unsigned int","comment":"the length of the prefix"}],"argline":"git_odb_object **out, git_odb *db, const git_oid *short_id, unsigned int len","sig":"git_odb_object **::git_odb *::const git_oid *::unsigned int","return":{"type":"int","comment":"GIT_SUCCESS if the object was read; GIT_ENOTFOUND if the object is not in the database. GIT_EAMBIGUOUS if the prefix is ambiguous (several objects match the prefix)"},"description":"Read an object from the database, given a prefix\nof its identifier.","comments":"This method queries all available ODB backends\ntrying to match the 'len' first hexadecimal\ncharacters of the 'short_id'.\nThe remaining (GIT_OID_HEXSZ-len)*4 bits of\n'short_id' must be 0s.\n'len' must be at least GIT_OID_MINPREFIXLEN,\nand the prefix must be long enough to identify\na unique object in all the backends; the\nmethod will fail otherwise.\n\nThe returned object is reference counted and\ninternally cached, so it should be closed\nby the user once it's no longer in use.\n","group":"odb"},"git_odb_read_header":{"type":"function","file":"odb.h","line":182,"lineto":182,"args":[{"name":"len_p","type":"size_t *","comment":"pointer where to store the length"},{"name":"type_p","type":"git_otype *","comment":"pointer where to store the type"},{"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":"size_t *len_p, git_otype *type_p, git_odb *db, const git_oid *id","sig":"size_t *::git_otype *::git_odb *::const git_oid *","return":{"type":"int","comment":"- GIT_SUCCESS if the object was read; - GIT_ENOTFOUND if the object is not in the database."},"description":"Read the header of an object from the database, without\nreading its full contents.","comments":"The header includes the length and the type of an object.\n\nNote that most backends do not support reading only the header\nof an object, so the whole object will be read and then the\nheader will be returned.\n","group":"odb"},"git_odb_exists":{"type":"function","file":"odb.h","line":193,"lineto":193,"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 - 0, otherwise"},"description":"Determine if the given object can be found in the object database.","comments":"","group":"odb"},"git_odb_write":{"type":"function","file":"odb.h","line":213,"lineto":213,"args":[{"name":"oid","type":"git_oid *","comment":"pointer to store the OID result of the write"},{"name":"odb","type":"git_odb *","comment":"object database where to store the object"},{"name":"data","type":"const void *","comment":"buffer with the data to storr"},{"name":"len","type":"size_t","comment":"size of the buffer"},{"name":"type","type":"git_otype","comment":"type of the data to store"}],"argline":"git_oid *oid, git_odb *odb, const void *data, size_t len, git_otype type","sig":"git_oid *::git_odb *::const void *::size_t::git_otype","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Write an object directly into the ODB","comments":"This method writes a full object straight into the ODB.\nFor most cases, it is preferred to write objects through a write\nstream, which is both faster and less memory intensive, specially\nfor big objects.\n\nThis method is provided for compatibility with custom backends\nwhich are not able to support streaming writes\n","group":"odb","examples":{"general.c":["ex/v0.13.0/general.html#git_odb_write-43"]}},"git_odb_open_wstream":{"type":"function","file":"odb.h","line":242,"lineto":242,"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 write"},{"name":"size","type":"size_t","comment":"final size of the object that will be written"},{"name":"type","type":"git_otype","comment":"type of the object that will be written"}],"argline":"git_odb_stream **stream, git_odb *db, size_t size, git_otype type","sig":"git_odb_stream **::git_odb *::size_t::git_otype","return":{"type":"int","comment":"0 if the stream was created; error code otherwise"},"description":"Open a stream to write an object into the ODB","comments":"The type and final length of the object must be specified\nwhen opening the stream.\n\nThe returned stream will be of type `GIT_STREAM_WRONLY` and\nwill have the following methods:\n\n\t- stream->write: write `n` bytes into the stream\n\t- stream->finalize_write: close the stream and store the object in\n\t\tthe odb\n\t- stream->free: free the stream\n\nThe streaming write won't be effective until `stream->finalize_write`\nis called and returns without an error\n\nThe stream must always be free'd or will leak memory.\n\n@see git_odb_stream\n","group":"odb"},"git_odb_open_rstream":{"type":"function","file":"odb.h","line":268,"lineto":268,"args":[{"name":"stream","type":"git_odb_stream **","comment":"pointer where to store the stream"},{"name":"db","type":"git_odb *","comment":"object database where the stream will read from"},{"name":"oid","type":"const git_oid *","comment":"oid of the object the stream will read from"}],"argline":"git_odb_stream **stream, git_odb *db, const git_oid *oid","sig":"git_odb_stream **::git_odb *::const git_oid *","return":{"type":"int","comment":"0 if the stream was created; error code otherwise"},"description":"Open a stream to read an object from the ODB","comments":"Note that most backends do *not* support streaming reads\nbecause they store their objects as compressed/delta'ed blobs.\n\nIt's recommended to use `git_odb_read` instead, which is\nassured to work on all backends.\n\nThe returned stream will be of type `GIT_STREAM_RDONLY` and\nwill have the following methods:\n\n\t- stream->read: read `n` bytes from the stream\n\t- stream->free: free the stream\n\nThe stream must always be free'd or will leak memory.\n\n@see git_odb_stream\n","group":"odb"},"git_odb_hash":{"type":"function","file":"odb.h","line":282,"lineto":282,"args":[{"name":"id","type":"git_oid *","comment":"the resulting object-ID."},{"name":"data","type":"const void *","comment":"data to hash"},{"name":"len","type":"size_t","comment":"size of the data"},{"name":"type","type":"git_otype","comment":"of the data to hash"}],"argline":"git_oid *id, const void *data, size_t len, git_otype type","sig":"git_oid *::const void *::size_t::git_otype","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Determine the object-ID (sha1 hash) of a data buffer","comments":"The resulting SHA-1 OID will the itentifier for the data\nbuffer as if the data buffer it were to written to the ODB.\n","group":"odb"},"git_odb_object_close":{"type":"function","file":"odb.h","line":292,"lineto":292,"args":[{"name":"object","type":"git_odb_object *","comment":"object to close"}],"argline":"git_odb_object *object","sig":"git_odb_object *","return":{"type":"void"},"description":"Close an ODB object","comments":"This method must always be called once a `git_odb_object` is no\nlonger needed, otherwise memory will leak.\n","group":"odb","examples":{"general.c":["ex/v0.13.0/general.html#git_odb_object_close-44"]}},"git_odb_object_id":{"type":"function","file":"odb.h","line":302,"lineto":302,"args":[{"name":"object","type":"git_odb_object *","comment":"the object"}],"argline":"git_odb_object *object","sig":"git_odb_object *","return":{"type":"const git_oid *","comment":"a pointer to the OID"},"description":"Return the OID of an ODB object","comments":"This is the OID from which the object was read from\n","group":"odb"},"git_odb_object_data":{"type":"function","file":"odb.h","line":315,"lineto":315,"args":[{"name":"object","type":"git_odb_object *","comment":"the object"}],"argline":"git_odb_object *object","sig":"git_odb_object *","return":{"type":"const void *","comment":"a pointer to the data"},"description":"Return the data of an ODB object","comments":"This is the uncompressed, raw data as read from the ODB,\nwithout the leading header.\n\nThis pointer is owned by the object and shall not be free'd.\n","group":"odb","examples":{"general.c":["ex/v0.13.0/general.html#git_odb_object_data-45"]}},"git_odb_object_size":{"type":"function","file":"odb.h","line":326,"lineto":326,"args":[{"name":"object","type":"git_odb_object *","comment":"the object"}],"argline":"git_odb_object *object","sig":"git_odb_object *","return":{"type":"size_t","comment":"the size"},"description":"Return the size of an ODB object","comments":"This is the real size of the `data` buffer, not the\nactual size of the object.\n","group":"odb","examples":{"general.c":["ex/v0.13.0/general.html#git_odb_object_size-46"]}},"git_odb_object_type":{"type":"function","file":"odb.h","line":334,"lineto":334,"args":[{"name":"object","type":"git_odb_object *","comment":"the object"}],"argline":"git_odb_object *object","sig":"git_odb_object *","return":{"type":"git_otype","comment":"the type"},"description":"Return the type of an ODB object","comments":"","group":"odb","examples":{"general.c":["ex/v0.13.0/general.html#git_odb_object_type-47"]}},"git_object_lookup":{"type":"function","file":"object.h","line":59,"lineto":63,"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,\n\t\tgit_repository *repo,\n\t\tconst git_oid *id,\n\t\tgit_otype type","sig":"git_object **::git_repository *::const git_oid *::git_otype","return":{"type":"int","comment":"a reference to the object"},"description":"Lookup a reference to one of the objects in a repostory.","comments":"The generated reference is owned by the repository and\nshould be closed with the `git_object_close` method\ninstead of free'd manually.\n\nThe 'type' parameter must match the type of the object\nin the odb; the method will fail otherwise.\nThe special value 'GIT_OBJ_ANY' may be passed to let\nthe method guess the object's type.\n","group":"object"},"git_object_lookup_prefix":{"type":"function","file":"object.h","line":92,"lineto":97,"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,\n\t\tgit_repository *repo,\n\t\tconst git_oid *id,\n\t\tunsigned int len,\n\t\tgit_otype type","sig":"git_object **::git_repository *::const git_oid *::unsigned int::git_otype","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Lookup a reference to one of the objects in a repostory,\ngiven a prefix of its identifier (short id).","comments":"The object obtained will be so that its identifier\nmatches the first 'len' hexadecimal characters\n(packets of 4 bits) of the given 'id'.\n'len' must be at least GIT_OID_MINPREFIXLEN, and\nlong enough to identify a unique object matching\nthe prefix; otherwise the method will fail.\n\nThe generated reference is owned by the repository and\nshould be closed with the `git_object_close` method\ninstead of free'd manually.\n\nThe 'type' parameter must match the type of the object\nin the odb; the method will fail otherwise.\nThe special value 'GIT_OBJ_ANY' may be passed to let\nthe method guess the object's type.\n","group":"object"},"git_object_id":{"type":"function","file":"object.h","line":105,"lineto":105,"args":[{"name":"obj","type":"const git_object *","comment":"the repository object"}],"argline":"const git_object *obj","sig":"const git_object *","return":{"type":"const git_oid *","comment":"the SHA1 id"},"description":"Get the id (SHA1) of a repository object","comments":"","group":"object"},"git_object_type":{"type":"function","file":"object.h","line":113,"lineto":113,"args":[{"name":"obj","type":"const git_object *","comment":"the repository object"}],"argline":"const git_object *obj","sig":"const git_object *","return":{"type":"git_otype","comment":"the object's type"},"description":"Get the object type of an object","comments":"","group":"object"},"git_object_owner":{"type":"function","file":"object.h","line":127,"lineto":127,"args":[{"name":"obj","type":"const git_object *","comment":"the object"}],"argline":"const git_object *obj","sig":"const git_object *","return":{"type":"git_repository *","comment":"the repository who owns this object"},"description":"Get the repository that owns this object","comments":"Freeing or calling `git_repository_close` on the\nreturned pointer will invalidate the actual object.\n\nAny other operation may be run on the repository without\naffecting the object.\n","group":"object"},"git_object_close":{"type":"function","file":"object.h","line":144,"lineto":144,"args":[{"name":"object","type":"git_object *","comment":"the object to close"}],"argline":"git_object *object","sig":"git_object *","return":{"type":"void"},"description":"Close an open object","comments":"This method instructs the library to close an existing\nobject; note that git_objects are owned and cached by the repository\nso the object may or may not be freed after this library call,\ndepending on how agressive is the caching mechanism used\nby the repository.\n\nIMPORTANT:\nIt *is* necessary to call this method when you stop using\nan object. Failure to do so will cause a memory leak.\n","group":"object","examples":{"general.c":["ex/v0.13.0/general.html#git_object_close-48"]}},"git_object_type2string":{"type":"function","file":"object.h","line":155,"lineto":155,"args":[{"name":"type","type":"git_otype","comment":"object type to convert."}],"argline":"git_otype type","sig":"git_otype","return":{"type":"const char *","comment":"the corresponding string representation."},"description":"Convert an object type to it's string representation.","comments":"The result is a pointer to a string in static memory and\nshould not be free()'ed.\n","group":"object","examples":{"general.c":["ex/v0.13.0/general.html#git_object_type2string-49"]}},"git_object_string2type":{"type":"function","file":"object.h","line":163,"lineto":163,"args":[{"name":"str","type":"const char *","comment":"the string to convert."}],"argline":"const char *str","sig":"const char *","return":{"type":"git_otype","comment":"the corresponding git_otype."},"description":"Convert a string object type representation to it's git_otype.","comments":"","group":"object"},"git_object_typeisloose":{"type":"function","file":"object.h","line":172,"lineto":172,"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, false otherwise."},"description":"Determine if the given git_otype is a valid loose object type.","comments":"","group":"object"},"git_object__size":{"type":"function","file":"object.h","line":186,"lineto":186,"args":[{"name":"type","type":"git_otype","comment":"object type to get its size"}],"argline":"git_otype type","sig":"git_otype","return":{"type":"size_t","comment":"size in bytes of the object"},"description":"Get the size in bytes for the structure which\nacts as an in-memory representation of any given\nobject type.","comments":"For all the core types, this would the equivalent\nof calling `sizeof(git_commit)` if the core types\nwere not opaque on the external API.\n","group":"object"},"git_index_open":{"type":"function","file":"index.h","line":129,"lineto":129,"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 on success; error code otherwise"},"description":"Create a new bare Git index object as a memory representation\nof the Git index file in 'index_path', without a repository\nto back it.","comments":"Since there is no ODB or working directory behind this index,\nany Index methods which rely on these (e.g. index_add) will\nfail with the GIT_EBAREINDEX error code.\n\nIf you need to access the index of an actual repository,\nuse the `git_repository_index` wrapper.\n\nThe index must be freed once it's no longer in use.\n","group":"index"},"git_index_clear":{"type":"function","file":"index.h","line":138,"lineto":138,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"void"},"description":"Clear the contents (all the entries) of an index object.\nThis clears the index object in memory; changes must be manually\nwritten to disk for them to take effect.","comments":"","group":"index"},"git_index_free":{"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":"void"},"description":"Free an existing index object.","comments":"","group":"index","examples":{"showindex.c":["ex/v0.13.0/showindex.html#git_index_free-5"],"general.c":["ex/v0.13.0/general.html#git_index_free-50"]}},"git_index_read":{"type":"function","file":"index.h","line":154,"lineto":154,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"int","comment":"0 on success, otherwise an error code"},"description":"Update the contents of an existing index object in memory\nby reading from the hard disk.","comments":"","group":"index","examples":{"showindex.c":["ex/v0.13.0/showindex.html#git_index_read-6"]}},"git_index_write":{"type":"function","file":"index.h","line":163,"lineto":163,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"int","comment":"0 on success, otherwise an error code"},"description":"Write an existing index object from memory back to disk\nusing an atomic file lock.","comments":"","group":"index"},"git_index_find":{"type":"function","file":"index.h","line":173,"lineto":173,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"},{"name":"path","type":"const char *","comment":"path to search"}],"argline":"git_index *index, const char *path","sig":"git_index *::const char *","return":{"type":"int","comment":"an index >= 0 if found, -1 otherwise"},"description":"Find the first index of any entries which point to given\npath in the Git index.","comments":"","group":"index"},"git_index_add":{"type":"function","file":"index.h","line":188,"lineto":188,"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 on success, otherwise an error code"},"description":"Add or update an index entry from a file in disk","comments":"The file `path` must be relative to the repository's\nworking folder and must be readable.\n\nThis method will fail in bare index instances.\n","group":"index"},"git_index_add2":{"type":"function","file":"index.h","line":200,"lineto":200,"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 on success, otherwise an error code"},"description":"Add or update an index entry from an in-memory struct","comments":"A full copy (including the 'path' string) of the given\n'source_entry' will be inserted on the index.\n","group":"index"},"git_index_append":{"type":"function","file":"index.h","line":219,"lineto":219,"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 on success, otherwise an error code"},"description":"Add (append) an index entry from a file in disk","comments":"A new entry will always be inserted into the index;\nif the index already contains an entry for such\npath, the old entry will **not** be replaced.\n\nThe file `path` must be relative to the repository's\nworking folder and must be readable.\n\nThis method will fail in bare index instances.\n","group":"index"},"git_index_append2":{"type":"function","file":"index.h","line":236,"lineto":236,"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 on success, otherwise an error code"},"description":"Add (append) an index entry from an in-memory struct","comments":"A new entry will always be inserted into the index;\nif the index already contains an entry for the path\nin the `entry` struct, the old entry will **not** be\nreplaced.\n\nA full copy (including the 'path' string) of the given\n'source_entry' will be inserted on the index.\n","group":"index"},"git_index_remove":{"type":"function","file":"index.h","line":245,"lineto":245,"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 on success, otherwise an error code"},"description":"Remove an entry from the index","comments":"","group":"index"},"git_index_get":{"type":"function","file":"index.h","line":260,"lineto":260,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"},{"name":"n","type":"unsigned int","comment":"the position of the entry"}],"argline":"git_index *index, unsigned int n","sig":"git_index *::unsigned int","return":{"type":"git_index_entry *","comment":"a pointer to the entry; NULL if out of bounds"},"description":"Get a pointer to one of the entries in the index","comments":"This entry can be modified, and the changes will be written\nback to disk on the next write() call.\n\nThe entry should not be freed by the caller.\n","group":"index","examples":{"showindex.c":["ex/v0.13.0/showindex.html#git_index_get-7"],"general.c":["ex/v0.13.0/general.html#git_index_get-51"]}},"git_index_entrycount":{"type":"function","file":"index.h","line":268,"lineto":268,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"unsigned int","comment":"integer of count of current entries"},"description":"Get the count of entries currently in the index","comments":"","group":"index","examples":{"showindex.c":["ex/v0.13.0/showindex.html#git_index_entrycount-8"],"general.c":["ex/v0.13.0/general.html#git_index_entrycount-52"]}},"git_index_entrycount_unmerged":{"type":"function","file":"index.h","line":276,"lineto":276,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"unsigned int","comment":"integer of count of current unmerged entries"},"description":"Get the count of unmerged entries currently in the index","comments":"","group":"index"},"git_index_get_unmerged_bypath":{"type":"function","file":"index.h","line":288,"lineto":288,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"},{"name":"path","type":"const char *","comment":"path to search"}],"argline":"git_index *index, const char *path","sig":"git_index *::const char *","return":{"type":"const git_index_entry_unmerged *","comment":"the unmerged entry; NULL if not found"},"description":"Get an unmerged entry from the index.","comments":"The returned entry is read-only and should not be modified\nof freed by the caller.\n","group":"index"},"git_index_get_unmerged_byindex":{"type":"function","file":"index.h","line":300,"lineto":300,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"},{"name":"n","type":"unsigned int","comment":"the position of the entry"}],"argline":"git_index *index, unsigned int n","sig":"git_index *::unsigned int","return":{"type":"const git_index_entry_unmerged *","comment":"a pointer to the unmerged entry; NULL if out of bounds"},"description":"Get an unmerged entry from the index.","comments":"The returned entry is read-only and should not be modified\nof freed by the caller.\n","group":"index"},"git_index_entry_stage":{"type":"function","file":"index.h","line":313,"lineto":313,"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"},"description":"Return the stage number from a git index entry","comments":"This entry is calculated from the entrie's flag\nattribute like this:\n\n(entry->flags & GIT_IDXENTRY_STAGEMASK) >> GIT_IDXENTRY_STAGESHIFT\n","group":"index"},"git_lasterror":{"type":"function","file":"errors.h","line":135,"lineto":135,"args":[],"argline":"void","sig":"","return":{"type":"const char *","comment":"a string explaining the error"},"description":"Return a detailed error string with the latest error\nthat occurred in the library.\n@return a string explaining the error","comments":"","group":"errors"},"git_strerror":{"type":"function","file":"errors.h","line":147,"lineto":147,"args":[{"name":"num","type":"int","comment":"The error code to explain"}],"argline":"int num","sig":"int","return":{"type":"const char *","comment":"a string explaining the error code"},"description":"strerror() for the Git library","comments":"Get a string description for a given error code.\nNOTE: This method will be eventually deprecated in favor\nof the new `git_lasterror`.\n","group":"errors"},"git_config_find_global":{"type":"function","file":"config.h","line":70,"lineto":70,"args":[{"name":"global_config_path","type":"char *","comment":"Buffer of GIT_PATH_MAX length to store the path"}],"argline":"char *global_config_path","sig":"char *","return":{"type":"int","comment":"GIT_SUCCESS if a global configuration file has been found. Its path will be stored in `buffer`."},"description":"Locate the path to the global configuration file","comments":"The user or global configuration file is usually\nlocated in `$HOME/.gitconfig`.\n\nThis method will try to guess the full path to that\nfile, if the file exists. The returned path\nmay be used on any `git_config` call to load the\nglobal configuration file.\n","group":"config"},"git_config_open_global":{"type":"function","file":"config.h","line":81,"lineto":81,"args":[{"name":"out","type":"git_config **","comment":"Pointer to store the config instance"}],"argline":"git_config **out","sig":"git_config **","return":{"type":"int","comment":"GIT_SUCCESS on success; error code otherwise"},"description":"Open the global configuration file","comments":"Utility wrapper that calls `git_config_find_global`\nand opens the located file, if it exists.\n","group":"config"},"git_config_file__ondisk":{"type":"function","file":"config.h","line":94,"lineto":94,"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"},"description":"Create a configuration file backend for ondisk files","comments":"These are the normal `.gitconfig` files that Core Git\nprocesses. Note that you first have to add this file to a\nconfiguration object before you can query it for configuration\nvariables.\n","group":"config"},"git_config_new":{"type":"function","file":"config.h","line":105,"lineto":105,"args":[{"name":"out","type":"git_config **","comment":"pointer to the new configuration"}],"argline":"git_config **out","sig":"git_config **","return":{"type":"int","comment":"GIT_SUCCESS on success; error code otherwise"},"description":"Allocate a new configuration object","comments":"This object is empty, so you have to add a file to it before you\ncan do anything with it.\n","group":"config"},"git_config_add_file":{"type":"function","file":"config.h","line":122,"lineto":122,"args":[{"name":"cfg","type":"git_config *","comment":"the configuration to add the file to"},{"name":"file","type":"git_config_file *","comment":"the configuration file (backend) to add"},{"name":"priority","type":"int","comment":"the priority the backend should have"}],"argline":"git_config *cfg, git_config_file *file, int priority","sig":"git_config *::git_config_file *::int","return":{"type":"int","comment":"GIT_SUCCESS on success; error code otherwise"},"description":"Add a generic config file instance to an existing config","comments":"Note that the configuration object will free the file\nautomatically.\n\nFurther queries on this config object will access each\nof the config file instances in order (instances with\na higher priority will be accessed first).\n","group":"config"},"git_config_add_file_ondisk":{"type":"function","file":"config.h","line":143,"lineto":143,"args":[{"name":"cfg","type":"git_config *","comment":"the configuration to add the file to"},{"name":"path","type":"const char *","comment":"path to the configuration file (backend) to add"},{"name":"priority","type":"int","comment":"the priority the backend should have"}],"argline":"git_config *cfg, const char *path, int priority","sig":"git_config *::const char *::int","return":{"type":"int","comment":"GIT_SUCCESS on success; error code otherwise"},"description":"Add an on-disk config file instance to an existing config","comments":"The on-disk file pointed at by `path` will be opened and\nparsed; it's expected to be a native Git config file following\nthe default Git config syntax (see man git-config).\n\nNote that the configuration object will free the file\nautomatically.\n\nFurther queries on this config object will access each\nof the config file instances in order (instances with\na higher priority will be accessed first).\n","group":"config"},"git_config_open_ondisk":{"type":"function","file":"config.h","line":158,"lineto":158,"args":[{"name":"cfg","type":"git_config **","comment":"The configuration instance to create"},{"name":"path","type":"const char *","comment":"Path to the on-disk file to open"}],"argline":"git_config **cfg, const char *path","sig":"git_config **::const char *","return":{"type":"int","comment":"GIT_SUCCESS on success; error code otherwise"},"description":"Create a new config instance containing a single on-disk file","comments":"This method is a simple utility wrapper for the following sequence\nof calls:\n- git_config_new\n- git_config_add_file_ondisk\n","group":"config","examples":{"general.c":["ex/v0.13.0/general.html#git_config_open_ondisk-53"]}},"git_config_free":{"type":"function","file":"config.h","line":165,"lineto":165,"args":[{"name":"cfg","type":"git_config *","comment":"the configuration to free"}],"argline":"git_config *cfg","sig":"git_config *","return":{"type":"void"},"description":"Free the configuration and its associated memory and files","comments":"","group":"config"},"git_config_get_int":{"type":"function","file":"config.h","line":175,"lineto":175,"args":[{"name":"cfg","type":"git_config *","comment":"where to look for the variable"},{"name":"name","type":"const char *","comment":"the variable's name"},{"name":"out","type":"int *","comment":"pointer to the variable where the value should be stored"}],"argline":"git_config *cfg, const char *name, int *out","sig":"git_config *::const char *::int *","return":{"type":"int","comment":"GIT_SUCCESS on success; error code otherwise"},"description":"Get the value of an integer config variable.","comments":"","group":"config","examples":{"general.c":["ex/v0.13.0/general.html#git_config_get_int-54"]}},"git_config_get_long":{"type":"function","file":"config.h","line":185,"lineto":185,"args":[{"name":"cfg","type":"git_config *","comment":"where to look for the variable"},{"name":"name","type":"const char *","comment":"the variable's name"},{"name":"out","type":"long int *","comment":"pointer to the variable where the value should be stored"}],"argline":"git_config *cfg, const char *name, long int *out","sig":"git_config *::const char *::long int *","return":{"type":"int","comment":"GIT_SUCCESS on success; error code otherwise"},"description":"Get the value of a long integer config variable.","comments":"","group":"config"},"git_config_get_bool":{"type":"function","file":"config.h","line":198,"lineto":198,"args":[{"name":"cfg","type":"git_config *","comment":"where to look for the variable"},{"name":"name","type":"const char *","comment":"the variable's name"},{"name":"out","type":"int *","comment":"pointer to the variable where the value should be stored"}],"argline":"git_config *cfg, const char *name, int *out","sig":"git_config *::const char *::int *","return":{"type":"int","comment":"GIT_SUCCESS on success; error code otherwise"},"description":"Get the value of a boolean config variable.","comments":"This function uses the usual C convention of 0 being false and\nanything else true.\n","group":"config"},"git_config_get_string":{"type":"function","file":"config.h","line":211,"lineto":211,"args":[{"name":"cfg","type":"git_config *","comment":"where to look for the variable"},{"name":"name","type":"const char *","comment":"the variable's name"},{"name":"out","type":"const char **","comment":"pointer to the variable's value"}],"argline":"git_config *cfg, const char *name, const char **out","sig":"git_config *::const char *::const char **","return":{"type":"int","comment":"GIT_SUCCESS on success; error code otherwise"},"description":"Get the value of a string config variable.","comments":"The string is owned by the variable and should not be freed by the\nuser.\n","group":"config","examples":{"general.c":["ex/v0.13.0/general.html#git_config_get_string-55"]}},"git_config_set_int":{"type":"function","file":"config.h","line":221,"lineto":221,"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":"Integer value for the variable"}],"argline":"git_config *cfg, const char *name, int value","sig":"git_config *::const char *::int","return":{"type":"int","comment":"GIT_SUCCESS on success; error code otherwise"},"description":"Set the value of an integer config variable.","comments":"","group":"config"},"git_config_set_long":{"type":"function","file":"config.h","line":231,"lineto":231,"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":"long int","comment":"Long integer value for the variable"}],"argline":"git_config *cfg, const char *name, long int value","sig":"git_config *::const char *::long int","return":{"type":"int","comment":"GIT_SUCCESS on success; error code otherwise"},"description":"Set the value of a long integer config variable.","comments":"","group":"config"},"git_config_set_bool":{"type":"function","file":"config.h","line":241,"lineto":241,"args":[{"name":"cfg","type":"git_config *","comment":"where to look for the variable"},{"name":"name","type":"const char *","comment":"the variable's name"},{"name":"value","type":"int","comment":"the value to store"}],"argline":"git_config *cfg, const char *name, int value","sig":"git_config *::const char *::int","return":{"type":"int","comment":"GIT_SUCCESS on success; error code otherwise"},"description":"Set the value of a boolean config variable.","comments":"","group":"config"},"git_config_set_string":{"type":"function","file":"config.h","line":254,"lineto":254,"args":[{"name":"cfg","type":"git_config *","comment":"where to look for the variable"},{"name":"name","type":"const char *","comment":"the variable's name"},{"name":"value","type":"const char *","comment":"the string to store."}],"argline":"git_config *cfg, const char *name, const char *value","sig":"git_config *::const char *::const char *","return":{"type":"int","comment":"GIT_SUCCESS on success; error code otherwise"},"description":"Set the value of a string config variable.","comments":"A copy of the string is made and the user is free to use it\nafterwards.\n","group":"config"},"git_config_foreach":{"type":"function","file":"config.h","line":269,"lineto":269,"args":[{"name":"cfg","type":"git_config *","comment":"where to get the variables from"},{"name":"callback","type":"int (*)(const char *, void *data)","comment":"the function to call on each variable"},{"name":"data","type":"void *","comment":"the data to pass to the callback"}],"argline":"git_config *cfg, int (*callback)(const char *, void *data), void *data","sig":"git_config *::int (*)(const char *, void *data)::void *","return":{"type":"int","comment":"GIT_SUCCESS or the return value of the callback which didn't return 0"},"description":"Perform an operation on each config variable.","comments":"The callback is passed a pointer to a config variable name and the\ndata pointer passed to this function. As soon as one of the\ncallback functions returns something other than 0, this function\nreturns that value.\n","group":"config"},"git_libgit2_version":{"type":"function","file":"common.h","line":124,"lineto":124,"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"},"description":"Return the version of the libgit2 library\nbeing currently used.","comments":"","group":"libgit2"},"git_commit_lookup":{"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 an 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 on success; error code otherwise"},"description":"Lookup a commit object from a repository.","comments":"","group":"commit","examples":{"general.c":["ex/v0.13.0/general.html#git_commit_lookup-56","ex/v0.13.0/general.html#git_commit_lookup-57"]}},"git_commit_lookup_prefix":{"type":"function","file":"commit.h","line":69,"lineto":72,"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 an annotated tag it will be peeled back to the commit."},{"name":"len","type":"unsigned","comment":"the length of the short identifier"}],"argline":"git_commit **commit, git_repository *repo, const git_oid *id, unsigned len","sig":"git_commit **::git_repository *::const git_oid *::unsigned","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Lookup a commit object from a repository,\ngiven a prefix of its identifier (short id).","comments":"@see git_object_lookup_prefix\n","group":"commit"},"git_commit_close":{"type":"function","file":"commit.h","line":85,"lineto":88,"args":[{"name":"commit","type":"git_commit *","comment":"the commit to close"}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"void"},"description":"Close an open commit","comments":"This is a wrapper around git_object_close()\n\nIMPORTANT:\nIt *is* necessary to call this method when you stop\nusing a commit. Failure to do so will cause a memory leak.\n","group":"commit","examples":{"general.c":["ex/v0.13.0/general.html#git_commit_close-58","ex/v0.13.0/general.html#git_commit_close-59","ex/v0.13.0/general.html#git_commit_close-60","ex/v0.13.0/general.html#git_commit_close-61"]}},"git_commit_id":{"type":"function","file":"commit.h","line":97,"lineto":97,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"const git_oid *","comment":"object identity for the commit."},"description":"Get the id of a commit.","comments":"","group":"commit","examples":{"general.c":["ex/v0.13.0/general.html#git_commit_id-62"]}},"git_commit_message_short":{"type":"function","file":"commit.h","line":105,"lineto":105,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"const char *","comment":"the short message of a commit"},"description":"Get the short (one line) message of a commit.","comments":"","group":"commit","examples":{"general.c":["ex/v0.13.0/general.html#git_commit_message_short-63","ex/v0.13.0/general.html#git_commit_message_short-64"]}},"git_commit_message":{"type":"function","file":"commit.h","line":113,"lineto":113,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"const char *","comment":"the message of a commit"},"description":"Get the full message of a commit.","comments":"","group":"commit","examples":{"general.c":["ex/v0.13.0/general.html#git_commit_message-65"]}},"git_commit_time":{"type":"function","file":"commit.h","line":121,"lineto":121,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"git_time_t","comment":"the time of a commit"},"description":"Get the commit time (i.e. committer time) of a commit.","comments":"","group":"commit","examples":{"general.c":["ex/v0.13.0/general.html#git_commit_time-66","ex/v0.13.0/general.html#git_commit_time-67"]}},"git_commit_time_offset":{"type":"function","file":"commit.h","line":129,"lineto":129,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"int","comment":"positive or negative timezone offset, in minutes from UTC"},"description":"Get the commit timezone offset (i.e. committer's preferred timezone) of a commit.","comments":"","group":"commit"},"git_commit_committer":{"type":"function","file":"commit.h","line":137,"lineto":137,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"const git_signature *","comment":"the committer of a commit"},"description":"Get the committer of a commit.","comments":"","group":"commit","examples":{"general.c":["ex/v0.13.0/general.html#git_commit_committer-68"]}},"git_commit_author":{"type":"function","file":"commit.h","line":145,"lineto":145,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"const git_signature *","comment":"the author of a commit"},"description":"Get the author of a commit.","comments":"","group":"commit","examples":{"general.c":["ex/v0.13.0/general.html#git_commit_author-69","ex/v0.13.0/general.html#git_commit_author-70"]}},"git_commit_tree":{"type":"function","file":"commit.h","line":154,"lineto":154,"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 on success; error code otherwise"},"description":"Get the tree pointed to by a commit.","comments":"","group":"commit"},"git_commit_tree_oid":{"type":"function","file":"commit.h","line":164,"lineto":164,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"const git_oid *","comment":"the id of tree pointed to by commit."},"description":"Get the id of the tree pointed to by a commit. This differs from\n`git_commit_tree` in that no attempts are made to fetch an object\nfrom the ODB.","comments":"","group":"commit"},"git_commit_parentcount":{"type":"function","file":"commit.h","line":172,"lineto":172,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"unsigned int","comment":"integer of count of parents"},"description":"Get the number of parents of this commit","comments":"","group":"commit","examples":{"general.c":["ex/v0.13.0/general.html#git_commit_parentcount-71"]}},"git_commit_parent":{"type":"function","file":"commit.h","line":182,"lineto":182,"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 on success; error code otherwise"},"description":"Get the specified parent of the commit.","comments":"","group":"commit","examples":{"general.c":["ex/v0.13.0/general.html#git_commit_parent-72"]}},"git_commit_parent_oid":{"type":"function","file":"commit.h","line":193,"lineto":193,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."},{"name":"n","type":"unsigned int","comment":"the position of the parent (from 0 to `parentcount`)"}],"argline":"git_commit *commit, unsigned int n","sig":"git_commit *::unsigned int","return":{"type":"const git_oid *","comment":"the id of the parent, NULL on error."},"description":"Get the oid of a specified parent for a commit. This is different from\n`git_commit_parent`, which will attempt to load the parent commit from\nthe ODB.","comments":"","group":"commit"},"git_commit_create":{"type":"function","file":"commit.h","line":232,"lineto":241,"args":[{"name":"oid","type":"git_oid *","comment":"Pointer where to store the OID of the newly 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 will be updated to point to this commit. If the reference is not direct, it will be resolved to a direct reference. Use \"HEAD\" to update the HEAD of the current branch and make it point to this commit"},{"name":"author","type":"const git_signature *","comment":"Signature representing the author and the authory time of this commit"},{"name":"committer","type":"const git_signature *","comment":"Signature representing the committer and the commit time of this commit"},{"name":"message","type":"const char *","comment":"Full message for this commit"},{"name":"tree_oid","type":"const git_oid *","comment":"Object ID of the tree for this commit. Note that no validation is performed on this OID. Use the _o variants of this method to assure a proper tree is passed to the commit."},{"name":"parent_count","type":"int","comment":"Number of parents for this commit"}],"argline":"git_oid *oid,\n\t\tgit_repository *repo,\n\t\tconst char *update_ref,\n\t\tconst git_signature *author,\n\t\tconst git_signature *committer,\n\t\tconst char *message,\n\t\tconst git_oid *tree_oid,\n\t\tint parent_count,\n\t\tconst git_oid *parent_oids[]","sig":"git_oid *::git_repository *::const char *::const git_signature *::const git_signature *::const char *::const git_oid *::int","return":{"type":"int","comment":"0 on success; error code otherwise The created commit will be written to the Object Database and the given reference will be updated to point to it"},"description":"Create a new commit in the repository","comments":"","group":"commit"},"git_commit_create_o":{"type":"function","file":"commit.h","line":254,"lineto":263,"args":[{"name":"oid","type":"git_oid *"},{"name":"repo","type":"git_repository *"},{"name":"update_ref","type":"const char *"},{"name":"author","type":"const git_signature *"},{"name":"committer","type":"const git_signature *"},{"name":"message","type":"const char *"},{"name":"tree","type":"const git_tree *"},{"name":"parent_count","type":"int"}],"argline":"git_oid *oid,\n\t\tgit_repository *repo,\n\t\tconst char *update_ref,\n\t\tconst git_signature *author,\n\t\tconst git_signature *committer,\n\t\tconst char *message,\n\t\tconst git_tree *tree,\n\t\tint parent_count,\n\t\tconst git_commit *parents[]","sig":"git_oid *::git_repository *::const char *::const git_signature *::const git_signature *::const char *::const git_tree *::int","return":{"type":"int"},"description":"Create a new commit in the repository using `git_object`\ninstances as parameters.","comments":"The `tree_oid` and `parent_oids` paremeters now take a instance\nof `git_tree` and `git_commit`, respectively.\n\nAll other parameters remain the same\n\n@see git_commit_create","group":"commit"},"git_commit_create_ov":{"type":"function","file":"commit.h","line":281,"lineto":290,"args":[{"name":"oid","type":"git_oid *"},{"name":"repo","type":"git_repository *"},{"name":"update_ref","type":"const char *"},{"name":"author","type":"const git_signature *"},{"name":"committer","type":"const git_signature *"},{"name":"message","type":"const char *"},{"name":"tree","type":"const git_tree *"},{"name":"parent_count","type":"int"}],"argline":"git_oid *oid,\n\t\tgit_repository *repo,\n\t\tconst char *update_ref,\n\t\tconst git_signature *author,\n\t\tconst git_signature *committer,\n\t\tconst char *message,\n\t\tconst git_tree *tree,\n\t\tint parent_count,\n\t\t...","sig":"git_oid *::git_repository *::const char *::const git_signature *::const git_signature *::const char *::const git_tree *::int","return":{"type":"int"},"description":"Create a new commit in the repository using `git_object`\ninstances and a variable argument list.","comments":"The `tree_oid` paremeter now takes a instance\nof `const git_tree *`.\n\nThe parents for the commit are specified as a variable\nlist of pointers to `const git_commit *`. Note that this\nis a convenience method which may not be safe to export\nfor certain languages or compilers\n\nAll other parameters remain the same\n\n@see git_commit_create","group":"commit"},"git_commit_create_v":{"type":"function","file":"commit.h","line":306,"lineto":315,"args":[{"name":"oid","type":"git_oid *"},{"name":"repo","type":"git_repository *"},{"name":"update_ref","type":"const char *"},{"name":"author","type":"const git_signature *"},{"name":"committer","type":"const git_signature *"},{"name":"message","type":"const char *"},{"name":"tree_oid","type":"const git_oid *"},{"name":"parent_count","type":"int"}],"argline":"git_oid *oid,\n\t\tgit_repository *repo,\n\t\tconst char *update_ref,\n\t\tconst git_signature *author,\n\t\tconst git_signature *committer,\n\t\tconst char *message,\n\t\tconst git_oid *tree_oid,\n\t\tint parent_count,\n\t\t...","sig":"git_oid *::git_repository *::const char *::const git_signature *::const git_signature *::const char *::const git_oid *::int","return":{"type":"int"},"description":"Create a new commit in the repository using \na variable argument list.","comments":"The parents for the commit are specified as a variable\nlist of pointers to `const git_oid *`. Note that this\nis a convenience method which may not be safe to export\nfor certain languages or compilers\n\nAll other parameters remain the same\n\n@see git_commit_create","group":"commit","examples":{"general.c":["ex/v0.13.0/general.html#git_commit_create_v-73"]}},"git_blob_lookup":{"type":"function","file":"blob.h","line":50,"lineto":53,"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 on success; error code otherwise"},"description":"Lookup a blob object from a repository.","comments":"","group":"blob","examples":{"general.c":["ex/v0.13.0/general.html#git_blob_lookup-74"]}},"git_blob_lookup_prefix":{"type":"function","file":"blob.h","line":67,"lineto":70,"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 on success; error code otherwise"},"description":"Lookup a blob object from a repository,\ngiven a prefix of its identifier (short id).","comments":"@see git_object_lookup_prefix\n","group":"blob"},"git_blob_close":{"type":"function","file":"blob.h","line":83,"lineto":86,"args":[{"name":"blob","type":"git_blob *","comment":"the blob to close"}],"argline":"git_blob *blob","sig":"git_blob *","return":{"type":"void"},"description":"Close an open blob","comments":"This is a wrapper around git_object_close()\n\nIMPORTANT:\nIt *is* necessary to call this method when you stop\nusing a blob. Failure to do so will cause a memory leak.\n","group":"blob"},"git_blob_rawcontent":{"type":"function","file":"blob.h","line":101,"lineto":101,"args":[{"name":"blob","type":"git_blob *","comment":"pointer to the blob"}],"argline":"git_blob *blob","sig":"git_blob *","return":{"type":"const void *","comment":"the pointer; NULL if the blob has no contents"},"description":"Get a read-only buffer with the raw content of a blob.","comments":"A pointer to the raw content of a blob is returned;\nthis pointer is owned internally by the object and shall\nnot be free'd. The pointer may be invalidated at a later\ntime.\n","group":"blob","examples":{"general.c":["ex/v0.13.0/general.html#git_blob_rawcontent-75"]}},"git_blob_rawsize":{"type":"function","file":"blob.h","line":109,"lineto":109,"args":[{"name":"blob","type":"git_blob *","comment":"pointer to the blob"}],"argline":"git_blob *blob","sig":"git_blob *","return":{"type":"int","comment":"size on bytes"},"description":"Get the size in bytes of the contents of a blob","comments":"","group":"blob","examples":{"general.c":["ex/v0.13.0/general.html#git_blob_rawsize-76","ex/v0.13.0/general.html#git_blob_rawsize-77"]}},"git_blob_create_fromfile":{"type":"function","file":"blob.h","line":122,"lineto":122,"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. this repository cannot be bare"},{"name":"path","type":"const char *","comment":"file from which the blob will be created, relative 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 on success; error code otherwise"},"description":"Read a file from the working folder of a repository\nand write it to the Object Database as a loose blob","comments":"","group":"blob"},"git_blob_create_frombuffer":{"type":"function","file":"blob.h","line":134,"lineto":134,"args":[{"name":"oid","type":"git_oid *","comment":"return the oid of the written blob"},{"name":"repo","type":"git_repository *","comment":"repository where to blob will be written"},{"name":"buffer","type":"const void *","comment":"data to be written into the blob"},{"name":"len","type":"size_t","comment":"length of the data"}],"argline":"git_oid *oid, git_repository *repo, const void *buffer, size_t len","sig":"git_oid *::git_repository *::const void *::size_t","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Write an in-memory buffer to the ODB as a blob","comments":"","group":"blob"}},"globals":{"GIT_SORT_NONE":{"value":"(0)","file":"revwalk.h","line":47,"comments":"Sort the repository contents in no particular ordering;\nthis sorting is arbitrary, implementation-specific\nand subject to change at any time.\nThis is the default sorting for new walkers."},"GIT_SORT_TOPOLOGICAL":{"value":"(1 << 0)","file":"revwalk.h","line":54,"comments":"Sort the repository contents in topological order\n(parents before children); this sorting mode\ncan be combined with time sorting."},"GIT_SORT_TIME":{"value":"(1 << 1)","file":"revwalk.h","line":61,"comments":"Sort the repository contents by commit time;\nthis sorting mode can be combined with\ntopological sorting."},"GIT_SORT_REVERSE":{"value":"(1 << 2)","file":"revwalk.h","line":68,"comments":"Iterate through the repository contents in reverse\norder; this sorting mode can be combined with\nany of the above."},"GIT_OID_RAWSZ":{"value":"20","file":"oid.h","line":41,"comments":"Size (in bytes) of a raw/binary oid"},"GIT_OID_HEXSZ":{"value":"(GIT_OID_RAWSZ * 2)","file":"oid.h","line":44,"comments":"Size (in bytes) of a hex formatted oid"},"GIT_OID_MINPREFIXLEN":{"value":"4","file":"oid.h","line":48,"comments":"Minimum length (in number of hex characters,\ni.e. packets of 4 bits) of an oid prefix"},"GIT_BEGIN_DECL":{"value":"","file":"common.h","line":37,"comments":"Start declarations in C mode"},"GIT_END_DECL":{"value":"","file":"common.h","line":39,"comments":"End declarations in C mode"},"GIT_EXTERN(type)":{"value":"extern __attribute__((visibility(\"default\"))) type","file":"common.h","line":43,"comments":"Declare a public function exported for application use."},"GIT_EXTERN_TLS(type)":{"value":"extern __attribute__((visibility(\"default\"))) GIT_TLS type","file":"common.h","line":54,"comments":"Declare a public TLS symbol exported for application use."},"GIT_INLINE(type)":{"value":"static __inline type","file":"common.h","line":66,"comments":"Declare a function as always inlined."},"GIT_FORMAT_PRINTF(a,b)":{"value":"__attribute__((format (printf, a, b)))","file":"common.h","line":73,"comments":"Declare a function's takes printf style arguments."},"GIT_PATH_LIST_SEPARATOR":{"value":"';'","file":"common.h","line":98,"comments":"The separator used in path list strings (ie like in the PATH\nenvironment variable). A semi-colon \";\" is used on Windows, and\na colon \":\" for all other systems."},"GIT_PATH_MAX":{"value":"4096","file":"common.h","line":107,"comments":"The maximum length of a git valid git path."}},"types":[["git_blob",{"type":"struct","value":"git_blob","file":"types.h","line":116,"lineto":116,"block":"","tdef":"typedef","comments":"In-memory representation of a blob object.","used":{"returns":[],"needs":["git_blob_close","git_blob_lookup","git_blob_lookup_prefix","git_blob_rawcontent","git_blob_rawsize"]}}],["git_commit",{"type":"struct","value":"git_commit","file":"types.h","line":119,"lineto":119,"block":"","tdef":"typedef","comments":"Parsed representation of a commit object.","used":{"returns":[],"needs":["git_commit_author","git_commit_close","git_commit_committer","git_commit_create_o","git_commit_id","git_commit_lookup","git_commit_lookup_prefix","git_commit_message","git_commit_message_short","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",{"type":"struct","value":"git_config","file":"types.h","line":134,"lineto":134,"block":"","tdef":"typedef","comments":"Memory representation of a set of config files","used":{"returns":[],"needs":["git_config_add_file","git_config_add_file_ondisk","git_config_foreach","git_config_free","git_config_get_bool","git_config_get_int","git_config_get_long","git_config_get_string","git_config_new","git_config_open_global","git_config_open_ondisk","git_config_set_bool","git_config_set_int","git_config_set_long","git_config_set_string","git_repository_config"]}}],["git_config_file",{"type":"struct","value":"git_config_file","file":"config.h","line":44,"lineto":53,"block":"struct git_config *cfg\nint (*open)(struct git_config_file *)\nint (*get)(struct git_config_file *, const char *key, const char **value)\nint (*set)(struct git_config_file *, const char *key, const char *value)\nint (*foreach)(struct git_config_file *, int (*fn)(const char *, void *), void *data)\nvoid (*free)(struct git_config_file *)","tdef":null,"comments":"Generic backend that implements the interface to\naccess a configuration file","used":{"returns":[],"needs":["git_config_add_file","git_config_file__ondisk"]}}],["git_index",{"type":"struct","value":"git_index","file":"types.h","line":131,"lineto":131,"block":"","tdef":"typedef","comments":"Memory representation of an index file.","used":{"returns":[],"needs":["git_index_add","git_index_add2","git_index_append","git_index_append2","git_index_clear","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_remove","git_index_write","git_repository_index","git_tree_create_fromindex"]}}],["git_index_entry",{"type":"struct","value":"git_index_entry","file":"index.h","line":85,"lineto":102,"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\nconst char *path","tdef":"typedef","comments":"Memory representation of a file entry in the index.","used":{"returns":["git_index_get"],"needs":["git_index_add2","git_index_append2","git_index_entry_stage"]}}],["git_index_entry_unmerged",{"type":"struct","value":"git_index_entry_unmerged","file":"index.h","line":105,"lineto":109,"block":"unsigned int mode[3]\ngit_oid oid[3]\nconst char *path","tdef":"typedef","comments":"Representation of an unmerged file entry in the index.","used":{"returns":["git_index_get_unmerged_byindex","git_index_get_unmerged_bypath"],"needs":[]}}],["git_index_time",{"type":"struct","value":"git_index_time","file":"index.h","line":78,"lineto":82,"block":"git_time_t seconds\nunsigned int nanoseconds","tdef":"typedef","comments":"Time used in a git index entry","used":{"returns":[],"needs":[]}}],["git_object",{"type":"struct","value":"git_object","file":"types.h","line":107,"lineto":107,"block":"","tdef":"typedef","comments":"Representation of a generic object in a repository","used":{"returns":[],"needs":["git_object_close","git_object_id","git_object_lookup","git_object_lookup_prefix","git_object_owner","git_object_type","git_tag_create_fo","git_tag_create_o","git_tag_target","git_tree_entry_2object"]}}],["git_odb",{"type":"struct","value":"git_odb","file":"types.h","line":89,"lineto":89,"block":"","tdef":"typedef","comments":"An open object database handle.","used":{"returns":["git_repository_database"],"needs":["git_odb_add_alternate","git_odb_add_backend","git_odb_close","git_odb_exists","git_odb_new","git_odb_open","git_odb_open_rstream","git_odb_open_wstream","git_odb_read","git_odb_read_header","git_odb_read_prefix","git_odb_write","git_repository_open3"]}}],["git_odb_backend",{"type":"struct","value":"git_odb_backend","file":"odb_backend.h","line":44,"lineto":93,"block":"git_odb *odb\nint (* read)(void **, size_t *, git_otype *, struct git_odb_backend *, const git_oid *)\nint (* read_prefix)(git_oid *, void **, size_t *, git_otype *, struct git_odb_backend *, const git_oid *, unsigned int)\nint (* read_header)(size_t *, git_otype *, struct git_odb_backend *, const git_oid *)\nint (* write)(git_oid *, struct git_odb_backend *, const void *, size_t, git_otype)\nint (* writestream)(struct git_odb_stream **, struct git_odb_backend *, size_t, git_otype)\nint (* readstream)(struct git_odb_stream **, struct git_odb_backend *, const git_oid *)\nint (* exists)(struct git_odb_backend *, const git_oid *)\nvoid (* free)(struct git_odb_backend *)","tdef":null,"comments":"An instance for a custom backend","used":{"returns":[],"needs":["git_odb_add_alternate","git_odb_add_backend"]}}],["git_odb_object",{"type":"struct","value":"git_odb_object","file":"types.h","line":95,"lineto":95,"block":"","tdef":"typedef","comments":"An object read from the ODB","used":{"returns":[],"needs":["git_odb_object_close","git_odb_object_data","git_odb_object_id","git_odb_object_size","git_odb_object_type","git_odb_read","git_odb_read_prefix"]}}],["git_odb_stream",{"type":"struct","value":"git_odb_stream","file":"odb_backend.h","line":96,"lineto":104,"block":"struct git_odb_backend *backend\nint mode\nint (*read)(struct git_odb_stream *stream, char *buffer, size_t len)\nint (*write)(struct git_odb_stream *stream, const char *buffer, size_t len)\nint (*finalize_write)(git_oid *oid_p, struct git_odb_stream *stream)\nvoid (*free)(struct git_odb_stream *stream)","tdef":null,"comments":"A stream to read/write from a backend","used":{"returns":[],"needs":["git_odb_open_rstream","git_odb_open_wstream"]}}],["git_odb_streammode",{"type":"enum","file":"odb_backend.h","line":107,"lineto":118,"block":"GIT_STREAM_RDONLY\nGIT_STREAM_WRONLY\nGIT_STREAM_RW","tdef":"typedef","comments":"Streaming mode","used":{"returns":[],"needs":[]}}],["git_oid",{"type":"struct","value":"git_oid","file":"oid.h","line":51,"lineto":54,"block":"unsigned char id[GIT_OID_RAWSZ]","tdef":"typedef","comments":"Unique identity of any object (commit, tree, blob, tag).","used":{"returns":["git_commit_id","git_commit_parent_oid","git_commit_tree_oid","git_object_id","git_odb_object_id","git_reference_oid","git_tag_id","git_tag_target_oid","git_tree_entry_id","git_tree_id"],"needs":["git_blob_create_frombuffer","git_blob_create_fromfile","git_blob_lookup","git_blob_lookup_prefix","git_commit_create","git_commit_create_o","git_commit_create_ov","git_commit_create_v","git_commit_lookup","git_commit_lookup_prefix","git_object_lookup","git_object_lookup_prefix","git_odb_exists","git_odb_hash","git_odb_open_rstream","git_odb_read","git_odb_read_header","git_odb_read_prefix","git_odb_write","git_oid_allocfmt","git_oid_cmp","git_oid_cpy","git_oid_fmt","git_oid_fromraw","git_oid_fromstr","git_oid_ncmp","git_oid_pathfmt","git_oid_to_string","git_reference_create_oid","git_reference_create_oid_f","git_reference_set_oid","git_revwalk_hide","git_revwalk_next","git_revwalk_push","git_tag_create","git_tag_create_f","git_tag_create_fo","git_tag_create_frombuffer","git_tag_create_o","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",{"type":"struct","value":"git_oid_shorten","file":"oid.h","line":159,"lineto":159,"block":"","tdef":"typedef","comments":"OID Shortener object","used":{"returns":["git_oid_shorten_new"],"needs":["git_oid_shorten_add","git_oid_shorten_free"]}}],["git_otype",{"type":"enum","file":"types.h","line":75,"lineto":86,"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","comments":"Basic type (loose or packed) of any Git object.","used":{"returns":[],"needs":["git_object__size","git_object_lookup","git_object_lookup_prefix","git_object_type2string","git_object_typeisloose","git_odb_hash","git_odb_open_wstream","git_odb_read_header","git_odb_write","git_tag_create","git_tag_create_f"]}}],["git_reference",{"type":"struct","value":"git_reference","file":"types.h","line":153,"lineto":153,"block":"","tdef":"typedef","comments":"In-memory representation of a reference.","used":{"returns":[],"needs":["git_reference_create_oid","git_reference_create_oid_f","git_reference_create_symbolic","git_reference_create_symbolic_f","git_reference_delete","git_reference_lookup","git_reference_name","git_reference_oid","git_reference_owner","git_reference_rename","git_reference_rename_f","git_reference_resolve","git_reference_set_oid","git_reference_set_target","git_reference_target","git_reference_type"]}}],["git_repository",{"type":"struct","value":"git_repository","file":"types.h","line":104,"lineto":104,"block":"","tdef":"typedef","comments":"Representation of an existing git repository,\nincluding all its object contents","used":{"returns":["git_object_owner","git_reference_owner","git_revwalk_repository"],"needs":["git_blob_create_frombuffer","git_blob_create_fromfile","git_blob_lookup","git_blob_lookup_prefix","git_commit_create","git_commit_create_o","git_commit_create_ov","git_commit_create_v","git_commit_lookup","git_commit_lookup_prefix","git_object_lookup","git_object_lookup_prefix","git_reference_create_oid","git_reference_create_oid_f","git_reference_create_symbolic","git_reference_create_symbolic_f","git_reference_foreach","git_reference_listall","git_reference_lookup","git_reference_packall","git_repository_config","git_repository_database","git_repository_free","git_repository_index","git_repository_init","git_repository_is_bare","git_repository_is_empty","git_repository_open","git_repository_open2","git_repository_open3","git_repository_path","git_revwalk_new","git_tag_create","git_tag_create_f","git_tag_create_fo","git_tag_create_frombuffer","git_tag_create_o","git_tag_delete","git_tag_list","git_tag_lookup","git_tag_lookup_prefix","git_tree_entry_2object","git_tree_lookup","git_tree_lookup_prefix","git_treebuilder_write"]}}],["git_repository_pathid",{"type":"enum","file":"repository.h","line":236,"lineto":241,"block":"GIT_REPO_PATH\nGIT_REPO_PATH_INDEX\nGIT_REPO_PATH_ODB\nGIT_REPO_PATH_WORKDIR","tdef":"typedef","comments":"Internal path identifiers for a repository","used":{"returns":[],"needs":["git_repository_path"]}}],["git_revwalk",{"type":"struct","value":"git_revwalk","file":"types.h","line":110,"lineto":110,"block":"","tdef":"typedef","comments":"Representation of an in-progress walk through the commits in a repo","used":{"returns":[],"needs":["git_revwalk_free","git_revwalk_hide","git_revwalk_new","git_revwalk_next","git_revwalk_push","git_revwalk_repository","git_revwalk_reset","git_revwalk_sorting"]}}],["git_rtype",{"type":"enum","file":"types.h","line":156,"lineto":163,"block":"GIT_REF_INVALID\nGIT_REF_OID\nGIT_REF_SYMBOLIC\nGIT_REF_PACKED\nGIT_REF_HAS_PEEL\nGIT_REF_LISTALL","tdef":"typedef","comments":"Basic type of any Git reference.","used":{"returns":[],"needs":[]}}],["git_signature",{"type":"struct","value":"git_signature","file":"types.h","line":146,"lineto":150,"block":"char *name\nchar *email\ngit_time when","tdef":"typedef","comments":"An action signature (e.g. for committers, taggers, etc)","used":{"returns":["git_commit_author","git_commit_committer","git_signature_dup","git_signature_new","git_signature_now","git_tag_tagger"],"needs":["git_commit_create","git_commit_create_o","git_commit_create_ov","git_commit_create_v","git_signature_dup","git_signature_free","git_tag_create","git_tag_create_f","git_tag_create_fo","git_tag_create_o"]}}],["git_tag",{"type":"struct","value":"git_tag","file":"types.h","line":113,"lineto":113,"block":"","tdef":"typedef","comments":"Parsed representation of a tag object.","used":{"returns":[],"needs":["git_tag_close","git_tag_id","git_tag_lookup","git_tag_lookup_prefix","git_tag_message","git_tag_name","git_tag_tagger","git_tag_target","git_tag_target_oid","git_tag_type"]}}],["git_time",{"type":"struct","value":"git_time","file":"types.h","line":140,"lineto":143,"block":"git_time_t time\nint offset","tdef":"typedef","comments":"Time in a signature","used":{"returns":[],"needs":[]}}],["git_tree",{"type":"struct","value":"git_tree","file":"types.h","line":125,"lineto":125,"block":"","tdef":"typedef","comments":"Representation of a tree object.","used":{"returns":[],"needs":["git_commit_create_o","git_commit_create_ov","git_commit_tree","git_tree_close","git_tree_entry_byindex","git_tree_entry_byname","git_tree_entrycount","git_tree_id","git_tree_lookup","git_tree_lookup_prefix","git_treebuilder_create"]}}],["git_tree_entry",{"type":"struct","value":"git_tree_entry","file":"types.h","line":122,"lineto":122,"block":"","tdef":"typedef","comments":"Representation of each one of the entries in a tree object.","used":{"returns":["git_tree_entry_byindex","git_tree_entry_byname","git_treebuilder_get"],"needs":["git_tree_entry_2object","git_tree_entry_attributes","git_tree_entry_id","git_tree_entry_name","git_tree_entry_type","git_treebuilder_filter","git_treebuilder_insert"]}}],["git_treebuilder",{"type":"struct","value":"git_treebuilder","file":"types.h","line":128,"lineto":128,"block":"","tdef":"typedef","comments":"Constructor for in-memory trees","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"]}}]],"prefix":"include/git2","groups":[["blob",["git_blob_close","git_blob_create_frombuffer","git_blob_create_fromfile","git_blob_lookup","git_blob_lookup_prefix","git_blob_rawcontent","git_blob_rawsize"]],["commit",["git_commit_author","git_commit_close","git_commit_committer","git_commit_create","git_commit_create_o","git_commit_create_ov","git_commit_create_v","git_commit_id","git_commit_lookup","git_commit_lookup_prefix","git_commit_message","git_commit_message_short","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_file__ondisk","git_config_find_global","git_config_foreach","git_config_free","git_config_get_bool","git_config_get_int","git_config_get_long","git_config_get_string","git_config_new","git_config_open_global","git_config_open_ondisk","git_config_set_bool","git_config_set_int","git_config_set_long","git_config_set_string"]],["errors",["git_lasterror","git_strerror"]],["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_remove","git_index_write"]],["libgit2",["git_libgit2_version"]],["object",["git_object__size","git_object_close","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_close","git_odb_exists","git_odb_hash","git_odb_new","git_odb_object_close","git_odb_object_data","git_odb_object_id","git_odb_object_size","git_odb_object_type","git_odb_open","git_odb_open_rstream","git_odb_open_wstream","git_odb_read","git_odb_read_header","git_odb_read_prefix","git_odb_write"]],["oid",["git_oid_allocfmt","git_oid_cmp","git_oid_cpy","git_oid_fmt","git_oid_fromraw","git_oid_fromstr","git_oid_ncmp","git_oid_pathfmt","git_oid_shorten_add","git_oid_shorten_free","git_oid_shorten_new","git_oid_to_string"]],["reference",["git_reference_create_oid","git_reference_create_oid_f","git_reference_create_symbolic","git_reference_create_symbolic_f","git_reference_delete","git_reference_foreach","git_reference_listall","git_reference_lookup","git_reference_name","git_reference_oid","git_reference_owner","git_reference_packall","git_reference_rename","git_reference_rename_f","git_reference_resolve","git_reference_set_oid","git_reference_set_target","git_reference_target","git_reference_type"]],["repository",["git_repository_config","git_repository_database","git_repository_discover","git_repository_free","git_repository_index","git_repository_init","git_repository_is_bare","git_repository_is_empty","git_repository_open","git_repository_open2","git_repository_open3","git_repository_path"]],["revwalk",["git_revwalk_free","git_revwalk_hide","git_revwalk_new","git_revwalk_next","git_revwalk_push","git_revwalk_repository","git_revwalk_reset","git_revwalk_sorting"]],["signature",["git_signature_dup","git_signature_free","git_signature_new","git_signature_now"]],["tag",["git_tag_close","git_tag_create","git_tag_create_f","git_tag_create_fo","git_tag_create_frombuffer","git_tag_create_o","git_tag_delete","git_tag_id","git_tag_list","git_tag_lookup","git_tag_lookup_prefix","git_tag_message","git_tag_name","git_tag_tagger","git_tag_target","git_tag_target_oid","git_tag_type"]],["tree",["git_tree_close","git_tree_create_fromindex","git_tree_entry_2object","git_tree_entry_attributes","git_tree_entry_byindex","git_tree_entry_byname","git_tree_entry_id","git_tree_entry_name","git_tree_entry_type","git_tree_entrycount","git_tree_id","git_tree_lookup","git_tree_lookup_prefix"]],["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"]],["zlib",["deflateBound"]]],"examples":[["showindex.c","ex/v0.13.0/showindex.html"],["general.c","ex/v0.13.0/general.html"]]} \ No newline at end of file
diff --git a/v0.14.0.json b/v0.14.0.json
index d2d37495b..f8ce4e91c 100644
--- a/v0.14.0.json
+++ b/v0.14.0.json
@@ -1 +1 @@
-{"files":[{"file":"reflog.h","functions":["git_reflog_read","git_reflog_write","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":{"brief":"Git reflog management routines","defgroup":"git_reflog Git reflog management routines","ingroup":"Git","comments":"\n"},"lines":129},{"file":"branch.h","functions":[],"meta":{},"lines":9},{"file":"common.h","functions":["git_libgit2_version"],"meta":{"brief":"Git common platform definitions","defgroup":"git_common Git common platform definitions","ingroup":"Git","comments":"\n"},"lines":128},{"file":"refspec.h","functions":["git_refspec_src","git_refspec_dst","git_refspec_src_match","git_refspec_transform"],"meta":{"brief":"Git refspec attributes","defgroup":"git_refspec Git refspec attributes","ingroup":"Git","comments":"\n"},"lines":75},{"file":"signature.h","functions":["git_signature_new","git_signature_now","git_signature_dup","git_signature_free"],"meta":{"brief":"Git signature creation","defgroup":"git_signature Git signature creation","ingroup":"Git","comments":"\n"},"lines":81},{"file":"status.h","functions":["git_status_foreach","git_status_file"],"meta":{"brief":"Git file status routines","defgroup":"git_status Git file status routines","ingroup":"Git","comments":"\n"},"lines":79},{"file":"config.h","functions":["git_config_find_global","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_int","git_config_get_long","git_config_get_bool","git_config_get_string","git_config_set_int","git_config_set_long","git_config_set_bool","git_config_set_string","git_config_delete","git_config_foreach"],"meta":{"brief":"Git config management routines","defgroup":"git_config Git config management routines","ingroup":"Git","comments":"\n"},"lines":284},{"file":"net.h","functions":[],"meta":{"brief":"Git networking declarations","ingroup":"Git","comments":"\n"},"lines":67},{"file":"blob.h","functions":["git_blob_lookup","git_blob_lookup_prefix","git_blob_close","git_blob_rawcontent","git_blob_rawsize","git_blob_create_fromfile","git_blob_create_frombuffer"],"meta":{"brief":"Git blob load and write routines","defgroup":"git_blob Git blob load and write routines","ingroup":"Git","comments":"\n"},"lines":138},{"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"],"meta":{"brief":"Git index parsing and manipulation routines","defgroup":"git_index Git index parsing and manipulation routines","ingroup":"Git","comments":"\n"},"lines":324},{"file":"repository.h","functions":["git_repository_open","git_repository_open2","git_repository_open3","git_repository_discover","git_repository_database","git_repository_index","git_repository_free","git_repository_init","git_repository_head_detached","git_repository_head_orphan","git_repository_is_empty","git_repository_path","git_repository_is_bare","git_repository_config"],"meta":{"brief":"Git repository management routines","defgroup":"git_repository Git repository management routines","ingroup":"Git","comments":"\n"},"lines":332},{"file":"tag.h","functions":["git_tag_lookup","git_tag_lookup_prefix","git_tag_close","git_tag_id","git_tag_target","git_tag_target_oid","git_tag_type","git_tag_name","git_tag_tagger","git_tag_message","git_tag_create","git_tag_create_frombuffer","git_tag_create_lightweight","git_tag_delete","git_tag_list","git_tag_list_match"],"meta":{"brief":"Git tag parsing routines","defgroup":"git_tag Git tag management","ingroup":"Git","comments":"\n"},"lines":297},{"file":"odb_backend.h","functions":[],"meta":{"brief":"Git custom backend functions","defgroup":"git_backend Git custom backend API","ingroup":"Git","comments":"\n"},"lines":118},{"file":"commit.h","functions":["git_commit_lookup","git_commit_lookup_prefix","git_commit_close","git_commit_id","git_commit_message_short","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":{"brief":"Git commit parsing, formatting routines","defgroup":"git_commit Git commit parsing, formatting routines","ingroup":"Git","comments":"\n"},"lines":270},{"file":"types.h","functions":[],"meta":{"brief":"libgit2 base & compatibility types","ingroup":"Git","comments":"\n"},"lines":191},{"file":"remote.h","functions":["git_remote_get","git_remote_name","git_remote_url","git_remote_fetchspec","git_remote_pushspec","git_remote_connect","git_remote_ls","git_remote_free"],"meta":{"brief":"Git remote management","defgroup":"git_remote Git remote management routines","ingroup":"Git","comments":"\n"},"lines":122},{"file":"zlib.h","functions":["deflateBound"],"meta":{"brief":"Git data compression routines","defgroup":"git_zlib Git data compression routines","ingroup":"Git","comments":"\n"},"lines":58},{"file":"tree.h","functions":["git_tree_lookup","git_tree_lookup_prefix","git_tree_close","git_tree_id","git_tree_entrycount","git_tree_entry_byname","git_tree_entry_byindex","git_tree_entry_attributes","git_tree_entry_name","git_tree_entry_id","git_tree_entry_type","git_tree_entry_2object","git_tree_create_fromindex","git_treebuilder_create","git_treebuilder_clear","git_treebuilder_free","git_treebuilder_get","git_treebuilder_insert","git_treebuilder_remove","git_treebuilder_filter","git_treebuilder_write"],"meta":{"brief":"Git tree parsing, loading routines","defgroup":"git_tree Git tree parsing, loading routines","ingroup":"Git","comments":"\n"},"lines":291},{"file":"transport.h","functions":["git_transport_new"],"meta":{"brief":"Git protocol transport abstraction","defgroup":"git_transport Git protocol transport abstraction","ingroup":"Git","comments":"\n"},"lines":58},{"file":"odb.h","functions":["git_odb_new","git_odb_open","git_odb_add_backend","git_odb_add_alternate","git_odb_close","git_odb_read","git_odb_read_prefix","git_odb_read_header","git_odb_exists","git_odb_write","git_odb_open_wstream","git_odb_open_rstream","git_odb_hash","git_odb_hashfile","git_odb_object_close","git_odb_object_id","git_odb_object_data","git_odb_object_size","git_odb_object_type"],"meta":{"brief":"Git object database routines","defgroup":"git_odb Git object database routines","ingroup":"Git","comments":"\n"},"lines":351},{"file":"thread-utils.h","functions":[],"meta":{},"lines":78},{"file":"oid.h","functions":["git_oid_fromstr","git_oid_fromstrn","git_oid_fromraw","git_oid_fmt","git_oid_pathfmt","git_oid_allocfmt","git_oid_to_string","git_oid_cpy","git_oid_cmp","git_oid_ncmp","git_oid_shorten_new","git_oid_shorten_add","git_oid_shorten_free"],"meta":{"brief":"Git object id routines","defgroup":"git_oid Git object id routines","ingroup":"Git","comments":"\n"},"lines":225},{"file":"errors.h","functions":["git_lasterror","git_strerror","git_clearerror"],"meta":{"brief":"Git error handling routines and variables","ingroup":"Git","comments":"\n"},"lines":162},{"file":"revwalk.h","functions":["git_revwalk_new","git_revwalk_reset","git_revwalk_push","git_revwalk_hide","git_revwalk_next","git_revwalk_sorting","git_revwalk_free","git_revwalk_repository"],"meta":{"brief":"Git revision traversal routines","defgroup":"git_revwalk Git revision traversal routines","ingroup":"Git","comments":"\n"},"lines":187},{"file":"object.h","functions":["git_object_lookup","git_object_lookup_prefix","git_object_id","git_object_type","git_object_owner","git_object_close","git_object_type2string","git_object_string2type","git_object_typeisloose","git_object__size"],"meta":{"brief":"Git revision object management routines","defgroup":"git_object Git revision object management routines","ingroup":"Git","comments":"\n"},"lines":191},{"file":"refs.h","functions":["git_reference_lookup","git_reference_create_symbolic","git_reference_create_oid","git_reference_oid","git_reference_target","git_reference_type","git_reference_name","git_reference_resolve","git_reference_owner","git_reference_set_target","git_reference_set_oid","git_reference_rename","git_reference_delete","git_reference_packall","git_reference_listall","git_reference_foreach"],"meta":{"brief":"Git reference management routines","defgroup":"git_reference Git reference management routines","ingroup":"Git","comments":"\n"},"lines":276}],"functions":{"git_reflog_read":{"type":"function","file":"reflog.h","line":51,"lineto":51,"args":[{"name":"reflog","type":"git_reflog **","comment":"pointer to reflog"},{"name":"ref","type":"git_reference *","comment":"log pointer to reflog"}],"argline":"git_reflog **reflog, git_reference *ref","sig":"git_reflog **::git_reference *","return":{"type":"int","comment":"GIT_SUCCESS on success; error code otherwise"},"description":"Read the reflog for the given reference","comments":"The reflog must be freed manually by using\ngit_reflog_free().\n","group":"reflog"},"git_reflog_write":{"type":"function","file":"reflog.h","line":69,"lineto":69,"args":[{"name":"ref","type":"git_reference *","comment":"the changed reference"},{"name":"oid_old","type":"const git_oid *","comment":"the OID the reference was pointing to"},{"name":"committer","type":"const git_signature *","comment":"the signature of the committer"},{"name":"msg","type":"const char *","comment":"the reflog message"}],"argline":"git_reference *ref, const git_oid *oid_old, const git_signature *committer, const char *msg","sig":"git_reference *::const git_oid *::const git_signature *::const char *","return":{"type":"int","comment":"GIT_SUCCESS on success; error code otherwise"},"description":"Write a new reflog for the given reference","comments":"If there is no reflog file for the given\nreference yet, it will be created.\n\n`oid_old` may be NULL in case it's a new reference.\n\n`msg` is optional and can be NULL.\n","group":"reflog"},"git_reflog_entrycount":{"type":"function","file":"reflog.h","line":77,"lineto":77,"args":[{"name":"reflog","type":"git_reflog *","comment":"the previously loaded reflog"}],"argline":"git_reflog *reflog","sig":"git_reflog *","return":{"type":"unsigned int","comment":"the number of log entries"},"description":"Get the number of log entries in a reflog","comments":"","group":"reflog"},"git_reflog_entry_byindex":{"type":"function","file":"reflog.h","line":86,"lineto":86,"args":[{"name":"reflog","type":"git_reflog *","comment":"a previously loaded reflog"},{"name":"idx","type":"unsigned int","comment":"the position to lookup"}],"argline":"git_reflog *reflog, unsigned int idx","sig":"git_reflog *::unsigned int","return":{"type":"const git_reflog_entry *","comment":"the entry; NULL if not found"},"description":"Lookup an entry by its index","comments":"","group":"reflog"},"git_reflog_entry_oidold":{"type":"function","file":"reflog.h","line":94,"lineto":94,"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 old oid"},"description":"Get the old oid","comments":"","group":"reflog"},"git_reflog_entry_oidnew":{"type":"function","file":"reflog.h","line":102,"lineto":102,"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 new oid at this time"},"description":"Get the new oid","comments":"","group":"reflog"},"git_reflog_entry_committer":{"type":"function","file":"reflog.h","line":110,"lineto":110,"args":[{"name":"entry","type":"const git_reflog_entry *","comment":"a reflog entry"}],"argline":"const git_reflog_entry *entry","sig":"const git_reflog_entry *","return":{"type":"git_signature *","comment":"the committer"},"description":"Get the committer of this entry","comments":"","group":"reflog"},"git_reflog_entry_msg":{"type":"function","file":"reflog.h","line":118,"lineto":118,"args":[{"name":"entry","type":"const git_reflog_entry *","comment":"a reflog entry"}],"argline":"const git_reflog_entry *entry","sig":"const git_reflog_entry *","return":{"type":"char *","comment":"the log msg"},"description":"Get the log msg","comments":"","group":"reflog"},"git_reflog_free":{"type":"function","file":"reflog.h","line":125,"lineto":125,"args":[{"name":"reflog","type":"git_reflog *","comment":"reflog to free"}],"argline":"git_reflog *reflog","sig":"git_reflog *","return":{"type":"void"},"description":"Free the reflog","comments":"","group":"reflog"},"git_libgit2_version":{"type":"function","file":"common.h","line":124,"lineto":124,"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"},"description":"Return the version of the libgit2 library\nbeing currently used.","comments":"","group":"libgit2"},"git_refspec_src":{"type":"function","file":"refspec.h","line":45,"lineto":45,"args":[{"name":"refspec","type":"const git_refspec *","comment":"the refspec"}],"argline":"const git_refspec *refspec","sig":"const git_refspec *","return":{"type":"const char *","comment":"the refspec's source specifier"},"description":"Get the source specifier","comments":"","group":"refspec"},"git_refspec_dst":{"type":"function","file":"refspec.h","line":53,"lineto":53,"args":[{"name":"refspec","type":"const git_refspec *","comment":"the refspec"}],"argline":"const git_refspec *refspec","sig":"const git_refspec *","return":{"type":"const char *","comment":"the refspec's destination specifier"},"description":"Get the destination specifier","comments":"","group":"refspec"},"git_refspec_src_match":{"type":"function","file":"refspec.h","line":63,"lineto":63,"args":[{"name":"refspec","type":"const git_refspec *","comment":"the refspec"},{"name":"refname","type":"const char *","comment":"the name of the reference to check"}],"argline":"const git_refspec *refspec, const char *refname","sig":"const git_refspec *::const char *","return":{"type":"int","comment":"GIT_SUCCESS on successful match; GIT_ENOMACH on match failure or an error code on other failure"},"description":"Match a refspec's source descriptor with a reference name","comments":"","group":"refspec"},"git_refspec_transform":{"type":"function","file":"refspec.h","line":74,"lineto":75,"args":[{"name":"out","type":"char *","comment":"where to store the target name"},{"name":"outlen","type":"size_t","comment":"the size ouf the `out` buffer"},{"name":"spec","type":"const git_refspec *","comment":"the refspec"},{"name":"name","type":"const char *","comment":"the name of the reference to transform @preturn GIT_SUCCESS, GIT_ESHORTBUFFER or another error"}],"argline":"char *out, size_t outlen, const git_refspec *spec, const char *name","sig":"char *::size_t::const git_refspec *::const char *","return":{"type":"int"},"description":"Transform a reference to its target following the refspec's rules","comments":"","group":"refspec"},"git_signature_new":{"type":"function","file":"signature.h","line":50,"lineto":50,"args":[{"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":"const char *name, const char *email, git_time_t time, int offset","sig":"const char *::const char *::git_time_t::int","return":{"type":"git_signature *","comment":"the new sig, NULL on out of memory"},"description":"Create a new action signature. The signature must be freed\nmanually or using git_signature_free","comments":"","group":"signature","examples":{"general.c":["ex/v0.14.0/general.html#git_signature_new-1","ex/v0.14.0/general.html#git_signature_new-2"]}},"git_signature_now":{"type":"function","file":"signature.h","line":60,"lineto":60,"args":[{"name":"name","type":"const char *","comment":"name of the person"},{"name":"email","type":"const char *","comment":"email of the person"}],"argline":"const char *name, const char *email","sig":"const char *::const char *","return":{"type":"git_signature *","comment":"the new sig, NULL on out of memory"},"description":"Create a new action signature with a timestamp of 'now'. The\nsignature must be freed manually or using git_signature_free","comments":"","group":"signature"},"git_signature_dup":{"type":"function","file":"signature.h","line":70,"lineto":70,"args":[{"name":"sig","type":"const git_signature *","comment":"signature to duplicated"}],"argline":"const git_signature *sig","sig":"const git_signature *","return":{"type":"git_signature *","comment":"a copy of sig, NULL on out of memory"},"description":"Create a copy of an existing signature.","comments":"All internal strings are also duplicated.","group":"signature"},"git_signature_free":{"type":"function","file":"signature.h","line":77,"lineto":77,"args":[{"name":"sig","type":"git_signature *","comment":"signature to free"}],"argline":"git_signature *sig","sig":"git_signature *","return":{"type":"void"},"description":"Free an existing signature","comments":"","group":"signature"},"git_status_foreach":{"type":"function","file":"status.h","line":65,"lineto":65,"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 *"}],"argline":"git_repository *repo, int (*callback)(const char *, unsigned int, void *), void *payload","sig":"git_repository *::int (*)(const char *, unsigned int, void *)::void *","return":{"type":"int","comment":"GIT_SUCCESS or the return value of the callback which did not return 0;"},"description":"Gather file statuses and run a callback for each one.","comments":"The callback is passed the path of the file, the status and the data pointer\npassed to this function. If the callback returns something other than\nGIT_SUCCESS, this function will return that value.\n","group":"status"},"git_status_file":{"type":"function","file":"status.h","line":75,"lineto":75,"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_SUCCESS"},"description":"Get file status for a single file","comments":"","group":"status"},"git_config_find_global":{"type":"function","file":"config.h","line":70,"lineto":70,"args":[{"name":"global_config_path","type":"char *","comment":"Buffer of GIT_PATH_MAX length to store the path"}],"argline":"char *global_config_path","sig":"char *","return":{"type":"int","comment":"GIT_SUCCESS if a global configuration file has been found. Its path will be stored in `buffer`."},"description":"Locate the path to the global configuration file","comments":"The user or global configuration file is usually\nlocated in `$HOME/.gitconfig`.\n\nThis method will try to guess the full path to that\nfile, if the file exists. The returned path\nmay be used on any `git_config` call to load the\nglobal configuration file.\n","group":"config"},"git_config_open_global":{"type":"function","file":"config.h","line":81,"lineto":81,"args":[{"name":"out","type":"git_config **","comment":"Pointer to store the config instance"}],"argline":"git_config **out","sig":"git_config **","return":{"type":"int","comment":"GIT_SUCCESS on success; error code otherwise"},"description":"Open the global configuration file","comments":"Utility wrapper that calls `git_config_find_global`\nand opens the located file, if it exists.\n","group":"config"},"git_config_file__ondisk":{"type":"function","file":"config.h","line":94,"lineto":94,"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"},"description":"Create a configuration file backend for ondisk files","comments":"These are the normal `.gitconfig` files that Core Git\nprocesses. Note that you first have to add this file to a\nconfiguration object before you can query it for configuration\nvariables.\n","group":"config"},"git_config_new":{"type":"function","file":"config.h","line":105,"lineto":105,"args":[{"name":"out","type":"git_config **","comment":"pointer to the new configuration"}],"argline":"git_config **out","sig":"git_config **","return":{"type":"int","comment":"GIT_SUCCESS on success; error code otherwise"},"description":"Allocate a new configuration object","comments":"This object is empty, so you have to add a file to it before you\ncan do anything with it.\n","group":"config"},"git_config_add_file":{"type":"function","file":"config.h","line":122,"lineto":122,"args":[{"name":"cfg","type":"git_config *","comment":"the configuration to add the file to"},{"name":"file","type":"git_config_file *","comment":"the configuration file (backend) to add"},{"name":"priority","type":"int","comment":"the priority the backend should have"}],"argline":"git_config *cfg, git_config_file *file, int priority","sig":"git_config *::git_config_file *::int","return":{"type":"int","comment":"GIT_SUCCESS on success; error code otherwise"},"description":"Add a generic config file instance to an existing config","comments":"Note that the configuration object will free the file\nautomatically.\n\nFurther queries on this config object will access each\nof the config file instances in order (instances with\na higher priority will be accessed first).\n","group":"config"},"git_config_add_file_ondisk":{"type":"function","file":"config.h","line":143,"lineto":143,"args":[{"name":"cfg","type":"git_config *","comment":"the configuration to add the file to"},{"name":"path","type":"const char *","comment":"path to the configuration file (backend) to add"},{"name":"priority","type":"int","comment":"the priority the backend should have"}],"argline":"git_config *cfg, const char *path, int priority","sig":"git_config *::const char *::int","return":{"type":"int","comment":"GIT_SUCCESS on success; error code otherwise"},"description":"Add an on-disk config file instance to an existing config","comments":"The on-disk file pointed at by `path` will be opened and\nparsed; it's expected to be a native Git config file following\nthe default Git config syntax (see man git-config).\n\nNote that the configuration object will free the file\nautomatically.\n\nFurther queries on this config object will access each\nof the config file instances in order (instances with\na higher priority will be accessed first).\n","group":"config"},"git_config_open_ondisk":{"type":"function","file":"config.h","line":158,"lineto":158,"args":[{"name":"cfg","type":"git_config **","comment":"The configuration instance to create"},{"name":"path","type":"const char *","comment":"Path to the on-disk file to open"}],"argline":"git_config **cfg, const char *path","sig":"git_config **::const char *","return":{"type":"int","comment":"GIT_SUCCESS on success; error code otherwise"},"description":"Create a new config instance containing a single on-disk file","comments":"This method is a simple utility wrapper for the following sequence\nof calls:\n- git_config_new\n- git_config_add_file_ondisk\n","group":"config","examples":{"general.c":["ex/v0.14.0/general.html#git_config_open_ondisk-3"]}},"git_config_free":{"type":"function","file":"config.h","line":165,"lineto":165,"args":[{"name":"cfg","type":"git_config *","comment":"the configuration to free"}],"argline":"git_config *cfg","sig":"git_config *","return":{"type":"void"},"description":"Free the configuration and its associated memory and files","comments":"","group":"config"},"git_config_get_int":{"type":"function","file":"config.h","line":175,"lineto":175,"args":[{"name":"cfg","type":"git_config *","comment":"where to look for the variable"},{"name":"name","type":"const char *","comment":"the variable's name"},{"name":"out","type":"int *","comment":"pointer to the variable where the value should be stored"}],"argline":"git_config *cfg, const char *name, int *out","sig":"git_config *::const char *::int *","return":{"type":"int","comment":"GIT_SUCCESS on success; error code otherwise"},"description":"Get the value of an integer config variable.","comments":"","group":"config","examples":{"general.c":["ex/v0.14.0/general.html#git_config_get_int-4"]}},"git_config_get_long":{"type":"function","file":"config.h","line":185,"lineto":185,"args":[{"name":"cfg","type":"git_config *","comment":"where to look for the variable"},{"name":"name","type":"const char *","comment":"the variable's name"},{"name":"out","type":"long int *","comment":"pointer to the variable where the value should be stored"}],"argline":"git_config *cfg, const char *name, long int *out","sig":"git_config *::const char *::long int *","return":{"type":"int","comment":"GIT_SUCCESS on success; error code otherwise"},"description":"Get the value of a long integer config variable.","comments":"","group":"config"},"git_config_get_bool":{"type":"function","file":"config.h","line":198,"lineto":198,"args":[{"name":"cfg","type":"git_config *","comment":"where to look for the variable"},{"name":"name","type":"const char *","comment":"the variable's name"},{"name":"out","type":"int *","comment":"pointer to the variable where the value should be stored"}],"argline":"git_config *cfg, const char *name, int *out","sig":"git_config *::const char *::int *","return":{"type":"int","comment":"GIT_SUCCESS on success; error code otherwise"},"description":"Get the value of a boolean config variable.","comments":"This function uses the usual C convention of 0 being false and\nanything else true.\n","group":"config"},"git_config_get_string":{"type":"function","file":"config.h","line":211,"lineto":211,"args":[{"name":"cfg","type":"git_config *","comment":"where to look for the variable"},{"name":"name","type":"const char *","comment":"the variable's name"},{"name":"out","type":"const char **","comment":"pointer to the variable's value"}],"argline":"git_config *cfg, const char *name, const char **out","sig":"git_config *::const char *::const char **","return":{"type":"int","comment":"GIT_SUCCESS on success; error code otherwise"},"description":"Get the value of a string config variable.","comments":"The string is owned by the variable and should not be freed by the\nuser.\n","group":"config","examples":{"general.c":["ex/v0.14.0/general.html#git_config_get_string-5"]}},"git_config_set_int":{"type":"function","file":"config.h","line":221,"lineto":221,"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":"Integer value for the variable"}],"argline":"git_config *cfg, const char *name, int value","sig":"git_config *::const char *::int","return":{"type":"int","comment":"GIT_SUCCESS on success; error code otherwise"},"description":"Set the value of an integer config variable.","comments":"","group":"config"},"git_config_set_long":{"type":"function","file":"config.h","line":231,"lineto":231,"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":"long int","comment":"Long integer value for the variable"}],"argline":"git_config *cfg, const char *name, long int value","sig":"git_config *::const char *::long int","return":{"type":"int","comment":"GIT_SUCCESS on success; error code otherwise"},"description":"Set the value of a long integer config variable.","comments":"","group":"config"},"git_config_set_bool":{"type":"function","file":"config.h","line":241,"lineto":241,"args":[{"name":"cfg","type":"git_config *","comment":"where to look for the variable"},{"name":"name","type":"const char *","comment":"the variable's name"},{"name":"value","type":"int","comment":"the value to store"}],"argline":"git_config *cfg, const char *name, int value","sig":"git_config *::const char *::int","return":{"type":"int","comment":"GIT_SUCCESS on success; error code otherwise"},"description":"Set the value of a boolean config variable.","comments":"","group":"config"},"git_config_set_string":{"type":"function","file":"config.h","line":254,"lineto":254,"args":[{"name":"cfg","type":"git_config *","comment":"where to look for the variable"},{"name":"name","type":"const char *","comment":"the variable's name"},{"name":"value","type":"const char *","comment":"the string to store."}],"argline":"git_config *cfg, const char *name, const char *value","sig":"git_config *::const char *::const char *","return":{"type":"int","comment":"GIT_SUCCESS on success; error code otherwise"},"description":"Set the value of a string config variable.","comments":"A copy of the string is made and the user is free to use it\nafterwards.\n","group":"config"},"git_config_delete":{"type":"function","file":"config.h","line":262,"lineto":262,"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"},"description":"Delete a config variable","comments":"","group":"config"},"git_config_foreach":{"type":"function","file":"config.h","line":277,"lineto":280,"args":[{"name":"cfg","type":"git_config *","comment":"where to get the variables from"},{"name":"callback","type":"int (*)(const char *var_name, const char *value, void *payload)","comment":"the function to call on each variable"},{"name":"payload","type":"void *","comment":"the data to pass to the callback"}],"argline":"git_config *cfg,\n\tint (*callback)(const char *var_name, const char *value, void *payload),\n\tvoid *payload","sig":"git_config *::int (*)(const char *var_name, const char *value, void *payload)::void *","return":{"type":"int","comment":"GIT_SUCCESS or the return value of the callback which didn't return 0"},"description":"Perform an operation on each config variable.","comments":"The callback receives the normalized name and value of each variable\nin the config backend, and the data pointer passed to this function.\nAs soon as one of the callback functions returns something other than 0,\nthis function returns that value.\n","group":"config"},"git_blob_lookup":{"type":"function","file":"blob.h","line":50,"lineto":53,"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 on success; error code otherwise"},"description":"Lookup a blob object from a repository.","comments":"","group":"blob","examples":{"general.c":["ex/v0.14.0/general.html#git_blob_lookup-6"]}},"git_blob_lookup_prefix":{"type":"function","file":"blob.h","line":67,"lineto":70,"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 on success; error code otherwise"},"description":"Lookup a blob object from a repository,\ngiven a prefix of its identifier (short id).","comments":"@see git_object_lookup_prefix\n","group":"blob"},"git_blob_close":{"type":"function","file":"blob.h","line":83,"lineto":86,"args":[{"name":"blob","type":"git_blob *","comment":"the blob to close"}],"argline":"git_blob *blob","sig":"git_blob *","return":{"type":"void"},"description":"Close an open blob","comments":"This is a wrapper around git_object_close()\n\nIMPORTANT:\nIt *is* necessary to call this method when you stop\nusing a blob. Failure to do so will cause a memory leak.\n","group":"blob"},"git_blob_rawcontent":{"type":"function","file":"blob.h","line":101,"lineto":101,"args":[{"name":"blob","type":"git_blob *","comment":"pointer to the blob"}],"argline":"git_blob *blob","sig":"git_blob *","return":{"type":"const void *","comment":"the pointer; NULL if the blob has no contents"},"description":"Get a read-only buffer with the raw content of a blob.","comments":"A pointer to the raw content of a blob is returned;\nthis pointer is owned internally by the object and shall\nnot be free'd. The pointer may be invalidated at a later\ntime.\n","group":"blob","examples":{"general.c":["ex/v0.14.0/general.html#git_blob_rawcontent-7"]}},"git_blob_rawsize":{"type":"function","file":"blob.h","line":109,"lineto":109,"args":[{"name":"blob","type":"git_blob *","comment":"pointer to the blob"}],"argline":"git_blob *blob","sig":"git_blob *","return":{"type":"int","comment":"size on bytes"},"description":"Get the size in bytes of the contents of a blob","comments":"","group":"blob","examples":{"general.c":["ex/v0.14.0/general.html#git_blob_rawsize-8","ex/v0.14.0/general.html#git_blob_rawsize-9"]}},"git_blob_create_fromfile":{"type":"function","file":"blob.h","line":122,"lineto":122,"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. this repository cannot be bare"},{"name":"path","type":"const char *","comment":"file from which the blob will be created, relative 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 on success; error code otherwise"},"description":"Read a file from the working folder of a repository\nand write it to the Object Database as a loose blob","comments":"","group":"blob"},"git_blob_create_frombuffer":{"type":"function","file":"blob.h","line":134,"lineto":134,"args":[{"name":"oid","type":"git_oid *","comment":"return the oid of the written blob"},{"name":"repo","type":"git_repository *","comment":"repository where to blob will be written"},{"name":"buffer","type":"const void *","comment":"data to be written into the blob"},{"name":"len","type":"size_t","comment":"length of the data"}],"argline":"git_oid *oid, git_repository *repo, const void *buffer, size_t len","sig":"git_oid *::git_repository *::const void *::size_t","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Write an in-memory buffer to the ODB as a blob","comments":"","group":"blob"},"git_index_open":{"type":"function","file":"index.h","line":129,"lineto":129,"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 on success; error code otherwise"},"description":"Create a new bare Git index object as a memory representation\nof the Git index file in 'index_path', without a repository\nto back it.","comments":"Since there is no ODB or working directory behind this index,\nany Index methods which rely on these (e.g. index_add) will\nfail with the GIT_EBAREINDEX error code.\n\nIf you need to access the index of an actual repository,\nuse the `git_repository_index` wrapper.\n\nThe index must be freed once it's no longer in use.\n","group":"index"},"git_index_clear":{"type":"function","file":"index.h","line":138,"lineto":138,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"void"},"description":"Clear the contents (all the entries) of an index object.\nThis clears the index object in memory; changes must be manually\nwritten to disk for them to take effect.","comments":"","group":"index"},"git_index_free":{"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":"void"},"description":"Free an existing index object.","comments":"","group":"index","examples":{"showindex.c":["ex/v0.14.0/showindex.html#git_index_free-1"],"general.c":["ex/v0.14.0/general.html#git_index_free-10"]}},"git_index_read":{"type":"function","file":"index.h","line":154,"lineto":154,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"int","comment":"0 on success, otherwise an error code"},"description":"Update the contents of an existing index object in memory\nby reading from the hard disk.","comments":"","group":"index","examples":{"showindex.c":["ex/v0.14.0/showindex.html#git_index_read-2"]}},"git_index_write":{"type":"function","file":"index.h","line":163,"lineto":163,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"int","comment":"0 on success, otherwise an error code"},"description":"Write an existing index object from memory back to disk\nusing an atomic file lock.","comments":"","group":"index"},"git_index_find":{"type":"function","file":"index.h","line":173,"lineto":173,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"},{"name":"path","type":"const char *","comment":"path to search"}],"argline":"git_index *index, const char *path","sig":"git_index *::const char *","return":{"type":"int","comment":"an index >= 0 if found, -1 otherwise"},"description":"Find the first index of any entries which point to given\npath in the Git index.","comments":"","group":"index"},"git_index_uniq":{"type":"function","file":"index.h","line":180,"lineto":180,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"void"},"description":"Remove all entries with equal path except last added","comments":"","group":"index"},"git_index_add":{"type":"function","file":"index.h","line":195,"lineto":195,"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 on success, otherwise an error code"},"description":"Add or update an index entry from a file in disk","comments":"The file `path` must be relative to the repository's\nworking folder and must be readable.\n\nThis method will fail in bare index instances.\n","group":"index"},"git_index_add2":{"type":"function","file":"index.h","line":207,"lineto":207,"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 on success, otherwise an error code"},"description":"Add or update an index entry from an in-memory struct","comments":"A full copy (including the 'path' string) of the given\n'source_entry' will be inserted on the index.\n","group":"index"},"git_index_append":{"type":"function","file":"index.h","line":226,"lineto":226,"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 on success, otherwise an error code"},"description":"Add (append) an index entry from a file in disk","comments":"A new entry will always be inserted into the index;\nif the index already contains an entry for such\npath, the old entry will **not** be replaced.\n\nThe file `path` must be relative to the repository's\nworking folder and must be readable.\n\nThis method will fail in bare index instances.\n","group":"index"},"git_index_append2":{"type":"function","file":"index.h","line":243,"lineto":243,"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 on success, otherwise an error code"},"description":"Add (append) an index entry from an in-memory struct","comments":"A new entry will always be inserted into the index;\nif the index already contains an entry for the path\nin the `entry` struct, the old entry will **not** be\nreplaced.\n\nA full copy (including the 'path' string) of the given\n'source_entry' will be inserted on the index.\n","group":"index"},"git_index_remove":{"type":"function","file":"index.h","line":252,"lineto":252,"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 on success, otherwise an error code"},"description":"Remove an entry from the index","comments":"","group":"index"},"git_index_get":{"type":"function","file":"index.h","line":267,"lineto":267,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"},{"name":"n","type":"unsigned int","comment":"the position of the entry"}],"argline":"git_index *index, unsigned int n","sig":"git_index *::unsigned int","return":{"type":"git_index_entry *","comment":"a pointer to the entry; NULL if out of bounds"},"description":"Get a pointer to one of the entries in the index","comments":"This entry can be modified, and the changes will be written\nback to disk on the next write() call.\n\nThe entry should not be freed by the caller.\n","group":"index","examples":{"showindex.c":["ex/v0.14.0/showindex.html#git_index_get-3"],"general.c":["ex/v0.14.0/general.html#git_index_get-11"]}},"git_index_entrycount":{"type":"function","file":"index.h","line":275,"lineto":275,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"unsigned int","comment":"integer of count of current entries"},"description":"Get the count of entries currently in the index","comments":"","group":"index","examples":{"showindex.c":["ex/v0.14.0/showindex.html#git_index_entrycount-4"],"general.c":["ex/v0.14.0/general.html#git_index_entrycount-12"]}},"git_index_entrycount_unmerged":{"type":"function","file":"index.h","line":283,"lineto":283,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"unsigned int","comment":"integer of count of current unmerged entries"},"description":"Get the count of unmerged entries currently in the index","comments":"","group":"index"},"git_index_get_unmerged_bypath":{"type":"function","file":"index.h","line":295,"lineto":295,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"},{"name":"path","type":"const char *","comment":"path to search"}],"argline":"git_index *index, const char *path","sig":"git_index *::const char *","return":{"type":"const git_index_entry_unmerged *","comment":"the unmerged entry; NULL if not found"},"description":"Get an unmerged entry from the index.","comments":"The returned entry is read-only and should not be modified\nof freed by the caller.\n","group":"index"},"git_index_get_unmerged_byindex":{"type":"function","file":"index.h","line":307,"lineto":307,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"},{"name":"n","type":"unsigned int","comment":"the position of the entry"}],"argline":"git_index *index, unsigned int n","sig":"git_index *::unsigned int","return":{"type":"const git_index_entry_unmerged *","comment":"a pointer to the unmerged entry; NULL if out of bounds"},"description":"Get an unmerged entry from the index.","comments":"The returned entry is read-only and should not be modified\nof freed by the caller.\n","group":"index"},"git_index_entry_stage":{"type":"function","file":"index.h","line":320,"lineto":320,"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"},"description":"Return the stage number from a git index entry","comments":"This entry is calculated from the entrie's flag\nattribute like this:\n\n(entry->flags & GIT_IDXENTRY_STAGEMASK) >> GIT_IDXENTRY_STAGESHIFT\n","group":"index"},"git_repository_open":{"type":"function","file":"repository.h","line":64,"lineto":64,"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 on success; error code otherwise"},"description":"Open a git repository.","comments":"The 'path' argument must point to an existing git repository\nfolder, e.g.\n\n\t/path/to/my_repo/.git/\t(normal repository)\n\t\t\t\t\t\tobjects/\n\t\t\t\t\t\tindex\n\t\t\t\t\t\tHEAD\n\n\t/path/to/bare_repo/\t\t(bare repository)\n\t\t\t\t\tobjects/\n\t\t\t\t\tindex\n\t\t\t\t\tHEAD\n\nThe method will automatically detect if 'path' is a normal\nor bare repository or fail is 'path' is neither.\n","group":"repository","examples":{"showindex.c":["ex/v0.14.0/showindex.html#git_repository_open-5"],"general.c":["ex/v0.14.0/general.html#git_repository_open-13"]}},"git_repository_open2":{"type":"function","file":"repository.h","line":93,"lineto":97,"args":[{"name":"repository","type":"git_repository **","comment":"pointer to the repo which will be opened"},{"name":"git_dir","type":"const char *","comment":"The full path to the repository folder e.g. a '.git' folder for live repos, any folder for bare Equivalent to $GIT_DIR. Cannot be NULL."},{"name":"git_object_directory","type":"const char *","comment":"The full path to the ODB folder. the folder where all the loose and packed objects are stored Equivalent to $GIT_OBJECT_DIRECTORY. If NULL, \"$GIT_DIR/objects/\" is assumed."},{"name":"git_index_file","type":"const char *","comment":"The full path to the index (dircache) file Equivalent to $GIT_INDEX_FILE. If NULL, \"$GIT_DIR/index\" is assumed."},{"name":"git_work_tree","type":"const char *","comment":"The full path to the working tree of the repository, if the repository is not bare. Equivalent to $GIT_WORK_TREE. If NULL, the repository is assumed to be bare."}],"argline":"git_repository **repository,\n\t\tconst char *git_dir,\n\t\tconst char *git_object_directory,\n\t\tconst char *git_index_file,\n\t\tconst char *git_work_tree","sig":"git_repository **::const char *::const char *::const char *::const char *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Open a git repository by manually specifying all its paths","comments":"","group":"repository"},"git_repository_open3":{"type":"function","file":"repository.h","line":128,"lineto":132,"args":[{"name":"repository","type":"git_repository **","comment":"pointer to the repo which will be opened"},{"name":"git_dir","type":"const char *","comment":"The full path to the repository folder e.g. a '.git' folder for live repos, any folder for bare Equivalent to $GIT_DIR. Cannot be NULL."},{"name":"object_database","type":"git_odb *","comment":"A pointer to a git_odb created & initialized by the user (e.g. with custom backends). This object database will be owned by the repository and will be automatically free'd. It should not be manually free'd by the user, or this git_repository object will become invalid."},{"name":"git_index_file","type":"const char *","comment":"The full path to the index (dircache) file Equivalent to $GIT_INDEX_FILE. If NULL, \"$GIT_DIR/index\" is assumed."},{"name":"git_work_tree","type":"const char *","comment":"The full path to the working tree of the repository, if the repository is not bare. Equivalent to $GIT_WORK_TREE. If NULL, the repository is assumed to be bare."}],"argline":"git_repository **repository,\n\t\tconst char *git_dir,\n\t\tgit_odb *object_database,\n\t\tconst char *git_index_file,\n\t\tconst char *git_work_tree","sig":"git_repository **::const char *::git_odb *::const char *::const char *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Open a git repository by manually specifying its paths and\nthe object database it will use.","comments":"","group":"repository"},"git_repository_discover":{"type":"function","file":"repository.h","line":161,"lineto":161,"args":[{"name":"repository_path","type":"char *","comment":"The user allocated buffer which will contain the found path."},{"name":"size","type":"size_t","comment":"repository_path size"},{"name":"start_path","type":"const char *","comment":"The base path where the lookup starts."},{"name":"across_fs","type":"int","comment":"If true, then the lookup will not stop when a filesystem device change is detected while exploring parent directories."},{"name":"ceiling_dirs","type":"const char *","comment":"A GIT_PATH_LIST_SEPARATOR separated list of absolute symbolic link free paths. The lookup will stop when any of this paths is reached. Note that the lookup always performs on start_path no matter start_path appears in ceiling_dirs ceiling_dirs might be NULL (which is equivalent to an empty string)"}],"argline":"char *repository_path, size_t size, const char *start_path, int across_fs, const char *ceiling_dirs","sig":"char *::size_t::const char *::int::const char *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Look for a git repository and copy its path in the given buffer. The lookup start\nfrom base_path and walk across parent directories if nothing has been found. The\nlookup ends when the first repository is found, or when reaching a directory\nreferenced in ceiling_dirs or when the filesystem changes (in case across_fs\nis true).","comments":"The method will automatically detect if the repository is bare (if there is\na repository).\n","group":"repository"},"git_repository_database":{"type":"function","file":"repository.h","line":169,"lineto":169,"args":[{"name":"repo","type":"git_repository *","comment":"a repository object"}],"argline":"git_repository *repo","sig":"git_repository *","return":{"type":"git_odb *","comment":"a pointer to the object db"},"description":"Get the object database behind a Git repository","comments":"","group":"repository","examples":{"general.c":["ex/v0.14.0/general.html#git_repository_database-14"]}},"git_repository_index":{"type":"function","file":"repository.h","line":189,"lineto":189,"args":[{"name":"index","type":"git_index **","comment":"Pointer where to store the index"},{"name":"repo","type":"git_repository *","comment":"a repository object"}],"argline":"git_index **index, git_repository *repo","sig":"git_index **::git_repository *","return":{"type":"int","comment":"0 on success; error code if the index could not be opened"},"description":"Open the Index file of a Git repository","comments":"This returns a new and unique `git_index` object representing the\nactive index for the repository.\n\nThis method may be called more than once (e.g. on different threads).\n\nEach returned `git_index` object is independent and suffers no race\nconditions: synchronization is done at the FS level.\n\nEach returned `git_index` object must be manually freed by the user,\nusing `git_index_free`.\n","group":"repository","examples":{"showindex.c":["ex/v0.14.0/showindex.html#git_repository_index-6"],"general.c":["ex/v0.14.0/general.html#git_repository_index-15"]}},"git_repository_free":{"type":"function","file":"repository.h","line":202,"lineto":202,"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"},"description":"Free a previously allocated repository","comments":"Note that after a repository is free'd, all the objects it has spawned\nwill still exist until they are manually closed by the user\nwith `git_object_close`, but accessing any of the attributes of\nan object without a backing repository will result in undefined\nbehavior\n","group":"repository","examples":{"showindex.c":["ex/v0.14.0/showindex.html#git_repository_free-7"],"general.c":["ex/v0.14.0/general.html#git_repository_free-16"]}},"git_repository_init":{"type":"function","file":"repository.h","line":219,"lineto":219,"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","comment":"if true, a Git repository without a working directory is created at the pointed path. If false, provided path will be considered as the working directory into which the .git directory will be created."}],"argline":"git_repository **repo_out, const char *path, unsigned is_bare","sig":"git_repository **::const char *::unsigned","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Creates a new Git repository in the given folder.","comments":"TODO:\n- Reinit the repository\n- Create config files\n","group":"repository"},"git_repository_head_detached":{"type":"function","file":"repository.h","line":231,"lineto":231,"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 was an error."},"description":"Check if a repository's HEAD is detached","comments":"A repository's HEAD is detached when it points directly to a commit\ninstead of a branch.\n","group":"repository"},"git_repository_head_orphan":{"type":"function","file":"repository.h","line":243,"lineto":243,"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 code if therewas an error"},"description":"Check if the current branch is an orphan","comments":"An orphan branch is one named from HEAD but which doesn't exist in\nthe refs namespace, because it doesn't have any commit to point to.\n","group":"repository"},"git_repository_is_empty":{"type":"function","file":"repository.h","line":255,"lineto":255,"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 if the repository is corrupted"},"description":"Check if a repository is empty","comments":"An empty repository has just been initialized and contains\nno commits.\n","group":"repository"},"git_repository_path":{"type":"function","file":"repository.h","line":282,"lineto":282,"args":[{"name":"repo","type":"git_repository *","comment":"a repository object"},{"name":"id","type":"git_repository_pathid","comment":"The ID of the path to return"}],"argline":"git_repository *repo, git_repository_pathid id","sig":"git_repository *::git_repository_pathid","return":{"type":"const char *","comment":"absolute path of the requested id"},"description":"Get one of the paths to the repository","comments":"Possible values for `id`:\n\nGIT_REPO_PATH: return the path to the repository\nGIT_REPO_PATH_INDEX: return the path to the index\nGIT_REPO_PATH_ODB: return the path to the ODB\nGIT_REPO_PATH_WORKDIR: return the path to the working\n\tdirectory\n","group":"repository"},"git_repository_is_bare":{"type":"function","file":"repository.h","line":290,"lineto":290,"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 otherwise."},"description":"Check if a repository is bare","comments":"","group":"repository"},"git_repository_config":{"type":"function","file":"repository.h","line":325,"lineto":328,"args":[{"name":"out","type":"git_config **","comment":"the repository's configuration"},{"name":"repo","type":"git_repository *","comment":"the repository for which to get the config"},{"name":"user_config_path","type":"const char *","comment":"Path to the user config file"},{"name":"system_config_path","type":"const char *","comment":"Path to the system-wide config file"}],"argline":"git_config **out,\n\tgit_repository *repo,\n\tconst char *user_config_path,\n\tconst char *system_config_path","sig":"git_config **::git_repository *::const char *::const char *","return":{"type":"int"},"description":"Retrieve the relevant configuration for a repository","comments":"By default he returned `git_config` instance contains a single\nconfiguration file, the `.gitconfig' file that may be found\ninside the repository.\n\nIf the `user_config_path` variable is not NULL, the given config\nfile will be also included in the configuration set. On most UNIX\nsystems, this file may be found on `$HOME/.gitconfig`.\n\nIf the `system_config_path` variable is not NULL, the given config\nfile will be also included in the configuration set. On most UNIX\nsystems, this file may be found on `$PREFIX/etc/gitconfig`.\n\nThe resulting `git_config` instance will query the files in the following\norder:\n\n- Repository configuration file\n- User configuration file\n- System configuration file\n\nThe method will fail if any of the passed config files cannot be\nfound or accessed.\n\nThe returned `git_config` instance is owned by the caller and must\nbe manually free'd once it's no longer on use.\n","group":"repository"},"git_tag_lookup":{"type":"function","file":"tag.h","line":50,"lineto":53,"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 on success; error code otherwise"},"description":"Lookup a tag object from the repository.","comments":"","group":"tag","examples":{"general.c":["ex/v0.14.0/general.html#git_tag_lookup-17"]}},"git_tag_lookup_prefix":{"type":"function","file":"tag.h","line":67,"lineto":70,"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 on success; error code otherwise"},"description":"Lookup a tag object from the repository,\ngiven a prefix of its identifier (short id).","comments":"@see git_object_lookup_prefix\n","group":"tag"},"git_tag_close":{"type":"function","file":"tag.h","line":83,"lineto":86,"args":[{"name":"tag","type":"git_tag *","comment":"the tag to close"}],"argline":"git_tag *tag","sig":"git_tag *","return":{"type":"void"},"description":"Close an open tag","comments":"This is a wrapper around git_object_close()\n\nIMPORTANT:\nIt *is* necessary to call this method when you stop\nusing a tag. Failure to do so will cause a memory leak.\n","group":"tag"},"git_tag_id":{"type":"function","file":"tag.h","line":96,"lineto":96,"args":[{"name":"tag","type":"git_tag *","comment":"a previously loaded tag."}],"argline":"git_tag *tag","sig":"git_tag *","return":{"type":"const git_oid *","comment":"object identity for the tag."},"description":"Get the id of a tag.","comments":"","group":"tag"},"git_tag_target":{"type":"function","file":"tag.h","line":108,"lineto":108,"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 on success; error code otherwise"},"description":"Get the tagged object of a tag","comments":"This method performs a repository lookup for the\ngiven object and returns it\n","group":"tag","examples":{"general.c":["ex/v0.14.0/general.html#git_tag_target-18"]}},"git_tag_target_oid":{"type":"function","file":"tag.h","line":116,"lineto":116,"args":[{"name":"tag","type":"git_tag *","comment":"a previously loaded tag."}],"argline":"git_tag *tag","sig":"git_tag *","return":{"type":"const git_oid *","comment":"pointer to the OID"},"description":"Get the OID of the tagged object of a tag","comments":"","group":"tag"},"git_tag_type":{"type":"function","file":"tag.h","line":124,"lineto":124,"args":[{"name":"tag","type":"git_tag *","comment":"a previously loaded tag."}],"argline":"git_tag *tag","sig":"git_tag *","return":{"type":"git_otype","comment":"type of the tagged object"},"description":"Get the type of a tag's tagged object","comments":"","group":"tag","examples":{"general.c":["ex/v0.14.0/general.html#git_tag_type-19"]}},"git_tag_name":{"type":"function","file":"tag.h","line":132,"lineto":132,"args":[{"name":"tag","type":"git_tag *","comment":"a previously loaded tag."}],"argline":"git_tag *tag","sig":"git_tag *","return":{"type":"const char *","comment":"name of the tag"},"description":"Get the name of a tag","comments":"","group":"tag","examples":{"general.c":["ex/v0.14.0/general.html#git_tag_name-20"]}},"git_tag_tagger":{"type":"function","file":"tag.h","line":140,"lineto":140,"args":[{"name":"tag","type":"git_tag *","comment":"a previously loaded tag."}],"argline":"git_tag *tag","sig":"git_tag *","return":{"type":"const git_signature *","comment":"reference to the tag's author"},"description":"Get the tagger (author) of a tag","comments":"","group":"tag"},"git_tag_message":{"type":"function","file":"tag.h","line":148,"lineto":148,"args":[{"name":"tag","type":"git_tag *","comment":"a previously loaded tag."}],"argline":"git_tag *tag","sig":"git_tag *","return":{"type":"const char *","comment":"message of the tag"},"description":"Get the message of a tag","comments":"","group":"tag","examples":{"general.c":["ex/v0.14.0/general.html#git_tag_message-21"]}},"git_tag_create":{"type":"function","file":"tag.h","line":183,"lineto":190,"args":[{"name":"oid","type":"git_oid *","comment":"Pointer where to store the OID of the newly created tag. If the tag already exists, this parameter will be the oid of the existing tag, and the function will 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 for consistency. It should also not conflict with an already existing tag name"},{"name":"target","type":"const git_object *","comment":"Object to which this tag points. This object must belong to the given `repo`."},{"name":"tagger","type":"const git_signature *","comment":"Signature of the tagger for this tag, and 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,\n\t\tgit_repository *repo,\n\t\tconst char *tag_name,\n\t\tconst git_object *target,\n\t\tconst git_signature *tagger,\n\t\tconst char *message,\n\t\tint force","sig":"git_oid *::git_repository *::const char *::const git_object *::const git_signature *::const char *::int","return":{"type":"int","comment":"0 on success; error code otherwise. A tag object is written to the ODB, and a proper reference is written in the /refs/tags folder, pointing to it"},"description":"Create a new tag in the repository from an object","comments":"A new reference will also be created pointing to\nthis tag object. If `force` is true and a reference\nalready exists with the given name, it'll be replaced.\n","group":"tag"},"git_tag_create_frombuffer":{"type":"function","file":"tag.h","line":201,"lineto":205,"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,\n\t\tgit_repository *repo,\n\t\tconst char *buffer,\n\t\tint force","sig":"git_oid *::git_repository *::const char *::int","return":{"type":"int","comment":"0 on sucess; error code otherwise"},"description":"Create a new tag in the repository from a buffer","comments":"","group":"tag"},"git_tag_create_lightweight":{"type":"function","file":"tag.h","line":234,"lineto":239,"args":[{"name":"oid","type":"git_oid *","comment":"Pointer where to store the OID of the provided target object. If the tag already exists, this parameter will be filled with the oid of the existing pointed object 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 for consistency. It should also not conflict with an already existing tag name"},{"name":"target","type":"const git_object *","comment":"Object to which this tag points. This object must belong to the given `repo`."},{"name":"force","type":"int","comment":"Overwrite existing references"}],"argline":"git_oid *oid,\n\t\tgit_repository *repo,\n\t\tconst char *tag_name,\n\t\tconst git_object *target,\n\t\tint force","sig":"git_oid *::git_repository *::const char *::const git_object *::int","return":{"type":"int","comment":"0 on success; error code otherwise. A proper reference is written in the /refs/tags folder, pointing to the provided target object"},"description":"Create a new lightweight tag pointing at a target object","comments":"A new direct reference will be created pointing to\nthis target object. If `force` is true and a reference\nalready exists with the given name, it'll be replaced.\n","group":"tag"},"git_tag_delete":{"type":"function","file":"tag.h","line":251,"lineto":253,"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; this name is validated for consistency."}],"argline":"git_repository *repo,\n\t\tconst char *tag_name","sig":"git_repository *::const char *","return":{"type":"int","comment":"0 on success; error code otherwise."},"description":"Delete an existing tag reference.","comments":"","group":"tag"},"git_tag_list":{"type":"function","file":"tag.h","line":268,"lineto":270,"args":[{"name":"tag_names","type":"git_strarray *","comment":"Pointer to a git_strarray structure where the tag names will be stored"},{"name":"repo","type":"git_repository *","comment":"Repository where to find the tags"}],"argline":"git_strarray *tag_names,\n\t\tgit_repository *repo","sig":"git_strarray *::git_repository *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Fill a list with all the tags in the Repository","comments":"The string array will be filled with the names of the\nmatching tags; these values are owned by the user and\nshould be free'd manually when no longer needed, using\n`git_strarray_free`.\n","group":"tag"},"git_tag_list_match":{"type":"function","file":"tag.h","line":290,"lineto":293,"args":[{"name":"tag_names","type":"git_strarray *","comment":"Pointer to a git_strarray structure where the 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,\n\t\tconst char *pattern,\n\t\tgit_repository *repo","sig":"git_strarray *::const char *::git_repository *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Fill a list with all the tags in the Repository\nwhich name match a defined pattern","comments":"If an empty pattern is provided, all the tags\nwill be returned.\n\nThe string array will be filled with the names of the\nmatching tags; these values are owned by the user and\nshould be free'd manually when no longer needed, using\n`git_strarray_free`.\n","group":"tag"},"git_commit_lookup":{"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 an 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 on success; error code otherwise"},"description":"Lookup a commit object from a repository.","comments":"","group":"commit","examples":{"general.c":["ex/v0.14.0/general.html#git_commit_lookup-22","ex/v0.14.0/general.html#git_commit_lookup-23","ex/v0.14.0/general.html#git_commit_lookup-24"]}},"git_commit_lookup_prefix":{"type":"function","file":"commit.h","line":69,"lineto":72,"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 an annotated tag it will be peeled back to the commit."},{"name":"len","type":"unsigned","comment":"the length of the short identifier"}],"argline":"git_commit **commit, git_repository *repo, const git_oid *id, unsigned len","sig":"git_commit **::git_repository *::const git_oid *::unsigned","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Lookup a commit object from a repository,\ngiven a prefix of its identifier (short id).","comments":"@see git_object_lookup_prefix\n","group":"commit"},"git_commit_close":{"type":"function","file":"commit.h","line":85,"lineto":88,"args":[{"name":"commit","type":"git_commit *","comment":"the commit to close"}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"void"},"description":"Close an open commit","comments":"This is a wrapper around git_object_close()\n\nIMPORTANT:\nIt *is* necessary to call this method when you stop\nusing a commit. Failure to do so will cause a memory leak.\n","group":"commit","examples":{"general.c":["ex/v0.14.0/general.html#git_commit_close-25","ex/v0.14.0/general.html#git_commit_close-26","ex/v0.14.0/general.html#git_commit_close-27","ex/v0.14.0/general.html#git_commit_close-28"]}},"git_commit_id":{"type":"function","file":"commit.h","line":97,"lineto":97,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"const git_oid *","comment":"object identity for the commit."},"description":"Get the id of a commit.","comments":"","group":"commit","examples":{"general.c":["ex/v0.14.0/general.html#git_commit_id-29"]}},"git_commit_message_short":{"type":"function","file":"commit.h","line":105,"lineto":105,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"const char *","comment":"the short message of a commit"},"description":"Get the short (one line) message of a commit.","comments":"","group":"commit","examples":{"general.c":["ex/v0.14.0/general.html#git_commit_message_short-30","ex/v0.14.0/general.html#git_commit_message_short-31"]}},"git_commit_message":{"type":"function","file":"commit.h","line":113,"lineto":113,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"const char *","comment":"the message of a commit"},"description":"Get the full message of a commit.","comments":"","group":"commit","examples":{"general.c":["ex/v0.14.0/general.html#git_commit_message-32"]}},"git_commit_time":{"type":"function","file":"commit.h","line":121,"lineto":121,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"git_time_t","comment":"the time of a commit"},"description":"Get the commit time (i.e. committer time) of a commit.","comments":"","group":"commit","examples":{"general.c":["ex/v0.14.0/general.html#git_commit_time-33","ex/v0.14.0/general.html#git_commit_time-34"]}},"git_commit_time_offset":{"type":"function","file":"commit.h","line":129,"lineto":129,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"int","comment":"positive or negative timezone offset, in minutes from UTC"},"description":"Get the commit timezone offset (i.e. committer's preferred timezone) of a commit.","comments":"","group":"commit"},"git_commit_committer":{"type":"function","file":"commit.h","line":137,"lineto":137,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"const git_signature *","comment":"the committer of a commit"},"description":"Get the committer of a commit.","comments":"","group":"commit","examples":{"general.c":["ex/v0.14.0/general.html#git_commit_committer-35"]}},"git_commit_author":{"type":"function","file":"commit.h","line":145,"lineto":145,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"const git_signature *","comment":"the author of a commit"},"description":"Get the author of a commit.","comments":"","group":"commit","examples":{"general.c":["ex/v0.14.0/general.html#git_commit_author-36","ex/v0.14.0/general.html#git_commit_author-37"]}},"git_commit_tree":{"type":"function","file":"commit.h","line":154,"lineto":154,"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 on success; error code otherwise"},"description":"Get the tree pointed to by a commit.","comments":"","group":"commit"},"git_commit_tree_oid":{"type":"function","file":"commit.h","line":164,"lineto":164,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"const git_oid *","comment":"the id of tree pointed to by commit."},"description":"Get the id of the tree pointed to by a commit. This differs from\n`git_commit_tree` in that no attempts are made to fetch an object\nfrom the ODB.","comments":"","group":"commit"},"git_commit_parentcount":{"type":"function","file":"commit.h","line":172,"lineto":172,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"unsigned int","comment":"integer of count of parents"},"description":"Get the number of parents of this commit","comments":"","group":"commit","examples":{"general.c":["ex/v0.14.0/general.html#git_commit_parentcount-38"]}},"git_commit_parent":{"type":"function","file":"commit.h","line":182,"lineto":182,"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 on success; error code otherwise"},"description":"Get the specified parent of the commit.","comments":"","group":"commit","examples":{"general.c":["ex/v0.14.0/general.html#git_commit_parent-39"]}},"git_commit_parent_oid":{"type":"function","file":"commit.h","line":193,"lineto":193,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."},{"name":"n","type":"unsigned int","comment":"the position of the parent (from 0 to `parentcount`)"}],"argline":"git_commit *commit, unsigned int n","sig":"git_commit *::unsigned int","return":{"type":"const git_oid *","comment":"the id of the parent, NULL on error."},"description":"Get the oid of a specified parent for a commit. This is different from\n`git_commit_parent`, which will attempt to load the parent commit from\nthe ODB.","comments":"","group":"commit"},"git_commit_create":{"type":"function","file":"commit.h","line":233,"lineto":242,"args":[{"name":"oid","type":"git_oid *","comment":"Pointer where to store the OID of the newly 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 will be updated to point to this commit. If the reference is not direct, it will be resolved to a direct reference. Use \"HEAD\" to update the HEAD of the current branch and make it point to this commit"},{"name":"author","type":"const git_signature *","comment":"Signature representing the author and the authory time of this commit"},{"name":"committer","type":"const git_signature *","comment":"Signature representing the committer and the commit time of this commit"},{"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 be used as the tree for the commit. This tree object must also be owned by the given `repo`."},{"name":"parent_count","type":"int","comment":"Number of parents for this commit"}],"argline":"git_oid *oid,\n\t\tgit_repository *repo,\n\t\tconst char *update_ref,\n\t\tconst git_signature *author,\n\t\tconst git_signature *committer,\n\t\tconst char *message,\n\t\tconst git_tree *tree,\n\t\tint parent_count,\n\t\tconst git_commit *parents[]","sig":"git_oid *::git_repository *::const char *::const git_signature *::const git_signature *::const char *::const git_tree *::int","return":{"type":"int","comment":"0 on success; error code otherwise The created commit will be written to the Object Database and the given reference will be updated to point to it"},"description":"Create a new commit in the repository using `git_object`\ninstances as parameters.","comments":"","group":"commit"},"git_commit_create_v":{"type":"function","file":"commit.h","line":257,"lineto":266,"args":[{"name":"oid","type":"git_oid *"},{"name":"repo","type":"git_repository *"},{"name":"update_ref","type":"const char *"},{"name":"author","type":"const git_signature *"},{"name":"committer","type":"const git_signature *"},{"name":"message","type":"const char *"},{"name":"tree","type":"const git_tree *"},{"name":"parent_count","type":"int"}],"argline":"git_oid *oid,\n\t\tgit_repository *repo,\n\t\tconst char *update_ref,\n\t\tconst git_signature *author,\n\t\tconst git_signature *committer,\n\t\tconst char *message,\n\t\tconst git_tree *tree,\n\t\tint parent_count,\n\t\t...","sig":"git_oid *::git_repository *::const char *::const git_signature *::const git_signature *::const char *::const git_tree *::int","return":{"type":"int"},"description":"Create a new commit in the repository using a variable\nargument list.","comments":"The parents for the commit are specified as a variable\nlist of pointers to `const git_commit *`. Note that this\nis a convenience method which may not be safe to export\nfor certain languages or compilers\n\nAll other parameters remain the same\n\n@see git_commit_create","group":"commit","examples":{"general.c":["ex/v0.14.0/general.html#git_commit_create_v-40"]}},"git_remote_get":{"type":"function","file":"remote.h","line":57,"lineto":57,"args":[{"name":"out","type":"struct git_remote **","comment":"pointer to the new remote object"},{"name":"cfg","type":"struct git_config *","comment":"the repository's configuration"},{"name":"name","type":"const char *","comment":"the remote's name"}],"argline":"struct git_remote **out, struct git_config *cfg, const char *name","sig":"struct git_remote **::struct git_config *::const char *","return":{"type":"int","comment":"0 on success; error value otherwise"},"description":"Get the information for a particular remote","comments":"","group":"remote"},"git_remote_name":{"type":"function","file":"remote.h","line":65,"lineto":65,"args":[{"name":"remote","type":"struct git_remote *","comment":"the remote"}],"argline":"struct git_remote *remote","sig":"struct git_remote *","return":{"type":"const char *","comment":"a pointer to the name"},"description":"Get the remote's name","comments":"","group":"remote"},"git_remote_url":{"type":"function","file":"remote.h","line":73,"lineto":73,"args":[{"name":"remote","type":"struct git_remote *","comment":"the remote"}],"argline":"struct git_remote *remote","sig":"struct git_remote *","return":{"type":"const char *","comment":"a pointer to the url"},"description":"Get the remote's url","comments":"","group":"remote"},"git_remote_fetchspec":{"type":"function","file":"remote.h","line":81,"lineto":81,"args":[{"name":"remote","type":"struct git_remote *","comment":"the remote"}],"argline":"struct git_remote *remote","sig":"struct git_remote *","return":{"type":"const git_refspec *","comment":"a pointer to the fetch refspec or NULL if it doesn't exist"},"description":"Get the fetch refspec","comments":"","group":"remote"},"git_remote_pushspec":{"type":"function","file":"remote.h","line":89,"lineto":89,"args":[{"name":"remote","type":"struct git_remote *","comment":"the remote"}],"argline":"struct git_remote *remote","sig":"struct git_remote *","return":{"type":"const git_refspec *","comment":"a pointer to the push refspec or NULL if it doesn't exist"},"description":"Get the push refspec","comments":"","group":"remote"},"git_remote_connect":{"type":"function","file":"remote.h","line":100,"lineto":100,"args":[{"name":"remote","type":"struct git_remote *","comment":"the remote to connect to"},{"name":"direction","type":"int"}],"argline":"struct git_remote *remote, int direction","sig":"struct git_remote *::int","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Open a connection to a remote","comments":"The transport is selected based on the URL\n","group":"remote"},"git_remote_ls":{"type":"function","file":"remote.h","line":111,"lineto":111,"args":[{"name":"remote","type":"git_remote *","comment":"the remote"},{"name":"refs","type":"git_headarray *","comment":"where to store the refs"}],"argline":"git_remote *remote, git_headarray *refs","sig":"git_remote *::git_headarray *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Get a list of refs at the remote","comments":"The remote (or more exactly its transport) must be connected.\n","group":"remote"},"git_remote_free":{"type":"function","file":"remote.h","line":118,"lineto":122,"args":[{"name":"remote","type":"struct git_remote *","comment":"the remote to free"}],"argline":"struct git_remote *remote","sig":"struct git_remote *","return":{"type":"void"},"description":"Free the memory associated with a remote","comments":"","group":"remote"},"deflateBound":{"type":"function","file":"zlib.h","line":50,"lineto":54,"args":[{"name":"stream","type":"z_streamp","comment":"the stream pointer."},{"name":"s","type":"size_t","comment":"tream the stream pointer."}],"argline":"z_streamp stream, size_t s","sig":"z_streamp::size_t","return":{"type":"size_t","comment":"maximum length of the compressed data."},"description":"deflateBound returns an upper bound on the compressed size.","comments":"This is a stub function used when zlib does not supply the\ndeflateBound() implementation itself.\n","group":"zlib"},"git_tree_lookup":{"type":"function","file":"tree.h","line":50,"lineto":53,"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 on success; error code otherwise"},"description":"Lookup a tree object from the repository.","comments":"","group":"tree","examples":{"general.c":["ex/v0.14.0/general.html#git_tree_lookup-41","ex/v0.14.0/general.html#git_tree_lookup-42"]}},"git_tree_lookup_prefix":{"type":"function","file":"tree.h","line":67,"lineto":70,"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 on success; error code otherwise"},"description":"Lookup a tree object from the repository,\ngiven a prefix of its identifier (short id).","comments":"@see git_object_lookup_prefix\n","group":"tree"},"git_tree_close":{"type":"function","file":"tree.h","line":83,"lineto":86,"args":[{"name":"tree","type":"git_tree *","comment":"the tree to close"}],"argline":"git_tree *tree","sig":"git_tree *","return":{"type":"void"},"description":"Close an open tree","comments":"This is a wrapper around git_object_close()\n\nIMPORTANT:\nIt *is* necessary to call this method when you stop\nusing a tree. Failure to do so will cause a memory leak.\n","group":"tree"},"git_tree_id":{"type":"function","file":"tree.h","line":96,"lineto":96,"args":[{"name":"tree","type":"git_tree *","comment":"a previously loaded tree."}],"argline":"git_tree *tree","sig":"git_tree *","return":{"type":"const git_oid *","comment":"object identity for the tree."},"description":"Get the id of a tree.","comments":"","group":"tree"},"git_tree_entrycount":{"type":"function","file":"tree.h","line":104,"lineto":104,"args":[{"name":"tree","type":"git_tree *","comment":"a previously loaded tree."}],"argline":"git_tree *tree","sig":"git_tree *","return":{"type":"unsigned int","comment":"the number of entries in the tree"},"description":"Get the number of entries listed in a tree","comments":"","group":"tree","examples":{"general.c":["ex/v0.14.0/general.html#git_tree_entrycount-43"]}},"git_tree_entry_byname":{"type":"function","file":"tree.h","line":113,"lineto":113,"args":[{"name":"tree","type":"git_tree *","comment":"a previously loaded tree."},{"name":"filename","type":"const char *","comment":"the filename of the desired entry"}],"argline":"git_tree *tree, const char *filename","sig":"git_tree *::const char *","return":{"type":"const git_tree_entry *","comment":"the tree entry; NULL if not found"},"description":"Lookup a tree entry by its filename","comments":"","group":"tree","examples":{"general.c":["ex/v0.14.0/general.html#git_tree_entry_byname-44"]}},"git_tree_entry_byindex":{"type":"function","file":"tree.h","line":122,"lineto":122,"args":[{"name":"tree","type":"git_tree *","comment":"a previously loaded tree."},{"name":"idx","type":"unsigned int","comment":"the position in the entry list"}],"argline":"git_tree *tree, unsigned int idx","sig":"git_tree *::unsigned int","return":{"type":"const git_tree_entry *","comment":"the tree entry; NULL if not found"},"description":"Lookup a tree entry by its position in the tree","comments":"","group":"tree","examples":{"general.c":["ex/v0.14.0/general.html#git_tree_entry_byindex-45"]}},"git_tree_entry_attributes":{"type":"function","file":"tree.h","line":130,"lineto":130,"args":[{"name":"entry","type":"const git_tree_entry *","comment":"a tree entry"}],"argline":"const git_tree_entry *entry","sig":"const git_tree_entry *","return":{"type":"unsigned int","comment":"attributes as an integer"},"description":"Get the UNIX file attributes of a tree entry","comments":"","group":"tree"},"git_tree_entry_name":{"type":"function","file":"tree.h","line":138,"lineto":138,"args":[{"name":"entry","type":"const git_tree_entry *","comment":"a tree entry"}],"argline":"const git_tree_entry *entry","sig":"const git_tree_entry *","return":{"type":"const char *","comment":"the name of the file"},"description":"Get the filename of a tree entry","comments":"","group":"tree","examples":{"general.c":["ex/v0.14.0/general.html#git_tree_entry_name-46","ex/v0.14.0/general.html#git_tree_entry_name-47"]}},"git_tree_entry_id":{"type":"function","file":"tree.h","line":146,"lineto":146,"args":[{"name":"entry","type":"const git_tree_entry *","comment":"a tree entry"}],"argline":"const git_tree_entry *entry","sig":"const git_tree_entry *","return":{"type":"const git_oid *","comment":"the oid of the object"},"description":"Get the id of the object pointed by the entry","comments":"","group":"tree"},"git_tree_entry_type":{"type":"function","file":"tree.h","line":154,"lineto":154,"args":[{"name":"entry","type":"const git_tree_entry *","comment":"a tree entry"}],"argline":"const git_tree_entry *entry","sig":"const git_tree_entry *","return":{"type":"git_otype","comment":"the type of the pointed object"},"description":"Get the type of the object pointed by the entry","comments":"","group":"tree"},"git_tree_entry_2object":{"type":"function","file":"tree.h","line":164,"lineto":164,"args":[{"name":"object_out","type":"git_object **"},{"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 on success; error code otherwise"},"description":"Convert a tree entry to the git_object it points too.","comments":"","group":"tree","examples":{"general.c":["ex/v0.14.0/general.html#git_tree_entry_2object-48"]}},"git_tree_create_fromindex":{"type":"function","file":"tree.h","line":182,"lineto":182,"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 on success; error code otherwise"},"description":"Write a tree to the ODB from the index file","comments":"This method will scan the index and write a representation\nof its current state back to disk; it recursively creates\ntree objects for each of the subtrees stored in the index,\nbut only returns the OID of the root tree. This is the OID\nthat can be used e.g. to create a commit.\n\nThe index instance cannot be bare, and needs to be associated\nto an existing repository.\n","group":"tree"},"git_treebuilder_create":{"type":"function","file":"tree.h","line":201,"lineto":201,"args":[{"name":"builder_p","type":"git_treebuilder **","comment":"Pointer where to store the tree builder"},{"name":"source","type":"const git_tree *","comment":"Source tree to initialize the builder (optional)"}],"argline":"git_treebuilder **builder_p, const git_tree *source","sig":"git_treebuilder **::const git_tree *","return":{"type":"int","comment":"0 on sucess; error code otherwise"},"description":"Create a new tree builder.","comments":"The tree builder can be used to create or modify\ntrees in memory and write them as tree objects to the\ndatabase.\n\nIf the `source` parameter is not NULL, the tree builder\nwill be initialized with the entries of the given tree.\n\nIf the `source` parameter is NULL, the tree builder will\nhave no entries and will have to be filled manually.\n","group":"treebuilder"},"git_treebuilder_clear":{"type":"function","file":"tree.h","line":208,"lineto":208,"args":[{"name":"bld","type":"git_treebuilder *","comment":"Builder to clear"}],"argline":"git_treebuilder *bld","sig":"git_treebuilder *","return":{"type":"void"},"description":"Clear all the entires in the builder","comments":"","group":"treebuilder"},"git_treebuilder_free":{"type":"function","file":"tree.h","line":219,"lineto":219,"args":[{"name":"bld","type":"git_treebuilder *","comment":"Builder to free"}],"argline":"git_treebuilder *bld","sig":"git_treebuilder *","return":{"type":"void"},"description":"Free a tree builder","comments":"This will clear all the entries and free to builder.\nFailing to free the builder after you're done using it\nwill result in a memory leak\n","group":"treebuilder"},"git_treebuilder_get":{"type":"function","file":"tree.h","line":231,"lineto":231,"args":[{"name":"bld","type":"git_treebuilder *","comment":"Tree builder"},{"name":"filename","type":"const char *","comment":"Name of the entry"}],"argline":"git_treebuilder *bld, const char *filename","sig":"git_treebuilder *::const char *","return":{"type":"const git_tree_entry *","comment":"pointer to the entry; NULL if not found"},"description":"Get an entry from the builder from its filename","comments":"The returned entry is owned by the builder and should\nnot be freed manually.\n","group":"treebuilder"},"git_treebuilder_insert":{"type":"function","file":"tree.h","line":252,"lineto":252,"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 on success; error code otherwise"},"description":"Add or update an entry to the builder","comments":"Insert a new entry for `filename` in the builder with the\ngiven attributes.\n\nif an entry named `filename` already exists, its attributes\nwill be updated with the given ones.\n\nThe optional pointer `entry_out` can be used to retrieve a\npointer to the newly created/updated entry.\n","group":"treebuilder"},"git_treebuilder_remove":{"type":"function","file":"tree.h","line":260,"lineto":260,"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"},"description":"Remove an entry from the builder by its filename","comments":"","group":"treebuilder"},"git_treebuilder_filter":{"type":"function","file":"tree.h","line":273,"lineto":273,"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 *"}],"argline":"git_treebuilder *bld, int (*filter)(const git_tree_entry *, void *), void *payload","sig":"git_treebuilder *::int (*)(const git_tree_entry *, void *)::void *","return":{"type":"void"},"description":"Filter the entries in the tree","comments":"The `filter` callback will be called for each entry\nin the tree with a pointer to the entry and the\nprovided `payload`: if the callback returns 1, the\nentry will be filtered (removed from the builder).\n","group":"treebuilder"},"git_treebuilder_write":{"type":"function","file":"tree.h","line":287,"lineto":287,"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 on success; error code otherwise"},"description":"Write the contents of the tree builder as a tree object","comments":"The tree builder will be written to the given `repo`, and\nit's identifying SHA1 hash will be stored in the `oid`\npointer.\n","group":"treebuilder"},"git_transport_new":{"type":"function","file":"transport.h","line":46,"lineto":54,"args":[{"name":"transport","type":"git_transport **"},{"name":"url","type":"const char *","comment":"the url of the repo"}],"argline":"git_transport **transport, const char *url","sig":"git_transport **::const char *","return":{"type":"int"},"description":"Get the appropriate transport for an URL.\n@param tranport the transport for the url\n@param url the url of the repo","comments":"","group":"transport"},"git_odb_new":{"type":"function","file":"odb.h","line":53,"lineto":53,"args":[{"name":"out","type":"git_odb **","comment":"location to store the database pointer, if opened. Set to NULL if the open failed."}],"argline":"git_odb **out","sig":"git_odb **","return":{"type":"int","comment":"GIT_SUCCESS if the database was created; otherwise an error code describing why the open was not possible."},"description":"Create a new object database with no backends.","comments":"Before the ODB can be used for read/writing, a custom database\nbackend must be manually added using `git_odb_add_backend()`\n","group":"odb"},"git_odb_open":{"type":"function","file":"odb.h","line":72,"lineto":72,"args":[{"name":"out","type":"git_odb **","comment":"location to store the database pointer, if opened. Set to NULL if the open failed."},{"name":"objects_dir","type":"const char *","comment":"path of the backends' \"objects\" directory."}],"argline":"git_odb **out, const char *objects_dir","sig":"git_odb **::const char *","return":{"type":"int","comment":"GIT_SUCCESS if the database opened; otherwise an error code describing why the open was not possible."},"description":"Create a new object database and automatically add\nthe two default backends:","comments":"- git_odb_backend_loose: read and write loose object files\n\tfrom disk, assuming `objects_dir` as the Objects folder\n\n- git_odb_backend_pack: read objects from packfiles,\n\tassuming `objects_dir` as the Objects folder which\n\tcontains a 'pack/' folder with the corresponding data\n","group":"odb"},"git_odb_add_backend":{"type":"function","file":"odb.h","line":87,"lineto":87,"args":[{"name":"odb","type":"git_odb *","comment":"database to add the backend to"},{"name":"backend","type":"git_odb_backend *","comment":"pointer to a git_odb_backend instance"},{"name":"priority","type":"int","comment":"Value for ordering the backends queue"}],"argline":"git_odb *odb, git_odb_backend *backend, int priority","sig":"git_odb *::git_odb_backend *::int","return":{"type":"int","comment":"0 on sucess; error code otherwise"},"description":"Add a custom backend to an existing Object DB","comments":"The backends are checked in relative ordering, based on the\nvalue of the `priority` parameter.\n\nRead <odb_backends.h> for more information.\n","group":"odb"},"git_odb_add_alternate":{"type":"function","file":"odb.h","line":108,"lineto":108,"args":[{"name":"odb","type":"git_odb *","comment":"database to add the backend to"},{"name":"backend","type":"git_odb_backend *","comment":"pointer to a git_odb_backend instance"},{"name":"priority","type":"int","comment":"Value for ordering the backends queue"}],"argline":"git_odb *odb, git_odb_backend *backend, int priority","sig":"git_odb *::git_odb_backend *::int","return":{"type":"int","comment":"0 on sucess; error code otherwise"},"description":"Add a custom backend to an existing Object DB; this\nbackend will work as an alternate.","comments":"Alternate backends are always checked for objects *after*\nall the main backends have been exhausted.\n\nThe backends are checked in relative ordering, based on the\nvalue of the `priority` parameter.\n\nWriting is disabled on alternate backends.\n\nRead <odb_backends.h> for more information.\n","group":"odb"},"git_odb_close":{"type":"function","file":"odb.h","line":115,"lineto":115,"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"},"description":"Close an open object database.","comments":"","group":"odb"},"git_odb_read":{"type":"function","file":"odb.h","line":134,"lineto":134,"args":[{"name":"out","type":"git_odb_object **","comment":"pointer where to store the read object"},{"name":"db","type":"git_odb *","comment":"database to search for the object in."},{"name":"id","type":"const git_oid *","comment":"identity of the object to read."}],"argline":"git_odb_object **out, git_odb *db, const git_oid *id","sig":"git_odb_object **::git_odb *::const git_oid *","return":{"type":"int","comment":"- GIT_SUCCESS if the object was read; - GIT_ENOTFOUND if the object is not in the database."},"description":"Read an object from the database.","comments":"This method queries all available ODB backends\ntrying to read the given OID.\n\nThe returned object is reference counted and\ninternally cached, so it should be closed\nby the user once it's no longer in use.\n","group":"odb","examples":{"general.c":["ex/v0.14.0/general.html#git_odb_read-49"]}},"git_odb_read_prefix":{"type":"function","file":"odb.h","line":162,"lineto":162,"args":[{"name":"out","type":"git_odb_object **","comment":"pointer where to store the read object"},{"name":"db","type":"git_odb *","comment":"database to search for the object in."},{"name":"short_id","type":"const git_oid *","comment":"a prefix of the id of the object to read."},{"name":"len","type":"unsigned int","comment":"the length of the prefix"}],"argline":"git_odb_object **out, git_odb *db, const git_oid *short_id, unsigned int len","sig":"git_odb_object **::git_odb *::const git_oid *::unsigned int","return":{"type":"int","comment":"GIT_SUCCESS if the object was read; GIT_ENOTFOUND if the object is not in the database. GIT_EAMBIGUOUS if the prefix is ambiguous (several objects match the prefix)"},"description":"Read an object from the database, given a prefix\nof its identifier.","comments":"This method queries all available ODB backends\ntrying to match the 'len' first hexadecimal\ncharacters of the 'short_id'.\nThe remaining (GIT_OID_HEXSZ-len)*4 bits of\n'short_id' must be 0s.\n'len' must be at least GIT_OID_MINPREFIXLEN,\nand the prefix must be long enough to identify\na unique object in all the backends; the\nmethod will fail otherwise.\n\nThe returned object is reference counted and\ninternally cached, so it should be closed\nby the user once it's no longer in use.\n","group":"odb"},"git_odb_read_header":{"type":"function","file":"odb.h","line":182,"lineto":182,"args":[{"name":"len_p","type":"size_t *","comment":"pointer where to store the length"},{"name":"type_p","type":"git_otype *","comment":"pointer where to store the type"},{"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":"size_t *len_p, git_otype *type_p, git_odb *db, const git_oid *id","sig":"size_t *::git_otype *::git_odb *::const git_oid *","return":{"type":"int","comment":"- GIT_SUCCESS if the object was read; - GIT_ENOTFOUND if the object is not in the database."},"description":"Read the header of an object from the database, without\nreading its full contents.","comments":"The header includes the length and the type of an object.\n\nNote that most backends do not support reading only the header\nof an object, so the whole object will be read and then the\nheader will be returned.\n","group":"odb"},"git_odb_exists":{"type":"function","file":"odb.h","line":193,"lineto":193,"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 - 0, otherwise"},"description":"Determine if the given object can be found in the object database.","comments":"","group":"odb"},"git_odb_write":{"type":"function","file":"odb.h","line":213,"lineto":213,"args":[{"name":"oid","type":"git_oid *","comment":"pointer to store the OID result of the write"},{"name":"odb","type":"git_odb *","comment":"object database where to store the object"},{"name":"data","type":"const void *","comment":"buffer with the data to storr"},{"name":"len","type":"size_t","comment":"size of the buffer"},{"name":"type","type":"git_otype","comment":"type of the data to store"}],"argline":"git_oid *oid, git_odb *odb, const void *data, size_t len, git_otype type","sig":"git_oid *::git_odb *::const void *::size_t::git_otype","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Write an object directly into the ODB","comments":"This method writes a full object straight into the ODB.\nFor most cases, it is preferred to write objects through a write\nstream, which is both faster and less memory intensive, specially\nfor big objects.\n\nThis method is provided for compatibility with custom backends\nwhich are not able to support streaming writes\n","group":"odb","examples":{"general.c":["ex/v0.14.0/general.html#git_odb_write-50"]}},"git_odb_open_wstream":{"type":"function","file":"odb.h","line":242,"lineto":242,"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 write"},{"name":"size","type":"size_t","comment":"final size of the object that will be written"},{"name":"type","type":"git_otype","comment":"type of the object that will be written"}],"argline":"git_odb_stream **stream, git_odb *db, size_t size, git_otype type","sig":"git_odb_stream **::git_odb *::size_t::git_otype","return":{"type":"int","comment":"0 if the stream was created; error code otherwise"},"description":"Open a stream to write an object into the ODB","comments":"The type and final length of the object must be specified\nwhen opening the stream.\n\nThe returned stream will be of type `GIT_STREAM_WRONLY` and\nwill have the following methods:\n\n\t- stream->write: write `n` bytes into the stream\n\t- stream->finalize_write: close the stream and store the object in\n\t\tthe odb\n\t- stream->free: free the stream\n\nThe streaming write won't be effective until `stream->finalize_write`\nis called and returns without an error\n\nThe stream must always be free'd or will leak memory.\n\n@see git_odb_stream\n","group":"odb"},"git_odb_open_rstream":{"type":"function","file":"odb.h","line":268,"lineto":268,"args":[{"name":"stream","type":"git_odb_stream **","comment":"pointer where to store the stream"},{"name":"db","type":"git_odb *","comment":"object database where the stream will read from"},{"name":"oid","type":"const git_oid *","comment":"oid of the object the stream will read from"}],"argline":"git_odb_stream **stream, git_odb *db, const git_oid *oid","sig":"git_odb_stream **::git_odb *::const git_oid *","return":{"type":"int","comment":"0 if the stream was created; error code otherwise"},"description":"Open a stream to read an object from the ODB","comments":"Note that most backends do *not* support streaming reads\nbecause they store their objects as compressed/delta'ed blobs.\n\nIt's recommended to use `git_odb_read` instead, which is\nassured to work on all backends.\n\nThe returned stream will be of type `GIT_STREAM_RDONLY` and\nwill have the following methods:\n\n\t- stream->read: read `n` bytes from the stream\n\t- stream->free: free the stream\n\nThe stream must always be free'd or will leak memory.\n\n@see git_odb_stream\n","group":"odb"},"git_odb_hash":{"type":"function","file":"odb.h","line":282,"lineto":282,"args":[{"name":"id","type":"git_oid *","comment":"the resulting object-ID."},{"name":"data","type":"const void *","comment":"data to hash"},{"name":"len","type":"size_t","comment":"size of the data"},{"name":"type","type":"git_otype","comment":"of the data to hash"}],"argline":"git_oid *id, const void *data, size_t len, git_otype type","sig":"git_oid *::const void *::size_t::git_otype","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Determine the object-ID (sha1 hash) of a data buffer","comments":"The resulting SHA-1 OID will the itentifier for the data\nbuffer as if the data buffer it were to written to the ODB.\n","group":"odb"},"git_odb_hashfile":{"type":"function","file":"odb.h","line":295,"lineto":295,"args":[{"name":"out","type":"git_oid *","comment":"oid structure the result is written into."},{"name":"path","type":"const char *","comment":"file to read and determine object id for"},{"name":"type","type":"git_otype","comment":"the type of the object that will be hashed"}],"argline":"git_oid *out, const char *path, git_otype type","sig":"git_oid *::const char *::git_otype","return":{"type":"int","comment":"GIT_SUCCESS if valid; error code otherwise"},"description":"Read a file from disk and fill a git_oid with the object id\nthat the file would have if it were written to the Object\nDatabase as an object of the given type. Similar functionality\nto git.git's `git hash-object` without the `-w` flag.","comments":"","group":"odb"},"git_odb_object_close":{"type":"function","file":"odb.h","line":305,"lineto":305,"args":[{"name":"object","type":"git_odb_object *","comment":"object to close"}],"argline":"git_odb_object *object","sig":"git_odb_object *","return":{"type":"void"},"description":"Close an ODB object","comments":"This method must always be called once a `git_odb_object` is no\nlonger needed, otherwise memory will leak.\n","group":"odb","examples":{"general.c":["ex/v0.14.0/general.html#git_odb_object_close-51"]}},"git_odb_object_id":{"type":"function","file":"odb.h","line":315,"lineto":315,"args":[{"name":"object","type":"git_odb_object *","comment":"the object"}],"argline":"git_odb_object *object","sig":"git_odb_object *","return":{"type":"const git_oid *","comment":"a pointer to the OID"},"description":"Return the OID of an ODB object","comments":"This is the OID from which the object was read from\n","group":"odb"},"git_odb_object_data":{"type":"function","file":"odb.h","line":328,"lineto":328,"args":[{"name":"object","type":"git_odb_object *","comment":"the object"}],"argline":"git_odb_object *object","sig":"git_odb_object *","return":{"type":"const void *","comment":"a pointer to the data"},"description":"Return the data of an ODB object","comments":"This is the uncompressed, raw data as read from the ODB,\nwithout the leading header.\n\nThis pointer is owned by the object and shall not be free'd.\n","group":"odb","examples":{"general.c":["ex/v0.14.0/general.html#git_odb_object_data-52"]}},"git_odb_object_size":{"type":"function","file":"odb.h","line":339,"lineto":339,"args":[{"name":"object","type":"git_odb_object *","comment":"the object"}],"argline":"git_odb_object *object","sig":"git_odb_object *","return":{"type":"size_t","comment":"the size"},"description":"Return the size of an ODB object","comments":"This is the real size of the `data` buffer, not the\nactual size of the object.\n","group":"odb","examples":{"general.c":["ex/v0.14.0/general.html#git_odb_object_size-53"]}},"git_odb_object_type":{"type":"function","file":"odb.h","line":347,"lineto":347,"args":[{"name":"object","type":"git_odb_object *","comment":"the object"}],"argline":"git_odb_object *object","sig":"git_odb_object *","return":{"type":"git_otype","comment":"the type"},"description":"Return the type of an ODB object","comments":"","group":"odb","examples":{"general.c":["ex/v0.14.0/general.html#git_odb_object_type-54"]}},"git_oid_fromstr":{"type":"function","file":"oid.h","line":65,"lineto":65,"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 the hex sequence and have at least the number of bytes needed for an oid encoded in hex (40 bytes)."}],"argline":"git_oid *out, const char *str","sig":"git_oid *::const char *","return":{"type":"int","comment":"GIT_SUCCESS if valid; GIT_ENOTOID on failure."},"description":"Parse a hex formatted object id into a git_oid.","comments":"","group":"oid","examples":{"general.c":["ex/v0.14.0/general.html#git_oid_fromstr-55","ex/v0.14.0/general.html#git_oid_fromstr-56","ex/v0.14.0/general.html#git_oid_fromstr-57","ex/v0.14.0/general.html#git_oid_fromstr-58","ex/v0.14.0/general.html#git_oid_fromstr-59","ex/v0.14.0/general.html#git_oid_fromstr-60","ex/v0.14.0/general.html#git_oid_fromstr-61","ex/v0.14.0/general.html#git_oid_fromstr-62"]}},"git_oid_fromstrn":{"type":"function","file":"oid.h","line":78,"lineto":78,"args":[{"name":"out","type":"git_oid *","comment":"oid structure the result is written into."},{"name":"str","type":"const char *","comment":"input hex string of at least size `length`"},{"name":"length","type":"size_t","comment":"length of the input string"}],"argline":"git_oid *out, const char *str, size_t length","sig":"git_oid *::const char *::size_t","return":{"type":"int","comment":"GIT_SUCCESS if valid; GIT_ENOTOID on failure."},"description":"Parse N characters of a hex formatted object id into a git_oid","comments":"If N is odd, N-1 characters will be parsed instead.\nThe remaining space in the git_oid will be set to zero.\n","group":"oid"},"git_oid_fromraw":{"type":"function","file":"oid.h","line":86,"lineto":86,"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"},"description":"Copy an already raw oid into a git_oid structure.","comments":"","group":"oid"},"git_oid_fmt":{"type":"function","file":"oid.h","line":98,"lineto":98,"args":[{"name":"str","type":"char *","comment":"output hex string; must be pointing at the start of the hex sequence and have at least the number of bytes needed for an oid encoded in hex (40 bytes). Only the oid digits are written; a '\\\\0' terminator must be added by 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"},"description":"Format a git_oid into a hex string.","comments":"","group":"oid","examples":{"showindex.c":["ex/v0.14.0/showindex.html#git_oid_fmt-8"],"general.c":["ex/v0.14.0/general.html#git_oid_fmt-63","ex/v0.14.0/general.html#git_oid_fmt-64","ex/v0.14.0/general.html#git_oid_fmt-65","ex/v0.14.0/general.html#git_oid_fmt-66","ex/v0.14.0/general.html#git_oid_fmt-67"]}},"git_oid_pathfmt":{"type":"function","file":"oid.h","line":113,"lineto":113,"args":[{"name":"str","type":"char *","comment":"output hex string; must be pointing at the start of the hex sequence and have at least the number of bytes needed for an oid encoded in hex (41 bytes). Only the oid digits are written; a '\\\\0' terminator must be added by 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"},"description":"Format a git_oid into a loose-object path string.","comments":"The resulting string is \"aa/...\", where \"aa\" is the first two\nhex digitis of the oid and \"...\" is the remaining 38 digits.\n","group":"oid"},"git_oid_allocfmt":{"type":"function","file":"oid.h","line":122,"lineto":122,"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 deallocate the string with free()."},"description":"Format a git_oid into a newly allocated c-string.","comments":"","group":"oid"},"git_oid_to_string":{"type":"function","file":"oid.h","line":139,"lineto":139,"args":[{"name":"out","type":"char *","comment":"the buffer into which the oid string is output."},{"name":"n","type":"size_t","comment":"the size of the out buffer."},{"name":"oid","type":"const git_oid *","comment":"the oid structure to format."}],"argline":"char *out, size_t n, const git_oid *oid","sig":"char *::size_t::const git_oid *","return":{"type":"char *","comment":"the out buffer pointer, assuming no input parameter errors, otherwise a pointer to an empty string."},"description":"Format a git_oid into a buffer as a hex format c-string.","comments":"If the buffer is smaller than GIT_OID_HEXSZ+1, then the resulting\noid c-string will be truncated to n-1 characters. If there are\nany input parameter errors (out == NULL, n == 0, oid == NULL),\nthen a pointer to an empty string is returned, so that the return\nvalue can always be printed.\n","group":"oid"},"git_oid_cpy":{"type":"function","file":"oid.h","line":147,"lineto":147,"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"},"description":"Copy an oid from one structure to another.","comments":"","group":"oid"},"git_oid_cmp":{"type":"function","file":"oid.h","line":156,"lineto":156,"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":"<0, 0, >0 if a < b, a == b, a > b."},"description":"Compare two oid structures.","comments":"","group":"oid"},"git_oid_ncmp":{"type":"function","file":"oid.h","line":167,"lineto":167,"args":[{"name":"a","type":"const git_oid *","comment":"first oid structure."},{"name":"b","type":"const git_oid *","comment":"second oid structure."},{"name":"len","type":"unsigned int","comment":"the number of hex chars to compare"}],"argline":"const git_oid *a, const git_oid *b, unsigned int len","sig":"const git_oid *::const git_oid *::unsigned int","return":{"type":"int","comment":"0 in case of a match"},"description":"Compare the first 'len' hexadecimal characters (packets of 4 bits)\nof two oid structures.","comments":"","group":"oid"},"git_oid_shorten_new":{"type":"function","file":"oid.h","line":188,"lineto":188,"args":[{"name":"min_length","type":"size_t","comment":"The minimal length for all identifiers, which will be used even if shorter OIDs would still be unique."}],"argline":"size_t min_length","sig":"size_t","return":{"type":"git_oid_shorten *","comment":"a `git_oid_shorten` instance, NULL if OOM"},"description":"Create a new OID shortener.","comments":"The OID shortener is used to process a list of OIDs\nin text form and return the shortest length that would\nuniquely identify all of them.\n\nE.g. look at the result of `git log --abbrev`.\n","group":"oid"},"git_oid_shorten_add":{"type":"function","file":"oid.h","line":214,"lineto":214,"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 added so far to the set; or an error code (<0) if an error occurs."},"description":"Add a new OID to set of shortened OIDs and calculate\nthe minimal length to uniquely identify all the OIDs in\nthe set.","comments":"The OID is expected to be a 40-char hexadecimal string.\nThe OID is owned by the user and will not be modified\nor freed.\n\nFor performance reasons, there is a hard-limit of how many\nOIDs can be added to a single set (around ~22000, assuming\na mostly randomized distribution), which should be enough\nfor any kind of program, and keeps the algorithm fast and\nmemory-efficient.\n\nAttempting to add more than those OIDs will result in a\nGIT_ENOMEM error\n","group":"oid"},"git_oid_shorten_free":{"type":"function","file":"oid.h","line":221,"lineto":221,"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"},"description":"Free an OID shortener instance","comments":"","group":"oid"},"git_lasterror":{"type":"function","file":"errors.h","line":141,"lineto":141,"args":[],"argline":"void","sig":"","return":{"type":"const char *","comment":"a string explaining the error"},"description":"Return a detailed error string with the latest error\nthat occurred in the library.\n@return a string explaining the error","comments":"","group":"errors"},"git_strerror":{"type":"function","file":"errors.h","line":153,"lineto":153,"args":[{"name":"num","type":"int","comment":"The error code to explain"}],"argline":"int num","sig":"int","return":{"type":"const char *","comment":"a string explaining the error code"},"description":"strerror() for the Git library","comments":"Get a string description for a given error code.\nNOTE: This method will be eventually deprecated in favor\nof the new `git_lasterror`.\n","group":"errors"},"git_clearerror":{"type":"function","file":"errors.h","line":158,"lineto":158,"args":[],"argline":"void","sig":"","return":{"type":"void"},"description":"Clear the latest library error","comments":"","group":"errors"},"git_revwalk_new":{"type":"function","file":"revwalk.h","line":88,"lineto":88,"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 on success; error code otherwise"},"description":"Allocate a new revision walker to iterate through a repo.","comments":"This revision walker uses a custom memory pool and an internal\ncommit cache, so it is relatively expensive to allocate.\n\nFor maximum performance, this revision walker should be\nreused for different walks.\n\nThis revision walker is *not* thread safe: it may only be\nused to walk a repository on a single thread; however,\nit is possible to have several revision walkers in\nseveral different threads walking the same repository.\n","group":"revwalk","examples":{"general.c":["ex/v0.14.0/general.html#git_revwalk_new-68"]}},"git_revwalk_reset":{"type":"function","file":"revwalk.h","line":103,"lineto":103,"args":[{"name":"walker","type":"git_revwalk *","comment":"handle to reset."}],"argline":"git_revwalk *walker","sig":"git_revwalk *","return":{"type":"void"},"description":"Reset the revision walker for reuse.","comments":"This will clear all the pushed and hidden commits, and\nleave the walker in a blank state (just like at\ncreation) ready to receive new commit pushes and\nstart a new walk.\n\nThe revision walk is automatically reset when a walk\nis over.\n","group":"revwalk"},"git_revwalk_push":{"type":"function","file":"revwalk.h","line":120,"lineto":120,"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 on success; error code otherwise"},"description":"Mark a commit to start traversal from.","comments":"The given OID must belong to a commit on the walked\nrepository.\n\nThe given commit will be used as one of the roots\nwhen starting the revision walk. At least one commit\nmust be pushed the repository before a walk can\nbe started.\n","group":"revwalk","examples":{"general.c":["ex/v0.14.0/general.html#git_revwalk_push-69"]}},"git_revwalk_hide":{"type":"function","file":"revwalk.h","line":136,"lineto":136,"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 on success; error code otherwise"},"description":"Mark a commit (and its ancestors) uninteresting for the output.","comments":"The given OID must belong to a commit on the walked\nrepository.\n\nThe resolved commit and all its parents will be hidden from the\noutput on the revision walk.\n","group":"revwalk"},"git_revwalk_next":{"type":"function","file":"revwalk.h","line":156,"lineto":156,"args":[{"name":"oid","type":"git_oid *","comment":"Pointer where to store the oid of the next commit"},{"name":"walk","type":"git_revwalk *","comment":"the walker to pop the commit from."}],"argline":"git_oid *oid, git_revwalk *walk","sig":"git_oid *::git_revwalk *","return":{"type":"int","comment":"GIT_SUCCESS if the next commit was found; GIT_EREVWALKOVER if there are no commits left to iterate"},"description":"Get the next commit from the revision walk.","comments":"The initial call to this method is *not* blocking when\niterating through a repo with a time-sorting mode.\n\nIterating with Topological or inverted modes makes the initial\ncall blocking to preprocess the commit list, but this block should be\nmostly unnoticeable on most repositories (topological preprocessing\ntimes at 0.3s on the git.git repo).\n\nThe revision walker is reset when the walk is over.\n","group":"revwalk","examples":{"general.c":["ex/v0.14.0/general.html#git_revwalk_next-70"]}},"git_revwalk_sorting":{"type":"function","file":"revwalk.h","line":167,"lineto":167,"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"},"description":"Change the sorting mode when iterating through the\nrepository's contents.","comments":"Changing the sorting mode resets the walker.\n","group":"revwalk","examples":{"general.c":["ex/v0.14.0/general.html#git_revwalk_sorting-71"]}},"git_revwalk_free":{"type":"function","file":"revwalk.h","line":174,"lineto":174,"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"},"description":"Free a revision walker previously allocated.","comments":"","group":"revwalk","examples":{"general.c":["ex/v0.14.0/general.html#git_revwalk_free-72"]}},"git_revwalk_repository":{"type":"function","file":"revwalk.h","line":183,"lineto":183,"args":[{"name":"walk","type":"git_revwalk *","comment":"the revision walker"}],"argline":"git_revwalk *walk","sig":"git_revwalk *","return":{"type":"git_repository *","comment":"the repository being walked"},"description":"Return the repository on which this walker\nis operating.","comments":"","group":"revwalk"},"git_object_lookup":{"type":"function","file":"object.h","line":59,"lineto":63,"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,\n\t\tgit_repository *repo,\n\t\tconst git_oid *id,\n\t\tgit_otype type","sig":"git_object **::git_repository *::const git_oid *::git_otype","return":{"type":"int","comment":"a reference to the object"},"description":"Lookup a reference to one of the objects in a repostory.","comments":"The generated reference is owned by the repository and\nshould be closed with the `git_object_close` method\ninstead of free'd manually.\n\nThe 'type' parameter must match the type of the object\nin the odb; the method will fail otherwise.\nThe special value 'GIT_OBJ_ANY' may be passed to let\nthe method guess the object's type.\n","group":"object"},"git_object_lookup_prefix":{"type":"function","file":"object.h","line":92,"lineto":97,"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,\n\t\tgit_repository *repo,\n\t\tconst git_oid *id,\n\t\tunsigned int len,\n\t\tgit_otype type","sig":"git_object **::git_repository *::const git_oid *::unsigned int::git_otype","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Lookup a reference to one of the objects in a repostory,\ngiven a prefix of its identifier (short id).","comments":"The object obtained will be so that its identifier\nmatches the first 'len' hexadecimal characters\n(packets of 4 bits) of the given 'id'.\n'len' must be at least GIT_OID_MINPREFIXLEN, and\nlong enough to identify a unique object matching\nthe prefix; otherwise the method will fail.\n\nThe generated reference is owned by the repository and\nshould be closed with the `git_object_close` method\ninstead of free'd manually.\n\nThe 'type' parameter must match the type of the object\nin the odb; the method will fail otherwise.\nThe special value 'GIT_OBJ_ANY' may be passed to let\nthe method guess the object's type.\n","group":"object"},"git_object_id":{"type":"function","file":"object.h","line":105,"lineto":105,"args":[{"name":"obj","type":"const git_object *","comment":"the repository object"}],"argline":"const git_object *obj","sig":"const git_object *","return":{"type":"const git_oid *","comment":"the SHA1 id"},"description":"Get the id (SHA1) of a repository object","comments":"","group":"object"},"git_object_type":{"type":"function","file":"object.h","line":113,"lineto":113,"args":[{"name":"obj","type":"const git_object *","comment":"the repository object"}],"argline":"const git_object *obj","sig":"const git_object *","return":{"type":"git_otype","comment":"the object's type"},"description":"Get the object type of an object","comments":"","group":"object"},"git_object_owner":{"type":"function","file":"object.h","line":127,"lineto":127,"args":[{"name":"obj","type":"const git_object *","comment":"the object"}],"argline":"const git_object *obj","sig":"const git_object *","return":{"type":"git_repository *","comment":"the repository who owns this object"},"description":"Get the repository that owns this object","comments":"Freeing or calling `git_repository_close` on the\nreturned pointer will invalidate the actual object.\n\nAny other operation may be run on the repository without\naffecting the object.\n","group":"object"},"git_object_close":{"type":"function","file":"object.h","line":144,"lineto":144,"args":[{"name":"object","type":"git_object *","comment":"the object to close"}],"argline":"git_object *object","sig":"git_object *","return":{"type":"void"},"description":"Close an open object","comments":"This method instructs the library to close an existing\nobject; note that git_objects are owned and cached by the repository\nso the object may or may not be freed after this library call,\ndepending on how agressive is the caching mechanism used\nby the repository.\n\nIMPORTANT:\nIt *is* necessary to call this method when you stop using\nan object. Failure to do so will cause a memory leak.\n","group":"object","examples":{"general.c":["ex/v0.14.0/general.html#git_object_close-73"]}},"git_object_type2string":{"type":"function","file":"object.h","line":155,"lineto":155,"args":[{"name":"type","type":"git_otype","comment":"object type to convert."}],"argline":"git_otype type","sig":"git_otype","return":{"type":"const char *","comment":"the corresponding string representation."},"description":"Convert an object type to it's string representation.","comments":"The result is a pointer to a string in static memory and\nshould not be free()'ed.\n","group":"object","examples":{"general.c":["ex/v0.14.0/general.html#git_object_type2string-74"]}},"git_object_string2type":{"type":"function","file":"object.h","line":163,"lineto":163,"args":[{"name":"str","type":"const char *","comment":"the string to convert."}],"argline":"const char *str","sig":"const char *","return":{"type":"git_otype","comment":"the corresponding git_otype."},"description":"Convert a string object type representation to it's git_otype.","comments":"","group":"object"},"git_object_typeisloose":{"type":"function","file":"object.h","line":172,"lineto":172,"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, false otherwise."},"description":"Determine if the given git_otype is a valid loose object type.","comments":"","group":"object"},"git_object__size":{"type":"function","file":"object.h","line":186,"lineto":186,"args":[{"name":"type","type":"git_otype","comment":"object type to get its size"}],"argline":"git_otype type","sig":"git_otype","return":{"type":"size_t","comment":"size in bytes of the object"},"description":"Get the size in bytes for the structure which\nacts as an in-memory representation of any given\nobject type.","comments":"For all the core types, this would the equivalent\nof calling `sizeof(git_commit)` if the core types\nwere not opaque on the external API.\n","group":"object"},"git_reference_lookup":{"type":"function","file":"refs.h","line":52,"lineto":52,"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 on success; error code otherwise"},"description":"Lookup a reference by its name in a repository.","comments":"The generated reference is owned by the repository and\nshould not be freed by the user.\n","group":"reference","examples":{"general.c":["ex/v0.14.0/general.html#git_reference_lookup-75"]}},"git_reference_create_symbolic":{"type":"function","file":"refs.h","line":73,"lineto":73,"args":[{"name":"ref_out","type":"git_reference **","comment":"Pointer to the newly created reference"},{"name":"repo","type":"git_repository *","comment":"Repository where that reference will live"},{"name":"name","type":"const char *","comment":"The name of the reference"},{"name":"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 on success; error code otherwise"},"description":"Create a new symbolic reference.","comments":"The reference will be created in the repository and written\nto the disk.\n\nThis reference is owned by the repository and shall not\nbe free'd by the user.\n\nIf `force` is true and there already exists a reference\nwith the same name, it will be overwritten.\n","group":"reference"},"git_reference_create_oid":{"type":"function","file":"refs.h","line":94,"lineto":94,"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 on success; error code otherwise"},"description":"Create a new object id reference.","comments":"The reference will be created in the repository and written\nto the disk.\n\nThis reference is owned by the repository and shall not\nbe free'd by the user.\n\nIf `force` is true and there already exists a reference\nwith the same name, it will be overwritten.\n","group":"reference"},"git_reference_oid":{"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 git_oid *","comment":"a pointer to the oid if available, NULL otherwise"},"description":"Get the OID pointed to by a reference.","comments":"Only available if the reference is direct (i.e. not symbolic)\n","group":"reference","examples":{"general.c":["ex/v0.14.0/general.html#git_reference_oid-76"]}},"git_reference_target":{"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":"const char *","comment":"a pointer to the name if available, NULL otherwise"},"description":"Get full name to the reference pointed by this reference","comments":"Only available if the reference is symbolic\n","group":"reference","examples":{"general.c":["ex/v0.14.0/general.html#git_reference_target-77"]}},"git_reference_type":{"type":"function","file":"refs.h","line":124,"lineto":124,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"git_rtype","comment":"the type"},"description":"Get the type of a reference","comments":"Either direct (GIT_REF_OID) or symbolic (GIT_REF_SYMBOLIC)\n","group":"reference","examples":{"general.c":["ex/v0.14.0/general.html#git_reference_type-78"]}},"git_reference_name":{"type":"function","file":"refs.h","line":132,"lineto":132,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"const char *","comment":"the full name for the ref"},"description":"Get the full name of a reference","comments":"","group":"reference"},"git_reference_resolve":{"type":"function","file":"refs.h","line":147,"lineto":147,"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 on success; error code otherwise"},"description":"Resolve a symbolic reference","comments":"Thie method iteratively peels a symbolic reference\nuntil it resolves to a direct reference to an OID.\n\nIf a direct reference is passed as an argument,\nthat reference is returned immediately\n","group":"reference"},"git_reference_owner":{"type":"function","file":"refs.h","line":155,"lineto":155,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"git_repository *","comment":"a pointer to the repo"},"description":"Get the repository where a reference resides","comments":"","group":"reference"},"git_reference_set_target":{"type":"function","file":"refs.h","line":170,"lineto":170,"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 on success; error code otherwise"},"description":"Set the symbolic target of a reference.","comments":"The reference must be a symbolic reference, otherwise\nthis method will fail.\n\nThe reference will be automatically updated in\nmemory and on disk.\n","group":"reference"},"git_reference_set_oid":{"type":"function","file":"refs.h","line":185,"lineto":185,"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 on success; error code otherwise"},"description":"Set the OID target of a reference.","comments":"The reference must be a direct reference, otherwise\nthis method will fail.\n\nThe reference will be automatically updated in\nmemory and on disk.\n","group":"reference"},"git_reference_rename":{"type":"function","file":"refs.h","line":198,"lineto":198,"args":[{"name":"ref","type":"git_reference *"},{"name":"new_name","type":"const char *"},{"name":"force","type":"int"}],"argline":"git_reference *ref, const char *new_name, int force","sig":"git_reference *::const char *::int","return":{"type":"int"},"description":"Rename an existing reference","comments":"This method works for both direct and symbolic references.\nThe new name will be checked for validity and may be\nmodified into a normalized form.\n\nThe refernece will be immediately renamed in-memory\nand on disk.","group":"reference"},"git_reference_delete":{"type":"function","file":"refs.h","line":209,"lineto":209,"args":[{"name":"ref","type":"git_reference *"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"int"},"description":"Delete an existing reference","comments":"This method works for both direct and symbolic references.\n\nThe reference will be immediately removed on disk and from\nmemory. The given reference pointer will no longer be valid.","group":"reference"},"git_reference_packall":{"type":"function","file":"refs.h","line":227,"lineto":227,"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 on success; error code otherwise"},"description":"Pack all the loose references in the repository","comments":"This method will load into the cache all the loose\nreferences on the repository and update the\n`packed-refs` file with them.\n\nOnce the `packed-refs` file has been written properly,\nthe loose references will be removed from disk.\n\nWARNING: calling this method may invalidate any existing\nreferences previously loaded on the cache.\n","group":"reference"},"git_reference_listall":{"type":"function","file":"refs.h","line":250,"lineto":250,"args":[{"name":"array","type":"git_strarray *","comment":"Pointer to a git_strarray structure where the 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 listing."}],"argline":"git_strarray *array, git_repository *repo, unsigned int list_flags","sig":"git_strarray *::git_repository *::unsigned int","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Fill a list with all the references that can be found\nin a repository.","comments":"The listed references may be filtered by type, or using\na bitwise OR of several types. Use the magic value\n`GIT_REF_LISTALL` to obtain all references, including\npacked ones.\n\nThe string array will be filled with the names of all\nreferences; these values are owned by the user and\nshould be free'd manually when no longer needed, using\n`git_strarray_free`.\n","group":"reference","examples":{"general.c":["ex/v0.14.0/general.html#git_reference_listall-79"]}},"git_reference_foreach":{"type":"function","file":"refs.h","line":272,"lineto":272,"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 listing."},{"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 (*callback)(const char *, void *), void *payload","sig":"git_repository *::unsigned int::int (*)(const char *, void *)::void *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Perform an operation on each reference in the repository","comments":"The processed references may be filtered by type, or using\na bitwise OR of several types. Use the magic value\n`GIT_REF_LISTALL` to obtain all references, including\npacked ones.\n\nThe `callback` function will be called for each of the references\nin the repository, and will receive the name of the reference and\nthe `payload` value passed to this method.\n","group":"reference"}},"globals":{"GIT_BEGIN_DECL":{"value":"","file":"common.h","line":37,"comments":"Start declarations in C mode"},"GIT_END_DECL":{"value":"","file":"common.h","line":39,"comments":"End declarations in C mode"},"GIT_EXTERN(type)":{"value":"extern __attribute__((visibility(\"default\"))) type","file":"common.h","line":43,"comments":"Declare a public function exported for application use."},"GIT_EXTERN_TLS(type)":{"value":"extern __attribute__((visibility(\"default\"))) GIT_TLS type","file":"common.h","line":54,"comments":"Declare a public TLS symbol exported for application use."},"GIT_INLINE(type)":{"value":"static __inline type","file":"common.h","line":66,"comments":"Declare a function as always inlined."},"GIT_FORMAT_PRINTF(a,b)":{"value":"__attribute__((format (printf, a, b)))","file":"common.h","line":73,"comments":"Declare a function's takes printf style arguments."},"GIT_PATH_LIST_SEPARATOR":{"value":"';'","file":"common.h","line":98,"comments":"The separator used in path list strings (ie like in the PATH\nenvironment variable). A semi-colon \";\" is used on Windows, and\na colon \":\" for all other systems."},"GIT_PATH_MAX":{"value":"4096","file":"common.h","line":107,"comments":"The maximum length of a git valid git path."},"GIT_OID_RAWSZ":{"value":"20","file":"oid.h","line":41,"comments":"Size (in bytes) of a raw/binary oid"},"GIT_OID_HEXSZ":{"value":"(GIT_OID_RAWSZ * 2)","file":"oid.h","line":44,"comments":"Size (in bytes) of a hex formatted oid"},"GIT_OID_MINPREFIXLEN":{"value":"4","file":"oid.h","line":48,"comments":"Minimum length (in number of hex characters,\ni.e. packets of 4 bits) of an oid prefix"},"GIT_SORT_NONE":{"value":"(0)","file":"revwalk.h","line":47,"comments":"Sort the repository contents in no particular ordering;\nthis sorting is arbitrary, implementation-specific\nand subject to change at any time.\nThis is the default sorting for new walkers."},"GIT_SORT_TOPOLOGICAL":{"value":"(1 << 0)","file":"revwalk.h","line":54,"comments":"Sort the repository contents in topological order\n(parents before children); this sorting mode\ncan be combined with time sorting."},"GIT_SORT_TIME":{"value":"(1 << 1)","file":"revwalk.h","line":61,"comments":"Sort the repository contents by commit time;\nthis sorting mode can be combined with\ntopological sorting."},"GIT_SORT_REVERSE":{"value":"(1 << 2)","file":"revwalk.h","line":68,"comments":"Iterate through the repository contents in reverse\norder; this sorting mode can be combined with\nany of the above."}},"types":[["GIT_STATUS",{"type":"enum","file":"status.h","line":47,"lineto":52,"block":"GIT_STATUS_WT_NEW\nGIT_STATUS_WT_MODIFIED\nGIT_STATUS_WT_DELETED\nGIT_STATUS_IGNORED","tdef":null,"comments":"Flags for worktree status","used":{"returns":[],"needs":[]}}],["GIT_STATUS_INDEX",{"type":"enum","file":"status.h","line":42,"lineto":44,"block":"GIT_STATUS_INDEX_NEW\nGIT_STATUS_INDEX_MODIFIED\nGIT_STATUS_INDEX_DELETED","tdef":null,"comments":"Flags for index status","used":{"returns":[],"needs":[]}}],["git_blob",{"type":"struct","value":"git_blob","file":"types.h","line":121,"lineto":121,"block":"","tdef":"typedef","comments":"In-memory representation of a blob object.","used":{"returns":[],"needs":["git_blob_close","git_blob_lookup","git_blob_lookup_prefix","git_blob_rawcontent","git_blob_rawsize"]}}],["git_commit",{"type":"struct","value":"git_commit","file":"types.h","line":124,"lineto":124,"block":"","tdef":"typedef","comments":"Parsed representation of a commit object.","used":{"returns":[],"needs":["git_commit_author","git_commit_close","git_commit_committer","git_commit_create","git_commit_id","git_commit_lookup","git_commit_lookup_prefix","git_commit_message","git_commit_message_short","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",{"type":"struct","value":"git_config","file":"types.h","line":139,"lineto":139,"block":"","tdef":"typedef","comments":"Memory representation of a set of config files","used":{"returns":[],"needs":["git_config_add_file","git_config_add_file_ondisk","git_config_delete","git_config_foreach","git_config_free","git_config_get_bool","git_config_get_int","git_config_get_long","git_config_get_string","git_config_new","git_config_open_global","git_config_open_ondisk","git_config_set_bool","git_config_set_int","git_config_set_long","git_config_set_string","git_remote_get","git_repository_config"]}}],["git_config_file",{"type":"struct","value":"git_config_file","file":"types.h","line":142,"lineto":142,"block":"","tdef":"typedef","comments":"Interface to access a configuration file","used":{"returns":[],"needs":["git_config_add_file","git_config_file__ondisk"]}}],["git_headarray",{"type":"struct","value":"git_headarray","file":"net.h","line":62,"lineto":67,"block":"unsigned int len\nstruct git_remote_head **heads","tdef":null,"comments":"Array of remote heads","used":{"returns":[],"needs":["git_remote_ls"]}}],["git_index",{"type":"struct","value":"git_index","file":"types.h","line":136,"lineto":136,"block":"","tdef":"typedef","comments":"Memory representation of an index file.","used":{"returns":[],"needs":["git_index_add","git_index_add2","git_index_append","git_index_append2","git_index_clear","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_remove","git_index_uniq","git_index_write","git_repository_index","git_tree_create_fromindex"]}}],["git_index_entry",{"type":"struct","value":"git_index_entry","file":"index.h","line":85,"lineto":102,"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\nconst char *path","tdef":"typedef","comments":"Memory representation of a file entry in the index.","used":{"returns":["git_index_get"],"needs":["git_index_add2","git_index_append2","git_index_entry_stage"]}}],["git_index_entry_unmerged",{"type":"struct","value":"git_index_entry_unmerged","file":"index.h","line":105,"lineto":109,"block":"unsigned int mode[3]\ngit_oid oid[3]\nconst char *path","tdef":"typedef","comments":"Representation of an unmerged file entry in the index.","used":{"returns":["git_index_get_unmerged_byindex","git_index_get_unmerged_bypath"],"needs":[]}}],["git_index_time",{"type":"struct","value":"git_index_time","file":"index.h","line":78,"lineto":82,"block":"git_time_t seconds\nunsigned int nanoseconds","tdef":"typedef","comments":"Time used in a git index entry","used":{"returns":[],"needs":[]}}],["git_object",{"type":"struct","value":"git_object","file":"types.h","line":112,"lineto":112,"block":"","tdef":"typedef","comments":"Representation of a generic object in a repository","used":{"returns":[],"needs":["git_object_close","git_object_id","git_object_lookup","git_object_lookup_prefix","git_object_owner","git_object_type","git_tag_create","git_tag_create_lightweight","git_tag_target","git_tree_entry_2object"]}}],["git_odb",{"type":"struct","value":"git_odb","file":"types.h","line":94,"lineto":94,"block":"","tdef":"typedef","comments":"An open object database handle.","used":{"returns":["git_repository_database"],"needs":["git_odb_add_alternate","git_odb_add_backend","git_odb_close","git_odb_exists","git_odb_new","git_odb_open","git_odb_open_rstream","git_odb_open_wstream","git_odb_read","git_odb_read_header","git_odb_read_prefix","git_odb_write","git_repository_open3"]}}],["git_odb_backend",{"type":"struct","value":"git_odb_backend","file":"types.h","line":97,"lineto":97,"block":"","tdef":"typedef","comments":"A custom backend in an ODB","used":{"returns":[],"needs":["git_odb_add_alternate","git_odb_add_backend"]}}],["git_odb_object",{"type":"struct","value":"git_odb_object","file":"types.h","line":100,"lineto":100,"block":"","tdef":"typedef","comments":"An object read from the ODB","used":{"returns":[],"needs":["git_odb_object_close","git_odb_object_data","git_odb_object_id","git_odb_object_size","git_odb_object_type","git_odb_read","git_odb_read_prefix"]}}],["git_odb_stream",{"type":"struct","value":"git_odb_stream","file":"types.h","line":103,"lineto":103,"block":"","tdef":"typedef","comments":"A stream to read/write from the ODB","used":{"returns":[],"needs":["git_odb_open_rstream","git_odb_open_wstream"]}}],["git_odb_streammode",{"type":"enum","file":"odb_backend.h","line":107,"lineto":118,"block":"GIT_STREAM_RDONLY\nGIT_STREAM_WRONLY\nGIT_STREAM_RW","tdef":"typedef","comments":"Streaming mode","used":{"returns":[],"needs":[]}}],["git_oid",{"type":"struct","value":"git_oid","file":"oid.h","line":51,"lineto":54,"block":"unsigned char id[GIT_OID_RAWSZ]","tdef":"typedef","comments":"Unique identity of any object (commit, tree, blob, tag).","used":{"returns":["git_commit_id","git_commit_parent_oid","git_commit_tree_oid","git_object_id","git_odb_object_id","git_reference_oid","git_tag_id","git_tag_target_oid","git_tree_entry_id","git_tree_id"],"needs":["git_blob_create_frombuffer","git_blob_create_fromfile","git_blob_lookup","git_blob_lookup_prefix","git_commit_create","git_commit_create_v","git_commit_lookup","git_commit_lookup_prefix","git_object_lookup","git_object_lookup_prefix","git_odb_exists","git_odb_hash","git_odb_hashfile","git_odb_open_rstream","git_odb_read","git_odb_read_header","git_odb_read_prefix","git_odb_write","git_oid_allocfmt","git_oid_cmp","git_oid_cpy","git_oid_fmt","git_oid_fromraw","git_oid_fromstr","git_oid_fromstrn","git_oid_ncmp","git_oid_pathfmt","git_oid_to_string","git_reference_create_oid","git_reference_set_oid","git_reflog_write","git_revwalk_hide","git_revwalk_next","git_revwalk_push","git_tag_create","git_tag_create_frombuffer","git_tag_create_lightweight","git_tag_lookup","git_tag_lookup_prefix","git_tree_create_fromindex","git_tree_lookup","git_tree_lookup_prefix","git_treebuilder_insert","git_treebuilder_write"]}}],["git_oid_shorten",{"type":"struct","value":"git_oid_shorten","file":"oid.h","line":172,"lineto":172,"block":"","tdef":"typedef","comments":"OID Shortener object","used":{"returns":["git_oid_shorten_new"],"needs":["git_oid_shorten_add","git_oid_shorten_free"]}}],["git_otype",{"type":"enum","file":"types.h","line":80,"lineto":91,"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","comments":"Basic type (loose or packed) of any Git object.","used":{"returns":[],"needs":["git_object__size","git_object_lookup","git_object_lookup_prefix","git_object_type2string","git_object_typeisloose","git_odb_hash","git_odb_hashfile","git_odb_open_wstream","git_odb_read_header","git_odb_write"]}}],["git_reference",{"type":"struct","value":"git_reference","file":"types.h","line":164,"lineto":164,"block":"","tdef":"typedef","comments":"In-memory representation of a reference.","used":{"returns":[],"needs":["git_reference_create_oid","git_reference_create_symbolic","git_reference_delete","git_reference_lookup","git_reference_name","git_reference_oid","git_reference_owner","git_reference_rename","git_reference_resolve","git_reference_set_oid","git_reference_set_target","git_reference_target","git_reference_type","git_reflog_read","git_reflog_write"]}}],["git_reflog",{"type":"struct","value":"git_reflog","file":"types.h","line":148,"lineto":148,"block":"","tdef":"typedef","comments":"Representation of a reference log","used":{"returns":[],"needs":["git_reflog_entry_byindex","git_reflog_entrycount","git_reflog_free","git_reflog_read"]}}],["git_reflog_entry",{"type":"struct","value":"git_reflog_entry","file":"types.h","line":145,"lineto":145,"block":"","tdef":"typedef","comments":"Representation of a reference log entry","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",{"type":"struct","value":"git_remote_head","file":"net.h","line":54,"lineto":57,"block":"git_oid oid\nchar *name","tdef":null,"comments":"Remote head description, given out on `ls` calls.","used":{"returns":[],"needs":[]}}],["git_repository",{"type":"struct","value":"git_repository","file":"types.h","line":109,"lineto":109,"block":"","tdef":"typedef","comments":"Representation of an existing git repository,\nincluding all its object contents","used":{"returns":["git_object_owner","git_reference_owner","git_revwalk_repository"],"needs":["git_blob_create_frombuffer","git_blob_create_fromfile","git_blob_lookup","git_blob_lookup_prefix","git_commit_create","git_commit_create_v","git_commit_lookup","git_commit_lookup_prefix","git_object_lookup","git_object_lookup_prefix","git_reference_create_oid","git_reference_create_symbolic","git_reference_foreach","git_reference_listall","git_reference_lookup","git_reference_packall","git_repository_config","git_repository_database","git_repository_free","git_repository_head_detached","git_repository_head_orphan","git_repository_index","git_repository_init","git_repository_is_bare","git_repository_is_empty","git_repository_open","git_repository_open2","git_repository_open3","git_repository_path","git_revwalk_new","git_status_file","git_status_foreach","git_tag_create","git_tag_create_frombuffer","git_tag_create_lightweight","git_tag_delete","git_tag_list","git_tag_list_match","git_tag_lookup","git_tag_lookup_prefix","git_tree_entry_2object","git_tree_lookup","git_tree_lookup_prefix","git_treebuilder_write"]}}],["git_repository_pathid",{"type":"enum","file":"repository.h","line":260,"lineto":265,"block":"GIT_REPO_PATH\nGIT_REPO_PATH_INDEX\nGIT_REPO_PATH_ODB\nGIT_REPO_PATH_WORKDIR","tdef":"typedef","comments":"Internal path identifiers for a repository","used":{"returns":[],"needs":["git_repository_path"]}}],["git_revwalk",{"type":"struct","value":"git_revwalk","file":"types.h","line":115,"lineto":115,"block":"","tdef":"typedef","comments":"Representation of an in-progress walk through the commits in a repo","used":{"returns":[],"needs":["git_revwalk_free","git_revwalk_hide","git_revwalk_new","git_revwalk_next","git_revwalk_push","git_revwalk_repository","git_revwalk_reset","git_revwalk_sorting"]}}],["git_rtype",{"type":"enum","file":"types.h","line":167,"lineto":178,"block":"GIT_REF_INVALID\nGIT_REF_OID\nGIT_REF_SYMBOLIC\nGIT_REF_PACKED\nGIT_REF_HAS_PEEL\nGIT_REF_LISTALL","tdef":"typedef","comments":"Basic type of any Git reference.","used":{"returns":[],"needs":[]}}],["git_signature",{"type":"struct","value":"git_signature","file":"types.h","line":157,"lineto":161,"block":"char *name\nchar *email\ngit_time when","tdef":"typedef","comments":"An action signature (e.g. for committers, taggers, etc)","used":{"returns":["git_commit_author","git_commit_committer","git_reflog_entry_committer","git_signature_dup","git_signature_new","git_signature_now","git_tag_tagger"],"needs":["git_commit_create","git_commit_create_v","git_reflog_write","git_signature_dup","git_signature_free","git_tag_create"]}}],["git_tag",{"type":"struct","value":"git_tag","file":"types.h","line":118,"lineto":118,"block":"","tdef":"typedef","comments":"Parsed representation of a tag object.","used":{"returns":[],"needs":["git_tag_close","git_tag_id","git_tag_lookup","git_tag_lookup_prefix","git_tag_message","git_tag_name","git_tag_tagger","git_tag_target","git_tag_target_oid","git_tag_type"]}}],["git_time",{"type":"struct","value":"git_time","file":"types.h","line":151,"lineto":154,"block":"git_time_t time\nint offset","tdef":"typedef","comments":"Time in a signature","used":{"returns":[],"needs":[]}}],["git_transport",{"type":"struct","value":"git_transport","file":"types.h","line":181,"lineto":186,"block":"","tdef":"typedef","comments":"A transport to use","used":{"returns":[],"needs":["git_transport_new"]}}],["git_tree",{"type":"struct","value":"git_tree","file":"types.h","line":130,"lineto":130,"block":"","tdef":"typedef","comments":"Representation of a tree object.","used":{"returns":[],"needs":["git_commit_create","git_commit_create_v","git_commit_tree","git_tree_close","git_tree_entry_byindex","git_tree_entry_byname","git_tree_entrycount","git_tree_id","git_tree_lookup","git_tree_lookup_prefix","git_treebuilder_create"]}}],["git_tree_entry",{"type":"struct","value":"git_tree_entry","file":"types.h","line":127,"lineto":127,"block":"","tdef":"typedef","comments":"Representation of each one of the entries in a tree object.","used":{"returns":["git_tree_entry_byindex","git_tree_entry_byname","git_treebuilder_get"],"needs":["git_tree_entry_2object","git_tree_entry_attributes","git_tree_entry_id","git_tree_entry_name","git_tree_entry_type","git_treebuilder_filter","git_treebuilder_insert"]}}],["git_treebuilder",{"type":"struct","value":"git_treebuilder","file":"types.h","line":133,"lineto":133,"block":"","tdef":"typedef","comments":"Constructor for in-memory trees","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"]}}]],"prefix":"include/git2","groups":[["blob",["git_blob_close","git_blob_create_frombuffer","git_blob_create_fromfile","git_blob_lookup","git_blob_lookup_prefix","git_blob_rawcontent","git_blob_rawsize"]],["commit",["git_commit_author","git_commit_close","git_commit_committer","git_commit_create","git_commit_create_v","git_commit_id","git_commit_lookup","git_commit_lookup_prefix","git_commit_message","git_commit_message_short","git_commit_parent","git_commit_parent_oid","git_commit_parentcount","git_commit_time","git_commit_time_offset","git_commit_tree","git_commit_tree_oid"]],["config",["git_config_add_file","git_config_add_file_ondisk","git_config_delete","git_config_file__ondisk","git_config_find_global","git_config_foreach","git_config_free","git_config_get_bool","git_config_get_int","git_config_get_long","git_config_get_string","git_config_new","git_config_open_global","git_config_open_ondisk","git_config_set_bool","git_config_set_int","git_config_set_long","git_config_set_string"]],["errors",["git_clearerror","git_lasterror","git_strerror"]],["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_remove","git_index_uniq","git_index_write"]],["libgit2",["git_libgit2_version"]],["object",["git_object__size","git_object_close","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_close","git_odb_exists","git_odb_hash","git_odb_hashfile","git_odb_new","git_odb_object_close","git_odb_object_data","git_odb_object_id","git_odb_object_size","git_odb_object_type","git_odb_open","git_odb_open_rstream","git_odb_open_wstream","git_odb_read","git_odb_read_header","git_odb_read_prefix","git_odb_write"]],["oid",["git_oid_allocfmt","git_oid_cmp","git_oid_cpy","git_oid_fmt","git_oid_fromraw","git_oid_fromstr","git_oid_fromstrn","git_oid_ncmp","git_oid_pathfmt","git_oid_shorten_add","git_oid_shorten_free","git_oid_shorten_new","git_oid_to_string"]],["reference",["git_reference_create_oid","git_reference_create_symbolic","git_reference_delete","git_reference_foreach","git_reference_listall","git_reference_lookup","git_reference_name","git_reference_oid","git_reference_owner","git_reference_packall","git_reference_rename","git_reference_resolve","git_reference_set_oid","git_reference_set_target","git_reference_target","git_reference_type"]],["reflog",["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_write"]],["refspec",["git_refspec_dst","git_refspec_src","git_refspec_src_match","git_refspec_transform"]],["remote",["git_remote_connect","git_remote_fetchspec","git_remote_free","git_remote_get","git_remote_ls","git_remote_name","git_remote_pushspec","git_remote_url"]],["repository",["git_repository_config","git_repository_database","git_repository_discover","git_repository_free","git_repository_head_detached","git_repository_head_orphan","git_repository_index","git_repository_init","git_repository_is_bare","git_repository_is_empty","git_repository_open","git_repository_open2","git_repository_open3","git_repository_path"]],["revwalk",["git_revwalk_free","git_revwalk_hide","git_revwalk_new","git_revwalk_next","git_revwalk_push","git_revwalk_repository","git_revwalk_reset","git_revwalk_sorting"]],["signature",["git_signature_dup","git_signature_free","git_signature_new","git_signature_now"]],["status",["git_status_file","git_status_foreach"]],["tag",["git_tag_close","git_tag_create","git_tag_create_frombuffer","git_tag_create_lightweight","git_tag_delete","git_tag_id","git_tag_list","git_tag_list_match","git_tag_lookup","git_tag_lookup_prefix","git_tag_message","git_tag_name","git_tag_tagger","git_tag_target","git_tag_target_oid","git_tag_type"]],["transport",["git_transport_new"]],["tree",["git_tree_close","git_tree_create_fromindex","git_tree_entry_2object","git_tree_entry_attributes","git_tree_entry_byindex","git_tree_entry_byname","git_tree_entry_id","git_tree_entry_name","git_tree_entry_type","git_tree_entrycount","git_tree_id","git_tree_lookup","git_tree_lookup_prefix"]],["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"]],["zlib",["deflateBound"]]],"examples":[["showindex.c","ex/v0.14.0/showindex.html"],["general.c","ex/v0.14.0/general.html"]]} \ No newline at end of file
+{"files":[{"file":"zlib.h","functions":["deflateBound"],"meta":{"brief":"Git data compression routines","defgroup":"git_zlib Git data compression routines","ingroup":"Git","comments":"\n"},"lines":58},{"file":"types.h","functions":[],"meta":{"brief":"libgit2 base & compatibility types","ingroup":"Git","comments":"\n"},"lines":191},{"file":"tree.h","functions":["git_tree_lookup","git_tree_lookup_prefix","git_tree_close","git_tree_id","git_tree_entrycount","git_tree_entry_byname","git_tree_entry_byindex","git_tree_entry_attributes","git_tree_entry_name","git_tree_entry_id","git_tree_entry_type","git_tree_entry_2object","git_tree_create_fromindex","git_treebuilder_create","git_treebuilder_clear","git_treebuilder_free","git_treebuilder_get","git_treebuilder_insert","git_treebuilder_remove","git_treebuilder_filter","git_treebuilder_write"],"meta":{"brief":"Git tree parsing, loading routines","defgroup":"git_tree Git tree parsing, loading routines","ingroup":"Git","comments":"\n"},"lines":291},{"file":"transport.h","functions":["git_transport_new"],"meta":{"brief":"Git protocol transport abstraction","defgroup":"git_transport Git protocol transport abstraction","ingroup":"Git","comments":"\n"},"lines":58},{"file":"thread-utils.h","functions":[],"meta":{},"lines":78},{"file":"tag.h","functions":["git_tag_lookup","git_tag_lookup_prefix","git_tag_close","git_tag_id","git_tag_target","git_tag_target_oid","git_tag_type","git_tag_name","git_tag_tagger","git_tag_message","git_tag_create","git_tag_create_frombuffer","git_tag_create_lightweight","git_tag_delete","git_tag_list","git_tag_list_match"],"meta":{"brief":"Git tag parsing routines","defgroup":"git_tag Git tag management","ingroup":"Git","comments":"\n"},"lines":297},{"file":"status.h","functions":["git_status_foreach","git_status_file"],"meta":{"brief":"Git file status routines","defgroup":"git_status Git file status routines","ingroup":"Git","comments":"\n"},"lines":79},{"file":"signature.h","functions":["git_signature_new","git_signature_now","git_signature_dup","git_signature_free"],"meta":{"brief":"Git signature creation","defgroup":"git_signature Git signature creation","ingroup":"Git","comments":"\n"},"lines":81},{"file":"revwalk.h","functions":["git_revwalk_new","git_revwalk_reset","git_revwalk_push","git_revwalk_hide","git_revwalk_next","git_revwalk_sorting","git_revwalk_free","git_revwalk_repository"],"meta":{"brief":"Git revision traversal routines","defgroup":"git_revwalk Git revision traversal routines","ingroup":"Git","comments":"\n"},"lines":187},{"file":"repository.h","functions":["git_repository_open","git_repository_open2","git_repository_open3","git_repository_discover","git_repository_database","git_repository_index","git_repository_free","git_repository_init","git_repository_head_detached","git_repository_head_orphan","git_repository_is_empty","git_repository_path","git_repository_is_bare","git_repository_config"],"meta":{"brief":"Git repository management routines","defgroup":"git_repository Git repository management routines","ingroup":"Git","comments":"\n"},"lines":332},{"file":"remote.h","functions":["git_remote_get","git_remote_name","git_remote_url","git_remote_fetchspec","git_remote_pushspec","git_remote_connect","git_remote_ls","git_remote_free"],"meta":{"brief":"Git remote management","defgroup":"git_remote Git remote management routines","ingroup":"Git","comments":"\n"},"lines":122},{"file":"refspec.h","functions":["git_refspec_src","git_refspec_dst","git_refspec_src_match","git_refspec_transform"],"meta":{"brief":"Git refspec attributes","defgroup":"git_refspec Git refspec attributes","ingroup":"Git","comments":"\n"},"lines":75},{"file":"refs.h","functions":["git_reference_lookup","git_reference_create_symbolic","git_reference_create_oid","git_reference_oid","git_reference_target","git_reference_type","git_reference_name","git_reference_resolve","git_reference_owner","git_reference_set_target","git_reference_set_oid","git_reference_rename","git_reference_delete","git_reference_packall","git_reference_listall","git_reference_foreach"],"meta":{"brief":"Git reference management routines","defgroup":"git_reference Git reference management routines","ingroup":"Git","comments":"\n"},"lines":276},{"file":"reflog.h","functions":["git_reflog_read","git_reflog_write","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":{"brief":"Git reflog management routines","defgroup":"git_reflog Git reflog management routines","ingroup":"Git","comments":"\n"},"lines":129},{"file":"oid.h","functions":["git_oid_fromstr","git_oid_fromstrn","git_oid_fromraw","git_oid_fmt","git_oid_pathfmt","git_oid_allocfmt","git_oid_to_string","git_oid_cpy","git_oid_cmp","git_oid_ncmp","git_oid_shorten_new","git_oid_shorten_add","git_oid_shorten_free"],"meta":{"brief":"Git object id routines","defgroup":"git_oid Git object id routines","ingroup":"Git","comments":"\n"},"lines":225},{"file":"odb_backend.h","functions":[],"meta":{"brief":"Git custom backend functions","defgroup":"git_backend Git custom backend API","ingroup":"Git","comments":"\n"},"lines":118},{"file":"odb.h","functions":["git_odb_new","git_odb_open","git_odb_add_backend","git_odb_add_alternate","git_odb_close","git_odb_read","git_odb_read_prefix","git_odb_read_header","git_odb_exists","git_odb_write","git_odb_open_wstream","git_odb_open_rstream","git_odb_hash","git_odb_hashfile","git_odb_object_close","git_odb_object_id","git_odb_object_data","git_odb_object_size","git_odb_object_type"],"meta":{"brief":"Git object database routines","defgroup":"git_odb Git object database routines","ingroup":"Git","comments":"\n"},"lines":351},{"file":"object.h","functions":["git_object_lookup","git_object_lookup_prefix","git_object_id","git_object_type","git_object_owner","git_object_close","git_object_type2string","git_object_string2type","git_object_typeisloose","git_object__size"],"meta":{"brief":"Git revision object management routines","defgroup":"git_object Git revision object management routines","ingroup":"Git","comments":"\n"},"lines":191},{"file":"net.h","functions":[],"meta":{"brief":"Git networking declarations","ingroup":"Git","comments":"\n"},"lines":67},{"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"],"meta":{"brief":"Git index parsing and manipulation routines","defgroup":"git_index Git index parsing and manipulation routines","ingroup":"Git","comments":"\n"},"lines":324},{"file":"errors.h","functions":["git_lasterror","git_strerror","git_clearerror"],"meta":{"brief":"Git error handling routines and variables","ingroup":"Git","comments":"\n"},"lines":162},{"file":"config.h","functions":["git_config_find_global","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_int","git_config_get_long","git_config_get_bool","git_config_get_string","git_config_set_int","git_config_set_long","git_config_set_bool","git_config_set_string","git_config_delete","git_config_foreach"],"meta":{"brief":"Git config management routines","defgroup":"git_config Git config management routines","ingroup":"Git","comments":"\n"},"lines":284},{"file":"common.h","functions":["git_libgit2_version"],"meta":{"brief":"Git common platform definitions","defgroup":"git_common Git common platform definitions","ingroup":"Git","comments":"\n"},"lines":128},{"file":"commit.h","functions":["git_commit_lookup","git_commit_lookup_prefix","git_commit_close","git_commit_id","git_commit_message_short","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":{"brief":"Git commit parsing, formatting routines","defgroup":"git_commit Git commit parsing, formatting routines","ingroup":"Git","comments":"\n"},"lines":270},{"file":"branch.h","functions":[],"meta":{},"lines":9},{"file":"blob.h","functions":["git_blob_lookup","git_blob_lookup_prefix","git_blob_close","git_blob_rawcontent","git_blob_rawsize","git_blob_create_fromfile","git_blob_create_frombuffer"],"meta":{"brief":"Git blob load and write routines","defgroup":"git_blob Git blob load and write routines","ingroup":"Git","comments":"\n"},"lines":138}],"functions":{"deflateBound":{"type":"function","file":"zlib.h","line":50,"lineto":54,"args":[{"name":"stream","type":"z_streamp","comment":"the stream pointer."},{"name":"s","type":"size_t","comment":"tream the stream pointer."}],"argline":"z_streamp stream, size_t s","sig":"z_streamp::size_t","return":{"type":"size_t","comment":"maximum length of the compressed data."},"description":"deflateBound returns an upper bound on the compressed size.","comments":"This is a stub function used when zlib does not supply the\ndeflateBound() implementation itself.\n","group":"zlib"},"git_tree_lookup":{"type":"function","file":"tree.h","line":50,"lineto":53,"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 on success; error code otherwise"},"description":"Lookup a tree object from the repository.","comments":"","group":"tree","examples":{"general.c":["ex/v0.14.0/general.html#git_tree_lookup-1","ex/v0.14.0/general.html#git_tree_lookup-2"]}},"git_tree_lookup_prefix":{"type":"function","file":"tree.h","line":67,"lineto":70,"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 on success; error code otherwise"},"description":"Lookup a tree object from the repository,\ngiven a prefix of its identifier (short id).","comments":"@see git_object_lookup_prefix\n","group":"tree"},"git_tree_close":{"type":"function","file":"tree.h","line":83,"lineto":86,"args":[{"name":"tree","type":"git_tree *","comment":"the tree to close"}],"argline":"git_tree *tree","sig":"git_tree *","return":{"type":"void"},"description":"Close an open tree","comments":"This is a wrapper around git_object_close()\n\nIMPORTANT:\nIt *is* necessary to call this method when you stop\nusing a tree. Failure to do so will cause a memory leak.\n","group":"tree"},"git_tree_id":{"type":"function","file":"tree.h","line":96,"lineto":96,"args":[{"name":"tree","type":"git_tree *","comment":"a previously loaded tree."}],"argline":"git_tree *tree","sig":"git_tree *","return":{"type":"const git_oid *","comment":"object identity for the tree."},"description":"Get the id of a tree.","comments":"","group":"tree"},"git_tree_entrycount":{"type":"function","file":"tree.h","line":104,"lineto":104,"args":[{"name":"tree","type":"git_tree *","comment":"a previously loaded tree."}],"argline":"git_tree *tree","sig":"git_tree *","return":{"type":"unsigned int","comment":"the number of entries in the tree"},"description":"Get the number of entries listed in a tree","comments":"","group":"tree","examples":{"general.c":["ex/v0.14.0/general.html#git_tree_entrycount-3"]}},"git_tree_entry_byname":{"type":"function","file":"tree.h","line":113,"lineto":113,"args":[{"name":"tree","type":"git_tree *","comment":"a previously loaded tree."},{"name":"filename","type":"const char *","comment":"the filename of the desired entry"}],"argline":"git_tree *tree, const char *filename","sig":"git_tree *::const char *","return":{"type":"const git_tree_entry *","comment":"the tree entry; NULL if not found"},"description":"Lookup a tree entry by its filename","comments":"","group":"tree","examples":{"general.c":["ex/v0.14.0/general.html#git_tree_entry_byname-4"]}},"git_tree_entry_byindex":{"type":"function","file":"tree.h","line":122,"lineto":122,"args":[{"name":"tree","type":"git_tree *","comment":"a previously loaded tree."},{"name":"idx","type":"unsigned int","comment":"the position in the entry list"}],"argline":"git_tree *tree, unsigned int idx","sig":"git_tree *::unsigned int","return":{"type":"const git_tree_entry *","comment":"the tree entry; NULL if not found"},"description":"Lookup a tree entry by its position in the tree","comments":"","group":"tree","examples":{"general.c":["ex/v0.14.0/general.html#git_tree_entry_byindex-5"]}},"git_tree_entry_attributes":{"type":"function","file":"tree.h","line":130,"lineto":130,"args":[{"name":"entry","type":"const git_tree_entry *","comment":"a tree entry"}],"argline":"const git_tree_entry *entry","sig":"const git_tree_entry *","return":{"type":"unsigned int","comment":"attributes as an integer"},"description":"Get the UNIX file attributes of a tree entry","comments":"","group":"tree"},"git_tree_entry_name":{"type":"function","file":"tree.h","line":138,"lineto":138,"args":[{"name":"entry","type":"const git_tree_entry *","comment":"a tree entry"}],"argline":"const git_tree_entry *entry","sig":"const git_tree_entry *","return":{"type":"const char *","comment":"the name of the file"},"description":"Get the filename of a tree entry","comments":"","group":"tree","examples":{"general.c":["ex/v0.14.0/general.html#git_tree_entry_name-6","ex/v0.14.0/general.html#git_tree_entry_name-7"]}},"git_tree_entry_id":{"type":"function","file":"tree.h","line":146,"lineto":146,"args":[{"name":"entry","type":"const git_tree_entry *","comment":"a tree entry"}],"argline":"const git_tree_entry *entry","sig":"const git_tree_entry *","return":{"type":"const git_oid *","comment":"the oid of the object"},"description":"Get the id of the object pointed by the entry","comments":"","group":"tree"},"git_tree_entry_type":{"type":"function","file":"tree.h","line":154,"lineto":154,"args":[{"name":"entry","type":"const git_tree_entry *","comment":"a tree entry"}],"argline":"const git_tree_entry *entry","sig":"const git_tree_entry *","return":{"type":"git_otype","comment":"the type of the pointed object"},"description":"Get the type of the object pointed by the entry","comments":"","group":"tree"},"git_tree_entry_2object":{"type":"function","file":"tree.h","line":164,"lineto":164,"args":[{"name":"object_out","type":"git_object **"},{"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 on success; error code otherwise"},"description":"Convert a tree entry to the git_object it points too.","comments":"","group":"tree","examples":{"general.c":["ex/v0.14.0/general.html#git_tree_entry_2object-8"]}},"git_tree_create_fromindex":{"type":"function","file":"tree.h","line":182,"lineto":182,"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 on success; error code otherwise"},"description":"Write a tree to the ODB from the index file","comments":"This method will scan the index and write a representation\nof its current state back to disk; it recursively creates\ntree objects for each of the subtrees stored in the index,\nbut only returns the OID of the root tree. This is the OID\nthat can be used e.g. to create a commit.\n\nThe index instance cannot be bare, and needs to be associated\nto an existing repository.\n","group":"tree"},"git_treebuilder_create":{"type":"function","file":"tree.h","line":201,"lineto":201,"args":[{"name":"builder_p","type":"git_treebuilder **","comment":"Pointer where to store the tree builder"},{"name":"source","type":"const git_tree *","comment":"Source tree to initialize the builder (optional)"}],"argline":"git_treebuilder **builder_p, const git_tree *source","sig":"git_treebuilder **::const git_tree *","return":{"type":"int","comment":"0 on sucess; error code otherwise"},"description":"Create a new tree builder.","comments":"The tree builder can be used to create or modify\ntrees in memory and write them as tree objects to the\ndatabase.\n\nIf the `source` parameter is not NULL, the tree builder\nwill be initialized with the entries of the given tree.\n\nIf the `source` parameter is NULL, the tree builder will\nhave no entries and will have to be filled manually.\n","group":"treebuilder"},"git_treebuilder_clear":{"type":"function","file":"tree.h","line":208,"lineto":208,"args":[{"name":"bld","type":"git_treebuilder *","comment":"Builder to clear"}],"argline":"git_treebuilder *bld","sig":"git_treebuilder *","return":{"type":"void"},"description":"Clear all the entires in the builder","comments":"","group":"treebuilder"},"git_treebuilder_free":{"type":"function","file":"tree.h","line":219,"lineto":219,"args":[{"name":"bld","type":"git_treebuilder *","comment":"Builder to free"}],"argline":"git_treebuilder *bld","sig":"git_treebuilder *","return":{"type":"void"},"description":"Free a tree builder","comments":"This will clear all the entries and free to builder.\nFailing to free the builder after you're done using it\nwill result in a memory leak\n","group":"treebuilder"},"git_treebuilder_get":{"type":"function","file":"tree.h","line":231,"lineto":231,"args":[{"name":"bld","type":"git_treebuilder *","comment":"Tree builder"},{"name":"filename","type":"const char *","comment":"Name of the entry"}],"argline":"git_treebuilder *bld, const char *filename","sig":"git_treebuilder *::const char *","return":{"type":"const git_tree_entry *","comment":"pointer to the entry; NULL if not found"},"description":"Get an entry from the builder from its filename","comments":"The returned entry is owned by the builder and should\nnot be freed manually.\n","group":"treebuilder"},"git_treebuilder_insert":{"type":"function","file":"tree.h","line":252,"lineto":252,"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 on success; error code otherwise"},"description":"Add or update an entry to the builder","comments":"Insert a new entry for `filename` in the builder with the\ngiven attributes.\n\nif an entry named `filename` already exists, its attributes\nwill be updated with the given ones.\n\nThe optional pointer `entry_out` can be used to retrieve a\npointer to the newly created/updated entry.\n","group":"treebuilder"},"git_treebuilder_remove":{"type":"function","file":"tree.h","line":260,"lineto":260,"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"},"description":"Remove an entry from the builder by its filename","comments":"","group":"treebuilder"},"git_treebuilder_filter":{"type":"function","file":"tree.h","line":273,"lineto":273,"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 *"}],"argline":"git_treebuilder *bld, int (*filter)(const git_tree_entry *, void *), void *payload","sig":"git_treebuilder *::int (*)(const git_tree_entry *, void *)::void *","return":{"type":"void"},"description":"Filter the entries in the tree","comments":"The `filter` callback will be called for each entry\nin the tree with a pointer to the entry and the\nprovided `payload`: if the callback returns 1, the\nentry will be filtered (removed from the builder).\n","group":"treebuilder"},"git_treebuilder_write":{"type":"function","file":"tree.h","line":287,"lineto":287,"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 on success; error code otherwise"},"description":"Write the contents of the tree builder as a tree object","comments":"The tree builder will be written to the given `repo`, and\nit's identifying SHA1 hash will be stored in the `oid`\npointer.\n","group":"treebuilder"},"git_transport_new":{"type":"function","file":"transport.h","line":46,"lineto":54,"args":[{"name":"transport","type":"git_transport **"},{"name":"url","type":"const char *","comment":"the url of the repo"}],"argline":"git_transport **transport, const char *url","sig":"git_transport **::const char *","return":{"type":"int"},"description":"Get the appropriate transport for an URL.\n@param tranport the transport for the url\n@param url the url of the repo","comments":"","group":"transport"},"git_tag_lookup":{"type":"function","file":"tag.h","line":50,"lineto":53,"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 on success; error code otherwise"},"description":"Lookup a tag object from the repository.","comments":"","group":"tag","examples":{"general.c":["ex/v0.14.0/general.html#git_tag_lookup-9"]}},"git_tag_lookup_prefix":{"type":"function","file":"tag.h","line":67,"lineto":70,"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 on success; error code otherwise"},"description":"Lookup a tag object from the repository,\ngiven a prefix of its identifier (short id).","comments":"@see git_object_lookup_prefix\n","group":"tag"},"git_tag_close":{"type":"function","file":"tag.h","line":83,"lineto":86,"args":[{"name":"tag","type":"git_tag *","comment":"the tag to close"}],"argline":"git_tag *tag","sig":"git_tag *","return":{"type":"void"},"description":"Close an open tag","comments":"This is a wrapper around git_object_close()\n\nIMPORTANT:\nIt *is* necessary to call this method when you stop\nusing a tag. Failure to do so will cause a memory leak.\n","group":"tag"},"git_tag_id":{"type":"function","file":"tag.h","line":96,"lineto":96,"args":[{"name":"tag","type":"git_tag *","comment":"a previously loaded tag."}],"argline":"git_tag *tag","sig":"git_tag *","return":{"type":"const git_oid *","comment":"object identity for the tag."},"description":"Get the id of a tag.","comments":"","group":"tag"},"git_tag_target":{"type":"function","file":"tag.h","line":108,"lineto":108,"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 on success; error code otherwise"},"description":"Get the tagged object of a tag","comments":"This method performs a repository lookup for the\ngiven object and returns it\n","group":"tag","examples":{"general.c":["ex/v0.14.0/general.html#git_tag_target-10"]}},"git_tag_target_oid":{"type":"function","file":"tag.h","line":116,"lineto":116,"args":[{"name":"tag","type":"git_tag *","comment":"a previously loaded tag."}],"argline":"git_tag *tag","sig":"git_tag *","return":{"type":"const git_oid *","comment":"pointer to the OID"},"description":"Get the OID of the tagged object of a tag","comments":"","group":"tag"},"git_tag_type":{"type":"function","file":"tag.h","line":124,"lineto":124,"args":[{"name":"tag","type":"git_tag *","comment":"a previously loaded tag."}],"argline":"git_tag *tag","sig":"git_tag *","return":{"type":"git_otype","comment":"type of the tagged object"},"description":"Get the type of a tag's tagged object","comments":"","group":"tag","examples":{"general.c":["ex/v0.14.0/general.html#git_tag_type-11"]}},"git_tag_name":{"type":"function","file":"tag.h","line":132,"lineto":132,"args":[{"name":"tag","type":"git_tag *","comment":"a previously loaded tag."}],"argline":"git_tag *tag","sig":"git_tag *","return":{"type":"const char *","comment":"name of the tag"},"description":"Get the name of a tag","comments":"","group":"tag","examples":{"general.c":["ex/v0.14.0/general.html#git_tag_name-12"]}},"git_tag_tagger":{"type":"function","file":"tag.h","line":140,"lineto":140,"args":[{"name":"tag","type":"git_tag *","comment":"a previously loaded tag."}],"argline":"git_tag *tag","sig":"git_tag *","return":{"type":"const git_signature *","comment":"reference to the tag's author"},"description":"Get the tagger (author) of a tag","comments":"","group":"tag"},"git_tag_message":{"type":"function","file":"tag.h","line":148,"lineto":148,"args":[{"name":"tag","type":"git_tag *","comment":"a previously loaded tag."}],"argline":"git_tag *tag","sig":"git_tag *","return":{"type":"const char *","comment":"message of the tag"},"description":"Get the message of a tag","comments":"","group":"tag","examples":{"general.c":["ex/v0.14.0/general.html#git_tag_message-13"]}},"git_tag_create":{"type":"function","file":"tag.h","line":183,"lineto":190,"args":[{"name":"oid","type":"git_oid *","comment":"Pointer where to store the OID of the newly created tag. If the tag already exists, this parameter will be the oid of the existing tag, and the function will 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 for consistency. It should also not conflict with an already existing tag name"},{"name":"target","type":"const git_object *","comment":"Object to which this tag points. This object must belong to the given `repo`."},{"name":"tagger","type":"const git_signature *","comment":"Signature of the tagger for this tag, and 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,\n\t\tgit_repository *repo,\n\t\tconst char *tag_name,\n\t\tconst git_object *target,\n\t\tconst git_signature *tagger,\n\t\tconst char *message,\n\t\tint force","sig":"git_oid *::git_repository *::const char *::const git_object *::const git_signature *::const char *::int","return":{"type":"int","comment":"0 on success; error code otherwise. A tag object is written to the ODB, and a proper reference is written in the /refs/tags folder, pointing to it"},"description":"Create a new tag in the repository from an object","comments":"A new reference will also be created pointing to\nthis tag object. If `force` is true and a reference\nalready exists with the given name, it'll be replaced.\n","group":"tag"},"git_tag_create_frombuffer":{"type":"function","file":"tag.h","line":201,"lineto":205,"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,\n\t\tgit_repository *repo,\n\t\tconst char *buffer,\n\t\tint force","sig":"git_oid *::git_repository *::const char *::int","return":{"type":"int","comment":"0 on sucess; error code otherwise"},"description":"Create a new tag in the repository from a buffer","comments":"","group":"tag"},"git_tag_create_lightweight":{"type":"function","file":"tag.h","line":234,"lineto":239,"args":[{"name":"oid","type":"git_oid *","comment":"Pointer where to store the OID of the provided target object. If the tag already exists, this parameter will be filled with the oid of the existing pointed object 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 for consistency. It should also not conflict with an already existing tag name"},{"name":"target","type":"const git_object *","comment":"Object to which this tag points. This object must belong to the given `repo`."},{"name":"force","type":"int","comment":"Overwrite existing references"}],"argline":"git_oid *oid,\n\t\tgit_repository *repo,\n\t\tconst char *tag_name,\n\t\tconst git_object *target,\n\t\tint force","sig":"git_oid *::git_repository *::const char *::const git_object *::int","return":{"type":"int","comment":"0 on success; error code otherwise. A proper reference is written in the /refs/tags folder, pointing to the provided target object"},"description":"Create a new lightweight tag pointing at a target object","comments":"A new direct reference will be created pointing to\nthis target object. If `force` is true and a reference\nalready exists with the given name, it'll be replaced.\n","group":"tag"},"git_tag_delete":{"type":"function","file":"tag.h","line":251,"lineto":253,"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; this name is validated for consistency."}],"argline":"git_repository *repo,\n\t\tconst char *tag_name","sig":"git_repository *::const char *","return":{"type":"int","comment":"0 on success; error code otherwise."},"description":"Delete an existing tag reference.","comments":"","group":"tag"},"git_tag_list":{"type":"function","file":"tag.h","line":268,"lineto":270,"args":[{"name":"tag_names","type":"git_strarray *","comment":"Pointer to a git_strarray structure where the tag names will be stored"},{"name":"repo","type":"git_repository *","comment":"Repository where to find the tags"}],"argline":"git_strarray *tag_names,\n\t\tgit_repository *repo","sig":"git_strarray *::git_repository *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Fill a list with all the tags in the Repository","comments":"The string array will be filled with the names of the\nmatching tags; these values are owned by the user and\nshould be free'd manually when no longer needed, using\n`git_strarray_free`.\n","group":"tag"},"git_tag_list_match":{"type":"function","file":"tag.h","line":290,"lineto":293,"args":[{"name":"tag_names","type":"git_strarray *","comment":"Pointer to a git_strarray structure where the 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,\n\t\tconst char *pattern,\n\t\tgit_repository *repo","sig":"git_strarray *::const char *::git_repository *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Fill a list with all the tags in the Repository\nwhich name match a defined pattern","comments":"If an empty pattern is provided, all the tags\nwill be returned.\n\nThe string array will be filled with the names of the\nmatching tags; these values are owned by the user and\nshould be free'd manually when no longer needed, using\n`git_strarray_free`.\n","group":"tag"},"git_status_foreach":{"type":"function","file":"status.h","line":65,"lineto":65,"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 *"}],"argline":"git_repository *repo, int (*callback)(const char *, unsigned int, void *), void *payload","sig":"git_repository *::int (*)(const char *, unsigned int, void *)::void *","return":{"type":"int","comment":"GIT_SUCCESS or the return value of the callback which did not return 0;"},"description":"Gather file statuses and run a callback for each one.","comments":"The callback is passed the path of the file, the status and the data pointer\npassed to this function. If the callback returns something other than\nGIT_SUCCESS, this function will return that value.\n","group":"status"},"git_status_file":{"type":"function","file":"status.h","line":75,"lineto":75,"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_SUCCESS"},"description":"Get file status for a single file","comments":"","group":"status"},"git_signature_new":{"type":"function","file":"signature.h","line":50,"lineto":50,"args":[{"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":"const char *name, const char *email, git_time_t time, int offset","sig":"const char *::const char *::git_time_t::int","return":{"type":"git_signature *","comment":"the new sig, NULL on out of memory"},"description":"Create a new action signature. The signature must be freed\nmanually or using git_signature_free","comments":"","group":"signature","examples":{"general.c":["ex/v0.14.0/general.html#git_signature_new-14","ex/v0.14.0/general.html#git_signature_new-15"]}},"git_signature_now":{"type":"function","file":"signature.h","line":60,"lineto":60,"args":[{"name":"name","type":"const char *","comment":"name of the person"},{"name":"email","type":"const char *","comment":"email of the person"}],"argline":"const char *name, const char *email","sig":"const char *::const char *","return":{"type":"git_signature *","comment":"the new sig, NULL on out of memory"},"description":"Create a new action signature with a timestamp of 'now'. The\nsignature must be freed manually or using git_signature_free","comments":"","group":"signature"},"git_signature_dup":{"type":"function","file":"signature.h","line":70,"lineto":70,"args":[{"name":"sig","type":"const git_signature *","comment":"signature to duplicated"}],"argline":"const git_signature *sig","sig":"const git_signature *","return":{"type":"git_signature *","comment":"a copy of sig, NULL on out of memory"},"description":"Create a copy of an existing signature.","comments":"All internal strings are also duplicated.","group":"signature"},"git_signature_free":{"type":"function","file":"signature.h","line":77,"lineto":77,"args":[{"name":"sig","type":"git_signature *","comment":"signature to free"}],"argline":"git_signature *sig","sig":"git_signature *","return":{"type":"void"},"description":"Free an existing signature","comments":"","group":"signature"},"git_revwalk_new":{"type":"function","file":"revwalk.h","line":88,"lineto":88,"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 on success; error code otherwise"},"description":"Allocate a new revision walker to iterate through a repo.","comments":"This revision walker uses a custom memory pool and an internal\ncommit cache, so it is relatively expensive to allocate.\n\nFor maximum performance, this revision walker should be\nreused for different walks.\n\nThis revision walker is *not* thread safe: it may only be\nused to walk a repository on a single thread; however,\nit is possible to have several revision walkers in\nseveral different threads walking the same repository.\n","group":"revwalk","examples":{"general.c":["ex/v0.14.0/general.html#git_revwalk_new-16"]}},"git_revwalk_reset":{"type":"function","file":"revwalk.h","line":103,"lineto":103,"args":[{"name":"walker","type":"git_revwalk *","comment":"handle to reset."}],"argline":"git_revwalk *walker","sig":"git_revwalk *","return":{"type":"void"},"description":"Reset the revision walker for reuse.","comments":"This will clear all the pushed and hidden commits, and\nleave the walker in a blank state (just like at\ncreation) ready to receive new commit pushes and\nstart a new walk.\n\nThe revision walk is automatically reset when a walk\nis over.\n","group":"revwalk"},"git_revwalk_push":{"type":"function","file":"revwalk.h","line":120,"lineto":120,"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 on success; error code otherwise"},"description":"Mark a commit to start traversal from.","comments":"The given OID must belong to a commit on the walked\nrepository.\n\nThe given commit will be used as one of the roots\nwhen starting the revision walk. At least one commit\nmust be pushed the repository before a walk can\nbe started.\n","group":"revwalk","examples":{"general.c":["ex/v0.14.0/general.html#git_revwalk_push-17"]}},"git_revwalk_hide":{"type":"function","file":"revwalk.h","line":136,"lineto":136,"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 on success; error code otherwise"},"description":"Mark a commit (and its ancestors) uninteresting for the output.","comments":"The given OID must belong to a commit on the walked\nrepository.\n\nThe resolved commit and all its parents will be hidden from the\noutput on the revision walk.\n","group":"revwalk"},"git_revwalk_next":{"type":"function","file":"revwalk.h","line":156,"lineto":156,"args":[{"name":"oid","type":"git_oid *","comment":"Pointer where to store the oid of the next commit"},{"name":"walk","type":"git_revwalk *","comment":"the walker to pop the commit from."}],"argline":"git_oid *oid, git_revwalk *walk","sig":"git_oid *::git_revwalk *","return":{"type":"int","comment":"GIT_SUCCESS if the next commit was found; GIT_EREVWALKOVER if there are no commits left to iterate"},"description":"Get the next commit from the revision walk.","comments":"The initial call to this method is *not* blocking when\niterating through a repo with a time-sorting mode.\n\nIterating with Topological or inverted modes makes the initial\ncall blocking to preprocess the commit list, but this block should be\nmostly unnoticeable on most repositories (topological preprocessing\ntimes at 0.3s on the git.git repo).\n\nThe revision walker is reset when the walk is over.\n","group":"revwalk","examples":{"general.c":["ex/v0.14.0/general.html#git_revwalk_next-18"]}},"git_revwalk_sorting":{"type":"function","file":"revwalk.h","line":167,"lineto":167,"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"},"description":"Change the sorting mode when iterating through the\nrepository's contents.","comments":"Changing the sorting mode resets the walker.\n","group":"revwalk","examples":{"general.c":["ex/v0.14.0/general.html#git_revwalk_sorting-19"]}},"git_revwalk_free":{"type":"function","file":"revwalk.h","line":174,"lineto":174,"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"},"description":"Free a revision walker previously allocated.","comments":"","group":"revwalk","examples":{"general.c":["ex/v0.14.0/general.html#git_revwalk_free-20"]}},"git_revwalk_repository":{"type":"function","file":"revwalk.h","line":183,"lineto":183,"args":[{"name":"walk","type":"git_revwalk *","comment":"the revision walker"}],"argline":"git_revwalk *walk","sig":"git_revwalk *","return":{"type":"git_repository *","comment":"the repository being walked"},"description":"Return the repository on which this walker\nis operating.","comments":"","group":"revwalk"},"git_repository_open":{"type":"function","file":"repository.h","line":64,"lineto":64,"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 on success; error code otherwise"},"description":"Open a git repository.","comments":"The 'path' argument must point to an existing git repository\nfolder, e.g.\n\n\t/path/to/my_repo/.git/\t(normal repository)\n\t\t\t\t\t\tobjects/\n\t\t\t\t\t\tindex\n\t\t\t\t\t\tHEAD\n\n\t/path/to/bare_repo/\t\t(bare repository)\n\t\t\t\t\tobjects/\n\t\t\t\t\tindex\n\t\t\t\t\tHEAD\n\nThe method will automatically detect if 'path' is a normal\nor bare repository or fail is 'path' is neither.\n","group":"repository","examples":{"showindex.c":["ex/v0.14.0/showindex.html#git_repository_open-1"],"general.c":["ex/v0.14.0/general.html#git_repository_open-21"]}},"git_repository_open2":{"type":"function","file":"repository.h","line":93,"lineto":97,"args":[{"name":"repository","type":"git_repository **","comment":"pointer to the repo which will be opened"},{"name":"git_dir","type":"const char *","comment":"The full path to the repository folder e.g. a '.git' folder for live repos, any folder for bare Equivalent to $GIT_DIR. Cannot be NULL."},{"name":"git_object_directory","type":"const char *","comment":"The full path to the ODB folder. the folder where all the loose and packed objects are stored Equivalent to $GIT_OBJECT_DIRECTORY. If NULL, \"$GIT_DIR/objects/\" is assumed."},{"name":"git_index_file","type":"const char *","comment":"The full path to the index (dircache) file Equivalent to $GIT_INDEX_FILE. If NULL, \"$GIT_DIR/index\" is assumed."},{"name":"git_work_tree","type":"const char *","comment":"The full path to the working tree of the repository, if the repository is not bare. Equivalent to $GIT_WORK_TREE. If NULL, the repository is assumed to be bare."}],"argline":"git_repository **repository,\n\t\tconst char *git_dir,\n\t\tconst char *git_object_directory,\n\t\tconst char *git_index_file,\n\t\tconst char *git_work_tree","sig":"git_repository **::const char *::const char *::const char *::const char *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Open a git repository by manually specifying all its paths","comments":"","group":"repository"},"git_repository_open3":{"type":"function","file":"repository.h","line":128,"lineto":132,"args":[{"name":"repository","type":"git_repository **","comment":"pointer to the repo which will be opened"},{"name":"git_dir","type":"const char *","comment":"The full path to the repository folder e.g. a '.git' folder for live repos, any folder for bare Equivalent to $GIT_DIR. Cannot be NULL."},{"name":"object_database","type":"git_odb *","comment":"A pointer to a git_odb created & initialized by the user (e.g. with custom backends). This object database will be owned by the repository and will be automatically free'd. It should not be manually free'd by the user, or this git_repository object will become invalid."},{"name":"git_index_file","type":"const char *","comment":"The full path to the index (dircache) file Equivalent to $GIT_INDEX_FILE. If NULL, \"$GIT_DIR/index\" is assumed."},{"name":"git_work_tree","type":"const char *","comment":"The full path to the working tree of the repository, if the repository is not bare. Equivalent to $GIT_WORK_TREE. If NULL, the repository is assumed to be bare."}],"argline":"git_repository **repository,\n\t\tconst char *git_dir,\n\t\tgit_odb *object_database,\n\t\tconst char *git_index_file,\n\t\tconst char *git_work_tree","sig":"git_repository **::const char *::git_odb *::const char *::const char *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Open a git repository by manually specifying its paths and\nthe object database it will use.","comments":"","group":"repository"},"git_repository_discover":{"type":"function","file":"repository.h","line":161,"lineto":161,"args":[{"name":"repository_path","type":"char *","comment":"The user allocated buffer which will contain the found path."},{"name":"size","type":"size_t","comment":"repository_path size"},{"name":"start_path","type":"const char *","comment":"The base path where the lookup starts."},{"name":"across_fs","type":"int","comment":"If true, then the lookup will not stop when a filesystem device change is detected while exploring parent directories."},{"name":"ceiling_dirs","type":"const char *","comment":"A GIT_PATH_LIST_SEPARATOR separated list of absolute symbolic link free paths. The lookup will stop when any of this paths is reached. Note that the lookup always performs on start_path no matter start_path appears in ceiling_dirs ceiling_dirs might be NULL (which is equivalent to an empty string)"}],"argline":"char *repository_path, size_t size, const char *start_path, int across_fs, const char *ceiling_dirs","sig":"char *::size_t::const char *::int::const char *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Look for a git repository and copy its path in the given buffer. The lookup start\nfrom base_path and walk across parent directories if nothing has been found. The\nlookup ends when the first repository is found, or when reaching a directory\nreferenced in ceiling_dirs or when the filesystem changes (in case across_fs\nis true).","comments":"The method will automatically detect if the repository is bare (if there is\na repository).\n","group":"repository"},"git_repository_database":{"type":"function","file":"repository.h","line":169,"lineto":169,"args":[{"name":"repo","type":"git_repository *","comment":"a repository object"}],"argline":"git_repository *repo","sig":"git_repository *","return":{"type":"git_odb *","comment":"a pointer to the object db"},"description":"Get the object database behind a Git repository","comments":"","group":"repository","examples":{"general.c":["ex/v0.14.0/general.html#git_repository_database-22"]}},"git_repository_index":{"type":"function","file":"repository.h","line":189,"lineto":189,"args":[{"name":"index","type":"git_index **","comment":"Pointer where to store the index"},{"name":"repo","type":"git_repository *","comment":"a repository object"}],"argline":"git_index **index, git_repository *repo","sig":"git_index **::git_repository *","return":{"type":"int","comment":"0 on success; error code if the index could not be opened"},"description":"Open the Index file of a Git repository","comments":"This returns a new and unique `git_index` object representing the\nactive index for the repository.\n\nThis method may be called more than once (e.g. on different threads).\n\nEach returned `git_index` object is independent and suffers no race\nconditions: synchronization is done at the FS level.\n\nEach returned `git_index` object must be manually freed by the user,\nusing `git_index_free`.\n","group":"repository","examples":{"showindex.c":["ex/v0.14.0/showindex.html#git_repository_index-2"],"general.c":["ex/v0.14.0/general.html#git_repository_index-23"]}},"git_repository_free":{"type":"function","file":"repository.h","line":202,"lineto":202,"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"},"description":"Free a previously allocated repository","comments":"Note that after a repository is free'd, all the objects it has spawned\nwill still exist until they are manually closed by the user\nwith `git_object_close`, but accessing any of the attributes of\nan object without a backing repository will result in undefined\nbehavior\n","group":"repository","examples":{"showindex.c":["ex/v0.14.0/showindex.html#git_repository_free-3"],"general.c":["ex/v0.14.0/general.html#git_repository_free-24"]}},"git_repository_init":{"type":"function","file":"repository.h","line":219,"lineto":219,"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","comment":"if true, a Git repository without a working directory is created at the pointed path. If false, provided path will be considered as the working directory into which the .git directory will be created."}],"argline":"git_repository **repo_out, const char *path, unsigned is_bare","sig":"git_repository **::const char *::unsigned","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Creates a new Git repository in the given folder.","comments":"TODO:\n- Reinit the repository\n- Create config files\n","group":"repository"},"git_repository_head_detached":{"type":"function","file":"repository.h","line":231,"lineto":231,"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 was an error."},"description":"Check if a repository's HEAD is detached","comments":"A repository's HEAD is detached when it points directly to a commit\ninstead of a branch.\n","group":"repository"},"git_repository_head_orphan":{"type":"function","file":"repository.h","line":243,"lineto":243,"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 code if therewas an error"},"description":"Check if the current branch is an orphan","comments":"An orphan branch is one named from HEAD but which doesn't exist in\nthe refs namespace, because it doesn't have any commit to point to.\n","group":"repository"},"git_repository_is_empty":{"type":"function","file":"repository.h","line":255,"lineto":255,"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 if the repository is corrupted"},"description":"Check if a repository is empty","comments":"An empty repository has just been initialized and contains\nno commits.\n","group":"repository"},"git_repository_path":{"type":"function","file":"repository.h","line":282,"lineto":282,"args":[{"name":"repo","type":"git_repository *","comment":"a repository object"},{"name":"id","type":"git_repository_pathid","comment":"The ID of the path to return"}],"argline":"git_repository *repo, git_repository_pathid id","sig":"git_repository *::git_repository_pathid","return":{"type":"const char *","comment":"absolute path of the requested id"},"description":"Get one of the paths to the repository","comments":"Possible values for `id`:\n\nGIT_REPO_PATH: return the path to the repository\nGIT_REPO_PATH_INDEX: return the path to the index\nGIT_REPO_PATH_ODB: return the path to the ODB\nGIT_REPO_PATH_WORKDIR: return the path to the working\n\tdirectory\n","group":"repository"},"git_repository_is_bare":{"type":"function","file":"repository.h","line":290,"lineto":290,"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 otherwise."},"description":"Check if a repository is bare","comments":"","group":"repository"},"git_repository_config":{"type":"function","file":"repository.h","line":325,"lineto":328,"args":[{"name":"out","type":"git_config **","comment":"the repository's configuration"},{"name":"repo","type":"git_repository *","comment":"the repository for which to get the config"},{"name":"user_config_path","type":"const char *","comment":"Path to the user config file"},{"name":"system_config_path","type":"const char *","comment":"Path to the system-wide config file"}],"argline":"git_config **out,\n\tgit_repository *repo,\n\tconst char *user_config_path,\n\tconst char *system_config_path","sig":"git_config **::git_repository *::const char *::const char *","return":{"type":"int"},"description":"Retrieve the relevant configuration for a repository","comments":"By default he returned `git_config` instance contains a single\nconfiguration file, the `.gitconfig' file that may be found\ninside the repository.\n\nIf the `user_config_path` variable is not NULL, the given config\nfile will be also included in the configuration set. On most UNIX\nsystems, this file may be found on `$HOME/.gitconfig`.\n\nIf the `system_config_path` variable is not NULL, the given config\nfile will be also included in the configuration set. On most UNIX\nsystems, this file may be found on `$PREFIX/etc/gitconfig`.\n\nThe resulting `git_config` instance will query the files in the following\norder:\n\n- Repository configuration file\n- User configuration file\n- System configuration file\n\nThe method will fail if any of the passed config files cannot be\nfound or accessed.\n\nThe returned `git_config` instance is owned by the caller and must\nbe manually free'd once it's no longer on use.\n","group":"repository"},"git_remote_get":{"type":"function","file":"remote.h","line":57,"lineto":57,"args":[{"name":"out","type":"struct git_remote **","comment":"pointer to the new remote object"},{"name":"cfg","type":"struct git_config *","comment":"the repository's configuration"},{"name":"name","type":"const char *","comment":"the remote's name"}],"argline":"struct git_remote **out, struct git_config *cfg, const char *name","sig":"struct git_remote **::struct git_config *::const char *","return":{"type":"int","comment":"0 on success; error value otherwise"},"description":"Get the information for a particular remote","comments":"","group":"remote"},"git_remote_name":{"type":"function","file":"remote.h","line":65,"lineto":65,"args":[{"name":"remote","type":"struct git_remote *","comment":"the remote"}],"argline":"struct git_remote *remote","sig":"struct git_remote *","return":{"type":"const char *","comment":"a pointer to the name"},"description":"Get the remote's name","comments":"","group":"remote"},"git_remote_url":{"type":"function","file":"remote.h","line":73,"lineto":73,"args":[{"name":"remote","type":"struct git_remote *","comment":"the remote"}],"argline":"struct git_remote *remote","sig":"struct git_remote *","return":{"type":"const char *","comment":"a pointer to the url"},"description":"Get the remote's url","comments":"","group":"remote"},"git_remote_fetchspec":{"type":"function","file":"remote.h","line":81,"lineto":81,"args":[{"name":"remote","type":"struct git_remote *","comment":"the remote"}],"argline":"struct git_remote *remote","sig":"struct git_remote *","return":{"type":"const git_refspec *","comment":"a pointer to the fetch refspec or NULL if it doesn't exist"},"description":"Get the fetch refspec","comments":"","group":"remote"},"git_remote_pushspec":{"type":"function","file":"remote.h","line":89,"lineto":89,"args":[{"name":"remote","type":"struct git_remote *","comment":"the remote"}],"argline":"struct git_remote *remote","sig":"struct git_remote *","return":{"type":"const git_refspec *","comment":"a pointer to the push refspec or NULL if it doesn't exist"},"description":"Get the push refspec","comments":"","group":"remote"},"git_remote_connect":{"type":"function","file":"remote.h","line":100,"lineto":100,"args":[{"name":"remote","type":"struct git_remote *","comment":"the remote to connect to"},{"name":"direction","type":"int"}],"argline":"struct git_remote *remote, int direction","sig":"struct git_remote *::int","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Open a connection to a remote","comments":"The transport is selected based on the URL\n","group":"remote"},"git_remote_ls":{"type":"function","file":"remote.h","line":111,"lineto":111,"args":[{"name":"remote","type":"git_remote *","comment":"the remote"},{"name":"refs","type":"git_headarray *","comment":"where to store the refs"}],"argline":"git_remote *remote, git_headarray *refs","sig":"git_remote *::git_headarray *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Get a list of refs at the remote","comments":"The remote (or more exactly its transport) must be connected.\n","group":"remote"},"git_remote_free":{"type":"function","file":"remote.h","line":118,"lineto":122,"args":[{"name":"remote","type":"struct git_remote *","comment":"the remote to free"}],"argline":"struct git_remote *remote","sig":"struct git_remote *","return":{"type":"void"},"description":"Free the memory associated with a remote","comments":"","group":"remote"},"git_refspec_src":{"type":"function","file":"refspec.h","line":45,"lineto":45,"args":[{"name":"refspec","type":"const git_refspec *","comment":"the refspec"}],"argline":"const git_refspec *refspec","sig":"const git_refspec *","return":{"type":"const char *","comment":"the refspec's source specifier"},"description":"Get the source specifier","comments":"","group":"refspec"},"git_refspec_dst":{"type":"function","file":"refspec.h","line":53,"lineto":53,"args":[{"name":"refspec","type":"const git_refspec *","comment":"the refspec"}],"argline":"const git_refspec *refspec","sig":"const git_refspec *","return":{"type":"const char *","comment":"the refspec's destination specifier"},"description":"Get the destination specifier","comments":"","group":"refspec"},"git_refspec_src_match":{"type":"function","file":"refspec.h","line":63,"lineto":63,"args":[{"name":"refspec","type":"const git_refspec *","comment":"the refspec"},{"name":"refname","type":"const char *","comment":"the name of the reference to check"}],"argline":"const git_refspec *refspec, const char *refname","sig":"const git_refspec *::const char *","return":{"type":"int","comment":"GIT_SUCCESS on successful match; GIT_ENOMACH on match failure or an error code on other failure"},"description":"Match a refspec's source descriptor with a reference name","comments":"","group":"refspec"},"git_refspec_transform":{"type":"function","file":"refspec.h","line":74,"lineto":75,"args":[{"name":"out","type":"char *","comment":"where to store the target name"},{"name":"outlen","type":"size_t","comment":"the size ouf the `out` buffer"},{"name":"spec","type":"const git_refspec *","comment":"the refspec"},{"name":"name","type":"const char *","comment":"the name of the reference to transform @preturn GIT_SUCCESS, GIT_ESHORTBUFFER or another error"}],"argline":"char *out, size_t outlen, const git_refspec *spec, const char *name","sig":"char *::size_t::const git_refspec *::const char *","return":{"type":"int"},"description":"Transform a reference to its target following the refspec's rules","comments":"","group":"refspec"},"git_reference_lookup":{"type":"function","file":"refs.h","line":52,"lineto":52,"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 on success; error code otherwise"},"description":"Lookup a reference by its name in a repository.","comments":"The generated reference is owned by the repository and\nshould not be freed by the user.\n","group":"reference","examples":{"general.c":["ex/v0.14.0/general.html#git_reference_lookup-25"]}},"git_reference_create_symbolic":{"type":"function","file":"refs.h","line":73,"lineto":73,"args":[{"name":"ref_out","type":"git_reference **","comment":"Pointer to the newly created reference"},{"name":"repo","type":"git_repository *","comment":"Repository where that reference will live"},{"name":"name","type":"const char *","comment":"The name of the reference"},{"name":"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 on success; error code otherwise"},"description":"Create a new symbolic reference.","comments":"The reference will be created in the repository and written\nto the disk.\n\nThis reference is owned by the repository and shall not\nbe free'd by the user.\n\nIf `force` is true and there already exists a reference\nwith the same name, it will be overwritten.\n","group":"reference"},"git_reference_create_oid":{"type":"function","file":"refs.h","line":94,"lineto":94,"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 on success; error code otherwise"},"description":"Create a new object id reference.","comments":"The reference will be created in the repository and written\nto the disk.\n\nThis reference is owned by the repository and shall not\nbe free'd by the user.\n\nIf `force` is true and there already exists a reference\nwith the same name, it will be overwritten.\n","group":"reference"},"git_reference_oid":{"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 git_oid *","comment":"a pointer to the oid if available, NULL otherwise"},"description":"Get the OID pointed to by a reference.","comments":"Only available if the reference is direct (i.e. not symbolic)\n","group":"reference","examples":{"general.c":["ex/v0.14.0/general.html#git_reference_oid-26"]}},"git_reference_target":{"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":"const char *","comment":"a pointer to the name if available, NULL otherwise"},"description":"Get full name to the reference pointed by this reference","comments":"Only available if the reference is symbolic\n","group":"reference","examples":{"general.c":["ex/v0.14.0/general.html#git_reference_target-27"]}},"git_reference_type":{"type":"function","file":"refs.h","line":124,"lineto":124,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"git_rtype","comment":"the type"},"description":"Get the type of a reference","comments":"Either direct (GIT_REF_OID) or symbolic (GIT_REF_SYMBOLIC)\n","group":"reference","examples":{"general.c":["ex/v0.14.0/general.html#git_reference_type-28"]}},"git_reference_name":{"type":"function","file":"refs.h","line":132,"lineto":132,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"const char *","comment":"the full name for the ref"},"description":"Get the full name of a reference","comments":"","group":"reference"},"git_reference_resolve":{"type":"function","file":"refs.h","line":147,"lineto":147,"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 on success; error code otherwise"},"description":"Resolve a symbolic reference","comments":"Thie method iteratively peels a symbolic reference\nuntil it resolves to a direct reference to an OID.\n\nIf a direct reference is passed as an argument,\nthat reference is returned immediately\n","group":"reference"},"git_reference_owner":{"type":"function","file":"refs.h","line":155,"lineto":155,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"git_repository *","comment":"a pointer to the repo"},"description":"Get the repository where a reference resides","comments":"","group":"reference"},"git_reference_set_target":{"type":"function","file":"refs.h","line":170,"lineto":170,"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 on success; error code otherwise"},"description":"Set the symbolic target of a reference.","comments":"The reference must be a symbolic reference, otherwise\nthis method will fail.\n\nThe reference will be automatically updated in\nmemory and on disk.\n","group":"reference"},"git_reference_set_oid":{"type":"function","file":"refs.h","line":185,"lineto":185,"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 on success; error code otherwise"},"description":"Set the OID target of a reference.","comments":"The reference must be a direct reference, otherwise\nthis method will fail.\n\nThe reference will be automatically updated in\nmemory and on disk.\n","group":"reference"},"git_reference_rename":{"type":"function","file":"refs.h","line":198,"lineto":198,"args":[{"name":"ref","type":"git_reference *"},{"name":"new_name","type":"const char *"},{"name":"force","type":"int"}],"argline":"git_reference *ref, const char *new_name, int force","sig":"git_reference *::const char *::int","return":{"type":"int"},"description":"Rename an existing reference","comments":"This method works for both direct and symbolic references.\nThe new name will be checked for validity and may be\nmodified into a normalized form.\n\nThe refernece will be immediately renamed in-memory\nand on disk.","group":"reference"},"git_reference_delete":{"type":"function","file":"refs.h","line":209,"lineto":209,"args":[{"name":"ref","type":"git_reference *"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"int"},"description":"Delete an existing reference","comments":"This method works for both direct and symbolic references.\n\nThe reference will be immediately removed on disk and from\nmemory. The given reference pointer will no longer be valid.","group":"reference"},"git_reference_packall":{"type":"function","file":"refs.h","line":227,"lineto":227,"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 on success; error code otherwise"},"description":"Pack all the loose references in the repository","comments":"This method will load into the cache all the loose\nreferences on the repository and update the\n`packed-refs` file with them.\n\nOnce the `packed-refs` file has been written properly,\nthe loose references will be removed from disk.\n\nWARNING: calling this method may invalidate any existing\nreferences previously loaded on the cache.\n","group":"reference"},"git_reference_listall":{"type":"function","file":"refs.h","line":250,"lineto":250,"args":[{"name":"array","type":"git_strarray *","comment":"Pointer to a git_strarray structure where the 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 listing."}],"argline":"git_strarray *array, git_repository *repo, unsigned int list_flags","sig":"git_strarray *::git_repository *::unsigned int","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Fill a list with all the references that can be found\nin a repository.","comments":"The listed references may be filtered by type, or using\na bitwise OR of several types. Use the magic value\n`GIT_REF_LISTALL` to obtain all references, including\npacked ones.\n\nThe string array will be filled with the names of all\nreferences; these values are owned by the user and\nshould be free'd manually when no longer needed, using\n`git_strarray_free`.\n","group":"reference","examples":{"general.c":["ex/v0.14.0/general.html#git_reference_listall-29"]}},"git_reference_foreach":{"type":"function","file":"refs.h","line":272,"lineto":272,"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 listing."},{"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 (*callback)(const char *, void *), void *payload","sig":"git_repository *::unsigned int::int (*)(const char *, void *)::void *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Perform an operation on each reference in the repository","comments":"The processed references may be filtered by type, or using\na bitwise OR of several types. Use the magic value\n`GIT_REF_LISTALL` to obtain all references, including\npacked ones.\n\nThe `callback` function will be called for each of the references\nin the repository, and will receive the name of the reference and\nthe `payload` value passed to this method.\n","group":"reference"},"git_reflog_read":{"type":"function","file":"reflog.h","line":51,"lineto":51,"args":[{"name":"reflog","type":"git_reflog **","comment":"pointer to reflog"},{"name":"ref","type":"git_reference *","comment":"log pointer to reflog"}],"argline":"git_reflog **reflog, git_reference *ref","sig":"git_reflog **::git_reference *","return":{"type":"int","comment":"GIT_SUCCESS on success; error code otherwise"},"description":"Read the reflog for the given reference","comments":"The reflog must be freed manually by using\ngit_reflog_free().\n","group":"reflog"},"git_reflog_write":{"type":"function","file":"reflog.h","line":69,"lineto":69,"args":[{"name":"ref","type":"git_reference *","comment":"the changed reference"},{"name":"oid_old","type":"const git_oid *","comment":"the OID the reference was pointing to"},{"name":"committer","type":"const git_signature *","comment":"the signature of the committer"},{"name":"msg","type":"const char *","comment":"the reflog message"}],"argline":"git_reference *ref, const git_oid *oid_old, const git_signature *committer, const char *msg","sig":"git_reference *::const git_oid *::const git_signature *::const char *","return":{"type":"int","comment":"GIT_SUCCESS on success; error code otherwise"},"description":"Write a new reflog for the given reference","comments":"If there is no reflog file for the given\nreference yet, it will be created.\n\n`oid_old` may be NULL in case it's a new reference.\n\n`msg` is optional and can be NULL.\n","group":"reflog"},"git_reflog_entrycount":{"type":"function","file":"reflog.h","line":77,"lineto":77,"args":[{"name":"reflog","type":"git_reflog *","comment":"the previously loaded reflog"}],"argline":"git_reflog *reflog","sig":"git_reflog *","return":{"type":"unsigned int","comment":"the number of log entries"},"description":"Get the number of log entries in a reflog","comments":"","group":"reflog"},"git_reflog_entry_byindex":{"type":"function","file":"reflog.h","line":86,"lineto":86,"args":[{"name":"reflog","type":"git_reflog *","comment":"a previously loaded reflog"},{"name":"idx","type":"unsigned int","comment":"the position to lookup"}],"argline":"git_reflog *reflog, unsigned int idx","sig":"git_reflog *::unsigned int","return":{"type":"const git_reflog_entry *","comment":"the entry; NULL if not found"},"description":"Lookup an entry by its index","comments":"","group":"reflog"},"git_reflog_entry_oidold":{"type":"function","file":"reflog.h","line":94,"lineto":94,"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 old oid"},"description":"Get the old oid","comments":"","group":"reflog"},"git_reflog_entry_oidnew":{"type":"function","file":"reflog.h","line":102,"lineto":102,"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 new oid at this time"},"description":"Get the new oid","comments":"","group":"reflog"},"git_reflog_entry_committer":{"type":"function","file":"reflog.h","line":110,"lineto":110,"args":[{"name":"entry","type":"const git_reflog_entry *","comment":"a reflog entry"}],"argline":"const git_reflog_entry *entry","sig":"const git_reflog_entry *","return":{"type":"git_signature *","comment":"the committer"},"description":"Get the committer of this entry","comments":"","group":"reflog"},"git_reflog_entry_msg":{"type":"function","file":"reflog.h","line":118,"lineto":118,"args":[{"name":"entry","type":"const git_reflog_entry *","comment":"a reflog entry"}],"argline":"const git_reflog_entry *entry","sig":"const git_reflog_entry *","return":{"type":"char *","comment":"the log msg"},"description":"Get the log msg","comments":"","group":"reflog"},"git_reflog_free":{"type":"function","file":"reflog.h","line":125,"lineto":125,"args":[{"name":"reflog","type":"git_reflog *","comment":"reflog to free"}],"argline":"git_reflog *reflog","sig":"git_reflog *","return":{"type":"void"},"description":"Free the reflog","comments":"","group":"reflog"},"git_oid_fromstr":{"type":"function","file":"oid.h","line":65,"lineto":65,"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 the hex sequence and have at least the number of bytes needed for an oid encoded in hex (40 bytes)."}],"argline":"git_oid *out, const char *str","sig":"git_oid *::const char *","return":{"type":"int","comment":"GIT_SUCCESS if valid; GIT_ENOTOID on failure."},"description":"Parse a hex formatted object id into a git_oid.","comments":"","group":"oid","examples":{"general.c":["ex/v0.14.0/general.html#git_oid_fromstr-30","ex/v0.14.0/general.html#git_oid_fromstr-31","ex/v0.14.0/general.html#git_oid_fromstr-32","ex/v0.14.0/general.html#git_oid_fromstr-33","ex/v0.14.0/general.html#git_oid_fromstr-34","ex/v0.14.0/general.html#git_oid_fromstr-35","ex/v0.14.0/general.html#git_oid_fromstr-36","ex/v0.14.0/general.html#git_oid_fromstr-37"]}},"git_oid_fromstrn":{"type":"function","file":"oid.h","line":78,"lineto":78,"args":[{"name":"out","type":"git_oid *","comment":"oid structure the result is written into."},{"name":"str","type":"const char *","comment":"input hex string of at least size `length`"},{"name":"length","type":"size_t","comment":"length of the input string"}],"argline":"git_oid *out, const char *str, size_t length","sig":"git_oid *::const char *::size_t","return":{"type":"int","comment":"GIT_SUCCESS if valid; GIT_ENOTOID on failure."},"description":"Parse N characters of a hex formatted object id into a git_oid","comments":"If N is odd, N-1 characters will be parsed instead.\nThe remaining space in the git_oid will be set to zero.\n","group":"oid"},"git_oid_fromraw":{"type":"function","file":"oid.h","line":86,"lineto":86,"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"},"description":"Copy an already raw oid into a git_oid structure.","comments":"","group":"oid"},"git_oid_fmt":{"type":"function","file":"oid.h","line":98,"lineto":98,"args":[{"name":"str","type":"char *","comment":"output hex string; must be pointing at the start of the hex sequence and have at least the number of bytes needed for an oid encoded in hex (40 bytes). Only the oid digits are written; a '\\\\0' terminator must be added by 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"},"description":"Format a git_oid into a hex string.","comments":"","group":"oid","examples":{"showindex.c":["ex/v0.14.0/showindex.html#git_oid_fmt-4"],"general.c":["ex/v0.14.0/general.html#git_oid_fmt-38","ex/v0.14.0/general.html#git_oid_fmt-39","ex/v0.14.0/general.html#git_oid_fmt-40","ex/v0.14.0/general.html#git_oid_fmt-41","ex/v0.14.0/general.html#git_oid_fmt-42"]}},"git_oid_pathfmt":{"type":"function","file":"oid.h","line":113,"lineto":113,"args":[{"name":"str","type":"char *","comment":"output hex string; must be pointing at the start of the hex sequence and have at least the number of bytes needed for an oid encoded in hex (41 bytes). Only the oid digits are written; a '\\\\0' terminator must be added by 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"},"description":"Format a git_oid into a loose-object path string.","comments":"The resulting string is \"aa/...\", where \"aa\" is the first two\nhex digitis of the oid and \"...\" is the remaining 38 digits.\n","group":"oid"},"git_oid_allocfmt":{"type":"function","file":"oid.h","line":122,"lineto":122,"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 deallocate the string with free()."},"description":"Format a git_oid into a newly allocated c-string.","comments":"","group":"oid"},"git_oid_to_string":{"type":"function","file":"oid.h","line":139,"lineto":139,"args":[{"name":"out","type":"char *","comment":"the buffer into which the oid string is output."},{"name":"n","type":"size_t","comment":"the size of the out buffer."},{"name":"oid","type":"const git_oid *","comment":"the oid structure to format."}],"argline":"char *out, size_t n, const git_oid *oid","sig":"char *::size_t::const git_oid *","return":{"type":"char *","comment":"the out buffer pointer, assuming no input parameter errors, otherwise a pointer to an empty string."},"description":"Format a git_oid into a buffer as a hex format c-string.","comments":"If the buffer is smaller than GIT_OID_HEXSZ+1, then the resulting\noid c-string will be truncated to n-1 characters. If there are\nany input parameter errors (out == NULL, n == 0, oid == NULL),\nthen a pointer to an empty string is returned, so that the return\nvalue can always be printed.\n","group":"oid"},"git_oid_cpy":{"type":"function","file":"oid.h","line":147,"lineto":147,"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"},"description":"Copy an oid from one structure to another.","comments":"","group":"oid"},"git_oid_cmp":{"type":"function","file":"oid.h","line":156,"lineto":156,"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":"<0, 0, >0 if a < b, a == b, a > b."},"description":"Compare two oid structures.","comments":"","group":"oid"},"git_oid_ncmp":{"type":"function","file":"oid.h","line":167,"lineto":167,"args":[{"name":"a","type":"const git_oid *","comment":"first oid structure."},{"name":"b","type":"const git_oid *","comment":"second oid structure."},{"name":"len","type":"unsigned int","comment":"the number of hex chars to compare"}],"argline":"const git_oid *a, const git_oid *b, unsigned int len","sig":"const git_oid *::const git_oid *::unsigned int","return":{"type":"int","comment":"0 in case of a match"},"description":"Compare the first 'len' hexadecimal characters (packets of 4 bits)\nof two oid structures.","comments":"","group":"oid"},"git_oid_shorten_new":{"type":"function","file":"oid.h","line":188,"lineto":188,"args":[{"name":"min_length","type":"size_t","comment":"The minimal length for all identifiers, which will be used even if shorter OIDs would still be unique."}],"argline":"size_t min_length","sig":"size_t","return":{"type":"git_oid_shorten *","comment":"a `git_oid_shorten` instance, NULL if OOM"},"description":"Create a new OID shortener.","comments":"The OID shortener is used to process a list of OIDs\nin text form and return the shortest length that would\nuniquely identify all of them.\n\nE.g. look at the result of `git log --abbrev`.\n","group":"oid"},"git_oid_shorten_add":{"type":"function","file":"oid.h","line":214,"lineto":214,"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 added so far to the set; or an error code (<0) if an error occurs."},"description":"Add a new OID to set of shortened OIDs and calculate\nthe minimal length to uniquely identify all the OIDs in\nthe set.","comments":"The OID is expected to be a 40-char hexadecimal string.\nThe OID is owned by the user and will not be modified\nor freed.\n\nFor performance reasons, there is a hard-limit of how many\nOIDs can be added to a single set (around ~22000, assuming\na mostly randomized distribution), which should be enough\nfor any kind of program, and keeps the algorithm fast and\nmemory-efficient.\n\nAttempting to add more than those OIDs will result in a\nGIT_ENOMEM error\n","group":"oid"},"git_oid_shorten_free":{"type":"function","file":"oid.h","line":221,"lineto":221,"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"},"description":"Free an OID shortener instance","comments":"","group":"oid"},"git_odb_new":{"type":"function","file":"odb.h","line":53,"lineto":53,"args":[{"name":"out","type":"git_odb **","comment":"location to store the database pointer, if opened. Set to NULL if the open failed."}],"argline":"git_odb **out","sig":"git_odb **","return":{"type":"int","comment":"GIT_SUCCESS if the database was created; otherwise an error code describing why the open was not possible."},"description":"Create a new object database with no backends.","comments":"Before the ODB can be used for read/writing, a custom database\nbackend must be manually added using `git_odb_add_backend()`\n","group":"odb"},"git_odb_open":{"type":"function","file":"odb.h","line":72,"lineto":72,"args":[{"name":"out","type":"git_odb **","comment":"location to store the database pointer, if opened. Set to NULL if the open failed."},{"name":"objects_dir","type":"const char *","comment":"path of the backends' \"objects\" directory."}],"argline":"git_odb **out, const char *objects_dir","sig":"git_odb **::const char *","return":{"type":"int","comment":"GIT_SUCCESS if the database opened; otherwise an error code describing why the open was not possible."},"description":"Create a new object database and automatically add\nthe two default backends:","comments":"- git_odb_backend_loose: read and write loose object files\n\tfrom disk, assuming `objects_dir` as the Objects folder\n\n- git_odb_backend_pack: read objects from packfiles,\n\tassuming `objects_dir` as the Objects folder which\n\tcontains a 'pack/' folder with the corresponding data\n","group":"odb"},"git_odb_add_backend":{"type":"function","file":"odb.h","line":87,"lineto":87,"args":[{"name":"odb","type":"git_odb *","comment":"database to add the backend to"},{"name":"backend","type":"git_odb_backend *","comment":"pointer to a git_odb_backend instance"},{"name":"priority","type":"int","comment":"Value for ordering the backends queue"}],"argline":"git_odb *odb, git_odb_backend *backend, int priority","sig":"git_odb *::git_odb_backend *::int","return":{"type":"int","comment":"0 on sucess; error code otherwise"},"description":"Add a custom backend to an existing Object DB","comments":"The backends are checked in relative ordering, based on the\nvalue of the `priority` parameter.\n\nRead <odb_backends.h> for more information.\n","group":"odb"},"git_odb_add_alternate":{"type":"function","file":"odb.h","line":108,"lineto":108,"args":[{"name":"odb","type":"git_odb *","comment":"database to add the backend to"},{"name":"backend","type":"git_odb_backend *","comment":"pointer to a git_odb_backend instance"},{"name":"priority","type":"int","comment":"Value for ordering the backends queue"}],"argline":"git_odb *odb, git_odb_backend *backend, int priority","sig":"git_odb *::git_odb_backend *::int","return":{"type":"int","comment":"0 on sucess; error code otherwise"},"description":"Add a custom backend to an existing Object DB; this\nbackend will work as an alternate.","comments":"Alternate backends are always checked for objects *after*\nall the main backends have been exhausted.\n\nThe backends are checked in relative ordering, based on the\nvalue of the `priority` parameter.\n\nWriting is disabled on alternate backends.\n\nRead <odb_backends.h> for more information.\n","group":"odb"},"git_odb_close":{"type":"function","file":"odb.h","line":115,"lineto":115,"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"},"description":"Close an open object database.","comments":"","group":"odb"},"git_odb_read":{"type":"function","file":"odb.h","line":134,"lineto":134,"args":[{"name":"out","type":"git_odb_object **","comment":"pointer where to store the read object"},{"name":"db","type":"git_odb *","comment":"database to search for the object in."},{"name":"id","type":"const git_oid *","comment":"identity of the object to read."}],"argline":"git_odb_object **out, git_odb *db, const git_oid *id","sig":"git_odb_object **::git_odb *::const git_oid *","return":{"type":"int","comment":"- GIT_SUCCESS if the object was read; - GIT_ENOTFOUND if the object is not in the database."},"description":"Read an object from the database.","comments":"This method queries all available ODB backends\ntrying to read the given OID.\n\nThe returned object is reference counted and\ninternally cached, so it should be closed\nby the user once it's no longer in use.\n","group":"odb","examples":{"general.c":["ex/v0.14.0/general.html#git_odb_read-43"]}},"git_odb_read_prefix":{"type":"function","file":"odb.h","line":162,"lineto":162,"args":[{"name":"out","type":"git_odb_object **","comment":"pointer where to store the read object"},{"name":"db","type":"git_odb *","comment":"database to search for the object in."},{"name":"short_id","type":"const git_oid *","comment":"a prefix of the id of the object to read."},{"name":"len","type":"unsigned int","comment":"the length of the prefix"}],"argline":"git_odb_object **out, git_odb *db, const git_oid *short_id, unsigned int len","sig":"git_odb_object **::git_odb *::const git_oid *::unsigned int","return":{"type":"int","comment":"GIT_SUCCESS if the object was read; GIT_ENOTFOUND if the object is not in the database. GIT_EAMBIGUOUS if the prefix is ambiguous (several objects match the prefix)"},"description":"Read an object from the database, given a prefix\nof its identifier.","comments":"This method queries all available ODB backends\ntrying to match the 'len' first hexadecimal\ncharacters of the 'short_id'.\nThe remaining (GIT_OID_HEXSZ-len)*4 bits of\n'short_id' must be 0s.\n'len' must be at least GIT_OID_MINPREFIXLEN,\nand the prefix must be long enough to identify\na unique object in all the backends; the\nmethod will fail otherwise.\n\nThe returned object is reference counted and\ninternally cached, so it should be closed\nby the user once it's no longer in use.\n","group":"odb"},"git_odb_read_header":{"type":"function","file":"odb.h","line":182,"lineto":182,"args":[{"name":"len_p","type":"size_t *","comment":"pointer where to store the length"},{"name":"type_p","type":"git_otype *","comment":"pointer where to store the type"},{"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":"size_t *len_p, git_otype *type_p, git_odb *db, const git_oid *id","sig":"size_t *::git_otype *::git_odb *::const git_oid *","return":{"type":"int","comment":"- GIT_SUCCESS if the object was read; - GIT_ENOTFOUND if the object is not in the database."},"description":"Read the header of an object from the database, without\nreading its full contents.","comments":"The header includes the length and the type of an object.\n\nNote that most backends do not support reading only the header\nof an object, so the whole object will be read and then the\nheader will be returned.\n","group":"odb"},"git_odb_exists":{"type":"function","file":"odb.h","line":193,"lineto":193,"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 - 0, otherwise"},"description":"Determine if the given object can be found in the object database.","comments":"","group":"odb"},"git_odb_write":{"type":"function","file":"odb.h","line":213,"lineto":213,"args":[{"name":"oid","type":"git_oid *","comment":"pointer to store the OID result of the write"},{"name":"odb","type":"git_odb *","comment":"object database where to store the object"},{"name":"data","type":"const void *","comment":"buffer with the data to storr"},{"name":"len","type":"size_t","comment":"size of the buffer"},{"name":"type","type":"git_otype","comment":"type of the data to store"}],"argline":"git_oid *oid, git_odb *odb, const void *data, size_t len, git_otype type","sig":"git_oid *::git_odb *::const void *::size_t::git_otype","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Write an object directly into the ODB","comments":"This method writes a full object straight into the ODB.\nFor most cases, it is preferred to write objects through a write\nstream, which is both faster and less memory intensive, specially\nfor big objects.\n\nThis method is provided for compatibility with custom backends\nwhich are not able to support streaming writes\n","group":"odb","examples":{"general.c":["ex/v0.14.0/general.html#git_odb_write-44"]}},"git_odb_open_wstream":{"type":"function","file":"odb.h","line":242,"lineto":242,"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 write"},{"name":"size","type":"size_t","comment":"final size of the object that will be written"},{"name":"type","type":"git_otype","comment":"type of the object that will be written"}],"argline":"git_odb_stream **stream, git_odb *db, size_t size, git_otype type","sig":"git_odb_stream **::git_odb *::size_t::git_otype","return":{"type":"int","comment":"0 if the stream was created; error code otherwise"},"description":"Open a stream to write an object into the ODB","comments":"The type and final length of the object must be specified\nwhen opening the stream.\n\nThe returned stream will be of type `GIT_STREAM_WRONLY` and\nwill have the following methods:\n\n\t- stream->write: write `n` bytes into the stream\n\t- stream->finalize_write: close the stream and store the object in\n\t\tthe odb\n\t- stream->free: free the stream\n\nThe streaming write won't be effective until `stream->finalize_write`\nis called and returns without an error\n\nThe stream must always be free'd or will leak memory.\n\n@see git_odb_stream\n","group":"odb"},"git_odb_open_rstream":{"type":"function","file":"odb.h","line":268,"lineto":268,"args":[{"name":"stream","type":"git_odb_stream **","comment":"pointer where to store the stream"},{"name":"db","type":"git_odb *","comment":"object database where the stream will read from"},{"name":"oid","type":"const git_oid *","comment":"oid of the object the stream will read from"}],"argline":"git_odb_stream **stream, git_odb *db, const git_oid *oid","sig":"git_odb_stream **::git_odb *::const git_oid *","return":{"type":"int","comment":"0 if the stream was created; error code otherwise"},"description":"Open a stream to read an object from the ODB","comments":"Note that most backends do *not* support streaming reads\nbecause they store their objects as compressed/delta'ed blobs.\n\nIt's recommended to use `git_odb_read` instead, which is\nassured to work on all backends.\n\nThe returned stream will be of type `GIT_STREAM_RDONLY` and\nwill have the following methods:\n\n\t- stream->read: read `n` bytes from the stream\n\t- stream->free: free the stream\n\nThe stream must always be free'd or will leak memory.\n\n@see git_odb_stream\n","group":"odb"},"git_odb_hash":{"type":"function","file":"odb.h","line":282,"lineto":282,"args":[{"name":"id","type":"git_oid *","comment":"the resulting object-ID."},{"name":"data","type":"const void *","comment":"data to hash"},{"name":"len","type":"size_t","comment":"size of the data"},{"name":"type","type":"git_otype","comment":"of the data to hash"}],"argline":"git_oid *id, const void *data, size_t len, git_otype type","sig":"git_oid *::const void *::size_t::git_otype","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Determine the object-ID (sha1 hash) of a data buffer","comments":"The resulting SHA-1 OID will the itentifier for the data\nbuffer as if the data buffer it were to written to the ODB.\n","group":"odb"},"git_odb_hashfile":{"type":"function","file":"odb.h","line":295,"lineto":295,"args":[{"name":"out","type":"git_oid *","comment":"oid structure the result is written into."},{"name":"path","type":"const char *","comment":"file to read and determine object id for"},{"name":"type","type":"git_otype","comment":"the type of the object that will be hashed"}],"argline":"git_oid *out, const char *path, git_otype type","sig":"git_oid *::const char *::git_otype","return":{"type":"int","comment":"GIT_SUCCESS if valid; error code otherwise"},"description":"Read a file from disk and fill a git_oid with the object id\nthat the file would have if it were written to the Object\nDatabase as an object of the given type. Similar functionality\nto git.git's `git hash-object` without the `-w` flag.","comments":"","group":"odb"},"git_odb_object_close":{"type":"function","file":"odb.h","line":305,"lineto":305,"args":[{"name":"object","type":"git_odb_object *","comment":"object to close"}],"argline":"git_odb_object *object","sig":"git_odb_object *","return":{"type":"void"},"description":"Close an ODB object","comments":"This method must always be called once a `git_odb_object` is no\nlonger needed, otherwise memory will leak.\n","group":"odb","examples":{"general.c":["ex/v0.14.0/general.html#git_odb_object_close-45"]}},"git_odb_object_id":{"type":"function","file":"odb.h","line":315,"lineto":315,"args":[{"name":"object","type":"git_odb_object *","comment":"the object"}],"argline":"git_odb_object *object","sig":"git_odb_object *","return":{"type":"const git_oid *","comment":"a pointer to the OID"},"description":"Return the OID of an ODB object","comments":"This is the OID from which the object was read from\n","group":"odb"},"git_odb_object_data":{"type":"function","file":"odb.h","line":328,"lineto":328,"args":[{"name":"object","type":"git_odb_object *","comment":"the object"}],"argline":"git_odb_object *object","sig":"git_odb_object *","return":{"type":"const void *","comment":"a pointer to the data"},"description":"Return the data of an ODB object","comments":"This is the uncompressed, raw data as read from the ODB,\nwithout the leading header.\n\nThis pointer is owned by the object and shall not be free'd.\n","group":"odb","examples":{"general.c":["ex/v0.14.0/general.html#git_odb_object_data-46"]}},"git_odb_object_size":{"type":"function","file":"odb.h","line":339,"lineto":339,"args":[{"name":"object","type":"git_odb_object *","comment":"the object"}],"argline":"git_odb_object *object","sig":"git_odb_object *","return":{"type":"size_t","comment":"the size"},"description":"Return the size of an ODB object","comments":"This is the real size of the `data` buffer, not the\nactual size of the object.\n","group":"odb","examples":{"general.c":["ex/v0.14.0/general.html#git_odb_object_size-47"]}},"git_odb_object_type":{"type":"function","file":"odb.h","line":347,"lineto":347,"args":[{"name":"object","type":"git_odb_object *","comment":"the object"}],"argline":"git_odb_object *object","sig":"git_odb_object *","return":{"type":"git_otype","comment":"the type"},"description":"Return the type of an ODB object","comments":"","group":"odb","examples":{"general.c":["ex/v0.14.0/general.html#git_odb_object_type-48"]}},"git_object_lookup":{"type":"function","file":"object.h","line":59,"lineto":63,"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,\n\t\tgit_repository *repo,\n\t\tconst git_oid *id,\n\t\tgit_otype type","sig":"git_object **::git_repository *::const git_oid *::git_otype","return":{"type":"int","comment":"a reference to the object"},"description":"Lookup a reference to one of the objects in a repostory.","comments":"The generated reference is owned by the repository and\nshould be closed with the `git_object_close` method\ninstead of free'd manually.\n\nThe 'type' parameter must match the type of the object\nin the odb; the method will fail otherwise.\nThe special value 'GIT_OBJ_ANY' may be passed to let\nthe method guess the object's type.\n","group":"object"},"git_object_lookup_prefix":{"type":"function","file":"object.h","line":92,"lineto":97,"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,\n\t\tgit_repository *repo,\n\t\tconst git_oid *id,\n\t\tunsigned int len,\n\t\tgit_otype type","sig":"git_object **::git_repository *::const git_oid *::unsigned int::git_otype","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Lookup a reference to one of the objects in a repostory,\ngiven a prefix of its identifier (short id).","comments":"The object obtained will be so that its identifier\nmatches the first 'len' hexadecimal characters\n(packets of 4 bits) of the given 'id'.\n'len' must be at least GIT_OID_MINPREFIXLEN, and\nlong enough to identify a unique object matching\nthe prefix; otherwise the method will fail.\n\nThe generated reference is owned by the repository and\nshould be closed with the `git_object_close` method\ninstead of free'd manually.\n\nThe 'type' parameter must match the type of the object\nin the odb; the method will fail otherwise.\nThe special value 'GIT_OBJ_ANY' may be passed to let\nthe method guess the object's type.\n","group":"object"},"git_object_id":{"type":"function","file":"object.h","line":105,"lineto":105,"args":[{"name":"obj","type":"const git_object *","comment":"the repository object"}],"argline":"const git_object *obj","sig":"const git_object *","return":{"type":"const git_oid *","comment":"the SHA1 id"},"description":"Get the id (SHA1) of a repository object","comments":"","group":"object"},"git_object_type":{"type":"function","file":"object.h","line":113,"lineto":113,"args":[{"name":"obj","type":"const git_object *","comment":"the repository object"}],"argline":"const git_object *obj","sig":"const git_object *","return":{"type":"git_otype","comment":"the object's type"},"description":"Get the object type of an object","comments":"","group":"object"},"git_object_owner":{"type":"function","file":"object.h","line":127,"lineto":127,"args":[{"name":"obj","type":"const git_object *","comment":"the object"}],"argline":"const git_object *obj","sig":"const git_object *","return":{"type":"git_repository *","comment":"the repository who owns this object"},"description":"Get the repository that owns this object","comments":"Freeing or calling `git_repository_close` on the\nreturned pointer will invalidate the actual object.\n\nAny other operation may be run on the repository without\naffecting the object.\n","group":"object"},"git_object_close":{"type":"function","file":"object.h","line":144,"lineto":144,"args":[{"name":"object","type":"git_object *","comment":"the object to close"}],"argline":"git_object *object","sig":"git_object *","return":{"type":"void"},"description":"Close an open object","comments":"This method instructs the library to close an existing\nobject; note that git_objects are owned and cached by the repository\nso the object may or may not be freed after this library call,\ndepending on how agressive is the caching mechanism used\nby the repository.\n\nIMPORTANT:\nIt *is* necessary to call this method when you stop using\nan object. Failure to do so will cause a memory leak.\n","group":"object","examples":{"general.c":["ex/v0.14.0/general.html#git_object_close-49"]}},"git_object_type2string":{"type":"function","file":"object.h","line":155,"lineto":155,"args":[{"name":"type","type":"git_otype","comment":"object type to convert."}],"argline":"git_otype type","sig":"git_otype","return":{"type":"const char *","comment":"the corresponding string representation."},"description":"Convert an object type to it's string representation.","comments":"The result is a pointer to a string in static memory and\nshould not be free()'ed.\n","group":"object","examples":{"general.c":["ex/v0.14.0/general.html#git_object_type2string-50"]}},"git_object_string2type":{"type":"function","file":"object.h","line":163,"lineto":163,"args":[{"name":"str","type":"const char *","comment":"the string to convert."}],"argline":"const char *str","sig":"const char *","return":{"type":"git_otype","comment":"the corresponding git_otype."},"description":"Convert a string object type representation to it's git_otype.","comments":"","group":"object"},"git_object_typeisloose":{"type":"function","file":"object.h","line":172,"lineto":172,"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, false otherwise."},"description":"Determine if the given git_otype is a valid loose object type.","comments":"","group":"object"},"git_object__size":{"type":"function","file":"object.h","line":186,"lineto":186,"args":[{"name":"type","type":"git_otype","comment":"object type to get its size"}],"argline":"git_otype type","sig":"git_otype","return":{"type":"size_t","comment":"size in bytes of the object"},"description":"Get the size in bytes for the structure which\nacts as an in-memory representation of any given\nobject type.","comments":"For all the core types, this would the equivalent\nof calling `sizeof(git_commit)` if the core types\nwere not opaque on the external API.\n","group":"object"},"git_index_open":{"type":"function","file":"index.h","line":129,"lineto":129,"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 on success; error code otherwise"},"description":"Create a new bare Git index object as a memory representation\nof the Git index file in 'index_path', without a repository\nto back it.","comments":"Since there is no ODB or working directory behind this index,\nany Index methods which rely on these (e.g. index_add) will\nfail with the GIT_EBAREINDEX error code.\n\nIf you need to access the index of an actual repository,\nuse the `git_repository_index` wrapper.\n\nThe index must be freed once it's no longer in use.\n","group":"index"},"git_index_clear":{"type":"function","file":"index.h","line":138,"lineto":138,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"void"},"description":"Clear the contents (all the entries) of an index object.\nThis clears the index object in memory; changes must be manually\nwritten to disk for them to take effect.","comments":"","group":"index"},"git_index_free":{"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":"void"},"description":"Free an existing index object.","comments":"","group":"index","examples":{"showindex.c":["ex/v0.14.0/showindex.html#git_index_free-5"],"general.c":["ex/v0.14.0/general.html#git_index_free-51"]}},"git_index_read":{"type":"function","file":"index.h","line":154,"lineto":154,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"int","comment":"0 on success, otherwise an error code"},"description":"Update the contents of an existing index object in memory\nby reading from the hard disk.","comments":"","group":"index","examples":{"showindex.c":["ex/v0.14.0/showindex.html#git_index_read-6"]}},"git_index_write":{"type":"function","file":"index.h","line":163,"lineto":163,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"int","comment":"0 on success, otherwise an error code"},"description":"Write an existing index object from memory back to disk\nusing an atomic file lock.","comments":"","group":"index"},"git_index_find":{"type":"function","file":"index.h","line":173,"lineto":173,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"},{"name":"path","type":"const char *","comment":"path to search"}],"argline":"git_index *index, const char *path","sig":"git_index *::const char *","return":{"type":"int","comment":"an index >= 0 if found, -1 otherwise"},"description":"Find the first index of any entries which point to given\npath in the Git index.","comments":"","group":"index"},"git_index_uniq":{"type":"function","file":"index.h","line":180,"lineto":180,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"void"},"description":"Remove all entries with equal path except last added","comments":"","group":"index"},"git_index_add":{"type":"function","file":"index.h","line":195,"lineto":195,"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 on success, otherwise an error code"},"description":"Add or update an index entry from a file in disk","comments":"The file `path` must be relative to the repository's\nworking folder and must be readable.\n\nThis method will fail in bare index instances.\n","group":"index"},"git_index_add2":{"type":"function","file":"index.h","line":207,"lineto":207,"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 on success, otherwise an error code"},"description":"Add or update an index entry from an in-memory struct","comments":"A full copy (including the 'path' string) of the given\n'source_entry' will be inserted on the index.\n","group":"index"},"git_index_append":{"type":"function","file":"index.h","line":226,"lineto":226,"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 on success, otherwise an error code"},"description":"Add (append) an index entry from a file in disk","comments":"A new entry will always be inserted into the index;\nif the index already contains an entry for such\npath, the old entry will **not** be replaced.\n\nThe file `path` must be relative to the repository's\nworking folder and must be readable.\n\nThis method will fail in bare index instances.\n","group":"index"},"git_index_append2":{"type":"function","file":"index.h","line":243,"lineto":243,"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 on success, otherwise an error code"},"description":"Add (append) an index entry from an in-memory struct","comments":"A new entry will always be inserted into the index;\nif the index already contains an entry for the path\nin the `entry` struct, the old entry will **not** be\nreplaced.\n\nA full copy (including the 'path' string) of the given\n'source_entry' will be inserted on the index.\n","group":"index"},"git_index_remove":{"type":"function","file":"index.h","line":252,"lineto":252,"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 on success, otherwise an error code"},"description":"Remove an entry from the index","comments":"","group":"index"},"git_index_get":{"type":"function","file":"index.h","line":267,"lineto":267,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"},{"name":"n","type":"unsigned int","comment":"the position of the entry"}],"argline":"git_index *index, unsigned int n","sig":"git_index *::unsigned int","return":{"type":"git_index_entry *","comment":"a pointer to the entry; NULL if out of bounds"},"description":"Get a pointer to one of the entries in the index","comments":"This entry can be modified, and the changes will be written\nback to disk on the next write() call.\n\nThe entry should not be freed by the caller.\n","group":"index","examples":{"showindex.c":["ex/v0.14.0/showindex.html#git_index_get-7"],"general.c":["ex/v0.14.0/general.html#git_index_get-52"]}},"git_index_entrycount":{"type":"function","file":"index.h","line":275,"lineto":275,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"unsigned int","comment":"integer of count of current entries"},"description":"Get the count of entries currently in the index","comments":"","group":"index","examples":{"showindex.c":["ex/v0.14.0/showindex.html#git_index_entrycount-8"],"general.c":["ex/v0.14.0/general.html#git_index_entrycount-53"]}},"git_index_entrycount_unmerged":{"type":"function","file":"index.h","line":283,"lineto":283,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"unsigned int","comment":"integer of count of current unmerged entries"},"description":"Get the count of unmerged entries currently in the index","comments":"","group":"index"},"git_index_get_unmerged_bypath":{"type":"function","file":"index.h","line":295,"lineto":295,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"},{"name":"path","type":"const char *","comment":"path to search"}],"argline":"git_index *index, const char *path","sig":"git_index *::const char *","return":{"type":"const git_index_entry_unmerged *","comment":"the unmerged entry; NULL if not found"},"description":"Get an unmerged entry from the index.","comments":"The returned entry is read-only and should not be modified\nof freed by the caller.\n","group":"index"},"git_index_get_unmerged_byindex":{"type":"function","file":"index.h","line":307,"lineto":307,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"},{"name":"n","type":"unsigned int","comment":"the position of the entry"}],"argline":"git_index *index, unsigned int n","sig":"git_index *::unsigned int","return":{"type":"const git_index_entry_unmerged *","comment":"a pointer to the unmerged entry; NULL if out of bounds"},"description":"Get an unmerged entry from the index.","comments":"The returned entry is read-only and should not be modified\nof freed by the caller.\n","group":"index"},"git_index_entry_stage":{"type":"function","file":"index.h","line":320,"lineto":320,"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"},"description":"Return the stage number from a git index entry","comments":"This entry is calculated from the entrie's flag\nattribute like this:\n\n(entry->flags & GIT_IDXENTRY_STAGEMASK) >> GIT_IDXENTRY_STAGESHIFT\n","group":"index"},"git_lasterror":{"type":"function","file":"errors.h","line":141,"lineto":141,"args":[],"argline":"void","sig":"","return":{"type":"const char *","comment":"a string explaining the error"},"description":"Return a detailed error string with the latest error\nthat occurred in the library.\n@return a string explaining the error","comments":"","group":"errors"},"git_strerror":{"type":"function","file":"errors.h","line":153,"lineto":153,"args":[{"name":"num","type":"int","comment":"The error code to explain"}],"argline":"int num","sig":"int","return":{"type":"const char *","comment":"a string explaining the error code"},"description":"strerror() for the Git library","comments":"Get a string description for a given error code.\nNOTE: This method will be eventually deprecated in favor\nof the new `git_lasterror`.\n","group":"errors"},"git_clearerror":{"type":"function","file":"errors.h","line":158,"lineto":158,"args":[],"argline":"void","sig":"","return":{"type":"void"},"description":"Clear the latest library error","comments":"","group":"errors"},"git_config_find_global":{"type":"function","file":"config.h","line":70,"lineto":70,"args":[{"name":"global_config_path","type":"char *","comment":"Buffer of GIT_PATH_MAX length to store the path"}],"argline":"char *global_config_path","sig":"char *","return":{"type":"int","comment":"GIT_SUCCESS if a global configuration file has been found. Its path will be stored in `buffer`."},"description":"Locate the path to the global configuration file","comments":"The user or global configuration file is usually\nlocated in `$HOME/.gitconfig`.\n\nThis method will try to guess the full path to that\nfile, if the file exists. The returned path\nmay be used on any `git_config` call to load the\nglobal configuration file.\n","group":"config"},"git_config_open_global":{"type":"function","file":"config.h","line":81,"lineto":81,"args":[{"name":"out","type":"git_config **","comment":"Pointer to store the config instance"}],"argline":"git_config **out","sig":"git_config **","return":{"type":"int","comment":"GIT_SUCCESS on success; error code otherwise"},"description":"Open the global configuration file","comments":"Utility wrapper that calls `git_config_find_global`\nand opens the located file, if it exists.\n","group":"config"},"git_config_file__ondisk":{"type":"function","file":"config.h","line":94,"lineto":94,"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"},"description":"Create a configuration file backend for ondisk files","comments":"These are the normal `.gitconfig` files that Core Git\nprocesses. Note that you first have to add this file to a\nconfiguration object before you can query it for configuration\nvariables.\n","group":"config"},"git_config_new":{"type":"function","file":"config.h","line":105,"lineto":105,"args":[{"name":"out","type":"git_config **","comment":"pointer to the new configuration"}],"argline":"git_config **out","sig":"git_config **","return":{"type":"int","comment":"GIT_SUCCESS on success; error code otherwise"},"description":"Allocate a new configuration object","comments":"This object is empty, so you have to add a file to it before you\ncan do anything with it.\n","group":"config"},"git_config_add_file":{"type":"function","file":"config.h","line":122,"lineto":122,"args":[{"name":"cfg","type":"git_config *","comment":"the configuration to add the file to"},{"name":"file","type":"git_config_file *","comment":"the configuration file (backend) to add"},{"name":"priority","type":"int","comment":"the priority the backend should have"}],"argline":"git_config *cfg, git_config_file *file, int priority","sig":"git_config *::git_config_file *::int","return":{"type":"int","comment":"GIT_SUCCESS on success; error code otherwise"},"description":"Add a generic config file instance to an existing config","comments":"Note that the configuration object will free the file\nautomatically.\n\nFurther queries on this config object will access each\nof the config file instances in order (instances with\na higher priority will be accessed first).\n","group":"config"},"git_config_add_file_ondisk":{"type":"function","file":"config.h","line":143,"lineto":143,"args":[{"name":"cfg","type":"git_config *","comment":"the configuration to add the file to"},{"name":"path","type":"const char *","comment":"path to the configuration file (backend) to add"},{"name":"priority","type":"int","comment":"the priority the backend should have"}],"argline":"git_config *cfg, const char *path, int priority","sig":"git_config *::const char *::int","return":{"type":"int","comment":"GIT_SUCCESS on success; error code otherwise"},"description":"Add an on-disk config file instance to an existing config","comments":"The on-disk file pointed at by `path` will be opened and\nparsed; it's expected to be a native Git config file following\nthe default Git config syntax (see man git-config).\n\nNote that the configuration object will free the file\nautomatically.\n\nFurther queries on this config object will access each\nof the config file instances in order (instances with\na higher priority will be accessed first).\n","group":"config"},"git_config_open_ondisk":{"type":"function","file":"config.h","line":158,"lineto":158,"args":[{"name":"cfg","type":"git_config **","comment":"The configuration instance to create"},{"name":"path","type":"const char *","comment":"Path to the on-disk file to open"}],"argline":"git_config **cfg, const char *path","sig":"git_config **::const char *","return":{"type":"int","comment":"GIT_SUCCESS on success; error code otherwise"},"description":"Create a new config instance containing a single on-disk file","comments":"This method is a simple utility wrapper for the following sequence\nof calls:\n- git_config_new\n- git_config_add_file_ondisk\n","group":"config","examples":{"general.c":["ex/v0.14.0/general.html#git_config_open_ondisk-54"]}},"git_config_free":{"type":"function","file":"config.h","line":165,"lineto":165,"args":[{"name":"cfg","type":"git_config *","comment":"the configuration to free"}],"argline":"git_config *cfg","sig":"git_config *","return":{"type":"void"},"description":"Free the configuration and its associated memory and files","comments":"","group":"config"},"git_config_get_int":{"type":"function","file":"config.h","line":175,"lineto":175,"args":[{"name":"cfg","type":"git_config *","comment":"where to look for the variable"},{"name":"name","type":"const char *","comment":"the variable's name"},{"name":"out","type":"int *","comment":"pointer to the variable where the value should be stored"}],"argline":"git_config *cfg, const char *name, int *out","sig":"git_config *::const char *::int *","return":{"type":"int","comment":"GIT_SUCCESS on success; error code otherwise"},"description":"Get the value of an integer config variable.","comments":"","group":"config","examples":{"general.c":["ex/v0.14.0/general.html#git_config_get_int-55"]}},"git_config_get_long":{"type":"function","file":"config.h","line":185,"lineto":185,"args":[{"name":"cfg","type":"git_config *","comment":"where to look for the variable"},{"name":"name","type":"const char *","comment":"the variable's name"},{"name":"out","type":"long int *","comment":"pointer to the variable where the value should be stored"}],"argline":"git_config *cfg, const char *name, long int *out","sig":"git_config *::const char *::long int *","return":{"type":"int","comment":"GIT_SUCCESS on success; error code otherwise"},"description":"Get the value of a long integer config variable.","comments":"","group":"config"},"git_config_get_bool":{"type":"function","file":"config.h","line":198,"lineto":198,"args":[{"name":"cfg","type":"git_config *","comment":"where to look for the variable"},{"name":"name","type":"const char *","comment":"the variable's name"},{"name":"out","type":"int *","comment":"pointer to the variable where the value should be stored"}],"argline":"git_config *cfg, const char *name, int *out","sig":"git_config *::const char *::int *","return":{"type":"int","comment":"GIT_SUCCESS on success; error code otherwise"},"description":"Get the value of a boolean config variable.","comments":"This function uses the usual C convention of 0 being false and\nanything else true.\n","group":"config"},"git_config_get_string":{"type":"function","file":"config.h","line":211,"lineto":211,"args":[{"name":"cfg","type":"git_config *","comment":"where to look for the variable"},{"name":"name","type":"const char *","comment":"the variable's name"},{"name":"out","type":"const char **","comment":"pointer to the variable's value"}],"argline":"git_config *cfg, const char *name, const char **out","sig":"git_config *::const char *::const char **","return":{"type":"int","comment":"GIT_SUCCESS on success; error code otherwise"},"description":"Get the value of a string config variable.","comments":"The string is owned by the variable and should not be freed by the\nuser.\n","group":"config","examples":{"general.c":["ex/v0.14.0/general.html#git_config_get_string-56"]}},"git_config_set_int":{"type":"function","file":"config.h","line":221,"lineto":221,"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":"Integer value for the variable"}],"argline":"git_config *cfg, const char *name, int value","sig":"git_config *::const char *::int","return":{"type":"int","comment":"GIT_SUCCESS on success; error code otherwise"},"description":"Set the value of an integer config variable.","comments":"","group":"config"},"git_config_set_long":{"type":"function","file":"config.h","line":231,"lineto":231,"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":"long int","comment":"Long integer value for the variable"}],"argline":"git_config *cfg, const char *name, long int value","sig":"git_config *::const char *::long int","return":{"type":"int","comment":"GIT_SUCCESS on success; error code otherwise"},"description":"Set the value of a long integer config variable.","comments":"","group":"config"},"git_config_set_bool":{"type":"function","file":"config.h","line":241,"lineto":241,"args":[{"name":"cfg","type":"git_config *","comment":"where to look for the variable"},{"name":"name","type":"const char *","comment":"the variable's name"},{"name":"value","type":"int","comment":"the value to store"}],"argline":"git_config *cfg, const char *name, int value","sig":"git_config *::const char *::int","return":{"type":"int","comment":"GIT_SUCCESS on success; error code otherwise"},"description":"Set the value of a boolean config variable.","comments":"","group":"config"},"git_config_set_string":{"type":"function","file":"config.h","line":254,"lineto":254,"args":[{"name":"cfg","type":"git_config *","comment":"where to look for the variable"},{"name":"name","type":"const char *","comment":"the variable's name"},{"name":"value","type":"const char *","comment":"the string to store."}],"argline":"git_config *cfg, const char *name, const char *value","sig":"git_config *::const char *::const char *","return":{"type":"int","comment":"GIT_SUCCESS on success; error code otherwise"},"description":"Set the value of a string config variable.","comments":"A copy of the string is made and the user is free to use it\nafterwards.\n","group":"config"},"git_config_delete":{"type":"function","file":"config.h","line":262,"lineto":262,"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"},"description":"Delete a config variable","comments":"","group":"config"},"git_config_foreach":{"type":"function","file":"config.h","line":277,"lineto":280,"args":[{"name":"cfg","type":"git_config *","comment":"where to get the variables from"},{"name":"callback","type":"int (*)(const char *var_name, const char *value, void *payload)","comment":"the function to call on each variable"},{"name":"payload","type":"void *","comment":"the data to pass to the callback"}],"argline":"git_config *cfg,\n\tint (*callback)(const char *var_name, const char *value, void *payload),\n\tvoid *payload","sig":"git_config *::int (*)(const char *var_name, const char *value, void *payload)::void *","return":{"type":"int","comment":"GIT_SUCCESS or the return value of the callback which didn't return 0"},"description":"Perform an operation on each config variable.","comments":"The callback receives the normalized name and value of each variable\nin the config backend, and the data pointer passed to this function.\nAs soon as one of the callback functions returns something other than 0,\nthis function returns that value.\n","group":"config"},"git_libgit2_version":{"type":"function","file":"common.h","line":124,"lineto":124,"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"},"description":"Return the version of the libgit2 library\nbeing currently used.","comments":"","group":"libgit2"},"git_commit_lookup":{"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 an 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 on success; error code otherwise"},"description":"Lookup a commit object from a repository.","comments":"","group":"commit","examples":{"general.c":["ex/v0.14.0/general.html#git_commit_lookup-57","ex/v0.14.0/general.html#git_commit_lookup-58","ex/v0.14.0/general.html#git_commit_lookup-59"]}},"git_commit_lookup_prefix":{"type":"function","file":"commit.h","line":69,"lineto":72,"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 an annotated tag it will be peeled back to the commit."},{"name":"len","type":"unsigned","comment":"the length of the short identifier"}],"argline":"git_commit **commit, git_repository *repo, const git_oid *id, unsigned len","sig":"git_commit **::git_repository *::const git_oid *::unsigned","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Lookup a commit object from a repository,\ngiven a prefix of its identifier (short id).","comments":"@see git_object_lookup_prefix\n","group":"commit"},"git_commit_close":{"type":"function","file":"commit.h","line":85,"lineto":88,"args":[{"name":"commit","type":"git_commit *","comment":"the commit to close"}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"void"},"description":"Close an open commit","comments":"This is a wrapper around git_object_close()\n\nIMPORTANT:\nIt *is* necessary to call this method when you stop\nusing a commit. Failure to do so will cause a memory leak.\n","group":"commit","examples":{"general.c":["ex/v0.14.0/general.html#git_commit_close-60","ex/v0.14.0/general.html#git_commit_close-61","ex/v0.14.0/general.html#git_commit_close-62","ex/v0.14.0/general.html#git_commit_close-63"]}},"git_commit_id":{"type":"function","file":"commit.h","line":97,"lineto":97,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"const git_oid *","comment":"object identity for the commit."},"description":"Get the id of a commit.","comments":"","group":"commit","examples":{"general.c":["ex/v0.14.0/general.html#git_commit_id-64"]}},"git_commit_message_short":{"type":"function","file":"commit.h","line":105,"lineto":105,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"const char *","comment":"the short message of a commit"},"description":"Get the short (one line) message of a commit.","comments":"","group":"commit","examples":{"general.c":["ex/v0.14.0/general.html#git_commit_message_short-65","ex/v0.14.0/general.html#git_commit_message_short-66"]}},"git_commit_message":{"type":"function","file":"commit.h","line":113,"lineto":113,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"const char *","comment":"the message of a commit"},"description":"Get the full message of a commit.","comments":"","group":"commit","examples":{"general.c":["ex/v0.14.0/general.html#git_commit_message-67"]}},"git_commit_time":{"type":"function","file":"commit.h","line":121,"lineto":121,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"git_time_t","comment":"the time of a commit"},"description":"Get the commit time (i.e. committer time) of a commit.","comments":"","group":"commit","examples":{"general.c":["ex/v0.14.0/general.html#git_commit_time-68","ex/v0.14.0/general.html#git_commit_time-69"]}},"git_commit_time_offset":{"type":"function","file":"commit.h","line":129,"lineto":129,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"int","comment":"positive or negative timezone offset, in minutes from UTC"},"description":"Get the commit timezone offset (i.e. committer's preferred timezone) of a commit.","comments":"","group":"commit"},"git_commit_committer":{"type":"function","file":"commit.h","line":137,"lineto":137,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"const git_signature *","comment":"the committer of a commit"},"description":"Get the committer of a commit.","comments":"","group":"commit","examples":{"general.c":["ex/v0.14.0/general.html#git_commit_committer-70"]}},"git_commit_author":{"type":"function","file":"commit.h","line":145,"lineto":145,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"const git_signature *","comment":"the author of a commit"},"description":"Get the author of a commit.","comments":"","group":"commit","examples":{"general.c":["ex/v0.14.0/general.html#git_commit_author-71","ex/v0.14.0/general.html#git_commit_author-72"]}},"git_commit_tree":{"type":"function","file":"commit.h","line":154,"lineto":154,"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 on success; error code otherwise"},"description":"Get the tree pointed to by a commit.","comments":"","group":"commit"},"git_commit_tree_oid":{"type":"function","file":"commit.h","line":164,"lineto":164,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"const git_oid *","comment":"the id of tree pointed to by commit."},"description":"Get the id of the tree pointed to by a commit. This differs from\n`git_commit_tree` in that no attempts are made to fetch an object\nfrom the ODB.","comments":"","group":"commit"},"git_commit_parentcount":{"type":"function","file":"commit.h","line":172,"lineto":172,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"unsigned int","comment":"integer of count of parents"},"description":"Get the number of parents of this commit","comments":"","group":"commit","examples":{"general.c":["ex/v0.14.0/general.html#git_commit_parentcount-73"]}},"git_commit_parent":{"type":"function","file":"commit.h","line":182,"lineto":182,"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 on success; error code otherwise"},"description":"Get the specified parent of the commit.","comments":"","group":"commit","examples":{"general.c":["ex/v0.14.0/general.html#git_commit_parent-74"]}},"git_commit_parent_oid":{"type":"function","file":"commit.h","line":193,"lineto":193,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."},{"name":"n","type":"unsigned int","comment":"the position of the parent (from 0 to `parentcount`)"}],"argline":"git_commit *commit, unsigned int n","sig":"git_commit *::unsigned int","return":{"type":"const git_oid *","comment":"the id of the parent, NULL on error."},"description":"Get the oid of a specified parent for a commit. This is different from\n`git_commit_parent`, which will attempt to load the parent commit from\nthe ODB.","comments":"","group":"commit"},"git_commit_create":{"type":"function","file":"commit.h","line":233,"lineto":242,"args":[{"name":"oid","type":"git_oid *","comment":"Pointer where to store the OID of the newly 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 will be updated to point to this commit. If the reference is not direct, it will be resolved to a direct reference. Use \"HEAD\" to update the HEAD of the current branch and make it point to this commit"},{"name":"author","type":"const git_signature *","comment":"Signature representing the author and the authory time of this commit"},{"name":"committer","type":"const git_signature *","comment":"Signature representing the committer and the commit time of this commit"},{"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 be used as the tree for the commit. This tree object must also be owned by the given `repo`."},{"name":"parent_count","type":"int","comment":"Number of parents for this commit"}],"argline":"git_oid *oid,\n\t\tgit_repository *repo,\n\t\tconst char *update_ref,\n\t\tconst git_signature *author,\n\t\tconst git_signature *committer,\n\t\tconst char *message,\n\t\tconst git_tree *tree,\n\t\tint parent_count,\n\t\tconst git_commit *parents[]","sig":"git_oid *::git_repository *::const char *::const git_signature *::const git_signature *::const char *::const git_tree *::int","return":{"type":"int","comment":"0 on success; error code otherwise The created commit will be written to the Object Database and the given reference will be updated to point to it"},"description":"Create a new commit in the repository using `git_object`\ninstances as parameters.","comments":"","group":"commit"},"git_commit_create_v":{"type":"function","file":"commit.h","line":257,"lineto":266,"args":[{"name":"oid","type":"git_oid *"},{"name":"repo","type":"git_repository *"},{"name":"update_ref","type":"const char *"},{"name":"author","type":"const git_signature *"},{"name":"committer","type":"const git_signature *"},{"name":"message","type":"const char *"},{"name":"tree","type":"const git_tree *"},{"name":"parent_count","type":"int"}],"argline":"git_oid *oid,\n\t\tgit_repository *repo,\n\t\tconst char *update_ref,\n\t\tconst git_signature *author,\n\t\tconst git_signature *committer,\n\t\tconst char *message,\n\t\tconst git_tree *tree,\n\t\tint parent_count,\n\t\t...","sig":"git_oid *::git_repository *::const char *::const git_signature *::const git_signature *::const char *::const git_tree *::int","return":{"type":"int"},"description":"Create a new commit in the repository using a variable\nargument list.","comments":"The parents for the commit are specified as a variable\nlist of pointers to `const git_commit *`. Note that this\nis a convenience method which may not be safe to export\nfor certain languages or compilers\n\nAll other parameters remain the same\n\n@see git_commit_create","group":"commit","examples":{"general.c":["ex/v0.14.0/general.html#git_commit_create_v-75"]}},"git_blob_lookup":{"type":"function","file":"blob.h","line":50,"lineto":53,"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 on success; error code otherwise"},"description":"Lookup a blob object from a repository.","comments":"","group":"blob","examples":{"general.c":["ex/v0.14.0/general.html#git_blob_lookup-76"]}},"git_blob_lookup_prefix":{"type":"function","file":"blob.h","line":67,"lineto":70,"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 on success; error code otherwise"},"description":"Lookup a blob object from a repository,\ngiven a prefix of its identifier (short id).","comments":"@see git_object_lookup_prefix\n","group":"blob"},"git_blob_close":{"type":"function","file":"blob.h","line":83,"lineto":86,"args":[{"name":"blob","type":"git_blob *","comment":"the blob to close"}],"argline":"git_blob *blob","sig":"git_blob *","return":{"type":"void"},"description":"Close an open blob","comments":"This is a wrapper around git_object_close()\n\nIMPORTANT:\nIt *is* necessary to call this method when you stop\nusing a blob. Failure to do so will cause a memory leak.\n","group":"blob"},"git_blob_rawcontent":{"type":"function","file":"blob.h","line":101,"lineto":101,"args":[{"name":"blob","type":"git_blob *","comment":"pointer to the blob"}],"argline":"git_blob *blob","sig":"git_blob *","return":{"type":"const void *","comment":"the pointer; NULL if the blob has no contents"},"description":"Get a read-only buffer with the raw content of a blob.","comments":"A pointer to the raw content of a blob is returned;\nthis pointer is owned internally by the object and shall\nnot be free'd. The pointer may be invalidated at a later\ntime.\n","group":"blob","examples":{"general.c":["ex/v0.14.0/general.html#git_blob_rawcontent-77"]}},"git_blob_rawsize":{"type":"function","file":"blob.h","line":109,"lineto":109,"args":[{"name":"blob","type":"git_blob *","comment":"pointer to the blob"}],"argline":"git_blob *blob","sig":"git_blob *","return":{"type":"int","comment":"size on bytes"},"description":"Get the size in bytes of the contents of a blob","comments":"","group":"blob","examples":{"general.c":["ex/v0.14.0/general.html#git_blob_rawsize-78","ex/v0.14.0/general.html#git_blob_rawsize-79"]}},"git_blob_create_fromfile":{"type":"function","file":"blob.h","line":122,"lineto":122,"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. this repository cannot be bare"},{"name":"path","type":"const char *","comment":"file from which the blob will be created, relative 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 on success; error code otherwise"},"description":"Read a file from the working folder of a repository\nand write it to the Object Database as a loose blob","comments":"","group":"blob"},"git_blob_create_frombuffer":{"type":"function","file":"blob.h","line":134,"lineto":134,"args":[{"name":"oid","type":"git_oid *","comment":"return the oid of the written blob"},{"name":"repo","type":"git_repository *","comment":"repository where to blob will be written"},{"name":"buffer","type":"const void *","comment":"data to be written into the blob"},{"name":"len","type":"size_t","comment":"length of the data"}],"argline":"git_oid *oid, git_repository *repo, const void *buffer, size_t len","sig":"git_oid *::git_repository *::const void *::size_t","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Write an in-memory buffer to the ODB as a blob","comments":"","group":"blob"}},"globals":{"GIT_SORT_NONE":{"value":"(0)","file":"revwalk.h","line":47,"comments":"Sort the repository contents in no particular ordering;\nthis sorting is arbitrary, implementation-specific\nand subject to change at any time.\nThis is the default sorting for new walkers."},"GIT_SORT_TOPOLOGICAL":{"value":"(1 << 0)","file":"revwalk.h","line":54,"comments":"Sort the repository contents in topological order\n(parents before children); this sorting mode\ncan be combined with time sorting."},"GIT_SORT_TIME":{"value":"(1 << 1)","file":"revwalk.h","line":61,"comments":"Sort the repository contents by commit time;\nthis sorting mode can be combined with\ntopological sorting."},"GIT_SORT_REVERSE":{"value":"(1 << 2)","file":"revwalk.h","line":68,"comments":"Iterate through the repository contents in reverse\norder; this sorting mode can be combined with\nany of the above."},"GIT_OID_RAWSZ":{"value":"20","file":"oid.h","line":41,"comments":"Size (in bytes) of a raw/binary oid"},"GIT_OID_HEXSZ":{"value":"(GIT_OID_RAWSZ * 2)","file":"oid.h","line":44,"comments":"Size (in bytes) of a hex formatted oid"},"GIT_OID_MINPREFIXLEN":{"value":"4","file":"oid.h","line":48,"comments":"Minimum length (in number of hex characters,\ni.e. packets of 4 bits) of an oid prefix"},"GIT_BEGIN_DECL":{"value":"","file":"common.h","line":37,"comments":"Start declarations in C mode"},"GIT_END_DECL":{"value":"","file":"common.h","line":39,"comments":"End declarations in C mode"},"GIT_EXTERN(type)":{"value":"extern __attribute__((visibility(\"default\"))) type","file":"common.h","line":43,"comments":"Declare a public function exported for application use."},"GIT_EXTERN_TLS(type)":{"value":"extern __attribute__((visibility(\"default\"))) GIT_TLS type","file":"common.h","line":54,"comments":"Declare a public TLS symbol exported for application use."},"GIT_INLINE(type)":{"value":"static __inline type","file":"common.h","line":66,"comments":"Declare a function as always inlined."},"GIT_FORMAT_PRINTF(a,b)":{"value":"__attribute__((format (printf, a, b)))","file":"common.h","line":73,"comments":"Declare a function's takes printf style arguments."},"GIT_PATH_LIST_SEPARATOR":{"value":"';'","file":"common.h","line":98,"comments":"The separator used in path list strings (ie like in the PATH\nenvironment variable). A semi-colon \";\" is used on Windows, and\na colon \":\" for all other systems."},"GIT_PATH_MAX":{"value":"4096","file":"common.h","line":107,"comments":"The maximum length of a git valid git path."}},"types":[["GIT_STATUS",{"type":"enum","file":"status.h","line":47,"lineto":52,"block":"GIT_STATUS_WT_NEW\nGIT_STATUS_WT_MODIFIED\nGIT_STATUS_WT_DELETED\nGIT_STATUS_IGNORED","tdef":null,"comments":"Flags for worktree status","used":{"returns":[],"needs":[]}}],["GIT_STATUS_INDEX",{"type":"enum","file":"status.h","line":42,"lineto":44,"block":"GIT_STATUS_INDEX_NEW\nGIT_STATUS_INDEX_MODIFIED\nGIT_STATUS_INDEX_DELETED","tdef":null,"comments":"Flags for index status","used":{"returns":[],"needs":[]}}],["git_blob",{"type":"struct","value":"git_blob","file":"types.h","line":121,"lineto":121,"block":"","tdef":"typedef","comments":"In-memory representation of a blob object.","used":{"returns":[],"needs":["git_blob_close","git_blob_lookup","git_blob_lookup_prefix","git_blob_rawcontent","git_blob_rawsize"]}}],["git_commit",{"type":"struct","value":"git_commit","file":"types.h","line":124,"lineto":124,"block":"","tdef":"typedef","comments":"Parsed representation of a commit object.","used":{"returns":[],"needs":["git_commit_author","git_commit_close","git_commit_committer","git_commit_create","git_commit_id","git_commit_lookup","git_commit_lookup_prefix","git_commit_message","git_commit_message_short","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",{"type":"struct","value":"git_config","file":"types.h","line":139,"lineto":139,"block":"","tdef":"typedef","comments":"Memory representation of a set of config files","used":{"returns":[],"needs":["git_config_add_file","git_config_add_file_ondisk","git_config_delete","git_config_foreach","git_config_free","git_config_get_bool","git_config_get_int","git_config_get_long","git_config_get_string","git_config_new","git_config_open_global","git_config_open_ondisk","git_config_set_bool","git_config_set_int","git_config_set_long","git_config_set_string","git_remote_get","git_repository_config"]}}],["git_config_file",{"type":"struct","value":"git_config_file","file":"config.h","line":44,"lineto":53,"block":"struct git_config *cfg\nint (*open)(struct git_config_file *)\nint (*get)(struct git_config_file *, const char *key, const char **value)\nint (*set)(struct git_config_file *, const char *key, const char *value)\nint (*foreach)(struct git_config_file *, int (*fn)(const char *, const char *, void *), void *data)\nvoid (*free)(struct git_config_file *)","tdef":null,"comments":"Generic backend that implements the interface to\naccess a configuration file","used":{"returns":[],"needs":["git_config_add_file","git_config_file__ondisk"]}}],["git_headarray",{"type":"struct","value":"git_headarray","file":"net.h","line":62,"lineto":67,"block":"unsigned int len\nstruct git_remote_head **heads","tdef":null,"comments":"Array of remote heads","used":{"returns":[],"needs":["git_remote_ls"]}}],["git_index",{"type":"struct","value":"git_index","file":"types.h","line":136,"lineto":136,"block":"","tdef":"typedef","comments":"Memory representation of an index file.","used":{"returns":[],"needs":["git_index_add","git_index_add2","git_index_append","git_index_append2","git_index_clear","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_remove","git_index_uniq","git_index_write","git_repository_index","git_tree_create_fromindex"]}}],["git_index_entry",{"type":"struct","value":"git_index_entry","file":"index.h","line":85,"lineto":102,"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\nconst char *path","tdef":"typedef","comments":"Memory representation of a file entry in the index.","used":{"returns":["git_index_get"],"needs":["git_index_add2","git_index_append2","git_index_entry_stage"]}}],["git_index_entry_unmerged",{"type":"struct","value":"git_index_entry_unmerged","file":"index.h","line":105,"lineto":109,"block":"unsigned int mode[3]\ngit_oid oid[3]\nconst char *path","tdef":"typedef","comments":"Representation of an unmerged file entry in the index.","used":{"returns":["git_index_get_unmerged_byindex","git_index_get_unmerged_bypath"],"needs":[]}}],["git_index_time",{"type":"struct","value":"git_index_time","file":"index.h","line":78,"lineto":82,"block":"git_time_t seconds\nunsigned int nanoseconds","tdef":"typedef","comments":"Time used in a git index entry","used":{"returns":[],"needs":[]}}],["git_object",{"type":"struct","value":"git_object","file":"types.h","line":112,"lineto":112,"block":"","tdef":"typedef","comments":"Representation of a generic object in a repository","used":{"returns":[],"needs":["git_object_close","git_object_id","git_object_lookup","git_object_lookup_prefix","git_object_owner","git_object_type","git_tag_create","git_tag_create_lightweight","git_tag_target","git_tree_entry_2object"]}}],["git_odb",{"type":"struct","value":"git_odb","file":"types.h","line":94,"lineto":94,"block":"","tdef":"typedef","comments":"An open object database handle.","used":{"returns":["git_repository_database"],"needs":["git_odb_add_alternate","git_odb_add_backend","git_odb_close","git_odb_exists","git_odb_new","git_odb_open","git_odb_open_rstream","git_odb_open_wstream","git_odb_read","git_odb_read_header","git_odb_read_prefix","git_odb_write","git_repository_open3"]}}],["git_odb_backend",{"type":"struct","value":"git_odb_backend","file":"odb_backend.h","line":44,"lineto":93,"block":"git_odb *odb\nint (* read)(void **, size_t *, git_otype *, struct git_odb_backend *, const git_oid *)\nint (* read_prefix)(git_oid *, void **, size_t *, git_otype *, struct git_odb_backend *, const git_oid *, unsigned int)\nint (* read_header)(size_t *, git_otype *, struct git_odb_backend *, const git_oid *)\nint (* write)(git_oid *, struct git_odb_backend *, const void *, size_t, git_otype)\nint (* writestream)(struct git_odb_stream **, struct git_odb_backend *, size_t, git_otype)\nint (* readstream)(struct git_odb_stream **, struct git_odb_backend *, const git_oid *)\nint (* exists)(struct git_odb_backend *, const git_oid *)\nvoid (* free)(struct git_odb_backend *)","tdef":null,"comments":"An instance for a custom backend","used":{"returns":[],"needs":["git_odb_add_alternate","git_odb_add_backend"]}}],["git_odb_object",{"type":"struct","value":"git_odb_object","file":"types.h","line":100,"lineto":100,"block":"","tdef":"typedef","comments":"An object read from the ODB","used":{"returns":[],"needs":["git_odb_object_close","git_odb_object_data","git_odb_object_id","git_odb_object_size","git_odb_object_type","git_odb_read","git_odb_read_prefix"]}}],["git_odb_stream",{"type":"struct","value":"git_odb_stream","file":"odb_backend.h","line":96,"lineto":104,"block":"struct git_odb_backend *backend\nint mode\nint (*read)(struct git_odb_stream *stream, char *buffer, size_t len)\nint (*write)(struct git_odb_stream *stream, const char *buffer, size_t len)\nint (*finalize_write)(git_oid *oid_p, struct git_odb_stream *stream)\nvoid (*free)(struct git_odb_stream *stream)","tdef":null,"comments":"A stream to read/write from a backend","used":{"returns":[],"needs":["git_odb_open_rstream","git_odb_open_wstream"]}}],["git_odb_streammode",{"type":"enum","file":"odb_backend.h","line":107,"lineto":118,"block":"GIT_STREAM_RDONLY\nGIT_STREAM_WRONLY\nGIT_STREAM_RW","tdef":"typedef","comments":"Streaming mode","used":{"returns":[],"needs":[]}}],["git_oid",{"type":"struct","value":"git_oid","file":"oid.h","line":51,"lineto":54,"block":"unsigned char id[GIT_OID_RAWSZ]","tdef":"typedef","comments":"Unique identity of any object (commit, tree, blob, tag).","used":{"returns":["git_commit_id","git_commit_parent_oid","git_commit_tree_oid","git_object_id","git_odb_object_id","git_reference_oid","git_tag_id","git_tag_target_oid","git_tree_entry_id","git_tree_id"],"needs":["git_blob_create_frombuffer","git_blob_create_fromfile","git_blob_lookup","git_blob_lookup_prefix","git_commit_create","git_commit_create_v","git_commit_lookup","git_commit_lookup_prefix","git_object_lookup","git_object_lookup_prefix","git_odb_exists","git_odb_hash","git_odb_hashfile","git_odb_open_rstream","git_odb_read","git_odb_read_header","git_odb_read_prefix","git_odb_write","git_oid_allocfmt","git_oid_cmp","git_oid_cpy","git_oid_fmt","git_oid_fromraw","git_oid_fromstr","git_oid_fromstrn","git_oid_ncmp","git_oid_pathfmt","git_oid_to_string","git_reference_create_oid","git_reference_set_oid","git_reflog_write","git_revwalk_hide","git_revwalk_next","git_revwalk_push","git_tag_create","git_tag_create_frombuffer","git_tag_create_lightweight","git_tag_lookup","git_tag_lookup_prefix","git_tree_create_fromindex","git_tree_lookup","git_tree_lookup_prefix","git_treebuilder_insert","git_treebuilder_write"]}}],["git_oid_shorten",{"type":"struct","value":"git_oid_shorten","file":"oid.h","line":172,"lineto":172,"block":"","tdef":"typedef","comments":"OID Shortener object","used":{"returns":["git_oid_shorten_new"],"needs":["git_oid_shorten_add","git_oid_shorten_free"]}}],["git_otype",{"type":"enum","file":"types.h","line":80,"lineto":91,"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","comments":"Basic type (loose or packed) of any Git object.","used":{"returns":[],"needs":["git_object__size","git_object_lookup","git_object_lookup_prefix","git_object_type2string","git_object_typeisloose","git_odb_hash","git_odb_hashfile","git_odb_open_wstream","git_odb_read_header","git_odb_write"]}}],["git_reference",{"type":"struct","value":"git_reference","file":"types.h","line":164,"lineto":164,"block":"","tdef":"typedef","comments":"In-memory representation of a reference.","used":{"returns":[],"needs":["git_reference_create_oid","git_reference_create_symbolic","git_reference_delete","git_reference_lookup","git_reference_name","git_reference_oid","git_reference_owner","git_reference_rename","git_reference_resolve","git_reference_set_oid","git_reference_set_target","git_reference_target","git_reference_type","git_reflog_read","git_reflog_write"]}}],["git_reflog",{"type":"struct","value":"git_reflog","file":"types.h","line":148,"lineto":148,"block":"","tdef":"typedef","comments":"Representation of a reference log","used":{"returns":[],"needs":["git_reflog_entry_byindex","git_reflog_entrycount","git_reflog_free","git_reflog_read"]}}],["git_reflog_entry",{"type":"struct","value":"git_reflog_entry","file":"types.h","line":145,"lineto":145,"block":"","tdef":"typedef","comments":"Representation of a reference log entry","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",{"type":"struct","value":"git_remote_head","file":"net.h","line":54,"lineto":57,"block":"git_oid oid\nchar *name","tdef":null,"comments":"Remote head description, given out on `ls` calls.","used":{"returns":[],"needs":[]}}],["git_repository",{"type":"struct","value":"git_repository","file":"types.h","line":109,"lineto":109,"block":"","tdef":"typedef","comments":"Representation of an existing git repository,\nincluding all its object contents","used":{"returns":["git_object_owner","git_reference_owner","git_revwalk_repository"],"needs":["git_blob_create_frombuffer","git_blob_create_fromfile","git_blob_lookup","git_blob_lookup_prefix","git_commit_create","git_commit_create_v","git_commit_lookup","git_commit_lookup_prefix","git_object_lookup","git_object_lookup_prefix","git_reference_create_oid","git_reference_create_symbolic","git_reference_foreach","git_reference_listall","git_reference_lookup","git_reference_packall","git_repository_config","git_repository_database","git_repository_free","git_repository_head_detached","git_repository_head_orphan","git_repository_index","git_repository_init","git_repository_is_bare","git_repository_is_empty","git_repository_open","git_repository_open2","git_repository_open3","git_repository_path","git_revwalk_new","git_status_file","git_status_foreach","git_tag_create","git_tag_create_frombuffer","git_tag_create_lightweight","git_tag_delete","git_tag_list","git_tag_list_match","git_tag_lookup","git_tag_lookup_prefix","git_tree_entry_2object","git_tree_lookup","git_tree_lookup_prefix","git_treebuilder_write"]}}],["git_repository_pathid",{"type":"enum","file":"repository.h","line":260,"lineto":265,"block":"GIT_REPO_PATH\nGIT_REPO_PATH_INDEX\nGIT_REPO_PATH_ODB\nGIT_REPO_PATH_WORKDIR","tdef":"typedef","comments":"Internal path identifiers for a repository","used":{"returns":[],"needs":["git_repository_path"]}}],["git_revwalk",{"type":"struct","value":"git_revwalk","file":"types.h","line":115,"lineto":115,"block":"","tdef":"typedef","comments":"Representation of an in-progress walk through the commits in a repo","used":{"returns":[],"needs":["git_revwalk_free","git_revwalk_hide","git_revwalk_new","git_revwalk_next","git_revwalk_push","git_revwalk_repository","git_revwalk_reset","git_revwalk_sorting"]}}],["git_rtype",{"type":"enum","file":"types.h","line":167,"lineto":178,"block":"GIT_REF_INVALID\nGIT_REF_OID\nGIT_REF_SYMBOLIC\nGIT_REF_PACKED\nGIT_REF_HAS_PEEL\nGIT_REF_LISTALL","tdef":"typedef","comments":"Basic type of any Git reference.","used":{"returns":[],"needs":[]}}],["git_signature",{"type":"struct","value":"git_signature","file":"types.h","line":157,"lineto":161,"block":"char *name\nchar *email\ngit_time when","tdef":"typedef","comments":"An action signature (e.g. for committers, taggers, etc)","used":{"returns":["git_commit_author","git_commit_committer","git_reflog_entry_committer","git_signature_dup","git_signature_new","git_signature_now","git_tag_tagger"],"needs":["git_commit_create","git_commit_create_v","git_reflog_write","git_signature_dup","git_signature_free","git_tag_create"]}}],["git_tag",{"type":"struct","value":"git_tag","file":"types.h","line":118,"lineto":118,"block":"","tdef":"typedef","comments":"Parsed representation of a tag object.","used":{"returns":[],"needs":["git_tag_close","git_tag_id","git_tag_lookup","git_tag_lookup_prefix","git_tag_message","git_tag_name","git_tag_tagger","git_tag_target","git_tag_target_oid","git_tag_type"]}}],["git_time",{"type":"struct","value":"git_time","file":"types.h","line":151,"lineto":154,"block":"git_time_t time\nint offset","tdef":"typedef","comments":"Time in a signature","used":{"returns":[],"needs":[]}}],["git_transport",{"type":"struct","value":"git_transport","file":"types.h","line":181,"lineto":186,"block":"","tdef":"typedef","comments":"A transport to use","used":{"returns":[],"needs":["git_transport_new"]}}],["git_tree",{"type":"struct","value":"git_tree","file":"types.h","line":130,"lineto":130,"block":"","tdef":"typedef","comments":"Representation of a tree object.","used":{"returns":[],"needs":["git_commit_create","git_commit_create_v","git_commit_tree","git_tree_close","git_tree_entry_byindex","git_tree_entry_byname","git_tree_entrycount","git_tree_id","git_tree_lookup","git_tree_lookup_prefix","git_treebuilder_create"]}}],["git_tree_entry",{"type":"struct","value":"git_tree_entry","file":"types.h","line":127,"lineto":127,"block":"","tdef":"typedef","comments":"Representation of each one of the entries in a tree object.","used":{"returns":["git_tree_entry_byindex","git_tree_entry_byname","git_treebuilder_get"],"needs":["git_tree_entry_2object","git_tree_entry_attributes","git_tree_entry_id","git_tree_entry_name","git_tree_entry_type","git_treebuilder_filter","git_treebuilder_insert"]}}],["git_treebuilder",{"type":"struct","value":"git_treebuilder","file":"types.h","line":133,"lineto":133,"block":"","tdef":"typedef","comments":"Constructor for in-memory trees","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"]}}]],"prefix":"include/git2","groups":[["blob",["git_blob_close","git_blob_create_frombuffer","git_blob_create_fromfile","git_blob_lookup","git_blob_lookup_prefix","git_blob_rawcontent","git_blob_rawsize"]],["commit",["git_commit_author","git_commit_close","git_commit_committer","git_commit_create","git_commit_create_v","git_commit_id","git_commit_lookup","git_commit_lookup_prefix","git_commit_message","git_commit_message_short","git_commit_parent","git_commit_parent_oid","git_commit_parentcount","git_commit_time","git_commit_time_offset","git_commit_tree","git_commit_tree_oid"]],["config",["git_config_add_file","git_config_add_file_ondisk","git_config_delete","git_config_file__ondisk","git_config_find_global","git_config_foreach","git_config_free","git_config_get_bool","git_config_get_int","git_config_get_long","git_config_get_string","git_config_new","git_config_open_global","git_config_open_ondisk","git_config_set_bool","git_config_set_int","git_config_set_long","git_config_set_string"]],["errors",["git_clearerror","git_lasterror","git_strerror"]],["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_remove","git_index_uniq","git_index_write"]],["libgit2",["git_libgit2_version"]],["object",["git_object__size","git_object_close","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_close","git_odb_exists","git_odb_hash","git_odb_hashfile","git_odb_new","git_odb_object_close","git_odb_object_data","git_odb_object_id","git_odb_object_size","git_odb_object_type","git_odb_open","git_odb_open_rstream","git_odb_open_wstream","git_odb_read","git_odb_read_header","git_odb_read_prefix","git_odb_write"]],["oid",["git_oid_allocfmt","git_oid_cmp","git_oid_cpy","git_oid_fmt","git_oid_fromraw","git_oid_fromstr","git_oid_fromstrn","git_oid_ncmp","git_oid_pathfmt","git_oid_shorten_add","git_oid_shorten_free","git_oid_shorten_new","git_oid_to_string"]],["reference",["git_reference_create_oid","git_reference_create_symbolic","git_reference_delete","git_reference_foreach","git_reference_listall","git_reference_lookup","git_reference_name","git_reference_oid","git_reference_owner","git_reference_packall","git_reference_rename","git_reference_resolve","git_reference_set_oid","git_reference_set_target","git_reference_target","git_reference_type"]],["reflog",["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_write"]],["refspec",["git_refspec_dst","git_refspec_src","git_refspec_src_match","git_refspec_transform"]],["remote",["git_remote_connect","git_remote_fetchspec","git_remote_free","git_remote_get","git_remote_ls","git_remote_name","git_remote_pushspec","git_remote_url"]],["repository",["git_repository_config","git_repository_database","git_repository_discover","git_repository_free","git_repository_head_detached","git_repository_head_orphan","git_repository_index","git_repository_init","git_repository_is_bare","git_repository_is_empty","git_repository_open","git_repository_open2","git_repository_open3","git_repository_path"]],["revwalk",["git_revwalk_free","git_revwalk_hide","git_revwalk_new","git_revwalk_next","git_revwalk_push","git_revwalk_repository","git_revwalk_reset","git_revwalk_sorting"]],["signature",["git_signature_dup","git_signature_free","git_signature_new","git_signature_now"]],["status",["git_status_file","git_status_foreach"]],["tag",["git_tag_close","git_tag_create","git_tag_create_frombuffer","git_tag_create_lightweight","git_tag_delete","git_tag_id","git_tag_list","git_tag_list_match","git_tag_lookup","git_tag_lookup_prefix","git_tag_message","git_tag_name","git_tag_tagger","git_tag_target","git_tag_target_oid","git_tag_type"]],["transport",["git_transport_new"]],["tree",["git_tree_close","git_tree_create_fromindex","git_tree_entry_2object","git_tree_entry_attributes","git_tree_entry_byindex","git_tree_entry_byname","git_tree_entry_id","git_tree_entry_name","git_tree_entry_type","git_tree_entrycount","git_tree_id","git_tree_lookup","git_tree_lookup_prefix"]],["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"]],["zlib",["deflateBound"]]],"examples":[["showindex.c","ex/v0.14.0/showindex.html"],["general.c","ex/v0.14.0/general.html"]]} \ No newline at end of file
diff --git a/v0.15.0.json b/v0.15.0.json
index 8645f83f1..17bade783 100644
--- a/v0.15.0.json
+++ b/v0.15.0.json
@@ -1 +1 @@
-{"files":[{"file":"reflog.h","functions":["git_reflog_read","git_reflog_write","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":{"brief":"Git reflog management routines","defgroup":"git_reflog Git reflog management routines","ingroup":"Git","comments":"\n"},"lines":111},{"file":"branch.h","functions":[],"meta":{},"lines":15},{"file":"indexer.h","functions":["git_indexer_new","git_indexer_run","git_indexer_write","git_indexer_hash","git_indexer_free"],"meta":{},"lines":76},{"file":"common.h","functions":["git_libgit2_version"],"meta":{"brief":"Git common platform definitions","defgroup":"git_common Git common platform definitions","ingroup":"Git","comments":"\n"},"lines":116},{"file":"refspec.h","functions":["git_refspec_src","git_refspec_dst","git_refspec_src_match","git_refspec_transform"],"meta":{"brief":"Git refspec attributes","defgroup":"git_refspec Git refspec attributes","ingroup":"Git","comments":"\n"},"lines":60},{"file":"signature.h","functions":["git_signature_new","git_signature_now","git_signature_dup","git_signature_free"],"meta":{"brief":"Git signature creation","defgroup":"git_signature Git signature creation","ingroup":"Git","comments":"\n"},"lines":65},{"file":"status.h","functions":["git_status_foreach","git_status_file"],"meta":{"brief":"Git file status routines","defgroup":"git_status Git file status routines","ingroup":"Git","comments":"\n"},"lines":63},{"file":"config.h","functions":["git_config_find_global","git_config_find_system","git_config_open_global","git_config_file__ondisk","git_config_new","git_config_add_file","git_config_add_file_ondisk","git_config_open_ondisk","git_config_free","git_config_get_int32","git_config_get_int64","git_config_get_bool","git_config_get_string","git_config_set_int32","git_config_set_int64","git_config_set_bool","git_config_set_string","git_config_delete","git_config_foreach"],"meta":{"brief":"Git config management routines","defgroup":"git_config Git config management routines","ingroup":"Git","comments":"\n"},"lines":278},{"file":"net.h","functions":[],"meta":{"brief":"Git networking declarations","ingroup":"Git","comments":"\n"},"lines":53},{"file":"blob.h","functions":["git_blob_lookup","git_blob_lookup_prefix","git_blob_close","git_blob_rawcontent","git_blob_rawsize","git_blob_create_fromfile","git_blob_create_frombuffer"],"meta":{"brief":"Git blob load and write routines","defgroup":"git_blob Git blob load and write routines","ingroup":"Git","comments":"\n"},"lines":120},{"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"],"meta":{"brief":"Git index parsing and manipulation routines","defgroup":"git_index Git index parsing and manipulation routines","ingroup":"Git","comments":"\n"},"lines":306},{"file":"repository.h","functions":["git_repository_open","git_repository_open2","git_repository_open3","git_repository_discover","git_repository_database","git_repository_index","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_is_bare","git_repository_config","git_repository_config_autoload"],"meta":{"brief":"Git repository management routines","defgroup":"git_repository Git repository management routines","ingroup":"Git","comments":"\n"},"lines":334},{"file":"tag.h","functions":["git_tag_lookup","git_tag_lookup_prefix","git_tag_close","git_tag_id","git_tag_target","git_tag_target_oid","git_tag_type","git_tag_name","git_tag_tagger","git_tag_message","git_tag_create","git_tag_create_frombuffer","git_tag_create_lightweight","git_tag_delete","git_tag_list","git_tag_list_match"],"meta":{"brief":"Git tag parsing routines","defgroup":"git_tag Git tag management","ingroup":"Git","comments":"\n"},"lines":279},{"file":"odb_backend.h","functions":[],"meta":{"brief":"Git custom backend functions","defgroup":"git_backend Git custom backend API","ingroup":"Git","comments":"\n"},"lines":100},{"file":"stdint.h","functions":[],"meta":{},"lines":247},{"file":"inttypes.h","functions":[],"meta":{},"lines":305},{"file":"commit.h","functions":["git_commit_lookup","git_commit_lookup_prefix","git_commit_close","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":{"brief":"Git commit parsing, formatting routines","defgroup":"git_commit Git commit parsing, formatting routines","ingroup":"Git","comments":"\n"},"lines":263},{"file":"types.h","functions":[],"meta":{"brief":"libgit2 base & compatibility types","ingroup":"Git","comments":"\n"},"lines":175},{"file":"remote.h","functions":["git_remote_new","git_remote_get","git_remote_name","git_remote_url","git_remote_fetchspec","git_remote_pushspec","git_remote_connect","git_remote_ls","git_remote_negotiate","git_remote_download","git_remote_free","git_remote_update_tips"],"meta":{"brief":"Git remote management functions","defgroup":"git_remote remote management functions","ingroup":"Git","comments":"\n"},"lines":150},{"file":"zlib.h","functions":["deflateBound"],"meta":{"brief":"Git data compression routines","defgroup":"git_zlib Git data compression routines","ingroup":"Git","comments":"\n"},"lines":40},{"file":"tree.h","functions":["git_tree_lookup","git_tree_lookup_prefix","git_tree_close","git_tree_id","git_tree_entrycount","git_tree_entry_byname","git_tree_entry_byindex","git_tree_entry_attributes","git_tree_entry_name","git_tree_entry_id","git_tree_entry_type","git_tree_entry_2object","git_tree_create_fromindex","git_treebuilder_create","git_treebuilder_clear","git_treebuilder_free","git_treebuilder_get","git_treebuilder_insert","git_treebuilder_remove","git_treebuilder_filter","git_treebuilder_write"],"meta":{"brief":"Git tree parsing, loading routines","defgroup":"git_tree Git tree parsing, loading routines","ingroup":"Git","comments":"\n"},"lines":273},{"file":"transport.h","functions":["git_transport_new"],"meta":{"brief":"Git protocol transport abstraction","defgroup":"git_transport Git protocol transport abstraction","ingroup":"Git","comments":"\n"},"lines":32},{"file":"odb.h","functions":["git_odb_new","git_odb_open","git_odb_add_backend","git_odb_add_alternate","git_odb_close","git_odb_read","git_odb_read_prefix","git_odb_read_header","git_odb_exists","git_odb_write","git_odb_open_wstream","git_odb_open_rstream","git_odb_hash","git_odb_hashfile","git_odb_object_close","git_odb_object_id","git_odb_object_data","git_odb_object_size","git_odb_object_type"],"meta":{"brief":"Git object database routines","defgroup":"git_odb Git object database routines","ingroup":"Git","comments":"\n"},"lines":331},{"file":"thread-utils.h","functions":[],"meta":{},"lines":60},{"file":"oid.h","functions":["git_oid_fromstr","git_oid_fromstrn","git_oid_fromraw","git_oid_fmt","git_oid_pathfmt","git_oid_allocfmt","git_oid_to_string","git_oid_cpy","git_oid_cmp","git_oid_ncmp","git_oid_shorten_new","git_oid_shorten_add","git_oid_shorten_free"],"meta":{"brief":"Git object id routines","defgroup":"git_oid Git object id routines","ingroup":"Git","comments":"\n"},"lines":208},{"file":"errors.h","functions":["git_lasterror","git_strerror","git_clearerror"],"meta":{"brief":"Git error handling routines and variables","ingroup":"Git","comments":"\n"},"lines":144},{"file":"revwalk.h","functions":["git_revwalk_new","git_revwalk_reset","git_revwalk_push","git_revwalk_hide","git_revwalk_next","git_revwalk_sorting","git_revwalk_free","git_revwalk_repository"],"meta":{"brief":"Git revision traversal routines","defgroup":"git_revwalk Git revision traversal routines","ingroup":"Git","comments":"\n"},"lines":169},{"file":"object.h","functions":["git_object_lookup","git_object_lookup_prefix","git_object_id","git_object_type","git_object_owner","git_object_close","git_object_type2string","git_object_string2type","git_object_typeisloose","git_object__size"],"meta":{"brief":"Git revision object management routines","defgroup":"git_object Git revision object management routines","ingroup":"Git","comments":"\n"},"lines":173},{"file":"refs.h","functions":["git_reference_lookup","git_reference_create_symbolic","git_reference_create_oid","git_reference_oid","git_reference_target","git_reference_type","git_reference_name","git_reference_resolve","git_reference_owner","git_reference_set_target","git_reference_set_oid","git_reference_rename","git_reference_delete","git_reference_packall","git_reference_listall","git_reference_foreach"],"meta":{"brief":"Git reference management routines","defgroup":"git_reference Git reference management routines","ingroup":"Git","comments":"\n"},"lines":258}],"functions":{"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":"log pointer to reflog"}],"argline":"git_reflog **reflog, git_reference *ref","sig":"git_reflog **::git_reference *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Read the reflog for the given reference","comments":"The reflog must be freed manually by using\ngit_reflog_free().\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":"GIT_SUCCESS or an error code"},"description":"Write a new reflog for the given reference","comments":"If there is no reflog file for the given\nreference yet, it will be created.\n\n`oid_old` may be NULL in case it's a new reference.\n\n`msg` is optional and can be NULL.\n","group":"reflog"},"git_reflog_entrycount":{"type":"function","file":"reflog.h","line":59,"lineto":59,"args":[{"name":"reflog","type":"git_reflog *","comment":"the previously loaded reflog"}],"argline":"git_reflog *reflog","sig":"git_reflog *","return":{"type":"unsigned int","comment":"the number of log entries"},"description":"Get the number of log entries in a reflog","comments":"","group":"reflog"},"git_reflog_entry_byindex":{"type":"function","file":"reflog.h","line":68,"lineto":68,"args":[{"name":"reflog","type":"git_reflog *","comment":"a previously loaded reflog"},{"name":"idx","type":"unsigned int","comment":"the position to lookup"}],"argline":"git_reflog *reflog, unsigned int idx","sig":"git_reflog *::unsigned int","return":{"type":"const git_reflog_entry *","comment":"the entry; NULL if not found"},"description":"Lookup an entry by its index","comments":"","group":"reflog"},"git_reflog_entry_oidold":{"type":"function","file":"reflog.h","line":76,"lineto":76,"args":[{"name":"entry","type":"const git_reflog_entry *","comment":"a reflog entry"}],"argline":"const git_reflog_entry *entry","sig":"const git_reflog_entry *","return":{"type":"const git_oid *","comment":"the old oid"},"description":"Get the old oid","comments":"","group":"reflog"},"git_reflog_entry_oidnew":{"type":"function","file":"reflog.h","line":84,"lineto":84,"args":[{"name":"entry","type":"const git_reflog_entry *","comment":"a reflog entry"}],"argline":"const git_reflog_entry *entry","sig":"const git_reflog_entry *","return":{"type":"const git_oid *","comment":"the new oid at this time"},"description":"Get the new oid","comments":"","group":"reflog"},"git_reflog_entry_committer":{"type":"function","file":"reflog.h","line":92,"lineto":92,"args":[{"name":"entry","type":"const git_reflog_entry *","comment":"a reflog entry"}],"argline":"const git_reflog_entry *entry","sig":"const git_reflog_entry *","return":{"type":"git_signature *","comment":"the committer"},"description":"Get the committer of this entry","comments":"","group":"reflog"},"git_reflog_entry_msg":{"type":"function","file":"reflog.h","line":100,"lineto":100,"args":[{"name":"entry","type":"const git_reflog_entry *","comment":"a reflog entry"}],"argline":"const git_reflog_entry *entry","sig":"const git_reflog_entry *","return":{"type":"char *","comment":"the log msg"},"description":"Get the log msg","comments":"","group":"reflog"},"git_reflog_free":{"type":"function","file":"reflog.h","line":107,"lineto":107,"args":[{"name":"reflog","type":"git_reflog *","comment":"reflog to free"}],"argline":"git_reflog *reflog","sig":"git_reflog *","return":{"type":"void"},"description":"Free the reflog","comments":"","group":"reflog"},"git_indexer_new":{"type":"function","file":"indexer.h","line":33,"lineto":33,"args":[{"name":"out","type":"git_indexer **","comment":"where to store the indexer instance"},{"name":"packname","type":"const char *","comment":"the absolute filename of the packfile to index"}],"argline":"git_indexer **out, const char *packname","sig":"git_indexer **::const char *","return":{"type":"int"},"description":"Create a new indexer instance","comments":"","group":"indexer"},"git_indexer_run":{"type":"function","file":"indexer.h","line":45,"lineto":45,"args":[{"name":"idx","type":"git_indexer *","comment":"the indexer instance"},{"name":"stats","type":"git_indexer_stats *","comment":"storage for the running state"}],"argline":"git_indexer *idx, git_indexer_stats *stats","sig":"git_indexer *::git_indexer_stats *","return":{"type":"int"},"description":"Iterate over the objects in the packfile and extract the information","comments":"Indexing a packfile can be very expensive so this function is\nexpected to be run in a worker thread and the stats used to provide\nfeedback the user.\n","group":"indexer"},"git_indexer_write":{"type":"function","file":"indexer.h","line":55,"lineto":55,"args":[{"name":"idx","type":"git_indexer *","comment":"the indexer instance"}],"argline":"git_indexer *idx","sig":"git_indexer *","return":{"type":"int"},"description":"Write the index file to disk.","comments":"The file will be stored as pack-$hash.idx in the same directory as\nthe packfile.\n","group":"indexer"},"git_indexer_hash":{"type":"function","file":"indexer.h","line":65,"lineto":65,"args":[{"name":"idx","type":"git_indexer *","comment":"the indexer instance"}],"argline":"git_indexer *idx","sig":"git_indexer *","return":{"type":"const git_oid *"},"description":"Get the packfile's hash","comments":"A packfile's name is derived from the sorted hashing of all object\nnames. This is only correct after the index has been written to disk.\n","group":"indexer"},"git_indexer_free":{"type":"function","file":"indexer.h","line":72,"lineto":76,"args":[{"name":"idx","type":"git_indexer *","comment":"the indexer to free"}],"argline":"git_indexer *idx","sig":"git_indexer *","return":{"type":"void"},"description":"Free the indexer and its resources","comments":"","group":"indexer"},"git_libgit2_version":{"type":"function","file":"common.h","line":112,"lineto":112,"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"},"description":"Return the version of the libgit2 library\nbeing currently used.","comments":"","group":"libgit2"},"git_refspec_src":{"type":"function","file":"refspec.h","line":27,"lineto":27,"args":[{"name":"refspec","type":"const git_refspec *","comment":"the refspec"}],"argline":"const git_refspec *refspec","sig":"const git_refspec *","return":{"type":"const char *","comment":"the refspec's source specifier"},"description":"Get the source specifier","comments":"","group":"refspec"},"git_refspec_dst":{"type":"function","file":"refspec.h","line":35,"lineto":35,"args":[{"name":"refspec","type":"const git_refspec *","comment":"the refspec"}],"argline":"const git_refspec *refspec","sig":"const git_refspec *","return":{"type":"const char *","comment":"the refspec's destination specifier"},"description":"Get the destination specifier","comments":"","group":"refspec"},"git_refspec_src_match":{"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":"GIT_SUCCESS on successful match; GIT_ENOMACH on match failure or an error code on other failure"},"description":"Match a refspec's source descriptor with a reference name","comments":"","group":"refspec"},"git_refspec_transform":{"type":"function","file":"refspec.h","line":56,"lineto":60,"args":[{"name":"out","type":"char *","comment":"where to store the target name"},{"name":"outlen","type":"size_t","comment":"the size ouf the `out` buffer"},{"name":"spec","type":"const git_refspec *","comment":"the refspec"},{"name":"name","type":"const char *","comment":"the name of the reference to transform"}],"argline":"char *out, size_t outlen, const git_refspec *spec, const char *name","sig":"char *::size_t::const git_refspec *::const char *","return":{"type":"int","comment":"GIT_SUCCESS, GIT_ESHORTBUFFER or another error"},"description":"Transform a reference to its target following the refspec's rules","comments":"","group":"refspec"},"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":"GIT_SUCCESS or an error code"},"description":"Create a new action signature. The signature must be freed\nmanually or using git_signature_free","comments":"","group":"signature","examples":{"general.c":["ex/v0.15.0/general.html#git_signature_new-1","ex/v0.15.0/general.html#git_signature_new-2"]}},"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":"GIT_SUCCESS or an error code"},"description":"Create a new action signature with a timestamp of 'now'. The\nsignature must be freed manually or using git_signature_free","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":"Create a copy of an existing signature.","comments":"All internal strings are also duplicated.","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"},"description":"Free an existing signature","comments":"","group":"signature"},"git_status_foreach":{"type":"function","file":"status.h","line":47,"lineto":47,"args":[{"name":"repo","type":"git_repository *","comment":"a repository object"},{"name":"callback","type":"int (*)(const char *, unsigned int, void *)","comment":"the function to call on each file"},{"name":"payload","type":"void *"}],"argline":"git_repository *repo, int (*callback)(const char *, unsigned int, void *), void *payload","sig":"git_repository *::int (*)(const char *, unsigned int, void *)::void *","return":{"type":"int","comment":"GIT_SUCCESS or the return value of the callback which did not return GIT_SUCCESS"},"description":"Gather file statuses and run a callback for each one.","comments":"The callback is passed the path of the file, the status and the data pointer\npassed to this function. If the callback returns something other than\nGIT_SUCCESS, this function will return that value.\n","group":"status"},"git_status_file":{"type":"function","file":"status.h","line":59,"lineto":59,"args":[{"name":"status_flags","type":"unsigned int *","comment":"the status value"},{"name":"repo","type":"git_repository *","comment":"a repository object"},{"name":"path","type":"const char *","comment":"the file to retrieve status for, rooted at the repo's workdir"}],"argline":"unsigned int *status_flags, git_repository *repo, const char *path","sig":"unsigned int *::git_repository *::const char *","return":{"type":"int","comment":"GIT_EINVALIDPATH when `path` points at a folder, GIT_ENOTFOUND when the file doesn't exist in any of HEAD, the index or the worktree, GIT_SUCCESS otherwise"},"description":"Get file status for a single file","comments":"","group":"status"},"git_config_find_global":{"type":"function","file":"config.h","line":52,"lineto":52,"args":[{"name":"global_config_path","type":"char *","comment":"Buffer of GIT_PATH_MAX length to store the path"}],"argline":"char *global_config_path","sig":"char *","return":{"type":"int","comment":"GIT_SUCCESS if a global configuration file has been found. Its path will be stored in `buffer`."},"description":"Locate the path to the global configuration file","comments":"The user or global configuration file is usually\nlocated in `$HOME/.gitconfig`.\n\nThis method will try to guess the full path to that\nfile, if the file exists. The returned path\nmay be used on any `git_config` call to load the\nglobal configuration file.\n","group":"config"},"git_config_find_system":{"type":"function","file":"config.h","line":64,"lineto":64,"args":[{"name":"system_config_path","type":"char *","comment":"Buffer of GIT_PATH_MAX length to store the path"}],"argline":"char *system_config_path","sig":"char *","return":{"type":"int","comment":"GIT_SUCCESS if a system configuration file has been found. Its path will be stored in `buffer`."},"description":"Locate the path to the system configuration file","comments":"If /etc/gitconfig doesn't exist, it will look for\n%PROGRAMFILES%\\Git\\etc\\gitconfig.\n","group":"config"},"git_config_open_global":{"type":"function","file":"config.h","line":75,"lineto":75,"args":[{"name":"out","type":"git_config **","comment":"Pointer to store the config instance"}],"argline":"git_config **out","sig":"git_config **","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Open the global configuration file","comments":"Utility wrapper that calls `git_config_find_global`\nand opens the located file, if it exists.\n","group":"config"},"git_config_file__ondisk":{"type":"function","file":"config.h","line":88,"lineto":88,"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"},"description":"Create a configuration file backend for ondisk files","comments":"These are the normal `.gitconfig` files that Core Git\nprocesses. Note that you first have to add this file to a\nconfiguration object before you can query it for configuration\nvariables.\n","group":"config"},"git_config_new":{"type":"function","file":"config.h","line":99,"lineto":99,"args":[{"name":"out","type":"git_config **","comment":"pointer to the new configuration"}],"argline":"git_config **out","sig":"git_config **","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Allocate a new configuration object","comments":"This object is empty, so you have to add a file to it before you\ncan do anything with it.\n","group":"config"},"git_config_add_file":{"type":"function","file":"config.h","line":116,"lineto":116,"args":[{"name":"cfg","type":"git_config *","comment":"the configuration to add the file to"},{"name":"file","type":"git_config_file *","comment":"the configuration file (backend) to add"},{"name":"priority","type":"int","comment":"the priority the backend should have"}],"argline":"git_config *cfg, git_config_file *file, int priority","sig":"git_config *::git_config_file *::int","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Add a generic config file instance to an existing config","comments":"Note that the configuration object will free the file\nautomatically.\n\nFurther queries on this config object will access each\nof the config file instances in order (instances with\na higher priority will be accessed first).\n","group":"config"},"git_config_add_file_ondisk":{"type":"function","file":"config.h","line":137,"lineto":137,"args":[{"name":"cfg","type":"git_config *","comment":"the configuration to add the file to"},{"name":"path","type":"const char *","comment":"path to the configuration file (backend) to add"},{"name":"priority","type":"int","comment":"the priority the backend should have"}],"argline":"git_config *cfg, const char *path, int priority","sig":"git_config *::const char *::int","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Add an on-disk config file instance to an existing config","comments":"The on-disk file pointed at by `path` will be opened and\nparsed; it's expected to be a native Git config file following\nthe default Git config syntax (see man git-config).\n\nNote that the configuration object will free the file\nautomatically.\n\nFurther queries on this config object will access each\nof the config file instances in order (instances with\na higher priority will be accessed first).\n","group":"config"},"git_config_open_ondisk":{"type":"function","file":"config.h","line":152,"lineto":152,"args":[{"name":"cfg","type":"git_config **","comment":"The configuration instance to create"},{"name":"path","type":"const char *","comment":"Path to the on-disk file to open"}],"argline":"git_config **cfg, const char *path","sig":"git_config **::const char *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Create a new config instance containing a single on-disk file","comments":"This method is a simple utility wrapper for the following sequence\nof calls:\n- git_config_new\n- git_config_add_file_ondisk\n","group":"config","examples":{"general.c":["ex/v0.15.0/general.html#git_config_open_ondisk-3"]}},"git_config_free":{"type":"function","file":"config.h","line":159,"lineto":159,"args":[{"name":"cfg","type":"git_config *","comment":"the configuration to free"}],"argline":"git_config *cfg","sig":"git_config *","return":{"type":"void"},"description":"Free the configuration and its associated memory and files","comments":"","group":"config"},"git_config_get_int32":{"type":"function","file":"config.h","line":169,"lineto":169,"args":[{"name":"cfg","type":"git_config *","comment":"where to look for the variable"},{"name":"name","type":"const char *","comment":"the variable's name"},{"name":"out","type":"int32_t *","comment":"pointer to the variable where the value should be stored"}],"argline":"git_config *cfg, const char *name, int32_t *out","sig":"git_config *::const char *::int32_t *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Get the value of an integer config variable.","comments":"","group":"config"},"git_config_get_int64":{"type":"function","file":"config.h","line":179,"lineto":179,"args":[{"name":"cfg","type":"git_config *","comment":"where to look for the variable"},{"name":"name","type":"const char *","comment":"the variable's name"},{"name":"out","type":"int64_t *","comment":"pointer to the variable where the value should be stored"}],"argline":"git_config *cfg, const char *name, int64_t *out","sig":"git_config *::const char *::int64_t *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Get the value of a long integer config variable.","comments":"","group":"config"},"git_config_get_bool":{"type":"function","file":"config.h","line":192,"lineto":192,"args":[{"name":"cfg","type":"git_config *","comment":"where to look for the variable"},{"name":"name","type":"const char *","comment":"the variable's name"},{"name":"out","type":"int *","comment":"pointer to the variable where the value should be stored"}],"argline":"git_config *cfg, const char *name, int *out","sig":"git_config *::const char *::int *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Get the value of a boolean config variable.","comments":"This function uses the usual C convention of 0 being false and\nanything else true.\n","group":"config"},"git_config_get_string":{"type":"function","file":"config.h","line":205,"lineto":205,"args":[{"name":"cfg","type":"git_config *","comment":"where to look for the variable"},{"name":"name","type":"const char *","comment":"the variable's name"},{"name":"out","type":"const char **","comment":"pointer to the variable's value"}],"argline":"git_config *cfg, const char *name, const char **out","sig":"git_config *::const char *::const char **","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Get the value of a string config variable.","comments":"The string is owned by the variable and should not be freed by the\nuser.\n","group":"config","examples":{"general.c":["ex/v0.15.0/general.html#git_config_get_string-4"]}},"git_config_set_int32":{"type":"function","file":"config.h","line":215,"lineto":215,"args":[{"name":"cfg","type":"git_config *","comment":"where to look for the variable"},{"name":"name","type":"const char *","comment":"the variable's name"},{"name":"value","type":"int32_t","comment":"Integer value for the variable"}],"argline":"git_config *cfg, const char *name, int32_t value","sig":"git_config *::const char *::int32_t","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Set the value of an integer config variable.","comments":"","group":"config"},"git_config_set_int64":{"type":"function","file":"config.h","line":225,"lineto":225,"args":[{"name":"cfg","type":"git_config *","comment":"where to look for the variable"},{"name":"name","type":"const char *","comment":"the variable's name"},{"name":"value","type":"int64_t","comment":"Long integer value for the variable"}],"argline":"git_config *cfg, const char *name, int64_t value","sig":"git_config *::const char *::int64_t","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Set the value of a long integer config variable.","comments":"","group":"config"},"git_config_set_bool":{"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":"value","type":"int","comment":"the value to store"}],"argline":"git_config *cfg, const char *name, int value","sig":"git_config *::const char *::int","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Set the value of a boolean config variable.","comments":"","group":"config"},"git_config_set_string":{"type":"function","file":"config.h","line":248,"lineto":248,"args":[{"name":"cfg","type":"git_config *","comment":"where to look for the variable"},{"name":"name","type":"const char *","comment":"the variable's name"},{"name":"value","type":"const char *","comment":"the string to store."}],"argline":"git_config *cfg, const char *name, const char *value","sig":"git_config *::const char *::const char *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Set the value of a string config variable.","comments":"A copy of the string is made and the user is free to use it\nafterwards.\n","group":"config"},"git_config_delete":{"type":"function","file":"config.h","line":256,"lineto":256,"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"},"description":"Delete a config variable","comments":"","group":"config"},"git_config_foreach":{"type":"function","file":"config.h","line":271,"lineto":274,"args":[{"name":"cfg","type":"git_config *","comment":"where to get the variables from"},{"name":"callback","type":"int (*)(const char *var_name, const char *value, void *payload)","comment":"the function to call on each variable"},{"name":"payload","type":"void *","comment":"the data to pass to the callback"}],"argline":"git_config *cfg,\n\tint (*callback)(const char *var_name, const char *value, void *payload),\n\tvoid *payload","sig":"git_config *::int (*)(const char *var_name, const char *value, void *payload)::void *","return":{"type":"int","comment":"GIT_SUCCESS or the return value of the callback which didn't return 0"},"description":"Perform an operation on each config variable.","comments":"The callback receives the normalized name and value of each variable\nin the config backend, and the data pointer passed to this function.\nAs soon as one of the callback functions returns something other than 0,\nthis function returns that value.\n","group":"config"},"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":"GIT_SUCCESS or an error code"},"description":"Lookup a blob object from a repository.","comments":"","group":"blob","examples":{"general.c":["ex/v0.15.0/general.html#git_blob_lookup-5"]}},"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":"GIT_SUCCESS or an error code"},"description":"Lookup a blob object from a repository,\ngiven a prefix of its identifier (short id).","comments":"@see git_object_lookup_prefix\n","group":"blob"},"git_blob_close":{"type":"function","file":"blob.h","line":65,"lineto":68,"args":[{"name":"blob","type":"git_blob *","comment":"the blob to close"}],"argline":"git_blob *blob","sig":"git_blob *","return":{"type":"void"},"description":"Close an open blob","comments":"This is a wrapper around git_object_close()\n\nIMPORTANT:\nIt *is* necessary to call this method when you stop\nusing a blob. Failure to do so will cause a memory leak.\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":"Get a read-only buffer with the raw content of a blob.","comments":"A pointer to the raw content of a blob is returned;\nthis pointer is owned internally by the object and shall\nnot be free'd. The pointer may be invalidated at a later\ntime.\n","group":"blob","examples":{"general.c":["ex/v0.15.0/general.html#git_blob_rawcontent-6"]}},"git_blob_rawsize":{"type":"function","file":"blob.h","line":91,"lineto":91,"args":[{"name":"blob","type":"git_blob *","comment":"pointer to the blob"}],"argline":"git_blob *blob","sig":"git_blob *","return":{"type":"size_t","comment":"size on bytes"},"description":"Get the size in bytes of the contents of a blob","comments":"","group":"blob","examples":{"general.c":["ex/v0.15.0/general.html#git_blob_rawsize-7","ex/v0.15.0/general.html#git_blob_rawsize-8"]}},"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. this repository cannot be bare"},{"name":"path","type":"const char *","comment":"file from which the blob will be created, relative to the repository's working dir"}],"argline":"git_oid *oid, git_repository *repo, const char *path","sig":"git_oid *::git_repository *::const char *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Read a file from the working folder of a repository\nand write it to the Object Database as a loose blob","comments":"","group":"blob"},"git_blob_create_frombuffer":{"type":"function","file":"blob.h","line":116,"lineto":116,"args":[{"name":"oid","type":"git_oid *","comment":"return the oid of the written blob"},{"name":"repo","type":"git_repository *","comment":"repository where to blob will be written"},{"name":"buffer","type":"const void *","comment":"data to be written into the blob"},{"name":"len","type":"size_t","comment":"length of the data"}],"argline":"git_oid *oid, git_repository *repo, const void *buffer, size_t len","sig":"git_oid *::git_repository *::const void *::size_t","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Write an in-memory buffer to the ODB as a blob","comments":"","group":"blob"},"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":"GIT_SUCCESS or an error code"},"description":"Create a new bare Git index object as a memory representation\nof the Git index file in 'index_path', without a repository\nto back it.","comments":"Since there is no ODB or working directory behind this index,\nany Index methods which rely on these (e.g. index_add) will\nfail with the GIT_EBAREINDEX error code.\n\nIf you need to access the index of an actual repository,\nuse the `git_repository_index` wrapper.\n\nThe index must be freed once it's no longer in use.\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"},"description":"Clear the contents (all the entries) of an index object.\nThis clears the index object in memory; changes must be manually\nwritten to disk for them to take effect.","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"},"description":"Free an existing index object.","comments":"","group":"index","examples":{"showindex.c":["ex/v0.15.0/showindex.html#git_index_free-1"],"general.c":["ex/v0.15.0/general.html#git_index_free-9"]}},"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":"GIT_SUCCESS or an error code"},"description":"Update the contents of an existing index object in memory\nby reading from the hard disk.","comments":"","group":"index","examples":{"showindex.c":["ex/v0.15.0/showindex.html#git_index_read-2"]}},"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":"GIT_SUCCESS or an error code"},"description":"Write an existing index object from memory back to disk\nusing an atomic file lock.","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":"Find the first index of any entries which point to given\npath in the Git index.","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"},"description":"Remove all entries with equal path except last added","comments":"","group":"index"},"git_index_add":{"type":"function","file":"index.h","line":177,"lineto":177,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"},{"name":"path","type":"const char *","comment":"filename to add"},{"name":"stage","type":"int","comment":"stage for the entry"}],"argline":"git_index *index, const char *path, int stage","sig":"git_index *::const char *::int","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Add or update an index entry from a file in disk","comments":"The file `path` must be relative to the repository's\nworking folder and must be readable.\n\nThis method will fail in bare index instances.\n","group":"index"},"git_index_add2":{"type":"function","file":"index.h","line":189,"lineto":189,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"},{"name":"source_entry","type":"const git_index_entry *","comment":"new entry object"}],"argline":"git_index *index, const git_index_entry *source_entry","sig":"git_index *::const git_index_entry *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Add or update an index entry from an in-memory struct","comments":"A full copy (including the 'path' string) of the given\n'source_entry' will be inserted on the index.\n","group":"index"},"git_index_append":{"type":"function","file":"index.h","line":208,"lineto":208,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"},{"name":"path","type":"const char *","comment":"filename to add"},{"name":"stage","type":"int","comment":"stage for the entry"}],"argline":"git_index *index, const char *path, int stage","sig":"git_index *::const char *::int","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Add (append) an index entry from a file in disk","comments":"A new entry will always be inserted into the index;\nif the index already contains an entry for such\npath, the old entry will **not** be replaced.\n\nThe file `path` must be relative to the repository's\nworking folder and must be readable.\n\nThis method will fail in bare index instances.\n","group":"index"},"git_index_append2":{"type":"function","file":"index.h","line":225,"lineto":225,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"},{"name":"source_entry","type":"const git_index_entry *","comment":"new entry object"}],"argline":"git_index *index, const git_index_entry *source_entry","sig":"git_index *::const git_index_entry *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Add (append) an index entry from an in-memory struct","comments":"A new entry will always be inserted into the index;\nif the index already contains an entry for the path\nin the `entry` struct, the old entry will **not** be\nreplaced.\n\nA full copy (including the 'path' string) of the given\n'source_entry' will be inserted on the index.\n","group":"index"},"git_index_remove":{"type":"function","file":"index.h","line":234,"lineto":234,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"},{"name":"position","type":"int","comment":"position of the entry to remove"}],"argline":"git_index *index, int position","sig":"git_index *::int","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Remove an entry from the index","comments":"","group":"index"},"git_index_get":{"type":"function","file":"index.h","line":249,"lineto":249,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"},{"name":"n","type":"unsigned int","comment":"the position of the entry"}],"argline":"git_index *index, unsigned int n","sig":"git_index *::unsigned int","return":{"type":"git_index_entry *","comment":"a pointer to the entry; NULL if out of bounds"},"description":"Get a pointer to one of the entries in the index","comments":"This entry can be modified, and the changes will be written\nback to disk on the next write() call.\n\nThe entry should not be freed by the caller.\n","group":"index","examples":{"showindex.c":["ex/v0.15.0/showindex.html#git_index_get-3"],"general.c":["ex/v0.15.0/general.html#git_index_get-10"]}},"git_index_entrycount":{"type":"function","file":"index.h","line":257,"lineto":257,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"unsigned int","comment":"integer of count of current entries"},"description":"Get the count of entries currently in the index","comments":"","group":"index","examples":{"showindex.c":["ex/v0.15.0/showindex.html#git_index_entrycount-4"],"general.c":["ex/v0.15.0/general.html#git_index_entrycount-11"]}},"git_index_entrycount_unmerged":{"type":"function","file":"index.h","line":265,"lineto":265,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"unsigned int","comment":"integer of count of current unmerged entries"},"description":"Get the count of unmerged entries currently in the index","comments":"","group":"index"},"git_index_get_unmerged_bypath":{"type":"function","file":"index.h","line":277,"lineto":277,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"},{"name":"path","type":"const char *","comment":"path to search"}],"argline":"git_index *index, const char *path","sig":"git_index *::const char *","return":{"type":"const git_index_entry_unmerged *","comment":"the unmerged entry; NULL if not found"},"description":"Get an unmerged entry from the index.","comments":"The returned entry is read-only and should not be modified\nof freed by the caller.\n","group":"index"},"git_index_get_unmerged_byindex":{"type":"function","file":"index.h","line":289,"lineto":289,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"},{"name":"n","type":"unsigned int","comment":"the position of the entry"}],"argline":"git_index *index, unsigned int n","sig":"git_index *::unsigned int","return":{"type":"const git_index_entry_unmerged *","comment":"a pointer to the unmerged entry; NULL if out of bounds"},"description":"Get an unmerged entry from the index.","comments":"The returned entry is read-only and should not be modified\nof freed by the caller.\n","group":"index"},"git_index_entry_stage":{"type":"function","file":"index.h","line":302,"lineto":302,"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"},"description":"Return the stage number from a git index entry","comments":"This entry is calculated from the entrie's flag\nattribute like this:\n\n(entry->flags & GIT_IDXENTRY_STAGEMASK) >> GIT_IDXENTRY_STAGESHIFT\n","group":"index"},"git_repository_open":{"type":"function","file":"repository.h","line":46,"lineto":46,"args":[{"name":"repository","type":"git_repository **","comment":"pointer to the repo which will be opened"},{"name":"path","type":"const char *","comment":"the path to the repository"}],"argline":"git_repository **repository, const char *path","sig":"git_repository **::const char *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Open a git repository.","comments":"The 'path' argument must point to an existing git repository\nfolder, e.g.\n\n\t/path/to/my_repo/.git/\t(normal repository)\n\t\t\t\t\t\tobjects/\n\t\t\t\t\t\tindex\n\t\t\t\t\t\tHEAD\n\n\t/path/to/bare_repo/\t\t(bare repository)\n\t\t\t\t\tobjects/\n\t\t\t\t\tindex\n\t\t\t\t\tHEAD\n\nThe method will automatically detect if 'path' is a normal\nor bare repository or fail is 'path' is neither.\n","group":"repository","examples":{"showindex.c":["ex/v0.15.0/showindex.html#git_repository_open-5"],"general.c":["ex/v0.15.0/general.html#git_repository_open-12","ex/v0.15.0/general.html#git_repository_open-13"]}},"git_repository_open2":{"type":"function","file":"repository.h","line":75,"lineto":79,"args":[{"name":"repository","type":"git_repository **","comment":"pointer to the repo which will be opened"},{"name":"git_dir","type":"const char *","comment":"The full path to the repository folder e.g. a '.git' folder for live repos, any folder for bare Equivalent to $GIT_DIR. Cannot be NULL."},{"name":"git_object_directory","type":"const char *","comment":"The full path to the ODB folder. the folder where all the loose and packed objects are stored Equivalent to $GIT_OBJECT_DIRECTORY. If NULL, \"$GIT_DIR/objects/\" is assumed."},{"name":"git_index_file","type":"const char *","comment":"The full path to the index (dircache) file Equivalent to $GIT_INDEX_FILE. If NULL, \"$GIT_DIR/index\" is assumed."},{"name":"git_work_tree","type":"const char *","comment":"The full path to the working tree of the repository, if the repository is not bare. Equivalent to $GIT_WORK_TREE. If NULL, the repository is assumed to be bare."}],"argline":"git_repository **repository,\n\t\tconst char *git_dir,\n\t\tconst char *git_object_directory,\n\t\tconst char *git_index_file,\n\t\tconst char *git_work_tree","sig":"git_repository **::const char *::const char *::const char *::const char *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Open a git repository by manually specifying all its paths","comments":"","group":"repository"},"git_repository_open3":{"type":"function","file":"repository.h","line":110,"lineto":114,"args":[{"name":"repository","type":"git_repository **","comment":"pointer to the repo which will be opened"},{"name":"git_dir","type":"const char *","comment":"The full path to the repository folder e.g. a '.git' folder for live repos, any folder for bare Equivalent to $GIT_DIR. Cannot be NULL."},{"name":"object_database","type":"git_odb *","comment":"A pointer to a git_odb created & initialized by the user (e.g. with custom backends). This object database will be owned by the repository and will be automatically free'd. It should not be manually free'd by the user, or this git_repository object will become invalid."},{"name":"git_index_file","type":"const char *","comment":"The full path to the index (dircache) file Equivalent to $GIT_INDEX_FILE. If NULL, \"$GIT_DIR/index\" is assumed."},{"name":"git_work_tree","type":"const char *","comment":"The full path to the working tree of the repository, if the repository is not bare. Equivalent to $GIT_WORK_TREE. If NULL, the repository is assumed to be bare."}],"argline":"git_repository **repository,\n\t\tconst char *git_dir,\n\t\tgit_odb *object_database,\n\t\tconst char *git_index_file,\n\t\tconst char *git_work_tree","sig":"git_repository **::const char *::git_odb *::const char *::const char *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Open a git repository by manually specifying its paths and\nthe object database it will use.","comments":"","group":"repository"},"git_repository_discover":{"type":"function","file":"repository.h","line":143,"lineto":143,"args":[{"name":"repository_path","type":"char *","comment":"The user allocated buffer which will contain the found path."},{"name":"size","type":"size_t","comment":"repository_path size"},{"name":"start_path","type":"const char *","comment":"The base path where the lookup starts."},{"name":"across_fs","type":"int","comment":"If true, then the lookup will not stop when a filesystem device change is detected while exploring parent directories."},{"name":"ceiling_dirs","type":"const char *","comment":"A GIT_PATH_LIST_SEPARATOR separated list of absolute symbolic link free paths. The lookup will stop when any of this paths is reached. Note that the lookup always performs on start_path no matter start_path appears in ceiling_dirs ceiling_dirs might be NULL (which is equivalent to an empty string)"}],"argline":"char *repository_path, size_t size, const char *start_path, int across_fs, const char *ceiling_dirs","sig":"char *::size_t::const char *::int::const char *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Look for a git repository and copy its path in the given buffer. The lookup start\nfrom base_path and walk across parent directories if nothing has been found. The\nlookup ends when the first repository is found, or when reaching a directory\nreferenced in ceiling_dirs or when the filesystem changes (in case across_fs\nis true).","comments":"The method will automatically detect if the repository is bare (if there is\na repository).\n","group":"repository"},"git_repository_database":{"type":"function","file":"repository.h","line":151,"lineto":151,"args":[{"name":"repo","type":"git_repository *","comment":"a repository object"}],"argline":"git_repository *repo","sig":"git_repository *","return":{"type":"git_odb *","comment":"a pointer to the object db"},"description":"Get the object database behind a Git repository","comments":"","group":"repository","examples":{"general.c":["ex/v0.15.0/general.html#git_repository_database-14"]}},"git_repository_index":{"type":"function","file":"repository.h","line":171,"lineto":171,"args":[{"name":"index","type":"git_index **","comment":"Pointer where to store the index"},{"name":"repo","type":"git_repository *","comment":"a repository object"}],"argline":"git_index **index, git_repository *repo","sig":"git_index **::git_repository *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Open the Index file of a Git repository","comments":"This returns a new and unique `git_index` object representing the\nactive index for the repository.\n\nThis method may be called more than once (e.g. on different threads).\n\nEach returned `git_index` object is independent and suffers no race\nconditions: synchronization is done at the FS level.\n\nEach returned `git_index` object must be manually freed by the user,\nusing `git_index_free`.\n","group":"repository","examples":{"showindex.c":["ex/v0.15.0/showindex.html#git_repository_index-6"],"general.c":["ex/v0.15.0/general.html#git_repository_index-15"]}},"git_repository_free":{"type":"function","file":"repository.h","line":184,"lineto":184,"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"},"description":"Free a previously allocated repository","comments":"Note that after a repository is free'd, all the objects it has spawned\nwill still exist until they are manually closed by the user\nwith `git_object_close`, but accessing any of the attributes of\nan object without a backing repository will result in undefined\nbehavior\n","group":"repository","examples":{"showindex.c":["ex/v0.15.0/showindex.html#git_repository_free-7"],"general.c":["ex/v0.15.0/general.html#git_repository_free-16"]}},"git_repository_init":{"type":"function","file":"repository.h","line":201,"lineto":201,"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","comment":"if true, a Git repository without a working directory is created at the pointed path. If false, provided path will be considered as the working directory into which the .git directory will be created."}],"argline":"git_repository **repo_out, const char *path, unsigned is_bare","sig":"git_repository **::const char *::unsigned","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Creates a new Git repository in the given folder.","comments":"TODO:\n- Reinit the repository\n- Create config files\n","group":"repository"},"git_repository_head":{"type":"function","file":"repository.h","line":211,"lineto":211,"args":[{"name":"head_out","type":"git_reference **","comment":"pointer to the reference which will be retrieved"},{"name":"repo","type":"git_repository *","comment":"a repository object"}],"argline":"git_reference **head_out, git_repository *repo","sig":"git_reference **::git_repository *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Retrieve and resolve the reference pointed at by HEAD.","comments":"","group":"repository"},"git_repository_head_detached":{"type":"function","file":"repository.h","line":223,"lineto":223,"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 was an error."},"description":"Check if a repository's HEAD is detached","comments":"A repository's HEAD is detached when it points directly to a commit\ninstead of a branch.\n","group":"repository"},"git_repository_head_orphan":{"type":"function","file":"repository.h","line":235,"lineto":235,"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 code if therewas an error"},"description":"Check if the current branch is an orphan","comments":"An orphan branch is one named from HEAD but which doesn't exist in\nthe refs namespace, because it doesn't have any commit to point to.\n","group":"repository"},"git_repository_is_empty":{"type":"function","file":"repository.h","line":247,"lineto":247,"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 if the repository is corrupted"},"description":"Check if a repository is empty","comments":"An empty repository has just been initialized and contains\nno commits.\n","group":"repository"},"git_repository_path":{"type":"function","file":"repository.h","line":274,"lineto":274,"args":[{"name":"repo","type":"git_repository *","comment":"a repository object"},{"name":"id","type":"git_repository_pathid","comment":"The ID of the path to return"}],"argline":"git_repository *repo, git_repository_pathid id","sig":"git_repository *::git_repository_pathid","return":{"type":"const char *","comment":"absolute path of the requested id"},"description":"Get one of the paths to the repository","comments":"Possible values for `id`:\n\nGIT_REPO_PATH: return the path to the repository\nGIT_REPO_PATH_INDEX: return the path to the index\nGIT_REPO_PATH_ODB: return the path to the ODB\nGIT_REPO_PATH_WORKDIR: return the path to the working\n\tdirectory\n","group":"repository"},"git_repository_is_bare":{"type":"function","file":"repository.h","line":282,"lineto":282,"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 otherwise."},"description":"Check if a repository is bare","comments":"","group":"repository"},"git_repository_config":{"type":"function","file":"repository.h","line":311,"lineto":314,"args":[{"name":"out","type":"git_config **","comment":"the repository's configuration"},{"name":"repo","type":"git_repository *","comment":"the repository for which to get the config"},{"name":"global_config_path","type":"const char *"},{"name":"system_config_path","type":"const char *","comment":"Path to the global config file"}],"argline":"git_config **out,\n\tgit_repository *repo,\n\tconst char *global_config_path,\n\tconst char *system_config_path","sig":"git_config **::git_repository *::const char *::const char *","return":{"type":"int"},"description":"Retrieve the relevant configuration for a repository","comments":"If either the `global_config_path` or `system_config_path`\nvariables are not NULL, the given config files will be also\nincluded in the configuration set. The global configuration file is\nlocated in $HOME/.gitconfig. On most UNIX systems, the system\nconfig file file may be found on `$sysconfdir/gitconfig`.\n\nThe resulting `git_config` instance will query the files in the following\norder:\n\n- Repository configuration file\n- Global configuration file\n- System configuration file\n\nThe method will fail if any of the given config files can't be\nfound or accessed.\n\nThe returned `git_config` instance is owned by the caller and must\nbe manually free'd once it's no longer on use.\n","group":"repository"},"git_repository_config_autoload":{"type":"function","file":"repository.h","line":328,"lineto":330,"args":[{"name":"out","type":"git_config **","comment":"the repository's configuration"},{"name":"repo","type":"git_repository *","comment":"the repository for which to get the config"}],"argline":"git_config **out,\n\t\tgit_repository *repo","sig":"git_config **::git_repository *","return":{"type":"int"},"description":"Automatically load the configuration files","comments":"A wrapper around `git_repository_config` that tries to guess where\nthe global and system config files are located. No error is\nreported if either of these files are missing at the guessed\nlocations.\n","group":"repository"},"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":"GIT_SUCCESS or an error code"},"description":"Lookup a tag object from the repository.","comments":"","group":"tag","examples":{"general.c":["ex/v0.15.0/general.html#git_tag_lookup-17"]}},"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":"GIT_SUCCESS or an error code"},"description":"Lookup a tag object from the repository,\ngiven a prefix of its identifier (short id).","comments":"@see git_object_lookup_prefix\n","group":"tag"},"git_tag_close":{"type":"function","file":"tag.h","line":65,"lineto":68,"args":[{"name":"tag","type":"git_tag *","comment":"the tag to close"}],"argline":"git_tag *tag","sig":"git_tag *","return":{"type":"void"},"description":"Close an open tag","comments":"This is a wrapper around git_object_close()\n\nIMPORTANT:\nIt *is* necessary to call this method when you stop\nusing a tag. Failure to do so will cause a memory leak.\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":"Get the id of a tag.","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":"GIT_SUCCESS or an error code"},"description":"Get the tagged object of a tag","comments":"This method performs a repository lookup for the\ngiven object and returns it\n","group":"tag","examples":{"general.c":["ex/v0.15.0/general.html#git_tag_target-18"]}},"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":"Get the OID of the tagged object of a tag","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":"Get the type of a tag's tagged object","comments":"","group":"tag","examples":{"general.c":["ex/v0.15.0/general.html#git_tag_type-19"]}},"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":"Get the name of a tag","comments":"","group":"tag","examples":{"general.c":["ex/v0.15.0/general.html#git_tag_name-20"]}},"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":"Get the tagger (author) of a tag","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":"Get the message of a tag","comments":"","group":"tag","examples":{"general.c":["ex/v0.15.0/general.html#git_tag_message-21"]}},"git_tag_create":{"type":"function","file":"tag.h","line":165,"lineto":172,"args":[{"name":"oid","type":"git_oid *","comment":"Pointer where to store the OID of the newly created tag. If the tag already exists, this parameter will be the oid of the existing tag, and the function will 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 for consistency. It should also not conflict with an already existing tag name"},{"name":"target","type":"const git_object *","comment":"Object to which this tag points. This object must belong to the given `repo`."},{"name":"tagger","type":"const git_signature *","comment":"Signature of the tagger for this tag, and 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,\n\t\tgit_repository *repo,\n\t\tconst char *tag_name,\n\t\tconst git_object *target,\n\t\tconst git_signature *tagger,\n\t\tconst char *message,\n\t\tint force","sig":"git_oid *::git_repository *::const char *::const git_object *::const git_signature *::const char *::int","return":{"type":"int","comment":"GIT_SUCCESS or an error code A tag object is written to the ODB, and a proper reference is written in the /refs/tags folder, pointing to it"},"description":"Create a new tag in the repository from an object","comments":"A new reference will also be created pointing to\nthis tag object. If `force` is true and a reference\nalready exists with the given name, it'll be replaced.\n","group":"tag"},"git_tag_create_frombuffer":{"type":"function","file":"tag.h","line":183,"lineto":187,"args":[{"name":"oid","type":"git_oid *","comment":"Pointer where to store the OID of the newly created tag"},{"name":"repo","type":"git_repository *","comment":"Repository where to store the tag"},{"name":"buffer","type":"const char *","comment":"Raw tag data"},{"name":"force","type":"int","comment":"Overwrite existing tags"}],"argline":"git_oid *oid,\n\t\tgit_repository *repo,\n\t\tconst char *buffer,\n\t\tint force","sig":"git_oid *::git_repository *::const char *::int","return":{"type":"int","comment":"0 on sucess; error code otherwise"},"description":"Create a new tag in the repository from a buffer","comments":"","group":"tag"},"git_tag_create_lightweight":{"type":"function","file":"tag.h","line":216,"lineto":221,"args":[{"name":"oid","type":"git_oid *","comment":"Pointer where to store the OID of the provided target object. If the tag already exists, this parameter will be filled with the oid of the existing pointed object 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 for consistency. It should also not conflict with an already existing tag name"},{"name":"target","type":"const git_object *","comment":"Object to which this tag points. This object must belong to the given `repo`."},{"name":"force","type":"int","comment":"Overwrite existing references"}],"argline":"git_oid *oid,\n\t\tgit_repository *repo,\n\t\tconst char *tag_name,\n\t\tconst git_object *target,\n\t\tint force","sig":"git_oid *::git_repository *::const char *::const git_object *::int","return":{"type":"int","comment":"GIT_SUCCESS or an error code A proper reference is written in the /refs/tags folder, pointing to the provided target object"},"description":"Create a new lightweight tag pointing at a target object","comments":"A new direct reference will be created pointing to\nthis target object. If `force` is true and a reference\nalready exists with the given name, it'll be replaced.\n","group":"tag"},"git_tag_delete":{"type":"function","file":"tag.h","line":233,"lineto":235,"args":[{"name":"repo","type":"git_repository *","comment":"Repository where lives the tag"},{"name":"tag_name","type":"const char *","comment":"Name of the tag to be deleted; this name is validated for consistency."}],"argline":"git_repository *repo,\n\t\tconst char *tag_name","sig":"git_repository *::const char *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Delete an existing tag reference.","comments":"","group":"tag"},"git_tag_list":{"type":"function","file":"tag.h","line":250,"lineto":252,"args":[{"name":"tag_names","type":"git_strarray *","comment":"Pointer to a git_strarray structure where the tag names will be stored"},{"name":"repo","type":"git_repository *","comment":"Repository where to find the tags"}],"argline":"git_strarray *tag_names,\n\t\tgit_repository *repo","sig":"git_strarray *::git_repository *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Fill a list with all the tags in the Repository","comments":"The string array will be filled with the names of the\nmatching tags; these values are owned by the user and\nshould be free'd manually when no longer needed, using\n`git_strarray_free`.\n","group":"tag"},"git_tag_list_match":{"type":"function","file":"tag.h","line":272,"lineto":275,"args":[{"name":"tag_names","type":"git_strarray *","comment":"Pointer to a git_strarray structure where the 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,\n\t\tconst char *pattern,\n\t\tgit_repository *repo","sig":"git_strarray *::const char *::git_repository *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Fill a list with all the tags in the Repository\nwhich name match a defined pattern","comments":"If an empty pattern is provided, all the tags\nwill be returned.\n\nThe string array will be filled with the names of the\nmatching tags; these values are owned by the user and\nshould be free'd manually when no longer needed, using\n`git_strarray_free`.\n","group":"tag"},"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 an annotated tag it will be peeled back to the commit."}],"argline":"git_commit **commit, git_repository *repo, const git_oid *id","sig":"git_commit **::git_repository *::const git_oid *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Lookup a commit object from a repository.","comments":"","group":"commit","examples":{"general.c":["ex/v0.15.0/general.html#git_commit_lookup-22","ex/v0.15.0/general.html#git_commit_lookup-23","ex/v0.15.0/general.html#git_commit_lookup-24"]}},"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 an annotated tag it will be peeled back to the commit."},{"name":"len","type":"unsigned","comment":"the length of the short identifier"}],"argline":"git_commit **commit, git_repository *repo, const git_oid *id, unsigned len","sig":"git_commit **::git_repository *::const git_oid *::unsigned","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Lookup a commit object from a repository,\ngiven a prefix of its identifier (short id).","comments":"@see git_object_lookup_prefix\n","group":"commit"},"git_commit_close":{"type":"function","file":"commit.h","line":67,"lineto":70,"args":[{"name":"commit","type":"git_commit *","comment":"the commit to close"}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"void"},"description":"Close an open commit","comments":"This is a wrapper around git_object_close()\n\nIMPORTANT:\nIt *is* necessary to call this method when you stop\nusing a commit. Failure to do so will cause a memory leak.\n","group":"commit","examples":{"general.c":["ex/v0.15.0/general.html#git_commit_close-25","ex/v0.15.0/general.html#git_commit_close-26","ex/v0.15.0/general.html#git_commit_close-27","ex/v0.15.0/general.html#git_commit_close-28"]}},"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":"Get the id of a commit.","comments":"","group":"commit","examples":{"general.c":["ex/v0.15.0/general.html#git_commit_id-29"]}},"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":"Get the encoding for the message of a commit,\nas a string representing a standard encoding name.","comments":"The encoding may be NULL if the `encoding` header\nin the commit is missing; in that case UTF-8 is assumed.\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":"Get the full message of a commit.","comments":"","group":"commit","examples":{"general.c":["ex/v0.15.0/general.html#git_commit_message-30","ex/v0.15.0/general.html#git_commit_message-31"]}},"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":"Get the commit time (i.e. committer time) of a commit.","comments":"","group":"commit","examples":{"general.c":["ex/v0.15.0/general.html#git_commit_time-32","ex/v0.15.0/general.html#git_commit_time-33"]}},"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":"Get the commit timezone offset (i.e. committer's preferred timezone) of a commit.","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":"Get the committer of a commit.","comments":"","group":"commit","examples":{"general.c":["ex/v0.15.0/general.html#git_commit_committer-34"]}},"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":"Get the author of a commit.","comments":"","group":"commit","examples":{"general.c":["ex/v0.15.0/general.html#git_commit_author-35","ex/v0.15.0/general.html#git_commit_author-36"]}},"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":"GIT_SUCCESS or an error code"},"description":"Get the tree pointed to by a commit.","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":"Get the id of the tree pointed to by a commit. This differs from\n`git_commit_tree` in that no attempts are made to fetch an object\nfrom the ODB.","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":"Get the number of parents of this commit","comments":"","group":"commit","examples":{"general.c":["ex/v0.15.0/general.html#git_commit_parentcount-37"]}},"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":"GIT_SUCCESS or an error code"},"description":"Get the specified parent of the commit.","comments":"","group":"commit","examples":{"general.c":["ex/v0.15.0/general.html#git_commit_parent-38"]}},"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":"Get the oid of a specified parent for a commit. This is different from\n`git_commit_parent`, which will attempt to load the parent commit from\nthe ODB.","comments":"","group":"commit"},"git_commit_create":{"type":"function","file":"commit.h","line":224,"lineto":234,"args":[{"name":"oid","type":"git_oid *","comment":"Pointer where to store the OID of the newly 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 will be updated to point to this commit. If the reference is not direct, it will be resolved to a direct reference. Use \"HEAD\" to update the HEAD of the current branch and make it point to this commit"},{"name":"author","type":"const git_signature *","comment":"Signature representing the author and the authory time of this commit"},{"name":"committer","type":"const git_signature *","comment":"Signature representing the committer and the commit time of this commit"},{"name":"message_encoding","type":"const char *","comment":"The encoding for the message in the commit, represented with a standard encoding name. E.g. \"UTF-8\". If NULL, no encoding header is written and UTF-8 is assumed."},{"name":"message","type":"const char *","comment":"_encoding The encoding for the message in the commit, represented with a standard encoding name. E.g. \"UTF-8\". If NULL, no encoding header is written and UTF-8 is assumed."},{"name":"tree","type":"const git_tree *","comment":"An instance of a `git_tree` object that will be used as the tree for the commit. This tree object must also be owned by the given `repo`."},{"name":"parent_count","type":"int","comment":"Number of parents for this commit"}],"argline":"git_oid *oid,\n\t\tgit_repository *repo,\n\t\tconst char *update_ref,\n\t\tconst git_signature *author,\n\t\tconst git_signature *committer,\n\t\tconst char *message_encoding,\n\t\tconst char *message,\n\t\tconst git_tree *tree,\n\t\tint parent_count,\n\t\tconst git_commit *parents[]","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":"GIT_SUCCESS or an error code The created commit will be written to the Object Database and the given reference will be updated to point to it"},"description":"Create a new commit in the repository using `git_object`\ninstances as parameters.","comments":"","group":"commit"},"git_commit_create_v":{"type":"function","file":"commit.h","line":249,"lineto":259,"args":[{"name":"oid","type":"git_oid *"},{"name":"repo","type":"git_repository *"},{"name":"update_ref","type":"const char *"},{"name":"author","type":"const git_signature *"},{"name":"committer","type":"const git_signature *"},{"name":"message_encoding","type":"const char *"},{"name":"message","type":"const char *"},{"name":"tree","type":"const git_tree *"},{"name":"parent_count","type":"int"}],"argline":"git_oid *oid,\n\t\tgit_repository *repo,\n\t\tconst char *update_ref,\n\t\tconst git_signature *author,\n\t\tconst git_signature *committer,\n\t\tconst char *message_encoding,\n\t\tconst char *message,\n\t\tconst git_tree *tree,\n\t\tint parent_count,\n\t\t...","sig":"git_oid *::git_repository *::const char *::const git_signature *::const git_signature *::const char *::const char *::const git_tree *::int","return":{"type":"int"},"description":"Create a new commit in the repository using a variable\nargument list.","comments":"The parents for the commit are specified as a variable\nlist of pointers to `const git_commit *`. Note that this\nis a convenience method which may not be safe to export\nfor certain languages or compilers\n\nAll other parameters remain the same\n\n@see git_commit_create","group":"commit","examples":{"general.c":["ex/v0.15.0/general.html#git_commit_create_v-39"]}},"git_remote_new":{"type":"function","file":"remote.h","line":40,"lineto":40,"args":[{"name":"out","type":"git_remote **","comment":"pointer to the new remote object"},{"name":"repo","type":"git_repository *","comment":"the associtated repository"},{"name":"url","type":"const char *","comment":"the remote repository's URL"}],"argline":"git_remote **out, git_repository *repo, const char *url","sig":"git_remote **::git_repository *::const char *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Create a new unnamed remote","comments":"Useful when you don't want to store the remote\n","group":"remote"},"git_remote_get":{"type":"function","file":"remote.h","line":50,"lineto":50,"args":[{"name":"out","type":"struct git_remote **","comment":"pointer to the new remote object"},{"name":"cfg","type":"struct git_config *","comment":"the repository's configuration"},{"name":"name","type":"const char *","comment":"the remote's name"}],"argline":"struct git_remote **out, struct git_config *cfg, const char *name","sig":"struct git_remote **::struct git_config *::const char *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Get the information for a particular remote","comments":"","group":"remote"},"git_remote_name":{"type":"function","file":"remote.h","line":58,"lineto":58,"args":[{"name":"remote","type":"struct git_remote *","comment":"the remote"}],"argline":"struct git_remote *remote","sig":"struct git_remote *","return":{"type":"const char *","comment":"a pointer to the name"},"description":"Get the remote's name","comments":"","group":"remote"},"git_remote_url":{"type":"function","file":"remote.h","line":66,"lineto":66,"args":[{"name":"remote","type":"struct git_remote *","comment":"the remote"}],"argline":"struct git_remote *remote","sig":"struct git_remote *","return":{"type":"const char *","comment":"a pointer to the url"},"description":"Get the remote's url","comments":"","group":"remote"},"git_remote_fetchspec":{"type":"function","file":"remote.h","line":74,"lineto":74,"args":[{"name":"remote","type":"struct git_remote *","comment":"the remote"}],"argline":"struct git_remote *remote","sig":"struct git_remote *","return":{"type":"const git_refspec *","comment":"a pointer to the fetch refspec or NULL if it doesn't exist"},"description":"Get the fetch refspec","comments":"","group":"remote"},"git_remote_pushspec":{"type":"function","file":"remote.h","line":82,"lineto":82,"args":[{"name":"remote","type":"struct git_remote *","comment":"the remote"}],"argline":"struct git_remote *remote","sig":"struct git_remote *","return":{"type":"const git_refspec *","comment":"a pointer to the push refspec or NULL if it doesn't exist"},"description":"Get the push refspec","comments":"","group":"remote"},"git_remote_connect":{"type":"function","file":"remote.h","line":96,"lineto":96,"args":[{"name":"remote","type":"struct git_remote *","comment":"the remote to connect to"},{"name":"direction","type":"int","comment":"whether you want to receive or send data"}],"argline":"struct git_remote *remote, int direction","sig":"struct git_remote *::int","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Open a connection to a remote","comments":"The transport is selected based on the URL. The direction argument\nis due to a limitation of the git protocol (over TCP or SSH) which\nstarts up a specific binary which can only do the one or the other.\n","group":"remote"},"git_remote_ls":{"type":"function","file":"remote.h","line":107,"lineto":107,"args":[{"name":"remote","type":"git_remote *","comment":"the remote"},{"name":"refs","type":"git_headarray *","comment":"where to store the refs"}],"argline":"git_remote *remote, git_headarray *refs","sig":"git_remote *::git_headarray *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Get a list of refs at the remote","comments":"The remote (or more exactly its transport) must be connected.\n","group":"remote"},"git_remote_negotiate":{"type":"function","file":"remote.h","line":115,"lineto":115,"args":[{"name":"remote","type":"git_remote *","comment":"the remote you want to negotiate with"}],"argline":"git_remote *remote","sig":"git_remote *","return":{"type":"int"},"description":"Negotiate what data needs to be exchanged to synchroize the remtoe\nand local references","comments":"","group":"remote"},"git_remote_download":{"type":"function","file":"remote.h","line":129,"lineto":129,"args":[{"name":"filename","type":"char **","comment":"where to store the temproray filename"},{"name":"remote","type":"git_remote *","comment":"the remote to download from"}],"argline":"char **filename, git_remote *remote","sig":"char **::git_remote *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Download the packfile","comments":"The packfile is downloaded with a temporary filename, as it's final\nname is not known yet. If there was no packfile needed (all the\nobjects were available locally), filename will be NULL and the\nfunction will return success.\n","group":"remote"},"git_remote_free":{"type":"function","file":"remote.h","line":136,"lineto":136,"args":[{"name":"remote","type":"struct git_remote *","comment":"the remote to free"}],"argline":"struct git_remote *remote","sig":"struct git_remote *","return":{"type":"void"},"description":"Free the memory associated with a remote","comments":"","group":"remote"},"git_remote_update_tips":{"type":"function","file":"remote.h","line":146,"lineto":146,"args":[{"name":"remote","type":"struct git_remote *","comment":"the remote to update"}],"argline":"struct git_remote *remote","sig":"struct git_remote *","return":{"type":"int"},"description":"Update the tips to the new state","comments":"Make sure that you only call this once you've successfully indexed\nor expanded the packfile.\n","group":"remote"},"deflateBound":{"type":"function","file":"zlib.h","line":32,"lineto":36,"args":[{"name":"stream","type":"z_streamp","comment":"the stream pointer."},{"name":"s","type":"size_t","comment":"tream the stream pointer."}],"argline":"z_streamp stream, size_t s","sig":"z_streamp::size_t","return":{"type":"size_t","comment":"maximum length of the compressed data."},"description":"deflateBound returns an upper bound on the compressed size.","comments":"This is a stub function used when zlib does not supply the\ndeflateBound() implementation itself.\n","group":"zlib"},"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":"GIT_SUCCESS or an error code"},"description":"Lookup a tree object from the repository.","comments":"","group":"tree","examples":{"general.c":["ex/v0.15.0/general.html#git_tree_lookup-40","ex/v0.15.0/general.html#git_tree_lookup-41"]}},"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":"GIT_SUCCESS or an error code"},"description":"Lookup a tree object from the repository,\ngiven a prefix of its identifier (short id).","comments":"@see git_object_lookup_prefix\n","group":"tree"},"git_tree_close":{"type":"function","file":"tree.h","line":65,"lineto":68,"args":[{"name":"tree","type":"git_tree *","comment":"the tree to close"}],"argline":"git_tree *tree","sig":"git_tree *","return":{"type":"void"},"description":"Close an open tree","comments":"This is a wrapper around git_object_close()\n\nIMPORTANT:\nIt *is* necessary to call this method when you stop\nusing a tree. Failure to do so will cause a memory leak.\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":"Get the id of a tree.","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":"Get the number of entries listed in a tree","comments":"","group":"tree","examples":{"general.c":["ex/v0.15.0/general.html#git_tree_entrycount-42"]}},"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":"Lookup a tree entry by its filename","comments":"","group":"tree","examples":{"general.c":["ex/v0.15.0/general.html#git_tree_entry_byname-43"]}},"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":"Lookup a tree entry by its position in the tree","comments":"","group":"tree","examples":{"general.c":["ex/v0.15.0/general.html#git_tree_entry_byindex-44"]}},"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":"Get the UNIX file attributes of a tree entry","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":"Get the filename of a tree entry","comments":"","group":"tree","examples":{"general.c":["ex/v0.15.0/general.html#git_tree_entry_name-45","ex/v0.15.0/general.html#git_tree_entry_name-46"]}},"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":"Get the id of the object pointed by the entry","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":"Get the type of the object pointed by the entry","comments":"","group":"tree"},"git_tree_entry_2object":{"type":"function","file":"tree.h","line":146,"lineto":146,"args":[{"name":"object_out","type":"git_object **"},{"name":"repo","type":"git_repository *","comment":"repository where to lookup the pointed object"},{"name":"entry","type":"const git_tree_entry *","comment":"a tree entry"}],"argline":"git_object **object_out, git_repository *repo, const git_tree_entry *entry","sig":"git_object **::git_repository *::const git_tree_entry *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Convert a tree entry to the git_object it points too.","comments":"","group":"tree","examples":{"general.c":["ex/v0.15.0/general.html#git_tree_entry_2object-47"]}},"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":"GIT_SUCCESS or an error code"},"description":"Write a tree to the ODB from the index file","comments":"This method will scan the index and write a representation\nof its current state back to disk; it recursively creates\ntree objects for each of the subtrees stored in the index,\nbut only returns the OID of the root tree. This is the OID\nthat can be used e.g. to create a commit.\n\nThe index instance cannot be bare, and needs to be associated\nto an existing repository.\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":"Create a new tree builder.","comments":"The tree builder can be used to create or modify\ntrees in memory and write them as tree objects to the\ndatabase.\n\nIf the `source` parameter is not NULL, the tree builder\nwill be initialized with the entries of the given tree.\n\nIf the `source` parameter is NULL, the tree builder will\nhave no entries and will have to be filled manually.\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"},"description":"Clear all the entires in the builder","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"},"description":"Free a tree builder","comments":"This will clear all the entries and free to builder.\nFailing to free the builder after you're done using it\nwill result in a memory leak\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":"Get an entry from the builder from its filename","comments":"The returned entry is owned by the builder and should\nnot be freed manually.\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":"GIT_SUCCESS or an error code"},"description":"Add or update an entry to the builder","comments":"Insert a new entry for `filename` in the builder with the\ngiven attributes.\n\nif an entry named `filename` already exists, its attributes\nwill be updated with the given ones.\n\nThe optional pointer `entry_out` can be used to retrieve a\npointer to the newly created/updated entry.\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"},"description":"Remove an entry from the builder by its filename","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 *"}],"argline":"git_treebuilder *bld, int (*filter)(const git_tree_entry *, void *), void *payload","sig":"git_treebuilder *::int (*)(const git_tree_entry *, void *)::void *","return":{"type":"void"},"description":"Filter the entries in the tree","comments":"The `filter` callback will be called for each entry\nin the tree with a pointer to the entry and the\nprovided `payload`: if the callback returns 1, the\nentry will be filtered (removed from the builder).\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":"GIT_SUCCESS or an error code"},"description":"Write the contents of the tree builder as a tree object","comments":"The tree builder will be written to the given `repo`, and\nit's identifying SHA1 hash will be stored in the `oid`\npointer.\n","group":"treebuilder"},"git_transport_new":{"type":"function","file":"transport.h","line":28,"lineto":28,"args":[{"name":"transport","type":"git_transport **"},{"name":"url","type":"const char *","comment":"the url of the repo"}],"argline":"git_transport **transport, const char *url","sig":"git_transport **::const char *","return":{"type":"int"},"description":"Get the appropriate transport for an URL.\n@param tranport the transport for the url\n@param url the url of the repo","comments":"","group":"transport"},"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. Set to NULL if the open failed."}],"argline":"git_odb **out","sig":"git_odb **","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Create a new object database with no backends.","comments":"Before the ODB can be used for read/writing, a custom database\nbackend must be manually added using `git_odb_add_backend()`\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. Set to NULL if the open failed."},{"name":"objects_dir","type":"const char *","comment":"path of the backends' \"objects\" directory."}],"argline":"git_odb **out, const char *objects_dir","sig":"git_odb **::const char *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Create a new object database and automatically add\nthe two default backends:","comments":"- git_odb_backend_loose: read and write loose object files\n\tfrom disk, assuming `objects_dir` as the Objects folder\n\n- git_odb_backend_pack: read objects from packfiles,\n\tassuming `objects_dir` as the Objects folder which\n\tcontains a 'pack/' folder with the corresponding data\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":"Add a custom backend to an existing Object DB","comments":"The backends are checked in relative ordering, based on the\nvalue of the `priority` parameter.\n\nRead <odb_backends.h> for more information.\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":"Add a custom backend to an existing Object DB; this\nbackend will work as an alternate.","comments":"Alternate backends are always checked for objects *after*\nall the main backends have been exhausted.\n\nThe backends are checked in relative ordering, based on the\nvalue of the `priority` parameter.\n\nWriting is disabled on alternate backends.\n\nRead <odb_backends.h> for more information.\n","group":"odb"},"git_odb_close":{"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"},"description":"Close an open object database.","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":"- GIT_SUCCESS if the object was read; - GIT_ENOTFOUND if the object is not in the database."},"description":"Read an object from the database.","comments":"This method queries all available ODB backends\ntrying to read the given OID.\n\nThe returned object is reference counted and\ninternally cached, so it should be closed\nby the user once it's no longer in use.\n","group":"odb","examples":{"general.c":["ex/v0.15.0/general.html#git_odb_read-48"]}},"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":"GIT_SUCCESS if the object was read; GIT_ENOTFOUND if the object is not in the database. GIT_EAMBIGUOUS if the prefix is ambiguous (several objects match the prefix)"},"description":"Read an object from the database, given a prefix\nof its identifier.","comments":"This method queries all available ODB backends\ntrying to match the 'len' first hexadecimal\ncharacters of the 'short_id'.\nThe remaining (GIT_OID_HEXSZ-len)*4 bits of\n'short_id' must be 0s.\n'len' must be at least GIT_OID_MINPREFIXLEN,\nand the prefix must be long enough to identify\na unique object in all the backends; the\nmethod will fail otherwise.\n\nThe returned object is reference counted and\ninternally cached, so it should be closed\nby the user once it's no longer in use.\n","group":"odb"},"git_odb_read_header":{"type":"function","file":"odb.h","line":162,"lineto":162,"args":[{"name":"len_p","type":"size_t *","comment":"pointer where to store the length"},{"name":"type_p","type":"git_otype *","comment":"pointer where to store the type"},{"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":"size_t *len_p, git_otype *type_p, git_odb *db, const git_oid *id","sig":"size_t *::git_otype *::git_odb *::const git_oid *","return":{"type":"int","comment":"- GIT_SUCCESS if the object was read; - GIT_ENOTFOUND if the object is not in the database."},"description":"Read the header of an object from the database, without\nreading its full contents.","comments":"The header includes the length and the type of an object.\n\nNote that most backends do not support reading only the header\nof an object, so the whole object will be read and then the\nheader will be returned.\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 - 0, otherwise"},"description":"Determine if the given object can be found in the object database.","comments":"","group":"odb"},"git_odb_write":{"type":"function","file":"odb.h","line":193,"lineto":193,"args":[{"name":"oid","type":"git_oid *","comment":"pointer to store the OID result of the write"},{"name":"odb","type":"git_odb *","comment":"object database where to store the object"},{"name":"data","type":"const void *","comment":"buffer with the data to storr"},{"name":"len","type":"size_t","comment":"size of the buffer"},{"name":"type","type":"git_otype","comment":"type of the data to store"}],"argline":"git_oid *oid, git_odb *odb, const void *data, size_t len, git_otype type","sig":"git_oid *::git_odb *::const void *::size_t::git_otype","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Write an object directly into the ODB","comments":"This method writes a full object straight into the ODB.\nFor most cases, it is preferred to write objects through a write\nstream, which is both faster and less memory intensive, specially\nfor big objects.\n\nThis method is provided for compatibility with custom backends\nwhich are not able to support streaming writes\n","group":"odb","examples":{"general.c":["ex/v0.15.0/general.html#git_odb_write-49"]}},"git_odb_open_wstream":{"type":"function","file":"odb.h","line":222,"lineto":222,"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 write"},{"name":"size","type":"size_t","comment":"final size of the object that will be written"},{"name":"type","type":"git_otype","comment":"type of the object that will be written"}],"argline":"git_odb_stream **stream, git_odb *db, size_t size, git_otype type","sig":"git_odb_stream **::git_odb *::size_t::git_otype","return":{"type":"int","comment":"0 if the stream was created; error code otherwise"},"description":"Open a stream to write an object into the ODB","comments":"The type and final length of the object must be specified\nwhen opening the stream.\n\nThe returned stream will be of type `GIT_STREAM_WRONLY` and\nwill have the following methods:\n\n\t- stream->write: write `n` bytes into the stream\n\t- stream->finalize_write: close the stream and store the object in\n\t\tthe odb\n\t- stream->free: free the stream\n\nThe streaming write won't be effective until `stream->finalize_write`\nis called and returns without an error\n\nThe stream must always be free'd or will leak memory.\n\n@see git_odb_stream\n","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":"Open a stream to read an object from the ODB","comments":"Note that most backends do *not* support streaming reads\nbecause they store their objects as compressed/delta'ed blobs.\n\nIt's recommended to use `git_odb_read` instead, which is\nassured to work on all backends.\n\nThe returned stream will be of type `GIT_STREAM_RDONLY` and\nwill have the following methods:\n\n\t- stream->read: read `n` bytes from the stream\n\t- stream->free: free the stream\n\nThe stream must always be free'd or will leak memory.\n\n@see git_odb_stream\n","group":"odb"},"git_odb_hash":{"type":"function","file":"odb.h","line":262,"lineto":262,"args":[{"name":"id","type":"git_oid *","comment":"the resulting object-ID."},{"name":"data","type":"const void *","comment":"data to hash"},{"name":"len","type":"size_t","comment":"size of the data"},{"name":"type","type":"git_otype","comment":"of the data to hash"}],"argline":"git_oid *id, const void *data, size_t len, git_otype type","sig":"git_oid *::const void *::size_t::git_otype","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Determine the object-ID (sha1 hash) of a data buffer","comments":"The resulting SHA-1 OID will the itentifier for the data\nbuffer as if the data buffer it were to written to the ODB.\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":"GIT_SUCCESS or an error code"},"description":"Read a file from disk and fill a git_oid with the object id\nthat the file would have if it were written to the Object\nDatabase as an object of the given type. Similar functionality\nto git.git's `git hash-object` without the `-w` flag.","comments":"","group":"odb"},"git_odb_object_close":{"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"},"description":"Close an ODB object","comments":"This method must always be called once a `git_odb_object` is no\nlonger needed, otherwise memory will leak.\n","group":"odb","examples":{"general.c":["ex/v0.15.0/general.html#git_odb_object_close-50"]}},"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":"Return the OID of an ODB object","comments":"This is the OID from which the object was read from\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":"Return the data of an ODB object","comments":"This is the uncompressed, raw data as read from the ODB,\nwithout the leading header.\n\nThis pointer is owned by the object and shall not be free'd.\n","group":"odb","examples":{"general.c":["ex/v0.15.0/general.html#git_odb_object_data-51"]}},"git_odb_object_size":{"type":"function","file":"odb.h","line":319,"lineto":319,"args":[{"name":"object","type":"git_odb_object *","comment":"the object"}],"argline":"git_odb_object *object","sig":"git_odb_object *","return":{"type":"size_t","comment":"the size"},"description":"Return the size of an ODB object","comments":"This is the real size of the `data` buffer, not the\nactual size of the object.\n","group":"odb","examples":{"general.c":["ex/v0.15.0/general.html#git_odb_object_size-52"]}},"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":"Return the type of an ODB object","comments":"","group":"odb","examples":{"general.c":["ex/v0.15.0/general.html#git_odb_object_type-53"]}},"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 the hex sequence and have at least the number of bytes needed for an oid encoded in hex (40 bytes)."}],"argline":"git_oid *out, const char *str","sig":"git_oid *::const char *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Parse a hex formatted object id into a git_oid.","comments":"","group":"oid","examples":{"general.c":["ex/v0.15.0/general.html#git_oid_fromstr-54","ex/v0.15.0/general.html#git_oid_fromstr-55","ex/v0.15.0/general.html#git_oid_fromstr-56","ex/v0.15.0/general.html#git_oid_fromstr-57","ex/v0.15.0/general.html#git_oid_fromstr-58","ex/v0.15.0/general.html#git_oid_fromstr-59","ex/v0.15.0/general.html#git_oid_fromstr-60","ex/v0.15.0/general.html#git_oid_fromstr-61"]}},"git_oid_fromstrn":{"type":"function","file":"oid.h","line":61,"lineto":61,"args":[{"name":"out","type":"git_oid *","comment":"oid structure the result is written into."},{"name":"str","type":"const char *","comment":"input hex string of at least size `length`"},{"name":"length","type":"size_t","comment":"length of the input string"}],"argline":"git_oid *out, const char *str, size_t length","sig":"git_oid *::const char *::size_t","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Parse N characters of a hex formatted object id into a git_oid","comments":"If N is odd, N-1 characters will be parsed instead.\nThe remaining space in the git_oid will be set to zero.\n","group":"oid"},"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"},"description":"Copy an already raw oid into a git_oid structure.","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 the hex sequence and have at least the number of bytes needed for an oid encoded in hex (40 bytes). Only the oid digits are written; a '\\\\0' terminator must be added by 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"},"description":"Format a git_oid into a hex string.","comments":"","group":"oid","examples":{"showindex.c":["ex/v0.15.0/showindex.html#git_oid_fmt-8"],"general.c":["ex/v0.15.0/general.html#git_oid_fmt-62","ex/v0.15.0/general.html#git_oid_fmt-63","ex/v0.15.0/general.html#git_oid_fmt-64","ex/v0.15.0/general.html#git_oid_fmt-65","ex/v0.15.0/general.html#git_oid_fmt-66"]}},"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 the hex sequence and have at least the number of bytes needed for an oid encoded in hex (41 bytes). Only the oid digits are written; a '\\\\0' terminator must be added by 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"},"description":"Format a git_oid into a loose-object path string.","comments":"The resulting string is \"aa/...\", where \"aa\" is the first two\nhex digitis of the oid and \"...\" is the remaining 38 digits.\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 deallocate the string with free()."},"description":"Format a git_oid into a newly allocated c-string.","comments":"","group":"oid"},"git_oid_to_string":{"type":"function","file":"oid.h","line":122,"lineto":122,"args":[{"name":"out","type":"char *","comment":"the buffer into which the oid string is output."},{"name":"n","type":"size_t","comment":"the size of the out buffer."},{"name":"oid","type":"const git_oid *","comment":"the oid structure to format."}],"argline":"char *out, size_t n, const git_oid *oid","sig":"char *::size_t::const git_oid *","return":{"type":"char *","comment":"the out buffer pointer, assuming no input parameter errors, otherwise a pointer to an empty string."},"description":"Format a git_oid into a buffer as a hex format c-string.","comments":"If the buffer is smaller than GIT_OID_HEXSZ+1, then the resulting\noid c-string will be truncated to n-1 characters. If there are\nany input parameter errors (out == NULL, n == 0, oid == NULL),\nthen a pointer to an empty string is returned, so that the return\nvalue can always be printed.\n","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"},"description":"Copy an oid from one structure to another.","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":"<0, 0, >0 if a < b, a == b, a > b."},"description":"Compare two oid structures.","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":"Compare the first 'len' hexadecimal characters (packets of 4 bits)\nof two oid structures.","comments":"","group":"oid"},"git_oid_shorten_new":{"type":"function","file":"oid.h","line":171,"lineto":171,"args":[{"name":"min_length","type":"size_t","comment":"The minimal length for all identifiers, which will be used even if shorter OIDs would still be unique."}],"argline":"size_t min_length","sig":"size_t","return":{"type":"git_oid_shorten *","comment":"a `git_oid_shorten` instance, NULL if OOM"},"description":"Create a new OID shortener.","comments":"The OID shortener is used to process a list of OIDs\nin text form and return the shortest length that would\nuniquely identify all of them.\n\nE.g. look at the result of `git log --abbrev`.\n","group":"oid"},"git_oid_shorten_add":{"type":"function","file":"oid.h","line":197,"lineto":197,"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 added so far to the set; or an error code (<0) if an error occurs."},"description":"Add a new OID to set of shortened OIDs and calculate\nthe minimal length to uniquely identify all the OIDs in\nthe set.","comments":"The OID is expected to be a 40-char hexadecimal string.\nThe OID is owned by the user and will not be modified\nor freed.\n\nFor performance reasons, there is a hard-limit of how many\nOIDs can be added to a single set (around ~22000, assuming\na mostly randomized distribution), which should be enough\nfor any kind of program, and keeps the algorithm fast and\nmemory-efficient.\n\nAttempting to add more than those OIDs will result in a\nGIT_ENOMEM error\n","group":"oid"},"git_oid_shorten_free":{"type":"function","file":"oid.h","line":204,"lineto":204,"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"},"description":"Free an OID shortener instance","comments":"","group":"oid"},"git_lasterror":{"type":"function","file":"errors.h","line":123,"lineto":123,"args":[],"argline":"void","sig":"","return":{"type":"const char *","comment":"a string explaining the error"},"description":"Return a detailed error string with the latest error\nthat occurred in the library.\n@return a string explaining the error","comments":"","group":"errors"},"git_strerror":{"type":"function","file":"errors.h","line":135,"lineto":135,"args":[{"name":"num","type":"int","comment":"The error code to explain"}],"argline":"int num","sig":"int","return":{"type":"const char *","comment":"a string explaining the error code"},"description":"strerror() for the Git library","comments":"Get a string description for a given error code.\nNOTE: This method will be eventually deprecated in favor\nof the new `git_lasterror`.\n","group":"errors"},"git_clearerror":{"type":"function","file":"errors.h","line":140,"lineto":140,"args":[],"argline":"void","sig":"","return":{"type":"void"},"description":"Clear the latest library error","comments":"","group":"errors"},"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":"GIT_SUCCESS or an error code"},"description":"Allocate a new revision walker to iterate through a repo.","comments":"This revision walker uses a custom memory pool and an internal\ncommit cache, so it is relatively expensive to allocate.\n\nFor maximum performance, this revision walker should be\nreused for different walks.\n\nThis revision walker is *not* thread safe: it may only be\nused to walk a repository on a single thread; however,\nit is possible to have several revision walkers in\nseveral different threads walking the same repository.\n","group":"revwalk","examples":{"general.c":["ex/v0.15.0/general.html#git_revwalk_new-67"]}},"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"},"description":"Reset the revision walker for reuse.","comments":"This will clear all the pushed and hidden commits, and\nleave the walker in a blank state (just like at\ncreation) ready to receive new commit pushes and\nstart a new walk.\n\nThe revision walk is automatically reset when a walk\nis over.\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":"GIT_SUCCESS or an error code"},"description":"Mark a commit to start traversal from.","comments":"The given OID must belong to a commit on the walked\nrepository.\n\nThe given commit will be used as one of the roots\nwhen starting the revision walk. At least one commit\nmust be pushed the repository before a walk can\nbe started.\n","group":"revwalk","examples":{"general.c":["ex/v0.15.0/general.html#git_revwalk_push-68"]}},"git_revwalk_hide":{"type":"function","file":"revwalk.h","line":118,"lineto":118,"args":[{"name":"walk","type":"git_revwalk *","comment":"the walker being used for the traversal."},{"name":"oid","type":"const git_oid *","comment":"the oid of commit that will be ignored during the traversal"}],"argline":"git_revwalk *walk, const git_oid *oid","sig":"git_revwalk *::const git_oid *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Mark a commit (and its ancestors) uninteresting for the output.","comments":"The given OID must belong to a commit on the walked\nrepository.\n\nThe resolved commit and all its parents will be hidden from the\noutput on the revision walk.\n","group":"revwalk"},"git_revwalk_next":{"type":"function","file":"revwalk.h","line":138,"lineto":138,"args":[{"name":"oid","type":"git_oid *","comment":"Pointer where to store the oid of the next commit"},{"name":"walk","type":"git_revwalk *","comment":"the walker to pop the commit from."}],"argline":"git_oid *oid, git_revwalk *walk","sig":"git_oid *::git_revwalk *","return":{"type":"int","comment":"GIT_SUCCESS if the next commit was found; GIT_EREVWALKOVER if there are no commits left to iterate"},"description":"Get the next commit from the revision walk.","comments":"The initial call to this method is *not* blocking when\niterating through a repo with a time-sorting mode.\n\nIterating with Topological or inverted modes makes the initial\ncall blocking to preprocess the commit list, but this block should be\nmostly unnoticeable on most repositories (topological preprocessing\ntimes at 0.3s on the git.git repo).\n\nThe revision walker is reset when the walk is over.\n","group":"revwalk","examples":{"general.c":["ex/v0.15.0/general.html#git_revwalk_next-69"]}},"git_revwalk_sorting":{"type":"function","file":"revwalk.h","line":149,"lineto":149,"args":[{"name":"walk","type":"git_revwalk *","comment":"the walker being used for the traversal."},{"name":"sort_mode","type":"unsigned int","comment":"combination of GIT_SORT_XXX flags"}],"argline":"git_revwalk *walk, unsigned int sort_mode","sig":"git_revwalk *::unsigned int","return":{"type":"void"},"description":"Change the sorting mode when iterating through the\nrepository's contents.","comments":"Changing the sorting mode resets the walker.\n","group":"revwalk","examples":{"general.c":["ex/v0.15.0/general.html#git_revwalk_sorting-70"]}},"git_revwalk_free":{"type":"function","file":"revwalk.h","line":156,"lineto":156,"args":[{"name":"walk","type":"git_revwalk *","comment":"traversal handle to close. If NULL nothing occurs."}],"argline":"git_revwalk *walk","sig":"git_revwalk *","return":{"type":"void"},"description":"Free a revision walker previously allocated.","comments":"","group":"revwalk","examples":{"general.c":["ex/v0.15.0/general.html#git_revwalk_free-71"]}},"git_revwalk_repository":{"type":"function","file":"revwalk.h","line":165,"lineto":165,"args":[{"name":"walk","type":"git_revwalk *","comment":"the revision walker"}],"argline":"git_revwalk *walk","sig":"git_revwalk *","return":{"type":"git_repository *","comment":"the repository being walked"},"description":"Return the repository on which this walker\nis operating.","comments":"","group":"revwalk"},"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,\n\t\tgit_repository *repo,\n\t\tconst git_oid *id,\n\t\tgit_otype type","sig":"git_object **::git_repository *::const git_oid *::git_otype","return":{"type":"int","comment":"a reference to the object"},"description":"Lookup a reference to one of the objects in a repostory.","comments":"The generated reference is owned by the repository and\nshould be closed with the `git_object_close` method\ninstead of free'd manually.\n\nThe 'type' parameter must match the type of the object\nin the odb; the method will fail otherwise.\nThe special value 'GIT_OBJ_ANY' may be passed to let\nthe method guess the object's type.\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,\n\t\tgit_repository *repo,\n\t\tconst git_oid *id,\n\t\tunsigned int len,\n\t\tgit_otype type","sig":"git_object **::git_repository *::const git_oid *::unsigned int::git_otype","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Lookup a reference to one of the objects in a repostory,\ngiven a prefix of its identifier (short id).","comments":"The object obtained will be so that its identifier\nmatches the first 'len' hexadecimal characters\n(packets of 4 bits) of the given 'id'.\n'len' must be at least GIT_OID_MINPREFIXLEN, and\nlong enough to identify a unique object matching\nthe prefix; otherwise the method will fail.\n\nThe generated reference is owned by the repository and\nshould be closed with the `git_object_close` method\ninstead of free'd manually.\n\nThe 'type' parameter must match the type of the object\nin the odb; the method will fail otherwise.\nThe special value 'GIT_OBJ_ANY' may be passed to let\nthe method guess the object's type.\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":"Get the id (SHA1) of a repository object","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":"Get the object type of an object","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":"Get the repository that owns this object","comments":"Freeing or calling `git_repository_close` on the\nreturned pointer will invalidate the actual object.\n\nAny other operation may be run on the repository without\naffecting the object.\n","group":"object"},"git_object_close":{"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"},"description":"Close an open object","comments":"This method instructs the library to close an existing\nobject; note that git_objects are owned and cached by the repository\nso the object may or may not be freed after this library call,\ndepending on how agressive is the caching mechanism used\nby the repository.\n\nIMPORTANT:\nIt *is* necessary to call this method when you stop using\nan object. Failure to do so will cause a memory leak.\n","group":"object","examples":{"general.c":["ex/v0.15.0/general.html#git_object_close-72"]}},"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":"Convert an object type to it's string representation.","comments":"The result is a pointer to a string in static memory and\nshould not be free()'ed.\n","group":"object","examples":{"general.c":["ex/v0.15.0/general.html#git_object_type2string-73"]}},"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":"Convert a string object type representation to it's git_otype.","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, false otherwise."},"description":"Determine if the given git_otype is a valid loose object type.","comments":"","group":"object"},"git_object__size":{"type":"function","file":"object.h","line":168,"lineto":168,"args":[{"name":"type","type":"git_otype","comment":"object type to get its size"}],"argline":"git_otype type","sig":"git_otype","return":{"type":"size_t","comment":"size in bytes of the object"},"description":"Get the size in bytes for the structure which\nacts as an in-memory representation of any given\nobject type.","comments":"For all the core types, this would the equivalent\nof calling `sizeof(git_commit)` if the core types\nwere not opaque on the external API.\n","group":"object"},"git_reference_lookup":{"type":"function","file":"refs.h","line":34,"lineto":34,"args":[{"name":"reference_out","type":"git_reference **","comment":"pointer to the looked-up reference"},{"name":"repo","type":"git_repository *","comment":"the repository to look up the reference"},{"name":"name","type":"const char *","comment":"the long name for the reference (e.g. HEAD, ref/heads/master, refs/tags/v0.1.0, ...)"}],"argline":"git_reference **reference_out, git_repository *repo, const char *name","sig":"git_reference **::git_repository *::const char *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Lookup a reference by its name in a repository.","comments":"The generated reference is owned by the repository and\nshould not be freed by the user.\n","group":"reference","examples":{"general.c":["ex/v0.15.0/general.html#git_reference_lookup-74"]}},"git_reference_create_symbolic":{"type":"function","file":"refs.h","line":55,"lineto":55,"args":[{"name":"ref_out","type":"git_reference **","comment":"Pointer to the newly created reference"},{"name":"repo","type":"git_repository *","comment":"Repository where that reference will live"},{"name":"name","type":"const char *","comment":"The name of the reference"},{"name":"target","type":"const char *","comment":"The target of the reference"},{"name":"force","type":"int","comment":"Overwrite existing references"}],"argline":"git_reference **ref_out, git_repository *repo, const char *name, const char *target, int force","sig":"git_reference **::git_repository *::const char *::const char *::int","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Create a new symbolic reference.","comments":"The reference will be created in the repository and written\nto the disk.\n\nThis reference is owned by the repository and shall not\nbe free'd by the user.\n\nIf `force` is true and there already exists a reference\nwith the same name, it will be overwritten.\n","group":"reference"},"git_reference_create_oid":{"type":"function","file":"refs.h","line":76,"lineto":76,"args":[{"name":"ref_out","type":"git_reference **","comment":"Pointer to the newly created reference"},{"name":"repo","type":"git_repository *","comment":"Repository where that reference will live"},{"name":"name","type":"const char *","comment":"The name of the reference"},{"name":"id","type":"const git_oid *","comment":"The object id pointed to by the reference."},{"name":"force","type":"int","comment":"Overwrite existing references"}],"argline":"git_reference **ref_out, git_repository *repo, const char *name, const git_oid *id, int force","sig":"git_reference **::git_repository *::const char *::const git_oid *::int","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Create a new object id reference.","comments":"The reference will be created in the repository and written\nto the disk.\n\nThis reference is owned by the repository and shall not\nbe free'd by the user.\n\nIf `force` is true and there already exists a reference\nwith the same name, it will be overwritten.\n","group":"reference"},"git_reference_oid":{"type":"function","file":"refs.h","line":86,"lineto":86,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"const git_oid *","comment":"a pointer to the oid if available, NULL otherwise"},"description":"Get the OID pointed to by a reference.","comments":"Only available if the reference is direct (i.e. not symbolic)\n","group":"reference","examples":{"general.c":["ex/v0.15.0/general.html#git_reference_oid-75"]}},"git_reference_target":{"type":"function","file":"refs.h","line":96,"lineto":96,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"const char *","comment":"a pointer to the name if available, NULL otherwise"},"description":"Get full name to the reference pointed by this reference","comments":"Only available if the reference is symbolic\n","group":"reference","examples":{"general.c":["ex/v0.15.0/general.html#git_reference_target-76"]}},"git_reference_type":{"type":"function","file":"refs.h","line":106,"lineto":106,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"git_rtype","comment":"the type"},"description":"Get the type of a reference","comments":"Either direct (GIT_REF_OID) or symbolic (GIT_REF_SYMBOLIC)\n","group":"reference","examples":{"general.c":["ex/v0.15.0/general.html#git_reference_type-77"]}},"git_reference_name":{"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":"const char *","comment":"the full name for the ref"},"description":"Get the full name of a reference","comments":"","group":"reference"},"git_reference_resolve":{"type":"function","file":"refs.h","line":129,"lineto":129,"args":[{"name":"resolved_ref","type":"git_reference **","comment":"Pointer to the peeled reference"},{"name":"ref","type":"git_reference *","comment":"The reference"}],"argline":"git_reference **resolved_ref, git_reference *ref","sig":"git_reference **::git_reference *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Resolve a symbolic reference","comments":"Thie method iteratively peels a symbolic reference\nuntil it resolves to a direct reference to an OID.\n\nIf a direct reference is passed as an argument,\nthat reference is returned immediately\n","group":"reference"},"git_reference_owner":{"type":"function","file":"refs.h","line":137,"lineto":137,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"git_repository *","comment":"a pointer to the repo"},"description":"Get the repository where a reference resides","comments":"","group":"reference"},"git_reference_set_target":{"type":"function","file":"refs.h","line":152,"lineto":152,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"},{"name":"target","type":"const char *","comment":"The new target for the reference"}],"argline":"git_reference *ref, const char *target","sig":"git_reference *::const char *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Set the symbolic target of a reference.","comments":"The reference must be a symbolic reference, otherwise\nthis method will fail.\n\nThe reference will be automatically updated in\nmemory and on disk.\n","group":"reference"},"git_reference_set_oid":{"type":"function","file":"refs.h","line":167,"lineto":167,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"},{"name":"id","type":"const git_oid *","comment":"The new target OID for the reference"}],"argline":"git_reference *ref, const git_oid *id","sig":"git_reference *::const git_oid *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Set the OID target of a reference.","comments":"The reference must be a direct reference, otherwise\nthis method will fail.\n\nThe reference will be automatically updated in\nmemory and on disk.\n","group":"reference"},"git_reference_rename":{"type":"function","file":"refs.h","line":180,"lineto":180,"args":[{"name":"ref","type":"git_reference *"},{"name":"new_name","type":"const char *"},{"name":"force","type":"int"}],"argline":"git_reference *ref, const char *new_name, int force","sig":"git_reference *::const char *::int","return":{"type":"int"},"description":"Rename an existing reference","comments":"This method works for both direct and symbolic references.\nThe new name will be checked for validity and may be\nmodified into a normalized form.\n\nThe refernece will be immediately renamed in-memory\nand on disk.","group":"reference"},"git_reference_delete":{"type":"function","file":"refs.h","line":191,"lineto":191,"args":[{"name":"ref","type":"git_reference *"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"int"},"description":"Delete an existing reference","comments":"This method works for both direct and symbolic references.\n\nThe reference will be immediately removed on disk and from\nmemory. The given reference pointer will no longer be valid.","group":"reference"},"git_reference_packall":{"type":"function","file":"refs.h","line":209,"lineto":209,"args":[{"name":"repo","type":"git_repository *","comment":"Repository where the loose refs will be packed"}],"argline":"git_repository *repo","sig":"git_repository *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Pack all the loose references in the repository","comments":"This method will load into the cache all the loose\nreferences on the repository and update the\n`packed-refs` file with them.\n\nOnce the `packed-refs` file has been written properly,\nthe loose references will be removed from disk.\n\nWARNING: calling this method may invalidate any existing\nreferences previously loaded on the cache.\n","group":"reference"},"git_reference_listall":{"type":"function","file":"refs.h","line":232,"lineto":232,"args":[{"name":"array","type":"git_strarray *","comment":"Pointer to a git_strarray structure where the 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 listing."}],"argline":"git_strarray *array, git_repository *repo, unsigned int list_flags","sig":"git_strarray *::git_repository *::unsigned int","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Fill a list with all the references that can be found\nin a repository.","comments":"The listed references may be filtered by type, or using\na bitwise OR of several types. Use the magic value\n`GIT_REF_LISTALL` to obtain all references, including\npacked ones.\n\nThe string array will be filled with the names of all\nreferences; these values are owned by the user and\nshould be free'd manually when no longer needed, using\n`git_strarray_free`.\n","group":"reference","examples":{"general.c":["ex/v0.15.0/general.html#git_reference_listall-78"]}},"git_reference_foreach":{"type":"function","file":"refs.h","line":254,"lineto":254,"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 listing."},{"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 (*callback)(const char *, void *), void *payload","sig":"git_repository *::unsigned int::int (*)(const char *, void *)::void *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Perform an operation on each reference in the repository","comments":"The processed references may be filtered by type, or using\na bitwise OR of several types. Use the magic value\n`GIT_REF_LISTALL` to obtain all references, including\npacked ones.\n\nThe `callback` function will be called for each of the references\nin the repository, and will receive the name of the reference and\nthe `payload` value passed to this method.\n","group":"reference"}},"globals":{"GIT_BEGIN_DECL":{"value":"","file":"common.h","line":25,"comments":"Start declarations in C mode"},"GIT_END_DECL":{"value":"","file":"common.h","line":27,"comments":"End declarations in C mode"},"GIT_EXTERN(type)":{"value":"extern __attribute__((visibility(\"default\"))) type","file":"common.h","line":31,"comments":"Declare a public function exported for application use."},"GIT_EXTERN_TLS(type)":{"value":"extern __attribute__((visibility(\"default\"))) GIT_TLS type","file":"common.h","line":42,"comments":"Declare a public TLS symbol exported for application use."},"GIT_INLINE(type)":{"value":"static __inline type","file":"common.h","line":54,"comments":"Declare a function as always inlined."},"GIT_FORMAT_PRINTF(a,b)":{"value":"__attribute__((format (printf, a, b)))","file":"common.h","line":61,"comments":"Declare a function's takes printf style arguments."},"GIT_PATH_LIST_SEPARATOR":{"value":"';'","file":"common.h","line":86,"comments":"The separator used in path list strings (ie like in the PATH\nenvironment variable). A semi-colon \";\" is used on Windows, and\na colon \":\" for all other systems."},"GIT_PATH_MAX":{"value":"4096","file":"common.h","line":95,"comments":"The maximum length of a git valid git path."},"GIT_OID_RAWSZ":{"value":"20","file":"oid.h","line":23,"comments":"Size (in bytes) of a raw/binary oid"},"GIT_OID_HEXSZ":{"value":"(GIT_OID_RAWSZ * 2)","file":"oid.h","line":26,"comments":"Size (in bytes) of a hex formatted oid"},"GIT_OID_MINPREFIXLEN":{"value":"4","file":"oid.h","line":30,"comments":"Minimum length (in number of hex characters,\ni.e. packets of 4 bits) of an oid prefix"},"GIT_SORT_NONE":{"value":"(0)","file":"revwalk.h","line":29,"comments":"Sort the repository contents in no particular ordering;\nthis sorting is arbitrary, implementation-specific\nand subject to change at any time.\nThis is the default sorting for new walkers."},"GIT_SORT_TOPOLOGICAL":{"value":"(1 << 0)","file":"revwalk.h","line":36,"comments":"Sort the repository contents in topological order\n(parents before children); this sorting mode\ncan be combined with time sorting."},"GIT_SORT_TIME":{"value":"(1 << 1)","file":"revwalk.h","line":43,"comments":"Sort the repository contents by commit time;\nthis sorting mode can be combined with\ntopological sorting."},"GIT_SORT_REVERSE":{"value":"(1 << 2)","file":"revwalk.h","line":50,"comments":"Iterate through the repository contents in reverse\norder; this sorting mode can be combined with\nany of the above."}},"types":[["GIT_STATUS",{"type":"enum","file":"status.h","line":29,"lineto":34,"block":"GIT_STATUS_WT_NEW\nGIT_STATUS_WT_MODIFIED\nGIT_STATUS_WT_DELETED\nGIT_STATUS_IGNORED","tdef":null,"comments":"Flags for worktree status","used":{"returns":[],"needs":[]}}],["GIT_STATUS_INDEX",{"type":"enum","file":"status.h","line":24,"lineto":26,"block":"GIT_STATUS_INDEX_NEW\nGIT_STATUS_INDEX_MODIFIED\nGIT_STATUS_INDEX_DELETED","tdef":null,"comments":"Flags for index status","used":{"returns":[],"needs":[]}}],["git_blob",{"type":"struct","value":"git_blob","file":"types.h","line":105,"lineto":105,"block":"","tdef":"typedef","comments":"In-memory representation of a blob object.","used":{"returns":[],"needs":["git_blob_close","git_blob_lookup","git_blob_lookup_prefix","git_blob_rawcontent","git_blob_rawsize"]}}],["git_commit",{"type":"struct","value":"git_commit","file":"types.h","line":108,"lineto":108,"block":"","tdef":"typedef","comments":"Parsed representation of a commit object.","used":{"returns":[],"needs":["git_commit_author","git_commit_close","git_commit_committer","git_commit_create","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",{"type":"struct","value":"git_config","file":"types.h","line":123,"lineto":123,"block":"","tdef":"typedef","comments":"Memory representation of a set of config files","used":{"returns":[],"needs":["git_config_add_file","git_config_add_file_ondisk","git_config_delete","git_config_foreach","git_config_free","git_config_get_bool","git_config_get_int32","git_config_get_int64","git_config_get_string","git_config_new","git_config_open_global","git_config_open_ondisk","git_config_set_bool","git_config_set_int32","git_config_set_int64","git_config_set_string","git_remote_get","git_repository_config","git_repository_config_autoload"]}}],["git_config_file",{"type":"struct","value":"git_config_file","file":"types.h","line":126,"lineto":126,"block":"","tdef":"typedef","comments":"Interface to access a configuration file","used":{"returns":[],"needs":["git_config_add_file","git_config_file__ondisk"]}}],["git_headarray",{"type":"struct","value":"git_headarray","file":"net.h","line":46,"lineto":49,"block":"unsigned int len\nstruct git_remote_head **heads","tdef":null,"comments":"Array of remote heads","used":{"returns":[],"needs":["git_remote_ls"]}}],["git_index",{"type":"struct","value":"git_index","file":"types.h","line":120,"lineto":120,"block":"","tdef":"typedef","comments":"Memory representation of an index file.","used":{"returns":[],"needs":["git_index_add","git_index_add2","git_index_append","git_index_append2","git_index_clear","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_remove","git_index_uniq","git_index_write","git_repository_index","git_tree_create_fromindex"]}}],["git_index_entry",{"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","comments":"Memory representation of a file entry in the index.","used":{"returns":["git_index_get"],"needs":["git_index_add2","git_index_append2","git_index_entry_stage"]}}],["git_index_entry_unmerged",{"type":"struct","value":"git_index_entry_unmerged","file":"index.h","line":87,"lineto":91,"block":"unsigned int mode[3]\ngit_oid oid[3]\nchar *path","tdef":"typedef","comments":"Representation of an unmerged file entry in the index.","used":{"returns":["git_index_get_unmerged_byindex","git_index_get_unmerged_bypath"],"needs":[]}}],["git_index_time",{"type":"struct","value":"git_index_time","file":"index.h","line":60,"lineto":64,"block":"git_time_t seconds\nunsigned int nanoseconds","tdef":"typedef","comments":"Time used in a git index entry","used":{"returns":[],"needs":[]}}],["git_indexer_stats",{"type":"struct","value":"git_indexer_stats","file":"indexer.h","line":19,"lineto":25,"block":"unsigned int total\nunsigned int processed","tdef":"typedef","comments":"This is passed as the first argument to the callback to allow the\nuser to see the progress.","used":{"returns":[],"needs":["git_indexer_run"]}}],["git_object",{"type":"struct","value":"git_object","file":"types.h","line":96,"lineto":96,"block":"","tdef":"typedef","comments":"Representation of a generic object in a repository","used":{"returns":[],"needs":["git_object_close","git_object_id","git_object_lookup","git_object_lookup_prefix","git_object_owner","git_object_type","git_tag_create","git_tag_create_lightweight","git_tag_target","git_tree_entry_2object"]}}],["git_odb",{"type":"struct","value":"git_odb","file":"types.h","line":78,"lineto":78,"block":"","tdef":"typedef","comments":"An open object database handle.","used":{"returns":["git_repository_database"],"needs":["git_odb_add_alternate","git_odb_add_backend","git_odb_close","git_odb_exists","git_odb_new","git_odb_open","git_odb_open_rstream","git_odb_open_wstream","git_odb_read","git_odb_read_header","git_odb_read_prefix","git_odb_write","git_repository_open3"]}}],["git_odb_backend",{"type":"struct","value":"git_odb_backend","file":"types.h","line":81,"lineto":81,"block":"","tdef":"typedef","comments":"A custom backend in an ODB","used":{"returns":[],"needs":["git_odb_add_alternate","git_odb_add_backend"]}}],["git_odb_object",{"type":"struct","value":"git_odb_object","file":"types.h","line":84,"lineto":84,"block":"","tdef":"typedef","comments":"An object read from the ODB","used":{"returns":[],"needs":["git_odb_object_close","git_odb_object_data","git_odb_object_id","git_odb_object_size","git_odb_object_type","git_odb_read","git_odb_read_prefix"]}}],["git_odb_stream",{"type":"struct","value":"git_odb_stream","file":"types.h","line":87,"lineto":87,"block":"","tdef":"typedef","comments":"A stream to read/write from the ODB","used":{"returns":[],"needs":["git_odb_open_rstream","git_odb_open_wstream"]}}],["git_odb_streammode",{"type":"enum","file":"odb_backend.h","line":89,"lineto":100,"block":"GIT_STREAM_RDONLY\nGIT_STREAM_WRONLY\nGIT_STREAM_RW","tdef":"typedef","comments":"Streaming mode","used":{"returns":[],"needs":[]}}],["git_oid",{"type":"struct","value":"git_oid","file":"oid.h","line":33,"lineto":37,"block":"","tdef":"typedef","comments":"Unique identity of any object (commit, tree, blob, tag).","used":{"returns":["git_commit_id","git_commit_parent_oid","git_commit_tree_oid","git_indexer_hash","git_object_id","git_odb_object_id","git_reference_oid","git_reflog_entry_oidnew","git_reflog_entry_oidold","git_tag_id","git_tag_target_oid","git_tree_entry_id","git_tree_id"],"needs":["git_blob_create_frombuffer","git_blob_create_fromfile","git_blob_lookup","git_blob_lookup_prefix","git_commit_create","git_commit_create_v","git_commit_lookup","git_commit_lookup_prefix","git_object_lookup","git_object_lookup_prefix","git_odb_exists","git_odb_hash","git_odb_hashfile","git_odb_open_rstream","git_odb_read","git_odb_read_header","git_odb_read_prefix","git_odb_write","git_oid_allocfmt","git_oid_cmp","git_oid_cpy","git_oid_fmt","git_oid_fromraw","git_oid_fromstr","git_oid_fromstrn","git_oid_ncmp","git_oid_pathfmt","git_oid_to_string","git_reference_create_oid","git_reference_set_oid","git_reflog_write","git_revwalk_hide","git_revwalk_next","git_revwalk_push","git_tag_create","git_tag_create_frombuffer","git_tag_create_lightweight","git_tag_lookup","git_tag_lookup_prefix","git_tree_create_fromindex","git_tree_lookup","git_tree_lookup_prefix","git_treebuilder_insert","git_treebuilder_write"]}}],["git_oid_shorten",{"type":"struct","value":"git_oid_shorten","file":"oid.h","line":155,"lineto":155,"block":"","tdef":"typedef","comments":"OID Shortener object","used":{"returns":["git_oid_shorten_new"],"needs":["git_oid_shorten_add","git_oid_shorten_free"]}}],["git_otype",{"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","comments":"Basic type (loose or packed) of any Git object.","used":{"returns":[],"needs":["git_object__size","git_object_lookup","git_object_lookup_prefix","git_object_type2string","git_object_typeisloose","git_odb_hash","git_odb_hashfile","git_odb_open_wstream","git_odb_read_header","git_odb_write"]}}],["git_reference",{"type":"struct","value":"git_reference","file":"types.h","line":148,"lineto":148,"block":"","tdef":"typedef","comments":"In-memory representation of a reference.","used":{"returns":[],"needs":["git_reference_create_oid","git_reference_create_symbolic","git_reference_delete","git_reference_lookup","git_reference_name","git_reference_oid","git_reference_owner","git_reference_rename","git_reference_resolve","git_reference_set_oid","git_reference_set_target","git_reference_target","git_reference_type","git_reflog_read","git_reflog_write","git_repository_head"]}}],["git_reflog",{"type":"struct","value":"git_reflog","file":"types.h","line":132,"lineto":132,"block":"","tdef":"typedef","comments":"Representation of a reference log","used":{"returns":[],"needs":["git_reflog_entry_byindex","git_reflog_entrycount","git_reflog_free","git_reflog_read"]}}],["git_reflog_entry",{"type":"struct","value":"git_reflog_entry","file":"types.h","line":129,"lineto":129,"block":"","tdef":"typedef","comments":"Representation of a reference log entry","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",{"type":"struct","value":"git_remote_head","file":"net.h","line":36,"lineto":41,"block":"int local:1\ngit_oid oid\ngit_oid loid\nchar *name","tdef":null,"comments":"Remote head description, given out on `ls` calls.","used":{"returns":[],"needs":[]}}],["git_repository",{"type":"struct","value":"git_repository","file":"types.h","line":93,"lineto":93,"block":"","tdef":"typedef","comments":"Representation of an existing git repository,\nincluding all its object contents","used":{"returns":["git_object_owner","git_reference_owner","git_revwalk_repository"],"needs":["git_blob_create_frombuffer","git_blob_create_fromfile","git_blob_lookup","git_blob_lookup_prefix","git_commit_create","git_commit_create_v","git_commit_lookup","git_commit_lookup_prefix","git_object_lookup","git_object_lookup_prefix","git_reference_create_oid","git_reference_create_symbolic","git_reference_foreach","git_reference_listall","git_reference_lookup","git_reference_packall","git_remote_new","git_repository_config","git_repository_config_autoload","git_repository_database","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_open","git_repository_open2","git_repository_open3","git_repository_path","git_revwalk_new","git_status_file","git_status_foreach","git_tag_create","git_tag_create_frombuffer","git_tag_create_lightweight","git_tag_delete","git_tag_list","git_tag_list_match","git_tag_lookup","git_tag_lookup_prefix","git_tree_entry_2object","git_tree_lookup","git_tree_lookup_prefix","git_treebuilder_write"]}}],["git_repository_pathid",{"type":"enum","file":"repository.h","line":252,"lineto":257,"block":"GIT_REPO_PATH\nGIT_REPO_PATH_INDEX\nGIT_REPO_PATH_ODB\nGIT_REPO_PATH_WORKDIR","tdef":"typedef","comments":"Internal path identifiers for a repository","used":{"returns":[],"needs":["git_repository_path"]}}],["git_revwalk",{"type":"struct","value":"git_revwalk","file":"types.h","line":99,"lineto":99,"block":"","tdef":"typedef","comments":"Representation of an in-progress walk through the commits in a repo","used":{"returns":[],"needs":["git_revwalk_free","git_revwalk_hide","git_revwalk_new","git_revwalk_next","git_revwalk_push","git_revwalk_repository","git_revwalk_reset","git_revwalk_sorting"]}}],["git_rtype",{"type":"enum","file":"types.h","line":151,"lineto":162,"block":"GIT_REF_INVALID\nGIT_REF_OID\nGIT_REF_SYMBOLIC\nGIT_REF_PACKED\nGIT_REF_HAS_PEEL\nGIT_REF_LISTALL","tdef":"typedef","comments":"Basic type of any Git reference.","used":{"returns":[],"needs":[]}}],["git_signature",{"type":"struct","value":"git_signature","file":"types.h","line":141,"lineto":145,"block":"char *name\nchar *email\ngit_time when","tdef":"typedef","comments":"An action signature (e.g. for committers, taggers, etc)","used":{"returns":["git_commit_author","git_commit_committer","git_reflog_entry_committer","git_signature_dup","git_tag_tagger"],"needs":["git_commit_create","git_commit_create_v","git_reflog_write","git_signature_dup","git_signature_free","git_signature_new","git_signature_now","git_tag_create"]}}],["git_tag",{"type":"struct","value":"git_tag","file":"types.h","line":102,"lineto":102,"block":"","tdef":"typedef","comments":"Parsed representation of a tag object.","used":{"returns":[],"needs":["git_tag_close","git_tag_id","git_tag_lookup","git_tag_lookup_prefix","git_tag_message","git_tag_name","git_tag_tagger","git_tag_target","git_tag_target_oid","git_tag_type"]}}],["git_time",{"type":"struct","value":"git_time","file":"types.h","line":135,"lineto":138,"block":"git_time_t time\nint offset","tdef":"typedef","comments":"Time in a signature","used":{"returns":[],"needs":[]}}],["git_transport",{"type":"struct","value":"git_transport","file":"types.h","line":165,"lineto":170,"block":"","tdef":"typedef","comments":"A transport to use","used":{"returns":[],"needs":["git_transport_new"]}}],["git_tree",{"type":"struct","value":"git_tree","file":"types.h","line":114,"lineto":114,"block":"","tdef":"typedef","comments":"Representation of a tree object.","used":{"returns":[],"needs":["git_commit_create","git_commit_create_v","git_commit_tree","git_tree_close","git_tree_entry_byindex","git_tree_entry_byname","git_tree_entrycount","git_tree_id","git_tree_lookup","git_tree_lookup_prefix","git_treebuilder_create"]}}],["git_tree_entry",{"type":"struct","value":"git_tree_entry","file":"types.h","line":111,"lineto":111,"block":"","tdef":"typedef","comments":"Representation of each one of the entries in a tree object.","used":{"returns":["git_tree_entry_byindex","git_tree_entry_byname","git_treebuilder_get"],"needs":["git_tree_entry_2object","git_tree_entry_attributes","git_tree_entry_id","git_tree_entry_name","git_tree_entry_type","git_treebuilder_filter","git_treebuilder_insert"]}}],["git_treebuilder",{"type":"struct","value":"git_treebuilder","file":"types.h","line":117,"lineto":117,"block":"","tdef":"typedef","comments":"Constructor for in-memory trees","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"]}}]],"prefix":"include/git2","groups":[["blob",["git_blob_close","git_blob_create_frombuffer","git_blob_create_fromfile","git_blob_lookup","git_blob_lookup_prefix","git_blob_rawcontent","git_blob_rawsize"]],["commit",["git_commit_author","git_commit_close","git_commit_committer","git_commit_create","git_commit_create_v","git_commit_id","git_commit_lookup","git_commit_lookup_prefix","git_commit_message","git_commit_message_encoding","git_commit_parent","git_commit_parent_oid","git_commit_parentcount","git_commit_time","git_commit_time_offset","git_commit_tree","git_commit_tree_oid"]],["config",["git_config_add_file","git_config_add_file_ondisk","git_config_delete","git_config_file__ondisk","git_config_find_global","git_config_find_system","git_config_foreach","git_config_free","git_config_get_bool","git_config_get_int32","git_config_get_int64","git_config_get_string","git_config_new","git_config_open_global","git_config_open_ondisk","git_config_set_bool","git_config_set_int32","git_config_set_int64","git_config_set_string"]],["errors",["git_clearerror","git_lasterror","git_strerror"]],["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_remove","git_index_uniq","git_index_write"]],["indexer",["git_indexer_free","git_indexer_hash","git_indexer_new","git_indexer_run","git_indexer_write"]],["libgit2",["git_libgit2_version"]],["object",["git_object__size","git_object_close","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_close","git_odb_exists","git_odb_hash","git_odb_hashfile","git_odb_new","git_odb_object_close","git_odb_object_data","git_odb_object_id","git_odb_object_size","git_odb_object_type","git_odb_open","git_odb_open_rstream","git_odb_open_wstream","git_odb_read","git_odb_read_header","git_odb_read_prefix","git_odb_write"]],["oid",["git_oid_allocfmt","git_oid_cmp","git_oid_cpy","git_oid_fmt","git_oid_fromraw","git_oid_fromstr","git_oid_fromstrn","git_oid_ncmp","git_oid_pathfmt","git_oid_shorten_add","git_oid_shorten_free","git_oid_shorten_new","git_oid_to_string"]],["reference",["git_reference_create_oid","git_reference_create_symbolic","git_reference_delete","git_reference_foreach","git_reference_listall","git_reference_lookup","git_reference_name","git_reference_oid","git_reference_owner","git_reference_packall","git_reference_rename","git_reference_resolve","git_reference_set_oid","git_reference_set_target","git_reference_target","git_reference_type"]],["reflog",["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_write"]],["refspec",["git_refspec_dst","git_refspec_src","git_refspec_src_match","git_refspec_transform"]],["remote",["git_remote_connect","git_remote_download","git_remote_fetchspec","git_remote_free","git_remote_get","git_remote_ls","git_remote_name","git_remote_negotiate","git_remote_new","git_remote_pushspec","git_remote_update_tips","git_remote_url"]],["repository",["git_repository_config","git_repository_config_autoload","git_repository_database","git_repository_discover","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_open","git_repository_open2","git_repository_open3","git_repository_path"]],["revwalk",["git_revwalk_free","git_revwalk_hide","git_revwalk_new","git_revwalk_next","git_revwalk_push","git_revwalk_repository","git_revwalk_reset","git_revwalk_sorting"]],["signature",["git_signature_dup","git_signature_free","git_signature_new","git_signature_now"]],["status",["git_status_file","git_status_foreach"]],["tag",["git_tag_close","git_tag_create","git_tag_create_frombuffer","git_tag_create_lightweight","git_tag_delete","git_tag_id","git_tag_list","git_tag_list_match","git_tag_lookup","git_tag_lookup_prefix","git_tag_message","git_tag_name","git_tag_tagger","git_tag_target","git_tag_target_oid","git_tag_type"]],["transport",["git_transport_new"]],["tree",["git_tree_close","git_tree_create_fromindex","git_tree_entry_2object","git_tree_entry_attributes","git_tree_entry_byindex","git_tree_entry_byname","git_tree_entry_id","git_tree_entry_name","git_tree_entry_type","git_tree_entrycount","git_tree_id","git_tree_lookup","git_tree_lookup_prefix"]],["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"]],["zlib",["deflateBound"]]],"examples":[["showindex.c","ex/v0.15.0/showindex.html"],["general.c","ex/v0.15.0/general.html"]]} \ No newline at end of file
+{"files":[{"file":"zlib.h","functions":["deflateBound"],"meta":{"brief":"Git data compression routines","defgroup":"git_zlib Git data compression routines","ingroup":"Git","comments":"\n"},"lines":40},{"file":"types.h","functions":[],"meta":{"brief":"libgit2 base & compatibility types","ingroup":"Git","comments":"\n"},"lines":175},{"file":"tree.h","functions":["git_tree_lookup","git_tree_lookup_prefix","git_tree_close","git_tree_id","git_tree_entrycount","git_tree_entry_byname","git_tree_entry_byindex","git_tree_entry_attributes","git_tree_entry_name","git_tree_entry_id","git_tree_entry_type","git_tree_entry_2object","git_tree_create_fromindex","git_treebuilder_create","git_treebuilder_clear","git_treebuilder_free","git_treebuilder_get","git_treebuilder_insert","git_treebuilder_remove","git_treebuilder_filter","git_treebuilder_write"],"meta":{"brief":"Git tree parsing, loading routines","defgroup":"git_tree Git tree parsing, loading routines","ingroup":"Git","comments":"\n"},"lines":273},{"file":"transport.h","functions":["git_transport_new"],"meta":{"brief":"Git protocol transport abstraction","defgroup":"git_transport Git protocol transport abstraction","ingroup":"Git","comments":"\n"},"lines":32},{"file":"thread-utils.h","functions":[],"meta":{},"lines":60},{"file":"tag.h","functions":["git_tag_lookup","git_tag_lookup_prefix","git_tag_close","git_tag_id","git_tag_target","git_tag_target_oid","git_tag_type","git_tag_name","git_tag_tagger","git_tag_message","git_tag_create","git_tag_create_frombuffer","git_tag_create_lightweight","git_tag_delete","git_tag_list","git_tag_list_match"],"meta":{"brief":"Git tag parsing routines","defgroup":"git_tag Git tag management","ingroup":"Git","comments":"\n"},"lines":279},{"file":"stdint.h","functions":[],"meta":{},"lines":247},{"file":"status.h","functions":["git_status_foreach","git_status_file"],"meta":{"brief":"Git file status routines","defgroup":"git_status Git file status routines","ingroup":"Git","comments":"\n"},"lines":63},{"file":"signature.h","functions":["git_signature_new","git_signature_now","git_signature_dup","git_signature_free"],"meta":{"brief":"Git signature creation","defgroup":"git_signature Git signature creation","ingroup":"Git","comments":"\n"},"lines":65},{"file":"revwalk.h","functions":["git_revwalk_new","git_revwalk_reset","git_revwalk_push","git_revwalk_hide","git_revwalk_next","git_revwalk_sorting","git_revwalk_free","git_revwalk_repository"],"meta":{"brief":"Git revision traversal routines","defgroup":"git_revwalk Git revision traversal routines","ingroup":"Git","comments":"\n"},"lines":169},{"file":"repository.h","functions":["git_repository_open","git_repository_open2","git_repository_open3","git_repository_discover","git_repository_database","git_repository_index","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_is_bare","git_repository_config","git_repository_config_autoload"],"meta":{"brief":"Git repository management routines","defgroup":"git_repository Git repository management routines","ingroup":"Git","comments":"\n"},"lines":334},{"file":"remote.h","functions":["git_remote_new","git_remote_get","git_remote_name","git_remote_url","git_remote_fetchspec","git_remote_pushspec","git_remote_connect","git_remote_ls","git_remote_negotiate","git_remote_download","git_remote_free","git_remote_update_tips"],"meta":{"brief":"Git remote management functions","defgroup":"git_remote remote management functions","ingroup":"Git","comments":"\n"},"lines":150},{"file":"refspec.h","functions":["git_refspec_src","git_refspec_dst","git_refspec_src_match","git_refspec_transform"],"meta":{"brief":"Git refspec attributes","defgroup":"git_refspec Git refspec attributes","ingroup":"Git","comments":"\n"},"lines":60},{"file":"refs.h","functions":["git_reference_lookup","git_reference_create_symbolic","git_reference_create_oid","git_reference_oid","git_reference_target","git_reference_type","git_reference_name","git_reference_resolve","git_reference_owner","git_reference_set_target","git_reference_set_oid","git_reference_rename","git_reference_delete","git_reference_packall","git_reference_listall","git_reference_foreach"],"meta":{"brief":"Git reference management routines","defgroup":"git_reference Git reference management routines","ingroup":"Git","comments":"\n"},"lines":258},{"file":"reflog.h","functions":["git_reflog_read","git_reflog_write","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":{"brief":"Git reflog management routines","defgroup":"git_reflog Git reflog management routines","ingroup":"Git","comments":"\n"},"lines":111},{"file":"oid.h","functions":["git_oid_fromstr","git_oid_fromstrn","git_oid_fromraw","git_oid_fmt","git_oid_pathfmt","git_oid_allocfmt","git_oid_to_string","git_oid_cpy","git_oid_cmp","git_oid_ncmp","git_oid_shorten_new","git_oid_shorten_add","git_oid_shorten_free"],"meta":{"brief":"Git object id routines","defgroup":"git_oid Git object id routines","ingroup":"Git","comments":"\n"},"lines":208},{"file":"odb_backend.h","functions":[],"meta":{"brief":"Git custom backend functions","defgroup":"git_backend Git custom backend API","ingroup":"Git","comments":"\n"},"lines":100},{"file":"odb.h","functions":["git_odb_new","git_odb_open","git_odb_add_backend","git_odb_add_alternate","git_odb_close","git_odb_read","git_odb_read_prefix","git_odb_read_header","git_odb_exists","git_odb_write","git_odb_open_wstream","git_odb_open_rstream","git_odb_hash","git_odb_hashfile","git_odb_object_close","git_odb_object_id","git_odb_object_data","git_odb_object_size","git_odb_object_type"],"meta":{"brief":"Git object database routines","defgroup":"git_odb Git object database routines","ingroup":"Git","comments":"\n"},"lines":331},{"file":"object.h","functions":["git_object_lookup","git_object_lookup_prefix","git_object_id","git_object_type","git_object_owner","git_object_close","git_object_type2string","git_object_string2type","git_object_typeisloose","git_object__size"],"meta":{"brief":"Git revision object management routines","defgroup":"git_object Git revision object management routines","ingroup":"Git","comments":"\n"},"lines":173},{"file":"net.h","functions":[],"meta":{"brief":"Git networking declarations","ingroup":"Git","comments":"\n"},"lines":53},{"file":"inttypes.h","functions":[],"meta":{},"lines":305},{"file":"indexer.h","functions":["git_indexer_new","git_indexer_run","git_indexer_write","git_indexer_hash","git_indexer_free"],"meta":{},"lines":76},{"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"],"meta":{"brief":"Git index parsing and manipulation routines","defgroup":"git_index Git index parsing and manipulation routines","ingroup":"Git","comments":"\n"},"lines":306},{"file":"errors.h","functions":["git_lasterror","git_strerror","git_clearerror"],"meta":{"brief":"Git error handling routines and variables","ingroup":"Git","comments":"\n"},"lines":144},{"file":"config.h","functions":["git_config_find_global","git_config_find_system","git_config_open_global","git_config_file__ondisk","git_config_new","git_config_add_file","git_config_add_file_ondisk","git_config_open_ondisk","git_config_free","git_config_get_int32","git_config_get_int64","git_config_get_bool","git_config_get_string","git_config_set_int32","git_config_set_int64","git_config_set_bool","git_config_set_string","git_config_delete","git_config_foreach"],"meta":{"brief":"Git config management routines","defgroup":"git_config Git config management routines","ingroup":"Git","comments":"\n"},"lines":278},{"file":"common.h","functions":["git_libgit2_version"],"meta":{"brief":"Git common platform definitions","defgroup":"git_common Git common platform definitions","ingroup":"Git","comments":"\n"},"lines":116},{"file":"commit.h","functions":["git_commit_lookup","git_commit_lookup_prefix","git_commit_close","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":{"brief":"Git commit parsing, formatting routines","defgroup":"git_commit Git commit parsing, formatting routines","ingroup":"Git","comments":"\n"},"lines":263},{"file":"branch.h","functions":[],"meta":{},"lines":15},{"file":"blob.h","functions":["git_blob_lookup","git_blob_lookup_prefix","git_blob_close","git_blob_rawcontent","git_blob_rawsize","git_blob_create_fromfile","git_blob_create_frombuffer"],"meta":{"brief":"Git blob load and write routines","defgroup":"git_blob Git blob load and write routines","ingroup":"Git","comments":"\n"},"lines":120}],"functions":{"deflateBound":{"type":"function","file":"zlib.h","line":32,"lineto":36,"args":[{"name":"stream","type":"z_streamp","comment":"the stream pointer."},{"name":"s","type":"size_t","comment":"tream the stream pointer."}],"argline":"z_streamp stream, size_t s","sig":"z_streamp::size_t","return":{"type":"size_t","comment":"maximum length of the compressed data."},"description":"deflateBound returns an upper bound on the compressed size.","comments":"This is a stub function used when zlib does not supply the\ndeflateBound() implementation itself.\n","group":"zlib"},"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":"GIT_SUCCESS or an error code"},"description":"Lookup a tree object from the repository.","comments":"","group":"tree","examples":{"general.c":["ex/v0.15.0/general.html#git_tree_lookup-1","ex/v0.15.0/general.html#git_tree_lookup-2"]}},"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":"GIT_SUCCESS or an error code"},"description":"Lookup a tree object from the repository,\ngiven a prefix of its identifier (short id).","comments":"@see git_object_lookup_prefix\n","group":"tree"},"git_tree_close":{"type":"function","file":"tree.h","line":65,"lineto":68,"args":[{"name":"tree","type":"git_tree *","comment":"the tree to close"}],"argline":"git_tree *tree","sig":"git_tree *","return":{"type":"void"},"description":"Close an open tree","comments":"This is a wrapper around git_object_close()\n\nIMPORTANT:\nIt *is* necessary to call this method when you stop\nusing a tree. Failure to do so will cause a memory leak.\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":"Get the id of a tree.","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":"Get the number of entries listed in a tree","comments":"","group":"tree","examples":{"general.c":["ex/v0.15.0/general.html#git_tree_entrycount-3"]}},"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":"Lookup a tree entry by its filename","comments":"","group":"tree","examples":{"general.c":["ex/v0.15.0/general.html#git_tree_entry_byname-4"]}},"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":"Lookup a tree entry by its position in the tree","comments":"","group":"tree","examples":{"general.c":["ex/v0.15.0/general.html#git_tree_entry_byindex-5"]}},"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":"Get the UNIX file attributes of a tree entry","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":"Get the filename of a tree entry","comments":"","group":"tree","examples":{"general.c":["ex/v0.15.0/general.html#git_tree_entry_name-6","ex/v0.15.0/general.html#git_tree_entry_name-7"]}},"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":"Get the id of the object pointed by the entry","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":"Get the type of the object pointed by the entry","comments":"","group":"tree"},"git_tree_entry_2object":{"type":"function","file":"tree.h","line":146,"lineto":146,"args":[{"name":"object_out","type":"git_object **"},{"name":"repo","type":"git_repository *","comment":"repository where to lookup the pointed object"},{"name":"entry","type":"const git_tree_entry *","comment":"a tree entry"}],"argline":"git_object **object_out, git_repository *repo, const git_tree_entry *entry","sig":"git_object **::git_repository *::const git_tree_entry *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Convert a tree entry to the git_object it points too.","comments":"","group":"tree","examples":{"general.c":["ex/v0.15.0/general.html#git_tree_entry_2object-8"]}},"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":"GIT_SUCCESS or an error code"},"description":"Write a tree to the ODB from the index file","comments":"This method will scan the index and write a representation\nof its current state back to disk; it recursively creates\ntree objects for each of the subtrees stored in the index,\nbut only returns the OID of the root tree. This is the OID\nthat can be used e.g. to create a commit.\n\nThe index instance cannot be bare, and needs to be associated\nto an existing repository.\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":"Create a new tree builder.","comments":"The tree builder can be used to create or modify\ntrees in memory and write them as tree objects to the\ndatabase.\n\nIf the `source` parameter is not NULL, the tree builder\nwill be initialized with the entries of the given tree.\n\nIf the `source` parameter is NULL, the tree builder will\nhave no entries and will have to be filled manually.\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"},"description":"Clear all the entires in the builder","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"},"description":"Free a tree builder","comments":"This will clear all the entries and free to builder.\nFailing to free the builder after you're done using it\nwill result in a memory leak\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":"Get an entry from the builder from its filename","comments":"The returned entry is owned by the builder and should\nnot be freed manually.\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":"GIT_SUCCESS or an error code"},"description":"Add or update an entry to the builder","comments":"Insert a new entry for `filename` in the builder with the\ngiven attributes.\n\nif an entry named `filename` already exists, its attributes\nwill be updated with the given ones.\n\nThe optional pointer `entry_out` can be used to retrieve a\npointer to the newly created/updated entry.\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"},"description":"Remove an entry from the builder by its filename","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 *"}],"argline":"git_treebuilder *bld, int (*filter)(const git_tree_entry *, void *), void *payload","sig":"git_treebuilder *::int (*)(const git_tree_entry *, void *)::void *","return":{"type":"void"},"description":"Filter the entries in the tree","comments":"The `filter` callback will be called for each entry\nin the tree with a pointer to the entry and the\nprovided `payload`: if the callback returns 1, the\nentry will be filtered (removed from the builder).\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":"GIT_SUCCESS or an error code"},"description":"Write the contents of the tree builder as a tree object","comments":"The tree builder will be written to the given `repo`, and\nit's identifying SHA1 hash will be stored in the `oid`\npointer.\n","group":"treebuilder"},"git_transport_new":{"type":"function","file":"transport.h","line":28,"lineto":28,"args":[{"name":"transport","type":"git_transport **"},{"name":"url","type":"const char *","comment":"the url of the repo"}],"argline":"git_transport **transport, const char *url","sig":"git_transport **::const char *","return":{"type":"int"},"description":"Get the appropriate transport for an URL.\n@param tranport the transport for the url\n@param url the url of the repo","comments":"","group":"transport"},"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":"GIT_SUCCESS or an error code"},"description":"Lookup a tag object from the repository.","comments":"","group":"tag","examples":{"general.c":["ex/v0.15.0/general.html#git_tag_lookup-9"]}},"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":"GIT_SUCCESS or an error code"},"description":"Lookup a tag object from the repository,\ngiven a prefix of its identifier (short id).","comments":"@see git_object_lookup_prefix\n","group":"tag"},"git_tag_close":{"type":"function","file":"tag.h","line":65,"lineto":68,"args":[{"name":"tag","type":"git_tag *","comment":"the tag to close"}],"argline":"git_tag *tag","sig":"git_tag *","return":{"type":"void"},"description":"Close an open tag","comments":"This is a wrapper around git_object_close()\n\nIMPORTANT:\nIt *is* necessary to call this method when you stop\nusing a tag. Failure to do so will cause a memory leak.\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":"Get the id of a tag.","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":"GIT_SUCCESS or an error code"},"description":"Get the tagged object of a tag","comments":"This method performs a repository lookup for the\ngiven object and returns it\n","group":"tag","examples":{"general.c":["ex/v0.15.0/general.html#git_tag_target-10"]}},"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":"Get the OID of the tagged object of a tag","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":"Get the type of a tag's tagged object","comments":"","group":"tag","examples":{"general.c":["ex/v0.15.0/general.html#git_tag_type-11"]}},"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":"Get the name of a tag","comments":"","group":"tag","examples":{"general.c":["ex/v0.15.0/general.html#git_tag_name-12"]}},"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":"Get the tagger (author) of a tag","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":"Get the message of a tag","comments":"","group":"tag","examples":{"general.c":["ex/v0.15.0/general.html#git_tag_message-13"]}},"git_tag_create":{"type":"function","file":"tag.h","line":165,"lineto":172,"args":[{"name":"oid","type":"git_oid *","comment":"Pointer where to store the OID of the newly created tag. If the tag already exists, this parameter will be the oid of the existing tag, and the function will 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 for consistency. It should also not conflict with an already existing tag name"},{"name":"target","type":"const git_object *","comment":"Object to which this tag points. This object must belong to the given `repo`."},{"name":"tagger","type":"const git_signature *","comment":"Signature of the tagger for this tag, and 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,\n\t\tgit_repository *repo,\n\t\tconst char *tag_name,\n\t\tconst git_object *target,\n\t\tconst git_signature *tagger,\n\t\tconst char *message,\n\t\tint force","sig":"git_oid *::git_repository *::const char *::const git_object *::const git_signature *::const char *::int","return":{"type":"int","comment":"GIT_SUCCESS or an error code A tag object is written to the ODB, and a proper reference is written in the /refs/tags folder, pointing to it"},"description":"Create a new tag in the repository from an object","comments":"A new reference will also be created pointing to\nthis tag object. If `force` is true and a reference\nalready exists with the given name, it'll be replaced.\n","group":"tag"},"git_tag_create_frombuffer":{"type":"function","file":"tag.h","line":183,"lineto":187,"args":[{"name":"oid","type":"git_oid *","comment":"Pointer where to store the OID of the newly created tag"},{"name":"repo","type":"git_repository *","comment":"Repository where to store the tag"},{"name":"buffer","type":"const char *","comment":"Raw tag data"},{"name":"force","type":"int","comment":"Overwrite existing tags"}],"argline":"git_oid *oid,\n\t\tgit_repository *repo,\n\t\tconst char *buffer,\n\t\tint force","sig":"git_oid *::git_repository *::const char *::int","return":{"type":"int","comment":"0 on sucess; error code otherwise"},"description":"Create a new tag in the repository from a buffer","comments":"","group":"tag"},"git_tag_create_lightweight":{"type":"function","file":"tag.h","line":216,"lineto":221,"args":[{"name":"oid","type":"git_oid *","comment":"Pointer where to store the OID of the provided target object. If the tag already exists, this parameter will be filled with the oid of the existing pointed object 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 for consistency. It should also not conflict with an already existing tag name"},{"name":"target","type":"const git_object *","comment":"Object to which this tag points. This object must belong to the given `repo`."},{"name":"force","type":"int","comment":"Overwrite existing references"}],"argline":"git_oid *oid,\n\t\tgit_repository *repo,\n\t\tconst char *tag_name,\n\t\tconst git_object *target,\n\t\tint force","sig":"git_oid *::git_repository *::const char *::const git_object *::int","return":{"type":"int","comment":"GIT_SUCCESS or an error code A proper reference is written in the /refs/tags folder, pointing to the provided target object"},"description":"Create a new lightweight tag pointing at a target object","comments":"A new direct reference will be created pointing to\nthis target object. If `force` is true and a reference\nalready exists with the given name, it'll be replaced.\n","group":"tag"},"git_tag_delete":{"type":"function","file":"tag.h","line":233,"lineto":235,"args":[{"name":"repo","type":"git_repository *","comment":"Repository where lives the tag"},{"name":"tag_name","type":"const char *","comment":"Name of the tag to be deleted; this name is validated for consistency."}],"argline":"git_repository *repo,\n\t\tconst char *tag_name","sig":"git_repository *::const char *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Delete an existing tag reference.","comments":"","group":"tag"},"git_tag_list":{"type":"function","file":"tag.h","line":250,"lineto":252,"args":[{"name":"tag_names","type":"git_strarray *","comment":"Pointer to a git_strarray structure where the tag names will be stored"},{"name":"repo","type":"git_repository *","comment":"Repository where to find the tags"}],"argline":"git_strarray *tag_names,\n\t\tgit_repository *repo","sig":"git_strarray *::git_repository *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Fill a list with all the tags in the Repository","comments":"The string array will be filled with the names of the\nmatching tags; these values are owned by the user and\nshould be free'd manually when no longer needed, using\n`git_strarray_free`.\n","group":"tag"},"git_tag_list_match":{"type":"function","file":"tag.h","line":272,"lineto":275,"args":[{"name":"tag_names","type":"git_strarray *","comment":"Pointer to a git_strarray structure where the 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,\n\t\tconst char *pattern,\n\t\tgit_repository *repo","sig":"git_strarray *::const char *::git_repository *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Fill a list with all the tags in the Repository\nwhich name match a defined pattern","comments":"If an empty pattern is provided, all the tags\nwill be returned.\n\nThe string array will be filled with the names of the\nmatching tags; these values are owned by the user and\nshould be free'd manually when no longer needed, using\n`git_strarray_free`.\n","group":"tag"},"git_status_foreach":{"type":"function","file":"status.h","line":47,"lineto":47,"args":[{"name":"repo","type":"git_repository *","comment":"a repository object"},{"name":"callback","type":"int (*)(const char *, unsigned int, void *)","comment":"the function to call on each file"},{"name":"payload","type":"void *"}],"argline":"git_repository *repo, int (*callback)(const char *, unsigned int, void *), void *payload","sig":"git_repository *::int (*)(const char *, unsigned int, void *)::void *","return":{"type":"int","comment":"GIT_SUCCESS or the return value of the callback which did not return GIT_SUCCESS"},"description":"Gather file statuses and run a callback for each one.","comments":"The callback is passed the path of the file, the status and the data pointer\npassed to this function. If the callback returns something other than\nGIT_SUCCESS, this function will return that value.\n","group":"status"},"git_status_file":{"type":"function","file":"status.h","line":59,"lineto":59,"args":[{"name":"status_flags","type":"unsigned int *","comment":"the status value"},{"name":"repo","type":"git_repository *","comment":"a repository object"},{"name":"path","type":"const char *","comment":"the file to retrieve status for, rooted at the repo's workdir"}],"argline":"unsigned int *status_flags, git_repository *repo, const char *path","sig":"unsigned int *::git_repository *::const char *","return":{"type":"int","comment":"GIT_EINVALIDPATH when `path` points at a folder, GIT_ENOTFOUND when the file doesn't exist in any of HEAD, the index or the worktree, GIT_SUCCESS otherwise"},"description":"Get file status for a single file","comments":"","group":"status"},"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":"GIT_SUCCESS or an error code"},"description":"Create a new action signature. The signature must be freed\nmanually or using git_signature_free","comments":"","group":"signature","examples":{"general.c":["ex/v0.15.0/general.html#git_signature_new-14","ex/v0.15.0/general.html#git_signature_new-15"]}},"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":"GIT_SUCCESS or an error code"},"description":"Create a new action signature with a timestamp of 'now'. The\nsignature must be freed manually or using git_signature_free","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":"Create a copy of an existing signature.","comments":"All internal strings are also duplicated.","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"},"description":"Free an existing signature","comments":"","group":"signature"},"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":"GIT_SUCCESS or an error code"},"description":"Allocate a new revision walker to iterate through a repo.","comments":"This revision walker uses a custom memory pool and an internal\ncommit cache, so it is relatively expensive to allocate.\n\nFor maximum performance, this revision walker should be\nreused for different walks.\n\nThis revision walker is *not* thread safe: it may only be\nused to walk a repository on a single thread; however,\nit is possible to have several revision walkers in\nseveral different threads walking the same repository.\n","group":"revwalk","examples":{"general.c":["ex/v0.15.0/general.html#git_revwalk_new-16"]}},"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"},"description":"Reset the revision walker for reuse.","comments":"This will clear all the pushed and hidden commits, and\nleave the walker in a blank state (just like at\ncreation) ready to receive new commit pushes and\nstart a new walk.\n\nThe revision walk is automatically reset when a walk\nis over.\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":"GIT_SUCCESS or an error code"},"description":"Mark a commit to start traversal from.","comments":"The given OID must belong to a commit on the walked\nrepository.\n\nThe given commit will be used as one of the roots\nwhen starting the revision walk. At least one commit\nmust be pushed the repository before a walk can\nbe started.\n","group":"revwalk","examples":{"general.c":["ex/v0.15.0/general.html#git_revwalk_push-17"]}},"git_revwalk_hide":{"type":"function","file":"revwalk.h","line":118,"lineto":118,"args":[{"name":"walk","type":"git_revwalk *","comment":"the walker being used for the traversal."},{"name":"oid","type":"const git_oid *","comment":"the oid of commit that will be ignored during the traversal"}],"argline":"git_revwalk *walk, const git_oid *oid","sig":"git_revwalk *::const git_oid *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Mark a commit (and its ancestors) uninteresting for the output.","comments":"The given OID must belong to a commit on the walked\nrepository.\n\nThe resolved commit and all its parents will be hidden from the\noutput on the revision walk.\n","group":"revwalk"},"git_revwalk_next":{"type":"function","file":"revwalk.h","line":138,"lineto":138,"args":[{"name":"oid","type":"git_oid *","comment":"Pointer where to store the oid of the next commit"},{"name":"walk","type":"git_revwalk *","comment":"the walker to pop the commit from."}],"argline":"git_oid *oid, git_revwalk *walk","sig":"git_oid *::git_revwalk *","return":{"type":"int","comment":"GIT_SUCCESS if the next commit was found; GIT_EREVWALKOVER if there are no commits left to iterate"},"description":"Get the next commit from the revision walk.","comments":"The initial call to this method is *not* blocking when\niterating through a repo with a time-sorting mode.\n\nIterating with Topological or inverted modes makes the initial\ncall blocking to preprocess the commit list, but this block should be\nmostly unnoticeable on most repositories (topological preprocessing\ntimes at 0.3s on the git.git repo).\n\nThe revision walker is reset when the walk is over.\n","group":"revwalk","examples":{"general.c":["ex/v0.15.0/general.html#git_revwalk_next-18"]}},"git_revwalk_sorting":{"type":"function","file":"revwalk.h","line":149,"lineto":149,"args":[{"name":"walk","type":"git_revwalk *","comment":"the walker being used for the traversal."},{"name":"sort_mode","type":"unsigned int","comment":"combination of GIT_SORT_XXX flags"}],"argline":"git_revwalk *walk, unsigned int sort_mode","sig":"git_revwalk *::unsigned int","return":{"type":"void"},"description":"Change the sorting mode when iterating through the\nrepository's contents.","comments":"Changing the sorting mode resets the walker.\n","group":"revwalk","examples":{"general.c":["ex/v0.15.0/general.html#git_revwalk_sorting-19"]}},"git_revwalk_free":{"type":"function","file":"revwalk.h","line":156,"lineto":156,"args":[{"name":"walk","type":"git_revwalk *","comment":"traversal handle to close. If NULL nothing occurs."}],"argline":"git_revwalk *walk","sig":"git_revwalk *","return":{"type":"void"},"description":"Free a revision walker previously allocated.","comments":"","group":"revwalk","examples":{"general.c":["ex/v0.15.0/general.html#git_revwalk_free-20"]}},"git_revwalk_repository":{"type":"function","file":"revwalk.h","line":165,"lineto":165,"args":[{"name":"walk","type":"git_revwalk *","comment":"the revision walker"}],"argline":"git_revwalk *walk","sig":"git_revwalk *","return":{"type":"git_repository *","comment":"the repository being walked"},"description":"Return the repository on which this walker\nis operating.","comments":"","group":"revwalk"},"git_repository_open":{"type":"function","file":"repository.h","line":46,"lineto":46,"args":[{"name":"repository","type":"git_repository **","comment":"pointer to the repo which will be opened"},{"name":"path","type":"const char *","comment":"the path to the repository"}],"argline":"git_repository **repository, const char *path","sig":"git_repository **::const char *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Open a git repository.","comments":"The 'path' argument must point to an existing git repository\nfolder, e.g.\n\n\t/path/to/my_repo/.git/\t(normal repository)\n\t\t\t\t\t\tobjects/\n\t\t\t\t\t\tindex\n\t\t\t\t\t\tHEAD\n\n\t/path/to/bare_repo/\t\t(bare repository)\n\t\t\t\t\tobjects/\n\t\t\t\t\tindex\n\t\t\t\t\tHEAD\n\nThe method will automatically detect if 'path' is a normal\nor bare repository or fail is 'path' is neither.\n","group":"repository","examples":{"showindex.c":["ex/v0.15.0/showindex.html#git_repository_open-1"],"general.c":["ex/v0.15.0/general.html#git_repository_open-21","ex/v0.15.0/general.html#git_repository_open-22"]}},"git_repository_open2":{"type":"function","file":"repository.h","line":75,"lineto":79,"args":[{"name":"repository","type":"git_repository **","comment":"pointer to the repo which will be opened"},{"name":"git_dir","type":"const char *","comment":"The full path to the repository folder e.g. a '.git' folder for live repos, any folder for bare Equivalent to $GIT_DIR. Cannot be NULL."},{"name":"git_object_directory","type":"const char *","comment":"The full path to the ODB folder. the folder where all the loose and packed objects are stored Equivalent to $GIT_OBJECT_DIRECTORY. If NULL, \"$GIT_DIR/objects/\" is assumed."},{"name":"git_index_file","type":"const char *","comment":"The full path to the index (dircache) file Equivalent to $GIT_INDEX_FILE. If NULL, \"$GIT_DIR/index\" is assumed."},{"name":"git_work_tree","type":"const char *","comment":"The full path to the working tree of the repository, if the repository is not bare. Equivalent to $GIT_WORK_TREE. If NULL, the repository is assumed to be bare."}],"argline":"git_repository **repository,\n\t\tconst char *git_dir,\n\t\tconst char *git_object_directory,\n\t\tconst char *git_index_file,\n\t\tconst char *git_work_tree","sig":"git_repository **::const char *::const char *::const char *::const char *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Open a git repository by manually specifying all its paths","comments":"","group":"repository"},"git_repository_open3":{"type":"function","file":"repository.h","line":110,"lineto":114,"args":[{"name":"repository","type":"git_repository **","comment":"pointer to the repo which will be opened"},{"name":"git_dir","type":"const char *","comment":"The full path to the repository folder e.g. a '.git' folder for live repos, any folder for bare Equivalent to $GIT_DIR. Cannot be NULL."},{"name":"object_database","type":"git_odb *","comment":"A pointer to a git_odb created & initialized by the user (e.g. with custom backends). This object database will be owned by the repository and will be automatically free'd. It should not be manually free'd by the user, or this git_repository object will become invalid."},{"name":"git_index_file","type":"const char *","comment":"The full path to the index (dircache) file Equivalent to $GIT_INDEX_FILE. If NULL, \"$GIT_DIR/index\" is assumed."},{"name":"git_work_tree","type":"const char *","comment":"The full path to the working tree of the repository, if the repository is not bare. Equivalent to $GIT_WORK_TREE. If NULL, the repository is assumed to be bare."}],"argline":"git_repository **repository,\n\t\tconst char *git_dir,\n\t\tgit_odb *object_database,\n\t\tconst char *git_index_file,\n\t\tconst char *git_work_tree","sig":"git_repository **::const char *::git_odb *::const char *::const char *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Open a git repository by manually specifying its paths and\nthe object database it will use.","comments":"","group":"repository"},"git_repository_discover":{"type":"function","file":"repository.h","line":143,"lineto":143,"args":[{"name":"repository_path","type":"char *","comment":"The user allocated buffer which will contain the found path."},{"name":"size","type":"size_t","comment":"repository_path size"},{"name":"start_path","type":"const char *","comment":"The base path where the lookup starts."},{"name":"across_fs","type":"int","comment":"If true, then the lookup will not stop when a filesystem device change is detected while exploring parent directories."},{"name":"ceiling_dirs","type":"const char *","comment":"A GIT_PATH_LIST_SEPARATOR separated list of absolute symbolic link free paths. The lookup will stop when any of this paths is reached. Note that the lookup always performs on start_path no matter start_path appears in ceiling_dirs ceiling_dirs might be NULL (which is equivalent to an empty string)"}],"argline":"char *repository_path, size_t size, const char *start_path, int across_fs, const char *ceiling_dirs","sig":"char *::size_t::const char *::int::const char *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Look for a git repository and copy its path in the given buffer. The lookup start\nfrom base_path and walk across parent directories if nothing has been found. The\nlookup ends when the first repository is found, or when reaching a directory\nreferenced in ceiling_dirs or when the filesystem changes (in case across_fs\nis true).","comments":"The method will automatically detect if the repository is bare (if there is\na repository).\n","group":"repository"},"git_repository_database":{"type":"function","file":"repository.h","line":151,"lineto":151,"args":[{"name":"repo","type":"git_repository *","comment":"a repository object"}],"argline":"git_repository *repo","sig":"git_repository *","return":{"type":"git_odb *","comment":"a pointer to the object db"},"description":"Get the object database behind a Git repository","comments":"","group":"repository","examples":{"general.c":["ex/v0.15.0/general.html#git_repository_database-23"]}},"git_repository_index":{"type":"function","file":"repository.h","line":171,"lineto":171,"args":[{"name":"index","type":"git_index **","comment":"Pointer where to store the index"},{"name":"repo","type":"git_repository *","comment":"a repository object"}],"argline":"git_index **index, git_repository *repo","sig":"git_index **::git_repository *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Open the Index file of a Git repository","comments":"This returns a new and unique `git_index` object representing the\nactive index for the repository.\n\nThis method may be called more than once (e.g. on different threads).\n\nEach returned `git_index` object is independent and suffers no race\nconditions: synchronization is done at the FS level.\n\nEach returned `git_index` object must be manually freed by the user,\nusing `git_index_free`.\n","group":"repository","examples":{"showindex.c":["ex/v0.15.0/showindex.html#git_repository_index-2"],"general.c":["ex/v0.15.0/general.html#git_repository_index-24"]}},"git_repository_free":{"type":"function","file":"repository.h","line":184,"lineto":184,"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"},"description":"Free a previously allocated repository","comments":"Note that after a repository is free'd, all the objects it has spawned\nwill still exist until they are manually closed by the user\nwith `git_object_close`, but accessing any of the attributes of\nan object without a backing repository will result in undefined\nbehavior\n","group":"repository","examples":{"showindex.c":["ex/v0.15.0/showindex.html#git_repository_free-3"],"general.c":["ex/v0.15.0/general.html#git_repository_free-25"]}},"git_repository_init":{"type":"function","file":"repository.h","line":201,"lineto":201,"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","comment":"if true, a Git repository without a working directory is created at the pointed path. If false, provided path will be considered as the working directory into which the .git directory will be created."}],"argline":"git_repository **repo_out, const char *path, unsigned is_bare","sig":"git_repository **::const char *::unsigned","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Creates a new Git repository in the given folder.","comments":"TODO:\n- Reinit the repository\n- Create config files\n","group":"repository"},"git_repository_head":{"type":"function","file":"repository.h","line":211,"lineto":211,"args":[{"name":"head_out","type":"git_reference **","comment":"pointer to the reference which will be retrieved"},{"name":"repo","type":"git_repository *","comment":"a repository object"}],"argline":"git_reference **head_out, git_repository *repo","sig":"git_reference **::git_repository *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Retrieve and resolve the reference pointed at by HEAD.","comments":"","group":"repository"},"git_repository_head_detached":{"type":"function","file":"repository.h","line":223,"lineto":223,"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 was an error."},"description":"Check if a repository's HEAD is detached","comments":"A repository's HEAD is detached when it points directly to a commit\ninstead of a branch.\n","group":"repository"},"git_repository_head_orphan":{"type":"function","file":"repository.h","line":235,"lineto":235,"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 code if therewas an error"},"description":"Check if the current branch is an orphan","comments":"An orphan branch is one named from HEAD but which doesn't exist in\nthe refs namespace, because it doesn't have any commit to point to.\n","group":"repository"},"git_repository_is_empty":{"type":"function","file":"repository.h","line":247,"lineto":247,"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 if the repository is corrupted"},"description":"Check if a repository is empty","comments":"An empty repository has just been initialized and contains\nno commits.\n","group":"repository"},"git_repository_path":{"type":"function","file":"repository.h","line":274,"lineto":274,"args":[{"name":"repo","type":"git_repository *","comment":"a repository object"},{"name":"id","type":"git_repository_pathid","comment":"The ID of the path to return"}],"argline":"git_repository *repo, git_repository_pathid id","sig":"git_repository *::git_repository_pathid","return":{"type":"const char *","comment":"absolute path of the requested id"},"description":"Get one of the paths to the repository","comments":"Possible values for `id`:\n\nGIT_REPO_PATH: return the path to the repository\nGIT_REPO_PATH_INDEX: return the path to the index\nGIT_REPO_PATH_ODB: return the path to the ODB\nGIT_REPO_PATH_WORKDIR: return the path to the working\n\tdirectory\n","group":"repository"},"git_repository_is_bare":{"type":"function","file":"repository.h","line":282,"lineto":282,"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 otherwise."},"description":"Check if a repository is bare","comments":"","group":"repository"},"git_repository_config":{"type":"function","file":"repository.h","line":311,"lineto":314,"args":[{"name":"out","type":"git_config **","comment":"the repository's configuration"},{"name":"repo","type":"git_repository *","comment":"the repository for which to get the config"},{"name":"global_config_path","type":"const char *"},{"name":"system_config_path","type":"const char *","comment":"Path to the global config file"}],"argline":"git_config **out,\n\tgit_repository *repo,\n\tconst char *global_config_path,\n\tconst char *system_config_path","sig":"git_config **::git_repository *::const char *::const char *","return":{"type":"int"},"description":"Retrieve the relevant configuration for a repository","comments":"If either the `global_config_path` or `system_config_path`\nvariables are not NULL, the given config files will be also\nincluded in the configuration set. The global configuration file is\nlocated in $HOME/.gitconfig. On most UNIX systems, the system\nconfig file file may be found on `$sysconfdir/gitconfig`.\n\nThe resulting `git_config` instance will query the files in the following\norder:\n\n- Repository configuration file\n- Global configuration file\n- System configuration file\n\nThe method will fail if any of the given config files can't be\nfound or accessed.\n\nThe returned `git_config` instance is owned by the caller and must\nbe manually free'd once it's no longer on use.\n","group":"repository"},"git_repository_config_autoload":{"type":"function","file":"repository.h","line":328,"lineto":330,"args":[{"name":"out","type":"git_config **","comment":"the repository's configuration"},{"name":"repo","type":"git_repository *","comment":"the repository for which to get the config"}],"argline":"git_config **out,\n\t\tgit_repository *repo","sig":"git_config **::git_repository *","return":{"type":"int"},"description":"Automatically load the configuration files","comments":"A wrapper around `git_repository_config` that tries to guess where\nthe global and system config files are located. No error is\nreported if either of these files are missing at the guessed\nlocations.\n","group":"repository"},"git_remote_new":{"type":"function","file":"remote.h","line":40,"lineto":40,"args":[{"name":"out","type":"git_remote **","comment":"pointer to the new remote object"},{"name":"repo","type":"git_repository *","comment":"the associtated repository"},{"name":"url","type":"const char *","comment":"the remote repository's URL"}],"argline":"git_remote **out, git_repository *repo, const char *url","sig":"git_remote **::git_repository *::const char *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Create a new unnamed remote","comments":"Useful when you don't want to store the remote\n","group":"remote"},"git_remote_get":{"type":"function","file":"remote.h","line":50,"lineto":50,"args":[{"name":"out","type":"struct git_remote **","comment":"pointer to the new remote object"},{"name":"cfg","type":"struct git_config *","comment":"the repository's configuration"},{"name":"name","type":"const char *","comment":"the remote's name"}],"argline":"struct git_remote **out, struct git_config *cfg, const char *name","sig":"struct git_remote **::struct git_config *::const char *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Get the information for a particular remote","comments":"","group":"remote"},"git_remote_name":{"type":"function","file":"remote.h","line":58,"lineto":58,"args":[{"name":"remote","type":"struct git_remote *","comment":"the remote"}],"argline":"struct git_remote *remote","sig":"struct git_remote *","return":{"type":"const char *","comment":"a pointer to the name"},"description":"Get the remote's name","comments":"","group":"remote"},"git_remote_url":{"type":"function","file":"remote.h","line":66,"lineto":66,"args":[{"name":"remote","type":"struct git_remote *","comment":"the remote"}],"argline":"struct git_remote *remote","sig":"struct git_remote *","return":{"type":"const char *","comment":"a pointer to the url"},"description":"Get the remote's url","comments":"","group":"remote"},"git_remote_fetchspec":{"type":"function","file":"remote.h","line":74,"lineto":74,"args":[{"name":"remote","type":"struct git_remote *","comment":"the remote"}],"argline":"struct git_remote *remote","sig":"struct git_remote *","return":{"type":"const git_refspec *","comment":"a pointer to the fetch refspec or NULL if it doesn't exist"},"description":"Get the fetch refspec","comments":"","group":"remote"},"git_remote_pushspec":{"type":"function","file":"remote.h","line":82,"lineto":82,"args":[{"name":"remote","type":"struct git_remote *","comment":"the remote"}],"argline":"struct git_remote *remote","sig":"struct git_remote *","return":{"type":"const git_refspec *","comment":"a pointer to the push refspec or NULL if it doesn't exist"},"description":"Get the push refspec","comments":"","group":"remote"},"git_remote_connect":{"type":"function","file":"remote.h","line":96,"lineto":96,"args":[{"name":"remote","type":"struct git_remote *","comment":"the remote to connect to"},{"name":"direction","type":"int","comment":"whether you want to receive or send data"}],"argline":"struct git_remote *remote, int direction","sig":"struct git_remote *::int","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Open a connection to a remote","comments":"The transport is selected based on the URL. The direction argument\nis due to a limitation of the git protocol (over TCP or SSH) which\nstarts up a specific binary which can only do the one or the other.\n","group":"remote"},"git_remote_ls":{"type":"function","file":"remote.h","line":107,"lineto":107,"args":[{"name":"remote","type":"git_remote *","comment":"the remote"},{"name":"refs","type":"git_headarray *","comment":"where to store the refs"}],"argline":"git_remote *remote, git_headarray *refs","sig":"git_remote *::git_headarray *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Get a list of refs at the remote","comments":"The remote (or more exactly its transport) must be connected.\n","group":"remote"},"git_remote_negotiate":{"type":"function","file":"remote.h","line":115,"lineto":115,"args":[{"name":"remote","type":"git_remote *","comment":"the remote you want to negotiate with"}],"argline":"git_remote *remote","sig":"git_remote *","return":{"type":"int"},"description":"Negotiate what data needs to be exchanged to synchroize the remtoe\nand local references","comments":"","group":"remote"},"git_remote_download":{"type":"function","file":"remote.h","line":129,"lineto":129,"args":[{"name":"filename","type":"char **","comment":"where to store the temproray filename"},{"name":"remote","type":"git_remote *","comment":"the remote to download from"}],"argline":"char **filename, git_remote *remote","sig":"char **::git_remote *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Download the packfile","comments":"The packfile is downloaded with a temporary filename, as it's final\nname is not known yet. If there was no packfile needed (all the\nobjects were available locally), filename will be NULL and the\nfunction will return success.\n","group":"remote"},"git_remote_free":{"type":"function","file":"remote.h","line":136,"lineto":136,"args":[{"name":"remote","type":"struct git_remote *","comment":"the remote to free"}],"argline":"struct git_remote *remote","sig":"struct git_remote *","return":{"type":"void"},"description":"Free the memory associated with a remote","comments":"","group":"remote"},"git_remote_update_tips":{"type":"function","file":"remote.h","line":146,"lineto":146,"args":[{"name":"remote","type":"struct git_remote *","comment":"the remote to update"}],"argline":"struct git_remote *remote","sig":"struct git_remote *","return":{"type":"int"},"description":"Update the tips to the new state","comments":"Make sure that you only call this once you've successfully indexed\nor expanded the packfile.\n","group":"remote"},"git_refspec_src":{"type":"function","file":"refspec.h","line":27,"lineto":27,"args":[{"name":"refspec","type":"const git_refspec *","comment":"the refspec"}],"argline":"const git_refspec *refspec","sig":"const git_refspec *","return":{"type":"const char *","comment":"the refspec's source specifier"},"description":"Get the source specifier","comments":"","group":"refspec"},"git_refspec_dst":{"type":"function","file":"refspec.h","line":35,"lineto":35,"args":[{"name":"refspec","type":"const git_refspec *","comment":"the refspec"}],"argline":"const git_refspec *refspec","sig":"const git_refspec *","return":{"type":"const char *","comment":"the refspec's destination specifier"},"description":"Get the destination specifier","comments":"","group":"refspec"},"git_refspec_src_match":{"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":"GIT_SUCCESS on successful match; GIT_ENOMACH on match failure or an error code on other failure"},"description":"Match a refspec's source descriptor with a reference name","comments":"","group":"refspec"},"git_refspec_transform":{"type":"function","file":"refspec.h","line":56,"lineto":60,"args":[{"name":"out","type":"char *","comment":"where to store the target name"},{"name":"outlen","type":"size_t","comment":"the size ouf the `out` buffer"},{"name":"spec","type":"const git_refspec *","comment":"the refspec"},{"name":"name","type":"const char *","comment":"the name of the reference to transform"}],"argline":"char *out, size_t outlen, const git_refspec *spec, const char *name","sig":"char *::size_t::const git_refspec *::const char *","return":{"type":"int","comment":"GIT_SUCCESS, GIT_ESHORTBUFFER or another error"},"description":"Transform a reference to its target following the refspec's rules","comments":"","group":"refspec"},"git_reference_lookup":{"type":"function","file":"refs.h","line":34,"lineto":34,"args":[{"name":"reference_out","type":"git_reference **","comment":"pointer to the looked-up reference"},{"name":"repo","type":"git_repository *","comment":"the repository to look up the reference"},{"name":"name","type":"const char *","comment":"the long name for the reference (e.g. HEAD, ref/heads/master, refs/tags/v0.1.0, ...)"}],"argline":"git_reference **reference_out, git_repository *repo, const char *name","sig":"git_reference **::git_repository *::const char *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Lookup a reference by its name in a repository.","comments":"The generated reference is owned by the repository and\nshould not be freed by the user.\n","group":"reference","examples":{"general.c":["ex/v0.15.0/general.html#git_reference_lookup-26"]}},"git_reference_create_symbolic":{"type":"function","file":"refs.h","line":55,"lineto":55,"args":[{"name":"ref_out","type":"git_reference **","comment":"Pointer to the newly created reference"},{"name":"repo","type":"git_repository *","comment":"Repository where that reference will live"},{"name":"name","type":"const char *","comment":"The name of the reference"},{"name":"target","type":"const char *","comment":"The target of the reference"},{"name":"force","type":"int","comment":"Overwrite existing references"}],"argline":"git_reference **ref_out, git_repository *repo, const char *name, const char *target, int force","sig":"git_reference **::git_repository *::const char *::const char *::int","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Create a new symbolic reference.","comments":"The reference will be created in the repository and written\nto the disk.\n\nThis reference is owned by the repository and shall not\nbe free'd by the user.\n\nIf `force` is true and there already exists a reference\nwith the same name, it will be overwritten.\n","group":"reference"},"git_reference_create_oid":{"type":"function","file":"refs.h","line":76,"lineto":76,"args":[{"name":"ref_out","type":"git_reference **","comment":"Pointer to the newly created reference"},{"name":"repo","type":"git_repository *","comment":"Repository where that reference will live"},{"name":"name","type":"const char *","comment":"The name of the reference"},{"name":"id","type":"const git_oid *","comment":"The object id pointed to by the reference."},{"name":"force","type":"int","comment":"Overwrite existing references"}],"argline":"git_reference **ref_out, git_repository *repo, const char *name, const git_oid *id, int force","sig":"git_reference **::git_repository *::const char *::const git_oid *::int","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Create a new object id reference.","comments":"The reference will be created in the repository and written\nto the disk.\n\nThis reference is owned by the repository and shall not\nbe free'd by the user.\n\nIf `force` is true and there already exists a reference\nwith the same name, it will be overwritten.\n","group":"reference"},"git_reference_oid":{"type":"function","file":"refs.h","line":86,"lineto":86,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"const git_oid *","comment":"a pointer to the oid if available, NULL otherwise"},"description":"Get the OID pointed to by a reference.","comments":"Only available if the reference is direct (i.e. not symbolic)\n","group":"reference","examples":{"general.c":["ex/v0.15.0/general.html#git_reference_oid-27"]}},"git_reference_target":{"type":"function","file":"refs.h","line":96,"lineto":96,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"const char *","comment":"a pointer to the name if available, NULL otherwise"},"description":"Get full name to the reference pointed by this reference","comments":"Only available if the reference is symbolic\n","group":"reference","examples":{"general.c":["ex/v0.15.0/general.html#git_reference_target-28"]}},"git_reference_type":{"type":"function","file":"refs.h","line":106,"lineto":106,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"git_rtype","comment":"the type"},"description":"Get the type of a reference","comments":"Either direct (GIT_REF_OID) or symbolic (GIT_REF_SYMBOLIC)\n","group":"reference","examples":{"general.c":["ex/v0.15.0/general.html#git_reference_type-29"]}},"git_reference_name":{"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":"const char *","comment":"the full name for the ref"},"description":"Get the full name of a reference","comments":"","group":"reference"},"git_reference_resolve":{"type":"function","file":"refs.h","line":129,"lineto":129,"args":[{"name":"resolved_ref","type":"git_reference **","comment":"Pointer to the peeled reference"},{"name":"ref","type":"git_reference *","comment":"The reference"}],"argline":"git_reference **resolved_ref, git_reference *ref","sig":"git_reference **::git_reference *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Resolve a symbolic reference","comments":"Thie method iteratively peels a symbolic reference\nuntil it resolves to a direct reference to an OID.\n\nIf a direct reference is passed as an argument,\nthat reference is returned immediately\n","group":"reference"},"git_reference_owner":{"type":"function","file":"refs.h","line":137,"lineto":137,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"git_repository *","comment":"a pointer to the repo"},"description":"Get the repository where a reference resides","comments":"","group":"reference"},"git_reference_set_target":{"type":"function","file":"refs.h","line":152,"lineto":152,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"},{"name":"target","type":"const char *","comment":"The new target for the reference"}],"argline":"git_reference *ref, const char *target","sig":"git_reference *::const char *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Set the symbolic target of a reference.","comments":"The reference must be a symbolic reference, otherwise\nthis method will fail.\n\nThe reference will be automatically updated in\nmemory and on disk.\n","group":"reference"},"git_reference_set_oid":{"type":"function","file":"refs.h","line":167,"lineto":167,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"},{"name":"id","type":"const git_oid *","comment":"The new target OID for the reference"}],"argline":"git_reference *ref, const git_oid *id","sig":"git_reference *::const git_oid *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Set the OID target of a reference.","comments":"The reference must be a direct reference, otherwise\nthis method will fail.\n\nThe reference will be automatically updated in\nmemory and on disk.\n","group":"reference"},"git_reference_rename":{"type":"function","file":"refs.h","line":180,"lineto":180,"args":[{"name":"ref","type":"git_reference *"},{"name":"new_name","type":"const char *"},{"name":"force","type":"int"}],"argline":"git_reference *ref, const char *new_name, int force","sig":"git_reference *::const char *::int","return":{"type":"int"},"description":"Rename an existing reference","comments":"This method works for both direct and symbolic references.\nThe new name will be checked for validity and may be\nmodified into a normalized form.\n\nThe refernece will be immediately renamed in-memory\nand on disk.","group":"reference"},"git_reference_delete":{"type":"function","file":"refs.h","line":191,"lineto":191,"args":[{"name":"ref","type":"git_reference *"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"int"},"description":"Delete an existing reference","comments":"This method works for both direct and symbolic references.\n\nThe reference will be immediately removed on disk and from\nmemory. The given reference pointer will no longer be valid.","group":"reference"},"git_reference_packall":{"type":"function","file":"refs.h","line":209,"lineto":209,"args":[{"name":"repo","type":"git_repository *","comment":"Repository where the loose refs will be packed"}],"argline":"git_repository *repo","sig":"git_repository *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Pack all the loose references in the repository","comments":"This method will load into the cache all the loose\nreferences on the repository and update the\n`packed-refs` file with them.\n\nOnce the `packed-refs` file has been written properly,\nthe loose references will be removed from disk.\n\nWARNING: calling this method may invalidate any existing\nreferences previously loaded on the cache.\n","group":"reference"},"git_reference_listall":{"type":"function","file":"refs.h","line":232,"lineto":232,"args":[{"name":"array","type":"git_strarray *","comment":"Pointer to a git_strarray structure where the 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 listing."}],"argline":"git_strarray *array, git_repository *repo, unsigned int list_flags","sig":"git_strarray *::git_repository *::unsigned int","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Fill a list with all the references that can be found\nin a repository.","comments":"The listed references may be filtered by type, or using\na bitwise OR of several types. Use the magic value\n`GIT_REF_LISTALL` to obtain all references, including\npacked ones.\n\nThe string array will be filled with the names of all\nreferences; these values are owned by the user and\nshould be free'd manually when no longer needed, using\n`git_strarray_free`.\n","group":"reference","examples":{"general.c":["ex/v0.15.0/general.html#git_reference_listall-30"]}},"git_reference_foreach":{"type":"function","file":"refs.h","line":254,"lineto":254,"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 listing."},{"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 (*callback)(const char *, void *), void *payload","sig":"git_repository *::unsigned int::int (*)(const char *, void *)::void *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Perform an operation on each reference in the repository","comments":"The processed references may be filtered by type, or using\na bitwise OR of several types. Use the magic value\n`GIT_REF_LISTALL` to obtain all references, including\npacked ones.\n\nThe `callback` function will be called for each of the references\nin the repository, and will receive the name of the reference and\nthe `payload` value passed to this method.\n","group":"reference"},"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":"log pointer to reflog"}],"argline":"git_reflog **reflog, git_reference *ref","sig":"git_reflog **::git_reference *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Read the reflog for the given reference","comments":"The reflog must be freed manually by using\ngit_reflog_free().\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":"GIT_SUCCESS or an error code"},"description":"Write a new reflog for the given reference","comments":"If there is no reflog file for the given\nreference yet, it will be created.\n\n`oid_old` may be NULL in case it's a new reference.\n\n`msg` is optional and can be NULL.\n","group":"reflog"},"git_reflog_entrycount":{"type":"function","file":"reflog.h","line":59,"lineto":59,"args":[{"name":"reflog","type":"git_reflog *","comment":"the previously loaded reflog"}],"argline":"git_reflog *reflog","sig":"git_reflog *","return":{"type":"unsigned int","comment":"the number of log entries"},"description":"Get the number of log entries in a reflog","comments":"","group":"reflog"},"git_reflog_entry_byindex":{"type":"function","file":"reflog.h","line":68,"lineto":68,"args":[{"name":"reflog","type":"git_reflog *","comment":"a previously loaded reflog"},{"name":"idx","type":"unsigned int","comment":"the position to lookup"}],"argline":"git_reflog *reflog, unsigned int idx","sig":"git_reflog *::unsigned int","return":{"type":"const git_reflog_entry *","comment":"the entry; NULL if not found"},"description":"Lookup an entry by its index","comments":"","group":"reflog"},"git_reflog_entry_oidold":{"type":"function","file":"reflog.h","line":76,"lineto":76,"args":[{"name":"entry","type":"const git_reflog_entry *","comment":"a reflog entry"}],"argline":"const git_reflog_entry *entry","sig":"const git_reflog_entry *","return":{"type":"const git_oid *","comment":"the old oid"},"description":"Get the old oid","comments":"","group":"reflog"},"git_reflog_entry_oidnew":{"type":"function","file":"reflog.h","line":84,"lineto":84,"args":[{"name":"entry","type":"const git_reflog_entry *","comment":"a reflog entry"}],"argline":"const git_reflog_entry *entry","sig":"const git_reflog_entry *","return":{"type":"const git_oid *","comment":"the new oid at this time"},"description":"Get the new oid","comments":"","group":"reflog"},"git_reflog_entry_committer":{"type":"function","file":"reflog.h","line":92,"lineto":92,"args":[{"name":"entry","type":"const git_reflog_entry *","comment":"a reflog entry"}],"argline":"const git_reflog_entry *entry","sig":"const git_reflog_entry *","return":{"type":"git_signature *","comment":"the committer"},"description":"Get the committer of this entry","comments":"","group":"reflog"},"git_reflog_entry_msg":{"type":"function","file":"reflog.h","line":100,"lineto":100,"args":[{"name":"entry","type":"const git_reflog_entry *","comment":"a reflog entry"}],"argline":"const git_reflog_entry *entry","sig":"const git_reflog_entry *","return":{"type":"char *","comment":"the log msg"},"description":"Get the log msg","comments":"","group":"reflog"},"git_reflog_free":{"type":"function","file":"reflog.h","line":107,"lineto":107,"args":[{"name":"reflog","type":"git_reflog *","comment":"reflog to free"}],"argline":"git_reflog *reflog","sig":"git_reflog *","return":{"type":"void"},"description":"Free the reflog","comments":"","group":"reflog"},"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 the hex sequence and have at least the number of bytes needed for an oid encoded in hex (40 bytes)."}],"argline":"git_oid *out, const char *str","sig":"git_oid *::const char *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Parse a hex formatted object id into a git_oid.","comments":"","group":"oid","examples":{"general.c":["ex/v0.15.0/general.html#git_oid_fromstr-31","ex/v0.15.0/general.html#git_oid_fromstr-32","ex/v0.15.0/general.html#git_oid_fromstr-33","ex/v0.15.0/general.html#git_oid_fromstr-34","ex/v0.15.0/general.html#git_oid_fromstr-35","ex/v0.15.0/general.html#git_oid_fromstr-36","ex/v0.15.0/general.html#git_oid_fromstr-37","ex/v0.15.0/general.html#git_oid_fromstr-38"]}},"git_oid_fromstrn":{"type":"function","file":"oid.h","line":61,"lineto":61,"args":[{"name":"out","type":"git_oid *","comment":"oid structure the result is written into."},{"name":"str","type":"const char *","comment":"input hex string of at least size `length`"},{"name":"length","type":"size_t","comment":"length of the input string"}],"argline":"git_oid *out, const char *str, size_t length","sig":"git_oid *::const char *::size_t","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Parse N characters of a hex formatted object id into a git_oid","comments":"If N is odd, N-1 characters will be parsed instead.\nThe remaining space in the git_oid will be set to zero.\n","group":"oid"},"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"},"description":"Copy an already raw oid into a git_oid structure.","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 the hex sequence and have at least the number of bytes needed for an oid encoded in hex (40 bytes). Only the oid digits are written; a '\\\\0' terminator must be added by 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"},"description":"Format a git_oid into a hex string.","comments":"","group":"oid","examples":{"showindex.c":["ex/v0.15.0/showindex.html#git_oid_fmt-4"],"general.c":["ex/v0.15.0/general.html#git_oid_fmt-39","ex/v0.15.0/general.html#git_oid_fmt-40","ex/v0.15.0/general.html#git_oid_fmt-41","ex/v0.15.0/general.html#git_oid_fmt-42","ex/v0.15.0/general.html#git_oid_fmt-43"]}},"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 the hex sequence and have at least the number of bytes needed for an oid encoded in hex (41 bytes). Only the oid digits are written; a '\\\\0' terminator must be added by 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"},"description":"Format a git_oid into a loose-object path string.","comments":"The resulting string is \"aa/...\", where \"aa\" is the first two\nhex digitis of the oid and \"...\" is the remaining 38 digits.\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 deallocate the string with free()."},"description":"Format a git_oid into a newly allocated c-string.","comments":"","group":"oid"},"git_oid_to_string":{"type":"function","file":"oid.h","line":122,"lineto":122,"args":[{"name":"out","type":"char *","comment":"the buffer into which the oid string is output."},{"name":"n","type":"size_t","comment":"the size of the out buffer."},{"name":"oid","type":"const git_oid *","comment":"the oid structure to format."}],"argline":"char *out, size_t n, const git_oid *oid","sig":"char *::size_t::const git_oid *","return":{"type":"char *","comment":"the out buffer pointer, assuming no input parameter errors, otherwise a pointer to an empty string."},"description":"Format a git_oid into a buffer as a hex format c-string.","comments":"If the buffer is smaller than GIT_OID_HEXSZ+1, then the resulting\noid c-string will be truncated to n-1 characters. If there are\nany input parameter errors (out == NULL, n == 0, oid == NULL),\nthen a pointer to an empty string is returned, so that the return\nvalue can always be printed.\n","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"},"description":"Copy an oid from one structure to another.","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":"<0, 0, >0 if a < b, a == b, a > b."},"description":"Compare two oid structures.","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":"Compare the first 'len' hexadecimal characters (packets of 4 bits)\nof two oid structures.","comments":"","group":"oid"},"git_oid_shorten_new":{"type":"function","file":"oid.h","line":171,"lineto":171,"args":[{"name":"min_length","type":"size_t","comment":"The minimal length for all identifiers, which will be used even if shorter OIDs would still be unique."}],"argline":"size_t min_length","sig":"size_t","return":{"type":"git_oid_shorten *","comment":"a `git_oid_shorten` instance, NULL if OOM"},"description":"Create a new OID shortener.","comments":"The OID shortener is used to process a list of OIDs\nin text form and return the shortest length that would\nuniquely identify all of them.\n\nE.g. look at the result of `git log --abbrev`.\n","group":"oid"},"git_oid_shorten_add":{"type":"function","file":"oid.h","line":197,"lineto":197,"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 added so far to the set; or an error code (<0) if an error occurs."},"description":"Add a new OID to set of shortened OIDs and calculate\nthe minimal length to uniquely identify all the OIDs in\nthe set.","comments":"The OID is expected to be a 40-char hexadecimal string.\nThe OID is owned by the user and will not be modified\nor freed.\n\nFor performance reasons, there is a hard-limit of how many\nOIDs can be added to a single set (around ~22000, assuming\na mostly randomized distribution), which should be enough\nfor any kind of program, and keeps the algorithm fast and\nmemory-efficient.\n\nAttempting to add more than those OIDs will result in a\nGIT_ENOMEM error\n","group":"oid"},"git_oid_shorten_free":{"type":"function","file":"oid.h","line":204,"lineto":204,"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"},"description":"Free an OID shortener instance","comments":"","group":"oid"},"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. Set to NULL if the open failed."}],"argline":"git_odb **out","sig":"git_odb **","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Create a new object database with no backends.","comments":"Before the ODB can be used for read/writing, a custom database\nbackend must be manually added using `git_odb_add_backend()`\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. Set to NULL if the open failed."},{"name":"objects_dir","type":"const char *","comment":"path of the backends' \"objects\" directory."}],"argline":"git_odb **out, const char *objects_dir","sig":"git_odb **::const char *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Create a new object database and automatically add\nthe two default backends:","comments":"- git_odb_backend_loose: read and write loose object files\n\tfrom disk, assuming `objects_dir` as the Objects folder\n\n- git_odb_backend_pack: read objects from packfiles,\n\tassuming `objects_dir` as the Objects folder which\n\tcontains a 'pack/' folder with the corresponding data\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":"Add a custom backend to an existing Object DB","comments":"The backends are checked in relative ordering, based on the\nvalue of the `priority` parameter.\n\nRead <odb_backends.h> for more information.\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":"Add a custom backend to an existing Object DB; this\nbackend will work as an alternate.","comments":"Alternate backends are always checked for objects *after*\nall the main backends have been exhausted.\n\nThe backends are checked in relative ordering, based on the\nvalue of the `priority` parameter.\n\nWriting is disabled on alternate backends.\n\nRead <odb_backends.h> for more information.\n","group":"odb"},"git_odb_close":{"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"},"description":"Close an open object database.","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":"- GIT_SUCCESS if the object was read; - GIT_ENOTFOUND if the object is not in the database."},"description":"Read an object from the database.","comments":"This method queries all available ODB backends\ntrying to read the given OID.\n\nThe returned object is reference counted and\ninternally cached, so it should be closed\nby the user once it's no longer in use.\n","group":"odb","examples":{"general.c":["ex/v0.15.0/general.html#git_odb_read-44"]}},"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":"GIT_SUCCESS if the object was read; GIT_ENOTFOUND if the object is not in the database. GIT_EAMBIGUOUS if the prefix is ambiguous (several objects match the prefix)"},"description":"Read an object from the database, given a prefix\nof its identifier.","comments":"This method queries all available ODB backends\ntrying to match the 'len' first hexadecimal\ncharacters of the 'short_id'.\nThe remaining (GIT_OID_HEXSZ-len)*4 bits of\n'short_id' must be 0s.\n'len' must be at least GIT_OID_MINPREFIXLEN,\nand the prefix must be long enough to identify\na unique object in all the backends; the\nmethod will fail otherwise.\n\nThe returned object is reference counted and\ninternally cached, so it should be closed\nby the user once it's no longer in use.\n","group":"odb"},"git_odb_read_header":{"type":"function","file":"odb.h","line":162,"lineto":162,"args":[{"name":"len_p","type":"size_t *","comment":"pointer where to store the length"},{"name":"type_p","type":"git_otype *","comment":"pointer where to store the type"},{"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":"size_t *len_p, git_otype *type_p, git_odb *db, const git_oid *id","sig":"size_t *::git_otype *::git_odb *::const git_oid *","return":{"type":"int","comment":"- GIT_SUCCESS if the object was read; - GIT_ENOTFOUND if the object is not in the database."},"description":"Read the header of an object from the database, without\nreading its full contents.","comments":"The header includes the length and the type of an object.\n\nNote that most backends do not support reading only the header\nof an object, so the whole object will be read and then the\nheader will be returned.\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 - 0, otherwise"},"description":"Determine if the given object can be found in the object database.","comments":"","group":"odb"},"git_odb_write":{"type":"function","file":"odb.h","line":193,"lineto":193,"args":[{"name":"oid","type":"git_oid *","comment":"pointer to store the OID result of the write"},{"name":"odb","type":"git_odb *","comment":"object database where to store the object"},{"name":"data","type":"const void *","comment":"buffer with the data to storr"},{"name":"len","type":"size_t","comment":"size of the buffer"},{"name":"type","type":"git_otype","comment":"type of the data to store"}],"argline":"git_oid *oid, git_odb *odb, const void *data, size_t len, git_otype type","sig":"git_oid *::git_odb *::const void *::size_t::git_otype","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Write an object directly into the ODB","comments":"This method writes a full object straight into the ODB.\nFor most cases, it is preferred to write objects through a write\nstream, which is both faster and less memory intensive, specially\nfor big objects.\n\nThis method is provided for compatibility with custom backends\nwhich are not able to support streaming writes\n","group":"odb","examples":{"general.c":["ex/v0.15.0/general.html#git_odb_write-45"]}},"git_odb_open_wstream":{"type":"function","file":"odb.h","line":222,"lineto":222,"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 write"},{"name":"size","type":"size_t","comment":"final size of the object that will be written"},{"name":"type","type":"git_otype","comment":"type of the object that will be written"}],"argline":"git_odb_stream **stream, git_odb *db, size_t size, git_otype type","sig":"git_odb_stream **::git_odb *::size_t::git_otype","return":{"type":"int","comment":"0 if the stream was created; error code otherwise"},"description":"Open a stream to write an object into the ODB","comments":"The type and final length of the object must be specified\nwhen opening the stream.\n\nThe returned stream will be of type `GIT_STREAM_WRONLY` and\nwill have the following methods:\n\n\t- stream->write: write `n` bytes into the stream\n\t- stream->finalize_write: close the stream and store the object in\n\t\tthe odb\n\t- stream->free: free the stream\n\nThe streaming write won't be effective until `stream->finalize_write`\nis called and returns without an error\n\nThe stream must always be free'd or will leak memory.\n\n@see git_odb_stream\n","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":"Open a stream to read an object from the ODB","comments":"Note that most backends do *not* support streaming reads\nbecause they store their objects as compressed/delta'ed blobs.\n\nIt's recommended to use `git_odb_read` instead, which is\nassured to work on all backends.\n\nThe returned stream will be of type `GIT_STREAM_RDONLY` and\nwill have the following methods:\n\n\t- stream->read: read `n` bytes from the stream\n\t- stream->free: free the stream\n\nThe stream must always be free'd or will leak memory.\n\n@see git_odb_stream\n","group":"odb"},"git_odb_hash":{"type":"function","file":"odb.h","line":262,"lineto":262,"args":[{"name":"id","type":"git_oid *","comment":"the resulting object-ID."},{"name":"data","type":"const void *","comment":"data to hash"},{"name":"len","type":"size_t","comment":"size of the data"},{"name":"type","type":"git_otype","comment":"of the data to hash"}],"argline":"git_oid *id, const void *data, size_t len, git_otype type","sig":"git_oid *::const void *::size_t::git_otype","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Determine the object-ID (sha1 hash) of a data buffer","comments":"The resulting SHA-1 OID will the itentifier for the data\nbuffer as if the data buffer it were to written to the ODB.\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":"GIT_SUCCESS or an error code"},"description":"Read a file from disk and fill a git_oid with the object id\nthat the file would have if it were written to the Object\nDatabase as an object of the given type. Similar functionality\nto git.git's `git hash-object` without the `-w` flag.","comments":"","group":"odb"},"git_odb_object_close":{"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"},"description":"Close an ODB object","comments":"This method must always be called once a `git_odb_object` is no\nlonger needed, otherwise memory will leak.\n","group":"odb","examples":{"general.c":["ex/v0.15.0/general.html#git_odb_object_close-46"]}},"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":"Return the OID of an ODB object","comments":"This is the OID from which the object was read from\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":"Return the data of an ODB object","comments":"This is the uncompressed, raw data as read from the ODB,\nwithout the leading header.\n\nThis pointer is owned by the object and shall not be free'd.\n","group":"odb","examples":{"general.c":["ex/v0.15.0/general.html#git_odb_object_data-47"]}},"git_odb_object_size":{"type":"function","file":"odb.h","line":319,"lineto":319,"args":[{"name":"object","type":"git_odb_object *","comment":"the object"}],"argline":"git_odb_object *object","sig":"git_odb_object *","return":{"type":"size_t","comment":"the size"},"description":"Return the size of an ODB object","comments":"This is the real size of the `data` buffer, not the\nactual size of the object.\n","group":"odb","examples":{"general.c":["ex/v0.15.0/general.html#git_odb_object_size-48"]}},"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":"Return the type of an ODB object","comments":"","group":"odb","examples":{"general.c":["ex/v0.15.0/general.html#git_odb_object_type-49"]}},"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,\n\t\tgit_repository *repo,\n\t\tconst git_oid *id,\n\t\tgit_otype type","sig":"git_object **::git_repository *::const git_oid *::git_otype","return":{"type":"int","comment":"a reference to the object"},"description":"Lookup a reference to one of the objects in a repostory.","comments":"The generated reference is owned by the repository and\nshould be closed with the `git_object_close` method\ninstead of free'd manually.\n\nThe 'type' parameter must match the type of the object\nin the odb; the method will fail otherwise.\nThe special value 'GIT_OBJ_ANY' may be passed to let\nthe method guess the object's type.\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,\n\t\tgit_repository *repo,\n\t\tconst git_oid *id,\n\t\tunsigned int len,\n\t\tgit_otype type","sig":"git_object **::git_repository *::const git_oid *::unsigned int::git_otype","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Lookup a reference to one of the objects in a repostory,\ngiven a prefix of its identifier (short id).","comments":"The object obtained will be so that its identifier\nmatches the first 'len' hexadecimal characters\n(packets of 4 bits) of the given 'id'.\n'len' must be at least GIT_OID_MINPREFIXLEN, and\nlong enough to identify a unique object matching\nthe prefix; otherwise the method will fail.\n\nThe generated reference is owned by the repository and\nshould be closed with the `git_object_close` method\ninstead of free'd manually.\n\nThe 'type' parameter must match the type of the object\nin the odb; the method will fail otherwise.\nThe special value 'GIT_OBJ_ANY' may be passed to let\nthe method guess the object's type.\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":"Get the id (SHA1) of a repository object","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":"Get the object type of an object","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":"Get the repository that owns this object","comments":"Freeing or calling `git_repository_close` on the\nreturned pointer will invalidate the actual object.\n\nAny other operation may be run on the repository without\naffecting the object.\n","group":"object"},"git_object_close":{"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"},"description":"Close an open object","comments":"This method instructs the library to close an existing\nobject; note that git_objects are owned and cached by the repository\nso the object may or may not be freed after this library call,\ndepending on how agressive is the caching mechanism used\nby the repository.\n\nIMPORTANT:\nIt *is* necessary to call this method when you stop using\nan object. Failure to do so will cause a memory leak.\n","group":"object","examples":{"general.c":["ex/v0.15.0/general.html#git_object_close-50"]}},"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":"Convert an object type to it's string representation.","comments":"The result is a pointer to a string in static memory and\nshould not be free()'ed.\n","group":"object","examples":{"general.c":["ex/v0.15.0/general.html#git_object_type2string-51"]}},"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":"Convert a string object type representation to it's git_otype.","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, false otherwise."},"description":"Determine if the given git_otype is a valid loose object type.","comments":"","group":"object"},"git_object__size":{"type":"function","file":"object.h","line":168,"lineto":168,"args":[{"name":"type","type":"git_otype","comment":"object type to get its size"}],"argline":"git_otype type","sig":"git_otype","return":{"type":"size_t","comment":"size in bytes of the object"},"description":"Get the size in bytes for the structure which\nacts as an in-memory representation of any given\nobject type.","comments":"For all the core types, this would the equivalent\nof calling `sizeof(git_commit)` if the core types\nwere not opaque on the external API.\n","group":"object"},"git_indexer_new":{"type":"function","file":"indexer.h","line":33,"lineto":33,"args":[{"name":"out","type":"git_indexer **","comment":"where to store the indexer instance"},{"name":"packname","type":"const char *","comment":"the absolute filename of the packfile to index"}],"argline":"git_indexer **out, const char *packname","sig":"git_indexer **::const char *","return":{"type":"int"},"description":"Create a new indexer instance","comments":"","group":"indexer"},"git_indexer_run":{"type":"function","file":"indexer.h","line":45,"lineto":45,"args":[{"name":"idx","type":"git_indexer *","comment":"the indexer instance"},{"name":"stats","type":"git_indexer_stats *","comment":"storage for the running state"}],"argline":"git_indexer *idx, git_indexer_stats *stats","sig":"git_indexer *::git_indexer_stats *","return":{"type":"int"},"description":"Iterate over the objects in the packfile and extract the information","comments":"Indexing a packfile can be very expensive so this function is\nexpected to be run in a worker thread and the stats used to provide\nfeedback the user.\n","group":"indexer"},"git_indexer_write":{"type":"function","file":"indexer.h","line":55,"lineto":55,"args":[{"name":"idx","type":"git_indexer *","comment":"the indexer instance"}],"argline":"git_indexer *idx","sig":"git_indexer *","return":{"type":"int"},"description":"Write the index file to disk.","comments":"The file will be stored as pack-$hash.idx in the same directory as\nthe packfile.\n","group":"indexer"},"git_indexer_hash":{"type":"function","file":"indexer.h","line":65,"lineto":65,"args":[{"name":"idx","type":"git_indexer *","comment":"the indexer instance"}],"argline":"git_indexer *idx","sig":"git_indexer *","return":{"type":"const git_oid *"},"description":"Get the packfile's hash","comments":"A packfile's name is derived from the sorted hashing of all object\nnames. This is only correct after the index has been written to disk.\n","group":"indexer"},"git_indexer_free":{"type":"function","file":"indexer.h","line":72,"lineto":76,"args":[{"name":"idx","type":"git_indexer *","comment":"the indexer to free"}],"argline":"git_indexer *idx","sig":"git_indexer *","return":{"type":"void"},"description":"Free the indexer and its resources","comments":"","group":"indexer"},"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":"GIT_SUCCESS or an error code"},"description":"Create a new bare Git index object as a memory representation\nof the Git index file in 'index_path', without a repository\nto back it.","comments":"Since there is no ODB or working directory behind this index,\nany Index methods which rely on these (e.g. index_add) will\nfail with the GIT_EBAREINDEX error code.\n\nIf you need to access the index of an actual repository,\nuse the `git_repository_index` wrapper.\n\nThe index must be freed once it's no longer in use.\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"},"description":"Clear the contents (all the entries) of an index object.\nThis clears the index object in memory; changes must be manually\nwritten to disk for them to take effect.","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"},"description":"Free an existing index object.","comments":"","group":"index","examples":{"showindex.c":["ex/v0.15.0/showindex.html#git_index_free-5"],"general.c":["ex/v0.15.0/general.html#git_index_free-52"]}},"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":"GIT_SUCCESS or an error code"},"description":"Update the contents of an existing index object in memory\nby reading from the hard disk.","comments":"","group":"index","examples":{"showindex.c":["ex/v0.15.0/showindex.html#git_index_read-6"]}},"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":"GIT_SUCCESS or an error code"},"description":"Write an existing index object from memory back to disk\nusing an atomic file lock.","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":"Find the first index of any entries which point to given\npath in the Git index.","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"},"description":"Remove all entries with equal path except last added","comments":"","group":"index"},"git_index_add":{"type":"function","file":"index.h","line":177,"lineto":177,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"},{"name":"path","type":"const char *","comment":"filename to add"},{"name":"stage","type":"int","comment":"stage for the entry"}],"argline":"git_index *index, const char *path, int stage","sig":"git_index *::const char *::int","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Add or update an index entry from a file in disk","comments":"The file `path` must be relative to the repository's\nworking folder and must be readable.\n\nThis method will fail in bare index instances.\n","group":"index"},"git_index_add2":{"type":"function","file":"index.h","line":189,"lineto":189,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"},{"name":"source_entry","type":"const git_index_entry *","comment":"new entry object"}],"argline":"git_index *index, const git_index_entry *source_entry","sig":"git_index *::const git_index_entry *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Add or update an index entry from an in-memory struct","comments":"A full copy (including the 'path' string) of the given\n'source_entry' will be inserted on the index.\n","group":"index"},"git_index_append":{"type":"function","file":"index.h","line":208,"lineto":208,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"},{"name":"path","type":"const char *","comment":"filename to add"},{"name":"stage","type":"int","comment":"stage for the entry"}],"argline":"git_index *index, const char *path, int stage","sig":"git_index *::const char *::int","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Add (append) an index entry from a file in disk","comments":"A new entry will always be inserted into the index;\nif the index already contains an entry for such\npath, the old entry will **not** be replaced.\n\nThe file `path` must be relative to the repository's\nworking folder and must be readable.\n\nThis method will fail in bare index instances.\n","group":"index"},"git_index_append2":{"type":"function","file":"index.h","line":225,"lineto":225,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"},{"name":"source_entry","type":"const git_index_entry *","comment":"new entry object"}],"argline":"git_index *index, const git_index_entry *source_entry","sig":"git_index *::const git_index_entry *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Add (append) an index entry from an in-memory struct","comments":"A new entry will always be inserted into the index;\nif the index already contains an entry for the path\nin the `entry` struct, the old entry will **not** be\nreplaced.\n\nA full copy (including the 'path' string) of the given\n'source_entry' will be inserted on the index.\n","group":"index"},"git_index_remove":{"type":"function","file":"index.h","line":234,"lineto":234,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"},{"name":"position","type":"int","comment":"position of the entry to remove"}],"argline":"git_index *index, int position","sig":"git_index *::int","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Remove an entry from the index","comments":"","group":"index"},"git_index_get":{"type":"function","file":"index.h","line":249,"lineto":249,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"},{"name":"n","type":"unsigned int","comment":"the position of the entry"}],"argline":"git_index *index, unsigned int n","sig":"git_index *::unsigned int","return":{"type":"git_index_entry *","comment":"a pointer to the entry; NULL if out of bounds"},"description":"Get a pointer to one of the entries in the index","comments":"This entry can be modified, and the changes will be written\nback to disk on the next write() call.\n\nThe entry should not be freed by the caller.\n","group":"index","examples":{"showindex.c":["ex/v0.15.0/showindex.html#git_index_get-7"],"general.c":["ex/v0.15.0/general.html#git_index_get-53"]}},"git_index_entrycount":{"type":"function","file":"index.h","line":257,"lineto":257,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"unsigned int","comment":"integer of count of current entries"},"description":"Get the count of entries currently in the index","comments":"","group":"index","examples":{"showindex.c":["ex/v0.15.0/showindex.html#git_index_entrycount-8"],"general.c":["ex/v0.15.0/general.html#git_index_entrycount-54"]}},"git_index_entrycount_unmerged":{"type":"function","file":"index.h","line":265,"lineto":265,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"unsigned int","comment":"integer of count of current unmerged entries"},"description":"Get the count of unmerged entries currently in the index","comments":"","group":"index"},"git_index_get_unmerged_bypath":{"type":"function","file":"index.h","line":277,"lineto":277,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"},{"name":"path","type":"const char *","comment":"path to search"}],"argline":"git_index *index, const char *path","sig":"git_index *::const char *","return":{"type":"const git_index_entry_unmerged *","comment":"the unmerged entry; NULL if not found"},"description":"Get an unmerged entry from the index.","comments":"The returned entry is read-only and should not be modified\nof freed by the caller.\n","group":"index"},"git_index_get_unmerged_byindex":{"type":"function","file":"index.h","line":289,"lineto":289,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"},{"name":"n","type":"unsigned int","comment":"the position of the entry"}],"argline":"git_index *index, unsigned int n","sig":"git_index *::unsigned int","return":{"type":"const git_index_entry_unmerged *","comment":"a pointer to the unmerged entry; NULL if out of bounds"},"description":"Get an unmerged entry from the index.","comments":"The returned entry is read-only and should not be modified\nof freed by the caller.\n","group":"index"},"git_index_entry_stage":{"type":"function","file":"index.h","line":302,"lineto":302,"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"},"description":"Return the stage number from a git index entry","comments":"This entry is calculated from the entrie's flag\nattribute like this:\n\n(entry->flags & GIT_IDXENTRY_STAGEMASK) >> GIT_IDXENTRY_STAGESHIFT\n","group":"index"},"git_lasterror":{"type":"function","file":"errors.h","line":123,"lineto":123,"args":[],"argline":"void","sig":"","return":{"type":"const char *","comment":"a string explaining the error"},"description":"Return a detailed error string with the latest error\nthat occurred in the library.\n@return a string explaining the error","comments":"","group":"errors"},"git_strerror":{"type":"function","file":"errors.h","line":135,"lineto":135,"args":[{"name":"num","type":"int","comment":"The error code to explain"}],"argline":"int num","sig":"int","return":{"type":"const char *","comment":"a string explaining the error code"},"description":"strerror() for the Git library","comments":"Get a string description for a given error code.\nNOTE: This method will be eventually deprecated in favor\nof the new `git_lasterror`.\n","group":"errors"},"git_clearerror":{"type":"function","file":"errors.h","line":140,"lineto":140,"args":[],"argline":"void","sig":"","return":{"type":"void"},"description":"Clear the latest library error","comments":"","group":"errors"},"git_config_find_global":{"type":"function","file":"config.h","line":52,"lineto":52,"args":[{"name":"global_config_path","type":"char *","comment":"Buffer of GIT_PATH_MAX length to store the path"}],"argline":"char *global_config_path","sig":"char *","return":{"type":"int","comment":"GIT_SUCCESS if a global configuration file has been found. Its path will be stored in `buffer`."},"description":"Locate the path to the global configuration file","comments":"The user or global configuration file is usually\nlocated in `$HOME/.gitconfig`.\n\nThis method will try to guess the full path to that\nfile, if the file exists. The returned path\nmay be used on any `git_config` call to load the\nglobal configuration file.\n","group":"config"},"git_config_find_system":{"type":"function","file":"config.h","line":64,"lineto":64,"args":[{"name":"system_config_path","type":"char *","comment":"Buffer of GIT_PATH_MAX length to store the path"}],"argline":"char *system_config_path","sig":"char *","return":{"type":"int","comment":"GIT_SUCCESS if a system configuration file has been found. Its path will be stored in `buffer`."},"description":"Locate the path to the system configuration file","comments":"If /etc/gitconfig doesn't exist, it will look for\n%PROGRAMFILES%\\Git\\etc\\gitconfig.\n","group":"config"},"git_config_open_global":{"type":"function","file":"config.h","line":75,"lineto":75,"args":[{"name":"out","type":"git_config **","comment":"Pointer to store the config instance"}],"argline":"git_config **out","sig":"git_config **","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Open the global configuration file","comments":"Utility wrapper that calls `git_config_find_global`\nand opens the located file, if it exists.\n","group":"config"},"git_config_file__ondisk":{"type":"function","file":"config.h","line":88,"lineto":88,"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"},"description":"Create a configuration file backend for ondisk files","comments":"These are the normal `.gitconfig` files that Core Git\nprocesses. Note that you first have to add this file to a\nconfiguration object before you can query it for configuration\nvariables.\n","group":"config"},"git_config_new":{"type":"function","file":"config.h","line":99,"lineto":99,"args":[{"name":"out","type":"git_config **","comment":"pointer to the new configuration"}],"argline":"git_config **out","sig":"git_config **","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Allocate a new configuration object","comments":"This object is empty, so you have to add a file to it before you\ncan do anything with it.\n","group":"config"},"git_config_add_file":{"type":"function","file":"config.h","line":116,"lineto":116,"args":[{"name":"cfg","type":"git_config *","comment":"the configuration to add the file to"},{"name":"file","type":"git_config_file *","comment":"the configuration file (backend) to add"},{"name":"priority","type":"int","comment":"the priority the backend should have"}],"argline":"git_config *cfg, git_config_file *file, int priority","sig":"git_config *::git_config_file *::int","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Add a generic config file instance to an existing config","comments":"Note that the configuration object will free the file\nautomatically.\n\nFurther queries on this config object will access each\nof the config file instances in order (instances with\na higher priority will be accessed first).\n","group":"config"},"git_config_add_file_ondisk":{"type":"function","file":"config.h","line":137,"lineto":137,"args":[{"name":"cfg","type":"git_config *","comment":"the configuration to add the file to"},{"name":"path","type":"const char *","comment":"path to the configuration file (backend) to add"},{"name":"priority","type":"int","comment":"the priority the backend should have"}],"argline":"git_config *cfg, const char *path, int priority","sig":"git_config *::const char *::int","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Add an on-disk config file instance to an existing config","comments":"The on-disk file pointed at by `path` will be opened and\nparsed; it's expected to be a native Git config file following\nthe default Git config syntax (see man git-config).\n\nNote that the configuration object will free the file\nautomatically.\n\nFurther queries on this config object will access each\nof the config file instances in order (instances with\na higher priority will be accessed first).\n","group":"config"},"git_config_open_ondisk":{"type":"function","file":"config.h","line":152,"lineto":152,"args":[{"name":"cfg","type":"git_config **","comment":"The configuration instance to create"},{"name":"path","type":"const char *","comment":"Path to the on-disk file to open"}],"argline":"git_config **cfg, const char *path","sig":"git_config **::const char *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Create a new config instance containing a single on-disk file","comments":"This method is a simple utility wrapper for the following sequence\nof calls:\n- git_config_new\n- git_config_add_file_ondisk\n","group":"config","examples":{"general.c":["ex/v0.15.0/general.html#git_config_open_ondisk-55"]}},"git_config_free":{"type":"function","file":"config.h","line":159,"lineto":159,"args":[{"name":"cfg","type":"git_config *","comment":"the configuration to free"}],"argline":"git_config *cfg","sig":"git_config *","return":{"type":"void"},"description":"Free the configuration and its associated memory and files","comments":"","group":"config"},"git_config_get_int32":{"type":"function","file":"config.h","line":169,"lineto":169,"args":[{"name":"cfg","type":"git_config *","comment":"where to look for the variable"},{"name":"name","type":"const char *","comment":"the variable's name"},{"name":"out","type":"int32_t *","comment":"pointer to the variable where the value should be stored"}],"argline":"git_config *cfg, const char *name, int32_t *out","sig":"git_config *::const char *::int32_t *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Get the value of an integer config variable.","comments":"","group":"config"},"git_config_get_int64":{"type":"function","file":"config.h","line":179,"lineto":179,"args":[{"name":"cfg","type":"git_config *","comment":"where to look for the variable"},{"name":"name","type":"const char *","comment":"the variable's name"},{"name":"out","type":"int64_t *","comment":"pointer to the variable where the value should be stored"}],"argline":"git_config *cfg, const char *name, int64_t *out","sig":"git_config *::const char *::int64_t *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Get the value of a long integer config variable.","comments":"","group":"config"},"git_config_get_bool":{"type":"function","file":"config.h","line":192,"lineto":192,"args":[{"name":"cfg","type":"git_config *","comment":"where to look for the variable"},{"name":"name","type":"const char *","comment":"the variable's name"},{"name":"out","type":"int *","comment":"pointer to the variable where the value should be stored"}],"argline":"git_config *cfg, const char *name, int *out","sig":"git_config *::const char *::int *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Get the value of a boolean config variable.","comments":"This function uses the usual C convention of 0 being false and\nanything else true.\n","group":"config"},"git_config_get_string":{"type":"function","file":"config.h","line":205,"lineto":205,"args":[{"name":"cfg","type":"git_config *","comment":"where to look for the variable"},{"name":"name","type":"const char *","comment":"the variable's name"},{"name":"out","type":"const char **","comment":"pointer to the variable's value"}],"argline":"git_config *cfg, const char *name, const char **out","sig":"git_config *::const char *::const char **","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Get the value of a string config variable.","comments":"The string is owned by the variable and should not be freed by the\nuser.\n","group":"config","examples":{"general.c":["ex/v0.15.0/general.html#git_config_get_string-56"]}},"git_config_set_int32":{"type":"function","file":"config.h","line":215,"lineto":215,"args":[{"name":"cfg","type":"git_config *","comment":"where to look for the variable"},{"name":"name","type":"const char *","comment":"the variable's name"},{"name":"value","type":"int32_t","comment":"Integer value for the variable"}],"argline":"git_config *cfg, const char *name, int32_t value","sig":"git_config *::const char *::int32_t","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Set the value of an integer config variable.","comments":"","group":"config"},"git_config_set_int64":{"type":"function","file":"config.h","line":225,"lineto":225,"args":[{"name":"cfg","type":"git_config *","comment":"where to look for the variable"},{"name":"name","type":"const char *","comment":"the variable's name"},{"name":"value","type":"int64_t","comment":"Long integer value for the variable"}],"argline":"git_config *cfg, const char *name, int64_t value","sig":"git_config *::const char *::int64_t","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Set the value of a long integer config variable.","comments":"","group":"config"},"git_config_set_bool":{"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":"value","type":"int","comment":"the value to store"}],"argline":"git_config *cfg, const char *name, int value","sig":"git_config *::const char *::int","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Set the value of a boolean config variable.","comments":"","group":"config"},"git_config_set_string":{"type":"function","file":"config.h","line":248,"lineto":248,"args":[{"name":"cfg","type":"git_config *","comment":"where to look for the variable"},{"name":"name","type":"const char *","comment":"the variable's name"},{"name":"value","type":"const char *","comment":"the string to store."}],"argline":"git_config *cfg, const char *name, const char *value","sig":"git_config *::const char *::const char *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Set the value of a string config variable.","comments":"A copy of the string is made and the user is free to use it\nafterwards.\n","group":"config"},"git_config_delete":{"type":"function","file":"config.h","line":256,"lineto":256,"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"},"description":"Delete a config variable","comments":"","group":"config"},"git_config_foreach":{"type":"function","file":"config.h","line":271,"lineto":274,"args":[{"name":"cfg","type":"git_config *","comment":"where to get the variables from"},{"name":"callback","type":"int (*)(const char *var_name, const char *value, void *payload)","comment":"the function to call on each variable"},{"name":"payload","type":"void *","comment":"the data to pass to the callback"}],"argline":"git_config *cfg,\n\tint (*callback)(const char *var_name, const char *value, void *payload),\n\tvoid *payload","sig":"git_config *::int (*)(const char *var_name, const char *value, void *payload)::void *","return":{"type":"int","comment":"GIT_SUCCESS or the return value of the callback which didn't return 0"},"description":"Perform an operation on each config variable.","comments":"The callback receives the normalized name and value of each variable\nin the config backend, and the data pointer passed to this function.\nAs soon as one of the callback functions returns something other than 0,\nthis function returns that value.\n","group":"config"},"git_libgit2_version":{"type":"function","file":"common.h","line":112,"lineto":112,"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"},"description":"Return the version of the libgit2 library\nbeing currently used.","comments":"","group":"libgit2"},"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 an annotated tag it will be peeled back to the commit."}],"argline":"git_commit **commit, git_repository *repo, const git_oid *id","sig":"git_commit **::git_repository *::const git_oid *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Lookup a commit object from a repository.","comments":"","group":"commit","examples":{"general.c":["ex/v0.15.0/general.html#git_commit_lookup-57","ex/v0.15.0/general.html#git_commit_lookup-58","ex/v0.15.0/general.html#git_commit_lookup-59"]}},"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 an annotated tag it will be peeled back to the commit."},{"name":"len","type":"unsigned","comment":"the length of the short identifier"}],"argline":"git_commit **commit, git_repository *repo, const git_oid *id, unsigned len","sig":"git_commit **::git_repository *::const git_oid *::unsigned","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Lookup a commit object from a repository,\ngiven a prefix of its identifier (short id).","comments":"@see git_object_lookup_prefix\n","group":"commit"},"git_commit_close":{"type":"function","file":"commit.h","line":67,"lineto":70,"args":[{"name":"commit","type":"git_commit *","comment":"the commit to close"}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"void"},"description":"Close an open commit","comments":"This is a wrapper around git_object_close()\n\nIMPORTANT:\nIt *is* necessary to call this method when you stop\nusing a commit. Failure to do so will cause a memory leak.\n","group":"commit","examples":{"general.c":["ex/v0.15.0/general.html#git_commit_close-60","ex/v0.15.0/general.html#git_commit_close-61","ex/v0.15.0/general.html#git_commit_close-62","ex/v0.15.0/general.html#git_commit_close-63"]}},"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":"Get the id of a commit.","comments":"","group":"commit","examples":{"general.c":["ex/v0.15.0/general.html#git_commit_id-64"]}},"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":"Get the encoding for the message of a commit,\nas a string representing a standard encoding name.","comments":"The encoding may be NULL if the `encoding` header\nin the commit is missing; in that case UTF-8 is assumed.\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":"Get the full message of a commit.","comments":"","group":"commit","examples":{"general.c":["ex/v0.15.0/general.html#git_commit_message-65","ex/v0.15.0/general.html#git_commit_message-66"]}},"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":"Get the commit time (i.e. committer time) of a commit.","comments":"","group":"commit","examples":{"general.c":["ex/v0.15.0/general.html#git_commit_time-67","ex/v0.15.0/general.html#git_commit_time-68"]}},"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":"Get the commit timezone offset (i.e. committer's preferred timezone) of a commit.","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":"Get the committer of a commit.","comments":"","group":"commit","examples":{"general.c":["ex/v0.15.0/general.html#git_commit_committer-69"]}},"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":"Get the author of a commit.","comments":"","group":"commit","examples":{"general.c":["ex/v0.15.0/general.html#git_commit_author-70","ex/v0.15.0/general.html#git_commit_author-71"]}},"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":"GIT_SUCCESS or an error code"},"description":"Get the tree pointed to by a commit.","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":"Get the id of the tree pointed to by a commit. This differs from\n`git_commit_tree` in that no attempts are made to fetch an object\nfrom the ODB.","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":"Get the number of parents of this commit","comments":"","group":"commit","examples":{"general.c":["ex/v0.15.0/general.html#git_commit_parentcount-72"]}},"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":"GIT_SUCCESS or an error code"},"description":"Get the specified parent of the commit.","comments":"","group":"commit","examples":{"general.c":["ex/v0.15.0/general.html#git_commit_parent-73"]}},"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":"Get the oid of a specified parent for a commit. This is different from\n`git_commit_parent`, which will attempt to load the parent commit from\nthe ODB.","comments":"","group":"commit"},"git_commit_create":{"type":"function","file":"commit.h","line":224,"lineto":234,"args":[{"name":"oid","type":"git_oid *","comment":"Pointer where to store the OID of the newly 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 will be updated to point to this commit. If the reference is not direct, it will be resolved to a direct reference. Use \"HEAD\" to update the HEAD of the current branch and make it point to this commit"},{"name":"author","type":"const git_signature *","comment":"Signature representing the author and the authory time of this commit"},{"name":"committer","type":"const git_signature *","comment":"Signature representing the committer and the commit time of this commit"},{"name":"message_encoding","type":"const char *","comment":"The encoding for the message in the commit, represented with a standard encoding name. E.g. \"UTF-8\". If NULL, no encoding header is written and UTF-8 is assumed."},{"name":"message","type":"const char *","comment":"_encoding The encoding for the message in the commit, represented with a standard encoding name. E.g. \"UTF-8\". If NULL, no encoding header is written and UTF-8 is assumed."},{"name":"tree","type":"const git_tree *","comment":"An instance of a `git_tree` object that will be used as the tree for the commit. This tree object must also be owned by the given `repo`."},{"name":"parent_count","type":"int","comment":"Number of parents for this commit"}],"argline":"git_oid *oid,\n\t\tgit_repository *repo,\n\t\tconst char *update_ref,\n\t\tconst git_signature *author,\n\t\tconst git_signature *committer,\n\t\tconst char *message_encoding,\n\t\tconst char *message,\n\t\tconst git_tree *tree,\n\t\tint parent_count,\n\t\tconst git_commit *parents[]","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":"GIT_SUCCESS or an error code The created commit will be written to the Object Database and the given reference will be updated to point to it"},"description":"Create a new commit in the repository using `git_object`\ninstances as parameters.","comments":"","group":"commit"},"git_commit_create_v":{"type":"function","file":"commit.h","line":249,"lineto":259,"args":[{"name":"oid","type":"git_oid *"},{"name":"repo","type":"git_repository *"},{"name":"update_ref","type":"const char *"},{"name":"author","type":"const git_signature *"},{"name":"committer","type":"const git_signature *"},{"name":"message_encoding","type":"const char *"},{"name":"message","type":"const char *"},{"name":"tree","type":"const git_tree *"},{"name":"parent_count","type":"int"}],"argline":"git_oid *oid,\n\t\tgit_repository *repo,\n\t\tconst char *update_ref,\n\t\tconst git_signature *author,\n\t\tconst git_signature *committer,\n\t\tconst char *message_encoding,\n\t\tconst char *message,\n\t\tconst git_tree *tree,\n\t\tint parent_count,\n\t\t...","sig":"git_oid *::git_repository *::const char *::const git_signature *::const git_signature *::const char *::const char *::const git_tree *::int","return":{"type":"int"},"description":"Create a new commit in the repository using a variable\nargument list.","comments":"The parents for the commit are specified as a variable\nlist of pointers to `const git_commit *`. Note that this\nis a convenience method which may not be safe to export\nfor certain languages or compilers\n\nAll other parameters remain the same\n\n@see git_commit_create","group":"commit","examples":{"general.c":["ex/v0.15.0/general.html#git_commit_create_v-74"]}},"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":"GIT_SUCCESS or an error code"},"description":"Lookup a blob object from a repository.","comments":"","group":"blob","examples":{"general.c":["ex/v0.15.0/general.html#git_blob_lookup-75"]}},"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":"GIT_SUCCESS or an error code"},"description":"Lookup a blob object from a repository,\ngiven a prefix of its identifier (short id).","comments":"@see git_object_lookup_prefix\n","group":"blob"},"git_blob_close":{"type":"function","file":"blob.h","line":65,"lineto":68,"args":[{"name":"blob","type":"git_blob *","comment":"the blob to close"}],"argline":"git_blob *blob","sig":"git_blob *","return":{"type":"void"},"description":"Close an open blob","comments":"This is a wrapper around git_object_close()\n\nIMPORTANT:\nIt *is* necessary to call this method when you stop\nusing a blob. Failure to do so will cause a memory leak.\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":"Get a read-only buffer with the raw content of a blob.","comments":"A pointer to the raw content of a blob is returned;\nthis pointer is owned internally by the object and shall\nnot be free'd. The pointer may be invalidated at a later\ntime.\n","group":"blob","examples":{"general.c":["ex/v0.15.0/general.html#git_blob_rawcontent-76"]}},"git_blob_rawsize":{"type":"function","file":"blob.h","line":91,"lineto":91,"args":[{"name":"blob","type":"git_blob *","comment":"pointer to the blob"}],"argline":"git_blob *blob","sig":"git_blob *","return":{"type":"size_t","comment":"size on bytes"},"description":"Get the size in bytes of the contents of a blob","comments":"","group":"blob","examples":{"general.c":["ex/v0.15.0/general.html#git_blob_rawsize-77","ex/v0.15.0/general.html#git_blob_rawsize-78"]}},"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. this repository cannot be bare"},{"name":"path","type":"const char *","comment":"file from which the blob will be created, relative to the repository's working dir"}],"argline":"git_oid *oid, git_repository *repo, const char *path","sig":"git_oid *::git_repository *::const char *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Read a file from the working folder of a repository\nand write it to the Object Database as a loose blob","comments":"","group":"blob"},"git_blob_create_frombuffer":{"type":"function","file":"blob.h","line":116,"lineto":116,"args":[{"name":"oid","type":"git_oid *","comment":"return the oid of the written blob"},{"name":"repo","type":"git_repository *","comment":"repository where to blob will be written"},{"name":"buffer","type":"const void *","comment":"data to be written into the blob"},{"name":"len","type":"size_t","comment":"length of the data"}],"argline":"git_oid *oid, git_repository *repo, const void *buffer, size_t len","sig":"git_oid *::git_repository *::const void *::size_t","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Write an in-memory buffer to the ODB as a blob","comments":"","group":"blob"}},"globals":{"GIT_SORT_NONE":{"value":"(0)","file":"revwalk.h","line":29,"comments":"Sort the repository contents in no particular ordering;\nthis sorting is arbitrary, implementation-specific\nand subject to change at any time.\nThis is the default sorting for new walkers."},"GIT_SORT_TOPOLOGICAL":{"value":"(1 << 0)","file":"revwalk.h","line":36,"comments":"Sort the repository contents in topological order\n(parents before children); this sorting mode\ncan be combined with time sorting."},"GIT_SORT_TIME":{"value":"(1 << 1)","file":"revwalk.h","line":43,"comments":"Sort the repository contents by commit time;\nthis sorting mode can be combined with\ntopological sorting."},"GIT_SORT_REVERSE":{"value":"(1 << 2)","file":"revwalk.h","line":50,"comments":"Iterate through the repository contents in reverse\norder; this sorting mode can be combined with\nany of the above."},"GIT_OID_RAWSZ":{"value":"20","file":"oid.h","line":23,"comments":"Size (in bytes) of a raw/binary oid"},"GIT_OID_HEXSZ":{"value":"(GIT_OID_RAWSZ * 2)","file":"oid.h","line":26,"comments":"Size (in bytes) of a hex formatted oid"},"GIT_OID_MINPREFIXLEN":{"value":"4","file":"oid.h","line":30,"comments":"Minimum length (in number of hex characters,\ni.e. packets of 4 bits) of an oid prefix"},"GIT_BEGIN_DECL":{"value":"","file":"common.h","line":25,"comments":"Start declarations in C mode"},"GIT_END_DECL":{"value":"","file":"common.h","line":27,"comments":"End declarations in C mode"},"GIT_EXTERN(type)":{"value":"extern __attribute__((visibility(\"default\"))) type","file":"common.h","line":31,"comments":"Declare a public function exported for application use."},"GIT_EXTERN_TLS(type)":{"value":"extern __attribute__((visibility(\"default\"))) GIT_TLS type","file":"common.h","line":42,"comments":"Declare a public TLS symbol exported for application use."},"GIT_INLINE(type)":{"value":"static __inline type","file":"common.h","line":54,"comments":"Declare a function as always inlined."},"GIT_FORMAT_PRINTF(a,b)":{"value":"__attribute__((format (printf, a, b)))","file":"common.h","line":61,"comments":"Declare a function's takes printf style arguments."},"GIT_PATH_LIST_SEPARATOR":{"value":"';'","file":"common.h","line":86,"comments":"The separator used in path list strings (ie like in the PATH\nenvironment variable). A semi-colon \";\" is used on Windows, and\na colon \":\" for all other systems."},"GIT_PATH_MAX":{"value":"4096","file":"common.h","line":95,"comments":"The maximum length of a git valid git path."}},"types":[["GIT_STATUS",{"type":"enum","file":"status.h","line":29,"lineto":34,"block":"GIT_STATUS_WT_NEW\nGIT_STATUS_WT_MODIFIED\nGIT_STATUS_WT_DELETED\nGIT_STATUS_IGNORED","tdef":null,"comments":"Flags for worktree status","used":{"returns":[],"needs":[]}}],["GIT_STATUS_INDEX",{"type":"enum","file":"status.h","line":24,"lineto":26,"block":"GIT_STATUS_INDEX_NEW\nGIT_STATUS_INDEX_MODIFIED\nGIT_STATUS_INDEX_DELETED","tdef":null,"comments":"Flags for index status","used":{"returns":[],"needs":[]}}],["git_blob",{"type":"struct","value":"git_blob","file":"types.h","line":105,"lineto":105,"block":"","tdef":"typedef","comments":"In-memory representation of a blob object.","used":{"returns":[],"needs":["git_blob_close","git_blob_lookup","git_blob_lookup_prefix","git_blob_rawcontent","git_blob_rawsize"]}}],["git_commit",{"type":"struct","value":"git_commit","file":"types.h","line":108,"lineto":108,"block":"","tdef":"typedef","comments":"Parsed representation of a commit object.","used":{"returns":[],"needs":["git_commit_author","git_commit_close","git_commit_committer","git_commit_create","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",{"type":"struct","value":"git_config","file":"types.h","line":123,"lineto":123,"block":"","tdef":"typedef","comments":"Memory representation of a set of config files","used":{"returns":[],"needs":["git_config_add_file","git_config_add_file_ondisk","git_config_delete","git_config_foreach","git_config_free","git_config_get_bool","git_config_get_int32","git_config_get_int64","git_config_get_string","git_config_new","git_config_open_global","git_config_open_ondisk","git_config_set_bool","git_config_set_int32","git_config_set_int64","git_config_set_string","git_remote_get","git_repository_config","git_repository_config_autoload"]}}],["git_config_file",{"type":"struct","value":"git_config_file","file":"config.h","line":26,"lineto":35,"block":"struct git_config *cfg\nint (*open)(struct git_config_file *)\nint (*get)(struct git_config_file *, const char *key, const char **value)\nint (*set)(struct git_config_file *, const char *key, const char *value)\nint (*foreach)(struct git_config_file *, int (*fn)(const char *, const char *, void *), void *data)\nvoid (*free)(struct git_config_file *)","tdef":null,"comments":"Generic backend that implements the interface to\naccess a configuration file","used":{"returns":[],"needs":["git_config_add_file","git_config_file__ondisk"]}}],["git_headarray",{"type":"struct","value":"git_headarray","file":"net.h","line":46,"lineto":49,"block":"unsigned int len\nstruct git_remote_head **heads","tdef":null,"comments":"Array of remote heads","used":{"returns":[],"needs":["git_remote_ls"]}}],["git_index",{"type":"struct","value":"git_index","file":"types.h","line":120,"lineto":120,"block":"","tdef":"typedef","comments":"Memory representation of an index file.","used":{"returns":[],"needs":["git_index_add","git_index_add2","git_index_append","git_index_append2","git_index_clear","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_remove","git_index_uniq","git_index_write","git_repository_index","git_tree_create_fromindex"]}}],["git_index_entry",{"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","comments":"Memory representation of a file entry in the index.","used":{"returns":["git_index_get"],"needs":["git_index_add2","git_index_append2","git_index_entry_stage"]}}],["git_index_entry_unmerged",{"type":"struct","value":"git_index_entry_unmerged","file":"index.h","line":87,"lineto":91,"block":"unsigned int mode[3]\ngit_oid oid[3]\nchar *path","tdef":"typedef","comments":"Representation of an unmerged file entry in the index.","used":{"returns":["git_index_get_unmerged_byindex","git_index_get_unmerged_bypath"],"needs":[]}}],["git_index_time",{"type":"struct","value":"git_index_time","file":"index.h","line":60,"lineto":64,"block":"git_time_t seconds\nunsigned int nanoseconds","tdef":"typedef","comments":"Time used in a git index entry","used":{"returns":[],"needs":[]}}],["git_indexer_stats",{"type":"struct","value":"git_indexer_stats","file":"indexer.h","line":19,"lineto":25,"block":"unsigned int total\nunsigned int processed","tdef":"typedef","comments":"This is passed as the first argument to the callback to allow the\nuser to see the progress.","used":{"returns":[],"needs":["git_indexer_run"]}}],["git_object",{"type":"struct","value":"git_object","file":"types.h","line":96,"lineto":96,"block":"","tdef":"typedef","comments":"Representation of a generic object in a repository","used":{"returns":[],"needs":["git_object_close","git_object_id","git_object_lookup","git_object_lookup_prefix","git_object_owner","git_object_type","git_tag_create","git_tag_create_lightweight","git_tag_target","git_tree_entry_2object"]}}],["git_odb",{"type":"struct","value":"git_odb","file":"types.h","line":78,"lineto":78,"block":"","tdef":"typedef","comments":"An open object database handle.","used":{"returns":["git_repository_database"],"needs":["git_odb_add_alternate","git_odb_add_backend","git_odb_close","git_odb_exists","git_odb_new","git_odb_open","git_odb_open_rstream","git_odb_open_wstream","git_odb_read","git_odb_read_header","git_odb_read_prefix","git_odb_write","git_repository_open3"]}}],["git_odb_backend",{"type":"struct","value":"git_odb_backend","file":"odb_backend.h","line":26,"lineto":75,"block":"git_odb *odb\nint (* read)(void **, size_t *, git_otype *, struct git_odb_backend *, const git_oid *)\nint (* read_prefix)(git_oid *, void **, size_t *, git_otype *, struct git_odb_backend *, const git_oid *, unsigned int)\nint (* read_header)(size_t *, git_otype *, struct git_odb_backend *, const git_oid *)\nint (* write)(git_oid *, struct git_odb_backend *, const void *, size_t, git_otype)\nint (* writestream)(struct git_odb_stream **, struct git_odb_backend *, size_t, git_otype)\nint (* readstream)(struct git_odb_stream **, struct git_odb_backend *, const git_oid *)\nint (* exists)(struct git_odb_backend *, const git_oid *)\nvoid (* free)(struct git_odb_backend *)","tdef":null,"comments":"An instance for a custom backend","used":{"returns":[],"needs":["git_odb_add_alternate","git_odb_add_backend"]}}],["git_odb_object",{"type":"struct","value":"git_odb_object","file":"types.h","line":84,"lineto":84,"block":"","tdef":"typedef","comments":"An object read from the ODB","used":{"returns":[],"needs":["git_odb_object_close","git_odb_object_data","git_odb_object_id","git_odb_object_size","git_odb_object_type","git_odb_read","git_odb_read_prefix"]}}],["git_odb_stream",{"type":"struct","value":"git_odb_stream","file":"odb_backend.h","line":78,"lineto":86,"block":"struct git_odb_backend *backend\nint mode\nint (*read)(struct git_odb_stream *stream, char *buffer, size_t len)\nint (*write)(struct git_odb_stream *stream, const char *buffer, size_t len)\nint (*finalize_write)(git_oid *oid_p, struct git_odb_stream *stream)\nvoid (*free)(struct git_odb_stream *stream)","tdef":null,"comments":"A stream to read/write from a backend","used":{"returns":[],"needs":["git_odb_open_rstream","git_odb_open_wstream"]}}],["git_odb_streammode",{"type":"enum","file":"odb_backend.h","line":89,"lineto":100,"block":"GIT_STREAM_RDONLY\nGIT_STREAM_WRONLY\nGIT_STREAM_RW","tdef":"typedef","comments":"Streaming mode","used":{"returns":[],"needs":[]}}],["git_oid",{"type":"struct","value":"git_oid","file":"oid.h","line":33,"lineto":37,"block":"","tdef":"typedef","comments":"Unique identity of any object (commit, tree, blob, tag).","used":{"returns":["git_commit_id","git_commit_parent_oid","git_commit_tree_oid","git_indexer_hash","git_object_id","git_odb_object_id","git_reference_oid","git_reflog_entry_oidnew","git_reflog_entry_oidold","git_tag_id","git_tag_target_oid","git_tree_entry_id","git_tree_id"],"needs":["git_blob_create_frombuffer","git_blob_create_fromfile","git_blob_lookup","git_blob_lookup_prefix","git_commit_create","git_commit_create_v","git_commit_lookup","git_commit_lookup_prefix","git_object_lookup","git_object_lookup_prefix","git_odb_exists","git_odb_hash","git_odb_hashfile","git_odb_open_rstream","git_odb_read","git_odb_read_header","git_odb_read_prefix","git_odb_write","git_oid_allocfmt","git_oid_cmp","git_oid_cpy","git_oid_fmt","git_oid_fromraw","git_oid_fromstr","git_oid_fromstrn","git_oid_ncmp","git_oid_pathfmt","git_oid_to_string","git_reference_create_oid","git_reference_set_oid","git_reflog_write","git_revwalk_hide","git_revwalk_next","git_revwalk_push","git_tag_create","git_tag_create_frombuffer","git_tag_create_lightweight","git_tag_lookup","git_tag_lookup_prefix","git_tree_create_fromindex","git_tree_lookup","git_tree_lookup_prefix","git_treebuilder_insert","git_treebuilder_write"]}}],["git_oid_shorten",{"type":"struct","value":"git_oid_shorten","file":"oid.h","line":155,"lineto":155,"block":"","tdef":"typedef","comments":"OID Shortener object","used":{"returns":["git_oid_shorten_new"],"needs":["git_oid_shorten_add","git_oid_shorten_free"]}}],["git_otype",{"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","comments":"Basic type (loose or packed) of any Git object.","used":{"returns":[],"needs":["git_object__size","git_object_lookup","git_object_lookup_prefix","git_object_type2string","git_object_typeisloose","git_odb_hash","git_odb_hashfile","git_odb_open_wstream","git_odb_read_header","git_odb_write"]}}],["git_reference",{"type":"struct","value":"git_reference","file":"types.h","line":148,"lineto":148,"block":"","tdef":"typedef","comments":"In-memory representation of a reference.","used":{"returns":[],"needs":["git_reference_create_oid","git_reference_create_symbolic","git_reference_delete","git_reference_lookup","git_reference_name","git_reference_oid","git_reference_owner","git_reference_rename","git_reference_resolve","git_reference_set_oid","git_reference_set_target","git_reference_target","git_reference_type","git_reflog_read","git_reflog_write","git_repository_head"]}}],["git_reflog",{"type":"struct","value":"git_reflog","file":"types.h","line":132,"lineto":132,"block":"","tdef":"typedef","comments":"Representation of a reference log","used":{"returns":[],"needs":["git_reflog_entry_byindex","git_reflog_entrycount","git_reflog_free","git_reflog_read"]}}],["git_reflog_entry",{"type":"struct","value":"git_reflog_entry","file":"types.h","line":129,"lineto":129,"block":"","tdef":"typedef","comments":"Representation of a reference log entry","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",{"type":"struct","value":"git_remote_head","file":"net.h","line":36,"lineto":41,"block":"int local:1\ngit_oid oid\ngit_oid loid\nchar *name","tdef":null,"comments":"Remote head description, given out on `ls` calls.","used":{"returns":[],"needs":[]}}],["git_repository",{"type":"struct","value":"git_repository","file":"types.h","line":93,"lineto":93,"block":"","tdef":"typedef","comments":"Representation of an existing git repository,\nincluding all its object contents","used":{"returns":["git_object_owner","git_reference_owner","git_revwalk_repository"],"needs":["git_blob_create_frombuffer","git_blob_create_fromfile","git_blob_lookup","git_blob_lookup_prefix","git_commit_create","git_commit_create_v","git_commit_lookup","git_commit_lookup_prefix","git_object_lookup","git_object_lookup_prefix","git_reference_create_oid","git_reference_create_symbolic","git_reference_foreach","git_reference_listall","git_reference_lookup","git_reference_packall","git_remote_new","git_repository_config","git_repository_config_autoload","git_repository_database","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_open","git_repository_open2","git_repository_open3","git_repository_path","git_revwalk_new","git_status_file","git_status_foreach","git_tag_create","git_tag_create_frombuffer","git_tag_create_lightweight","git_tag_delete","git_tag_list","git_tag_list_match","git_tag_lookup","git_tag_lookup_prefix","git_tree_entry_2object","git_tree_lookup","git_tree_lookup_prefix","git_treebuilder_write"]}}],["git_repository_pathid",{"type":"enum","file":"repository.h","line":252,"lineto":257,"block":"GIT_REPO_PATH\nGIT_REPO_PATH_INDEX\nGIT_REPO_PATH_ODB\nGIT_REPO_PATH_WORKDIR","tdef":"typedef","comments":"Internal path identifiers for a repository","used":{"returns":[],"needs":["git_repository_path"]}}],["git_revwalk",{"type":"struct","value":"git_revwalk","file":"types.h","line":99,"lineto":99,"block":"","tdef":"typedef","comments":"Representation of an in-progress walk through the commits in a repo","used":{"returns":[],"needs":["git_revwalk_free","git_revwalk_hide","git_revwalk_new","git_revwalk_next","git_revwalk_push","git_revwalk_repository","git_revwalk_reset","git_revwalk_sorting"]}}],["git_rtype",{"type":"enum","file":"types.h","line":151,"lineto":162,"block":"GIT_REF_INVALID\nGIT_REF_OID\nGIT_REF_SYMBOLIC\nGIT_REF_PACKED\nGIT_REF_HAS_PEEL\nGIT_REF_LISTALL","tdef":"typedef","comments":"Basic type of any Git reference.","used":{"returns":[],"needs":[]}}],["git_signature",{"type":"struct","value":"git_signature","file":"types.h","line":141,"lineto":145,"block":"char *name\nchar *email\ngit_time when","tdef":"typedef","comments":"An action signature (e.g. for committers, taggers, etc)","used":{"returns":["git_commit_author","git_commit_committer","git_reflog_entry_committer","git_signature_dup","git_tag_tagger"],"needs":["git_commit_create","git_commit_create_v","git_reflog_write","git_signature_dup","git_signature_free","git_signature_new","git_signature_now","git_tag_create"]}}],["git_tag",{"type":"struct","value":"git_tag","file":"types.h","line":102,"lineto":102,"block":"","tdef":"typedef","comments":"Parsed representation of a tag object.","used":{"returns":[],"needs":["git_tag_close","git_tag_id","git_tag_lookup","git_tag_lookup_prefix","git_tag_message","git_tag_name","git_tag_tagger","git_tag_target","git_tag_target_oid","git_tag_type"]}}],["git_time",{"type":"struct","value":"git_time","file":"types.h","line":135,"lineto":138,"block":"git_time_t time\nint offset","tdef":"typedef","comments":"Time in a signature","used":{"returns":[],"needs":[]}}],["git_transport",{"type":"struct","value":"git_transport","file":"types.h","line":165,"lineto":170,"block":"","tdef":"typedef","comments":"A transport to use","used":{"returns":[],"needs":["git_transport_new"]}}],["git_tree",{"type":"struct","value":"git_tree","file":"types.h","line":114,"lineto":114,"block":"","tdef":"typedef","comments":"Representation of a tree object.","used":{"returns":[],"needs":["git_commit_create","git_commit_create_v","git_commit_tree","git_tree_close","git_tree_entry_byindex","git_tree_entry_byname","git_tree_entrycount","git_tree_id","git_tree_lookup","git_tree_lookup_prefix","git_treebuilder_create"]}}],["git_tree_entry",{"type":"struct","value":"git_tree_entry","file":"types.h","line":111,"lineto":111,"block":"","tdef":"typedef","comments":"Representation of each one of the entries in a tree object.","used":{"returns":["git_tree_entry_byindex","git_tree_entry_byname","git_treebuilder_get"],"needs":["git_tree_entry_2object","git_tree_entry_attributes","git_tree_entry_id","git_tree_entry_name","git_tree_entry_type","git_treebuilder_filter","git_treebuilder_insert"]}}],["git_treebuilder",{"type":"struct","value":"git_treebuilder","file":"types.h","line":117,"lineto":117,"block":"","tdef":"typedef","comments":"Constructor for in-memory trees","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"]}}]],"prefix":"include/git2","groups":[["blob",["git_blob_close","git_blob_create_frombuffer","git_blob_create_fromfile","git_blob_lookup","git_blob_lookup_prefix","git_blob_rawcontent","git_blob_rawsize"]],["commit",["git_commit_author","git_commit_close","git_commit_committer","git_commit_create","git_commit_create_v","git_commit_id","git_commit_lookup","git_commit_lookup_prefix","git_commit_message","git_commit_message_encoding","git_commit_parent","git_commit_parent_oid","git_commit_parentcount","git_commit_time","git_commit_time_offset","git_commit_tree","git_commit_tree_oid"]],["config",["git_config_add_file","git_config_add_file_ondisk","git_config_delete","git_config_file__ondisk","git_config_find_global","git_config_find_system","git_config_foreach","git_config_free","git_config_get_bool","git_config_get_int32","git_config_get_int64","git_config_get_string","git_config_new","git_config_open_global","git_config_open_ondisk","git_config_set_bool","git_config_set_int32","git_config_set_int64","git_config_set_string"]],["errors",["git_clearerror","git_lasterror","git_strerror"]],["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_remove","git_index_uniq","git_index_write"]],["indexer",["git_indexer_free","git_indexer_hash","git_indexer_new","git_indexer_run","git_indexer_write"]],["libgit2",["git_libgit2_version"]],["object",["git_object__size","git_object_close","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_close","git_odb_exists","git_odb_hash","git_odb_hashfile","git_odb_new","git_odb_object_close","git_odb_object_data","git_odb_object_id","git_odb_object_size","git_odb_object_type","git_odb_open","git_odb_open_rstream","git_odb_open_wstream","git_odb_read","git_odb_read_header","git_odb_read_prefix","git_odb_write"]],["oid",["git_oid_allocfmt","git_oid_cmp","git_oid_cpy","git_oid_fmt","git_oid_fromraw","git_oid_fromstr","git_oid_fromstrn","git_oid_ncmp","git_oid_pathfmt","git_oid_shorten_add","git_oid_shorten_free","git_oid_shorten_new","git_oid_to_string"]],["reference",["git_reference_create_oid","git_reference_create_symbolic","git_reference_delete","git_reference_foreach","git_reference_listall","git_reference_lookup","git_reference_name","git_reference_oid","git_reference_owner","git_reference_packall","git_reference_rename","git_reference_resolve","git_reference_set_oid","git_reference_set_target","git_reference_target","git_reference_type"]],["reflog",["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_write"]],["refspec",["git_refspec_dst","git_refspec_src","git_refspec_src_match","git_refspec_transform"]],["remote",["git_remote_connect","git_remote_download","git_remote_fetchspec","git_remote_free","git_remote_get","git_remote_ls","git_remote_name","git_remote_negotiate","git_remote_new","git_remote_pushspec","git_remote_update_tips","git_remote_url"]],["repository",["git_repository_config","git_repository_config_autoload","git_repository_database","git_repository_discover","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_open","git_repository_open2","git_repository_open3","git_repository_path"]],["revwalk",["git_revwalk_free","git_revwalk_hide","git_revwalk_new","git_revwalk_next","git_revwalk_push","git_revwalk_repository","git_revwalk_reset","git_revwalk_sorting"]],["signature",["git_signature_dup","git_signature_free","git_signature_new","git_signature_now"]],["status",["git_status_file","git_status_foreach"]],["tag",["git_tag_close","git_tag_create","git_tag_create_frombuffer","git_tag_create_lightweight","git_tag_delete","git_tag_id","git_tag_list","git_tag_list_match","git_tag_lookup","git_tag_lookup_prefix","git_tag_message","git_tag_name","git_tag_tagger","git_tag_target","git_tag_target_oid","git_tag_type"]],["transport",["git_transport_new"]],["tree",["git_tree_close","git_tree_create_fromindex","git_tree_entry_2object","git_tree_entry_attributes","git_tree_entry_byindex","git_tree_entry_byname","git_tree_entry_id","git_tree_entry_name","git_tree_entry_type","git_tree_entrycount","git_tree_id","git_tree_lookup","git_tree_lookup_prefix"]],["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"]],["zlib",["deflateBound"]]],"examples":[["showindex.c","ex/v0.15.0/showindex.html"],["general.c","ex/v0.15.0/general.html"]]} \ No newline at end of file
diff --git a/v0.16.0.json b/v0.16.0.json
index 9b37ff415..fd1b54d83 100644
--- a/v0.16.0.json
+++ b/v0.16.0.json
@@ -1 +1 @@
-{"files":[{"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":{"brief":"Git reflog management routines","defgroup":"git_reflog Git reflog management routines","ingroup":"Git","comments":"\n"},"lines":128},{"file":"branch.h","functions":[],"meta":{},"lines":15},{"file":"windows.h","functions":["gitwin_set_codepage","gitwin_get_codepage","gitwin_set_utf8"],"meta":{"brief":"Windows-specific functions","ingroup":"Git","comments":"\n"},"lines":58},{"file":"indexer.h","functions":["git_indexer_new","git_indexer_run","git_indexer_write","git_indexer_hash","git_indexer_free"],"meta":{},"lines":76},{"file":"common.h","functions":["git_libgit2_version"],"meta":{"brief":"Git common platform definitions","defgroup":"git_common Git common platform definitions","ingroup":"Git","comments":"\n"},"lines":103},{"file":"refspec.h","functions":["git_refspec_src","git_refspec_dst","git_refspec_src_match","git_refspec_transform"],"meta":{"brief":"Git refspec attributes","defgroup":"git_refspec Git refspec attributes","ingroup":"Git","comments":"\n"},"lines":60},{"file":"signature.h","functions":["git_signature_new","git_signature_now","git_signature_dup","git_signature_free"],"meta":{"brief":"Git signature creation","defgroup":"git_signature Git signature creation","ingroup":"Git","comments":"\n"},"lines":65},{"file":"version.h","functions":[],"meta":{},"lines":15},{"file":"status.h","functions":["git_status_foreach","git_status_file","git_status_should_ignore"],"meta":{"brief":"Git file status routines","defgroup":"git_status Git file status routines","ingroup":"Git","comments":"\n"},"lines":79},{"file":"config.h","functions":["git_config_find_global","git_config_find_system","git_config_open_global","git_config_file__ondisk","git_config_new","git_config_add_file","git_config_add_file_ondisk","git_config_open_ondisk","git_config_free","git_config_get_int32","git_config_get_int64","git_config_get_bool","git_config_get_string","git_config_set_int32","git_config_set_int64","git_config_set_bool","git_config_set_string","git_config_delete","git_config_foreach"],"meta":{"brief":"Git config management routines","defgroup":"git_config Git config management routines","ingroup":"Git","comments":"\n"},"lines":279},{"file":"net.h","functions":[],"meta":{"brief":"Git networking declarations","ingroup":"Git","comments":"\n"},"lines":51},{"file":"blob.h","functions":["git_blob_lookup","git_blob_lookup_prefix","git_blob_free","git_blob_rawcontent","git_blob_rawsize","git_blob_create_fromfile","git_blob_create_frombuffer"],"meta":{"brief":"Git blob load and write routines","defgroup":"git_blob Git blob load and write routines","ingroup":"Git","comments":"\n"},"lines":120},{"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":{"brief":"Git index parsing and manipulation routines","defgroup":"git_index Git index parsing and manipulation routines","ingroup":"Git","comments":"\n"},"lines":321},{"file":"repository.h","functions":["git_repository_open","git_repository_discover","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":{"brief":"Git repository management routines","defgroup":"git_repository Git repository management routines","ingroup":"Git","comments":"\n"},"lines":290},{"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"],"meta":{"brief":"Git tag parsing routines","defgroup":"git_tag Git tag management","ingroup":"Git","comments":"\n"},"lines":279},{"file":"odb_backend.h","functions":[],"meta":{"brief":"Git custom backend functions","defgroup":"git_backend Git custom backend API","ingroup":"Git","comments":"\n"},"lines":100},{"file":"stdint.h","functions":[],"meta":{},"lines":247},{"file":"inttypes.h","functions":[],"meta":{},"lines":305},{"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":{"brief":"Git commit parsing, formatting routines","defgroup":"git_commit Git commit parsing, formatting routines","ingroup":"Git","comments":"\n"},"lines":263},{"file":"types.h","functions":[],"meta":{"brief":"libgit2 base & compatibility types","ingroup":"Git","comments":"\n"},"lines":169},{"file":"remote.h","functions":["git_remote_new","git_remote_load","git_remote_name","git_remote_url","git_remote_fetchspec","git_remote_pushspec","git_remote_connect","git_remote_ls","git_remote_download","git_remote_connected","git_remote_disconnect","git_remote_free","git_remote_update_tips","git_remote_valid_url"],"meta":{"brief":"Git remote management functions","defgroup":"git_remote remote management functions","ingroup":"Git","comments":"\n"},"lines":176},{"file":"zlib.h","functions":["deflateBound"],"meta":{"brief":"Git data compression routines","defgroup":"git_zlib Git data compression routines","ingroup":"Git","comments":"\n"},"lines":40},{"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_2object","git_tree_create_fromindex","git_treebuilder_create","git_treebuilder_clear","git_treebuilder_free","git_treebuilder_get","git_treebuilder_insert","git_treebuilder_remove","git_treebuilder_filter","git_treebuilder_write","git_tree_get_subtree","git_tree_walk","git_tree_diff"],"meta":{"brief":"Git tree parsing, loading routines","defgroup":"git_tree Git tree parsing, loading routines","ingroup":"Git","comments":"Tree traversal modes\n"},"lines":353},{"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_read_header","git_odb_exists","git_odb_write","git_odb_open_wstream","git_odb_open_rstream","git_odb_hash","git_odb_hashfile","git_odb_object_free","git_odb_object_id","git_odb_object_data","git_odb_object_size","git_odb_object_type"],"meta":{"brief":"Git object database routines","defgroup":"git_odb Git object database routines","ingroup":"Git","comments":"\n"},"lines":331},{"file":"threads.h","functions":["git_threads_init","git_threads_shutdown"],"meta":{"brief":"Library level thread functions","defgroup":"git_thread Threading functions","ingroup":"Git","comments":"\n"},"lines":47},{"file":"oid.h","functions":["git_oid_fromstr","git_oid_fromstrn","git_oid_fromraw","git_oid_fmt","git_oid_pathfmt","git_oid_allocfmt","git_oid_to_string","git_oid_cpy","git_oid_cmp","git_oid_ncmp","git_oid_streq","git_oid_shorten_new","git_oid_shorten_add","git_oid_shorten_free"],"meta":{"brief":"Git object id routines","defgroup":"git_oid Git object id routines","ingroup":"Git","comments":"\n"},"lines":218},{"file":"attr.h","functions":["git_attr_get","git_attr_get_many","git_attr_foreach","git_attr_cache_flush","git_attr_add_macro"],"meta":{"brief":"Git attribute management routines","defgroup":"git_attr Git attribute management routines","ingroup":"Git","comments":"\n"},"lines":79},{"file":"errors.h","functions":["git_lasterror","git_strerror","git_clearerror"],"meta":{"brief":"Git error handling routines and variables","ingroup":"Git","comments":"\n"},"lines":144},{"file":"revwalk.h","functions":["git_revwalk_new","git_revwalk_reset","git_revwalk_push","git_revwalk_hide","git_revwalk_next","git_revwalk_sorting","git_revwalk_free","git_revwalk_repository"],"meta":{"brief":"Git revision traversal routines","defgroup":"git_revwalk Git revision traversal routines","ingroup":"Git","comments":"\n"},"lines":169},{"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","git_object__size"],"meta":{"brief":"Git revision object management routines","defgroup":"git_object Git revision object management routines","ingroup":"Git","comments":"\n"},"lines":173},{"file":"refs.h","functions":["git_reference_lookup","git_reference_create_symbolic","git_reference_create_oid","git_reference_oid","git_reference_target","git_reference_type","git_reference_name","git_reference_resolve","git_reference_owner","git_reference_set_target","git_reference_set_oid","git_reference_rename","git_reference_delete","git_reference_packall","git_reference_listall","git_reference_foreach","git_reference_is_packed","git_reference_reload","git_reference_free"],"meta":{"brief":"Git reference management routines","defgroup":"git_reference Git reference management routines","ingroup":"Git","comments":"\n"},"lines":309}],"functions":{"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":"log pointer to reflog"}],"argline":"git_reflog **reflog, git_reference *ref","sig":"git_reflog **::git_reference *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Read the reflog for the given reference","comments":"The reflog must be freed manually by using\ngit_reflog_free().\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":"GIT_SUCCESS or an error code"},"description":"Write a new reflog for the given reference","comments":"If there is no reflog file for the given\nreference yet, it will be created.\n\n`oid_old` may be NULL in case it's a new reference.\n\n`msg` is optional and can be NULL.\n","group":"reflog"},"git_reflog_rename":{"type":"function","file":"reflog.h","line":60,"lineto":60,"args":[{"name":"ref","type":"git_reference *","comment":"the reference"},{"name":"new_name","type":"const char *","comment":"the new name of the reference"}],"argline":"git_reference *ref, const char *new_name","sig":"git_reference *::const char *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Rename the reflog for the given reference","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":"GIT_SUCCESS or an error code"},"description":"Delete the reflog for the given reference","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":"Get the number of log entries in a reflog","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":"Lookup an entry by its index","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":"Get the old oid","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":"Get the new oid","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":"Get the committer of this entry","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":"Get the log msg","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"},"description":"Free the reflog","comments":"","group":"reflog"},"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"},"description":"Set the active codepage for Windows syscalls","comments":"All syscalls performed by the library will assume\nthis codepage when converting paths and strings\nto use by the Windows kernel.\n\nThe default value of UTF-8 will work automatically\nwith most Git repositories created on Unix systems.\n\nThis settings needs only be changed when working\nwith repositories that contain paths in specific,\nnon-UTF codepages.\n\nA full list of all available codepage identifiers may\nbe found at:\n\nhttp://msdn.microsoft.com/en-us/library/windows/desktop/dd317756(v=vs.85).aspx\n","group":"gitwin"},"gitwin_get_codepage":{"type":"function","file":"windows.h","line":48,"lineto":48,"args":[],"argline":"void","sig":"","return":{"type":"unsigned int","comment":"numeric codepage identifier"},"description":"Return the active codepage for Windows syscalls","comments":"","group":"gitwin"},"gitwin_set_utf8":{"type":"function","file":"windows.h","line":54,"lineto":54,"args":[],"argline":"void","sig":"","return":{"type":"void"},"description":"Set the active Windows codepage to UTF-8 (this is\nthe default value)","comments":"","group":"gitwin"},"git_indexer_new":{"type":"function","file":"indexer.h","line":33,"lineto":33,"args":[{"name":"out","type":"git_indexer **","comment":"where to store the indexer instance"},{"name":"packname","type":"const char *","comment":"the absolute filename of the packfile to index"}],"argline":"git_indexer **out, const char *packname","sig":"git_indexer **::const char *","return":{"type":"int"},"description":"Create a new indexer instance","comments":"","group":"indexer","examples":{"network/index-pack.c":["ex/v0.16.0/index-pack.html#git_indexer_new-1"],"network/fetch.c":["ex/v0.16.0/fetch.html#git_indexer_new-1"]}},"git_indexer_run":{"type":"function","file":"indexer.h","line":45,"lineto":45,"args":[{"name":"idx","type":"git_indexer *","comment":"the indexer instance"},{"name":"stats","type":"git_indexer_stats *","comment":"storage for the running state"}],"argline":"git_indexer *idx, git_indexer_stats *stats","sig":"git_indexer *::git_indexer_stats *","return":{"type":"int"},"description":"Iterate over the objects in the packfile and extract the information","comments":"Indexing a packfile can be very expensive so this function is\nexpected to be run in a worker thread and the stats used to provide\nfeedback the user.\n","group":"indexer","examples":{"network/index-pack.c":["ex/v0.16.0/index-pack.html#git_indexer_run-2"],"network/fetch.c":["ex/v0.16.0/fetch.html#git_indexer_run-2"]}},"git_indexer_write":{"type":"function","file":"indexer.h","line":55,"lineto":55,"args":[{"name":"idx","type":"git_indexer *","comment":"the indexer instance"}],"argline":"git_indexer *idx","sig":"git_indexer *","return":{"type":"int"},"description":"Write the index file to disk.","comments":"The file will be stored as pack-$hash.idx in the same directory as\nthe packfile.\n","group":"indexer","examples":{"network/index-pack.c":["ex/v0.16.0/index-pack.html#git_indexer_write-3"],"network/fetch.c":["ex/v0.16.0/fetch.html#git_indexer_write-3"]}},"git_indexer_hash":{"type":"function","file":"indexer.h","line":65,"lineto":65,"args":[{"name":"idx","type":"git_indexer *","comment":"the indexer instance"}],"argline":"git_indexer *idx","sig":"git_indexer *","return":{"type":"const git_oid *"},"description":"Get the packfile's hash","comments":"A packfile's name is derived from the sorted hashing of all object\nnames. This is only correct after the index has been written to disk.\n","group":"indexer","examples":{"network/index-pack.c":["ex/v0.16.0/index-pack.html#git_indexer_hash-4"],"network/fetch.c":["ex/v0.16.0/fetch.html#git_indexer_hash-4","ex/v0.16.0/fetch.html#git_indexer_hash-5"]}},"git_indexer_free":{"type":"function","file":"indexer.h","line":72,"lineto":76,"args":[{"name":"idx","type":"git_indexer *","comment":"the indexer to free"}],"argline":"git_indexer *idx","sig":"git_indexer *","return":{"type":"void"},"description":"Free the indexer and its resources","comments":"","group":"indexer","examples":{"network/index-pack.c":["ex/v0.16.0/index-pack.html#git_indexer_free-5"],"network/fetch.c":["ex/v0.16.0/fetch.html#git_indexer_free-6"]}},"git_libgit2_version":{"type":"function","file":"common.h","line":99,"lineto":99,"args":[{"name":"major","type":"int *","comment":"Store the major version number"},{"name":"minor","type":"int *","comment":"Store the minor version number"},{"name":"rev","type":"int *","comment":"Store the revision (patch) number"}],"argline":"int *major, int *minor, int *rev","sig":"int *::int *::int *","return":{"type":"void"},"description":"Return the version of the libgit2 library\nbeing currently used.","comments":"","group":"libgit2"},"git_refspec_src":{"type":"function","file":"refspec.h","line":27,"lineto":27,"args":[{"name":"refspec","type":"const git_refspec *","comment":"the refspec"}],"argline":"const git_refspec *refspec","sig":"const git_refspec *","return":{"type":"const char *","comment":"the refspec's source specifier"},"description":"Get the source specifier","comments":"","group":"refspec"},"git_refspec_dst":{"type":"function","file":"refspec.h","line":35,"lineto":35,"args":[{"name":"refspec","type":"const git_refspec *","comment":"the refspec"}],"argline":"const git_refspec *refspec","sig":"const git_refspec *","return":{"type":"const char *","comment":"the refspec's destination specifier"},"description":"Get the destination specifier","comments":"","group":"refspec"},"git_refspec_src_match":{"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":"GIT_SUCCESS on successful match; GIT_ENOMACH on match failure or an error code on other failure"},"description":"Match a refspec's source descriptor with a reference name","comments":"","group":"refspec"},"git_refspec_transform":{"type":"function","file":"refspec.h","line":56,"lineto":60,"args":[{"name":"out","type":"char *","comment":"where to store the target name"},{"name":"outlen","type":"size_t","comment":"the size ouf the `out` buffer"},{"name":"spec","type":"const git_refspec *","comment":"the refspec"},{"name":"name","type":"const char *","comment":"the name of the reference to transform"}],"argline":"char *out, size_t outlen, const git_refspec *spec, const char *name","sig":"char *::size_t::const git_refspec *::const char *","return":{"type":"int","comment":"GIT_SUCCESS, GIT_ESHORTBUFFER or another error"},"description":"Transform a reference to its target following the refspec's rules","comments":"","group":"refspec"},"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":"GIT_SUCCESS or an error code"},"description":"Create a new action signature. The signature must be freed\nmanually or using git_signature_free","comments":"","group":"signature","examples":{"general.c":["ex/v0.16.0/general.html#git_signature_new-1","ex/v0.16.0/general.html#git_signature_new-2"]}},"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":"GIT_SUCCESS or an error code"},"description":"Create a new action signature with a timestamp of 'now'. The\nsignature must be freed manually or using git_signature_free","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":"Create a copy of an existing signature.","comments":"All internal strings are also duplicated.","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"},"description":"Free an existing signature","comments":"","group":"signature"},"git_status_foreach":{"type":"function","file":"status.h","line":47,"lineto":47,"args":[{"name":"repo","type":"git_repository *","comment":"a repository object"},{"name":"callback","type":"int (*)(const char *, unsigned int, void *)","comment":"the function to call on each file"},{"name":"payload","type":"void *"}],"argline":"git_repository *repo, int (*callback)(const char *, unsigned int, void *), void *payload","sig":"git_repository *::int (*)(const char *, unsigned int, void *)::void *","return":{"type":"int","comment":"GIT_SUCCESS or the return value of the callback which did not return GIT_SUCCESS"},"description":"Gather file statuses and run a callback for each one.","comments":"The callback is passed the path of the file, the status and the data pointer\npassed to this function. If the callback returns something other than\nGIT_SUCCESS, this function will return that value.\n","group":"status"},"git_status_file":{"type":"function","file":"status.h","line":59,"lineto":59,"args":[{"name":"status_flags","type":"unsigned int *","comment":"the status value"},{"name":"repo","type":"git_repository *","comment":"a repository object"},{"name":"path","type":"const char *","comment":"the file to retrieve status for, rooted at the repo's workdir"}],"argline":"unsigned int *status_flags, git_repository *repo, const char *path","sig":"unsigned int *::git_repository *::const char *","return":{"type":"int","comment":"GIT_EINVALIDPATH when `path` points at a folder, GIT_ENOTFOUND when the file doesn't exist in any of HEAD, the index or the worktree, GIT_SUCCESS otherwise"},"description":"Get file status for a single file","comments":"","group":"status"},"git_status_should_ignore":{"type":"function","file":"status.h","line":75,"lineto":75,"args":[{"name":"repo","type":"git_repository *","comment":"a repository object"},{"name":"path","type":"const char *","comment":"the file to check ignores for, rooted at the repo's workdir"},{"name":"ignored","type":"int *","comment":"boolean returning 0 if the file is not ignored, 1 if it is"}],"argline":"git_repository *repo, const char *path, int *ignored","sig":"git_repository *::const char *::int *","return":{"type":"int","comment":"GIT_SUCCESS if the ignore rules could be processed for the file (regardless of whether it exists or not), or an error < 0 if they could not."},"description":"Test if the ignore rules apply to a given file.","comments":"This function simply checks the ignore rules to see if they would apply\nto the given file. Unlike git_status_file(), this indicates if the file\nwould be ignored regardless of whether the file is already in the index\nor in the repository.\n","group":"status"},"git_config_find_global":{"type":"function","file":"config.h","line":53,"lineto":53,"args":[{"name":"global_config_path","type":"char *","comment":"Buffer of GIT_PATH_MAX length to store the path"}],"argline":"char *global_config_path","sig":"char *","return":{"type":"int","comment":"GIT_SUCCESS if a global configuration file has been found. Its path will be stored in `buffer`."},"description":"Locate the path to the global configuration file","comments":"The user or global configuration file is usually\nlocated in `$HOME/.gitconfig`.\n\nThis method will try to guess the full path to that\nfile, if the file exists. The returned path\nmay be used on any `git_config` call to load the\nglobal configuration file.\n","group":"config"},"git_config_find_system":{"type":"function","file":"config.h","line":65,"lineto":65,"args":[{"name":"system_config_path","type":"char *","comment":"Buffer of GIT_PATH_MAX length to store the path"}],"argline":"char *system_config_path","sig":"char *","return":{"type":"int","comment":"GIT_SUCCESS if a system configuration file has been found. Its path will be stored in `buffer`."},"description":"Locate the path to the system configuration file","comments":"If /etc/gitconfig doesn't exist, it will look for\n%PROGRAMFILES%\\Git\\etc\\gitconfig.\n","group":"config"},"git_config_open_global":{"type":"function","file":"config.h","line":76,"lineto":76,"args":[{"name":"out","type":"git_config **","comment":"Pointer to store the config instance"}],"argline":"git_config **out","sig":"git_config **","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Open the global configuration file","comments":"Utility wrapper that calls `git_config_find_global`\nand opens the located file, if it exists.\n","group":"config"},"git_config_file__ondisk":{"type":"function","file":"config.h","line":89,"lineto":89,"args":[{"name":"out","type":"struct git_config_file **","comment":"the new backend"},{"name":"path","type":"const char *","comment":"where the config file is located"}],"argline":"struct git_config_file **out, const char *path","sig":"struct git_config_file **::const char *","return":{"type":"int"},"description":"Create a configuration file backend for ondisk files","comments":"These are the normal `.gitconfig` files that Core Git\nprocesses. Note that you first have to add this file to a\nconfiguration object before you can query it for configuration\nvariables.\n","group":"config"},"git_config_new":{"type":"function","file":"config.h","line":100,"lineto":100,"args":[{"name":"out","type":"git_config **","comment":"pointer to the new configuration"}],"argline":"git_config **out","sig":"git_config **","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Allocate a new configuration object","comments":"This object is empty, so you have to add a file to it before you\ncan do anything with it.\n","group":"config"},"git_config_add_file":{"type":"function","file":"config.h","line":117,"lineto":117,"args":[{"name":"cfg","type":"git_config *","comment":"the configuration to add the file to"},{"name":"file","type":"git_config_file *","comment":"the configuration file (backend) to add"},{"name":"priority","type":"int","comment":"the priority the backend should have"}],"argline":"git_config *cfg, git_config_file *file, int priority","sig":"git_config *::git_config_file *::int","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Add a generic config file instance to an existing config","comments":"Note that the configuration object will free the file\nautomatically.\n\nFurther queries on this config object will access each\nof the config file instances in order (instances with\na higher priority will be accessed first).\n","group":"config"},"git_config_add_file_ondisk":{"type":"function","file":"config.h","line":138,"lineto":138,"args":[{"name":"cfg","type":"git_config *","comment":"the configuration to add the file to"},{"name":"path","type":"const char *","comment":"path to the configuration file (backend) to add"},{"name":"priority","type":"int","comment":"the priority the backend should have"}],"argline":"git_config *cfg, const char *path, int priority","sig":"git_config *::const char *::int","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Add an on-disk config file instance to an existing config","comments":"The on-disk file pointed at by `path` will be opened and\nparsed; it's expected to be a native Git config file following\nthe default Git config syntax (see man git-config).\n\nNote that the configuration object will free the file\nautomatically.\n\nFurther queries on this config object will access each\nof the config file instances in order (instances with\na higher priority will be accessed first).\n","group":"config"},"git_config_open_ondisk":{"type":"function","file":"config.h","line":153,"lineto":153,"args":[{"name":"cfg","type":"git_config **","comment":"The configuration instance to create"},{"name":"path","type":"const char *","comment":"Path to the on-disk file to open"}],"argline":"git_config **cfg, const char *path","sig":"git_config **::const char *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Create a new config instance containing a single on-disk file","comments":"This method is a simple utility wrapper for the following sequence\nof calls:\n- git_config_new\n- git_config_add_file_ondisk\n","group":"config","examples":{"general.c":["ex/v0.16.0/general.html#git_config_open_ondisk-3"]}},"git_config_free":{"type":"function","file":"config.h","line":160,"lineto":160,"args":[{"name":"cfg","type":"git_config *","comment":"the configuration to free"}],"argline":"git_config *cfg","sig":"git_config *","return":{"type":"void"},"description":"Free the configuration and its associated memory and files","comments":"","group":"config"},"git_config_get_int32":{"type":"function","file":"config.h","line":170,"lineto":170,"args":[{"name":"cfg","type":"git_config *","comment":"where to look for the variable"},{"name":"name","type":"const char *","comment":"the variable's name"},{"name":"out","type":"int32_t *","comment":"pointer to the variable where the value should be stored"}],"argline":"git_config *cfg, const char *name, int32_t *out","sig":"git_config *::const char *::int32_t *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Get the value of an integer config variable.","comments":"","group":"config","examples":{"general.c":["ex/v0.16.0/general.html#git_config_get_int32-4"]}},"git_config_get_int64":{"type":"function","file":"config.h","line":180,"lineto":180,"args":[{"name":"cfg","type":"git_config *","comment":"where to look for the variable"},{"name":"name","type":"const char *","comment":"the variable's name"},{"name":"out","type":"int64_t *","comment":"pointer to the variable where the value should be stored"}],"argline":"git_config *cfg, const char *name, int64_t *out","sig":"git_config *::const char *::int64_t *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Get the value of a long integer config variable.","comments":"","group":"config"},"git_config_get_bool":{"type":"function","file":"config.h","line":193,"lineto":193,"args":[{"name":"cfg","type":"git_config *","comment":"where to look for the variable"},{"name":"name","type":"const char *","comment":"the variable's name"},{"name":"out","type":"int *","comment":"pointer to the variable where the value should be stored"}],"argline":"git_config *cfg, const char *name, int *out","sig":"git_config *::const char *::int *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Get the value of a boolean config variable.","comments":"This function uses the usual C convention of 0 being false and\nanything else true.\n","group":"config"},"git_config_get_string":{"type":"function","file":"config.h","line":206,"lineto":206,"args":[{"name":"cfg","type":"git_config *","comment":"where to look for the variable"},{"name":"name","type":"const char *","comment":"the variable's name"},{"name":"out","type":"const char **","comment":"pointer to the variable's value"}],"argline":"git_config *cfg, const char *name, const char **out","sig":"git_config *::const char *::const char **","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Get the value of a string config variable.","comments":"The string is owned by the variable and should not be freed by the\nuser.\n","group":"config","examples":{"general.c":["ex/v0.16.0/general.html#git_config_get_string-5"]}},"git_config_set_int32":{"type":"function","file":"config.h","line":216,"lineto":216,"args":[{"name":"cfg","type":"git_config *","comment":"where to look for the variable"},{"name":"name","type":"const char *","comment":"the variable's name"},{"name":"value","type":"int32_t","comment":"Integer value for the variable"}],"argline":"git_config *cfg, const char *name, int32_t value","sig":"git_config *::const char *::int32_t","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Set the value of an integer config variable.","comments":"","group":"config"},"git_config_set_int64":{"type":"function","file":"config.h","line":226,"lineto":226,"args":[{"name":"cfg","type":"git_config *","comment":"where to look for the variable"},{"name":"name","type":"const char *","comment":"the variable's name"},{"name":"value","type":"int64_t","comment":"Long integer value for the variable"}],"argline":"git_config *cfg, const char *name, int64_t value","sig":"git_config *::const char *::int64_t","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Set the value of a long integer config variable.","comments":"","group":"config"},"git_config_set_bool":{"type":"function","file":"config.h","line":236,"lineto":236,"args":[{"name":"cfg","type":"git_config *","comment":"where to look for the variable"},{"name":"name","type":"const char *","comment":"the variable's name"},{"name":"value","type":"int","comment":"the value to store"}],"argline":"git_config *cfg, const char *name, int value","sig":"git_config *::const char *::int","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Set the value of a boolean config variable.","comments":"","group":"config"},"git_config_set_string":{"type":"function","file":"config.h","line":249,"lineto":249,"args":[{"name":"cfg","type":"git_config *","comment":"where to look for the variable"},{"name":"name","type":"const char *","comment":"the variable's name"},{"name":"value","type":"const char *","comment":"the string to store."}],"argline":"git_config *cfg, const char *name, const char *value","sig":"git_config *::const char *::const char *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Set the value of a string config variable.","comments":"A copy of the string is made and the user is free to use it\nafterwards.\n","group":"config"},"git_config_delete":{"type":"function","file":"config.h","line":257,"lineto":257,"args":[{"name":"cfg","type":"git_config *","comment":"the configuration"},{"name":"name","type":"const char *","comment":"the variable to delete"}],"argline":"git_config *cfg, const char *name","sig":"git_config *::const char *","return":{"type":"int"},"description":"Delete a config variable","comments":"","group":"config"},"git_config_foreach":{"type":"function","file":"config.h","line":272,"lineto":275,"args":[{"name":"cfg","type":"git_config *","comment":"where to get the variables from"},{"name":"callback","type":"int (*)(const char *var_name, const char *value, void *payload)","comment":"the function to call on each variable"},{"name":"payload","type":"void *","comment":"the data to pass to the callback"}],"argline":"git_config *cfg,\n\tint (*callback)(const char *var_name, const char *value, void *payload),\n\tvoid *payload","sig":"git_config *::int (*)(const char *var_name, const char *value, void *payload)::void *","return":{"type":"int","comment":"GIT_SUCCESS or the return value of the callback which didn't return 0"},"description":"Perform an operation on each config variable.","comments":"The callback receives the normalized name and value of each variable\nin the config backend, and the data pointer passed to this function.\nAs soon as one of the callback functions returns something other than 0,\nthis function returns that value.\n","group":"config"},"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":"GIT_SUCCESS or an error code"},"description":"Lookup a blob object from a repository.","comments":"","group":"blob","examples":{"general.c":["ex/v0.16.0/general.html#git_blob_lookup-6"]}},"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":"GIT_SUCCESS or an error code"},"description":"Lookup a blob object from a repository,\ngiven a prefix of its identifier (short id).","comments":"@see git_object_lookup_prefix\n","group":"blob"},"git_blob_free":{"type":"function","file":"blob.h","line":65,"lineto":68,"args":[{"name":"blob","type":"git_blob *","comment":"the blob to close"}],"argline":"git_blob *blob","sig":"git_blob *","return":{"type":"void"},"description":"Close an open blob","comments":"This is a wrapper around git_object_free()\n\nIMPORTANT:\nIt *is* necessary to call this method when you stop\nusing a blob. Failure to do so will cause a memory leak.\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":"Get a read-only buffer with the raw content of a blob.","comments":"A pointer to the raw content of a blob is returned;\nthis pointer is owned internally by the object and shall\nnot be free'd. The pointer may be invalidated at a later\ntime.\n","group":"blob","examples":{"general.c":["ex/v0.16.0/general.html#git_blob_rawcontent-7"]}},"git_blob_rawsize":{"type":"function","file":"blob.h","line":91,"lineto":91,"args":[{"name":"blob","type":"git_blob *","comment":"pointer to the blob"}],"argline":"git_blob *blob","sig":"git_blob *","return":{"type":"size_t","comment":"size on bytes"},"description":"Get the size in bytes of the contents of a blob","comments":"","group":"blob","examples":{"general.c":["ex/v0.16.0/general.html#git_blob_rawsize-8","ex/v0.16.0/general.html#git_blob_rawsize-9"]}},"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. this repository cannot be bare"},{"name":"path","type":"const char *","comment":"file from which the blob will be created, relative to the repository's working dir"}],"argline":"git_oid *oid, git_repository *repo, const char *path","sig":"git_oid *::git_repository *::const char *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Read a file from the working folder of a repository\nand write it to the Object Database as a loose blob","comments":"","group":"blob"},"git_blob_create_frombuffer":{"type":"function","file":"blob.h","line":116,"lineto":116,"args":[{"name":"oid","type":"git_oid *","comment":"return the oid of the written blob"},{"name":"repo","type":"git_repository *","comment":"repository where to blob will be written"},{"name":"buffer","type":"const void *","comment":"data to be written into the blob"},{"name":"len","type":"size_t","comment":"length of the data"}],"argline":"git_oid *oid, git_repository *repo, const void *buffer, size_t len","sig":"git_oid *::git_repository *::const void *::size_t","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Write an in-memory buffer to the ODB as a blob","comments":"","group":"blob"},"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":"GIT_SUCCESS or an error code"},"description":"Create a new bare Git index object as a memory representation\nof the Git index file in 'index_path', without a repository\nto back it.","comments":"Since there is no ODB or working directory behind this index,\nany Index methods which rely on these (e.g. index_add) will\nfail with the GIT_EBAREINDEX error code.\n\nIf you need to access the index of an actual repository,\nuse the `git_repository_index` wrapper.\n\nThe index must be freed once it's no longer in use.\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"},"description":"Clear the contents (all the entries) of an index object.\nThis clears the index object in memory; changes must be manually\nwritten to disk for them to take effect.","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"},"description":"Free an existing index object.","comments":"","group":"index","examples":{"showindex.c":["ex/v0.16.0/showindex.html#git_index_free-1"],"general.c":["ex/v0.16.0/general.html#git_index_free-10"]}},"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":"GIT_SUCCESS or an error code"},"description":"Update the contents of an existing index object in memory\nby reading from the hard disk.","comments":"","group":"index","examples":{"showindex.c":["ex/v0.16.0/showindex.html#git_index_read-2"]}},"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":"GIT_SUCCESS or an error code"},"description":"Write an existing index object from memory back to disk\nusing an atomic file lock.","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":"Find the first index of any entries which point to given\npath in the Git index.","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"},"description":"Remove all entries with equal path except last added","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":"GIT_SUCCESS or an error code"},"description":"Add or update an index entry from a file in disk","comments":"The file `path` must be relative to the repository's\nworking folder and must be readable.\n\nThis method will fail in bare index instances.\n\nThis forces the file to be added to the index, not looking\nat gitignore rules. Those rules can be evaluated through\nthe git_status APIs (in status.h) before calling this.\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":"GIT_SUCCESS or an error code"},"description":"Add or update an index entry from an in-memory struct","comments":"A full copy (including the 'path' string) of the given\n'source_entry' will be inserted on the index.\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":"GIT_SUCCESS or an error code"},"description":"Add (append) an index entry from a file in disk","comments":"A new entry will always be inserted into the index;\nif the index already contains an entry for such\npath, the old entry will **not** be replaced.\n\nThe file `path` must be relative to the repository's\nworking folder and must be readable.\n\nThis method will fail in bare index instances.\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":"GIT_SUCCESS or an error code"},"description":"Add (append) an index entry from an in-memory struct","comments":"A new entry will always be inserted into the index;\nif the index already contains an entry for the path\nin the `entry` struct, the old entry will **not** be\nreplaced.\n\nA full copy (including the 'path' string) of the given\n'source_entry' will be inserted on the index.\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":"GIT_SUCCESS or an error code"},"description":"Remove an entry from the index","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":"Get a pointer to one of the entries in the index","comments":"This entry can be modified, and the changes will be written\nback to disk on the next write() call.\n\nThe entry should not be freed by the caller.\n","group":"index","examples":{"showindex.c":["ex/v0.16.0/showindex.html#git_index_get-3"],"general.c":["ex/v0.16.0/general.html#git_index_get-11"]}},"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":"Get the count of entries currently in the index","comments":"","group":"index","examples":{"showindex.c":["ex/v0.16.0/showindex.html#git_index_entrycount-4"],"general.c":["ex/v0.16.0/general.html#git_index_entrycount-12"]}},"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":"Get the count of unmerged entries currently in the index","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":"Get an unmerged entry from the index.","comments":"The returned entry is read-only and should not be modified\nof freed by the caller.\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":"Get an unmerged entry from the index.","comments":"The returned entry is read-only and should not be modified\nof freed by the caller.\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"},"description":"Return the stage number from a git index entry","comments":"This entry is calculated from the entrie's flag\nattribute like this:\n\n(entry->flags & GIT_IDXENTRY_STAGEMASK) >> GIT_IDXENTRY_STAGESHIFT\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":"GIT_SUCCESS or an error code"},"description":"Read a tree into the index file","comments":"The current index contents will be replaced by the specified tree.\n","group":"index"},"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":"GIT_SUCCESS or an error code"},"description":"Open a git repository.","comments":"The 'path' argument must point to either a git repository\nfolder, or an existing work dir.\n\nThe method will automatically detect if 'path' is a normal\nor bare repository or fail is 'path' is neither.\n","group":"repository","examples":{"showindex.c":["ex/v0.16.0/showindex.html#git_repository_open-5"],"general.c":["ex/v0.16.0/general.html#git_repository_open-13","ex/v0.16.0/general.html#git_repository_open-14"],"network/git2.c":["ex/v0.16.0/git2.html#git_repository_open-1"]}},"git_repository_discover":{"type":"function","file":"repository.h","line":66,"lineto":71,"args":[{"name":"repository_path","type":"char *","comment":"The user allocated buffer which will contain the found path."},{"name":"size","type":"size_t","comment":"repository_path size"},{"name":"start_path","type":"const char *","comment":"The base path where the lookup starts."},{"name":"across_fs","type":"int","comment":"If true, then the lookup will not stop when a filesystem device change is detected while exploring parent directories."},{"name":"ceiling_dirs","type":"const char *","comment":"A GIT_PATH_LIST_SEPARATOR separated list of absolute symbolic link free paths. The lookup will stop when any of this paths is reached. Note that the lookup always performs on start_path no matter start_path appears in ceiling_dirs ceiling_dirs might be NULL (which is equivalent to an empty string)"}],"argline":"char *repository_path,\n\t\tsize_t size,\n\t\tconst char *start_path,\n\t\tint across_fs,\n\t\tconst char *ceiling_dirs","sig":"char *::size_t::const char *::int::const char *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Look for a git repository and copy its path in the given buffer.\nThe lookup start from base_path and walk across parent directories\nif nothing has been found. The lookup ends when the first repository\nis found, or when reaching a directory referenced in ceiling_dirs\nor when the filesystem changes (in case across_fs is true).","comments":"The method will automatically detect if the repository is bare\n(if there is a repository).\n","group":"repository"},"git_repository_free":{"type":"function","file":"repository.h","line":84,"lineto":84,"args":[{"name":"repo","type":"git_repository *","comment":"repository handle to close. If NULL nothing occurs."}],"argline":"git_repository *repo","sig":"git_repository *","return":{"type":"void"},"description":"Free a previously allocated repository","comments":"Note that after a repository is free'd, all the objects it has spawned\nwill still exist until they are manually closed by the user\nwith `git_object_free`, but accessing any of the attributes of\nan object without a backing repository will result in undefined\nbehavior\n","group":"repository","examples":{"showindex.c":["ex/v0.16.0/showindex.html#git_repository_free-6"],"general.c":["ex/v0.16.0/general.html#git_repository_free-15"],"network/git2.c":["ex/v0.16.0/git2.html#git_repository_free-2"]}},"git_repository_init":{"type":"function","file":"repository.h","line":100,"lineto":100,"args":[{"name":"repo_out","type":"git_repository **","comment":"pointer to the repo which will be created or reinitialized"},{"name":"path","type":"const char *","comment":"the path to the repository"},{"name":"is_bare","type":"unsigned","comment":"if true, a Git repository without a working directory is created at the pointed path. If false, provided path will be considered as the working directory into which the .git directory will be created."}],"argline":"git_repository **repo_out, const char *path, unsigned is_bare","sig":"git_repository **::const char *::unsigned","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Creates a new Git repository in the given folder.","comments":"TODO:\n- Reinit the repository\n","group":"repository"},"git_repository_head":{"type":"function","file":"repository.h","line":110,"lineto":110,"args":[{"name":"head_out","type":"git_reference **","comment":"pointer to the reference which will be retrieved"},{"name":"repo","type":"git_repository *","comment":"a repository object"}],"argline":"git_reference **head_out, git_repository *repo","sig":"git_reference **::git_repository *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Retrieve and resolve the reference pointed at by HEAD.","comments":"","group":"repository"},"git_repository_head_detached":{"type":"function","file":"repository.h","line":122,"lineto":122,"args":[{"name":"repo","type":"git_repository *","comment":"Repo to test"}],"argline":"git_repository *repo","sig":"git_repository *","return":{"type":"int","comment":"1 if HEAD is detached, 0 if i'ts not; error code if there was an error."},"description":"Check if a repository's HEAD is detached","comments":"A repository's HEAD is detached when it points directly to a commit\ninstead of a branch.\n","group":"repository"},"git_repository_head_orphan":{"type":"function","file":"repository.h","line":134,"lineto":134,"args":[{"name":"repo","type":"git_repository *","comment":"Repo to test"}],"argline":"git_repository *repo","sig":"git_repository *","return":{"type":"int","comment":"1 if the current branch is an orphan, 0 if it's not; error code if therewas an error"},"description":"Check if the current branch is an orphan","comments":"An orphan branch is one named from HEAD but which doesn't exist in\nthe refs namespace, because it doesn't have any commit to point to.\n","group":"repository"},"git_repository_is_empty":{"type":"function","file":"repository.h","line":146,"lineto":146,"args":[{"name":"repo","type":"git_repository *","comment":"Repo to test"}],"argline":"git_repository *repo","sig":"git_repository *","return":{"type":"int","comment":"1 if the repository is empty, 0 if it isn't, error code if the repository is corrupted"},"description":"Check if a repository is empty","comments":"An empty repository has just been initialized and contains\nno commits.\n","group":"repository"},"git_repository_path":{"type":"function","file":"repository.h","line":157,"lineto":157,"args":[{"name":"repo","type":"git_repository *","comment":"A repository object"}],"argline":"git_repository *repo","sig":"git_repository *","return":{"type":"const char *","comment":"the path to the repository"},"description":"Get the path of this repository","comments":"This is the path of the `.git` folder for normal repositories,\nor of the repository itself for bare repositories.\n","group":"repository"},"git_repository_workdir":{"type":"function","file":"repository.h","line":168,"lineto":168,"args":[{"name":"repo","type":"git_repository *","comment":"A repository object"}],"argline":"git_repository *repo","sig":"git_repository *","return":{"type":"const char *","comment":"the path to the working dir, if it exists"},"description":"Get the path of the working directory for this repository","comments":"If the repository is bare, this function will always return\nNULL.\n","group":"repository"},"git_repository_set_workdir":{"type":"function","file":"repository.h","line":185,"lineto":185,"args":[{"name":"repo","type":"git_repository *","comment":"A repository object"},{"name":"workdir","type":"const char *","comment":"The path to a working directory"}],"argline":"git_repository *repo, const char *workdir","sig":"git_repository *::const char *","return":{"type":"int","comment":"GIT_SUCCESS, or an error code"},"description":"Set the path to the working directory for this repository","comments":"The working directory doesn't need to be the same one\nthat contains the `.git` folder for this repository.\n\nIf this repository is bare, setting its working directory\nwill turn it into a normal repository, capable of performing\nall the common workdir operations (checkout, status, index\nmanipulation, etc).\n","group":"repository"},"git_repository_is_bare":{"type":"function","file":"repository.h","line":193,"lineto":193,"args":[{"name":"repo","type":"git_repository *","comment":"Repo to test"}],"argline":"git_repository *repo","sig":"git_repository *","return":{"type":"int","comment":"1 if the repository is bare, 0 otherwise."},"description":"Check if a repository is bare","comments":"","group":"repository"},"git_repository_config":{"type":"function","file":"repository.h","line":209,"lineto":209,"args":[{"name":"out","type":"git_config **","comment":"Pointer to store the loaded config file"},{"name":"repo","type":"git_repository *","comment":"A repository object"}],"argline":"git_config **out, git_repository *repo","sig":"git_config **::git_repository *","return":{"type":"int","comment":"GIT_SUCCESS, or an error code"},"description":"Get the configuration file for this repository.","comments":"If a configuration file has not been set, the default\nconfig set for the repository will be returned, including\nglobal and system configurations (if they are available).\n\nThe configuration file must be freed once it's no longer\nbeing used by the user.\n","group":"repository"},"git_repository_set_config":{"type":"function","file":"repository.h","line":224,"lineto":224,"args":[{"name":"repo","type":"git_repository *","comment":"A repository object"},{"name":"config","type":"git_config *","comment":"A Config object"}],"argline":"git_repository *repo, git_config *config","sig":"git_repository *::git_config *","return":{"type":"void"},"description":"Set the configuration file for this repository","comments":"This configuration file will be used for all configuration\nqueries involving this repository.\n\nThe repository will keep a reference to the config file;\nthe user must still free the config after setting it\nto the repository, or it will leak.\n","group":"repository"},"git_repository_odb":{"type":"function","file":"repository.h","line":240,"lineto":240,"args":[{"name":"out","type":"git_odb **","comment":"Pointer to store the loaded ODB"},{"name":"repo","type":"git_repository *","comment":"A repository object"}],"argline":"git_odb **out, git_repository *repo","sig":"git_odb **::git_repository *","return":{"type":"int","comment":"GIT_SUCCESS, or an error code"},"description":"Get the Object Database for this repository.","comments":"If a custom ODB has not been set, the default\ndatabase for the repository will be returned (the one\nlocated in `.git/objects`).\n\nThe ODB must be freed once it's no longer being used by\nthe user.\n","group":"repository","examples":{"general.c":["ex/v0.16.0/general.html#git_repository_odb-16"]}},"git_repository_set_odb":{"type":"function","file":"repository.h","line":255,"lineto":255,"args":[{"name":"repo","type":"git_repository *","comment":"A repository object"},{"name":"odb","type":"git_odb *","comment":"An ODB object"}],"argline":"git_repository *repo, git_odb *odb","sig":"git_repository *::git_odb *","return":{"type":"void"},"description":"Set the Object Database for this repository","comments":"The ODB will be used for all object-related operations\ninvolving this repository.\n\nThe repository will keep a reference to the ODB; the user\nmust still free the ODB object after setting it to the\nrepository, or it will leak.\n","group":"repository"},"git_repository_index":{"type":"function","file":"repository.h","line":271,"lineto":271,"args":[{"name":"out","type":"git_index **","comment":"Pointer to store the loaded index"},{"name":"repo","type":"git_repository *","comment":"A repository object"}],"argline":"git_index **out, git_repository *repo","sig":"git_index **::git_repository *","return":{"type":"int","comment":"GIT_SUCCESS, or an error code"},"description":"Get the Index file for this repository.","comments":"If a custom index has not been set, the default\nindex for the repository will be returned (the one\nlocated in `.git/index`).\n\nThe index must be freed once it's no longer being used by\nthe user.\n","group":"repository","examples":{"showindex.c":["ex/v0.16.0/showindex.html#git_repository_index-7"],"general.c":["ex/v0.16.0/general.html#git_repository_index-17"]}},"git_repository_set_index":{"type":"function","file":"repository.h","line":286,"lineto":286,"args":[{"name":"repo","type":"git_repository *","comment":"A repository object"},{"name":"index","type":"git_index *","comment":"An index object"}],"argline":"git_repository *repo, git_index *index","sig":"git_repository *::git_index *","return":{"type":"void"},"description":"Set the index file for this repository","comments":"This index will be used for all index-related operations\ninvolving this repository.\n\nThe repository will keep a reference to the index file;\nthe user must still free the index after setting it\nto the repository, or it will leak.\n","group":"repository"},"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":"GIT_SUCCESS or an error code"},"description":"Lookup a tag object from the repository.","comments":"","group":"tag","examples":{"general.c":["ex/v0.16.0/general.html#git_tag_lookup-18"]}},"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":"GIT_SUCCESS or an error code"},"description":"Lookup a tag object from the repository,\ngiven a prefix of its identifier (short id).","comments":"@see git_object_lookup_prefix\n","group":"tag"},"git_tag_free":{"type":"function","file":"tag.h","line":65,"lineto":68,"args":[{"name":"tag","type":"git_tag *","comment":"the tag to close"}],"argline":"git_tag *tag","sig":"git_tag *","return":{"type":"void"},"description":"Close an open tag","comments":"This is a wrapper around git_object_free()\n\nIMPORTANT:\nIt *is* necessary to call this method when you stop\nusing a tag. Failure to do so will cause a memory leak.\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":"Get the id of a tag.","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":"GIT_SUCCESS or an error code"},"description":"Get the tagged object of a tag","comments":"This method performs a repository lookup for the\ngiven object and returns it\n","group":"tag","examples":{"general.c":["ex/v0.16.0/general.html#git_tag_target-19"]}},"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":"Get the OID of the tagged object of a tag","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":"Get the type of a tag's tagged object","comments":"","group":"tag","examples":{"general.c":["ex/v0.16.0/general.html#git_tag_type-20"]}},"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":"Get the name of a tag","comments":"","group":"tag","examples":{"general.c":["ex/v0.16.0/general.html#git_tag_name-21"]}},"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":"Get the tagger (author) of a tag","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":"Get the message of a tag","comments":"","group":"tag","examples":{"general.c":["ex/v0.16.0/general.html#git_tag_message-22"]}},"git_tag_create":{"type":"function","file":"tag.h","line":165,"lineto":172,"args":[{"name":"oid","type":"git_oid *","comment":"Pointer where to store the OID of the newly created tag. If the tag already exists, this parameter will be the oid of the existing tag, and the function will 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 for consistency. It should also not conflict with an already existing tag name"},{"name":"target","type":"const git_object *","comment":"Object to which this tag points. This object must belong to the given `repo`."},{"name":"tagger","type":"const git_signature *","comment":"Signature of the tagger for this tag, and 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,\n\t\tgit_repository *repo,\n\t\tconst char *tag_name,\n\t\tconst git_object *target,\n\t\tconst git_signature *tagger,\n\t\tconst char *message,\n\t\tint force","sig":"git_oid *::git_repository *::const char *::const git_object *::const git_signature *::const char *::int","return":{"type":"int","comment":"GIT_SUCCESS or an error code A tag object is written to the ODB, and a proper reference is written in the /refs/tags folder, pointing to it"},"description":"Create a new tag in the repository from an object","comments":"A new reference will also be created pointing to\nthis tag object. If `force` is true and a reference\nalready exists with the given name, it'll be replaced.\n","group":"tag"},"git_tag_create_frombuffer":{"type":"function","file":"tag.h","line":183,"lineto":187,"args":[{"name":"oid","type":"git_oid *","comment":"Pointer where to store the OID of the newly created tag"},{"name":"repo","type":"git_repository *","comment":"Repository where to store the tag"},{"name":"buffer","type":"const char *","comment":"Raw tag data"},{"name":"force","type":"int","comment":"Overwrite existing tags"}],"argline":"git_oid *oid,\n\t\tgit_repository *repo,\n\t\tconst char *buffer,\n\t\tint force","sig":"git_oid *::git_repository *::const char *::int","return":{"type":"int","comment":"0 on sucess; error code otherwise"},"description":"Create a new tag in the repository from a buffer","comments":"","group":"tag"},"git_tag_create_lightweight":{"type":"function","file":"tag.h","line":216,"lineto":221,"args":[{"name":"oid","type":"git_oid *","comment":"Pointer where to store the OID of the provided target object. If the tag already exists, this parameter will be filled with the oid of the existing pointed object 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 for consistency. It should also not conflict with an already existing tag name"},{"name":"target","type":"const git_object *","comment":"Object to which this tag points. This object must belong to the given `repo`."},{"name":"force","type":"int","comment":"Overwrite existing references"}],"argline":"git_oid *oid,\n\t\tgit_repository *repo,\n\t\tconst char *tag_name,\n\t\tconst git_object *target,\n\t\tint force","sig":"git_oid *::git_repository *::const char *::const git_object *::int","return":{"type":"int","comment":"GIT_SUCCESS or an error code A proper reference is written in the /refs/tags folder, pointing to the provided target object"},"description":"Create a new lightweight tag pointing at a target object","comments":"A new direct reference will be created pointing to\nthis target object. If `force` is true and a reference\nalready exists with the given name, it'll be replaced.\n","group":"tag"},"git_tag_delete":{"type":"function","file":"tag.h","line":233,"lineto":235,"args":[{"name":"repo","type":"git_repository *","comment":"Repository where lives the tag"},{"name":"tag_name","type":"const char *","comment":"Name of the tag to be deleted; this name is validated for consistency."}],"argline":"git_repository *repo,\n\t\tconst char *tag_name","sig":"git_repository *::const char *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Delete an existing tag reference.","comments":"","group":"tag"},"git_tag_list":{"type":"function","file":"tag.h","line":250,"lineto":252,"args":[{"name":"tag_names","type":"git_strarray *","comment":"Pointer to a git_strarray structure where the tag names will be stored"},{"name":"repo","type":"git_repository *","comment":"Repository where to find the tags"}],"argline":"git_strarray *tag_names,\n\t\tgit_repository *repo","sig":"git_strarray *::git_repository *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Fill a list with all the tags in the Repository","comments":"The string array will be filled with the names of the\nmatching tags; these values are owned by the user and\nshould be free'd manually when no longer needed, using\n`git_strarray_free`.\n","group":"tag"},"git_tag_list_match":{"type":"function","file":"tag.h","line":272,"lineto":275,"args":[{"name":"tag_names","type":"git_strarray *","comment":"Pointer to a git_strarray structure where the 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,\n\t\tconst char *pattern,\n\t\tgit_repository *repo","sig":"git_strarray *::const char *::git_repository *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Fill a list with all the tags in the Repository\nwhich name match a defined pattern","comments":"If an empty pattern is provided, all the tags\nwill be returned.\n\nThe string array will be filled with the names of the\nmatching tags; these values are owned by the user and\nshould be free'd manually when no longer needed, using\n`git_strarray_free`.\n","group":"tag"},"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 an annotated tag it will be peeled back to the commit."}],"argline":"git_commit **commit, git_repository *repo, const git_oid *id","sig":"git_commit **::git_repository *::const git_oid *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Lookup a commit object from a repository.","comments":"","group":"commit","examples":{"general.c":["ex/v0.16.0/general.html#git_commit_lookup-23","ex/v0.16.0/general.html#git_commit_lookup-24","ex/v0.16.0/general.html#git_commit_lookup-25"]}},"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 an annotated tag it will be peeled back to the commit."},{"name":"len","type":"unsigned","comment":"the length of the short identifier"}],"argline":"git_commit **commit, git_repository *repo, const git_oid *id, unsigned len","sig":"git_commit **::git_repository *::const git_oid *::unsigned","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Lookup a commit object from a repository,\ngiven a prefix of its identifier (short id).","comments":"@see git_object_lookup_prefix\n","group":"commit"},"git_commit_free":{"type":"function","file":"commit.h","line":67,"lineto":70,"args":[{"name":"commit","type":"git_commit *","comment":"the commit to close"}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"void"},"description":"Close an open commit","comments":"This is a wrapper around git_object_free()\n\nIMPORTANT:\nIt *is* necessary to call this method when you stop\nusing a commit. Failure to do so will cause a memory leak.\n","group":"commit","examples":{"general.c":["ex/v0.16.0/general.html#git_commit_free-26","ex/v0.16.0/general.html#git_commit_free-27","ex/v0.16.0/general.html#git_commit_free-28","ex/v0.16.0/general.html#git_commit_free-29"]}},"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":"Get the id of a commit.","comments":"","group":"commit","examples":{"general.c":["ex/v0.16.0/general.html#git_commit_id-30"]}},"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":"Get the encoding for the message of a commit,\nas a string representing a standard encoding name.","comments":"The encoding may be NULL if the `encoding` header\nin the commit is missing; in that case UTF-8 is assumed.\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":"Get the full message of a commit.","comments":"","group":"commit","examples":{"general.c":["ex/v0.16.0/general.html#git_commit_message-31","ex/v0.16.0/general.html#git_commit_message-32"]}},"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":"Get the commit time (i.e. committer time) of a commit.","comments":"","group":"commit","examples":{"general.c":["ex/v0.16.0/general.html#git_commit_time-33","ex/v0.16.0/general.html#git_commit_time-34"]}},"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":"Get the commit timezone offset (i.e. committer's preferred timezone) of a commit.","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":"Get the committer of a commit.","comments":"","group":"commit","examples":{"general.c":["ex/v0.16.0/general.html#git_commit_committer-35"]}},"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":"Get the author of a commit.","comments":"","group":"commit","examples":{"general.c":["ex/v0.16.0/general.html#git_commit_author-36","ex/v0.16.0/general.html#git_commit_author-37"]}},"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":"GIT_SUCCESS or an error code"},"description":"Get the tree pointed to by a commit.","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":"Get the id of the tree pointed to by a commit. This differs from\n`git_commit_tree` in that no attempts are made to fetch an object\nfrom the ODB.","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":"Get the number of parents of this commit","comments":"","group":"commit","examples":{"general.c":["ex/v0.16.0/general.html#git_commit_parentcount-38"]}},"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":"GIT_SUCCESS or an error code"},"description":"Get the specified parent of the commit.","comments":"","group":"commit","examples":{"general.c":["ex/v0.16.0/general.html#git_commit_parent-39"]}},"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":"Get the oid of a specified parent for a commit. This is different from\n`git_commit_parent`, which will attempt to load the parent commit from\nthe ODB.","comments":"","group":"commit"},"git_commit_create":{"type":"function","file":"commit.h","line":224,"lineto":234,"args":[{"name":"oid","type":"git_oid *","comment":"Pointer where to store the OID of the newly 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 will be updated to point to this commit. If the reference is not direct, it will be resolved to a direct reference. Use \"HEAD\" to update the HEAD of the current branch and make it point to this commit"},{"name":"author","type":"const git_signature *","comment":"Signature representing the author and the authory time of this commit"},{"name":"committer","type":"const git_signature *","comment":"Signature representing the committer and the commit time of this commit"},{"name":"message_encoding","type":"const char *","comment":"The encoding for the message in the commit, represented with a standard encoding name. E.g. \"UTF-8\". If NULL, no encoding header is written and UTF-8 is assumed."},{"name":"message","type":"const char *","comment":"_encoding The encoding for the message in the commit, represented with a standard encoding name. E.g. \"UTF-8\". If NULL, no encoding header is written and UTF-8 is assumed."},{"name":"tree","type":"const git_tree *","comment":"An instance of a `git_tree` object that will be used as the tree for the commit. This tree object must also be owned by the given `repo`."},{"name":"parent_count","type":"int","comment":"Number of parents for this commit"}],"argline":"git_oid *oid,\n\t\tgit_repository *repo,\n\t\tconst char *update_ref,\n\t\tconst git_signature *author,\n\t\tconst git_signature *committer,\n\t\tconst char *message_encoding,\n\t\tconst char *message,\n\t\tconst git_tree *tree,\n\t\tint parent_count,\n\t\tconst git_commit *parents[]","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":"GIT_SUCCESS or an error code The created commit will be written to the Object Database and the given reference will be updated to point to it"},"description":"Create a new commit in the repository using `git_object`\ninstances as parameters.","comments":"","group":"commit"},"git_commit_create_v":{"type":"function","file":"commit.h","line":249,"lineto":259,"args":[{"name":"oid","type":"git_oid *"},{"name":"repo","type":"git_repository *"},{"name":"update_ref","type":"const char *"},{"name":"author","type":"const git_signature *"},{"name":"committer","type":"const git_signature *"},{"name":"message_encoding","type":"const char *"},{"name":"message","type":"const char *"},{"name":"tree","type":"const git_tree *"},{"name":"parent_count","type":"int"}],"argline":"git_oid *oid,\n\t\tgit_repository *repo,\n\t\tconst char *update_ref,\n\t\tconst git_signature *author,\n\t\tconst git_signature *committer,\n\t\tconst char *message_encoding,\n\t\tconst char *message,\n\t\tconst git_tree *tree,\n\t\tint parent_count,\n\t\t...","sig":"git_oid *::git_repository *::const char *::const git_signature *::const git_signature *::const char *::const char *::const git_tree *::int","return":{"type":"int"},"description":"Create a new commit in the repository using a variable\nargument list.","comments":"The parents for the commit are specified as a variable\nlist of pointers to `const git_commit *`. Note that this\nis a convenience method which may not be safe to export\nfor certain languages or compilers\n\nAll other parameters remain the same\n\n@see git_commit_create","group":"commit","examples":{"general.c":["ex/v0.16.0/general.html#git_commit_create_v-40"]}},"git_remote_new":{"type":"function","file":"remote.h","line":44,"lineto":44,"args":[{"name":"out","type":"git_remote **","comment":"pointer to the new remote object"},{"name":"repo","type":"git_repository *","comment":"the associtated repository"},{"name":"url","type":"const char *","comment":"the remote repository's URL"},{"name":"name","type":"const char *","comment":"the remote's name"}],"argline":"git_remote **out, git_repository *repo, const char *url, const char *name","sig":"git_remote **::git_repository *::const char *::const char *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Create a remote in memory","comments":"Create a remote with the default refspecs in memory. You can use\nthis when you have a URL instead of a remote's name.\n","group":"remote","examples":{"network/ls-remote.c":["ex/v0.16.0/ls-remote.html#git_remote_new-1"],"network/fetch.c":["ex/v0.16.0/fetch.html#git_remote_new-7"]}},"git_remote_load":{"type":"function","file":"remote.h","line":54,"lineto":54,"args":[{"name":"out","type":"git_remote **","comment":"pointer to the new remote object"},{"name":"repo","type":"git_repository *"},{"name":"name","type":"const char *","comment":"the remote's name"}],"argline":"git_remote **out, git_repository *repo, const char *name","sig":"git_remote **::git_repository *::const char *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Get the information for a particular remote","comments":"","group":"remote","examples":{"network/ls-remote.c":["ex/v0.16.0/ls-remote.html#git_remote_load-2"]}},"git_remote_name":{"type":"function","file":"remote.h","line":62,"lineto":62,"args":[{"name":"remote","type":"git_remote *","comment":"the remote"}],"argline":"git_remote *remote","sig":"git_remote *","return":{"type":"const char *","comment":"a pointer to the name"},"description":"Get the remote's name","comments":"","group":"remote"},"git_remote_url":{"type":"function","file":"remote.h","line":70,"lineto":70,"args":[{"name":"remote","type":"git_remote *","comment":"the remote"}],"argline":"git_remote *remote","sig":"git_remote *","return":{"type":"const char *","comment":"a pointer to the url"},"description":"Get the remote's url","comments":"","group":"remote"},"git_remote_fetchspec":{"type":"function","file":"remote.h","line":78,"lineto":78,"args":[{"name":"remote","type":"git_remote *","comment":"the remote"}],"argline":"git_remote *remote","sig":"git_remote *","return":{"type":"const git_refspec *","comment":"a pointer to the fetch refspec or NULL if it doesn't exist"},"description":"Get the fetch refspec","comments":"","group":"remote"},"git_remote_pushspec":{"type":"function","file":"remote.h","line":86,"lineto":86,"args":[{"name":"remote","type":"git_remote *","comment":"the remote"}],"argline":"git_remote *remote","sig":"git_remote *","return":{"type":"const git_refspec *","comment":"a pointer to the push refspec or NULL if it doesn't exist"},"description":"Get the push refspec","comments":"","group":"remote"},"git_remote_connect":{"type":"function","file":"remote.h","line":100,"lineto":100,"args":[{"name":"remote","type":"git_remote *","comment":"the remote to connect to"},{"name":"direction","type":"int","comment":"whether you want to receive or send data"}],"argline":"git_remote *remote, int direction","sig":"git_remote *::int","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Open a connection to a remote","comments":"The transport is selected based on the URL. The direction argument\nis due to a limitation of the git protocol (over TCP or SSH) which\nstarts up a specific binary which can only do the one or the other.\n","group":"remote","examples":{"network/ls-remote.c":["ex/v0.16.0/ls-remote.html#git_remote_connect-3","ex/v0.16.0/ls-remote.html#git_remote_connect-4"],"network/fetch.c":["ex/v0.16.0/fetch.html#git_remote_connect-8"]}},"git_remote_ls":{"type":"function","file":"remote.h","line":112,"lineto":112,"args":[{"name":"remote","type":"git_remote *","comment":"the remote"},{"name":"list_cb","type":"git_headlist_cb"},{"name":"payload","type":"void *"}],"argline":"git_remote *remote, git_headlist_cb list_cb, void *payload","sig":"git_remote *::git_headlist_cb::void *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Get a list of refs at the remote","comments":"The remote (or more exactly its transport) must be connected. The\nmemory belongs to the remote.\n","group":"remote","examples":{"network/ls-remote.c":["ex/v0.16.0/ls-remote.html#git_remote_ls-5","ex/v0.16.0/ls-remote.html#git_remote_ls-6","ex/v0.16.0/ls-remote.html#git_remote_ls-7"]}},"git_remote_download":{"type":"function","file":"remote.h","line":127,"lineto":127,"args":[{"name":"filename","type":"char **","comment":"where to store the temproray filename"},{"name":"remote","type":"git_remote *","comment":"the remote to download from"}],"argline":"char **filename, git_remote *remote","sig":"char **::git_remote *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Download the packfile","comments":"Negotiate what objects should be downloaded and download the\npackfile with those objects. The packfile is downloaded with a\ntemporary filename, as it's final name is not known yet. If there\nwas no packfile needed (all the objects were available locally),\nfilename will be NULL and the function will return success.\n","group":"remote","examples":{"network/fetch.c":["ex/v0.16.0/fetch.html#git_remote_download-9"]}},"git_remote_connected":{"type":"function","file":"remote.h","line":137,"lineto":137,"args":[{"name":"remote","type":"git_remote *"}],"argline":"git_remote *remote","sig":"git_remote *","return":{"type":"int","comment":"1 if it's connected, 0 otherwise."},"description":"Check whether the remote is connected","comments":"Check whether the remote's underlying transport is connected to the\nremote host.\n","group":"remote"},"git_remote_disconnect":{"type":"function","file":"remote.h","line":147,"lineto":147,"args":[{"name":"remote","type":"git_remote *","comment":"the remote to disconnect from"}],"argline":"git_remote *remote","sig":"git_remote *","return":{"type":"void"},"description":"Disconnect from the remote","comments":"Close the connection to the remote and free the underlying\ntransport.\n","group":"remote"},"git_remote_free":{"type":"function","file":"remote.h","line":154,"lineto":154,"args":[{"name":"remote","type":"git_remote *","comment":"the remote to free"}],"argline":"git_remote *remote","sig":"git_remote *","return":{"type":"void"},"description":"Free the memory associated with a remote","comments":"","group":"remote","examples":{"network/ls-remote.c":["ex/v0.16.0/ls-remote.html#git_remote_free-8","ex/v0.16.0/ls-remote.html#git_remote_free-9"],"network/fetch.c":["ex/v0.16.0/fetch.html#git_remote_free-10"]}},"git_remote_update_tips":{"type":"function","file":"remote.h","line":164,"lineto":164,"args":[{"name":"remote","type":"git_remote *","comment":"the remote to update"}],"argline":"git_remote *remote","sig":"git_remote *","return":{"type":"int"},"description":"Update the tips to the new state","comments":"Make sure that you only call this once you've successfully indexed\nor expanded the packfile.\n","group":"remote","examples":{"network/fetch.c":["ex/v0.16.0/fetch.html#git_remote_update_tips-11"]}},"git_remote_valid_url":{"type":"function","file":"remote.h","line":172,"lineto":172,"args":[{"name":"url","type":"const char *"}],"argline":"const char *url","sig":"const char *","return":{"type":"int"},"description":"Return whether a string is a valid remote URL","comments":"","group":"remote"},"deflateBound":{"type":"function","file":"zlib.h","line":32,"lineto":36,"args":[{"name":"stream","type":"z_streamp","comment":"the stream pointer."},{"name":"s","type":"size_t","comment":"tream the stream pointer."}],"argline":"z_streamp stream, size_t s","sig":"z_streamp::size_t","return":{"type":"size_t","comment":"maximum length of the compressed data."},"description":"deflateBound returns an upper bound on the compressed size.","comments":"This is a stub function used when zlib does not supply the\ndeflateBound() implementation itself.\n","group":"zlib"},"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":"GIT_SUCCESS or an error code"},"description":"Lookup a tree object from the repository.","comments":"","group":"tree","examples":{"general.c":["ex/v0.16.0/general.html#git_tree_lookup-41","ex/v0.16.0/general.html#git_tree_lookup-42"]}},"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":"GIT_SUCCESS or an error code"},"description":"Lookup a tree object from the repository,\ngiven a prefix of its identifier (short id).","comments":"@see git_object_lookup_prefix\n","group":"tree"},"git_tree_free":{"type":"function","file":"tree.h","line":65,"lineto":68,"args":[{"name":"tree","type":"git_tree *","comment":"the tree to close"}],"argline":"git_tree *tree","sig":"git_tree *","return":{"type":"void"},"description":"Close an open tree","comments":"This is a wrapper around git_object_free()\n\nIMPORTANT:\nIt *is* necessary to call this method when you stop\nusing a tree. Failure to do so will cause a memory leak.\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":"Get the id of a tree.","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":"Get the number of entries listed in a tree","comments":"","group":"tree","examples":{"general.c":["ex/v0.16.0/general.html#git_tree_entrycount-43"]}},"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":"Lookup a tree entry by its filename","comments":"","group":"tree","examples":{"general.c":["ex/v0.16.0/general.html#git_tree_entry_byname-44"]}},"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":"Lookup a tree entry by its position in the tree","comments":"","group":"tree","examples":{"general.c":["ex/v0.16.0/general.html#git_tree_entry_byindex-45"]}},"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":"Get the UNIX file attributes of a tree entry","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":"Get the filename of a tree entry","comments":"","group":"tree","examples":{"general.c":["ex/v0.16.0/general.html#git_tree_entry_name-46","ex/v0.16.0/general.html#git_tree_entry_name-47"]}},"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":"Get the id of the object pointed by the entry","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":"Get the type of the object pointed by the entry","comments":"","group":"tree"},"git_tree_entry_2object":{"type":"function","file":"tree.h","line":146,"lineto":146,"args":[{"name":"object_out","type":"git_object **"},{"name":"repo","type":"git_repository *","comment":"repository where to lookup the pointed object"},{"name":"entry","type":"const git_tree_entry *","comment":"a tree entry"}],"argline":"git_object **object_out, git_repository *repo, const git_tree_entry *entry","sig":"git_object **::git_repository *::const git_tree_entry *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Convert a tree entry to the git_object it points too.","comments":"","group":"tree","examples":{"general.c":["ex/v0.16.0/general.html#git_tree_entry_2object-48"]}},"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":"GIT_SUCCESS or an error code"},"description":"Write a tree to the ODB from the index file","comments":"This method will scan the index and write a representation\nof its current state back to disk; it recursively creates\ntree objects for each of the subtrees stored in the index,\nbut only returns the OID of the root tree. This is the OID\nthat can be used e.g. to create a commit.\n\nThe index instance cannot be bare, and needs to be associated\nto an existing repository.\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":"Create a new tree builder.","comments":"The tree builder can be used to create or modify\ntrees in memory and write them as tree objects to the\ndatabase.\n\nIf the `source` parameter is not NULL, the tree builder\nwill be initialized with the entries of the given tree.\n\nIf the `source` parameter is NULL, the tree builder will\nhave no entries and will have to be filled manually.\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"},"description":"Clear all the entires in the builder","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"},"description":"Free a tree builder","comments":"This will clear all the entries and free to builder.\nFailing to free the builder after you're done using it\nwill result in a memory leak\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":"Get an entry from the builder from its filename","comments":"The returned entry is owned by the builder and should\nnot be freed manually.\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":"GIT_SUCCESS or an error code"},"description":"Add or update an entry to the builder","comments":"Insert a new entry for `filename` in the builder with the\ngiven attributes.\n\nif an entry named `filename` already exists, its attributes\nwill be updated with the given ones.\n\nThe optional pointer `entry_out` can be used to retrieve a\npointer to the newly created/updated entry.\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"},"description":"Remove an entry from the builder by its filename","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 *"}],"argline":"git_treebuilder *bld, int (*filter)(const git_tree_entry *, void *), void *payload","sig":"git_treebuilder *::int (*)(const git_tree_entry *, void *)::void *","return":{"type":"void"},"description":"Filter the entries in the tree","comments":"The `filter` callback will be called for each entry\nin the tree with a pointer to the entry and the\nprovided `payload`: if the callback returns 1, the\nentry will be filtered (removed from the builder).\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":"GIT_SUCCESS or an error code"},"description":"Write the contents of the tree builder as a tree object","comments":"The tree builder will be written to the given `repo`, and\nit's identifying SHA1 hash will be stored in the `oid`\npointer.\n","group":"treebuilder"},"git_tree_get_subtree":{"type":"function","file":"tree.h","line":284,"lineto":284,"args":[{"name":"subtree","type":"git_tree **","comment":"Pointer where to store the subtree"},{"name":"root","type":"git_tree *","comment":"A previously loaded tree which will be the root of the relative path"},{"name":"subtree_path","type":"const char *","comment":"Path to the contained subtree"}],"argline":"git_tree **subtree, git_tree *root, const char *subtree_path","sig":"git_tree **::git_tree *::const char *","return":{"type":"int","comment":"GIT_SUCCESS on success; GIT_ENOTFOUND if the path does not lead to a subtree, GIT_EINVALIDPATH or an error code"},"description":"Retrieve a subtree contained in a tree, given its\nrelative path.","comments":"The returned tree is owned by the repository and\nshould be closed with the `git_object_free` method.\n","group":"tree"},"git_tree_walk":{"type":"function","file":"tree.h","line":314,"lineto":314,"args":[{"name":"tree","type":"git_tree *","comment":"The tree to walk"},{"name":"callback","type":"git_treewalk_cb","comment":"Function to call on each tree entry"},{"name":"mode","type":"int","comment":"Traversal mode (pre or post-order)"},{"name":"payload","type":"void *","comment":"Opaque pointer to be passed on each callback"}],"argline":"git_tree *tree, git_treewalk_cb callback, int mode, void *payload","sig":"git_tree *::git_treewalk_cb::int::void *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Traverse the entries in a tree and its subtrees in\npost or pre order","comments":"The entries will be traversed in the specified order,\nchildren subtrees will be automatically loaded as required,\nand the `callback` will be called once per entry with\nthe current (relative) root for the entry and the entry\ndata itself.\n\nIf the callback returns a negative value, the passed entry\nwill be skiped on the traversal.\n","group":"tree"},"git_tree_diff":{"type":"function","file":"tree.h","line":348,"lineto":353,"args":[{"name":"old","type":"git_tree *","comment":"the \"old\" tree"},{"name":"newer","type":"git_tree *","comment":"the \"newer\" tree"},{"name":"cb","type":"git_tree_diff_cb","comment":"callback"},{"name":"data","type":"void *","comment":"data to give to the callback"}],"argline":"git_tree *old, git_tree *newer, git_tree_diff_cb cb, void *data","sig":"git_tree *::git_tree *::git_tree_diff_cb::void *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Diff two trees","comments":"Compare two trees. For each difference in the trees, the callback\nwill be called with a git_tree_diff_data filled with the relevant\ninformation.\n","group":"tree"},"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. Set to NULL if the open failed."}],"argline":"git_odb **out","sig":"git_odb **","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Create a new object database with no backends.","comments":"Before the ODB can be used for read/writing, a custom database\nbackend must be manually added using `git_odb_add_backend()`\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. Set to NULL if the open failed."},{"name":"objects_dir","type":"const char *","comment":"path of the backends' \"objects\" directory."}],"argline":"git_odb **out, const char *objects_dir","sig":"git_odb **::const char *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Create a new object database and automatically add\nthe two default backends:","comments":"- git_odb_backend_loose: read and write loose object files\n\tfrom disk, assuming `objects_dir` as the Objects folder\n\n- git_odb_backend_pack: read objects from packfiles,\n\tassuming `objects_dir` as the Objects folder which\n\tcontains a 'pack/' folder with the corresponding data\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":"Add a custom backend to an existing Object DB","comments":"The backends are checked in relative ordering, based on the\nvalue of the `priority` parameter.\n\nRead <odb_backends.h> for more information.\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":"Add a custom backend to an existing Object DB; this\nbackend will work as an alternate.","comments":"Alternate backends are always checked for objects *after*\nall the main backends have been exhausted.\n\nThe backends are checked in relative ordering, based on the\nvalue of the `priority` parameter.\n\nWriting is disabled on alternate backends.\n\nRead <odb_backends.h> for more information.\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"},"description":"Close an open object database.","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":"- GIT_SUCCESS if the object was read; - GIT_ENOTFOUND if the object is not in the database."},"description":"Read an object from the database.","comments":"This method queries all available ODB backends\ntrying to read the given OID.\n\nThe returned object is reference counted and\ninternally cached, so it should be closed\nby the user once it's no longer in use.\n","group":"odb","examples":{"general.c":["ex/v0.16.0/general.html#git_odb_read-49"]}},"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":"GIT_SUCCESS if the object was read; GIT_ENOTFOUND if the object is not in the database. GIT_EAMBIGUOUS if the prefix is ambiguous (several objects match the prefix)"},"description":"Read an object from the database, given a prefix\nof its identifier.","comments":"This method queries all available ODB backends\ntrying to match the 'len' first hexadecimal\ncharacters of the 'short_id'.\nThe remaining (GIT_OID_HEXSZ-len)*4 bits of\n'short_id' must be 0s.\n'len' must be at least GIT_OID_MINPREFIXLEN,\nand the prefix must be long enough to identify\na unique object in all the backends; the\nmethod will fail otherwise.\n\nThe returned object is reference counted and\ninternally cached, so it should be closed\nby the user once it's no longer in use.\n","group":"odb"},"git_odb_read_header":{"type":"function","file":"odb.h","line":162,"lineto":162,"args":[{"name":"len_p","type":"size_t *","comment":"pointer where to store the length"},{"name":"type_p","type":"git_otype *","comment":"pointer where to store the type"},{"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":"size_t *len_p, git_otype *type_p, git_odb *db, const git_oid *id","sig":"size_t *::git_otype *::git_odb *::const git_oid *","return":{"type":"int","comment":"- GIT_SUCCESS if the object was read; - GIT_ENOTFOUND if the object is not in the database."},"description":"Read the header of an object from the database, without\nreading its full contents.","comments":"The header includes the length and the type of an object.\n\nNote that most backends do not support reading only the header\nof an object, so the whole object will be read and then the\nheader will be returned.\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 - 0, otherwise"},"description":"Determine if the given object can be found in the object database.","comments":"","group":"odb"},"git_odb_write":{"type":"function","file":"odb.h","line":193,"lineto":193,"args":[{"name":"oid","type":"git_oid *","comment":"pointer to store the OID result of the write"},{"name":"odb","type":"git_odb *","comment":"object database where to store the object"},{"name":"data","type":"const void *","comment":"buffer with the data to storr"},{"name":"len","type":"size_t","comment":"size of the buffer"},{"name":"type","type":"git_otype","comment":"type of the data to store"}],"argline":"git_oid *oid, git_odb *odb, const void *data, size_t len, git_otype type","sig":"git_oid *::git_odb *::const void *::size_t::git_otype","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Write an object directly into the ODB","comments":"This method writes a full object straight into the ODB.\nFor most cases, it is preferred to write objects through a write\nstream, which is both faster and less memory intensive, specially\nfor big objects.\n\nThis method is provided for compatibility with custom backends\nwhich are not able to support streaming writes\n","group":"odb","examples":{"general.c":["ex/v0.16.0/general.html#git_odb_write-50"]}},"git_odb_open_wstream":{"type":"function","file":"odb.h","line":222,"lineto":222,"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 write"},{"name":"size","type":"size_t","comment":"final size of the object that will be written"},{"name":"type","type":"git_otype","comment":"type of the object that will be written"}],"argline":"git_odb_stream **stream, git_odb *db, size_t size, git_otype type","sig":"git_odb_stream **::git_odb *::size_t::git_otype","return":{"type":"int","comment":"0 if the stream was created; error code otherwise"},"description":"Open a stream to write an object into the ODB","comments":"The type and final length of the object must be specified\nwhen opening the stream.\n\nThe returned stream will be of type `GIT_STREAM_WRONLY` and\nwill have the following methods:\n\n\t- stream->write: write `n` bytes into the stream\n\t- stream->finalize_write: close the stream and store the object in\n\t\tthe odb\n\t- stream->free: free the stream\n\nThe streaming write won't be effective until `stream->finalize_write`\nis called and returns without an error\n\nThe stream must always be free'd or will leak memory.\n\n@see git_odb_stream\n","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":"Open a stream to read an object from the ODB","comments":"Note that most backends do *not* support streaming reads\nbecause they store their objects as compressed/delta'ed blobs.\n\nIt's recommended to use `git_odb_read` instead, which is\nassured to work on all backends.\n\nThe returned stream will be of type `GIT_STREAM_RDONLY` and\nwill have the following methods:\n\n\t- stream->read: read `n` bytes from the stream\n\t- stream->free: free the stream\n\nThe stream must always be free'd or will leak memory.\n\n@see git_odb_stream\n","group":"odb"},"git_odb_hash":{"type":"function","file":"odb.h","line":262,"lineto":262,"args":[{"name":"id","type":"git_oid *","comment":"the resulting object-ID."},{"name":"data","type":"const void *","comment":"data to hash"},{"name":"len","type":"size_t","comment":"size of the data"},{"name":"type","type":"git_otype","comment":"of the data to hash"}],"argline":"git_oid *id, const void *data, size_t len, git_otype type","sig":"git_oid *::const void *::size_t::git_otype","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Determine the object-ID (sha1 hash) of a data buffer","comments":"The resulting SHA-1 OID will the itentifier for the data\nbuffer as if the data buffer it were to written to the ODB.\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":"GIT_SUCCESS or an error code"},"description":"Read a file from disk and fill a git_oid with the object id\nthat the file would have if it were written to the Object\nDatabase as an object of the given type. Similar functionality\nto git.git's `git hash-object` without the `-w` flag.","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"},"description":"Close an ODB object","comments":"This method must always be called once a `git_odb_object` is no\nlonger needed, otherwise memory will leak.\n","group":"odb","examples":{"general.c":["ex/v0.16.0/general.html#git_odb_object_free-51"]}},"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":"Return the OID of an ODB object","comments":"This is the OID from which the object was read from\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":"Return the data of an ODB object","comments":"This is the uncompressed, raw data as read from the ODB,\nwithout the leading header.\n\nThis pointer is owned by the object and shall not be free'd.\n","group":"odb","examples":{"general.c":["ex/v0.16.0/general.html#git_odb_object_data-52"]}},"git_odb_object_size":{"type":"function","file":"odb.h","line":319,"lineto":319,"args":[{"name":"object","type":"git_odb_object *","comment":"the object"}],"argline":"git_odb_object *object","sig":"git_odb_object *","return":{"type":"size_t","comment":"the size"},"description":"Return the size of an ODB object","comments":"This is the real size of the `data` buffer, not the\nactual size of the object.\n","group":"odb","examples":{"general.c":["ex/v0.16.0/general.html#git_odb_object_size-53"]}},"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":"Return the type of an ODB object","comments":"","group":"odb","examples":{"general.c":["ex/v0.16.0/general.html#git_odb_object_type-54"]}},"git_threads_init":{"type":"function","file":"threads.h","line":31,"lineto":31,"args":[],"argline":"void","sig":"","return":{"type":"void"},"description":"Init the threading system.","comments":"If libgit2 has been built with GIT_THREADS\non, this function must be called once before\nany other library functions.\n\nIf libgit2 has been built without GIT_THREADS\nsupport, this function is a no-op.","group":"threads"},"git_threads_shutdown":{"type":"function","file":"threads.h","line":43,"lineto":43,"args":[],"argline":"void","sig":"","return":{"type":"void"},"description":"Shutdown the threading system.","comments":"If libgit2 has been built with GIT_THREADS\non, this function must be called before shutting\ndown the library.\n\nIf libgit2 has been built without GIT_THREADS\nsupport, this function is a no-op.","group":"threads"},"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 the hex sequence and have at least the number of bytes needed for an oid encoded in hex (40 bytes)."}],"argline":"git_oid *out, const char *str","sig":"git_oid *::const char *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Parse a hex formatted object id into a git_oid.","comments":"","group":"oid","examples":{"general.c":["ex/v0.16.0/general.html#git_oid_fromstr-55","ex/v0.16.0/general.html#git_oid_fromstr-56","ex/v0.16.0/general.html#git_oid_fromstr-57","ex/v0.16.0/general.html#git_oid_fromstr-58","ex/v0.16.0/general.html#git_oid_fromstr-59","ex/v0.16.0/general.html#git_oid_fromstr-60","ex/v0.16.0/general.html#git_oid_fromstr-61","ex/v0.16.0/general.html#git_oid_fromstr-62"]}},"git_oid_fromstrn":{"type":"function","file":"oid.h","line":61,"lineto":61,"args":[{"name":"out","type":"git_oid *","comment":"oid structure the result is written into."},{"name":"str","type":"const char *","comment":"input hex string of at least size `length`"},{"name":"length","type":"size_t","comment":"length of the input string"}],"argline":"git_oid *out, const char *str, size_t length","sig":"git_oid *::const char *::size_t","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Parse N characters of a hex formatted object id into a git_oid","comments":"If N is odd, N-1 characters will be parsed instead.\nThe remaining space in the git_oid will be set to zero.\n","group":"oid"},"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"},"description":"Copy an already raw oid into a git_oid structure.","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 the hex sequence and have at least the number of bytes needed for an oid encoded in hex (40 bytes). Only the oid digits are written; a '\\\\0' terminator must be added by 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"},"description":"Format a git_oid into a hex string.","comments":"","group":"oid","examples":{"showindex.c":["ex/v0.16.0/showindex.html#git_oid_fmt-8"],"general.c":["ex/v0.16.0/general.html#git_oid_fmt-63","ex/v0.16.0/general.html#git_oid_fmt-64","ex/v0.16.0/general.html#git_oid_fmt-65","ex/v0.16.0/general.html#git_oid_fmt-66","ex/v0.16.0/general.html#git_oid_fmt-67"],"network/ls-remote.c":["ex/v0.16.0/ls-remote.html#git_oid_fmt-10"],"network/index-pack.c":["ex/v0.16.0/index-pack.html#git_oid_fmt-6"],"network/fetch.c":["ex/v0.16.0/fetch.html#git_oid_fmt-12"]}},"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 the hex sequence and have at least the number of bytes needed for an oid encoded in hex (41 bytes). Only the oid digits are written; a '\\\\0' terminator must be added by 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"},"description":"Format a git_oid into a loose-object path string.","comments":"The resulting string is \"aa/...\", where \"aa\" is the first two\nhex digitis of the oid and \"...\" is the remaining 38 digits.\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 deallocate the string with git__free()."},"description":"Format a git_oid into a newly allocated c-string.","comments":"","group":"oid"},"git_oid_to_string":{"type":"function","file":"oid.h","line":122,"lineto":122,"args":[{"name":"out","type":"char *","comment":"the buffer into which the oid string is output."},{"name":"n","type":"size_t","comment":"the size of the out buffer."},{"name":"oid","type":"const git_oid *","comment":"the oid structure to format."}],"argline":"char *out, size_t n, const git_oid *oid","sig":"char *::size_t::const git_oid *","return":{"type":"char *","comment":"the out buffer pointer, assuming no input parameter errors, otherwise a pointer to an empty string."},"description":"Format a git_oid into a buffer as a hex format c-string.","comments":"If the buffer is smaller than GIT_OID_HEXSZ+1, then the resulting\noid c-string will be truncated to n-1 characters. If there are\nany input parameter errors (out == NULL, n == 0, oid == NULL),\nthen a pointer to an empty string is returned, so that the return\nvalue can always be printed.\n","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"},"description":"Copy an oid from one structure to another.","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":"<0, 0, >0 if a < b, a == b, a > b."},"description":"Compare two oid structures.","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":"Compare the first 'len' hexadecimal characters (packets of 4 bits)\nof two oid structures.","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, GIT_SUCCESS in case of a match, GIT_ERROR otherwise."},"description":"Check if an oid equals an hex formatted object id.","comments":"","group":"oid"},"git_oid_shorten_new":{"type":"function","file":"oid.h","line":181,"lineto":181,"args":[{"name":"min_length","type":"size_t","comment":"The minimal length for all identifiers, which will be used even if shorter OIDs would still be unique."}],"argline":"size_t min_length","sig":"size_t","return":{"type":"git_oid_shorten *","comment":"a `git_oid_shorten` instance, NULL if OOM"},"description":"Create a new OID shortener.","comments":"The OID shortener is used to process a list of OIDs\nin text form and return the shortest length that would\nuniquely identify all of them.\n\nE.g. look at the result of `git log --abbrev`.\n","group":"oid"},"git_oid_shorten_add":{"type":"function","file":"oid.h","line":207,"lineto":207,"args":[{"name":"os","type":"git_oid_shorten *","comment":"a `git_oid_shorten` instance"},{"name":"text_oid","type":"const char *","comment":"an OID in text form"}],"argline":"git_oid_shorten *os, const char *text_oid","sig":"git_oid_shorten *::const char *","return":{"type":"int","comment":"the minimal length to uniquely identify all OIDs added so far to the set; or an error code (<0) if an error occurs."},"description":"Add a new OID to set of shortened OIDs and calculate\nthe minimal length to uniquely identify all the OIDs in\nthe set.","comments":"The OID is expected to be a 40-char hexadecimal string.\nThe OID is owned by the user and will not be modified\nor freed.\n\nFor performance reasons, there is a hard-limit of how many\nOIDs can be added to a single set (around ~22000, assuming\na mostly randomized distribution), which should be enough\nfor any kind of program, and keeps the algorithm fast and\nmemory-efficient.\n\nAttempting to add more than those OIDs will result in a\nGIT_ENOMEM error\n","group":"oid"},"git_oid_shorten_free":{"type":"function","file":"oid.h","line":214,"lineto":214,"args":[{"name":"os","type":"git_oid_shorten *","comment":"a `git_oid_shorten` instance"}],"argline":"git_oid_shorten *os","sig":"git_oid_shorten *","return":{"type":"void"},"description":"Free an OID shortener instance","comments":"","group":"oid"},"git_attr_get":{"type":"function","file":"attr.h","line":33,"lineto":35,"args":[{"name":"repo","type":"git_repository *"},{"name":"path","type":"const char *"},{"name":"name","type":"const char *"},{"name":"value","type":"const char **"}],"argline":"git_repository *repo, const char *path, const char *name,\n\tconst char **value","sig":"git_repository *::const char *::const char *::const char **","return":{"type":"int"},"description":"Lookup attribute for path returning string caller must free","comments":"","group":"attr"},"git_attr_get_many":{"type":"function","file":"attr.h","line":40,"lineto":43,"args":[{"name":"repo","type":"git_repository *"},{"name":"path","type":"const char *"},{"name":"num_attr","type":"size_t"},{"name":"names","type":"const char **"},{"name":"values","type":"const char **"}],"argline":"git_repository *repo, const char *path,\n size_t num_attr, const char **names,\n\tconst char **values","sig":"git_repository *::const char *::size_t::const char **::const char **","return":{"type":"int"},"description":"Lookup list of attributes for path, populating array of strings","comments":"","group":"attr"},"git_attr_foreach":{"type":"function","file":"attr.h","line":48,"lineto":51,"args":[{"name":"repo","type":"git_repository *"},{"name":"path","type":"const char *"},{"name":"callback","type":"int (*)(const char *name, const char *value, void *payload)"},{"name":"payload","type":"void *"}],"argline":"git_repository *repo, const char *path,\n\tint (*callback)(const char *name, const char *value, void *payload),\n\tvoid *payload","sig":"git_repository *::const char *::int (*)(const char *name, const char *value, void *payload)::void *","return":{"type":"int"},"description":"Perform an operation on each attribute of a path.","comments":"","group":"attr"},"git_attr_cache_flush":{"type":"function","file":"attr.h","line":59,"lineto":60,"args":[{"name":"repo","type":"git_repository *"}],"argline":"git_repository *repo","sig":"git_repository *","return":{"type":"void"},"description":"Flush the gitattributes cache.","comments":"Call this if you have reason to believe that the attributes files\non disk no longer match the cached contents of memory.","group":"attr"},"git_attr_add_macro":{"type":"function","file":"attr.h","line":72,"lineto":75,"args":[{"name":"repo","type":"git_repository *"},{"name":"name","type":"const char *"},{"name":"values","type":"const char *"}],"argline":"git_repository *repo,\n\tconst char *name,\n\tconst char *values","sig":"git_repository *::const char *::const char *","return":{"type":"int"},"description":"Add a macro definition.","comments":"Macros will automatically be loaded from the top level .gitattributes\nfile of the repository (plus the build-in \"binary\" macro). This\nfunction allows you to add others. For example, to add the default\nmacro, you would call:\n\n git_attr_add_macro(repo, \"binary\", \"-diff -crlf\");","group":"attr"},"git_lasterror":{"type":"function","file":"errors.h","line":123,"lineto":123,"args":[],"argline":"void","sig":"","return":{"type":"const char *","comment":"a string explaining the error"},"description":"Return a detailed error string with the latest error\nthat occurred in the library.\n@return a string explaining the error","comments":"","group":"errors","examples":{"network/git2.c":["ex/v0.16.0/git2.html#git_lasterror-3"]}},"git_strerror":{"type":"function","file":"errors.h","line":135,"lineto":135,"args":[{"name":"num","type":"int","comment":"The error code to explain"}],"argline":"int num","sig":"int","return":{"type":"const char *","comment":"a string explaining the error code"},"description":"strerror() for the Git library","comments":"Get a string description for a given error code.\nNOTE: This method will be eventually deprecated in favor\nof the new `git_lasterror`.\n","group":"errors"},"git_clearerror":{"type":"function","file":"errors.h","line":140,"lineto":140,"args":[],"argline":"void","sig":"","return":{"type":"void"},"description":"Clear the latest library error","comments":"","group":"errors"},"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":"GIT_SUCCESS or an error code"},"description":"Allocate a new revision walker to iterate through a repo.","comments":"This revision walker uses a custom memory pool and an internal\ncommit cache, so it is relatively expensive to allocate.\n\nFor maximum performance, this revision walker should be\nreused for different walks.\n\nThis revision walker is *not* thread safe: it may only be\nused to walk a repository on a single thread; however,\nit is possible to have several revision walkers in\nseveral different threads walking the same repository.\n","group":"revwalk","examples":{"general.c":["ex/v0.16.0/general.html#git_revwalk_new-68"]}},"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"},"description":"Reset the revision walker for reuse.","comments":"This will clear all the pushed and hidden commits, and\nleave the walker in a blank state (just like at\ncreation) ready to receive new commit pushes and\nstart a new walk.\n\nThe revision walk is automatically reset when a walk\nis over.\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":"GIT_SUCCESS or an error code"},"description":"Mark a commit to start traversal from.","comments":"The given OID must belong to a commit on the walked\nrepository.\n\nThe given commit will be used as one of the roots\nwhen starting the revision walk. At least one commit\nmust be pushed the repository before a walk can\nbe started.\n","group":"revwalk","examples":{"general.c":["ex/v0.16.0/general.html#git_revwalk_push-69"]}},"git_revwalk_hide":{"type":"function","file":"revwalk.h","line":118,"lineto":118,"args":[{"name":"walk","type":"git_revwalk *","comment":"the walker being used for the traversal."},{"name":"oid","type":"const git_oid *","comment":"the oid of commit that will be ignored during the traversal"}],"argline":"git_revwalk *walk, const git_oid *oid","sig":"git_revwalk *::const git_oid *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Mark a commit (and its ancestors) uninteresting for the output.","comments":"The given OID must belong to a commit on the walked\nrepository.\n\nThe resolved commit and all its parents will be hidden from the\noutput on the revision walk.\n","group":"revwalk"},"git_revwalk_next":{"type":"function","file":"revwalk.h","line":138,"lineto":138,"args":[{"name":"oid","type":"git_oid *","comment":"Pointer where to store the oid of the next commit"},{"name":"walk","type":"git_revwalk *","comment":"the walker to pop the commit from."}],"argline":"git_oid *oid, git_revwalk *walk","sig":"git_oid *::git_revwalk *","return":{"type":"int","comment":"GIT_SUCCESS if the next commit was found; GIT_EREVWALKOVER if there are no commits left to iterate"},"description":"Get the next commit from the revision walk.","comments":"The initial call to this method is *not* blocking when\niterating through a repo with a time-sorting mode.\n\nIterating with Topological or inverted modes makes the initial\ncall blocking to preprocess the commit list, but this block should be\nmostly unnoticeable on most repositories (topological preprocessing\ntimes at 0.3s on the git.git repo).\n\nThe revision walker is reset when the walk is over.\n","group":"revwalk","examples":{"general.c":["ex/v0.16.0/general.html#git_revwalk_next-70"]}},"git_revwalk_sorting":{"type":"function","file":"revwalk.h","line":149,"lineto":149,"args":[{"name":"walk","type":"git_revwalk *","comment":"the walker being used for the traversal."},{"name":"sort_mode","type":"unsigned int","comment":"combination of GIT_SORT_XXX flags"}],"argline":"git_revwalk *walk, unsigned int sort_mode","sig":"git_revwalk *::unsigned int","return":{"type":"void"},"description":"Change the sorting mode when iterating through the\nrepository's contents.","comments":"Changing the sorting mode resets the walker.\n","group":"revwalk","examples":{"general.c":["ex/v0.16.0/general.html#git_revwalk_sorting-71"]}},"git_revwalk_free":{"type":"function","file":"revwalk.h","line":156,"lineto":156,"args":[{"name":"walk","type":"git_revwalk *","comment":"traversal handle to close. If NULL nothing occurs."}],"argline":"git_revwalk *walk","sig":"git_revwalk *","return":{"type":"void"},"description":"Free a revision walker previously allocated.","comments":"","group":"revwalk","examples":{"general.c":["ex/v0.16.0/general.html#git_revwalk_free-72"]}},"git_revwalk_repository":{"type":"function","file":"revwalk.h","line":165,"lineto":165,"args":[{"name":"walk","type":"git_revwalk *","comment":"the revision walker"}],"argline":"git_revwalk *walk","sig":"git_revwalk *","return":{"type":"git_repository *","comment":"the repository being walked"},"description":"Return the repository on which this walker\nis operating.","comments":"","group":"revwalk"},"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,\n\t\tgit_repository *repo,\n\t\tconst git_oid *id,\n\t\tgit_otype type","sig":"git_object **::git_repository *::const git_oid *::git_otype","return":{"type":"int","comment":"a reference to the object"},"description":"Lookup a reference to one of the objects in a repostory.","comments":"The generated reference is owned by the repository and\nshould be closed with the `git_object_free` method\ninstead of free'd manually.\n\nThe 'type' parameter must match the type of the object\nin the odb; the method will fail otherwise.\nThe special value 'GIT_OBJ_ANY' may be passed to let\nthe method guess the object's type.\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,\n\t\tgit_repository *repo,\n\t\tconst git_oid *id,\n\t\tunsigned int len,\n\t\tgit_otype type","sig":"git_object **::git_repository *::const git_oid *::unsigned int::git_otype","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Lookup a reference to one of the objects in a repostory,\ngiven a prefix of its identifier (short id).","comments":"The object obtained will be so that its identifier\nmatches the first 'len' hexadecimal characters\n(packets of 4 bits) of the given 'id'.\n'len' must be at least GIT_OID_MINPREFIXLEN, and\nlong enough to identify a unique object matching\nthe prefix; otherwise the method will fail.\n\nThe generated reference is owned by the repository and\nshould be closed with the `git_object_free` method\ninstead of free'd manually.\n\nThe 'type' parameter must match the type of the object\nin the odb; the method will fail otherwise.\nThe special value 'GIT_OBJ_ANY' may be passed to let\nthe method guess the object's type.\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":"Get the id (SHA1) of a repository object","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":"Get the object type of an object","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":"Get the repository that owns this object","comments":"Freeing or calling `git_repository_close` on the\nreturned pointer will invalidate the actual object.\n\nAny other operation may be run on the repository without\naffecting the object.\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"},"description":"Close an open object","comments":"This method instructs the library to close an existing\nobject; note that git_objects are owned and cached by the repository\nso the object may or may not be freed after this library call,\ndepending on how agressive is the caching mechanism used\nby the repository.\n\nIMPORTANT:\nIt *is* necessary to call this method when you stop using\nan object. Failure to do so will cause a memory leak.\n","group":"object","examples":{"general.c":["ex/v0.16.0/general.html#git_object_free-73"]}},"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":"Convert an object type to it's string representation.","comments":"The result is a pointer to a string in static memory and\nshould not be free()'ed.\n","group":"object","examples":{"general.c":["ex/v0.16.0/general.html#git_object_type2string-74"]}},"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":"Convert a string object type representation to it's git_otype.","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, false otherwise."},"description":"Determine if the given git_otype is a valid loose object type.","comments":"","group":"object"},"git_object__size":{"type":"function","file":"object.h","line":168,"lineto":168,"args":[{"name":"type","type":"git_otype","comment":"object type to get its size"}],"argline":"git_otype type","sig":"git_otype","return":{"type":"size_t","comment":"size in bytes of the object"},"description":"Get the size in bytes for the structure which\nacts as an in-memory representation of any given\nobject type.","comments":"For all the core types, this would the equivalent\nof calling `sizeof(git_commit)` if the core types\nwere not opaque on the external API.\n","group":"object"},"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":"GIT_SUCCESS or an error code"},"description":"Lookup a reference by its name in a repository.","comments":"The generated reference must be freed by the user.\n","group":"reference","examples":{"general.c":["ex/v0.16.0/general.html#git_reference_lookup-75"]}},"git_reference_create_symbolic":{"type":"function","file":"refs.h","line":53,"lineto":53,"args":[{"name":"ref_out","type":"git_reference **","comment":"Pointer to the newly created reference"},{"name":"repo","type":"git_repository *","comment":"Repository where that reference will live"},{"name":"name","type":"const char *","comment":"The name of the reference"},{"name":"target","type":"const char *","comment":"The target of the reference"},{"name":"force","type":"int","comment":"Overwrite existing references"}],"argline":"git_reference **ref_out, git_repository *repo, const char *name, const char *target, int force","sig":"git_reference **::git_repository *::const char *::const char *::int","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Create a new symbolic reference.","comments":"The reference will be created in the repository and written\nto the disk.\n\nThe generated reference must be freed by the user.\n\nIf `force` is true and there already exists a reference\nwith the same name, it will be overwritten.\n","group":"reference"},"git_reference_create_oid":{"type":"function","file":"refs.h","line":73,"lineto":73,"args":[{"name":"ref_out","type":"git_reference **","comment":"Pointer to the newly created reference"},{"name":"repo","type":"git_repository *","comment":"Repository where that reference will live"},{"name":"name","type":"const char *","comment":"The name of the reference"},{"name":"id","type":"const git_oid *","comment":"The object id pointed to by the reference."},{"name":"force","type":"int","comment":"Overwrite existing references"}],"argline":"git_reference **ref_out, git_repository *repo, const char *name, const git_oid *id, int force","sig":"git_reference **::git_repository *::const char *::const git_oid *::int","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Create a new object id reference.","comments":"The reference will be created in the repository and written\nto the disk.\n\nThe generated reference must be freed by the user.\n\nIf `force` is true and there already exists a reference\nwith the same name, it will be overwritten.\n","group":"reference"},"git_reference_oid":{"type":"function","file":"refs.h","line":83,"lineto":83,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"const git_oid *","comment":"a pointer to the oid if available, NULL otherwise"},"description":"Get the OID pointed to by a reference.","comments":"Only available if the reference is direct (i.e. not symbolic)\n","group":"reference","examples":{"general.c":["ex/v0.16.0/general.html#git_reference_oid-76"]}},"git_reference_target":{"type":"function","file":"refs.h","line":93,"lineto":93,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"const char *","comment":"a pointer to the name if available, NULL otherwise"},"description":"Get full name to the reference pointed by this reference","comments":"Only available if the reference is symbolic\n","group":"reference","examples":{"general.c":["ex/v0.16.0/general.html#git_reference_target-77"]}},"git_reference_type":{"type":"function","file":"refs.h","line":103,"lineto":103,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"git_rtype","comment":"the type"},"description":"Get the type of a reference","comments":"Either direct (GIT_REF_OID) or symbolic (GIT_REF_SYMBOLIC)\n","group":"reference","examples":{"general.c":["ex/v0.16.0/general.html#git_reference_type-78"]}},"git_reference_name":{"type":"function","file":"refs.h","line":111,"lineto":111,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"const char *","comment":"the full name for the ref"},"description":"Get the full name of a reference","comments":"","group":"reference"},"git_reference_resolve":{"type":"function","file":"refs.h","line":131,"lineto":131,"args":[{"name":"resolved_ref","type":"git_reference **","comment":"Pointer to the peeled reference"},{"name":"ref","type":"git_reference *","comment":"The reference"}],"argline":"git_reference **resolved_ref, git_reference *ref","sig":"git_reference **::git_reference *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Resolve a symbolic reference","comments":"Thie method iteratively peels a symbolic reference\nuntil it resolves to a direct reference to an OID.\n\nThe peeled reference is returned in the `resolved_ref`\nargument, and must be freed manually once it's no longer\nneeded.\n\nIf a direct reference is passed as an argument,\na copy of that reference is returned. This copy must\nbe manually freed too.\n","group":"reference"},"git_reference_owner":{"type":"function","file":"refs.h","line":139,"lineto":139,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"git_repository *","comment":"a pointer to the repo"},"description":"Get the repository where a reference resides","comments":"","group":"reference"},"git_reference_set_target":{"type":"function","file":"refs.h","line":154,"lineto":154,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"},{"name":"target","type":"const char *","comment":"The new target for the reference"}],"argline":"git_reference *ref, const char *target","sig":"git_reference *::const char *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Set the symbolic target of a reference.","comments":"The reference must be a symbolic reference, otherwise\nthis method will fail.\n\nThe reference will be automatically updated in\nmemory and on disk.\n","group":"reference"},"git_reference_set_oid":{"type":"function","file":"refs.h","line":169,"lineto":169,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"},{"name":"id","type":"const git_oid *","comment":"The new target OID for the reference"}],"argline":"git_reference *ref, const git_oid *id","sig":"git_reference *::const git_oid *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Set the OID target of a reference.","comments":"The reference must be a direct reference, otherwise\nthis method will fail.\n\nThe reference will be automatically updated in\nmemory and on disk.\n","group":"reference"},"git_reference_rename":{"type":"function","file":"refs.h","line":197,"lineto":197,"args":[{"name":"ref","type":"git_reference *","comment":"The reference to rename"},{"name":"new_name","type":"const char *","comment":"The new name for the reference"},{"name":"force","type":"int","comment":"Overwrite an existing reference"}],"argline":"git_reference *ref, const char *new_name, int force","sig":"git_reference *::const char *::int","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Rename an existing reference","comments":"This method works for both direct and symbolic references.\nThe new name will be checked for validity and may be\nmodified into a normalized form.\n\nThe given git_reference will be updated in place.\n\nThe reference will be immediately renamed in-memory\nand on disk.\n\nIf the `force` flag is not enabled, and there's already\na reference with the given name, the renaming will fail.\n\nIMPORTANT:\nThe user needs to write a proper reflog entry if the\nreflog is enabled for the repository. We only rename\nthe reflog if it exists.\n","group":"reference"},"git_reference_delete":{"type":"function","file":"refs.h","line":210,"lineto":210,"args":[{"name":"ref","type":"git_reference *","comment":"The reference to remove"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Delete an existing reference","comments":"This method works for both direct and symbolic references.\n\nThe reference will be immediately removed on disk and from\nmemory. The given reference pointer will no longer be valid.\n","group":"reference"},"git_reference_packall":{"type":"function","file":"refs.h","line":225,"lineto":225,"args":[{"name":"repo","type":"git_repository *","comment":"Repository where the loose refs will be packed"}],"argline":"git_repository *repo","sig":"git_repository *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Pack all the loose references in the repository","comments":"This method will load into the cache all the loose\nreferences on the repository and update the\n`packed-refs` file with them.\n\nOnce the `packed-refs` file has been written properly,\nthe loose references will be removed from disk.\n","group":"reference"},"git_reference_listall":{"type":"function","file":"refs.h","line":248,"lineto":248,"args":[{"name":"array","type":"git_strarray *","comment":"Pointer to a git_strarray structure where the 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 listing."}],"argline":"git_strarray *array, git_repository *repo, unsigned int list_flags","sig":"git_strarray *::git_repository *::unsigned int","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Fill a list with all the references that can be found\nin a repository.","comments":"The listed references may be filtered by type, or using\na bitwise OR of several types. Use the magic value\n`GIT_REF_LISTALL` to obtain all references, including\npacked ones.\n\nThe string array will be filled with the names of all\nreferences; these values are owned by the user and\nshould be free'd manually when no longer needed, using\n`git_strarray_free`.\n","group":"reference","examples":{"general.c":["ex/v0.16.0/general.html#git_reference_listall-79"]}},"git_reference_foreach":{"type":"function","file":"refs.h","line":270,"lineto":270,"args":[{"name":"repo","type":"git_repository *","comment":"Repository where to find the refs"},{"name":"list_flags","type":"unsigned int","comment":"Filtering flags for the reference listing."},{"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 (*callback)(const char *, void *), void *payload","sig":"git_repository *::unsigned int::int (*)(const char *, void *)::void *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Perform an operation on each reference in the repository","comments":"The processed references may be filtered by type, or using\na bitwise OR of several types. Use the magic value\n`GIT_REF_LISTALL` to obtain all references, including\npacked ones.\n\nThe `callback` function will be called for each of the references\nin the repository, and will receive the name of the reference and\nthe `payload` value passed to this method.\n","group":"reference"},"git_reference_is_packed":{"type":"function","file":"refs.h","line":278,"lineto":278,"args":[{"name":"ref","type":"git_reference *","comment":"A git reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"int","comment":"0 in case it's not packed; 1 otherwise"},"description":"Check if a reference has been loaded from a packfile","comments":"","group":"reference"},"git_reference_reload":{"type":"function","file":"refs.h","line":298,"lineto":298,"args":[{"name":"ref","type":"git_reference *","comment":"The reference to reload"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"int","comment":"GIT_SUCCESS on success, or an error code"},"description":"Reload a reference from disk","comments":"Reference pointers may become outdated if the Git\nrepository is accessed simultaneously by other clients\nwhilt the library is open.\n\nThis method forces a reload of the reference from disk,\nto ensure that the provided information is still\nreliable.\n\nIf the reload fails (e.g. the reference no longer exists\non disk, or has become corrupted), an error code will be\nreturned and the reference pointer will be invalidated.\n","group":"reference"},"git_reference_free":{"type":"function","file":"refs.h","line":305,"lineto":305,"args":[{"name":"ref","type":"git_reference *","comment":"git_reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"void"},"description":"Free the given reference","comments":"","group":"reference"}},"globals":{"GIT_BEGIN_DECL":{"value":"","file":"common.h","line":24,"comments":"Start declarations in C mode"},"GIT_END_DECL":{"value":"","file":"common.h","line":26,"comments":"End declarations in C mode"},"GIT_EXTERN(type)":{"value":"extern __attribute__((visibility(\"default\"))) type","file":"common.h","line":30,"comments":"Declare a public function exported for application use."},"GIT_INLINE(type)":{"value":"static __inline type","file":"common.h","line":41,"comments":"Declare a function as always inlined."},"GIT_FORMAT_PRINTF(a,b)":{"value":"__attribute__((format (printf, a, b)))","file":"common.h","line":48,"comments":"Declare a function's takes printf style arguments."},"GIT_PATH_LIST_SEPARATOR":{"value":"';'","file":"common.h","line":73,"comments":"The separator used in path list strings (ie like in the PATH\nenvironment variable). A semi-colon \";\" is used on Windows, and\na colon \":\" for all other systems."},"GIT_PATH_MAX":{"value":"4096","file":"common.h","line":82,"comments":"The maximum length of a git valid git path."},"GIT_OID_RAWSZ":{"value":"20","file":"oid.h","line":23,"comments":"Size (in bytes) of a raw/binary oid"},"GIT_OID_HEXSZ":{"value":"(GIT_OID_RAWSZ * 2)","file":"oid.h","line":26,"comments":"Size (in bytes) of a hex formatted oid"},"GIT_OID_MINPREFIXLEN":{"value":"4","file":"oid.h","line":30,"comments":"Minimum length (in number of hex characters,\ni.e. packets of 4 bits) of an oid prefix"},"GIT_SORT_NONE":{"value":"(0)","file":"revwalk.h","line":29,"comments":"Sort the repository contents in no particular ordering;\nthis sorting is arbitrary, implementation-specific\nand subject to change at any time.\nThis is the default sorting for new walkers."},"GIT_SORT_TOPOLOGICAL":{"value":"(1 << 0)","file":"revwalk.h","line":36,"comments":"Sort the repository contents in topological order\n(parents before children); this sorting mode\ncan be combined with time sorting."},"GIT_SORT_TIME":{"value":"(1 << 1)","file":"revwalk.h","line":43,"comments":"Sort the repository contents by commit time;\nthis sorting mode can be combined with\ntopological sorting."},"GIT_SORT_REVERSE":{"value":"(1 << 2)","file":"revwalk.h","line":50,"comments":"Iterate through the repository contents in reverse\norder; this sorting mode can be combined with\nany of the above."}},"types":[["GIT_STATUS",{"type":"enum","file":"status.h","line":30,"lineto":34,"block":"GIT_STATUS_WT_NEW\nGIT_STATUS_WT_MODIFIED\nGIT_STATUS_WT_DELETED\nGIT_STATUS_IGNORED","tdef":null,"comments":"Flags for worktree status","used":{"returns":[],"needs":[]}}],["GIT_STATUS_INDEX",{"type":"enum","file":"status.h","line":25,"lineto":27,"block":"GIT_STATUS_INDEX_NEW\nGIT_STATUS_INDEX_MODIFIED\nGIT_STATUS_INDEX_DELETED","tdef":null,"comments":"Flags for index status","used":{"returns":[],"needs":[]}}],["git_blob",{"type":"struct","value":"git_blob","file":"types.h","line":105,"lineto":105,"block":"","tdef":"typedef","comments":"In-memory representation of a blob object.","used":{"returns":[],"needs":["git_blob_free","git_blob_lookup","git_blob_lookup_prefix","git_blob_rawcontent","git_blob_rawsize"]}}],["git_commit",{"type":"struct","value":"git_commit","file":"types.h","line":108,"lineto":108,"block":"","tdef":"typedef","comments":"Parsed representation of a commit object.","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",{"type":"struct","value":"git_config","file":"types.h","line":123,"lineto":123,"block":"","tdef":"typedef","comments":"Memory representation of a set of config files","used":{"returns":[],"needs":["git_config_add_file","git_config_add_file_ondisk","git_config_delete","git_config_foreach","git_config_free","git_config_get_bool","git_config_get_int32","git_config_get_int64","git_config_get_string","git_config_new","git_config_open_global","git_config_open_ondisk","git_config_set_bool","git_config_set_int32","git_config_set_int64","git_config_set_string","git_repository_config","git_repository_set_config"]}}],["git_config_file",{"type":"struct","value":"git_config_file","file":"types.h","line":126,"lineto":126,"block":"","tdef":"typedef","comments":"Interface to access a configuration file","used":{"returns":[],"needs":["git_config_add_file","git_config_file__ondisk"]}}],["git_headlist_cb",{"type":"function pointer","value":"git_headlist_cb","file":"net.h","line":47,"lineto":47,"comments":"Callback for listing the remote heads","used":{"returns":[],"needs":["git_remote_ls"]}}],["git_index",{"type":"struct","value":"git_index","file":"types.h","line":120,"lineto":120,"block":"","tdef":"typedef","comments":"Memory representation of an index file.","used":{"returns":[],"needs":["git_index_add","git_index_add2","git_index_append","git_index_append2","git_index_clear","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_repository_index","git_repository_set_index","git_tree_create_fromindex"]}}],["git_index_entry",{"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","comments":"Memory representation of a file entry in the index.","used":{"returns":["git_index_get"],"needs":["git_index_add2","git_index_append2","git_index_entry_stage"]}}],["git_index_entry_unmerged",{"type":"struct","value":"git_index_entry_unmerged","file":"index.h","line":87,"lineto":91,"block":"unsigned int mode[3]\ngit_oid oid[3]\nchar *path","tdef":"typedef","comments":"Representation of an unmerged file entry in the index.","used":{"returns":["git_index_get_unmerged_byindex","git_index_get_unmerged_bypath"],"needs":[]}}],["git_index_time",{"type":"struct","value":"git_index_time","file":"index.h","line":60,"lineto":64,"block":"git_time_t seconds\nunsigned int nanoseconds","tdef":"typedef","comments":"Time used in a git index entry","used":{"returns":[],"needs":[]}}],["git_indexer_stats",{"type":"struct","value":"git_indexer_stats","file":"indexer.h","line":19,"lineto":25,"block":"unsigned int total\nunsigned int processed","tdef":"typedef","comments":"This is passed as the first argument to the callback to allow the\nuser to see the progress.","used":{"returns":[],"needs":["git_indexer_run"]}}],["git_object",{"type":"struct","value":"git_object","file":"types.h","line":96,"lineto":96,"block":"","tdef":"typedef","comments":"Representation of a generic object in a repository","used":{"returns":[],"needs":["git_object_free","git_object_id","git_object_lookup","git_object_lookup_prefix","git_object_owner","git_object_type","git_tag_create","git_tag_create_lightweight","git_tag_target","git_tree_entry_2object"]}}],["git_odb",{"type":"struct","value":"git_odb","file":"types.h","line":78,"lineto":78,"block":"","tdef":"typedef","comments":"An open object database handle.","used":{"returns":[],"needs":["git_odb_add_alternate","git_odb_add_backend","git_odb_exists","git_odb_free","git_odb_new","git_odb_open","git_odb_open_rstream","git_odb_open_wstream","git_odb_read","git_odb_read_header","git_odb_read_prefix","git_odb_write","git_repository_odb","git_repository_set_odb"]}}],["git_odb_backend",{"type":"struct","value":"git_odb_backend","file":"types.h","line":81,"lineto":81,"block":"","tdef":"typedef","comments":"A custom backend in an ODB","used":{"returns":[],"needs":["git_odb_add_alternate","git_odb_add_backend"]}}],["git_odb_object",{"type":"struct","value":"git_odb_object","file":"types.h","line":84,"lineto":84,"block":"","tdef":"typedef","comments":"An object read from the ODB","used":{"returns":[],"needs":["git_odb_object_data","git_odb_object_free","git_odb_object_id","git_odb_object_size","git_odb_object_type","git_odb_read","git_odb_read_prefix"]}}],["git_odb_stream",{"type":"struct","value":"git_odb_stream","file":"types.h","line":87,"lineto":87,"block":"","tdef":"typedef","comments":"A stream to read/write from the ODB","used":{"returns":[],"needs":["git_odb_open_rstream","git_odb_open_wstream"]}}],["git_odb_streammode",{"type":"enum","file":"odb_backend.h","line":89,"lineto":100,"block":"GIT_STREAM_RDONLY\nGIT_STREAM_WRONLY\nGIT_STREAM_RW","tdef":"typedef","comments":"Streaming mode","used":{"returns":[],"needs":[]}}],["git_oid",{"type":"struct","value":"git_oid","file":"oid.h","line":33,"lineto":37,"block":"","tdef":"typedef","comments":"Unique identity of any object (commit, tree, blob, tag).","used":{"returns":["git_commit_id","git_commit_parent_oid","git_commit_tree_oid","git_indexer_hash","git_object_id","git_odb_object_id","git_reference_oid","git_reflog_entry_oidnew","git_reflog_entry_oidold","git_tag_id","git_tag_target_oid","git_tree_entry_id","git_tree_id"],"needs":["git_blob_create_frombuffer","git_blob_create_fromfile","git_blob_lookup","git_blob_lookup_prefix","git_commit_create","git_commit_create_v","git_commit_lookup","git_commit_lookup_prefix","git_object_lookup","git_object_lookup_prefix","git_odb_exists","git_odb_hash","git_odb_hashfile","git_odb_open_rstream","git_odb_read","git_odb_read_header","git_odb_read_prefix","git_odb_write","git_oid_allocfmt","git_oid_cmp","git_oid_cpy","git_oid_fmt","git_oid_fromraw","git_oid_fromstr","git_oid_fromstrn","git_oid_ncmp","git_oid_pathfmt","git_oid_streq","git_oid_to_string","git_reference_create_oid","git_reference_set_oid","git_reflog_write","git_revwalk_hide","git_revwalk_next","git_revwalk_push","git_tag_create","git_tag_create_frombuffer","git_tag_create_lightweight","git_tag_lookup","git_tag_lookup_prefix","git_tree_create_fromindex","git_tree_lookup","git_tree_lookup_prefix","git_treebuilder_insert","git_treebuilder_write"]}}],["git_oid_shorten",{"type":"struct","value":"git_oid_shorten","file":"oid.h","line":165,"lineto":165,"block":"","tdef":"typedef","comments":"OID Shortener object","used":{"returns":["git_oid_shorten_new"],"needs":["git_oid_shorten_add","git_oid_shorten_free"]}}],["git_otype",{"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","comments":"Basic type (loose or packed) of any Git object.","used":{"returns":[],"needs":["git_object__size","git_object_lookup","git_object_lookup_prefix","git_object_type2string","git_object_typeisloose","git_odb_hash","git_odb_hashfile","git_odb_open_wstream","git_odb_read_header","git_odb_write"]}}],["git_reference",{"type":"struct","value":"git_reference","file":"types.h","line":148,"lineto":148,"block":"","tdef":"typedef","comments":"In-memory representation of a reference.","used":{"returns":[],"needs":["git_reference_create_oid","git_reference_create_symbolic","git_reference_delete","git_reference_free","git_reference_is_packed","git_reference_lookup","git_reference_name","git_reference_oid","git_reference_owner","git_reference_reload","git_reference_rename","git_reference_resolve","git_reference_set_oid","git_reference_set_target","git_reference_target","git_reference_type","git_reflog_delete","git_reflog_read","git_reflog_rename","git_reflog_write","git_repository_head"]}}],["git_reflog",{"type":"struct","value":"git_reflog","file":"types.h","line":132,"lineto":132,"block":"","tdef":"typedef","comments":"Representation of a reference log","used":{"returns":[],"needs":["git_reflog_entry_byindex","git_reflog_entrycount","git_reflog_free","git_reflog_read"]}}],["git_reflog_entry",{"type":"struct","value":"git_reflog_entry","file":"types.h","line":129,"lineto":129,"block":"","tdef":"typedef","comments":"Representation of a reference log entry","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",{"type":"struct","value":"git_remote_head","file":"net.h","line":37,"lineto":42,"block":"int local:1\ngit_oid oid\ngit_oid loid\nchar *name","tdef":null,"comments":"Remote head description, given out on `ls` calls.","used":{"returns":[],"needs":[]}}],["git_repository",{"type":"struct","value":"git_repository","file":"types.h","line":93,"lineto":93,"block":"","tdef":"typedef","comments":"Representation of an existing git repository,\nincluding all its object contents","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_attr_get_many","git_blob_create_frombuffer","git_blob_create_fromfile","git_blob_lookup","git_blob_lookup_prefix","git_commit_create","git_commit_create_v","git_commit_lookup","git_commit_lookup_prefix","git_object_lookup","git_object_lookup_prefix","git_reference_create_oid","git_reference_create_symbolic","git_reference_foreach","git_reference_listall","git_reference_lookup","git_reference_packall","git_remote_load","git_remote_new","git_repository_config","git_repository_free","git_repository_head","git_repository_head_detached","git_repository_head_orphan","git_repository_index","git_repository_init","git_repository_is_bare","git_repository_is_empty","git_repository_odb","git_repository_open","git_repository_path","git_repository_set_config","git_repository_set_index","git_repository_set_odb","git_repository_set_workdir","git_repository_workdir","git_revwalk_new","git_status_file","git_status_foreach","git_status_should_ignore","git_tag_create","git_tag_create_frombuffer","git_tag_create_lightweight","git_tag_delete","git_tag_list","git_tag_list_match","git_tag_lookup","git_tag_lookup_prefix","git_tree_entry_2object","git_tree_lookup","git_tree_lookup_prefix","git_treebuilder_write"]}}],["git_revwalk",{"type":"struct","value":"git_revwalk","file":"types.h","line":99,"lineto":99,"block":"","tdef":"typedef","comments":"Representation of an in-progress walk through the commits in a repo","used":{"returns":[],"needs":["git_revwalk_free","git_revwalk_hide","git_revwalk_new","git_revwalk_next","git_revwalk_push","git_revwalk_repository","git_revwalk_reset","git_revwalk_sorting"]}}],["git_rtype",{"type":"enum","file":"types.h","line":151,"lineto":164,"block":"GIT_REF_INVALID\nGIT_REF_OID\nGIT_REF_SYMBOLIC\nGIT_REF_PACKED\nGIT_REF_HAS_PEEL\nGIT_REF_LISTALL","tdef":"typedef","comments":"Basic type of any Git reference.","used":{"returns":[],"needs":[]}}],["git_signature",{"type":"struct","value":"git_signature","file":"types.h","line":141,"lineto":145,"block":"char *name\nchar *email\ngit_time when","tdef":"typedef","comments":"An action signature (e.g. for committers, taggers, etc)","used":{"returns":["git_commit_author","git_commit_committer","git_reflog_entry_committer","git_signature_dup","git_tag_tagger"],"needs":["git_commit_create","git_commit_create_v","git_reflog_write","git_signature_dup","git_signature_free","git_signature_new","git_signature_now","git_tag_create"]}}],["git_status_t",{"type":"enum","file":"tree.h","line":317,"lineto":332,"block":"GIT_STATUS_ADDED\nGIT_STATUS_DELETED\nGIT_STATUS_MODIFIED","tdef":"typedef","comments":"@}","used":{"returns":[],"needs":[]}}],["git_tag",{"type":"struct","value":"git_tag","file":"types.h","line":102,"lineto":102,"block":"","tdef":"typedef","comments":"Parsed representation of a tag object.","used":{"returns":[],"needs":["git_tag_free","git_tag_id","git_tag_lookup","git_tag_lookup_prefix","git_tag_message","git_tag_name","git_tag_tagger","git_tag_target","git_tag_target_oid","git_tag_type"]}}],["git_time",{"type":"struct","value":"git_time","file":"types.h","line":135,"lineto":138,"block":"git_time_t time\nint offset","tdef":"typedef","comments":"Time in a signature","used":{"returns":[],"needs":[]}}],["git_tree",{"type":"struct","value":"git_tree","file":"types.h","line":114,"lineto":114,"block":"","tdef":"typedef","comments":"Representation of a tree object.","used":{"returns":[],"needs":["git_commit_create","git_commit_create_v","git_commit_tree","git_index_read_tree","git_tree_diff","git_tree_entry_byindex","git_tree_entry_byname","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_create"]}}],["git_tree_entry",{"type":"struct","value":"git_tree_entry","file":"types.h","line":111,"lineto":111,"block":"","tdef":"typedef","comments":"Representation of each one of the entries in a tree object.","used":{"returns":["git_tree_entry_byindex","git_tree_entry_byname","git_treebuilder_get"],"needs":["git_tree_entry_2object","git_tree_entry_attributes","git_tree_entry_id","git_tree_entry_name","git_tree_entry_type","git_treebuilder_filter","git_treebuilder_insert"]}}],["git_treebuilder",{"type":"struct","value":"git_treebuilder","file":"types.h","line":117,"lineto":117,"block":"","tdef":"typedef","comments":"Constructor for in-memory trees","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_cb",{"type":"function pointer","value":"git_treewalk_cb","file":"tree.h","line":287,"lineto":287,"comments":"Callback for the tree traversal method","used":{"returns":[],"needs":["git_tree_walk"]}}]],"prefix":"include/git2","groups":[["attr",["git_attr_add_macro","git_attr_cache_flush","git_attr_foreach","git_attr_get","git_attr_get_many"]],["blob",["git_blob_create_frombuffer","git_blob_create_fromfile","git_blob_free","git_blob_lookup","git_blob_lookup_prefix","git_blob_rawcontent","git_blob_rawsize"]],["commit",["git_commit_author","git_commit_committer","git_commit_create","git_commit_create_v","git_commit_free","git_commit_id","git_commit_lookup","git_commit_lookup_prefix","git_commit_message","git_commit_message_encoding","git_commit_parent","git_commit_parent_oid","git_commit_parentcount","git_commit_time","git_commit_time_offset","git_commit_tree","git_commit_tree_oid"]],["config",["git_config_add_file","git_config_add_file_ondisk","git_config_delete","git_config_file__ondisk","git_config_find_global","git_config_find_system","git_config_foreach","git_config_free","git_config_get_bool","git_config_get_int32","git_config_get_int64","git_config_get_string","git_config_new","git_config_open_global","git_config_open_ondisk","git_config_set_bool","git_config_set_int32","git_config_set_int64","git_config_set_string"]],["errors",["git_clearerror","git_lasterror","git_strerror"]],["gitwin",["gitwin_get_codepage","gitwin_set_codepage","gitwin_set_utf8"]],["index",["git_index_add","git_index_add2","git_index_append","git_index_append2","git_index_clear","git_index_entry_stage","git_index_entrycount","git_index_entrycount_unmerged","git_index_find","git_index_free","git_index_get","git_index_get_unmerged_byindex","git_index_get_unmerged_bypath","git_index_open","git_index_read","git_index_read_tree","git_index_remove","git_index_uniq","git_index_write"]],["indexer",["git_indexer_free","git_indexer_hash","git_indexer_new","git_indexer_run","git_indexer_write"]],["libgit2",["git_libgit2_version"]],["object",["git_object__size","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_hash","git_odb_hashfile","git_odb_new","git_odb_object_data","git_odb_object_free","git_odb_object_id","git_odb_object_size","git_odb_object_type","git_odb_open","git_odb_open_rstream","git_odb_open_wstream","git_odb_read","git_odb_read_header","git_odb_read_prefix","git_odb_write"]],["oid",["git_oid_allocfmt","git_oid_cmp","git_oid_cpy","git_oid_fmt","git_oid_fromraw","git_oid_fromstr","git_oid_fromstrn","git_oid_ncmp","git_oid_pathfmt","git_oid_shorten_add","git_oid_shorten_free","git_oid_shorten_new","git_oid_streq","git_oid_to_string"]],["reference",["git_reference_create_oid","git_reference_create_symbolic","git_reference_delete","git_reference_foreach","git_reference_free","git_reference_is_packed","git_reference_listall","git_reference_lookup","git_reference_name","git_reference_oid","git_reference_owner","git_reference_packall","git_reference_reload","git_reference_rename","git_reference_resolve","git_reference_set_oid","git_reference_set_target","git_reference_target","git_reference_type"]],["reflog",["git_reflog_delete","git_reflog_entry_byindex","git_reflog_entry_committer","git_reflog_entry_msg","git_reflog_entry_oidnew","git_reflog_entry_oidold","git_reflog_entrycount","git_reflog_free","git_reflog_read","git_reflog_rename","git_reflog_write"]],["refspec",["git_refspec_dst","git_refspec_src","git_refspec_src_match","git_refspec_transform"]],["remote",["git_remote_connect","git_remote_connected","git_remote_disconnect","git_remote_download","git_remote_fetchspec","git_remote_free","git_remote_load","git_remote_ls","git_remote_name","git_remote_new","git_remote_pushspec","git_remote_update_tips","git_remote_url","git_remote_valid_url"]],["repository",["git_repository_config","git_repository_discover","git_repository_free","git_repository_head","git_repository_head_detached","git_repository_head_orphan","git_repository_index","git_repository_init","git_repository_is_bare","git_repository_is_empty","git_repository_odb","git_repository_open","git_repository_path","git_repository_set_config","git_repository_set_index","git_repository_set_odb","git_repository_set_workdir","git_repository_workdir"]],["revwalk",["git_revwalk_free","git_revwalk_hide","git_revwalk_new","git_revwalk_next","git_revwalk_push","git_revwalk_repository","git_revwalk_reset","git_revwalk_sorting"]],["signature",["git_signature_dup","git_signature_free","git_signature_new","git_signature_now"]],["status",["git_status_file","git_status_foreach","git_status_should_ignore"]],["tag",["git_tag_create","git_tag_create_frombuffer","git_tag_create_lightweight","git_tag_delete","git_tag_free","git_tag_id","git_tag_list","git_tag_list_match","git_tag_lookup","git_tag_lookup_prefix","git_tag_message","git_tag_name","git_tag_tagger","git_tag_target","git_tag_target_oid","git_tag_type"]],["threads",["git_threads_init","git_threads_shutdown"]],["tree",["git_tree_create_fromindex","git_tree_diff","git_tree_entry_2object","git_tree_entry_attributes","git_tree_entry_byindex","git_tree_entry_byname","git_tree_entry_id","git_tree_entry_name","git_tree_entry_type","git_tree_entrycount","git_tree_free","git_tree_get_subtree","git_tree_id","git_tree_lookup","git_tree_lookup_prefix","git_tree_walk"]],["treebuilder",["git_treebuilder_clear","git_treebuilder_create","git_treebuilder_filter","git_treebuilder_free","git_treebuilder_get","git_treebuilder_insert","git_treebuilder_remove","git_treebuilder_write"]],["zlib",["deflateBound"]]],"examples":[["showindex.c","ex/v0.16.0/showindex.html"],["general.c","ex/v0.16.0/general.html"],["network/ls-remote.c","ex/v0.16.0/ls-remote.html"],["network/git2.c","ex/v0.16.0/git2.html"],["network/index-pack.c","ex/v0.16.0/index-pack.html"],["network/fetch.c","ex/v0.16.0/fetch.html"]]} \ No newline at end of file
+{"files":[{"file":"zlib.h","functions":["deflateBound"],"meta":{"brief":"Git data compression routines","defgroup":"git_zlib Git data compression routines","ingroup":"Git","comments":"\n"},"lines":40},{"file":"windows.h","functions":["gitwin_set_codepage","gitwin_get_codepage","gitwin_set_utf8"],"meta":{"brief":"Windows-specific functions","ingroup":"Git","comments":"\n"},"lines":58},{"file":"version.h","functions":[],"meta":{},"lines":15},{"file":"types.h","functions":[],"meta":{"brief":"libgit2 base & compatibility types","ingroup":"Git","comments":"\n"},"lines":169},{"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_2object","git_tree_create_fromindex","git_treebuilder_create","git_treebuilder_clear","git_treebuilder_free","git_treebuilder_get","git_treebuilder_insert","git_treebuilder_remove","git_treebuilder_filter","git_treebuilder_write","git_tree_get_subtree","git_tree_walk","git_tree_diff"],"meta":{"brief":"Git tree parsing, loading routines","defgroup":"git_tree Git tree parsing, loading routines","ingroup":"Git","comments":"Tree traversal modes\n"},"lines":353},{"file":"threads.h","functions":["git_threads_init","git_threads_shutdown"],"meta":{"brief":"Library level thread functions","defgroup":"git_thread Threading functions","ingroup":"Git","comments":"\n"},"lines":47},{"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"],"meta":{"brief":"Git tag parsing routines","defgroup":"git_tag Git tag management","ingroup":"Git","comments":"\n"},"lines":279},{"file":"stdint.h","functions":[],"meta":{},"lines":247},{"file":"status.h","functions":["git_status_foreach","git_status_file","git_status_should_ignore"],"meta":{"brief":"Git file status routines","defgroup":"git_status Git file status routines","ingroup":"Git","comments":"\n"},"lines":79},{"file":"signature.h","functions":["git_signature_new","git_signature_now","git_signature_dup","git_signature_free"],"meta":{"brief":"Git signature creation","defgroup":"git_signature Git signature creation","ingroup":"Git","comments":"\n"},"lines":65},{"file":"revwalk.h","functions":["git_revwalk_new","git_revwalk_reset","git_revwalk_push","git_revwalk_hide","git_revwalk_next","git_revwalk_sorting","git_revwalk_free","git_revwalk_repository"],"meta":{"brief":"Git revision traversal routines","defgroup":"git_revwalk Git revision traversal routines","ingroup":"Git","comments":"\n"},"lines":169},{"file":"repository.h","functions":["git_repository_open","git_repository_discover","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":{"brief":"Git repository management routines","defgroup":"git_repository Git repository management routines","ingroup":"Git","comments":"\n"},"lines":290},{"file":"remote.h","functions":["git_remote_new","git_remote_load","git_remote_name","git_remote_url","git_remote_fetchspec","git_remote_pushspec","git_remote_connect","git_remote_ls","git_remote_download","git_remote_connected","git_remote_disconnect","git_remote_free","git_remote_update_tips","git_remote_valid_url"],"meta":{"brief":"Git remote management functions","defgroup":"git_remote remote management functions","ingroup":"Git","comments":"\n"},"lines":176},{"file":"refspec.h","functions":["git_refspec_src","git_refspec_dst","git_refspec_src_match","git_refspec_transform"],"meta":{"brief":"Git refspec attributes","defgroup":"git_refspec Git refspec attributes","ingroup":"Git","comments":"\n"},"lines":60},{"file":"refs.h","functions":["git_reference_lookup","git_reference_create_symbolic","git_reference_create_oid","git_reference_oid","git_reference_target","git_reference_type","git_reference_name","git_reference_resolve","git_reference_owner","git_reference_set_target","git_reference_set_oid","git_reference_rename","git_reference_delete","git_reference_packall","git_reference_listall","git_reference_foreach","git_reference_is_packed","git_reference_reload","git_reference_free"],"meta":{"brief":"Git reference management routines","defgroup":"git_reference Git reference management routines","ingroup":"Git","comments":"\n"},"lines":309},{"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":{"brief":"Git reflog management routines","defgroup":"git_reflog Git reflog management routines","ingroup":"Git","comments":"\n"},"lines":128},{"file":"oid.h","functions":["git_oid_fromstr","git_oid_fromstrn","git_oid_fromraw","git_oid_fmt","git_oid_pathfmt","git_oid_allocfmt","git_oid_to_string","git_oid_cpy","git_oid_cmp","git_oid_ncmp","git_oid_streq","git_oid_shorten_new","git_oid_shorten_add","git_oid_shorten_free"],"meta":{"brief":"Git object id routines","defgroup":"git_oid Git object id routines","ingroup":"Git","comments":"\n"},"lines":218},{"file":"odb_backend.h","functions":[],"meta":{"brief":"Git custom backend functions","defgroup":"git_backend Git custom backend API","ingroup":"Git","comments":"\n"},"lines":100},{"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_read_header","git_odb_exists","git_odb_write","git_odb_open_wstream","git_odb_open_rstream","git_odb_hash","git_odb_hashfile","git_odb_object_free","git_odb_object_id","git_odb_object_data","git_odb_object_size","git_odb_object_type"],"meta":{"brief":"Git object database routines","defgroup":"git_odb Git object database routines","ingroup":"Git","comments":"\n"},"lines":331},{"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","git_object__size"],"meta":{"brief":"Git revision object management routines","defgroup":"git_object Git revision object management routines","ingroup":"Git","comments":"\n"},"lines":173},{"file":"net.h","functions":[],"meta":{"brief":"Git networking declarations","ingroup":"Git","comments":"\n"},"lines":51},{"file":"inttypes.h","functions":[],"meta":{},"lines":305},{"file":"indexer.h","functions":["git_indexer_new","git_indexer_run","git_indexer_write","git_indexer_hash","git_indexer_free"],"meta":{},"lines":76},{"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":{"brief":"Git index parsing and manipulation routines","defgroup":"git_index Git index parsing and manipulation routines","ingroup":"Git","comments":"\n"},"lines":321},{"file":"errors.h","functions":["git_lasterror","git_strerror","git_clearerror"],"meta":{"brief":"Git error handling routines and variables","ingroup":"Git","comments":"\n"},"lines":144},{"file":"config.h","functions":["git_config_find_global","git_config_find_system","git_config_open_global","git_config_file__ondisk","git_config_new","git_config_add_file","git_config_add_file_ondisk","git_config_open_ondisk","git_config_free","git_config_get_int32","git_config_get_int64","git_config_get_bool","git_config_get_string","git_config_set_int32","git_config_set_int64","git_config_set_bool","git_config_set_string","git_config_delete","git_config_foreach"],"meta":{"brief":"Git config management routines","defgroup":"git_config Git config management routines","ingroup":"Git","comments":"\n"},"lines":279},{"file":"common.h","functions":["git_libgit2_version"],"meta":{"brief":"Git common platform definitions","defgroup":"git_common Git common platform definitions","ingroup":"Git","comments":"\n"},"lines":103},{"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":{"brief":"Git commit parsing, formatting routines","defgroup":"git_commit Git commit parsing, formatting routines","ingroup":"Git","comments":"\n"},"lines":263},{"file":"branch.h","functions":[],"meta":{},"lines":15},{"file":"blob.h","functions":["git_blob_lookup","git_blob_lookup_prefix","git_blob_free","git_blob_rawcontent","git_blob_rawsize","git_blob_create_fromfile","git_blob_create_frombuffer"],"meta":{"brief":"Git blob load and write routines","defgroup":"git_blob Git blob load and write routines","ingroup":"Git","comments":"\n"},"lines":120},{"file":"attr.h","functions":["git_attr_get","git_attr_get_many","git_attr_foreach","git_attr_cache_flush","git_attr_add_macro"],"meta":{"brief":"Git attribute management routines","defgroup":"git_attr Git attribute management routines","ingroup":"Git","comments":"\n"},"lines":79}],"functions":{"deflateBound":{"type":"function","file":"zlib.h","line":32,"lineto":36,"args":[{"name":"stream","type":"z_streamp","comment":"the stream pointer."},{"name":"s","type":"size_t","comment":"tream the stream pointer."}],"argline":"z_streamp stream, size_t s","sig":"z_streamp::size_t","return":{"type":"size_t","comment":"maximum length of the compressed data."},"description":"deflateBound returns an upper bound on the compressed size.","comments":"This is a stub function used when zlib does not supply the\ndeflateBound() implementation itself.\n","group":"zlib"},"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"},"description":"Set the active codepage for Windows syscalls","comments":"All syscalls performed by the library will assume\nthis codepage when converting paths and strings\nto use by the Windows kernel.\n\nThe default value of UTF-8 will work automatically\nwith most Git repositories created on Unix systems.\n\nThis settings needs only be changed when working\nwith repositories that contain paths in specific,\nnon-UTF codepages.\n\nA full list of all available codepage identifiers may\nbe found at:\n\nhttp://msdn.microsoft.com/en-us/library/windows/desktop/dd317756(v=vs.85).aspx\n","group":"gitwin"},"gitwin_get_codepage":{"type":"function","file":"windows.h","line":48,"lineto":48,"args":[],"argline":"void","sig":"","return":{"type":"unsigned int","comment":"numeric codepage identifier"},"description":"Return the active codepage for Windows syscalls","comments":"","group":"gitwin"},"gitwin_set_utf8":{"type":"function","file":"windows.h","line":54,"lineto":54,"args":[],"argline":"void","sig":"","return":{"type":"void"},"description":"Set the active Windows codepage to UTF-8 (this is\nthe default value)","comments":"","group":"gitwin"},"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":"GIT_SUCCESS or an error code"},"description":"Lookup a tree object from the repository.","comments":"","group":"tree","examples":{"general.c":["ex/v0.16.0/general.html#git_tree_lookup-1","ex/v0.16.0/general.html#git_tree_lookup-2"]}},"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":"GIT_SUCCESS or an error code"},"description":"Lookup a tree object from the repository,\ngiven a prefix of its identifier (short id).","comments":"@see git_object_lookup_prefix\n","group":"tree"},"git_tree_free":{"type":"function","file":"tree.h","line":65,"lineto":68,"args":[{"name":"tree","type":"git_tree *","comment":"the tree to close"}],"argline":"git_tree *tree","sig":"git_tree *","return":{"type":"void"},"description":"Close an open tree","comments":"This is a wrapper around git_object_free()\n\nIMPORTANT:\nIt *is* necessary to call this method when you stop\nusing a tree. Failure to do so will cause a memory leak.\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":"Get the id of a tree.","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":"Get the number of entries listed in a tree","comments":"","group":"tree","examples":{"general.c":["ex/v0.16.0/general.html#git_tree_entrycount-3"]}},"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":"Lookup a tree entry by its filename","comments":"","group":"tree","examples":{"general.c":["ex/v0.16.0/general.html#git_tree_entry_byname-4"]}},"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":"Lookup a tree entry by its position in the tree","comments":"","group":"tree","examples":{"general.c":["ex/v0.16.0/general.html#git_tree_entry_byindex-5"]}},"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":"Get the UNIX file attributes of a tree entry","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":"Get the filename of a tree entry","comments":"","group":"tree","examples":{"general.c":["ex/v0.16.0/general.html#git_tree_entry_name-6","ex/v0.16.0/general.html#git_tree_entry_name-7"]}},"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":"Get the id of the object pointed by the entry","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":"Get the type of the object pointed by the entry","comments":"","group":"tree"},"git_tree_entry_2object":{"type":"function","file":"tree.h","line":146,"lineto":146,"args":[{"name":"object_out","type":"git_object **"},{"name":"repo","type":"git_repository *","comment":"repository where to lookup the pointed object"},{"name":"entry","type":"const git_tree_entry *","comment":"a tree entry"}],"argline":"git_object **object_out, git_repository *repo, const git_tree_entry *entry","sig":"git_object **::git_repository *::const git_tree_entry *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Convert a tree entry to the git_object it points too.","comments":"","group":"tree","examples":{"general.c":["ex/v0.16.0/general.html#git_tree_entry_2object-8"]}},"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":"GIT_SUCCESS or an error code"},"description":"Write a tree to the ODB from the index file","comments":"This method will scan the index and write a representation\nof its current state back to disk; it recursively creates\ntree objects for each of the subtrees stored in the index,\nbut only returns the OID of the root tree. This is the OID\nthat can be used e.g. to create a commit.\n\nThe index instance cannot be bare, and needs to be associated\nto an existing repository.\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":"Create a new tree builder.","comments":"The tree builder can be used to create or modify\ntrees in memory and write them as tree objects to the\ndatabase.\n\nIf the `source` parameter is not NULL, the tree builder\nwill be initialized with the entries of the given tree.\n\nIf the `source` parameter is NULL, the tree builder will\nhave no entries and will have to be filled manually.\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"},"description":"Clear all the entires in the builder","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"},"description":"Free a tree builder","comments":"This will clear all the entries and free to builder.\nFailing to free the builder after you're done using it\nwill result in a memory leak\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":"Get an entry from the builder from its filename","comments":"The returned entry is owned by the builder and should\nnot be freed manually.\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":"GIT_SUCCESS or an error code"},"description":"Add or update an entry to the builder","comments":"Insert a new entry for `filename` in the builder with the\ngiven attributes.\n\nif an entry named `filename` already exists, its attributes\nwill be updated with the given ones.\n\nThe optional pointer `entry_out` can be used to retrieve a\npointer to the newly created/updated entry.\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"},"description":"Remove an entry from the builder by its filename","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 *"}],"argline":"git_treebuilder *bld, int (*filter)(const git_tree_entry *, void *), void *payload","sig":"git_treebuilder *::int (*)(const git_tree_entry *, void *)::void *","return":{"type":"void"},"description":"Filter the entries in the tree","comments":"The `filter` callback will be called for each entry\nin the tree with a pointer to the entry and the\nprovided `payload`: if the callback returns 1, the\nentry will be filtered (removed from the builder).\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":"GIT_SUCCESS or an error code"},"description":"Write the contents of the tree builder as a tree object","comments":"The tree builder will be written to the given `repo`, and\nit's identifying SHA1 hash will be stored in the `oid`\npointer.\n","group":"treebuilder"},"git_tree_get_subtree":{"type":"function","file":"tree.h","line":284,"lineto":284,"args":[{"name":"subtree","type":"git_tree **","comment":"Pointer where to store the subtree"},{"name":"root","type":"git_tree *","comment":"A previously loaded tree which will be the root of the relative path"},{"name":"subtree_path","type":"const char *","comment":"Path to the contained subtree"}],"argline":"git_tree **subtree, git_tree *root, const char *subtree_path","sig":"git_tree **::git_tree *::const char *","return":{"type":"int","comment":"GIT_SUCCESS on success; GIT_ENOTFOUND if the path does not lead to a subtree, GIT_EINVALIDPATH or an error code"},"description":"Retrieve a subtree contained in a tree, given its\nrelative path.","comments":"The returned tree is owned by the repository and\nshould be closed with the `git_object_free` method.\n","group":"tree"},"git_tree_walk":{"type":"function","file":"tree.h","line":314,"lineto":314,"args":[{"name":"tree","type":"git_tree *","comment":"The tree to walk"},{"name":"callback","type":"git_treewalk_cb","comment":"Function to call on each tree entry"},{"name":"mode","type":"int","comment":"Traversal mode (pre or post-order)"},{"name":"payload","type":"void *","comment":"Opaque pointer to be passed on each callback"}],"argline":"git_tree *tree, git_treewalk_cb callback, int mode, void *payload","sig":"git_tree *::git_treewalk_cb::int::void *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Traverse the entries in a tree and its subtrees in\npost or pre order","comments":"The entries will be traversed in the specified order,\nchildren subtrees will be automatically loaded as required,\nand the `callback` will be called once per entry with\nthe current (relative) root for the entry and the entry\ndata itself.\n\nIf the callback returns a negative value, the passed entry\nwill be skiped on the traversal.\n","group":"tree"},"git_tree_diff":{"type":"function","file":"tree.h","line":348,"lineto":353,"args":[{"name":"old","type":"git_tree *","comment":"the \"old\" tree"},{"name":"newer","type":"git_tree *","comment":"the \"newer\" tree"},{"name":"cb","type":"git_tree_diff_cb","comment":"callback"},{"name":"data","type":"void *","comment":"data to give to the callback"}],"argline":"git_tree *old, git_tree *newer, git_tree_diff_cb cb, void *data","sig":"git_tree *::git_tree *::git_tree_diff_cb::void *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Diff two trees","comments":"Compare two trees. For each difference in the trees, the callback\nwill be called with a git_tree_diff_data filled with the relevant\ninformation.\n","group":"tree"},"git_threads_init":{"type":"function","file":"threads.h","line":31,"lineto":31,"args":[],"argline":"void","sig":"","return":{"type":"void"},"description":"Init the threading system.","comments":"If libgit2 has been built with GIT_THREADS\non, this function must be called once before\nany other library functions.\n\nIf libgit2 has been built without GIT_THREADS\nsupport, this function is a no-op.","group":"threads"},"git_threads_shutdown":{"type":"function","file":"threads.h","line":43,"lineto":43,"args":[],"argline":"void","sig":"","return":{"type":"void"},"description":"Shutdown the threading system.","comments":"If libgit2 has been built with GIT_THREADS\non, this function must be called before shutting\ndown the library.\n\nIf libgit2 has been built without GIT_THREADS\nsupport, this function is a no-op.","group":"threads"},"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":"GIT_SUCCESS or an error code"},"description":"Lookup a tag object from the repository.","comments":"","group":"tag","examples":{"general.c":["ex/v0.16.0/general.html#git_tag_lookup-9"]}},"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":"GIT_SUCCESS or an error code"},"description":"Lookup a tag object from the repository,\ngiven a prefix of its identifier (short id).","comments":"@see git_object_lookup_prefix\n","group":"tag"},"git_tag_free":{"type":"function","file":"tag.h","line":65,"lineto":68,"args":[{"name":"tag","type":"git_tag *","comment":"the tag to close"}],"argline":"git_tag *tag","sig":"git_tag *","return":{"type":"void"},"description":"Close an open tag","comments":"This is a wrapper around git_object_free()\n\nIMPORTANT:\nIt *is* necessary to call this method when you stop\nusing a tag. Failure to do so will cause a memory leak.\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":"Get the id of a tag.","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":"GIT_SUCCESS or an error code"},"description":"Get the tagged object of a tag","comments":"This method performs a repository lookup for the\ngiven object and returns it\n","group":"tag","examples":{"general.c":["ex/v0.16.0/general.html#git_tag_target-10"]}},"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":"Get the OID of the tagged object of a tag","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":"Get the type of a tag's tagged object","comments":"","group":"tag","examples":{"general.c":["ex/v0.16.0/general.html#git_tag_type-11"]}},"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":"Get the name of a tag","comments":"","group":"tag","examples":{"general.c":["ex/v0.16.0/general.html#git_tag_name-12"]}},"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":"Get the tagger (author) of a tag","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":"Get the message of a tag","comments":"","group":"tag","examples":{"general.c":["ex/v0.16.0/general.html#git_tag_message-13"]}},"git_tag_create":{"type":"function","file":"tag.h","line":165,"lineto":172,"args":[{"name":"oid","type":"git_oid *","comment":"Pointer where to store the OID of the newly created tag. If the tag already exists, this parameter will be the oid of the existing tag, and the function will 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 for consistency. It should also not conflict with an already existing tag name"},{"name":"target","type":"const git_object *","comment":"Object to which this tag points. This object must belong to the given `repo`."},{"name":"tagger","type":"const git_signature *","comment":"Signature of the tagger for this tag, and 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,\n\t\tgit_repository *repo,\n\t\tconst char *tag_name,\n\t\tconst git_object *target,\n\t\tconst git_signature *tagger,\n\t\tconst char *message,\n\t\tint force","sig":"git_oid *::git_repository *::const char *::const git_object *::const git_signature *::const char *::int","return":{"type":"int","comment":"GIT_SUCCESS or an error code A tag object is written to the ODB, and a proper reference is written in the /refs/tags folder, pointing to it"},"description":"Create a new tag in the repository from an object","comments":"A new reference will also be created pointing to\nthis tag object. If `force` is true and a reference\nalready exists with the given name, it'll be replaced.\n","group":"tag"},"git_tag_create_frombuffer":{"type":"function","file":"tag.h","line":183,"lineto":187,"args":[{"name":"oid","type":"git_oid *","comment":"Pointer where to store the OID of the newly created tag"},{"name":"repo","type":"git_repository *","comment":"Repository where to store the tag"},{"name":"buffer","type":"const char *","comment":"Raw tag data"},{"name":"force","type":"int","comment":"Overwrite existing tags"}],"argline":"git_oid *oid,\n\t\tgit_repository *repo,\n\t\tconst char *buffer,\n\t\tint force","sig":"git_oid *::git_repository *::const char *::int","return":{"type":"int","comment":"0 on sucess; error code otherwise"},"description":"Create a new tag in the repository from a buffer","comments":"","group":"tag"},"git_tag_create_lightweight":{"type":"function","file":"tag.h","line":216,"lineto":221,"args":[{"name":"oid","type":"git_oid *","comment":"Pointer where to store the OID of the provided target object. If the tag already exists, this parameter will be filled with the oid of the existing pointed object 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 for consistency. It should also not conflict with an already existing tag name"},{"name":"target","type":"const git_object *","comment":"Object to which this tag points. This object must belong to the given `repo`."},{"name":"force","type":"int","comment":"Overwrite existing references"}],"argline":"git_oid *oid,\n\t\tgit_repository *repo,\n\t\tconst char *tag_name,\n\t\tconst git_object *target,\n\t\tint force","sig":"git_oid *::git_repository *::const char *::const git_object *::int","return":{"type":"int","comment":"GIT_SUCCESS or an error code A proper reference is written in the /refs/tags folder, pointing to the provided target object"},"description":"Create a new lightweight tag pointing at a target object","comments":"A new direct reference will be created pointing to\nthis target object. If `force` is true and a reference\nalready exists with the given name, it'll be replaced.\n","group":"tag"},"git_tag_delete":{"type":"function","file":"tag.h","line":233,"lineto":235,"args":[{"name":"repo","type":"git_repository *","comment":"Repository where lives the tag"},{"name":"tag_name","type":"const char *","comment":"Name of the tag to be deleted; this name is validated for consistency."}],"argline":"git_repository *repo,\n\t\tconst char *tag_name","sig":"git_repository *::const char *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Delete an existing tag reference.","comments":"","group":"tag"},"git_tag_list":{"type":"function","file":"tag.h","line":250,"lineto":252,"args":[{"name":"tag_names","type":"git_strarray *","comment":"Pointer to a git_strarray structure where the tag names will be stored"},{"name":"repo","type":"git_repository *","comment":"Repository where to find the tags"}],"argline":"git_strarray *tag_names,\n\t\tgit_repository *repo","sig":"git_strarray *::git_repository *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Fill a list with all the tags in the Repository","comments":"The string array will be filled with the names of the\nmatching tags; these values are owned by the user and\nshould be free'd manually when no longer needed, using\n`git_strarray_free`.\n","group":"tag"},"git_tag_list_match":{"type":"function","file":"tag.h","line":272,"lineto":275,"args":[{"name":"tag_names","type":"git_strarray *","comment":"Pointer to a git_strarray structure where the 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,\n\t\tconst char *pattern,\n\t\tgit_repository *repo","sig":"git_strarray *::const char *::git_repository *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Fill a list with all the tags in the Repository\nwhich name match a defined pattern","comments":"If an empty pattern is provided, all the tags\nwill be returned.\n\nThe string array will be filled with the names of the\nmatching tags; these values are owned by the user and\nshould be free'd manually when no longer needed, using\n`git_strarray_free`.\n","group":"tag"},"git_status_foreach":{"type":"function","file":"status.h","line":47,"lineto":47,"args":[{"name":"repo","type":"git_repository *","comment":"a repository object"},{"name":"callback","type":"int (*)(const char *, unsigned int, void *)","comment":"the function to call on each file"},{"name":"payload","type":"void *"}],"argline":"git_repository *repo, int (*callback)(const char *, unsigned int, void *), void *payload","sig":"git_repository *::int (*)(const char *, unsigned int, void *)::void *","return":{"type":"int","comment":"GIT_SUCCESS or the return value of the callback which did not return GIT_SUCCESS"},"description":"Gather file statuses and run a callback for each one.","comments":"The callback is passed the path of the file, the status and the data pointer\npassed to this function. If the callback returns something other than\nGIT_SUCCESS, this function will return that value.\n","group":"status"},"git_status_file":{"type":"function","file":"status.h","line":59,"lineto":59,"args":[{"name":"status_flags","type":"unsigned int *","comment":"the status value"},{"name":"repo","type":"git_repository *","comment":"a repository object"},{"name":"path","type":"const char *","comment":"the file to retrieve status for, rooted at the repo's workdir"}],"argline":"unsigned int *status_flags, git_repository *repo, const char *path","sig":"unsigned int *::git_repository *::const char *","return":{"type":"int","comment":"GIT_EINVALIDPATH when `path` points at a folder, GIT_ENOTFOUND when the file doesn't exist in any of HEAD, the index or the worktree, GIT_SUCCESS otherwise"},"description":"Get file status for a single file","comments":"","group":"status"},"git_status_should_ignore":{"type":"function","file":"status.h","line":75,"lineto":75,"args":[{"name":"repo","type":"git_repository *","comment":"a repository object"},{"name":"path","type":"const char *","comment":"the file to check ignores for, rooted at the repo's workdir"},{"name":"ignored","type":"int *","comment":"boolean returning 0 if the file is not ignored, 1 if it is"}],"argline":"git_repository *repo, const char *path, int *ignored","sig":"git_repository *::const char *::int *","return":{"type":"int","comment":"GIT_SUCCESS if the ignore rules could be processed for the file (regardless of whether it exists or not), or an error < 0 if they could not."},"description":"Test if the ignore rules apply to a given file.","comments":"This function simply checks the ignore rules to see if they would apply\nto the given file. Unlike git_status_file(), this indicates if the file\nwould be ignored regardless of whether the file is already in the index\nor in the repository.\n","group":"status"},"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":"GIT_SUCCESS or an error code"},"description":"Create a new action signature. The signature must be freed\nmanually or using git_signature_free","comments":"","group":"signature","examples":{"general.c":["ex/v0.16.0/general.html#git_signature_new-14","ex/v0.16.0/general.html#git_signature_new-15"]}},"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":"GIT_SUCCESS or an error code"},"description":"Create a new action signature with a timestamp of 'now'. The\nsignature must be freed manually or using git_signature_free","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":"Create a copy of an existing signature.","comments":"All internal strings are also duplicated.","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"},"description":"Free an existing signature","comments":"","group":"signature"},"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":"GIT_SUCCESS or an error code"},"description":"Allocate a new revision walker to iterate through a repo.","comments":"This revision walker uses a custom memory pool and an internal\ncommit cache, so it is relatively expensive to allocate.\n\nFor maximum performance, this revision walker should be\nreused for different walks.\n\nThis revision walker is *not* thread safe: it may only be\nused to walk a repository on a single thread; however,\nit is possible to have several revision walkers in\nseveral different threads walking the same repository.\n","group":"revwalk","examples":{"general.c":["ex/v0.16.0/general.html#git_revwalk_new-16"]}},"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"},"description":"Reset the revision walker for reuse.","comments":"This will clear all the pushed and hidden commits, and\nleave the walker in a blank state (just like at\ncreation) ready to receive new commit pushes and\nstart a new walk.\n\nThe revision walk is automatically reset when a walk\nis over.\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":"GIT_SUCCESS or an error code"},"description":"Mark a commit to start traversal from.","comments":"The given OID must belong to a commit on the walked\nrepository.\n\nThe given commit will be used as one of the roots\nwhen starting the revision walk. At least one commit\nmust be pushed the repository before a walk can\nbe started.\n","group":"revwalk","examples":{"general.c":["ex/v0.16.0/general.html#git_revwalk_push-17"]}},"git_revwalk_hide":{"type":"function","file":"revwalk.h","line":118,"lineto":118,"args":[{"name":"walk","type":"git_revwalk *","comment":"the walker being used for the traversal."},{"name":"oid","type":"const git_oid *","comment":"the oid of commit that will be ignored during the traversal"}],"argline":"git_revwalk *walk, const git_oid *oid","sig":"git_revwalk *::const git_oid *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Mark a commit (and its ancestors) uninteresting for the output.","comments":"The given OID must belong to a commit on the walked\nrepository.\n\nThe resolved commit and all its parents will be hidden from the\noutput on the revision walk.\n","group":"revwalk"},"git_revwalk_next":{"type":"function","file":"revwalk.h","line":138,"lineto":138,"args":[{"name":"oid","type":"git_oid *","comment":"Pointer where to store the oid of the next commit"},{"name":"walk","type":"git_revwalk *","comment":"the walker to pop the commit from."}],"argline":"git_oid *oid, git_revwalk *walk","sig":"git_oid *::git_revwalk *","return":{"type":"int","comment":"GIT_SUCCESS if the next commit was found; GIT_EREVWALKOVER if there are no commits left to iterate"},"description":"Get the next commit from the revision walk.","comments":"The initial call to this method is *not* blocking when\niterating through a repo with a time-sorting mode.\n\nIterating with Topological or inverted modes makes the initial\ncall blocking to preprocess the commit list, but this block should be\nmostly unnoticeable on most repositories (topological preprocessing\ntimes at 0.3s on the git.git repo).\n\nThe revision walker is reset when the walk is over.\n","group":"revwalk","examples":{"general.c":["ex/v0.16.0/general.html#git_revwalk_next-18"]}},"git_revwalk_sorting":{"type":"function","file":"revwalk.h","line":149,"lineto":149,"args":[{"name":"walk","type":"git_revwalk *","comment":"the walker being used for the traversal."},{"name":"sort_mode","type":"unsigned int","comment":"combination of GIT_SORT_XXX flags"}],"argline":"git_revwalk *walk, unsigned int sort_mode","sig":"git_revwalk *::unsigned int","return":{"type":"void"},"description":"Change the sorting mode when iterating through the\nrepository's contents.","comments":"Changing the sorting mode resets the walker.\n","group":"revwalk","examples":{"general.c":["ex/v0.16.0/general.html#git_revwalk_sorting-19"]}},"git_revwalk_free":{"type":"function","file":"revwalk.h","line":156,"lineto":156,"args":[{"name":"walk","type":"git_revwalk *","comment":"traversal handle to close. If NULL nothing occurs."}],"argline":"git_revwalk *walk","sig":"git_revwalk *","return":{"type":"void"},"description":"Free a revision walker previously allocated.","comments":"","group":"revwalk","examples":{"general.c":["ex/v0.16.0/general.html#git_revwalk_free-20"]}},"git_revwalk_repository":{"type":"function","file":"revwalk.h","line":165,"lineto":165,"args":[{"name":"walk","type":"git_revwalk *","comment":"the revision walker"}],"argline":"git_revwalk *walk","sig":"git_revwalk *","return":{"type":"git_repository *","comment":"the repository being walked"},"description":"Return the repository on which this walker\nis operating.","comments":"","group":"revwalk"},"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":"GIT_SUCCESS or an error code"},"description":"Open a git repository.","comments":"The 'path' argument must point to either a git repository\nfolder, or an existing work dir.\n\nThe method will automatically detect if 'path' is a normal\nor bare repository or fail is 'path' is neither.\n","group":"repository","examples":{"showindex.c":["ex/v0.16.0/showindex.html#git_repository_open-1"],"network/git2.c":["ex/v0.16.0/git2.html#git_repository_open-1"],"general.c":["ex/v0.16.0/general.html#git_repository_open-21","ex/v0.16.0/general.html#git_repository_open-22"]}},"git_repository_discover":{"type":"function","file":"repository.h","line":66,"lineto":71,"args":[{"name":"repository_path","type":"char *","comment":"The user allocated buffer which will contain the found path."},{"name":"size","type":"size_t","comment":"repository_path size"},{"name":"start_path","type":"const char *","comment":"The base path where the lookup starts."},{"name":"across_fs","type":"int","comment":"If true, then the lookup will not stop when a filesystem device change is detected while exploring parent directories."},{"name":"ceiling_dirs","type":"const char *","comment":"A GIT_PATH_LIST_SEPARATOR separated list of absolute symbolic link free paths. The lookup will stop when any of this paths is reached. Note that the lookup always performs on start_path no matter start_path appears in ceiling_dirs ceiling_dirs might be NULL (which is equivalent to an empty string)"}],"argline":"char *repository_path,\n\t\tsize_t size,\n\t\tconst char *start_path,\n\t\tint across_fs,\n\t\tconst char *ceiling_dirs","sig":"char *::size_t::const char *::int::const char *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Look for a git repository and copy its path in the given buffer.\nThe lookup start from base_path and walk across parent directories\nif nothing has been found. The lookup ends when the first repository\nis found, or when reaching a directory referenced in ceiling_dirs\nor when the filesystem changes (in case across_fs is true).","comments":"The method will automatically detect if the repository is bare\n(if there is a repository).\n","group":"repository"},"git_repository_free":{"type":"function","file":"repository.h","line":84,"lineto":84,"args":[{"name":"repo","type":"git_repository *","comment":"repository handle to close. If NULL nothing occurs."}],"argline":"git_repository *repo","sig":"git_repository *","return":{"type":"void"},"description":"Free a previously allocated repository","comments":"Note that after a repository is free'd, all the objects it has spawned\nwill still exist until they are manually closed by the user\nwith `git_object_free`, but accessing any of the attributes of\nan object without a backing repository will result in undefined\nbehavior\n","group":"repository","examples":{"showindex.c":["ex/v0.16.0/showindex.html#git_repository_free-2"],"network/git2.c":["ex/v0.16.0/git2.html#git_repository_free-2"],"general.c":["ex/v0.16.0/general.html#git_repository_free-23"]}},"git_repository_init":{"type":"function","file":"repository.h","line":100,"lineto":100,"args":[{"name":"repo_out","type":"git_repository **","comment":"pointer to the repo which will be created or reinitialized"},{"name":"path","type":"const char *","comment":"the path to the repository"},{"name":"is_bare","type":"unsigned","comment":"if true, a Git repository without a working directory is created at the pointed path. If false, provided path will be considered as the working directory into which the .git directory will be created."}],"argline":"git_repository **repo_out, const char *path, unsigned is_bare","sig":"git_repository **::const char *::unsigned","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Creates a new Git repository in the given folder.","comments":"TODO:\n- Reinit the repository\n","group":"repository"},"git_repository_head":{"type":"function","file":"repository.h","line":110,"lineto":110,"args":[{"name":"head_out","type":"git_reference **","comment":"pointer to the reference which will be retrieved"},{"name":"repo","type":"git_repository *","comment":"a repository object"}],"argline":"git_reference **head_out, git_repository *repo","sig":"git_reference **::git_repository *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Retrieve and resolve the reference pointed at by HEAD.","comments":"","group":"repository"},"git_repository_head_detached":{"type":"function","file":"repository.h","line":122,"lineto":122,"args":[{"name":"repo","type":"git_repository *","comment":"Repo to test"}],"argline":"git_repository *repo","sig":"git_repository *","return":{"type":"int","comment":"1 if HEAD is detached, 0 if i'ts not; error code if there was an error."},"description":"Check if a repository's HEAD is detached","comments":"A repository's HEAD is detached when it points directly to a commit\ninstead of a branch.\n","group":"repository"},"git_repository_head_orphan":{"type":"function","file":"repository.h","line":134,"lineto":134,"args":[{"name":"repo","type":"git_repository *","comment":"Repo to test"}],"argline":"git_repository *repo","sig":"git_repository *","return":{"type":"int","comment":"1 if the current branch is an orphan, 0 if it's not; error code if therewas an error"},"description":"Check if the current branch is an orphan","comments":"An orphan branch is one named from HEAD but which doesn't exist in\nthe refs namespace, because it doesn't have any commit to point to.\n","group":"repository"},"git_repository_is_empty":{"type":"function","file":"repository.h","line":146,"lineto":146,"args":[{"name":"repo","type":"git_repository *","comment":"Repo to test"}],"argline":"git_repository *repo","sig":"git_repository *","return":{"type":"int","comment":"1 if the repository is empty, 0 if it isn't, error code if the repository is corrupted"},"description":"Check if a repository is empty","comments":"An empty repository has just been initialized and contains\nno commits.\n","group":"repository"},"git_repository_path":{"type":"function","file":"repository.h","line":157,"lineto":157,"args":[{"name":"repo","type":"git_repository *","comment":"A repository object"}],"argline":"git_repository *repo","sig":"git_repository *","return":{"type":"const char *","comment":"the path to the repository"},"description":"Get the path of this repository","comments":"This is the path of the `.git` folder for normal repositories,\nor of the repository itself for bare repositories.\n","group":"repository"},"git_repository_workdir":{"type":"function","file":"repository.h","line":168,"lineto":168,"args":[{"name":"repo","type":"git_repository *","comment":"A repository object"}],"argline":"git_repository *repo","sig":"git_repository *","return":{"type":"const char *","comment":"the path to the working dir, if it exists"},"description":"Get the path of the working directory for this repository","comments":"If the repository is bare, this function will always return\nNULL.\n","group":"repository"},"git_repository_set_workdir":{"type":"function","file":"repository.h","line":185,"lineto":185,"args":[{"name":"repo","type":"git_repository *","comment":"A repository object"},{"name":"workdir","type":"const char *","comment":"The path to a working directory"}],"argline":"git_repository *repo, const char *workdir","sig":"git_repository *::const char *","return":{"type":"int","comment":"GIT_SUCCESS, or an error code"},"description":"Set the path to the working directory for this repository","comments":"The working directory doesn't need to be the same one\nthat contains the `.git` folder for this repository.\n\nIf this repository is bare, setting its working directory\nwill turn it into a normal repository, capable of performing\nall the common workdir operations (checkout, status, index\nmanipulation, etc).\n","group":"repository"},"git_repository_is_bare":{"type":"function","file":"repository.h","line":193,"lineto":193,"args":[{"name":"repo","type":"git_repository *","comment":"Repo to test"}],"argline":"git_repository *repo","sig":"git_repository *","return":{"type":"int","comment":"1 if the repository is bare, 0 otherwise."},"description":"Check if a repository is bare","comments":"","group":"repository"},"git_repository_config":{"type":"function","file":"repository.h","line":209,"lineto":209,"args":[{"name":"out","type":"git_config **","comment":"Pointer to store the loaded config file"},{"name":"repo","type":"git_repository *","comment":"A repository object"}],"argline":"git_config **out, git_repository *repo","sig":"git_config **::git_repository *","return":{"type":"int","comment":"GIT_SUCCESS, or an error code"},"description":"Get the configuration file for this repository.","comments":"If a configuration file has not been set, the default\nconfig set for the repository will be returned, including\nglobal and system configurations (if they are available).\n\nThe configuration file must be freed once it's no longer\nbeing used by the user.\n","group":"repository"},"git_repository_set_config":{"type":"function","file":"repository.h","line":224,"lineto":224,"args":[{"name":"repo","type":"git_repository *","comment":"A repository object"},{"name":"config","type":"git_config *","comment":"A Config object"}],"argline":"git_repository *repo, git_config *config","sig":"git_repository *::git_config *","return":{"type":"void"},"description":"Set the configuration file for this repository","comments":"This configuration file will be used for all configuration\nqueries involving this repository.\n\nThe repository will keep a reference to the config file;\nthe user must still free the config after setting it\nto the repository, or it will leak.\n","group":"repository"},"git_repository_odb":{"type":"function","file":"repository.h","line":240,"lineto":240,"args":[{"name":"out","type":"git_odb **","comment":"Pointer to store the loaded ODB"},{"name":"repo","type":"git_repository *","comment":"A repository object"}],"argline":"git_odb **out, git_repository *repo","sig":"git_odb **::git_repository *","return":{"type":"int","comment":"GIT_SUCCESS, or an error code"},"description":"Get the Object Database for this repository.","comments":"If a custom ODB has not been set, the default\ndatabase for the repository will be returned (the one\nlocated in `.git/objects`).\n\nThe ODB must be freed once it's no longer being used by\nthe user.\n","group":"repository","examples":{"general.c":["ex/v0.16.0/general.html#git_repository_odb-24"]}},"git_repository_set_odb":{"type":"function","file":"repository.h","line":255,"lineto":255,"args":[{"name":"repo","type":"git_repository *","comment":"A repository object"},{"name":"odb","type":"git_odb *","comment":"An ODB object"}],"argline":"git_repository *repo, git_odb *odb","sig":"git_repository *::git_odb *","return":{"type":"void"},"description":"Set the Object Database for this repository","comments":"The ODB will be used for all object-related operations\ninvolving this repository.\n\nThe repository will keep a reference to the ODB; the user\nmust still free the ODB object after setting it to the\nrepository, or it will leak.\n","group":"repository"},"git_repository_index":{"type":"function","file":"repository.h","line":271,"lineto":271,"args":[{"name":"out","type":"git_index **","comment":"Pointer to store the loaded index"},{"name":"repo","type":"git_repository *","comment":"A repository object"}],"argline":"git_index **out, git_repository *repo","sig":"git_index **::git_repository *","return":{"type":"int","comment":"GIT_SUCCESS, or an error code"},"description":"Get the Index file for this repository.","comments":"If a custom index has not been set, the default\nindex for the repository will be returned (the one\nlocated in `.git/index`).\n\nThe index must be freed once it's no longer being used by\nthe user.\n","group":"repository","examples":{"showindex.c":["ex/v0.16.0/showindex.html#git_repository_index-3"],"general.c":["ex/v0.16.0/general.html#git_repository_index-25"]}},"git_repository_set_index":{"type":"function","file":"repository.h","line":286,"lineto":286,"args":[{"name":"repo","type":"git_repository *","comment":"A repository object"},{"name":"index","type":"git_index *","comment":"An index object"}],"argline":"git_repository *repo, git_index *index","sig":"git_repository *::git_index *","return":{"type":"void"},"description":"Set the index file for this repository","comments":"This index will be used for all index-related operations\ninvolving this repository.\n\nThe repository will keep a reference to the index file;\nthe user must still free the index after setting it\nto the repository, or it will leak.\n","group":"repository"},"git_remote_new":{"type":"function","file":"remote.h","line":44,"lineto":44,"args":[{"name":"out","type":"git_remote **","comment":"pointer to the new remote object"},{"name":"repo","type":"git_repository *","comment":"the associtated repository"},{"name":"url","type":"const char *","comment":"the remote repository's URL"},{"name":"name","type":"const char *","comment":"the remote's name"}],"argline":"git_remote **out, git_repository *repo, const char *url, const char *name","sig":"git_remote **::git_repository *::const char *::const char *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Create a remote in memory","comments":"Create a remote with the default refspecs in memory. You can use\nthis when you have a URL instead of a remote's name.\n","group":"remote","examples":{"network/ls-remote.c":["ex/v0.16.0/ls-remote.html#git_remote_new-1"],"network/fetch.c":["ex/v0.16.0/fetch.html#git_remote_new-1"]}},"git_remote_load":{"type":"function","file":"remote.h","line":54,"lineto":54,"args":[{"name":"out","type":"git_remote **","comment":"pointer to the new remote object"},{"name":"repo","type":"git_repository *"},{"name":"name","type":"const char *","comment":"the remote's name"}],"argline":"git_remote **out, git_repository *repo, const char *name","sig":"git_remote **::git_repository *::const char *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Get the information for a particular remote","comments":"","group":"remote","examples":{"network/ls-remote.c":["ex/v0.16.0/ls-remote.html#git_remote_load-2"]}},"git_remote_name":{"type":"function","file":"remote.h","line":62,"lineto":62,"args":[{"name":"remote","type":"git_remote *","comment":"the remote"}],"argline":"git_remote *remote","sig":"git_remote *","return":{"type":"const char *","comment":"a pointer to the name"},"description":"Get the remote's name","comments":"","group":"remote"},"git_remote_url":{"type":"function","file":"remote.h","line":70,"lineto":70,"args":[{"name":"remote","type":"git_remote *","comment":"the remote"}],"argline":"git_remote *remote","sig":"git_remote *","return":{"type":"const char *","comment":"a pointer to the url"},"description":"Get the remote's url","comments":"","group":"remote"},"git_remote_fetchspec":{"type":"function","file":"remote.h","line":78,"lineto":78,"args":[{"name":"remote","type":"git_remote *","comment":"the remote"}],"argline":"git_remote *remote","sig":"git_remote *","return":{"type":"const git_refspec *","comment":"a pointer to the fetch refspec or NULL if it doesn't exist"},"description":"Get the fetch refspec","comments":"","group":"remote"},"git_remote_pushspec":{"type":"function","file":"remote.h","line":86,"lineto":86,"args":[{"name":"remote","type":"git_remote *","comment":"the remote"}],"argline":"git_remote *remote","sig":"git_remote *","return":{"type":"const git_refspec *","comment":"a pointer to the push refspec or NULL if it doesn't exist"},"description":"Get the push refspec","comments":"","group":"remote"},"git_remote_connect":{"type":"function","file":"remote.h","line":100,"lineto":100,"args":[{"name":"remote","type":"git_remote *","comment":"the remote to connect to"},{"name":"direction","type":"int","comment":"whether you want to receive or send data"}],"argline":"git_remote *remote, int direction","sig":"git_remote *::int","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Open a connection to a remote","comments":"The transport is selected based on the URL. The direction argument\nis due to a limitation of the git protocol (over TCP or SSH) which\nstarts up a specific binary which can only do the one or the other.\n","group":"remote","examples":{"network/ls-remote.c":["ex/v0.16.0/ls-remote.html#git_remote_connect-3","ex/v0.16.0/ls-remote.html#git_remote_connect-4"],"network/fetch.c":["ex/v0.16.0/fetch.html#git_remote_connect-2"]}},"git_remote_ls":{"type":"function","file":"remote.h","line":112,"lineto":112,"args":[{"name":"remote","type":"git_remote *","comment":"the remote"},{"name":"list_cb","type":"git_headlist_cb"},{"name":"payload","type":"void *"}],"argline":"git_remote *remote, git_headlist_cb list_cb, void *payload","sig":"git_remote *::git_headlist_cb::void *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Get a list of refs at the remote","comments":"The remote (or more exactly its transport) must be connected. The\nmemory belongs to the remote.\n","group":"remote","examples":{"network/ls-remote.c":["ex/v0.16.0/ls-remote.html#git_remote_ls-5","ex/v0.16.0/ls-remote.html#git_remote_ls-6","ex/v0.16.0/ls-remote.html#git_remote_ls-7"]}},"git_remote_download":{"type":"function","file":"remote.h","line":127,"lineto":127,"args":[{"name":"filename","type":"char **","comment":"where to store the temproray filename"},{"name":"remote","type":"git_remote *","comment":"the remote to download from"}],"argline":"char **filename, git_remote *remote","sig":"char **::git_remote *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Download the packfile","comments":"Negotiate what objects should be downloaded and download the\npackfile with those objects. The packfile is downloaded with a\ntemporary filename, as it's final name is not known yet. If there\nwas no packfile needed (all the objects were available locally),\nfilename will be NULL and the function will return success.\n","group":"remote","examples":{"network/fetch.c":["ex/v0.16.0/fetch.html#git_remote_download-3"]}},"git_remote_connected":{"type":"function","file":"remote.h","line":137,"lineto":137,"args":[{"name":"remote","type":"git_remote *"}],"argline":"git_remote *remote","sig":"git_remote *","return":{"type":"int","comment":"1 if it's connected, 0 otherwise."},"description":"Check whether the remote is connected","comments":"Check whether the remote's underlying transport is connected to the\nremote host.\n","group":"remote"},"git_remote_disconnect":{"type":"function","file":"remote.h","line":147,"lineto":147,"args":[{"name":"remote","type":"git_remote *","comment":"the remote to disconnect from"}],"argline":"git_remote *remote","sig":"git_remote *","return":{"type":"void"},"description":"Disconnect from the remote","comments":"Close the connection to the remote and free the underlying\ntransport.\n","group":"remote"},"git_remote_free":{"type":"function","file":"remote.h","line":154,"lineto":154,"args":[{"name":"remote","type":"git_remote *","comment":"the remote to free"}],"argline":"git_remote *remote","sig":"git_remote *","return":{"type":"void"},"description":"Free the memory associated with a remote","comments":"","group":"remote","examples":{"network/ls-remote.c":["ex/v0.16.0/ls-remote.html#git_remote_free-8","ex/v0.16.0/ls-remote.html#git_remote_free-9"],"network/fetch.c":["ex/v0.16.0/fetch.html#git_remote_free-4"]}},"git_remote_update_tips":{"type":"function","file":"remote.h","line":164,"lineto":164,"args":[{"name":"remote","type":"git_remote *","comment":"the remote to update"}],"argline":"git_remote *remote","sig":"git_remote *","return":{"type":"int"},"description":"Update the tips to the new state","comments":"Make sure that you only call this once you've successfully indexed\nor expanded the packfile.\n","group":"remote","examples":{"network/fetch.c":["ex/v0.16.0/fetch.html#git_remote_update_tips-5"]}},"git_remote_valid_url":{"type":"function","file":"remote.h","line":172,"lineto":172,"args":[{"name":"url","type":"const char *"}],"argline":"const char *url","sig":"const char *","return":{"type":"int"},"description":"Return whether a string is a valid remote URL","comments":"","group":"remote"},"git_refspec_src":{"type":"function","file":"refspec.h","line":27,"lineto":27,"args":[{"name":"refspec","type":"const git_refspec *","comment":"the refspec"}],"argline":"const git_refspec *refspec","sig":"const git_refspec *","return":{"type":"const char *","comment":"the refspec's source specifier"},"description":"Get the source specifier","comments":"","group":"refspec"},"git_refspec_dst":{"type":"function","file":"refspec.h","line":35,"lineto":35,"args":[{"name":"refspec","type":"const git_refspec *","comment":"the refspec"}],"argline":"const git_refspec *refspec","sig":"const git_refspec *","return":{"type":"const char *","comment":"the refspec's destination specifier"},"description":"Get the destination specifier","comments":"","group":"refspec"},"git_refspec_src_match":{"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":"GIT_SUCCESS on successful match; GIT_ENOMACH on match failure or an error code on other failure"},"description":"Match a refspec's source descriptor with a reference name","comments":"","group":"refspec"},"git_refspec_transform":{"type":"function","file":"refspec.h","line":56,"lineto":60,"args":[{"name":"out","type":"char *","comment":"where to store the target name"},{"name":"outlen","type":"size_t","comment":"the size ouf the `out` buffer"},{"name":"spec","type":"const git_refspec *","comment":"the refspec"},{"name":"name","type":"const char *","comment":"the name of the reference to transform"}],"argline":"char *out, size_t outlen, const git_refspec *spec, const char *name","sig":"char *::size_t::const git_refspec *::const char *","return":{"type":"int","comment":"GIT_SUCCESS, GIT_ESHORTBUFFER or another error"},"description":"Transform a reference to its target following the refspec's rules","comments":"","group":"refspec"},"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":"GIT_SUCCESS or an error code"},"description":"Lookup a reference by its name in a repository.","comments":"The generated reference must be freed by the user.\n","group":"reference","examples":{"general.c":["ex/v0.16.0/general.html#git_reference_lookup-26"]}},"git_reference_create_symbolic":{"type":"function","file":"refs.h","line":53,"lineto":53,"args":[{"name":"ref_out","type":"git_reference **","comment":"Pointer to the newly created reference"},{"name":"repo","type":"git_repository *","comment":"Repository where that reference will live"},{"name":"name","type":"const char *","comment":"The name of the reference"},{"name":"target","type":"const char *","comment":"The target of the reference"},{"name":"force","type":"int","comment":"Overwrite existing references"}],"argline":"git_reference **ref_out, git_repository *repo, const char *name, const char *target, int force","sig":"git_reference **::git_repository *::const char *::const char *::int","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Create a new symbolic reference.","comments":"The reference will be created in the repository and written\nto the disk.\n\nThe generated reference must be freed by the user.\n\nIf `force` is true and there already exists a reference\nwith the same name, it will be overwritten.\n","group":"reference"},"git_reference_create_oid":{"type":"function","file":"refs.h","line":73,"lineto":73,"args":[{"name":"ref_out","type":"git_reference **","comment":"Pointer to the newly created reference"},{"name":"repo","type":"git_repository *","comment":"Repository where that reference will live"},{"name":"name","type":"const char *","comment":"The name of the reference"},{"name":"id","type":"const git_oid *","comment":"The object id pointed to by the reference."},{"name":"force","type":"int","comment":"Overwrite existing references"}],"argline":"git_reference **ref_out, git_repository *repo, const char *name, const git_oid *id, int force","sig":"git_reference **::git_repository *::const char *::const git_oid *::int","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Create a new object id reference.","comments":"The reference will be created in the repository and written\nto the disk.\n\nThe generated reference must be freed by the user.\n\nIf `force` is true and there already exists a reference\nwith the same name, it will be overwritten.\n","group":"reference"},"git_reference_oid":{"type":"function","file":"refs.h","line":83,"lineto":83,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"const git_oid *","comment":"a pointer to the oid if available, NULL otherwise"},"description":"Get the OID pointed to by a reference.","comments":"Only available if the reference is direct (i.e. not symbolic)\n","group":"reference","examples":{"general.c":["ex/v0.16.0/general.html#git_reference_oid-27"]}},"git_reference_target":{"type":"function","file":"refs.h","line":93,"lineto":93,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"const char *","comment":"a pointer to the name if available, NULL otherwise"},"description":"Get full name to the reference pointed by this reference","comments":"Only available if the reference is symbolic\n","group":"reference","examples":{"general.c":["ex/v0.16.0/general.html#git_reference_target-28"]}},"git_reference_type":{"type":"function","file":"refs.h","line":103,"lineto":103,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"git_rtype","comment":"the type"},"description":"Get the type of a reference","comments":"Either direct (GIT_REF_OID) or symbolic (GIT_REF_SYMBOLIC)\n","group":"reference","examples":{"general.c":["ex/v0.16.0/general.html#git_reference_type-29"]}},"git_reference_name":{"type":"function","file":"refs.h","line":111,"lineto":111,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"const char *","comment":"the full name for the ref"},"description":"Get the full name of a reference","comments":"","group":"reference"},"git_reference_resolve":{"type":"function","file":"refs.h","line":131,"lineto":131,"args":[{"name":"resolved_ref","type":"git_reference **","comment":"Pointer to the peeled reference"},{"name":"ref","type":"git_reference *","comment":"The reference"}],"argline":"git_reference **resolved_ref, git_reference *ref","sig":"git_reference **::git_reference *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Resolve a symbolic reference","comments":"Thie method iteratively peels a symbolic reference\nuntil it resolves to a direct reference to an OID.\n\nThe peeled reference is returned in the `resolved_ref`\nargument, and must be freed manually once it's no longer\nneeded.\n\nIf a direct reference is passed as an argument,\na copy of that reference is returned. This copy must\nbe manually freed too.\n","group":"reference"},"git_reference_owner":{"type":"function","file":"refs.h","line":139,"lineto":139,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"git_repository *","comment":"a pointer to the repo"},"description":"Get the repository where a reference resides","comments":"","group":"reference"},"git_reference_set_target":{"type":"function","file":"refs.h","line":154,"lineto":154,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"},{"name":"target","type":"const char *","comment":"The new target for the reference"}],"argline":"git_reference *ref, const char *target","sig":"git_reference *::const char *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Set the symbolic target of a reference.","comments":"The reference must be a symbolic reference, otherwise\nthis method will fail.\n\nThe reference will be automatically updated in\nmemory and on disk.\n","group":"reference"},"git_reference_set_oid":{"type":"function","file":"refs.h","line":169,"lineto":169,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"},{"name":"id","type":"const git_oid *","comment":"The new target OID for the reference"}],"argline":"git_reference *ref, const git_oid *id","sig":"git_reference *::const git_oid *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Set the OID target of a reference.","comments":"The reference must be a direct reference, otherwise\nthis method will fail.\n\nThe reference will be automatically updated in\nmemory and on disk.\n","group":"reference"},"git_reference_rename":{"type":"function","file":"refs.h","line":197,"lineto":197,"args":[{"name":"ref","type":"git_reference *","comment":"The reference to rename"},{"name":"new_name","type":"const char *","comment":"The new name for the reference"},{"name":"force","type":"int","comment":"Overwrite an existing reference"}],"argline":"git_reference *ref, const char *new_name, int force","sig":"git_reference *::const char *::int","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Rename an existing reference","comments":"This method works for both direct and symbolic references.\nThe new name will be checked for validity and may be\nmodified into a normalized form.\n\nThe given git_reference will be updated in place.\n\nThe reference will be immediately renamed in-memory\nand on disk.\n\nIf the `force` flag is not enabled, and there's already\na reference with the given name, the renaming will fail.\n\nIMPORTANT:\nThe user needs to write a proper reflog entry if the\nreflog is enabled for the repository. We only rename\nthe reflog if it exists.\n","group":"reference"},"git_reference_delete":{"type":"function","file":"refs.h","line":210,"lineto":210,"args":[{"name":"ref","type":"git_reference *","comment":"The reference to remove"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Delete an existing reference","comments":"This method works for both direct and symbolic references.\n\nThe reference will be immediately removed on disk and from\nmemory. The given reference pointer will no longer be valid.\n","group":"reference"},"git_reference_packall":{"type":"function","file":"refs.h","line":225,"lineto":225,"args":[{"name":"repo","type":"git_repository *","comment":"Repository where the loose refs will be packed"}],"argline":"git_repository *repo","sig":"git_repository *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Pack all the loose references in the repository","comments":"This method will load into the cache all the loose\nreferences on the repository and update the\n`packed-refs` file with them.\n\nOnce the `packed-refs` file has been written properly,\nthe loose references will be removed from disk.\n","group":"reference"},"git_reference_listall":{"type":"function","file":"refs.h","line":248,"lineto":248,"args":[{"name":"array","type":"git_strarray *","comment":"Pointer to a git_strarray structure where the 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 listing."}],"argline":"git_strarray *array, git_repository *repo, unsigned int list_flags","sig":"git_strarray *::git_repository *::unsigned int","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Fill a list with all the references that can be found\nin a repository.","comments":"The listed references may be filtered by type, or using\na bitwise OR of several types. Use the magic value\n`GIT_REF_LISTALL` to obtain all references, including\npacked ones.\n\nThe string array will be filled with the names of all\nreferences; these values are owned by the user and\nshould be free'd manually when no longer needed, using\n`git_strarray_free`.\n","group":"reference","examples":{"general.c":["ex/v0.16.0/general.html#git_reference_listall-30"]}},"git_reference_foreach":{"type":"function","file":"refs.h","line":270,"lineto":270,"args":[{"name":"repo","type":"git_repository *","comment":"Repository where to find the refs"},{"name":"list_flags","type":"unsigned int","comment":"Filtering flags for the reference listing."},{"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 (*callback)(const char *, void *), void *payload","sig":"git_repository *::unsigned int::int (*)(const char *, void *)::void *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Perform an operation on each reference in the repository","comments":"The processed references may be filtered by type, or using\na bitwise OR of several types. Use the magic value\n`GIT_REF_LISTALL` to obtain all references, including\npacked ones.\n\nThe `callback` function will be called for each of the references\nin the repository, and will receive the name of the reference and\nthe `payload` value passed to this method.\n","group":"reference"},"git_reference_is_packed":{"type":"function","file":"refs.h","line":278,"lineto":278,"args":[{"name":"ref","type":"git_reference *","comment":"A git reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"int","comment":"0 in case it's not packed; 1 otherwise"},"description":"Check if a reference has been loaded from a packfile","comments":"","group":"reference"},"git_reference_reload":{"type":"function","file":"refs.h","line":298,"lineto":298,"args":[{"name":"ref","type":"git_reference *","comment":"The reference to reload"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"int","comment":"GIT_SUCCESS on success, or an error code"},"description":"Reload a reference from disk","comments":"Reference pointers may become outdated if the Git\nrepository is accessed simultaneously by other clients\nwhilt the library is open.\n\nThis method forces a reload of the reference from disk,\nto ensure that the provided information is still\nreliable.\n\nIf the reload fails (e.g. the reference no longer exists\non disk, or has become corrupted), an error code will be\nreturned and the reference pointer will be invalidated.\n","group":"reference"},"git_reference_free":{"type":"function","file":"refs.h","line":305,"lineto":305,"args":[{"name":"ref","type":"git_reference *","comment":"git_reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"void"},"description":"Free the given reference","comments":"","group":"reference"},"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":"log pointer to reflog"}],"argline":"git_reflog **reflog, git_reference *ref","sig":"git_reflog **::git_reference *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Read the reflog for the given reference","comments":"The reflog must be freed manually by using\ngit_reflog_free().\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":"GIT_SUCCESS or an error code"},"description":"Write a new reflog for the given reference","comments":"If there is no reflog file for the given\nreference yet, it will be created.\n\n`oid_old` may be NULL in case it's a new reference.\n\n`msg` is optional and can be NULL.\n","group":"reflog"},"git_reflog_rename":{"type":"function","file":"reflog.h","line":60,"lineto":60,"args":[{"name":"ref","type":"git_reference *","comment":"the reference"},{"name":"new_name","type":"const char *","comment":"the new name of the reference"}],"argline":"git_reference *ref, const char *new_name","sig":"git_reference *::const char *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Rename the reflog for the given reference","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":"GIT_SUCCESS or an error code"},"description":"Delete the reflog for the given reference","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":"Get the number of log entries in a reflog","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":"Lookup an entry by its index","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":"Get the old oid","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":"Get the new oid","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":"Get the committer of this entry","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":"Get the log msg","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"},"description":"Free the reflog","comments":"","group":"reflog"},"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 the hex sequence and have at least the number of bytes needed for an oid encoded in hex (40 bytes)."}],"argline":"git_oid *out, const char *str","sig":"git_oid *::const char *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Parse a hex formatted object id into a git_oid.","comments":"","group":"oid","examples":{"general.c":["ex/v0.16.0/general.html#git_oid_fromstr-31","ex/v0.16.0/general.html#git_oid_fromstr-32","ex/v0.16.0/general.html#git_oid_fromstr-33","ex/v0.16.0/general.html#git_oid_fromstr-34","ex/v0.16.0/general.html#git_oid_fromstr-35","ex/v0.16.0/general.html#git_oid_fromstr-36","ex/v0.16.0/general.html#git_oid_fromstr-37","ex/v0.16.0/general.html#git_oid_fromstr-38"]}},"git_oid_fromstrn":{"type":"function","file":"oid.h","line":61,"lineto":61,"args":[{"name":"out","type":"git_oid *","comment":"oid structure the result is written into."},{"name":"str","type":"const char *","comment":"input hex string of at least size `length`"},{"name":"length","type":"size_t","comment":"length of the input string"}],"argline":"git_oid *out, const char *str, size_t length","sig":"git_oid *::const char *::size_t","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Parse N characters of a hex formatted object id into a git_oid","comments":"If N is odd, N-1 characters will be parsed instead.\nThe remaining space in the git_oid will be set to zero.\n","group":"oid"},"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"},"description":"Copy an already raw oid into a git_oid structure.","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 the hex sequence and have at least the number of bytes needed for an oid encoded in hex (40 bytes). Only the oid digits are written; a '\\\\0' terminator must be added by 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"},"description":"Format a git_oid into a hex string.","comments":"","group":"oid","examples":{"showindex.c":["ex/v0.16.0/showindex.html#git_oid_fmt-4"],"network/ls-remote.c":["ex/v0.16.0/ls-remote.html#git_oid_fmt-10"],"network/index-pack.c":["ex/v0.16.0/index-pack.html#git_oid_fmt-1"],"network/fetch.c":["ex/v0.16.0/fetch.html#git_oid_fmt-6"],"general.c":["ex/v0.16.0/general.html#git_oid_fmt-39","ex/v0.16.0/general.html#git_oid_fmt-40","ex/v0.16.0/general.html#git_oid_fmt-41","ex/v0.16.0/general.html#git_oid_fmt-42","ex/v0.16.0/general.html#git_oid_fmt-43"]}},"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 the hex sequence and have at least the number of bytes needed for an oid encoded in hex (41 bytes). Only the oid digits are written; a '\\\\0' terminator must be added by 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"},"description":"Format a git_oid into a loose-object path string.","comments":"The resulting string is \"aa/...\", where \"aa\" is the first two\nhex digitis of the oid and \"...\" is the remaining 38 digits.\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 deallocate the string with git__free()."},"description":"Format a git_oid into a newly allocated c-string.","comments":"","group":"oid"},"git_oid_to_string":{"type":"function","file":"oid.h","line":122,"lineto":122,"args":[{"name":"out","type":"char *","comment":"the buffer into which the oid string is output."},{"name":"n","type":"size_t","comment":"the size of the out buffer."},{"name":"oid","type":"const git_oid *","comment":"the oid structure to format."}],"argline":"char *out, size_t n, const git_oid *oid","sig":"char *::size_t::const git_oid *","return":{"type":"char *","comment":"the out buffer pointer, assuming no input parameter errors, otherwise a pointer to an empty string."},"description":"Format a git_oid into a buffer as a hex format c-string.","comments":"If the buffer is smaller than GIT_OID_HEXSZ+1, then the resulting\noid c-string will be truncated to n-1 characters. If there are\nany input parameter errors (out == NULL, n == 0, oid == NULL),\nthen a pointer to an empty string is returned, so that the return\nvalue can always be printed.\n","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"},"description":"Copy an oid from one structure to another.","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":"<0, 0, >0 if a < b, a == b, a > b."},"description":"Compare two oid structures.","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":"Compare the first 'len' hexadecimal characters (packets of 4 bits)\nof two oid structures.","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, GIT_SUCCESS in case of a match, GIT_ERROR otherwise."},"description":"Check if an oid equals an hex formatted object id.","comments":"","group":"oid"},"git_oid_shorten_new":{"type":"function","file":"oid.h","line":181,"lineto":181,"args":[{"name":"min_length","type":"size_t","comment":"The minimal length for all identifiers, which will be used even if shorter OIDs would still be unique."}],"argline":"size_t min_length","sig":"size_t","return":{"type":"git_oid_shorten *","comment":"a `git_oid_shorten` instance, NULL if OOM"},"description":"Create a new OID shortener.","comments":"The OID shortener is used to process a list of OIDs\nin text form and return the shortest length that would\nuniquely identify all of them.\n\nE.g. look at the result of `git log --abbrev`.\n","group":"oid"},"git_oid_shorten_add":{"type":"function","file":"oid.h","line":207,"lineto":207,"args":[{"name":"os","type":"git_oid_shorten *","comment":"a `git_oid_shorten` instance"},{"name":"text_oid","type":"const char *","comment":"an OID in text form"}],"argline":"git_oid_shorten *os, const char *text_oid","sig":"git_oid_shorten *::const char *","return":{"type":"int","comment":"the minimal length to uniquely identify all OIDs added so far to the set; or an error code (<0) if an error occurs."},"description":"Add a new OID to set of shortened OIDs and calculate\nthe minimal length to uniquely identify all the OIDs in\nthe set.","comments":"The OID is expected to be a 40-char hexadecimal string.\nThe OID is owned by the user and will not be modified\nor freed.\n\nFor performance reasons, there is a hard-limit of how many\nOIDs can be added to a single set (around ~22000, assuming\na mostly randomized distribution), which should be enough\nfor any kind of program, and keeps the algorithm fast and\nmemory-efficient.\n\nAttempting to add more than those OIDs will result in a\nGIT_ENOMEM error\n","group":"oid"},"git_oid_shorten_free":{"type":"function","file":"oid.h","line":214,"lineto":214,"args":[{"name":"os","type":"git_oid_shorten *","comment":"a `git_oid_shorten` instance"}],"argline":"git_oid_shorten *os","sig":"git_oid_shorten *","return":{"type":"void"},"description":"Free an OID shortener instance","comments":"","group":"oid"},"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. Set to NULL if the open failed."}],"argline":"git_odb **out","sig":"git_odb **","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Create a new object database with no backends.","comments":"Before the ODB can be used for read/writing, a custom database\nbackend must be manually added using `git_odb_add_backend()`\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. Set to NULL if the open failed."},{"name":"objects_dir","type":"const char *","comment":"path of the backends' \"objects\" directory."}],"argline":"git_odb **out, const char *objects_dir","sig":"git_odb **::const char *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Create a new object database and automatically add\nthe two default backends:","comments":"- git_odb_backend_loose: read and write loose object files\n\tfrom disk, assuming `objects_dir` as the Objects folder\n\n- git_odb_backend_pack: read objects from packfiles,\n\tassuming `objects_dir` as the Objects folder which\n\tcontains a 'pack/' folder with the corresponding data\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":"Add a custom backend to an existing Object DB","comments":"The backends are checked in relative ordering, based on the\nvalue of the `priority` parameter.\n\nRead <odb_backends.h> for more information.\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":"Add a custom backend to an existing Object DB; this\nbackend will work as an alternate.","comments":"Alternate backends are always checked for objects *after*\nall the main backends have been exhausted.\n\nThe backends are checked in relative ordering, based on the\nvalue of the `priority` parameter.\n\nWriting is disabled on alternate backends.\n\nRead <odb_backends.h> for more information.\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"},"description":"Close an open object database.","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":"- GIT_SUCCESS if the object was read; - GIT_ENOTFOUND if the object is not in the database."},"description":"Read an object from the database.","comments":"This method queries all available ODB backends\ntrying to read the given OID.\n\nThe returned object is reference counted and\ninternally cached, so it should be closed\nby the user once it's no longer in use.\n","group":"odb","examples":{"general.c":["ex/v0.16.0/general.html#git_odb_read-44"]}},"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":"GIT_SUCCESS if the object was read; GIT_ENOTFOUND if the object is not in the database. GIT_EAMBIGUOUS if the prefix is ambiguous (several objects match the prefix)"},"description":"Read an object from the database, given a prefix\nof its identifier.","comments":"This method queries all available ODB backends\ntrying to match the 'len' first hexadecimal\ncharacters of the 'short_id'.\nThe remaining (GIT_OID_HEXSZ-len)*4 bits of\n'short_id' must be 0s.\n'len' must be at least GIT_OID_MINPREFIXLEN,\nand the prefix must be long enough to identify\na unique object in all the backends; the\nmethod will fail otherwise.\n\nThe returned object is reference counted and\ninternally cached, so it should be closed\nby the user once it's no longer in use.\n","group":"odb"},"git_odb_read_header":{"type":"function","file":"odb.h","line":162,"lineto":162,"args":[{"name":"len_p","type":"size_t *","comment":"pointer where to store the length"},{"name":"type_p","type":"git_otype *","comment":"pointer where to store the type"},{"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":"size_t *len_p, git_otype *type_p, git_odb *db, const git_oid *id","sig":"size_t *::git_otype *::git_odb *::const git_oid *","return":{"type":"int","comment":"- GIT_SUCCESS if the object was read; - GIT_ENOTFOUND if the object is not in the database."},"description":"Read the header of an object from the database, without\nreading its full contents.","comments":"The header includes the length and the type of an object.\n\nNote that most backends do not support reading only the header\nof an object, so the whole object will be read and then the\nheader will be returned.\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 - 0, otherwise"},"description":"Determine if the given object can be found in the object database.","comments":"","group":"odb"},"git_odb_write":{"type":"function","file":"odb.h","line":193,"lineto":193,"args":[{"name":"oid","type":"git_oid *","comment":"pointer to store the OID result of the write"},{"name":"odb","type":"git_odb *","comment":"object database where to store the object"},{"name":"data","type":"const void *","comment":"buffer with the data to storr"},{"name":"len","type":"size_t","comment":"size of the buffer"},{"name":"type","type":"git_otype","comment":"type of the data to store"}],"argline":"git_oid *oid, git_odb *odb, const void *data, size_t len, git_otype type","sig":"git_oid *::git_odb *::const void *::size_t::git_otype","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Write an object directly into the ODB","comments":"This method writes a full object straight into the ODB.\nFor most cases, it is preferred to write objects through a write\nstream, which is both faster and less memory intensive, specially\nfor big objects.\n\nThis method is provided for compatibility with custom backends\nwhich are not able to support streaming writes\n","group":"odb","examples":{"general.c":["ex/v0.16.0/general.html#git_odb_write-45"]}},"git_odb_open_wstream":{"type":"function","file":"odb.h","line":222,"lineto":222,"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 write"},{"name":"size","type":"size_t","comment":"final size of the object that will be written"},{"name":"type","type":"git_otype","comment":"type of the object that will be written"}],"argline":"git_odb_stream **stream, git_odb *db, size_t size, git_otype type","sig":"git_odb_stream **::git_odb *::size_t::git_otype","return":{"type":"int","comment":"0 if the stream was created; error code otherwise"},"description":"Open a stream to write an object into the ODB","comments":"The type and final length of the object must be specified\nwhen opening the stream.\n\nThe returned stream will be of type `GIT_STREAM_WRONLY` and\nwill have the following methods:\n\n\t- stream->write: write `n` bytes into the stream\n\t- stream->finalize_write: close the stream and store the object in\n\t\tthe odb\n\t- stream->free: free the stream\n\nThe streaming write won't be effective until `stream->finalize_write`\nis called and returns without an error\n\nThe stream must always be free'd or will leak memory.\n\n@see git_odb_stream\n","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":"Open a stream to read an object from the ODB","comments":"Note that most backends do *not* support streaming reads\nbecause they store their objects as compressed/delta'ed blobs.\n\nIt's recommended to use `git_odb_read` instead, which is\nassured to work on all backends.\n\nThe returned stream will be of type `GIT_STREAM_RDONLY` and\nwill have the following methods:\n\n\t- stream->read: read `n` bytes from the stream\n\t- stream->free: free the stream\n\nThe stream must always be free'd or will leak memory.\n\n@see git_odb_stream\n","group":"odb"},"git_odb_hash":{"type":"function","file":"odb.h","line":262,"lineto":262,"args":[{"name":"id","type":"git_oid *","comment":"the resulting object-ID."},{"name":"data","type":"const void *","comment":"data to hash"},{"name":"len","type":"size_t","comment":"size of the data"},{"name":"type","type":"git_otype","comment":"of the data to hash"}],"argline":"git_oid *id, const void *data, size_t len, git_otype type","sig":"git_oid *::const void *::size_t::git_otype","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Determine the object-ID (sha1 hash) of a data buffer","comments":"The resulting SHA-1 OID will the itentifier for the data\nbuffer as if the data buffer it were to written to the ODB.\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":"GIT_SUCCESS or an error code"},"description":"Read a file from disk and fill a git_oid with the object id\nthat the file would have if it were written to the Object\nDatabase as an object of the given type. Similar functionality\nto git.git's `git hash-object` without the `-w` flag.","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"},"description":"Close an ODB object","comments":"This method must always be called once a `git_odb_object` is no\nlonger needed, otherwise memory will leak.\n","group":"odb","examples":{"general.c":["ex/v0.16.0/general.html#git_odb_object_free-46"]}},"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":"Return the OID of an ODB object","comments":"This is the OID from which the object was read from\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":"Return the data of an ODB object","comments":"This is the uncompressed, raw data as read from the ODB,\nwithout the leading header.\n\nThis pointer is owned by the object and shall not be free'd.\n","group":"odb","examples":{"general.c":["ex/v0.16.0/general.html#git_odb_object_data-47"]}},"git_odb_object_size":{"type":"function","file":"odb.h","line":319,"lineto":319,"args":[{"name":"object","type":"git_odb_object *","comment":"the object"}],"argline":"git_odb_object *object","sig":"git_odb_object *","return":{"type":"size_t","comment":"the size"},"description":"Return the size of an ODB object","comments":"This is the real size of the `data` buffer, not the\nactual size of the object.\n","group":"odb","examples":{"general.c":["ex/v0.16.0/general.html#git_odb_object_size-48"]}},"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":"Return the type of an ODB object","comments":"","group":"odb","examples":{"general.c":["ex/v0.16.0/general.html#git_odb_object_type-49"]}},"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,\n\t\tgit_repository *repo,\n\t\tconst git_oid *id,\n\t\tgit_otype type","sig":"git_object **::git_repository *::const git_oid *::git_otype","return":{"type":"int","comment":"a reference to the object"},"description":"Lookup a reference to one of the objects in a repostory.","comments":"The generated reference is owned by the repository and\nshould be closed with the `git_object_free` method\ninstead of free'd manually.\n\nThe 'type' parameter must match the type of the object\nin the odb; the method will fail otherwise.\nThe special value 'GIT_OBJ_ANY' may be passed to let\nthe method guess the object's type.\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,\n\t\tgit_repository *repo,\n\t\tconst git_oid *id,\n\t\tunsigned int len,\n\t\tgit_otype type","sig":"git_object **::git_repository *::const git_oid *::unsigned int::git_otype","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Lookup a reference to one of the objects in a repostory,\ngiven a prefix of its identifier (short id).","comments":"The object obtained will be so that its identifier\nmatches the first 'len' hexadecimal characters\n(packets of 4 bits) of the given 'id'.\n'len' must be at least GIT_OID_MINPREFIXLEN, and\nlong enough to identify a unique object matching\nthe prefix; otherwise the method will fail.\n\nThe generated reference is owned by the repository and\nshould be closed with the `git_object_free` method\ninstead of free'd manually.\n\nThe 'type' parameter must match the type of the object\nin the odb; the method will fail otherwise.\nThe special value 'GIT_OBJ_ANY' may be passed to let\nthe method guess the object's type.\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":"Get the id (SHA1) of a repository object","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":"Get the object type of an object","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":"Get the repository that owns this object","comments":"Freeing or calling `git_repository_close` on the\nreturned pointer will invalidate the actual object.\n\nAny other operation may be run on the repository without\naffecting the object.\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"},"description":"Close an open object","comments":"This method instructs the library to close an existing\nobject; note that git_objects are owned and cached by the repository\nso the object may or may not be freed after this library call,\ndepending on how agressive is the caching mechanism used\nby the repository.\n\nIMPORTANT:\nIt *is* necessary to call this method when you stop using\nan object. Failure to do so will cause a memory leak.\n","group":"object","examples":{"general.c":["ex/v0.16.0/general.html#git_object_free-50"]}},"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":"Convert an object type to it's string representation.","comments":"The result is a pointer to a string in static memory and\nshould not be free()'ed.\n","group":"object","examples":{"general.c":["ex/v0.16.0/general.html#git_object_type2string-51"]}},"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":"Convert a string object type representation to it's git_otype.","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, false otherwise."},"description":"Determine if the given git_otype is a valid loose object type.","comments":"","group":"object"},"git_object__size":{"type":"function","file":"object.h","line":168,"lineto":168,"args":[{"name":"type","type":"git_otype","comment":"object type to get its size"}],"argline":"git_otype type","sig":"git_otype","return":{"type":"size_t","comment":"size in bytes of the object"},"description":"Get the size in bytes for the structure which\nacts as an in-memory representation of any given\nobject type.","comments":"For all the core types, this would the equivalent\nof calling `sizeof(git_commit)` if the core types\nwere not opaque on the external API.\n","group":"object"},"git_indexer_new":{"type":"function","file":"indexer.h","line":33,"lineto":33,"args":[{"name":"out","type":"git_indexer **","comment":"where to store the indexer instance"},{"name":"packname","type":"const char *","comment":"the absolute filename of the packfile to index"}],"argline":"git_indexer **out, const char *packname","sig":"git_indexer **::const char *","return":{"type":"int"},"description":"Create a new indexer instance","comments":"","group":"indexer","examples":{"network/index-pack.c":["ex/v0.16.0/index-pack.html#git_indexer_new-2"],"network/fetch.c":["ex/v0.16.0/fetch.html#git_indexer_new-7"]}},"git_indexer_run":{"type":"function","file":"indexer.h","line":45,"lineto":45,"args":[{"name":"idx","type":"git_indexer *","comment":"the indexer instance"},{"name":"stats","type":"git_indexer_stats *","comment":"storage for the running state"}],"argline":"git_indexer *idx, git_indexer_stats *stats","sig":"git_indexer *::git_indexer_stats *","return":{"type":"int"},"description":"Iterate over the objects in the packfile and extract the information","comments":"Indexing a packfile can be very expensive so this function is\nexpected to be run in a worker thread and the stats used to provide\nfeedback the user.\n","group":"indexer","examples":{"network/index-pack.c":["ex/v0.16.0/index-pack.html#git_indexer_run-3"],"network/fetch.c":["ex/v0.16.0/fetch.html#git_indexer_run-8"]}},"git_indexer_write":{"type":"function","file":"indexer.h","line":55,"lineto":55,"args":[{"name":"idx","type":"git_indexer *","comment":"the indexer instance"}],"argline":"git_indexer *idx","sig":"git_indexer *","return":{"type":"int"},"description":"Write the index file to disk.","comments":"The file will be stored as pack-$hash.idx in the same directory as\nthe packfile.\n","group":"indexer","examples":{"network/index-pack.c":["ex/v0.16.0/index-pack.html#git_indexer_write-4"],"network/fetch.c":["ex/v0.16.0/fetch.html#git_indexer_write-9"]}},"git_indexer_hash":{"type":"function","file":"indexer.h","line":65,"lineto":65,"args":[{"name":"idx","type":"git_indexer *","comment":"the indexer instance"}],"argline":"git_indexer *idx","sig":"git_indexer *","return":{"type":"const git_oid *"},"description":"Get the packfile's hash","comments":"A packfile's name is derived from the sorted hashing of all object\nnames. This is only correct after the index has been written to disk.\n","group":"indexer","examples":{"network/index-pack.c":["ex/v0.16.0/index-pack.html#git_indexer_hash-5"],"network/fetch.c":["ex/v0.16.0/fetch.html#git_indexer_hash-10","ex/v0.16.0/fetch.html#git_indexer_hash-11"]}},"git_indexer_free":{"type":"function","file":"indexer.h","line":72,"lineto":76,"args":[{"name":"idx","type":"git_indexer *","comment":"the indexer to free"}],"argline":"git_indexer *idx","sig":"git_indexer *","return":{"type":"void"},"description":"Free the indexer and its resources","comments":"","group":"indexer","examples":{"network/index-pack.c":["ex/v0.16.0/index-pack.html#git_indexer_free-6"],"network/fetch.c":["ex/v0.16.0/fetch.html#git_indexer_free-12"]}},"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":"GIT_SUCCESS or an error code"},"description":"Create a new bare Git index object as a memory representation\nof the Git index file in 'index_path', without a repository\nto back it.","comments":"Since there is no ODB or working directory behind this index,\nany Index methods which rely on these (e.g. index_add) will\nfail with the GIT_EBAREINDEX error code.\n\nIf you need to access the index of an actual repository,\nuse the `git_repository_index` wrapper.\n\nThe index must be freed once it's no longer in use.\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"},"description":"Clear the contents (all the entries) of an index object.\nThis clears the index object in memory; changes must be manually\nwritten to disk for them to take effect.","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"},"description":"Free an existing index object.","comments":"","group":"index","examples":{"showindex.c":["ex/v0.16.0/showindex.html#git_index_free-5"],"general.c":["ex/v0.16.0/general.html#git_index_free-52"]}},"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":"GIT_SUCCESS or an error code"},"description":"Update the contents of an existing index object in memory\nby reading from the hard disk.","comments":"","group":"index","examples":{"showindex.c":["ex/v0.16.0/showindex.html#git_index_read-6"]}},"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":"GIT_SUCCESS or an error code"},"description":"Write an existing index object from memory back to disk\nusing an atomic file lock.","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":"Find the first index of any entries which point to given\npath in the Git index.","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"},"description":"Remove all entries with equal path except last added","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":"GIT_SUCCESS or an error code"},"description":"Add or update an index entry from a file in disk","comments":"The file `path` must be relative to the repository's\nworking folder and must be readable.\n\nThis method will fail in bare index instances.\n\nThis forces the file to be added to the index, not looking\nat gitignore rules. Those rules can be evaluated through\nthe git_status APIs (in status.h) before calling this.\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":"GIT_SUCCESS or an error code"},"description":"Add or update an index entry from an in-memory struct","comments":"A full copy (including the 'path' string) of the given\n'source_entry' will be inserted on the index.\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":"GIT_SUCCESS or an error code"},"description":"Add (append) an index entry from a file in disk","comments":"A new entry will always be inserted into the index;\nif the index already contains an entry for such\npath, the old entry will **not** be replaced.\n\nThe file `path` must be relative to the repository's\nworking folder and must be readable.\n\nThis method will fail in bare index instances.\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":"GIT_SUCCESS or an error code"},"description":"Add (append) an index entry from an in-memory struct","comments":"A new entry will always be inserted into the index;\nif the index already contains an entry for the path\nin the `entry` struct, the old entry will **not** be\nreplaced.\n\nA full copy (including the 'path' string) of the given\n'source_entry' will be inserted on the index.\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":"GIT_SUCCESS or an error code"},"description":"Remove an entry from the index","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":"Get a pointer to one of the entries in the index","comments":"This entry can be modified, and the changes will be written\nback to disk on the next write() call.\n\nThe entry should not be freed by the caller.\n","group":"index","examples":{"showindex.c":["ex/v0.16.0/showindex.html#git_index_get-7"],"general.c":["ex/v0.16.0/general.html#git_index_get-53"]}},"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":"Get the count of entries currently in the index","comments":"","group":"index","examples":{"showindex.c":["ex/v0.16.0/showindex.html#git_index_entrycount-8"],"general.c":["ex/v0.16.0/general.html#git_index_entrycount-54"]}},"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":"Get the count of unmerged entries currently in the index","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":"Get an unmerged entry from the index.","comments":"The returned entry is read-only and should not be modified\nof freed by the caller.\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":"Get an unmerged entry from the index.","comments":"The returned entry is read-only and should not be modified\nof freed by the caller.\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"},"description":"Return the stage number from a git index entry","comments":"This entry is calculated from the entrie's flag\nattribute like this:\n\n(entry->flags & GIT_IDXENTRY_STAGEMASK) >> GIT_IDXENTRY_STAGESHIFT\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":"GIT_SUCCESS or an error code"},"description":"Read a tree into the index file","comments":"The current index contents will be replaced by the specified tree.\n","group":"index"},"git_lasterror":{"type":"function","file":"errors.h","line":123,"lineto":123,"args":[],"argline":"void","sig":"","return":{"type":"const char *","comment":"a string explaining the error"},"description":"Return a detailed error string with the latest error\nthat occurred in the library.\n@return a string explaining the error","comments":"","group":"errors","examples":{"network/git2.c":["ex/v0.16.0/git2.html#git_lasterror-3"]}},"git_strerror":{"type":"function","file":"errors.h","line":135,"lineto":135,"args":[{"name":"num","type":"int","comment":"The error code to explain"}],"argline":"int num","sig":"int","return":{"type":"const char *","comment":"a string explaining the error code"},"description":"strerror() for the Git library","comments":"Get a string description for a given error code.\nNOTE: This method will be eventually deprecated in favor\nof the new `git_lasterror`.\n","group":"errors"},"git_clearerror":{"type":"function","file":"errors.h","line":140,"lineto":140,"args":[],"argline":"void","sig":"","return":{"type":"void"},"description":"Clear the latest library error","comments":"","group":"errors"},"git_config_find_global":{"type":"function","file":"config.h","line":53,"lineto":53,"args":[{"name":"global_config_path","type":"char *","comment":"Buffer of GIT_PATH_MAX length to store the path"}],"argline":"char *global_config_path","sig":"char *","return":{"type":"int","comment":"GIT_SUCCESS if a global configuration file has been found. Its path will be stored in `buffer`."},"description":"Locate the path to the global configuration file","comments":"The user or global configuration file is usually\nlocated in `$HOME/.gitconfig`.\n\nThis method will try to guess the full path to that\nfile, if the file exists. The returned path\nmay be used on any `git_config` call to load the\nglobal configuration file.\n","group":"config"},"git_config_find_system":{"type":"function","file":"config.h","line":65,"lineto":65,"args":[{"name":"system_config_path","type":"char *","comment":"Buffer of GIT_PATH_MAX length to store the path"}],"argline":"char *system_config_path","sig":"char *","return":{"type":"int","comment":"GIT_SUCCESS if a system configuration file has been found. Its path will be stored in `buffer`."},"description":"Locate the path to the system configuration file","comments":"If /etc/gitconfig doesn't exist, it will look for\n%PROGRAMFILES%\\Git\\etc\\gitconfig.\n","group":"config"},"git_config_open_global":{"type":"function","file":"config.h","line":76,"lineto":76,"args":[{"name":"out","type":"git_config **","comment":"Pointer to store the config instance"}],"argline":"git_config **out","sig":"git_config **","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Open the global configuration file","comments":"Utility wrapper that calls `git_config_find_global`\nand opens the located file, if it exists.\n","group":"config"},"git_config_file__ondisk":{"type":"function","file":"config.h","line":89,"lineto":89,"args":[{"name":"out","type":"struct git_config_file **","comment":"the new backend"},{"name":"path","type":"const char *","comment":"where the config file is located"}],"argline":"struct git_config_file **out, const char *path","sig":"struct git_config_file **::const char *","return":{"type":"int"},"description":"Create a configuration file backend for ondisk files","comments":"These are the normal `.gitconfig` files that Core Git\nprocesses. Note that you first have to add this file to a\nconfiguration object before you can query it for configuration\nvariables.\n","group":"config"},"git_config_new":{"type":"function","file":"config.h","line":100,"lineto":100,"args":[{"name":"out","type":"git_config **","comment":"pointer to the new configuration"}],"argline":"git_config **out","sig":"git_config **","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Allocate a new configuration object","comments":"This object is empty, so you have to add a file to it before you\ncan do anything with it.\n","group":"config"},"git_config_add_file":{"type":"function","file":"config.h","line":117,"lineto":117,"args":[{"name":"cfg","type":"git_config *","comment":"the configuration to add the file to"},{"name":"file","type":"git_config_file *","comment":"the configuration file (backend) to add"},{"name":"priority","type":"int","comment":"the priority the backend should have"}],"argline":"git_config *cfg, git_config_file *file, int priority","sig":"git_config *::git_config_file *::int","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Add a generic config file instance to an existing config","comments":"Note that the configuration object will free the file\nautomatically.\n\nFurther queries on this config object will access each\nof the config file instances in order (instances with\na higher priority will be accessed first).\n","group":"config"},"git_config_add_file_ondisk":{"type":"function","file":"config.h","line":138,"lineto":138,"args":[{"name":"cfg","type":"git_config *","comment":"the configuration to add the file to"},{"name":"path","type":"const char *","comment":"path to the configuration file (backend) to add"},{"name":"priority","type":"int","comment":"the priority the backend should have"}],"argline":"git_config *cfg, const char *path, int priority","sig":"git_config *::const char *::int","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Add an on-disk config file instance to an existing config","comments":"The on-disk file pointed at by `path` will be opened and\nparsed; it's expected to be a native Git config file following\nthe default Git config syntax (see man git-config).\n\nNote that the configuration object will free the file\nautomatically.\n\nFurther queries on this config object will access each\nof the config file instances in order (instances with\na higher priority will be accessed first).\n","group":"config"},"git_config_open_ondisk":{"type":"function","file":"config.h","line":153,"lineto":153,"args":[{"name":"cfg","type":"git_config **","comment":"The configuration instance to create"},{"name":"path","type":"const char *","comment":"Path to the on-disk file to open"}],"argline":"git_config **cfg, const char *path","sig":"git_config **::const char *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Create a new config instance containing a single on-disk file","comments":"This method is a simple utility wrapper for the following sequence\nof calls:\n- git_config_new\n- git_config_add_file_ondisk\n","group":"config","examples":{"general.c":["ex/v0.16.0/general.html#git_config_open_ondisk-55"]}},"git_config_free":{"type":"function","file":"config.h","line":160,"lineto":160,"args":[{"name":"cfg","type":"git_config *","comment":"the configuration to free"}],"argline":"git_config *cfg","sig":"git_config *","return":{"type":"void"},"description":"Free the configuration and its associated memory and files","comments":"","group":"config"},"git_config_get_int32":{"type":"function","file":"config.h","line":170,"lineto":170,"args":[{"name":"cfg","type":"git_config *","comment":"where to look for the variable"},{"name":"name","type":"const char *","comment":"the variable's name"},{"name":"out","type":"int32_t *","comment":"pointer to the variable where the value should be stored"}],"argline":"git_config *cfg, const char *name, int32_t *out","sig":"git_config *::const char *::int32_t *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Get the value of an integer config variable.","comments":"","group":"config","examples":{"general.c":["ex/v0.16.0/general.html#git_config_get_int32-56"]}},"git_config_get_int64":{"type":"function","file":"config.h","line":180,"lineto":180,"args":[{"name":"cfg","type":"git_config *","comment":"where to look for the variable"},{"name":"name","type":"const char *","comment":"the variable's name"},{"name":"out","type":"int64_t *","comment":"pointer to the variable where the value should be stored"}],"argline":"git_config *cfg, const char *name, int64_t *out","sig":"git_config *::const char *::int64_t *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Get the value of a long integer config variable.","comments":"","group":"config"},"git_config_get_bool":{"type":"function","file":"config.h","line":193,"lineto":193,"args":[{"name":"cfg","type":"git_config *","comment":"where to look for the variable"},{"name":"name","type":"const char *","comment":"the variable's name"},{"name":"out","type":"int *","comment":"pointer to the variable where the value should be stored"}],"argline":"git_config *cfg, const char *name, int *out","sig":"git_config *::const char *::int *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Get the value of a boolean config variable.","comments":"This function uses the usual C convention of 0 being false and\nanything else true.\n","group":"config"},"git_config_get_string":{"type":"function","file":"config.h","line":206,"lineto":206,"args":[{"name":"cfg","type":"git_config *","comment":"where to look for the variable"},{"name":"name","type":"const char *","comment":"the variable's name"},{"name":"out","type":"const char **","comment":"pointer to the variable's value"}],"argline":"git_config *cfg, const char *name, const char **out","sig":"git_config *::const char *::const char **","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Get the value of a string config variable.","comments":"The string is owned by the variable and should not be freed by the\nuser.\n","group":"config","examples":{"general.c":["ex/v0.16.0/general.html#git_config_get_string-57"]}},"git_config_set_int32":{"type":"function","file":"config.h","line":216,"lineto":216,"args":[{"name":"cfg","type":"git_config *","comment":"where to look for the variable"},{"name":"name","type":"const char *","comment":"the variable's name"},{"name":"value","type":"int32_t","comment":"Integer value for the variable"}],"argline":"git_config *cfg, const char *name, int32_t value","sig":"git_config *::const char *::int32_t","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Set the value of an integer config variable.","comments":"","group":"config"},"git_config_set_int64":{"type":"function","file":"config.h","line":226,"lineto":226,"args":[{"name":"cfg","type":"git_config *","comment":"where to look for the variable"},{"name":"name","type":"const char *","comment":"the variable's name"},{"name":"value","type":"int64_t","comment":"Long integer value for the variable"}],"argline":"git_config *cfg, const char *name, int64_t value","sig":"git_config *::const char *::int64_t","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Set the value of a long integer config variable.","comments":"","group":"config"},"git_config_set_bool":{"type":"function","file":"config.h","line":236,"lineto":236,"args":[{"name":"cfg","type":"git_config *","comment":"where to look for the variable"},{"name":"name","type":"const char *","comment":"the variable's name"},{"name":"value","type":"int","comment":"the value to store"}],"argline":"git_config *cfg, const char *name, int value","sig":"git_config *::const char *::int","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Set the value of a boolean config variable.","comments":"","group":"config"},"git_config_set_string":{"type":"function","file":"config.h","line":249,"lineto":249,"args":[{"name":"cfg","type":"git_config *","comment":"where to look for the variable"},{"name":"name","type":"const char *","comment":"the variable's name"},{"name":"value","type":"const char *","comment":"the string to store."}],"argline":"git_config *cfg, const char *name, const char *value","sig":"git_config *::const char *::const char *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Set the value of a string config variable.","comments":"A copy of the string is made and the user is free to use it\nafterwards.\n","group":"config"},"git_config_delete":{"type":"function","file":"config.h","line":257,"lineto":257,"args":[{"name":"cfg","type":"git_config *","comment":"the configuration"},{"name":"name","type":"const char *","comment":"the variable to delete"}],"argline":"git_config *cfg, const char *name","sig":"git_config *::const char *","return":{"type":"int"},"description":"Delete a config variable","comments":"","group":"config"},"git_config_foreach":{"type":"function","file":"config.h","line":272,"lineto":275,"args":[{"name":"cfg","type":"git_config *","comment":"where to get the variables from"},{"name":"callback","type":"int (*)(const char *var_name, const char *value, void *payload)","comment":"the function to call on each variable"},{"name":"payload","type":"void *","comment":"the data to pass to the callback"}],"argline":"git_config *cfg,\n\tint (*callback)(const char *var_name, const char *value, void *payload),\n\tvoid *payload","sig":"git_config *::int (*)(const char *var_name, const char *value, void *payload)::void *","return":{"type":"int","comment":"GIT_SUCCESS or the return value of the callback which didn't return 0"},"description":"Perform an operation on each config variable.","comments":"The callback receives the normalized name and value of each variable\nin the config backend, and the data pointer passed to this function.\nAs soon as one of the callback functions returns something other than 0,\nthis function returns that value.\n","group":"config"},"git_libgit2_version":{"type":"function","file":"common.h","line":99,"lineto":99,"args":[{"name":"major","type":"int *","comment":"Store the major version number"},{"name":"minor","type":"int *","comment":"Store the minor version number"},{"name":"rev","type":"int *","comment":"Store the revision (patch) number"}],"argline":"int *major, int *minor, int *rev","sig":"int *::int *::int *","return":{"type":"void"},"description":"Return the version of the libgit2 library\nbeing currently used.","comments":"","group":"libgit2"},"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 an annotated tag it will be peeled back to the commit."}],"argline":"git_commit **commit, git_repository *repo, const git_oid *id","sig":"git_commit **::git_repository *::const git_oid *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Lookup a commit object from a repository.","comments":"","group":"commit","examples":{"general.c":["ex/v0.16.0/general.html#git_commit_lookup-58","ex/v0.16.0/general.html#git_commit_lookup-59","ex/v0.16.0/general.html#git_commit_lookup-60"]}},"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 an annotated tag it will be peeled back to the commit."},{"name":"len","type":"unsigned","comment":"the length of the short identifier"}],"argline":"git_commit **commit, git_repository *repo, const git_oid *id, unsigned len","sig":"git_commit **::git_repository *::const git_oid *::unsigned","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Lookup a commit object from a repository,\ngiven a prefix of its identifier (short id).","comments":"@see git_object_lookup_prefix\n","group":"commit"},"git_commit_free":{"type":"function","file":"commit.h","line":67,"lineto":70,"args":[{"name":"commit","type":"git_commit *","comment":"the commit to close"}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"void"},"description":"Close an open commit","comments":"This is a wrapper around git_object_free()\n\nIMPORTANT:\nIt *is* necessary to call this method when you stop\nusing a commit. Failure to do so will cause a memory leak.\n","group":"commit","examples":{"general.c":["ex/v0.16.0/general.html#git_commit_free-61","ex/v0.16.0/general.html#git_commit_free-62","ex/v0.16.0/general.html#git_commit_free-63","ex/v0.16.0/general.html#git_commit_free-64"]}},"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":"Get the id of a commit.","comments":"","group":"commit","examples":{"general.c":["ex/v0.16.0/general.html#git_commit_id-65"]}},"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":"Get the encoding for the message of a commit,\nas a string representing a standard encoding name.","comments":"The encoding may be NULL if the `encoding` header\nin the commit is missing; in that case UTF-8 is assumed.\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":"Get the full message of a commit.","comments":"","group":"commit","examples":{"general.c":["ex/v0.16.0/general.html#git_commit_message-66","ex/v0.16.0/general.html#git_commit_message-67"]}},"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":"Get the commit time (i.e. committer time) of a commit.","comments":"","group":"commit","examples":{"general.c":["ex/v0.16.0/general.html#git_commit_time-68","ex/v0.16.0/general.html#git_commit_time-69"]}},"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":"Get the commit timezone offset (i.e. committer's preferred timezone) of a commit.","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":"Get the committer of a commit.","comments":"","group":"commit","examples":{"general.c":["ex/v0.16.0/general.html#git_commit_committer-70"]}},"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":"Get the author of a commit.","comments":"","group":"commit","examples":{"general.c":["ex/v0.16.0/general.html#git_commit_author-71","ex/v0.16.0/general.html#git_commit_author-72"]}},"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":"GIT_SUCCESS or an error code"},"description":"Get the tree pointed to by a commit.","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":"Get the id of the tree pointed to by a commit. This differs from\n`git_commit_tree` in that no attempts are made to fetch an object\nfrom the ODB.","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":"Get the number of parents of this commit","comments":"","group":"commit","examples":{"general.c":["ex/v0.16.0/general.html#git_commit_parentcount-73"]}},"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":"GIT_SUCCESS or an error code"},"description":"Get the specified parent of the commit.","comments":"","group":"commit","examples":{"general.c":["ex/v0.16.0/general.html#git_commit_parent-74"]}},"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":"Get the oid of a specified parent for a commit. This is different from\n`git_commit_parent`, which will attempt to load the parent commit from\nthe ODB.","comments":"","group":"commit"},"git_commit_create":{"type":"function","file":"commit.h","line":224,"lineto":234,"args":[{"name":"oid","type":"git_oid *","comment":"Pointer where to store the OID of the newly 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 will be updated to point to this commit. If the reference is not direct, it will be resolved to a direct reference. Use \"HEAD\" to update the HEAD of the current branch and make it point to this commit"},{"name":"author","type":"const git_signature *","comment":"Signature representing the author and the authory time of this commit"},{"name":"committer","type":"const git_signature *","comment":"Signature representing the committer and the commit time of this commit"},{"name":"message_encoding","type":"const char *","comment":"The encoding for the message in the commit, represented with a standard encoding name. E.g. \"UTF-8\". If NULL, no encoding header is written and UTF-8 is assumed."},{"name":"message","type":"const char *","comment":"_encoding The encoding for the message in the commit, represented with a standard encoding name. E.g. \"UTF-8\". If NULL, no encoding header is written and UTF-8 is assumed."},{"name":"tree","type":"const git_tree *","comment":"An instance of a `git_tree` object that will be used as the tree for the commit. This tree object must also be owned by the given `repo`."},{"name":"parent_count","type":"int","comment":"Number of parents for this commit"}],"argline":"git_oid *oid,\n\t\tgit_repository *repo,\n\t\tconst char *update_ref,\n\t\tconst git_signature *author,\n\t\tconst git_signature *committer,\n\t\tconst char *message_encoding,\n\t\tconst char *message,\n\t\tconst git_tree *tree,\n\t\tint parent_count,\n\t\tconst git_commit *parents[]","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":"GIT_SUCCESS or an error code The created commit will be written to the Object Database and the given reference will be updated to point to it"},"description":"Create a new commit in the repository using `git_object`\ninstances as parameters.","comments":"","group":"commit"},"git_commit_create_v":{"type":"function","file":"commit.h","line":249,"lineto":259,"args":[{"name":"oid","type":"git_oid *"},{"name":"repo","type":"git_repository *"},{"name":"update_ref","type":"const char *"},{"name":"author","type":"const git_signature *"},{"name":"committer","type":"const git_signature *"},{"name":"message_encoding","type":"const char *"},{"name":"message","type":"const char *"},{"name":"tree","type":"const git_tree *"},{"name":"parent_count","type":"int"}],"argline":"git_oid *oid,\n\t\tgit_repository *repo,\n\t\tconst char *update_ref,\n\t\tconst git_signature *author,\n\t\tconst git_signature *committer,\n\t\tconst char *message_encoding,\n\t\tconst char *message,\n\t\tconst git_tree *tree,\n\t\tint parent_count,\n\t\t...","sig":"git_oid *::git_repository *::const char *::const git_signature *::const git_signature *::const char *::const char *::const git_tree *::int","return":{"type":"int"},"description":"Create a new commit in the repository using a variable\nargument list.","comments":"The parents for the commit are specified as a variable\nlist of pointers to `const git_commit *`. Note that this\nis a convenience method which may not be safe to export\nfor certain languages or compilers\n\nAll other parameters remain the same\n\n@see git_commit_create","group":"commit","examples":{"general.c":["ex/v0.16.0/general.html#git_commit_create_v-75"]}},"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":"GIT_SUCCESS or an error code"},"description":"Lookup a blob object from a repository.","comments":"","group":"blob","examples":{"general.c":["ex/v0.16.0/general.html#git_blob_lookup-76"]}},"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":"GIT_SUCCESS or an error code"},"description":"Lookup a blob object from a repository,\ngiven a prefix of its identifier (short id).","comments":"@see git_object_lookup_prefix\n","group":"blob"},"git_blob_free":{"type":"function","file":"blob.h","line":65,"lineto":68,"args":[{"name":"blob","type":"git_blob *","comment":"the blob to close"}],"argline":"git_blob *blob","sig":"git_blob *","return":{"type":"void"},"description":"Close an open blob","comments":"This is a wrapper around git_object_free()\n\nIMPORTANT:\nIt *is* necessary to call this method when you stop\nusing a blob. Failure to do so will cause a memory leak.\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":"Get a read-only buffer with the raw content of a blob.","comments":"A pointer to the raw content of a blob is returned;\nthis pointer is owned internally by the object and shall\nnot be free'd. The pointer may be invalidated at a later\ntime.\n","group":"blob","examples":{"general.c":["ex/v0.16.0/general.html#git_blob_rawcontent-77"]}},"git_blob_rawsize":{"type":"function","file":"blob.h","line":91,"lineto":91,"args":[{"name":"blob","type":"git_blob *","comment":"pointer to the blob"}],"argline":"git_blob *blob","sig":"git_blob *","return":{"type":"size_t","comment":"size on bytes"},"description":"Get the size in bytes of the contents of a blob","comments":"","group":"blob","examples":{"general.c":["ex/v0.16.0/general.html#git_blob_rawsize-78","ex/v0.16.0/general.html#git_blob_rawsize-79"]}},"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. this repository cannot be bare"},{"name":"path","type":"const char *","comment":"file from which the blob will be created, relative to the repository's working dir"}],"argline":"git_oid *oid, git_repository *repo, const char *path","sig":"git_oid *::git_repository *::const char *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Read a file from the working folder of a repository\nand write it to the Object Database as a loose blob","comments":"","group":"blob"},"git_blob_create_frombuffer":{"type":"function","file":"blob.h","line":116,"lineto":116,"args":[{"name":"oid","type":"git_oid *","comment":"return the oid of the written blob"},{"name":"repo","type":"git_repository *","comment":"repository where to blob will be written"},{"name":"buffer","type":"const void *","comment":"data to be written into the blob"},{"name":"len","type":"size_t","comment":"length of the data"}],"argline":"git_oid *oid, git_repository *repo, const void *buffer, size_t len","sig":"git_oid *::git_repository *::const void *::size_t","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"description":"Write an in-memory buffer to the ODB as a blob","comments":"","group":"blob"},"git_attr_get":{"type":"function","file":"attr.h","line":33,"lineto":35,"args":[{"name":"repo","type":"git_repository *"},{"name":"path","type":"const char *"},{"name":"name","type":"const char *"},{"name":"value","type":"const char **"}],"argline":"git_repository *repo, const char *path, const char *name,\n\tconst char **value","sig":"git_repository *::const char *::const char *::const char **","return":{"type":"int"},"description":"Lookup attribute for path returning string caller must free","comments":"","group":"attr"},"git_attr_get_many":{"type":"function","file":"attr.h","line":40,"lineto":43,"args":[{"name":"repo","type":"git_repository *"},{"name":"path","type":"const char *"},{"name":"num_attr","type":"size_t"},{"name":"names","type":"const char **"},{"name":"values","type":"const char **"}],"argline":"git_repository *repo, const char *path,\n size_t num_attr, const char **names,\n\tconst char **values","sig":"git_repository *::const char *::size_t::const char **::const char **","return":{"type":"int"},"description":"Lookup list of attributes for path, populating array of strings","comments":"","group":"attr"},"git_attr_foreach":{"type":"function","file":"attr.h","line":48,"lineto":51,"args":[{"name":"repo","type":"git_repository *"},{"name":"path","type":"const char *"},{"name":"callback","type":"int (*)(const char *name, const char *value, void *payload)"},{"name":"payload","type":"void *"}],"argline":"git_repository *repo, const char *path,\n\tint (*callback)(const char *name, const char *value, void *payload),\n\tvoid *payload","sig":"git_repository *::const char *::int (*)(const char *name, const char *value, void *payload)::void *","return":{"type":"int"},"description":"Perform an operation on each attribute of a path.","comments":"","group":"attr"},"git_attr_cache_flush":{"type":"function","file":"attr.h","line":59,"lineto":60,"args":[{"name":"repo","type":"git_repository *"}],"argline":"git_repository *repo","sig":"git_repository *","return":{"type":"void"},"description":"Flush the gitattributes cache.","comments":"Call this if you have reason to believe that the attributes files\non disk no longer match the cached contents of memory.","group":"attr"},"git_attr_add_macro":{"type":"function","file":"attr.h","line":72,"lineto":75,"args":[{"name":"repo","type":"git_repository *"},{"name":"name","type":"const char *"},{"name":"values","type":"const char *"}],"argline":"git_repository *repo,\n\tconst char *name,\n\tconst char *values","sig":"git_repository *::const char *::const char *","return":{"type":"int"},"description":"Add a macro definition.","comments":"Macros will automatically be loaded from the top level .gitattributes\nfile of the repository (plus the build-in \"binary\" macro). This\nfunction allows you to add others. For example, to add the default\nmacro, you would call:\n\n git_attr_add_macro(repo, \"binary\", \"-diff -crlf\");","group":"attr"}},"globals":{"GIT_SORT_NONE":{"value":"(0)","file":"revwalk.h","line":29,"comments":"Sort the repository contents in no particular ordering;\nthis sorting is arbitrary, implementation-specific\nand subject to change at any time.\nThis is the default sorting for new walkers."},"GIT_SORT_TOPOLOGICAL":{"value":"(1 << 0)","file":"revwalk.h","line":36,"comments":"Sort the repository contents in topological order\n(parents before children); this sorting mode\ncan be combined with time sorting."},"GIT_SORT_TIME":{"value":"(1 << 1)","file":"revwalk.h","line":43,"comments":"Sort the repository contents by commit time;\nthis sorting mode can be combined with\ntopological sorting."},"GIT_SORT_REVERSE":{"value":"(1 << 2)","file":"revwalk.h","line":50,"comments":"Iterate through the repository contents in reverse\norder; this sorting mode can be combined with\nany of the above."},"GIT_OID_RAWSZ":{"value":"20","file":"oid.h","line":23,"comments":"Size (in bytes) of a raw/binary oid"},"GIT_OID_HEXSZ":{"value":"(GIT_OID_RAWSZ * 2)","file":"oid.h","line":26,"comments":"Size (in bytes) of a hex formatted oid"},"GIT_OID_MINPREFIXLEN":{"value":"4","file":"oid.h","line":30,"comments":"Minimum length (in number of hex characters,\ni.e. packets of 4 bits) of an oid prefix"},"GIT_BEGIN_DECL":{"value":"","file":"common.h","line":24,"comments":"Start declarations in C mode"},"GIT_END_DECL":{"value":"","file":"common.h","line":26,"comments":"End declarations in C mode"},"GIT_EXTERN(type)":{"value":"extern __attribute__((visibility(\"default\"))) type","file":"common.h","line":30,"comments":"Declare a public function exported for application use."},"GIT_INLINE(type)":{"value":"static __inline type","file":"common.h","line":41,"comments":"Declare a function as always inlined."},"GIT_FORMAT_PRINTF(a,b)":{"value":"__attribute__((format (printf, a, b)))","file":"common.h","line":48,"comments":"Declare a function's takes printf style arguments."},"GIT_PATH_LIST_SEPARATOR":{"value":"';'","file":"common.h","line":73,"comments":"The separator used in path list strings (ie like in the PATH\nenvironment variable). A semi-colon \";\" is used on Windows, and\na colon \":\" for all other systems."},"GIT_PATH_MAX":{"value":"4096","file":"common.h","line":82,"comments":"The maximum length of a git valid git path."}},"types":[["GIT_STATUS",{"type":"enum","file":"status.h","line":30,"lineto":34,"block":"GIT_STATUS_WT_NEW\nGIT_STATUS_WT_MODIFIED\nGIT_STATUS_WT_DELETED\nGIT_STATUS_IGNORED","tdef":null,"comments":"Flags for worktree status","used":{"returns":[],"needs":[]}}],["GIT_STATUS_INDEX",{"type":"enum","file":"status.h","line":25,"lineto":27,"block":"GIT_STATUS_INDEX_NEW\nGIT_STATUS_INDEX_MODIFIED\nGIT_STATUS_INDEX_DELETED","tdef":null,"comments":"Flags for index status","used":{"returns":[],"needs":[]}}],["git_blob",{"type":"struct","value":"git_blob","file":"types.h","line":105,"lineto":105,"block":"","tdef":"typedef","comments":"In-memory representation of a blob object.","used":{"returns":[],"needs":["git_blob_free","git_blob_lookup","git_blob_lookup_prefix","git_blob_rawcontent","git_blob_rawsize"]}}],["git_commit",{"type":"struct","value":"git_commit","file":"types.h","line":108,"lineto":108,"block":"","tdef":"typedef","comments":"Parsed representation of a commit object.","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",{"type":"struct","value":"git_config","file":"types.h","line":123,"lineto":123,"block":"","tdef":"typedef","comments":"Memory representation of a set of config files","used":{"returns":[],"needs":["git_config_add_file","git_config_add_file_ondisk","git_config_delete","git_config_foreach","git_config_free","git_config_get_bool","git_config_get_int32","git_config_get_int64","git_config_get_string","git_config_new","git_config_open_global","git_config_open_ondisk","git_config_set_bool","git_config_set_int32","git_config_set_int64","git_config_set_string","git_repository_config","git_repository_set_config"]}}],["git_config_file",{"type":"struct","value":"git_config_file","file":"config.h","line":26,"lineto":36,"block":"struct git_config *cfg\nint (*open)(struct git_config_file *)\nint (*get)(struct git_config_file *, const char *key, const char **value)\nint (*set)(struct git_config_file *, const char *key, const char *value)\nint (*del)(struct git_config_file *, const char *key)\nint (*foreach)(struct git_config_file *, int (*fn)(const char *, const char *, void *), void *data)\nvoid (*free)(struct git_config_file *)","tdef":null,"comments":"Generic backend that implements the interface to\naccess a configuration file","used":{"returns":[],"needs":["git_config_add_file","git_config_file__ondisk"]}}],["git_headlist_cb",{"type":"function pointer","value":"git_headlist_cb","file":"net.h","line":47,"lineto":47,"comments":"Callback for listing the remote heads","used":{"returns":[],"needs":["git_remote_ls"]}}],["git_index",{"type":"struct","value":"git_index","file":"types.h","line":120,"lineto":120,"block":"","tdef":"typedef","comments":"Memory representation of an index file.","used":{"returns":[],"needs":["git_index_add","git_index_add2","git_index_append","git_index_append2","git_index_clear","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_repository_index","git_repository_set_index","git_tree_create_fromindex"]}}],["git_index_entry",{"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","comments":"Memory representation of a file entry in the index.","used":{"returns":["git_index_get"],"needs":["git_index_add2","git_index_append2","git_index_entry_stage"]}}],["git_index_entry_unmerged",{"type":"struct","value":"git_index_entry_unmerged","file":"index.h","line":87,"lineto":91,"block":"unsigned int mode[3]\ngit_oid oid[3]\nchar *path","tdef":"typedef","comments":"Representation of an unmerged file entry in the index.","used":{"returns":["git_index_get_unmerged_byindex","git_index_get_unmerged_bypath"],"needs":[]}}],["git_index_time",{"type":"struct","value":"git_index_time","file":"index.h","line":60,"lineto":64,"block":"git_time_t seconds\nunsigned int nanoseconds","tdef":"typedef","comments":"Time used in a git index entry","used":{"returns":[],"needs":[]}}],["git_indexer_stats",{"type":"struct","value":"git_indexer_stats","file":"indexer.h","line":19,"lineto":25,"block":"unsigned int total\nunsigned int processed","tdef":"typedef","comments":"This is passed as the first argument to the callback to allow the\nuser to see the progress.","used":{"returns":[],"needs":["git_indexer_run"]}}],["git_object",{"type":"struct","value":"git_object","file":"types.h","line":96,"lineto":96,"block":"","tdef":"typedef","comments":"Representation of a generic object in a repository","used":{"returns":[],"needs":["git_object_free","git_object_id","git_object_lookup","git_object_lookup_prefix","git_object_owner","git_object_type","git_tag_create","git_tag_create_lightweight","git_tag_target","git_tree_entry_2object"]}}],["git_odb",{"type":"struct","value":"git_odb","file":"types.h","line":78,"lineto":78,"block":"","tdef":"typedef","comments":"An open object database handle.","used":{"returns":[],"needs":["git_odb_add_alternate","git_odb_add_backend","git_odb_exists","git_odb_free","git_odb_new","git_odb_open","git_odb_open_rstream","git_odb_open_wstream","git_odb_read","git_odb_read_header","git_odb_read_prefix","git_odb_write","git_repository_odb","git_repository_set_odb"]}}],["git_odb_backend",{"type":"struct","value":"git_odb_backend","file":"odb_backend.h","line":26,"lineto":75,"block":"git_odb *odb\nint (* read)(void **, size_t *, git_otype *, struct git_odb_backend *, const git_oid *)\nint (* read_prefix)(git_oid *, void **, size_t *, git_otype *, struct git_odb_backend *, const git_oid *, unsigned int)\nint (* read_header)(size_t *, git_otype *, struct git_odb_backend *, const git_oid *)\nint (* write)(git_oid *, struct git_odb_backend *, const void *, size_t, git_otype)\nint (* writestream)(struct git_odb_stream **, struct git_odb_backend *, size_t, git_otype)\nint (* readstream)(struct git_odb_stream **, struct git_odb_backend *, const git_oid *)\nint (* exists)(struct git_odb_backend *, const git_oid *)\nvoid (* free)(struct git_odb_backend *)","tdef":null,"comments":"An instance for a custom backend","used":{"returns":[],"needs":["git_odb_add_alternate","git_odb_add_backend"]}}],["git_odb_object",{"type":"struct","value":"git_odb_object","file":"types.h","line":84,"lineto":84,"block":"","tdef":"typedef","comments":"An object read from the ODB","used":{"returns":[],"needs":["git_odb_object_data","git_odb_object_free","git_odb_object_id","git_odb_object_size","git_odb_object_type","git_odb_read","git_odb_read_prefix"]}}],["git_odb_stream",{"type":"struct","value":"git_odb_stream","file":"odb_backend.h","line":78,"lineto":86,"block":"struct git_odb_backend *backend\nint mode\nint (*read)(struct git_odb_stream *stream, char *buffer, size_t len)\nint (*write)(struct git_odb_stream *stream, const char *buffer, size_t len)\nint (*finalize_write)(git_oid *oid_p, struct git_odb_stream *stream)\nvoid (*free)(struct git_odb_stream *stream)","tdef":null,"comments":"A stream to read/write from a backend","used":{"returns":[],"needs":["git_odb_open_rstream","git_odb_open_wstream"]}}],["git_odb_streammode",{"type":"enum","file":"odb_backend.h","line":89,"lineto":100,"block":"GIT_STREAM_RDONLY\nGIT_STREAM_WRONLY\nGIT_STREAM_RW","tdef":"typedef","comments":"Streaming mode","used":{"returns":[],"needs":[]}}],["git_oid",{"type":"struct","value":"git_oid","file":"oid.h","line":33,"lineto":37,"block":"","tdef":"typedef","comments":"Unique identity of any object (commit, tree, blob, tag).","used":{"returns":["git_commit_id","git_commit_parent_oid","git_commit_tree_oid","git_indexer_hash","git_object_id","git_odb_object_id","git_reference_oid","git_reflog_entry_oidnew","git_reflog_entry_oidold","git_tag_id","git_tag_target_oid","git_tree_entry_id","git_tree_id"],"needs":["git_blob_create_frombuffer","git_blob_create_fromfile","git_blob_lookup","git_blob_lookup_prefix","git_commit_create","git_commit_create_v","git_commit_lookup","git_commit_lookup_prefix","git_object_lookup","git_object_lookup_prefix","git_odb_exists","git_odb_hash","git_odb_hashfile","git_odb_open_rstream","git_odb_read","git_odb_read_header","git_odb_read_prefix","git_odb_write","git_oid_allocfmt","git_oid_cmp","git_oid_cpy","git_oid_fmt","git_oid_fromraw","git_oid_fromstr","git_oid_fromstrn","git_oid_ncmp","git_oid_pathfmt","git_oid_streq","git_oid_to_string","git_reference_create_oid","git_reference_set_oid","git_reflog_write","git_revwalk_hide","git_revwalk_next","git_revwalk_push","git_tag_create","git_tag_create_frombuffer","git_tag_create_lightweight","git_tag_lookup","git_tag_lookup_prefix","git_tree_create_fromindex","git_tree_lookup","git_tree_lookup_prefix","git_treebuilder_insert","git_treebuilder_write"]}}],["git_oid_shorten",{"type":"struct","value":"git_oid_shorten","file":"oid.h","line":165,"lineto":165,"block":"","tdef":"typedef","comments":"OID Shortener object","used":{"returns":["git_oid_shorten_new"],"needs":["git_oid_shorten_add","git_oid_shorten_free"]}}],["git_otype",{"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","comments":"Basic type (loose or packed) of any Git object.","used":{"returns":[],"needs":["git_object__size","git_object_lookup","git_object_lookup_prefix","git_object_type2string","git_object_typeisloose","git_odb_hash","git_odb_hashfile","git_odb_open_wstream","git_odb_read_header","git_odb_write"]}}],["git_reference",{"type":"struct","value":"git_reference","file":"types.h","line":148,"lineto":148,"block":"","tdef":"typedef","comments":"In-memory representation of a reference.","used":{"returns":[],"needs":["git_reference_create_oid","git_reference_create_symbolic","git_reference_delete","git_reference_free","git_reference_is_packed","git_reference_lookup","git_reference_name","git_reference_oid","git_reference_owner","git_reference_reload","git_reference_rename","git_reference_resolve","git_reference_set_oid","git_reference_set_target","git_reference_target","git_reference_type","git_reflog_delete","git_reflog_read","git_reflog_rename","git_reflog_write","git_repository_head"]}}],["git_reflog",{"type":"struct","value":"git_reflog","file":"types.h","line":132,"lineto":132,"block":"","tdef":"typedef","comments":"Representation of a reference log","used":{"returns":[],"needs":["git_reflog_entry_byindex","git_reflog_entrycount","git_reflog_free","git_reflog_read"]}}],["git_reflog_entry",{"type":"struct","value":"git_reflog_entry","file":"types.h","line":129,"lineto":129,"block":"","tdef":"typedef","comments":"Representation of a reference log entry","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",{"type":"struct","value":"git_remote_head","file":"net.h","line":37,"lineto":42,"block":"int local:1\ngit_oid oid\ngit_oid loid\nchar *name","tdef":null,"comments":"Remote head description, given out on `ls` calls.","used":{"returns":[],"needs":[]}}],["git_repository",{"type":"struct","value":"git_repository","file":"types.h","line":93,"lineto":93,"block":"","tdef":"typedef","comments":"Representation of an existing git repository,\nincluding all its object contents","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_attr_get_many","git_blob_create_frombuffer","git_blob_create_fromfile","git_blob_lookup","git_blob_lookup_prefix","git_commit_create","git_commit_create_v","git_commit_lookup","git_commit_lookup_prefix","git_object_lookup","git_object_lookup_prefix","git_reference_create_oid","git_reference_create_symbolic","git_reference_foreach","git_reference_listall","git_reference_lookup","git_reference_packall","git_remote_load","git_remote_new","git_repository_config","git_repository_free","git_repository_head","git_repository_head_detached","git_repository_head_orphan","git_repository_index","git_repository_init","git_repository_is_bare","git_repository_is_empty","git_repository_odb","git_repository_open","git_repository_path","git_repository_set_config","git_repository_set_index","git_repository_set_odb","git_repository_set_workdir","git_repository_workdir","git_revwalk_new","git_status_file","git_status_foreach","git_status_should_ignore","git_tag_create","git_tag_create_frombuffer","git_tag_create_lightweight","git_tag_delete","git_tag_list","git_tag_list_match","git_tag_lookup","git_tag_lookup_prefix","git_tree_entry_2object","git_tree_lookup","git_tree_lookup_prefix","git_treebuilder_write"]}}],["git_revwalk",{"type":"struct","value":"git_revwalk","file":"types.h","line":99,"lineto":99,"block":"","tdef":"typedef","comments":"Representation of an in-progress walk through the commits in a repo","used":{"returns":[],"needs":["git_revwalk_free","git_revwalk_hide","git_revwalk_new","git_revwalk_next","git_revwalk_push","git_revwalk_repository","git_revwalk_reset","git_revwalk_sorting"]}}],["git_rtype",{"type":"enum","file":"types.h","line":151,"lineto":164,"block":"GIT_REF_INVALID\nGIT_REF_OID\nGIT_REF_SYMBOLIC\nGIT_REF_PACKED\nGIT_REF_HAS_PEEL\nGIT_REF_LISTALL","tdef":"typedef","comments":"Basic type of any Git reference.","used":{"returns":[],"needs":[]}}],["git_signature",{"type":"struct","value":"git_signature","file":"types.h","line":141,"lineto":145,"block":"char *name\nchar *email\ngit_time when","tdef":"typedef","comments":"An action signature (e.g. for committers, taggers, etc)","used":{"returns":["git_commit_author","git_commit_committer","git_reflog_entry_committer","git_signature_dup","git_tag_tagger"],"needs":["git_commit_create","git_commit_create_v","git_reflog_write","git_signature_dup","git_signature_free","git_signature_new","git_signature_now","git_tag_create"]}}],["git_status_t",{"type":"enum","file":"tree.h","line":317,"lineto":332,"block":"GIT_STATUS_ADDED\nGIT_STATUS_DELETED\nGIT_STATUS_MODIFIED","tdef":"typedef","comments":"@}","used":{"returns":[],"needs":[]}}],["git_tag",{"type":"struct","value":"git_tag","file":"types.h","line":102,"lineto":102,"block":"","tdef":"typedef","comments":"Parsed representation of a tag object.","used":{"returns":[],"needs":["git_tag_free","git_tag_id","git_tag_lookup","git_tag_lookup_prefix","git_tag_message","git_tag_name","git_tag_tagger","git_tag_target","git_tag_target_oid","git_tag_type"]}}],["git_time",{"type":"struct","value":"git_time","file":"types.h","line":135,"lineto":138,"block":"git_time_t time\nint offset","tdef":"typedef","comments":"Time in a signature","used":{"returns":[],"needs":[]}}],["git_tree",{"type":"struct","value":"git_tree","file":"types.h","line":114,"lineto":114,"block":"","tdef":"typedef","comments":"Representation of a tree object.","used":{"returns":[],"needs":["git_commit_create","git_commit_create_v","git_commit_tree","git_index_read_tree","git_tree_diff","git_tree_entry_byindex","git_tree_entry_byname","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_create"]}}],["git_tree_entry",{"type":"struct","value":"git_tree_entry","file":"types.h","line":111,"lineto":111,"block":"","tdef":"typedef","comments":"Representation of each one of the entries in a tree object.","used":{"returns":["git_tree_entry_byindex","git_tree_entry_byname","git_treebuilder_get"],"needs":["git_tree_entry_2object","git_tree_entry_attributes","git_tree_entry_id","git_tree_entry_name","git_tree_entry_type","git_treebuilder_filter","git_treebuilder_insert"]}}],["git_treebuilder",{"type":"struct","value":"git_treebuilder","file":"types.h","line":117,"lineto":117,"block":"","tdef":"typedef","comments":"Constructor for in-memory trees","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_cb",{"type":"function pointer","value":"git_treewalk_cb","file":"tree.h","line":287,"lineto":287,"comments":"Callback for the tree traversal method","used":{"returns":[],"needs":["git_tree_walk"]}}]],"prefix":"include/git2","groups":[["attr",["git_attr_add_macro","git_attr_cache_flush","git_attr_foreach","git_attr_get","git_attr_get_many"]],["blob",["git_blob_create_frombuffer","git_blob_create_fromfile","git_blob_free","git_blob_lookup","git_blob_lookup_prefix","git_blob_rawcontent","git_blob_rawsize"]],["commit",["git_commit_author","git_commit_committer","git_commit_create","git_commit_create_v","git_commit_free","git_commit_id","git_commit_lookup","git_commit_lookup_prefix","git_commit_message","git_commit_message_encoding","git_commit_parent","git_commit_parent_oid","git_commit_parentcount","git_commit_time","git_commit_time_offset","git_commit_tree","git_commit_tree_oid"]],["config",["git_config_add_file","git_config_add_file_ondisk","git_config_delete","git_config_file__ondisk","git_config_find_global","git_config_find_system","git_config_foreach","git_config_free","git_config_get_bool","git_config_get_int32","git_config_get_int64","git_config_get_string","git_config_new","git_config_open_global","git_config_open_ondisk","git_config_set_bool","git_config_set_int32","git_config_set_int64","git_config_set_string"]],["errors",["git_clearerror","git_lasterror","git_strerror"]],["gitwin",["gitwin_get_codepage","gitwin_set_codepage","gitwin_set_utf8"]],["index",["git_index_add","git_index_add2","git_index_append","git_index_append2","git_index_clear","git_index_entry_stage","git_index_entrycount","git_index_entrycount_unmerged","git_index_find","git_index_free","git_index_get","git_index_get_unmerged_byindex","git_index_get_unmerged_bypath","git_index_open","git_index_read","git_index_read_tree","git_index_remove","git_index_uniq","git_index_write"]],["indexer",["git_indexer_free","git_indexer_hash","git_indexer_new","git_indexer_run","git_indexer_write"]],["libgit2",["git_libgit2_version"]],["object",["git_object__size","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_hash","git_odb_hashfile","git_odb_new","git_odb_object_data","git_odb_object_free","git_odb_object_id","git_odb_object_size","git_odb_object_type","git_odb_open","git_odb_open_rstream","git_odb_open_wstream","git_odb_read","git_odb_read_header","git_odb_read_prefix","git_odb_write"]],["oid",["git_oid_allocfmt","git_oid_cmp","git_oid_cpy","git_oid_fmt","git_oid_fromraw","git_oid_fromstr","git_oid_fromstrn","git_oid_ncmp","git_oid_pathfmt","git_oid_shorten_add","git_oid_shorten_free","git_oid_shorten_new","git_oid_streq","git_oid_to_string"]],["reference",["git_reference_create_oid","git_reference_create_symbolic","git_reference_delete","git_reference_foreach","git_reference_free","git_reference_is_packed","git_reference_listall","git_reference_lookup","git_reference_name","git_reference_oid","git_reference_owner","git_reference_packall","git_reference_reload","git_reference_rename","git_reference_resolve","git_reference_set_oid","git_reference_set_target","git_reference_target","git_reference_type"]],["reflog",["git_reflog_delete","git_reflog_entry_byindex","git_reflog_entry_committer","git_reflog_entry_msg","git_reflog_entry_oidnew","git_reflog_entry_oidold","git_reflog_entrycount","git_reflog_free","git_reflog_read","git_reflog_rename","git_reflog_write"]],["refspec",["git_refspec_dst","git_refspec_src","git_refspec_src_match","git_refspec_transform"]],["remote",["git_remote_connect","git_remote_connected","git_remote_disconnect","git_remote_download","git_remote_fetchspec","git_remote_free","git_remote_load","git_remote_ls","git_remote_name","git_remote_new","git_remote_pushspec","git_remote_update_tips","git_remote_url","git_remote_valid_url"]],["repository",["git_repository_config","git_repository_discover","git_repository_free","git_repository_head","git_repository_head_detached","git_repository_head_orphan","git_repository_index","git_repository_init","git_repository_is_bare","git_repository_is_empty","git_repository_odb","git_repository_open","git_repository_path","git_repository_set_config","git_repository_set_index","git_repository_set_odb","git_repository_set_workdir","git_repository_workdir"]],["revwalk",["git_revwalk_free","git_revwalk_hide","git_revwalk_new","git_revwalk_next","git_revwalk_push","git_revwalk_repository","git_revwalk_reset","git_revwalk_sorting"]],["signature",["git_signature_dup","git_signature_free","git_signature_new","git_signature_now"]],["status",["git_status_file","git_status_foreach","git_status_should_ignore"]],["tag",["git_tag_create","git_tag_create_frombuffer","git_tag_create_lightweight","git_tag_delete","git_tag_free","git_tag_id","git_tag_list","git_tag_list_match","git_tag_lookup","git_tag_lookup_prefix","git_tag_message","git_tag_name","git_tag_tagger","git_tag_target","git_tag_target_oid","git_tag_type"]],["threads",["git_threads_init","git_threads_shutdown"]],["tree",["git_tree_create_fromindex","git_tree_diff","git_tree_entry_2object","git_tree_entry_attributes","git_tree_entry_byindex","git_tree_entry_byname","git_tree_entry_id","git_tree_entry_name","git_tree_entry_type","git_tree_entrycount","git_tree_free","git_tree_get_subtree","git_tree_id","git_tree_lookup","git_tree_lookup_prefix","git_tree_walk"]],["treebuilder",["git_treebuilder_clear","git_treebuilder_create","git_treebuilder_filter","git_treebuilder_free","git_treebuilder_get","git_treebuilder_insert","git_treebuilder_remove","git_treebuilder_write"]],["zlib",["deflateBound"]]],"examples":[["showindex.c","ex/v0.16.0/showindex.html"],["network/ls-remote.c","ex/v0.16.0/ls-remote.html"],["network/index-pack.c","ex/v0.16.0/index-pack.html"],["network/git2.c","ex/v0.16.0/git2.html"],["network/fetch.c","ex/v0.16.0/fetch.html"],["general.c","ex/v0.16.0/general.html"]]} \ No newline at end of file
diff --git a/v0.17.0.json b/v0.17.0.json
index 27cb0832d..332da5614 100644
--- a/v0.17.0.json
+++ b/v0.17.0.json
@@ -1 +1 @@
-{"files":[{"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":{"brief":"Git reflog management routines","defgroup":"git_reflog Git reflog management routines","ingroup":"Git","comments":"\n"},"lines":128},{"file":"branch.h","functions":["git_branch_create","git_branch_delete","git_branch_list","git_branch_move"],"meta":{"brief":"Git branch parsing routines","defgroup":"git_branch Git branch management","ingroup":"Git","comments":"\n"},"lines":122},{"file":"windows.h","functions":["gitwin_set_codepage","gitwin_get_codepage","gitwin_set_utf8"],"meta":{"brief":"Windows-specific functions","ingroup":"Git","comments":"\n"},"lines":58},{"file":"indexer.h","functions":["git_indexer_stream_new","git_indexer_stream_add","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":121},{"file":"common.h","functions":["git_libgit2_version"],"meta":{"brief":"Git common platform definitions","defgroup":"git_common Git common platform definitions","ingroup":"Git","comments":"\n"},"lines":104},{"file":"refspec.h","functions":["git_refspec_src","git_refspec_dst","git_refspec_src_matches","git_refspec_transform"],"meta":{"brief":"Git refspec attributes","defgroup":"git_refspec Git refspec attributes","ingroup":"Git","comments":"\n"},"lines":60},{"file":"signature.h","functions":["git_signature_new","git_signature_now","git_signature_dup","git_signature_free"],"meta":{"brief":"Git signature creation","defgroup":"git_signature Git signature creation","ingroup":"Git","comments":"\n"},"lines":65},{"file":"version.h","functions":[],"meta":{},"lines":15},{"file":"status.h","functions":["git_status_foreach","git_status_foreach_ext","git_status_file","git_status_should_ignore"],"meta":{"brief":"Git file status routines","defgroup":"git_status Git file status routines","ingroup":"Git","comments":"\n"},"lines":164},{"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":{"brief":"Git notes management routines","defgroup":"git_note Git notes management routines","ingroup":"Git","comments":"\n"},"lines":139},{"file":"config.h","functions":["git_config_find_global","git_config_find_system","git_config_open_global","git_config_file__ondisk","git_config_new","git_config_add_file","git_config_add_file_ondisk","git_config_open_ondisk","git_config_free","git_config_get_int32","git_config_get_int64","git_config_get_bool","git_config_get_string","git_config_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","git_config_get_mapped"],"meta":{"brief":"Git config management routines","defgroup":"git_config Git config management routines","ingroup":"Git","comments":"\n"},"lines":356},{"file":"net.h","functions":[],"meta":{"brief":"Git networking declarations","ingroup":"Git","comments":"\n"},"lines":51},{"file":"blob.h","functions":["git_blob_lookup","git_blob_lookup_prefix","git_blob_free","git_blob_rawcontent","git_blob_rawsize","git_blob_create_fromfile","git_blob_create_fromdisk","git_blob_create_frombuffer"],"meta":{"brief":"Git blob load and write routines","defgroup":"git_blob Git blob load and write routines","ingroup":"Git","comments":"\n"},"lines":132},{"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":{"brief":"Git index parsing and manipulation routines","defgroup":"git_index Git index parsing and manipulation routines","ingroup":"Git","comments":"\n"},"lines":321},{"file":"repository.h","functions":["git_repository_open","git_repository_discover","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":{"brief":"Git repository management routines","defgroup":"git_repository Git repository management routines","ingroup":"Git","comments":"\n"},"lines":304},{"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":{"brief":"Git tag parsing routines","defgroup":"git_tag Git tag management","ingroup":"Git","comments":"\n"},"lines":297},{"file":"odb_backend.h","functions":[],"meta":{"brief":"Git custom backend functions","defgroup":"git_backend Git custom backend API","ingroup":"Git","comments":"\n"},"lines":100},{"file":"stdint.h","functions":[],"meta":{},"lines":247},{"file":"inttypes.h","functions":[],"meta":{},"lines":305},{"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":{"brief":"Git commit parsing, formatting routines","defgroup":"git_commit Git commit parsing, formatting routines","ingroup":"Git","comments":"\n"},"lines":270},{"file":"types.h","functions":[],"meta":{"brief":"libgit2 base & compatibility types","ingroup":"Git","comments":"\n"},"lines":177},{"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":{"brief":"Git remote management functions","defgroup":"git_remote remote management functions","ingroup":"Git","comments":"\n"},"lines":234},{"file":"merge.h","functions":["git_merge_base"],"meta":{"brief":"Git merge-base routines","defgroup":"git_revwalk Git merge-base routines","ingroup":"Git","comments":"\n"},"lines":35},{"file":"diff.h","functions":["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":{"brief":"Git tree and file differencing routines.","ingroup":"Git","comments":"\n"},"lines":361},{"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_tree_walk"],"meta":{"brief":"Git tree parsing, loading routines","defgroup":"git_tree Git tree parsing, loading routines","ingroup":"Git","comments":"\n"},"lines":317},{"file":"submodule.h","functions":["git_submodule_foreach","git_submodule_lookup"],"meta":{"brief":"Git submodule management utilities","defgroup":"git_submodule Git submodule management routines","ingroup":"Git","comments":"\n"},"lines":103},{"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_read_header","git_odb_exists","git_odb_write","git_odb_open_wstream","git_odb_open_rstream","git_odb_hash","git_odb_hashfile","git_odb_object_free","git_odb_object_id","git_odb_object_data","git_odb_object_size","git_odb_object_type"],"meta":{"brief":"Git object database routines","defgroup":"git_odb Git object database routines","ingroup":"Git","comments":"\n"},"lines":331},{"file":"threads.h","functions":["git_threads_init","git_threads_shutdown"],"meta":{"brief":"Library level thread functions","defgroup":"git_thread Threading functions","ingroup":"Git","comments":"\n"},"lines":47},{"file":"oid.h","functions":["git_oid_fromstr","git_oid_fromstrn","git_oid_fromraw","git_oid_fmt","git_oid_pathfmt","git_oid_allocfmt","git_oid_tostr","git_oid_cpy","git_oid_cmp","git_oid_ncmp","git_oid_streq","git_oid_iszero","git_oid_shorten_new","git_oid_shorten_add","git_oid_shorten_free"],"meta":{"brief":"Git object id routines","defgroup":"git_oid Git object id routines","ingroup":"Git","comments":"\n"},"lines":223},{"file":"attr.h","functions":["git_attr_get","git_attr_get_many","git_attr_foreach","git_attr_cache_flush","git_attr_add_macro"],"meta":{"brief":"Git attribute management routines","defgroup":"git_attr Git attribute management routines","ingroup":"Git","comments":"\n"},"lines":223},{"file":"errors.h","functions":["giterr_last","giterr_clear"],"meta":{"brief":"Git error handling routines and variables","ingroup":"Git","comments":"\n"},"lines":108},{"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":{"brief":"Git revision traversal routines","defgroup":"git_revwalk Git revision traversal routines","ingroup":"Git","comments":"\n"},"lines":237},{"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","git_object__size"],"meta":{"brief":"Git revision object management routines","defgroup":"git_object Git revision object management routines","ingroup":"Git","comments":"\n"},"lines":173},{"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":{"brief":"Git reference management routines","defgroup":"git_reference Git reference management routines","ingroup":"Git","comments":"\n"},"lines":329}],"functions":{"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":"log pointer to reflog"}],"argline":"git_reflog **reflog, git_reference *ref","sig":"git_reflog **::git_reference *","return":{"type":"int","comment":"0 or an error code"},"description":"Read the reflog for the given reference","comments":"The reflog must be freed manually by using\ngit_reflog_free().\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":"Write a new reflog for the given reference","comments":"If there is no reflog file for the given\nreference yet, it will be created.\n\n`oid_old` may be NULL in case it's a new reference.\n\n`msg` is optional and can be NULL.\n","group":"reflog"},"git_reflog_rename":{"type":"function","file":"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":"Rename the reflog for the given reference","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":"Delete the reflog for the given reference","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":"Get the number of log entries in a reflog","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":"Lookup an entry by its index","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":"Get the old oid","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":"Get the new oid","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":"Get the committer of this entry","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":"Get the log msg","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"},"description":"Free the reflog","comments":"","group":"reflog"},"git_branch_create":{"type":"function","file":"branch.h","line":48,"lineto":53,"args":[{"name":"oid_out","type":"git_oid *","comment":"Pointer where to store the OID of the target commit."},{"name":"repo","type":"git_repository *","comment":"Repository where to store the branch."},{"name":"branch_name","type":"const char *","comment":"Name for the branch; this name is validated for consistency. It should also not conflict with an already existing branch name."},{"name":"target","type":"const git_object *","comment":"Object to which this branch should point. This object must belong to the given `repo` and can either be a git_commit or a git_tag. When a git_tag is being passed, it should be dereferencable to a git_commit which oid will be used as the target of the branch."},{"name":"force","type":"int","comment":"Overwrite existing branch."}],"argline":"git_oid *oid_out,\n\t\tgit_repository *repo,\n\t\tconst char *branch_name,\n\t\tconst git_object *target,\n\t\tint force","sig":"git_oid *::git_repository *::const char *::const git_object *::int","return":{"type":"int","comment":"0 or an error code. A proper reference is written in the refs/heads namespace pointing to the provided target commit."},"description":"Create a new branch pointing at a target commit","comments":"A new direct reference will be created pointing to\nthis target commit. If `force` is true and a reference\nalready exists with the given name, it'll be replaced.\n","group":"branch"},"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; this name is validated for consistency."},{"name":"branch_type","type":"git_branch_t","comment":"Type of the considered branch. This should be valued with either GIT_BRANCH_LOCAL or GIT_BRANCH_REMOTE."}],"argline":"git_repository *repo,\n\t\tconst char *branch_name,\n\t\tgit_branch_t branch_type","sig":"git_repository *::const char *::git_branch_t","return":{"type":"int","comment":"0 on success, GIT_ENOTFOUND if the branch doesn't exist or an error code."},"description":"Delete an existing branch reference.","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 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 listing. Valid values are GIT_BRANCH_LOCAL, GIT_BRANCH_REMOTE or a combination of the two."}],"argline":"git_strarray *branch_names,\n\t\tgit_repository *repo,\n\t\tunsigned int list_flags","sig":"git_strarray *::git_repository *::unsigned int","return":{"type":"int","comment":"0 or an error code."},"description":"Fill a list with all the branches in the Repository","comments":"The string array will be filled with the names of the\nmatching branches; these values are owned by the user and\nshould be free'd manually when no longer needed, using\n`git_strarray_free`.\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; this name is validated for consistency."},{"name":"new_branch_name","type":"const char *","comment":"Target name of the branch once the move is performed; this name is validated for consistency."},{"name":"force","type":"int","comment":"Overwrite existing branch."}],"argline":"git_repository *repo,\n\t\tconst char *old_branch_name,\n\t\tconst char *new_branch_name,\n\t\tint force","sig":"git_repository *::const char *::const char *::int","return":{"type":"int","comment":"0 on success, GIT_ENOTFOUND if the branch doesn't exist or an error code."},"description":"Move/rename an existing branch reference.","comments":"","group":"branch"},"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"},"description":"Set the active codepage for Windows syscalls","comments":"All syscalls performed by the library will assume\nthis codepage when converting paths and strings\nto use by the Windows kernel.\n\nThe default value of UTF-8 will work automatically\nwith most Git repositories created on Unix systems.\n\nThis settings needs only be changed when working\nwith repositories that contain paths in specific,\nnon-UTF codepages.\n\nA full list of all available codepage identifiers may\nbe found at:\n\nhttp://msdn.microsoft.com/en-us/library/windows/desktop/dd317756(v=vs.85).aspx\n","group":"gitwin"},"gitwin_get_codepage":{"type":"function","file":"windows.h","line":48,"lineto":48,"args":[],"argline":"void","sig":"","return":{"type":"unsigned int","comment":"numeric codepage identifier"},"description":"Return the active codepage for Windows syscalls","comments":"","group":"gitwin"},"gitwin_set_utf8":{"type":"function","file":"windows.h","line":54,"lineto":54,"args":[],"argline":"void","sig":"","return":{"type":"void"},"description":"Set the active Windows codepage to UTF-8 (this is\nthe default value)","comments":"","group":"gitwin"},"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 *"}],"argline":"git_indexer_stream **out, const char *gitdir","sig":"git_indexer_stream **::const char *","return":{"type":"int"},"description":"Create a new streaming indexer instance","comments":"","group":"indexer","examples":{"network/index-pack.c":["ex/v0.17.0/index-pack.html#git_indexer_stream_new-1"]}},"git_indexer_stream_add":{"type":"function","file":"indexer.h","line":44,"lineto":44,"args":[{"name":"idx","type":"git_indexer_stream *","comment":"the indexer"},{"name":"data","type":"const void *","comment":"the data to add"},{"name":"size","type":"size_t","comment":"the size of the data"},{"name":"stats","type":"git_indexer_stats *","comment":"stat storage"}],"argline":"git_indexer_stream *idx, const void *data, size_t size, git_indexer_stats *stats","sig":"git_indexer_stream *::const void *::size_t::git_indexer_stats *","return":{"type":"int"},"description":"Add data to the indexer","comments":"","group":"indexer","examples":{"network/index-pack.c":["ex/v0.17.0/index-pack.html#git_indexer_stream_add-2"]}},"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 *"}],"argline":"git_indexer_stream *idx, git_indexer_stats *stats","sig":"git_indexer_stream *::git_indexer_stats *","return":{"type":"int"},"description":"Finalize the pack and index","comments":"Resolve any pending deltas and write out the index file\n","group":"indexer","examples":{"network/index-pack.c":["ex/v0.17.0/index-pack.html#git_indexer_stream_finalize-3"]}},"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 *"},"description":"Get the packfile's hash","comments":"A packfile's name is derived from the sorted hashing of all object\nnames. This is only correct after the index has been finalized.\n","group":"indexer","examples":{"network/index-pack.c":["ex/v0.17.0/index-pack.html#git_indexer_stream_hash-4"]}},"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"},"description":"Free the indexer and its resources","comments":"","group":"indexer","examples":{"network/index-pack.c":["ex/v0.17.0/index-pack.html#git_indexer_stream_free-5"]}},"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"},"description":"Create a new indexer instance","comments":"","group":"indexer","examples":{"network/index-pack.c":["ex/v0.17.0/index-pack.html#git_indexer_new-6"]}},"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"},"description":"Iterate over the objects in the packfile and extract the information","comments":"Indexing a packfile can be very expensive so this function is\nexpected to be run in a worker thread and the stats used to provide\nfeedback the user.\n","group":"indexer","examples":{"network/index-pack.c":["ex/v0.17.0/index-pack.html#git_indexer_run-7"]}},"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"},"description":"Write the index file to disk.","comments":"The file will be stored as pack-$hash.idx in the same directory as\nthe packfile.\n","group":"indexer","examples":{"network/index-pack.c":["ex/v0.17.0/index-pack.html#git_indexer_write-8"]}},"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 *"},"description":"Get the packfile's hash","comments":"A packfile's name is derived from the sorted hashing of all object\nnames. This is only correct after the index has been written to disk.\n","group":"indexer","examples":{"network/index-pack.c":["ex/v0.17.0/index-pack.html#git_indexer_hash-9"]}},"git_indexer_free":{"type":"function","file":"indexer.h","line":117,"lineto":121,"args":[{"name":"idx","type":"git_indexer *","comment":"the indexer to free"}],"argline":"git_indexer *idx","sig":"git_indexer *","return":{"type":"void"},"description":"Free the indexer and its resources","comments":"","group":"indexer","examples":{"network/index-pack.c":["ex/v0.17.0/index-pack.html#git_indexer_free-10"]}},"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"},"description":"Return the version of the libgit2 library\nbeing currently used.","comments":"","group":"libgit2"},"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":"Get the source specifier","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":"Get the destination specifier","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":"Check if a refspec's source descriptor matches a reference","comments":"","group":"refspec"},"git_refspec_transform":{"type":"function","file":"refspec.h","line":56,"lineto":60,"args":[{"name":"out","type":"char *","comment":"where to store the target name"},{"name":"outlen","type":"size_t","comment":"the size ouf the `out` buffer"},{"name":"spec","type":"const git_refspec *","comment":"the refspec"},{"name":"name","type":"const char *","comment":"the name of the reference to transform"}],"argline":"char *out, size_t outlen, const git_refspec *spec, const char *name","sig":"char *::size_t::const git_refspec *::const char *","return":{"type":"int","comment":"0, GIT_EBUFS or another error"},"description":"Transform a reference to its target following the refspec's rules","comments":"","group":"refspec"},"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":"Create a new action signature. The signature must be freed\nmanually or using git_signature_free","comments":"","group":"signature","examples":{"general.c":["ex/v0.17.0/general.html#git_signature_new-1","ex/v0.17.0/general.html#git_signature_new-2"]}},"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":"Create a new action signature with a timestamp of 'now'. The\nsignature must be freed manually or using git_signature_free","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":"Create a copy of an existing signature.","comments":"All internal strings are also duplicated.","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"},"description":"Free an existing signature","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 *"}],"argline":"git_repository *repo,\n\tint (*callback)(const char *, unsigned int, void *),\n\tvoid *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":"Gather file statuses and run a callback for each one.","comments":"The callback is passed the path of the file, the status and the data\npointer passed to this function. If the callback returns something other\nthan 0, this function will return that value.\n","group":"status"},"git_status_foreach_ext":{"type":"function","file":"status.h","line":122,"lineto":126,"args":[{"name":"repo","type":"git_repository *"},{"name":"opts","type":"const git_status_options *"},{"name":"callback","type":"int (*)(const char *, unsigned int, void *)"},{"name":"payload","type":"void *"}],"argline":"git_repository *repo,\n\tconst git_status_options *opts,\n\tint (*callback)(const char *, unsigned int, void *),\n\tvoid *payload","sig":"git_repository *::const git_status_options *::int (*)(const char *, unsigned int, void *)::void *","return":{"type":"int"},"description":"Gather file status information and run callbacks as requested.","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,\n\tgit_repository *repo,\n\tconst char *path","sig":"unsigned int *::git_repository *::const char *","return":{"type":"int","comment":"GIT_EINVALIDPATH when `path` points at a folder, GIT_ENOTFOUND when the file doesn't exist in any of HEAD, the index or the worktree, 0 otherwise"},"description":"Get file status for a single file","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,\n\tgit_repository *repo,\n\tconst char *path","sig":"int *::git_repository *::const char *","return":{"type":"int","comment":"0 if ignore rules could be processed for the file (regardless of whether it exists or not), or an error < 0 if they could not."},"description":"Test if the ignore rules apply to a given file.","comments":"This function simply checks the ignore rules to see if they would apply\nto the given file. Unlike git_status_file(), this indicates if the file\nwould be ignored regardless of whether the file is already in the index\nor in the repository.\n","group":"status"},"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,\n\t\t\t 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":"Read the note for an object","comments":"The note must be freed manually by the user.\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":"Get the note message","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":"Get the note object OID","comments":"","group":"note"},"git_note_create":{"type":"function","file":"notes.h","line":67,"lineto":70,"args":[{"name":"out","type":"git_oid *"},{"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":"pointer to store the OID (optional); NULL in case of error"},{"name":"note","type":"const char *","comment":"s_ref OID reference to update (optional); defaults to \"refs/notes/commits\""}],"argline":"git_oid *out, git_repository *repo,\n\t\t\t\tgit_signature *author, git_signature *committer,\n\t\t\t\tconst char *notes_ref, const git_oid *oid,\n\t\t\t\t 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":"Add a note for an object","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,\n\t\t\t\tgit_signature *author, git_signature *committer,\n\t\t\t\tconst 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":"Remove the note for an object","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"},"description":"Free a git_note object","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":"Get the default notes reference for a repository","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 *note_data, void *payload)","comment":"Callback to invoke per found annotation."},{"name":"payload","type":"void *","comment":"Extra parameter to callback function."}],"argline":"git_repository *repo,\n\t\tconst char *notes_ref,\n\t\tint (*note_cb)(git_note_data *note_data, void *payload),\n\t\tvoid *payload","sig":"git_repository *::const char *::int (*)(git_note_data *note_data, void *payload)::void *","return":{"type":"int","comment":"0 or an error code."},"description":"Loop over all the notes within a specified namespace\nand issue a callback for each one.","comments":"","group":"note"},"git_config_find_global":{"type":"function","file":"config.h","line":68,"lineto":68,"args":[{"name":"global_config_path","type":"char *","comment":"Buffer of GIT_PATH_MAX length to store the path"},{"name":"length","type":"size_t"}],"argline":"char *global_config_path, size_t length","sig":"char *::size_t","return":{"type":"int","comment":"0 if a global configuration file has been found. Its path will be stored in `buffer`."},"description":"Locate the path to the global configuration file","comments":"The user or global configuration file is usually\nlocated in `$HOME/.gitconfig`.\n\nThis method will try to guess the full path to that\nfile, if the file exists. The returned path\nmay be used on any `git_config` call to load the\nglobal configuration file.\n","group":"config"},"git_config_find_system":{"type":"function","file":"config.h","line":80,"lineto":80,"args":[{"name":"system_config_path","type":"char *","comment":"Buffer of GIT_PATH_MAX length to store the path"},{"name":"length","type":"size_t"}],"argline":"char *system_config_path, size_t length","sig":"char *::size_t","return":{"type":"int","comment":"0 if a system configuration file has been found. Its path will be stored in `buffer`."},"description":"Locate the path to the system configuration file","comments":"If /etc/gitconfig doesn't exist, it will look for\n%PROGRAMFILES%\\Git\\etc\\gitconfig.\n","group":"config"},"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":"Open the global configuration file","comments":"Utility wrapper that calls `git_config_find_global`\nand opens the located file, if it exists.\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"},"description":"Create a configuration file backend for ondisk files","comments":"These are the normal `.gitconfig` files that Core Git\nprocesses. Note that you first have to add this file to a\nconfiguration object before you can query it for configuration\nvariables.\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":"Allocate a new configuration object","comments":"This object is empty, so you have to add a file to it before you\ncan do anything with it.\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":"Add a generic config file instance to an existing config","comments":"Note that the configuration object will free the file\nautomatically.\n\nFurther queries on this config object will access each\nof the config file instances in order (instances with\na higher priority will be accessed first).\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":"Add an on-disk config file instance to an existing config","comments":"The on-disk file pointed at by `path` will be opened and\nparsed; it's expected to be a native Git config file following\nthe default Git config syntax (see man git-config).\n\nNote that the configuration object will free the file\nautomatically.\n\nFurther queries on this config object will access each\nof the config file instances in order (instances with\na higher priority will be accessed first).\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":"Create a new config instance containing a single on-disk file","comments":"This method is a simple utility wrapper for the following sequence\nof calls:\n- git_config_new\n- git_config_add_file_ondisk\n","group":"config","examples":{"general.c":["ex/v0.17.0/general.html#git_config_open_ondisk-3"]}},"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"},"description":"Free the configuration and its associated memory and files","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":"Get the value of an integer config variable.","comments":"","group":"config","examples":{"general.c":["ex/v0.17.0/general.html#git_config_get_int32-4"]}},"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":"Get the value of a long integer config variable.","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":"Get the value of a boolean config variable.","comments":"This function uses the usual C convention of 0 being false and\nanything else true.\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":"Get the value of a string config variable.","comments":"The string is owned by the variable and should not be freed by the\nuser.\n","group":"config","examples":{"general.c":["ex/v0.17.0/general.html#git_config_get_string-5"]}},"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 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 (*fn)(const char *, void *), void *data","sig":"git_config *::const char *::const char *::int (*)(const char *, void *)::void *","return":{"type":"int"},"description":"Get each value of a multivar.","comments":"The callback will be called on each variable found\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":"Set the value of an integer config variable.","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":"Set the value of a long integer config variable.","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":"Set the value of a boolean config variable.","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":"Set the value of a string config variable.","comments":"A copy of the string is made and the user is free to use it\nafterwards.\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"},"description":"Set a multivar","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"},"description":"Delete a config variable","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 *var_name, const char *value, void *payload)","comment":"the function to call on each variable"},{"name":"payload","type":"void *","comment":"the data to pass to the callback"}],"argline":"git_config *cfg,\n\tint (*callback)(const char *var_name, const char *value, void *payload),\n\tvoid *payload","sig":"git_config *::int (*)(const char *var_name, const char *value, void *payload)::void *","return":{"type":"int","comment":"0 or the return value of the callback which didn't return 0"},"description":"Perform an operation on each config variable.","comments":"The callback receives the normalized name and value of each variable\nin the config backend, and the data pointer passed to this function.\nAs soon as one of the callback functions returns something other than 0,\nthis function returns that value.\n","group":"config"},"git_config_get_mapped":{"type":"function","file":"config.h","line":352,"lineto":352,"args":[{"name":"out","type":"int *","comment":"place to store the result of the mapping"},{"name":"cfg","type":"git_config *","comment":"config file to get the variables from"},{"name":"name","type":"const char *","comment":"name of the config variable to lookup"},{"name":"maps","type":"git_cvar_map *","comment":"array of `git_cvar_map` objects specifying the possible mappings"},{"name":"map_n","type":"size_t","comment":"number of mapping objects in `maps`"}],"argline":"int *out, git_config *cfg, const char *name, git_cvar_map *maps, size_t map_n","sig":"int *::git_config *::const char *::git_cvar_map *::size_t","return":{"type":"int","comment":"0 on success, error code otherwise"},"description":"Query the value of a config variable and return it mapped to\nan integer constant.","comments":"This is a helper method to easily map different possible values\nto a variable to integer constants that easily identify them.\n\nA mapping array looks as follows:\n\ngit_cvar_map autocrlf_mapping[3] = {\n\t{GIT_CVAR_FALSE, NULL, GIT_AUTO_CRLF_FALSE},\n\t{GIT_CVAR_TRUE, NULL, GIT_AUTO_CRLF_TRUE},\n\t{GIT_CVAR_STRING, \"input\", GIT_AUTO_CRLF_INPUT},\n\t{GIT_CVAR_STRING, \"default\", GIT_AUTO_CRLF_DEFAULT}};\n\nOn any \"false\" value for the variable (e.g. \"false\", \"FALSE\", \"no\"), the\nmapping will store `GIT_AUTO_CRLF_FALSE` in the `out` parameter.\n\nThe same thing applies for any \"true\" value such as \"true\", \"yes\" or \"1\", storing\nthe `GIT_AUTO_CRLF_TRUE` variable.\n\nOtherwise, if the value matches the string \"input\" (with case insensitive comparison),\nthe given constant will be stored in `out`, and likewise for \"default\".\n\nIf not a single match can be made to store in `out`, an error code will be\nreturned.\n","group":"config"},"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":"Lookup a blob object from a repository.","comments":"","group":"blob","examples":{"general.c":["ex/v0.17.0/general.html#git_blob_lookup-6"]}},"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":"Lookup a blob object from a repository,\ngiven a prefix of its identifier (short id).","comments":"@see git_object_lookup_prefix\n","group":"blob"},"git_blob_free":{"type":"function","file":"blob.h","line":65,"lineto":68,"args":[{"name":"blob","type":"git_blob *","comment":"the blob to close"}],"argline":"git_blob *blob","sig":"git_blob *","return":{"type":"void"},"description":"Close an open blob","comments":"This is a wrapper around git_object_free()\n\nIMPORTANT:\nIt *is* necessary to call this method when you stop\nusing a blob. Failure to do so will cause a memory leak.\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":"Get a read-only buffer with the raw content of a blob.","comments":"A pointer to the raw content of a blob is returned;\nthis pointer is owned internally by the object and shall\nnot be free'd. The pointer may be invalidated at a later\ntime.\n","group":"blob","examples":{"general.c":["ex/v0.17.0/general.html#git_blob_rawcontent-7"]}},"git_blob_rawsize":{"type":"function","file":"blob.h","line":91,"lineto":91,"args":[{"name":"blob","type":"git_blob *","comment":"pointer to the blob"}],"argline":"git_blob *blob","sig":"git_blob *","return":{"type":"size_t","comment":"size on bytes"},"description":"Get the size in bytes of the contents of a blob","comments":"","group":"blob","examples":{"general.c":["ex/v0.17.0/general.html#git_blob_rawsize-8","ex/v0.17.0/general.html#git_blob_rawsize-9"]}},"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. this repository cannot be bare"},{"name":"path","type":"const char *","comment":"file from which the blob will be created, relative 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":"Read a file from the working folder of a repository\nand write it to the Object Database as a loose blob","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. this 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":"Read a file from the filesystem and write its content\nto the Object Database as a loose blob","comments":"","group":"blob"},"git_blob_create_frombuffer":{"type":"function","file":"blob.h","line":128,"lineto":128,"args":[{"name":"oid","type":"git_oid *","comment":"return the oid of the written blob"},{"name":"repo","type":"git_repository *","comment":"repository where to blob will be written"},{"name":"buffer","type":"const void *","comment":"data to be written into the blob"},{"name":"len","type":"size_t","comment":"length of the data"}],"argline":"git_oid *oid, git_repository *repo, const void *buffer, size_t len","sig":"git_oid *::git_repository *::const void *::size_t","return":{"type":"int","comment":"0 or an error code"},"description":"Write an in-memory buffer to the ODB as a blob","comments":"","group":"blob"},"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":"Create a new bare Git index object as a memory representation\nof the Git index file in 'index_path', without a repository\nto back it.","comments":"Since there is no ODB or working directory behind this index,\nany Index methods which rely on these (e.g. index_add) will\nfail with the GIT_EBAREINDEX error code.\n\nIf you need to access the index of an actual repository,\nuse the `git_repository_index` wrapper.\n\nThe index must be freed once it's no longer in use.\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"},"description":"Clear the contents (all the entries) of an index object.\nThis clears the index object in memory; changes must be manually\nwritten to disk for them to take effect.","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"},"description":"Free an existing index object.","comments":"","group":"index","examples":{"showindex.c":["ex/v0.17.0/showindex.html#git_index_free-1"],"general.c":["ex/v0.17.0/general.html#git_index_free-10"]}},"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":"Update the contents of an existing index object in memory\nby reading from the hard disk.","comments":"","group":"index","examples":{"showindex.c":["ex/v0.17.0/showindex.html#git_index_read-2"]}},"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":"Write an existing index object from memory back to disk\nusing an atomic file lock.","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":"Find the first index of any entries which point to given\npath in the Git index.","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"},"description":"Remove all entries with equal path except last added","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":"Add or update an index entry from a file in disk","comments":"The file `path` must be relative to the repository's\nworking folder and must be readable.\n\nThis method will fail in bare index instances.\n\nThis forces the file to be added to the index, not looking\nat gitignore rules. Those rules can be evaluated through\nthe git_status APIs (in status.h) before calling this.\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":"Add or update an index entry from an in-memory struct","comments":"A full copy (including the 'path' string) of the given\n'source_entry' will be inserted on the index.\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":"Add (append) an index entry from a file in disk","comments":"A new entry will always be inserted into the index;\nif the index already contains an entry for such\npath, the old entry will **not** be replaced.\n\nThe file `path` must be relative to the repository's\nworking folder and must be readable.\n\nThis method will fail in bare index instances.\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":"Add (append) an index entry from an in-memory struct","comments":"A new entry will always be inserted into the index;\nif the index already contains an entry for the path\nin the `entry` struct, the old entry will **not** be\nreplaced.\n\nA full copy (including the 'path' string) of the given\n'source_entry' will be inserted on the index.\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":"Remove an entry from the index","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":"Get a pointer to one of the entries in the index","comments":"This entry can be modified, and the changes will be written\nback to disk on the next write() call.\n\nThe entry should not be freed by the caller.\n","group":"index","examples":{"showindex.c":["ex/v0.17.0/showindex.html#git_index_get-3"],"general.c":["ex/v0.17.0/general.html#git_index_get-11"]}},"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":"Get the count of entries currently in the index","comments":"","group":"index","examples":{"showindex.c":["ex/v0.17.0/showindex.html#git_index_entrycount-4"],"general.c":["ex/v0.17.0/general.html#git_index_entrycount-12"]}},"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":"Get the count of unmerged entries currently in the index","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":"Get an unmerged entry from the index.","comments":"The returned entry is read-only and should not be modified\nof freed by the caller.\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":"Get an unmerged entry from the index.","comments":"The returned entry is read-only and should not be modified\nof freed by the caller.\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"},"description":"Return the stage number from a git index entry","comments":"This entry is calculated from the entrie's flag\nattribute like this:\n\n(entry->flags & GIT_IDXENTRY_STAGEMASK) >> GIT_IDXENTRY_STAGESHIFT\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":"Read a tree into the index file","comments":"The current index contents will be replaced by the specified tree.\n","group":"index"},"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":"Open a git repository.","comments":"The 'path' argument must point to either a git repository\nfolder, or an existing work dir.\n\nThe method will automatically detect if 'path' is a normal\nor bare repository or fail is 'path' is neither.\n","group":"repository","examples":{"showindex.c":["ex/v0.17.0/showindex.html#git_repository_open-5"],"general.c":["ex/v0.17.0/general.html#git_repository_open-13","ex/v0.17.0/general.html#git_repository_open-14"],"network/git2.c":["ex/v0.17.0/git2.html#git_repository_open-1"],"diff.c":["ex/v0.17.0/diff.html#git_repository_open-1"]}},"git_repository_discover":{"type":"function","file":"repository.h","line":66,"lineto":76,"args":[{"name":"repository_path","type":"char *","comment":"The user allocated buffer which will contain the found path."},{"name":"size","type":"size_t","comment":"repository_path size"},{"name":"start_path","type":"const char *","comment":"The base path where the lookup starts."},{"name":"across_fs","type":"int","comment":"If true, then the lookup will not stop when a filesystem device change is detected while exploring parent directories."},{"name":"ceiling_dirs","type":"const char *","comment":"A GIT_PATH_LIST_SEPARATOR separated list of absolute symbolic link free paths. The lookup will stop when any of this paths is reached. Note that the lookup always performs on start_path no matter start_path appears in ceiling_dirs ceiling_dirs might be NULL (which is equivalent to an empty string)"}],"argline":"char *repository_path,\n\t\tsize_t size,\n\t\tconst char *start_path,\n\t\tint across_fs,\n\t\tconst char *ceiling_dirs","sig":"char *::size_t::const char *::int::const char *","return":{"type":"int","comment":"0 or an error code"},"description":"Look for a git repository and copy its path in the given buffer.\nThe lookup start from base_path and walk across parent directories\nif nothing has been found. The lookup ends when the first repository\nis found, or when reaching a directory referenced in ceiling_dirs\nor when the filesystem changes (in case across_fs is true).","comments":"The method will automatically detect if the repository is bare\n(if there is a repository).\n","group":"repository","examples":{"diff.c":["ex/v0.17.0/diff.html#git_repository_discover-2"]}},"git_repository_open_ext":{"type":"function","file":"repository.h","line":81,"lineto":85,"args":[{"name":"repo","type":"git_repository **"},{"name":"start_path","type":"const char *"},{"name":"flags","type":"uint32_t"},{"name":"ceiling_dirs","type":"const char *"}],"argline":"git_repository **repo,\n\tconst char *start_path,\n\tuint32_t flags,\n\tconst char *ceiling_dirs","sig":"git_repository **::const char *::uint32_t::const char *","return":{"type":"int"},"description":"Find and open a repository with extended controls.","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"},"description":"Free a previously allocated repository","comments":"Note that after a repository is free'd, all the objects it has spawned\nwill still exist until they are manually closed by the user\nwith `git_object_free`, but accessing any of the attributes of\nan object without a backing repository will result in undefined\nbehavior\n","group":"repository","examples":{"showindex.c":["ex/v0.17.0/showindex.html#git_repository_free-6"],"general.c":["ex/v0.17.0/general.html#git_repository_free-15"],"network/git2.c":["ex/v0.17.0/git2.html#git_repository_free-2"],"diff.c":["ex/v0.17.0/diff.html#git_repository_free-3"]}},"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","comment":"if true, a Git repository without a working directory is created at the pointed path. If false, provided path will be considered as the working directory into which the .git directory will be created."}],"argline":"git_repository **repo_out, const char *path, unsigned is_bare","sig":"git_repository **::const char *::unsigned","return":{"type":"int","comment":"0 or an error code"},"description":"Creates a new Git repository in the given folder.","comments":"TODO:\n- Reinit the repository\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":"Retrieve and resolve the reference pointed at by HEAD.","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 was an error."},"description":"Check if a repository's HEAD is detached","comments":"A repository's HEAD is detached when it points directly to a commit\ninstead of a branch.\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 code if therewas an error"},"description":"Check if the current branch is an orphan","comments":"An orphan branch is one named from HEAD but which doesn't exist in\nthe refs namespace, because it doesn't have any commit to point to.\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 if the repository is corrupted"},"description":"Check if a repository is empty","comments":"An empty repository has just been initialized and contains\nno commits.\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":"Get the path of this repository","comments":"This is the path of the `.git` folder for normal repositories,\nor of the repository itself for bare repositories.\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":"Get the path of the working directory for this repository","comments":"If the repository is bare, this function will always return\nNULL.\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":"Set the path to the working directory for this repository","comments":"The working directory doesn't need to be the same one\nthat contains the `.git` folder for this repository.\n\nIf this repository is bare, setting its working directory\nwill turn it into a normal repository, capable of performing\nall the common workdir operations (checkout, status, index\nmanipulation, etc).\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":"Check if a repository is bare","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":"Get the configuration file for this repository.","comments":"If a configuration file has not been set, the default\nconfig set for the repository will be returned, including\nglobal and system configurations (if they are available).\n\nThe configuration file must be freed once it's no longer\nbeing used by the user.\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"},"description":"Set the configuration file for this repository","comments":"This configuration file will be used for all configuration\nqueries involving this repository.\n\nThe repository will keep a reference to the config file;\nthe user must still free the config after setting it\nto the repository, or it will leak.\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":"Get the Object Database for this repository.","comments":"If a custom ODB has not been set, the default\ndatabase for the repository will be returned (the one\nlocated in `.git/objects`).\n\nThe ODB must be freed once it's no longer being used by\nthe user.\n","group":"repository","examples":{"general.c":["ex/v0.17.0/general.html#git_repository_odb-16"]}},"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"},"description":"Set the Object Database for this repository","comments":"The ODB will be used for all object-related operations\ninvolving this repository.\n\nThe repository will keep a reference to the ODB; the user\nmust still free the ODB object after setting it to the\nrepository, or it will leak.\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":"Get the Index file for this repository.","comments":"If a custom index has not been set, the default\nindex for the repository will be returned (the one\nlocated in `.git/index`).\n\nThe index must be freed once it's no longer being used by\nthe user.\n","group":"repository","examples":{"showindex.c":["ex/v0.17.0/showindex.html#git_repository_index-7"],"general.c":["ex/v0.17.0/general.html#git_repository_index-17"]}},"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"},"description":"Set the index file for this repository","comments":"This index will be used for all index-related operations\ninvolving this repository.\n\nThe repository will keep a reference to the index file;\nthe user must still free the index after setting it\nto the repository, or it will leak.\n","group":"repository"},"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":"Lookup a tag object from the repository.","comments":"","group":"tag","examples":{"general.c":["ex/v0.17.0/general.html#git_tag_lookup-18"]}},"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":"Lookup a tag object from the repository,\ngiven a prefix of its identifier (short id).","comments":"@see git_object_lookup_prefix\n","group":"tag"},"git_tag_free":{"type":"function","file":"tag.h","line":65,"lineto":68,"args":[{"name":"tag","type":"git_tag *","comment":"the tag to close"}],"argline":"git_tag *tag","sig":"git_tag *","return":{"type":"void"},"description":"Close an open tag","comments":"This is a wrapper around git_object_free()\n\nIMPORTANT:\nIt *is* necessary to call this method when you stop\nusing a tag. Failure to do so will cause a memory leak.\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":"Get the id of a tag.","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":"Get the tagged object of a tag","comments":"This method performs a repository lookup for the\ngiven object and returns it\n","group":"tag","examples":{"general.c":["ex/v0.17.0/general.html#git_tag_target-19"]}},"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":"Get the OID of the tagged object of a tag","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":"Get the type of a tag's tagged object","comments":"","group":"tag","examples":{"general.c":["ex/v0.17.0/general.html#git_tag_type-20"]}},"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":"Get the name of a tag","comments":"","group":"tag","examples":{"general.c":["ex/v0.17.0/general.html#git_tag_name-21"]}},"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":"Get the tagger (author) of a tag","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":"Get the message of a tag","comments":"","group":"tag","examples":{"general.c":["ex/v0.17.0/general.html#git_tag_message-22"]}},"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 newly created tag. If the tag already exists, this parameter will be the oid of the existing tag, and the function will 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 for consistency. It should also not conflict with an already existing tag name"},{"name":"target","type":"const git_object *","comment":"Object to which this tag points. This object must belong to the given `repo`."},{"name":"tagger","type":"const git_signature *","comment":"Signature of the tagger for this tag, and 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,\n\t\tgit_repository *repo,\n\t\tconst char *tag_name,\n\t\tconst git_object *target,\n\t\tconst git_signature *tagger,\n\t\tconst char *message,\n\t\tint 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 A tag object is written to the ODB, and a proper reference is written in the /refs/tags folder, pointing to it"},"description":"Create a new tag in the repository from an object","comments":"A new reference will also be created pointing to\nthis tag object. If `force` is true and a reference\nalready exists with the given name, it'll be replaced.\n\nThe message will be cleaned up from excess whitespace\nit will be made sure that the last line ends with a '\\n'.\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,\n\t\tgit_repository *repo,\n\t\tconst char *buffer,\n\t\tint force","sig":"git_oid *::git_repository *::const char *::int","return":{"type":"int","comment":"0 on sucess; error code otherwise"},"description":"Create a new tag in the repository from a buffer","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 target object. If the tag already exists, this parameter will be filled with the oid of the existing pointed object 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 for consistency. It should also not conflict with an already existing tag name"},{"name":"target","type":"const git_object *","comment":"Object to which this tag points. This object must belong to the given `repo`."},{"name":"force","type":"int","comment":"Overwrite existing references"}],"argline":"git_oid *oid,\n\t\tgit_repository *repo,\n\t\tconst char *tag_name,\n\t\tconst git_object *target,\n\t\tint force","sig":"git_oid *::git_repository *::const char *::const git_object *::int","return":{"type":"int","comment":"0 or an error code A proper reference is written in the /refs/tags folder, pointing to the provided target object"},"description":"Create a new lightweight tag pointing at a target object","comments":"A new direct reference will be created pointing to\nthis target object. If `force` is true and a reference\nalready exists with the given name, it'll be replaced.\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; this name is validated for consistency."}],"argline":"git_repository *repo,\n\t\tconst char *tag_name","sig":"git_repository *::const char *","return":{"type":"int","comment":"0 or an error code"},"description":"Delete an existing tag reference.","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 the tag names will be stored"},{"name":"repo","type":"git_repository *","comment":"Repository where to find the tags"}],"argline":"git_strarray *tag_names,\n\t\tgit_repository *repo","sig":"git_strarray *::git_repository *","return":{"type":"int","comment":"0 or an error code"},"description":"Fill a list with all the tags in the Repository","comments":"The string array will be filled with the names of the\nmatching tags; these values are owned by the user and\nshould be free'd manually when no longer needed, using\n`git_strarray_free`.\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 the 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,\n\t\tconst char *pattern,\n\t\tgit_repository *repo","sig":"git_strarray *::const char *::git_repository *","return":{"type":"int","comment":"0 or an error code"},"description":"Fill a list with all the tags in the Repository\nwhich name match a defined pattern","comments":"If an empty pattern is provided, all the tags\nwill be returned.\n\nThe string array will be filled with the names of the\nmatching tags; these values are owned by the user and\nshould be free'd manually when no longer needed, using\n`git_strarray_free`.\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":"_target Pointer to the peeled git_object"}],"argline":"git_object **tag_target,\n\t\tgit_tag *tag","sig":"git_object **::git_tag *","return":{"type":"int","comment":"0 or an error code"},"description":"Recursively peel a tag until a non tag git_object\nis met","comments":"The retrieved `tag_target` object is owned by the repository\nand should be closed with the `git_object_free` method.\n","group":"tag"},"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 an 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":"Lookup a commit object from a repository.","comments":"","group":"commit","examples":{"general.c":["ex/v0.17.0/general.html#git_commit_lookup-23","ex/v0.17.0/general.html#git_commit_lookup-24","ex/v0.17.0/general.html#git_commit_lookup-25"]}},"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 an annotated tag it will be peeled back to the commit."},{"name":"len","type":"unsigned","comment":"the length of the short identifier"}],"argline":"git_commit **commit, git_repository *repo, const git_oid *id, unsigned len","sig":"git_commit **::git_repository *::const git_oid *::unsigned","return":{"type":"int","comment":"0 or an error code"},"description":"Lookup a commit object from a repository,\ngiven a prefix of its identifier (short id).","comments":"@see git_object_lookup_prefix\n","group":"commit"},"git_commit_free":{"type":"function","file":"commit.h","line":67,"lineto":70,"args":[{"name":"commit","type":"git_commit *","comment":"the commit to close"}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"void"},"description":"Close an open commit","comments":"This is a wrapper around git_object_free()\n\nIMPORTANT:\nIt *is* necessary to call this method when you stop\nusing a commit. Failure to do so will cause a memory leak.\n","group":"commit","examples":{"general.c":["ex/v0.17.0/general.html#git_commit_free-26","ex/v0.17.0/general.html#git_commit_free-27","ex/v0.17.0/general.html#git_commit_free-28","ex/v0.17.0/general.html#git_commit_free-29"]}},"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":"Get the id of a commit.","comments":"","group":"commit","examples":{"general.c":["ex/v0.17.0/general.html#git_commit_id-30"]}},"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":"Get the encoding for the message of a commit,\nas a string representing a standard encoding name.","comments":"The encoding may be NULL if the `encoding` header\nin the commit is missing; in that case UTF-8 is assumed.\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":"Get the full message of a commit.","comments":"","group":"commit","examples":{"general.c":["ex/v0.17.0/general.html#git_commit_message-31","ex/v0.17.0/general.html#git_commit_message-32"]}},"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":"Get the commit time (i.e. committer time) of a commit.","comments":"","group":"commit","examples":{"general.c":["ex/v0.17.0/general.html#git_commit_time-33","ex/v0.17.0/general.html#git_commit_time-34"]}},"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":"Get the commit timezone offset (i.e. committer's preferred timezone) of a commit.","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":"Get the committer of a commit.","comments":"","group":"commit","examples":{"general.c":["ex/v0.17.0/general.html#git_commit_committer-35"]}},"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":"Get the author of a commit.","comments":"","group":"commit","examples":{"general.c":["ex/v0.17.0/general.html#git_commit_author-36","ex/v0.17.0/general.html#git_commit_author-37"]}},"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":"Get the tree pointed to by a commit.","comments":"","group":"commit","examples":{"diff.c":["ex/v0.17.0/diff.html#git_commit_tree-4"]}},"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":"Get the id of the tree pointed to by a commit. This differs from\n`git_commit_tree` in that no attempts are made to fetch an object\nfrom the ODB.","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":"Get the number of parents of this commit","comments":"","group":"commit","examples":{"general.c":["ex/v0.17.0/general.html#git_commit_parentcount-38"]}},"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":"Get the specified parent of the commit.","comments":"","group":"commit","examples":{"general.c":["ex/v0.17.0/general.html#git_commit_parent-39"]}},"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":"Get the oid of a specified parent for a commit. This is different from\n`git_commit_parent`, which will attempt to load the parent commit from\nthe ODB.","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 newly 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 will be updated to point to this commit. If the reference is not direct, it will be resolved to a direct reference. Use \"HEAD\" to update the HEAD of the current branch and make it point to this commit. If the reference doesn't exist yet, it will be created."},{"name":"author","type":"const git_signature *","comment":"Signature representing the author and the authory time of this commit"},{"name":"committer","type":"const git_signature *","comment":"Signature representing the committer and the commit time of this commit"},{"name":"message_encoding","type":"const char *","comment":"The encoding for the message in the commit, represented with a standard encoding name. E.g. \"UTF-8\". If NULL, no encoding header is written and UTF-8 is assumed."},{"name":"message","type":"const char *","comment":"_encoding The encoding for the message in the commit, represented with a standard encoding name. E.g. \"UTF-8\". If NULL, no encoding header is written and UTF-8 is assumed."},{"name":"tree","type":"const git_tree *","comment":"An instance of a `git_tree` object that will be used as the tree for the commit. This tree object must also be owned by the given `repo`."},{"name":"parent_count","type":"int","comment":"Number of parents for this commit"}],"argline":"git_oid *oid,\n\t\tgit_repository *repo,\n\t\tconst char *update_ref,\n\t\tconst git_signature *author,\n\t\tconst git_signature *committer,\n\t\tconst char *message_encoding,\n\t\tconst char *message,\n\t\tconst git_tree *tree,\n\t\tint parent_count,\n\t\tconst git_commit *parents[]","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":"0 or an error code The created commit will be written to the Object Database and the given reference will be updated to point to it"},"description":"Create a new commit in the repository using `git_object`\ninstances as parameters.","comments":"The message will be cleaned up from excess whitespace\nit will be made sure that the last line ends with a '\\n'.\n","group":"commit"},"git_commit_create_v":{"type":"function","file":"commit.h","line":256,"lineto":266,"args":[{"name":"oid","type":"git_oid *"},{"name":"repo","type":"git_repository *"},{"name":"update_ref","type":"const char *"},{"name":"author","type":"const git_signature *"},{"name":"committer","type":"const git_signature *"},{"name":"message_encoding","type":"const char *"},{"name":"message","type":"const char *"},{"name":"tree","type":"const git_tree *"},{"name":"parent_count","type":"int"}],"argline":"git_oid *oid,\n\t\tgit_repository *repo,\n\t\tconst char *update_ref,\n\t\tconst git_signature *author,\n\t\tconst git_signature *committer,\n\t\tconst char *message_encoding,\n\t\tconst char *message,\n\t\tconst git_tree *tree,\n\t\tint parent_count,\n\t\t...","sig":"git_oid *::git_repository *::const char *::const git_signature *::const git_signature *::const char *::const char *::const git_tree *::int","return":{"type":"int"},"description":"Create a new commit in the repository using a variable\nargument list.","comments":"The message will be cleaned up from excess whitespace\nit will be made sure that the last line ends with a '\\n'.\n\nThe parents for the commit are specified as a variable\nlist of pointers to `const git_commit *`. Note that this\nis a convenience method which may not be safe to export\nfor certain languages or compilers\n\nAll other parameters remain the same\n\n@see git_commit_create","group":"commit","examples":{"general.c":["ex/v0.17.0/general.html#git_commit_create_v-40"]}},"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":"Create a remote in memory","comments":"Create a remote with the default refspecs in memory. You can use\nthis when you have a URL instead of a remote's name.\n","group":"remote","examples":{"network/ls-remote.c":["ex/v0.17.0/ls-remote.html#git_remote_new-1"],"network/fetch.c":["ex/v0.17.0/fetch.html#git_remote_new-1"]}},"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 *"},{"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":"Get the information for a particular remote","comments":"","group":"remote","examples":{"network/ls-remote.c":["ex/v0.17.0/ls-remote.html#git_remote_load-2"],"network/fetch.c":["ex/v0.17.0/fetch.html#git_remote_load-2"]}},"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":"Save a remote to its repository's configuration","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":"Get the remote's name","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":"Get the remote's url","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 @apram spec the new fetch refspec"},{"name":"spec","type":"const char *"}],"argline":"git_remote *remote, const char *spec","sig":"git_remote *::const char *","return":{"type":"int","comment":"0 or an error value"},"description":"Set the remote's fetch refspec","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":"Get the fetch refspec","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 @apram spec the new push refspec"},{"name":"spec","type":"const char *"}],"argline":"git_remote *remote, const char *spec","sig":"git_remote *::const char *","return":{"type":"int","comment":"0 or an error value"},"description":"Set the remote's push refspec","comments":"","group":"remote"},"git_remote_pushspec":{"type":"function","file":"remote.h","line":114,"lineto":114,"args":[{"name":"remote","type":"git_remote *","comment":"the remote"}],"argline":"git_remote *remote","sig":"git_remote *","return":{"type":"const git_refspec *","comment":"a pointer to the push refspec or NULL if it doesn't exist"},"description":"Get the push refspec","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":"Open a connection to a remote","comments":"The transport is selected based on the URL. The direction argument\nis due to a limitation of the git protocol (over TCP or SSH) which\nstarts up a specific binary which can only do the one or the other.\n","group":"remote","examples":{"network/ls-remote.c":["ex/v0.17.0/ls-remote.html#git_remote_connect-3","ex/v0.17.0/ls-remote.html#git_remote_connect-4"],"network/fetch.c":["ex/v0.17.0/fetch.html#git_remote_connect-3"]}},"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"},{"name":"payload","type":"void *"}],"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":"Get a list of refs at the remote","comments":"The remote (or more exactly its transport) must be connected. The\nmemory belongs to the remote.\n","group":"remote","examples":{"network/ls-remote.c":["ex/v0.17.0/ls-remote.html#git_remote_ls-5","ex/v0.17.0/ls-remote.html#git_remote_ls-6","ex/v0.17.0/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 *"},{"name":"stats","type":"git_indexer_stats *"}],"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":"Download the packfile","comments":"Negotiate what objects should be downloaded and download the\npackfile with those objects. The packfile is downloaded with a\ntemporary filename, as it's final name is not known yet. If there\nwas no packfile needed (all the objects were available locally),\nfilename will be NULL and the function will return success.\n","group":"remote","examples":{"network/fetch.c":["ex/v0.17.0/fetch.html#git_remote_download-4"]}},"git_remote_connected":{"type":"function","file":"remote.h","line":165,"lineto":165,"args":[{"name":"remote","type":"git_remote *"}],"argline":"git_remote *remote","sig":"git_remote *","return":{"type":"int","comment":"1 if it's connected, 0 otherwise."},"description":"Check whether the remote is connected","comments":"Check whether the remote's underlying transport is connected to the\nremote host.\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"},"description":"Disconnect from the remote","comments":"Close the connection to the remote and free the underlying\ntransport.\n","group":"remote","examples":{"network/fetch.c":["ex/v0.17.0/fetch.html#git_remote_disconnect-5"]}},"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"},"description":"Free the memory associated with a remote","comments":"This also disconnects from the remote, if the connection\nhas not been closed yet (using git_remote_disconnect).\n","group":"remote","examples":{"network/ls-remote.c":["ex/v0.17.0/ls-remote.html#git_remote_free-8","ex/v0.17.0/ls-remote.html#git_remote_free-9"],"network/fetch.c":["ex/v0.17.0/fetch.html#git_remote_free-6","ex/v0.17.0/fetch.html#git_remote_free-7"]}},"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 *refname, const git_oid *a, const git_oid *b)","comment":"callback to run on each ref update. 'a' is the old value, 'b' is then new value"}],"argline":"git_remote *remote, int (*cb)(const char *refname, const git_oid *a, const git_oid *b)","sig":"git_remote *::int (*)(const char *refname, const git_oid *a, const git_oid *b)","return":{"type":"int"},"description":"Update the tips to the new state","comments":"","group":"remote","examples":{"network/fetch.c":["ex/v0.17.0/fetch.html#git_remote_update_tips-8"]}},"git_remote_valid_url":{"type":"function","file":"remote.h","line":201,"lineto":201,"args":[{"name":"url","type":"const char *"}],"argline":"const char *url","sig":"const char *","return":{"type":"int"},"description":"Return whether a string is a valid remote URL","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":"Return whether the passed URL is supported by this version of the library.","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":"Get a list of the configured remotes for a repo","comments":"The string array must be freed by the user.\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"},"description":"Add a remote with the default fetch refspec to the repository's configuration","comments":"","group":"remote"},"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"},"description":"Find a merge base between two commits","comments":"","group":"merge"},"git_diff_list_free":{"type":"function","file":"diff.h","line":204,"lineto":204,"args":[{"name":"diff","type":"git_diff_list *"}],"argline":"git_diff_list *diff","sig":"git_diff_list *","return":{"type":"void"},"description":"Deallocate a diff list.","comments":"","group":"diff","examples":{"diff.c":["ex/v0.17.0/diff.html#git_diff_list_free-5","ex/v0.17.0/diff.html#git_diff_list_free-6"]}},"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.\ncan be 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,\n\tconst git_diff_options *opts, \n\tgit_tree *old_tree,\n\tgit_tree *new_tree,\n\tgit_diff_list **diff","sig":"git_repository *::const git_diff_options *::git_tree *::git_tree *::git_diff_list **","return":{"type":"int"},"description":"Compute a difference between two tree objects.","comments":"","group":"diff","examples":{"diff.c":["ex/v0.17.0/diff.html#git_diff_tree_to_tree-7"]}},"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.\ncan be 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,\n\tconst git_diff_options *opts, \n\tgit_tree *old_tree,\n\tgit_diff_list **diff","sig":"git_repository *::const git_diff_options *::git_tree *::git_diff_list **","return":{"type":"int"},"description":"Compute a difference between a tree and the index.","comments":"","group":"diff","examples":{"diff.c":["ex/v0.17.0/diff.html#git_diff_index_to_tree-8","ex/v0.17.0/diff.html#git_diff_index_to_tree-9","ex/v0.17.0/diff.html#git_diff_index_to_tree-10"]}},"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.\ncan be 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,\n\tconst git_diff_options *opts, \n\tgit_diff_list **diff","sig":"git_repository *::const git_diff_options *::git_diff_list **","return":{"type":"int"},"description":"Compute a difference between the working directory and the index.","comments":"","group":"diff","examples":{"diff.c":["ex/v0.17.0/diff.html#git_diff_workdir_to_index-11","ex/v0.17.0/diff.html#git_diff_workdir_to_index-12"]}},"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.\ncan be 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,\n\tconst git_diff_options *opts, \n\tgit_tree *old_tree,\n\tgit_diff_list **diff","sig":"git_repository *::const git_diff_options *::git_tree *::git_diff_list **","return":{"type":"int"},"description":"Compute a difference between the working directory and a tree.","comments":"This returns strictly the differences between the tree and the\nfiles contained in the working directory, regardless of the state\nof files in the index. There is no direct equivalent in C git.\n\nThis is *NOT* the same as 'git diff HEAD' or 'git diff <SHA>'. Those\ncommands diff the tree, the index, and the workdir. To emulate those\nfunctions, call `git_diff_index_to_tree` and `git_diff_workdir_to_index`,\nthen call `git_diff_merge` on the results.\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,\n\tconst git_diff_list *from","sig":"git_diff_list *::const git_diff_list *","return":{"type":"int"},"description":"Merge one diff list into another.","comments":"This merges items from the \"from\" list into the \"onto\" list. The\nresulting diff list will have all items that appear in either list.\nIf an item appears in both lists, then it will be \"merged\" to appear\nas if the old version was from the \"onto\" list and the new version\nis from the \"from\" list (with the exception that if the item has a\npending DELETE in the middle, then it will show as deleted).\n","group":"diff","examples":{"diff.c":["ex/v0.17.0/diff.html#git_diff_merge-13"]}},"git_diff_foreach":{"type":"function","file":"diff.h","line":306,"lineto":311,"args":[{"name":"diff","type":"git_diff_list *"},{"name":"cb_data","type":"void *"},{"name":"file_cb","type":"git_diff_file_fn"},{"name":"hunk_cb","type":"git_diff_hunk_fn"},{"name":"line_cb","type":"git_diff_data_fn"}],"argline":"git_diff_list *diff,\n\tvoid *cb_data,\n\tgit_diff_file_fn file_cb,\n\tgit_diff_hunk_fn hunk_cb,\n\tgit_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"},"description":"Iterate over a diff list issuing callbacks.","comments":"If the hunk and/or line callbacks are not NULL, then this will calculate\ntext diffs for all files it thinks are not binary. If those are both\nNULL, then this will not bother with the text diffs, so it can be\nefficient.","group":"diff"},"git_diff_print_compact":{"type":"function","file":"diff.h","line":316,"lineto":319,"args":[{"name":"diff","type":"git_diff_list *"},{"name":"cb_data","type":"void *"},{"name":"print_cb","type":"git_diff_data_fn"}],"argline":"git_diff_list *diff,\n\tvoid *cb_data,\n\tgit_diff_data_fn print_cb","sig":"git_diff_list *::void *::git_diff_data_fn","return":{"type":"int"},"description":"Iterate over a diff generating text output like \"git diff --name-status\".","comments":"","group":"diff","examples":{"diff.c":["ex/v0.17.0/diff.html#git_diff_print_compact-14"]}},"git_diff_print_patch":{"type":"function","file":"diff.h","line":326,"lineto":329,"args":[{"name":"diff","type":"git_diff_list *"},{"name":"cb_data","type":"void *"},{"name":"print_cb","type":"git_diff_data_fn"}],"argline":"git_diff_list *diff,\n\tvoid *cb_data,\n\tgit_diff_data_fn print_cb","sig":"git_diff_list *::void *::git_diff_data_fn","return":{"type":"int"},"description":"Iterate over a diff generating text output like \"git diff\".","comments":"This is a super easy way to generate a patch from a diff.","group":"diff","examples":{"diff.c":["ex/v0.17.0/diff.html#git_diff_print_patch-15"]}},"git_diff_blobs":{"type":"function","file":"diff.h","line":349,"lineto":358,"args":[{"name":"old_blob","type":"git_blob *"},{"name":"new_blob","type":"git_blob *"},{"name":"options","type":"git_diff_options *"},{"name":"cb_data","type":"void *"},{"name":"file_cb","type":"git_diff_file_fn"},{"name":"hunk_cb","type":"git_diff_hunk_fn"},{"name":"line_cb","type":"git_diff_data_fn"}],"argline":"git_blob *old_blob,\n\tgit_blob *new_blob,\n\tgit_diff_options *options,\n\tvoid *cb_data,\n\tgit_diff_file_fn file_cb,\n\tgit_diff_hunk_fn hunk_cb,\n\tgit_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"},"description":"Directly run a text diff on two blobs.","comments":"Compared to a file, a blob lacks some contextual information. As such, the\n`git_diff_file` parameters of the callbacks will be filled accordingly to the following:\n`mode` will be set to 0, `path` will be set to NULL. When dealing with a NULL blob, `oid`\nwill be set to 0.\n\nWhen at least one of the blobs being dealt with is binary, the `git_diff_delta` binary\nattribute will be set to 1 and no call to the hunk_cb nor line_cb will be made.","group":"diff"},"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":"Lookup a tree object from the repository.","comments":"","group":"tree","examples":{"general.c":["ex/v0.17.0/general.html#git_tree_lookup-41","ex/v0.17.0/general.html#git_tree_lookup-42"]}},"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":"Lookup a tree object from the repository,\ngiven a prefix of its identifier (short id).","comments":"@see git_object_lookup_prefix\n","group":"tree"},"git_tree_free":{"type":"function","file":"tree.h","line":65,"lineto":68,"args":[{"name":"tree","type":"git_tree *","comment":"the tree to close"}],"argline":"git_tree *tree","sig":"git_tree *","return":{"type":"void"},"description":"Close an open tree","comments":"This is a wrapper around git_object_free()\n\nIMPORTANT:\nIt *is* necessary to call this method when you stop\nusing a tree. Failure to do so will cause a memory leak.\n","group":"tree","examples":{"diff.c":["ex/v0.17.0/diff.html#git_tree_free-16","ex/v0.17.0/diff.html#git_tree_free-17"]}},"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":"Get the id of a tree.","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":"Get the number of entries listed in a tree","comments":"","group":"tree","examples":{"general.c":["ex/v0.17.0/general.html#git_tree_entrycount-43"]}},"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":"Lookup a tree entry by its filename","comments":"","group":"tree","examples":{"general.c":["ex/v0.17.0/general.html#git_tree_entry_byname-44"]}},"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":"Lookup a tree entry by its position in the tree","comments":"","group":"tree","examples":{"general.c":["ex/v0.17.0/general.html#git_tree_entry_byindex-45"]}},"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":"Get the UNIX file attributes of a tree entry","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":"Get the filename of a tree entry","comments":"","group":"tree","examples":{"general.c":["ex/v0.17.0/general.html#git_tree_entry_name-46","ex/v0.17.0/general.html#git_tree_entry_name-47"]}},"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":"Get the id of the object pointed by the entry","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":"Get the type of the object pointed by the entry","comments":"","group":"tree"},"git_tree_entry_to_object":{"type":"function","file":"tree.h","line":146,"lineto":146,"args":[{"name":"object_out","type":"git_object **"},{"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":"Convert a tree entry to the git_object it points too.","comments":"","group":"tree","examples":{"general.c":["ex/v0.17.0/general.html#git_tree_entry_to_object-48"]}},"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":"Write a tree to the ODB from the index file","comments":"This method will scan the index and write a representation\nof its current state back to disk; it recursively creates\ntree objects for each of the subtrees stored in the index,\nbut only returns the OID of the root tree. This is the OID\nthat can be used e.g. to create a commit.\n\nThe index instance cannot be bare, and needs to be associated\nto an existing repository.\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":"Create a new tree builder.","comments":"The tree builder can be used to create or modify\ntrees in memory and write them as tree objects to the\ndatabase.\n\nIf the `source` parameter is not NULL, the tree builder\nwill be initialized with the entries of the given tree.\n\nIf the `source` parameter is NULL, the tree builder will\nhave no entries and will have to be filled manually.\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"},"description":"Clear all the entires in the builder","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"},"description":"Free a tree builder","comments":"This will clear all the entries and free to builder.\nFailing to free the builder after you're done using it\nwill result in a memory leak\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":"Get an entry from the builder from its filename","comments":"The returned entry is owned by the builder and should\nnot be freed manually.\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":"Add or update an entry to the builder","comments":"Insert a new entry for `filename` in the builder with the\ngiven attributes.\n\nif an entry named `filename` already exists, its attributes\nwill be updated with the given ones.\n\nThe optional pointer `entry_out` can be used to retrieve a\npointer to the newly created/updated entry.\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"},"description":"Remove an entry from the builder by its filename","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 *"}],"argline":"git_treebuilder *bld, int (*filter)(const git_tree_entry *, void *), void *payload","sig":"git_treebuilder *::int (*)(const git_tree_entry *, void *)::void *","return":{"type":"void"},"description":"Filter the entries in the tree","comments":"The `filter` callback will be called for each entry\nin the tree with a pointer to the entry and the\nprovided `payload`: if the callback returns 1, the\nentry will be filtered (removed from the builder).\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":"Write the contents of the tree builder as a tree object","comments":"The tree builder will be written to the given `repo`, and\nit's identifying SHA1 hash will be stored in the `oid`\npointer.\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":"Retrieve a subtree contained in a tree, given its\nrelative path.","comments":"The returned tree is owned by the repository and\nshould be closed with the `git_object_free` method.\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":"Traverse the entries in a tree and its subtrees in\npost or pre order","comments":"The entries will be traversed in the specified order,\nchildren subtrees will be automatically loaded as required,\nand the `callback` will be called once per entry with\nthe current (relative) root for the entry and the entry\ndata itself.\n\nIf the callback returns a negative value, the passed entry\nwill be skiped on the traversal.\n","group":"tree"},"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 *name, void *payload)","comment":"Function to be called with the name of each submodule. Return a non-zero value to terminate the iteration."},{"name":"payload","type":"void *","comment":"Extra data to pass to callback"}],"argline":"git_repository *repo,\n\tint (*callback)(const char *name, void *payload),\n\tvoid *payload","sig":"git_repository *::int (*)(const char *name, void *payload)::void *","return":{"type":"int","comment":"0 on success, -1 on error, or non-zero return value of callback"},"description":"Iterate over all submodules of a repository.","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,\n\tgit_repository *repo,\n\tconst 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":"Lookup submodule information by name or path.","comments":"Given either the submodule name or path (they are ususally the same),\nthis returns a structure describing the submodule. If the submodule\ndoes not exist, this will return GIT_ENOTFOUND and set the submodule\npointer to NULL.\n","group":"submodule"},"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. Set to NULL if the open failed."}],"argline":"git_odb **out","sig":"git_odb **","return":{"type":"int","comment":"0 or an error code"},"description":"Create a new object database with no backends.","comments":"Before the ODB can be used for read/writing, a custom database\nbackend must be manually added using `git_odb_add_backend()`\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. Set 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":"Create a new object database and automatically add\nthe two default backends:","comments":"- git_odb_backend_loose: read and write loose object files\n\tfrom disk, assuming `objects_dir` as the Objects folder\n\n- git_odb_backend_pack: read objects from packfiles,\n\tassuming `objects_dir` as the Objects folder which\n\tcontains a 'pack/' folder with the corresponding data\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":"Add a custom backend to an existing Object DB","comments":"The backends are checked in relative ordering, based on the\nvalue of the `priority` parameter.\n\nRead <odb_backends.h> for more information.\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":"Add a custom backend to an existing Object DB; this\nbackend will work as an alternate.","comments":"Alternate backends are always checked for objects *after*\nall the main backends have been exhausted.\n\nThe backends are checked in relative ordering, based on the\nvalue of the `priority` parameter.\n\nWriting is disabled on alternate backends.\n\nRead <odb_backends.h> for more information.\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"},"description":"Close an open object database.","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; - GIT_ENOTFOUND if the object is not in the database."},"description":"Read an object from the database.","comments":"This method queries all available ODB backends\ntrying to read the given OID.\n\nThe returned object is reference counted and\ninternally cached, so it should be closed\nby the user once it's no longer in use.\n","group":"odb","examples":{"general.c":["ex/v0.17.0/general.html#git_odb_read-49"]}},"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; GIT_ENOTFOUND if the object is not in the database. GIT_EAMBIGUOUS if the prefix is ambiguous (several objects match the prefix)"},"description":"Read an object from the database, given a prefix\nof its identifier.","comments":"This method queries all available ODB backends\ntrying to match the 'len' first hexadecimal\ncharacters of the 'short_id'.\nThe remaining (GIT_OID_HEXSZ-len)*4 bits of\n'short_id' must be 0s.\n'len' must be at least GIT_OID_MINPREFIXLEN,\nand the prefix must be long enough to identify\na unique object in all the backends; the\nmethod will fail otherwise.\n\nThe returned object is reference counted and\ninternally cached, so it should be closed\nby the user once it's no longer in use.\n","group":"odb"},"git_odb_read_header":{"type":"function","file":"odb.h","line":162,"lineto":162,"args":[{"name":"len_p","type":"size_t *","comment":"pointer where to store the length"},{"name":"type_p","type":"git_otype *","comment":"pointer where to store the type"},{"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":"size_t *len_p, git_otype *type_p, git_odb *db, const git_oid *id","sig":"size_t *::git_otype *::git_odb *::const git_oid *","return":{"type":"int","comment":"- 0 if the object was read; - GIT_ENOTFOUND if the object is not in the database."},"description":"Read the header of an object from the database, without\nreading its full contents.","comments":"The header includes the length and the type of an object.\n\nNote that most backends do not support reading only the header\nof an object, so the whole object will be read and then the\nheader will be returned.\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 - 0, otherwise"},"description":"Determine if the given object can be found in the object database.","comments":"","group":"odb"},"git_odb_write":{"type":"function","file":"odb.h","line":193,"lineto":193,"args":[{"name":"oid","type":"git_oid *","comment":"pointer to store the OID result of the write"},{"name":"odb","type":"git_odb *","comment":"object database where to store the object"},{"name":"data","type":"const void *","comment":"buffer with the data to storr"},{"name":"len","type":"size_t","comment":"size of the buffer"},{"name":"type","type":"git_otype","comment":"type of the data to store"}],"argline":"git_oid *oid, git_odb *odb, const void *data, size_t len, git_otype type","sig":"git_oid *::git_odb *::const void *::size_t::git_otype","return":{"type":"int","comment":"0 or an error code"},"description":"Write an object directly into the ODB","comments":"This method writes a full object straight into the ODB.\nFor most cases, it is preferred to write objects through a write\nstream, which is both faster and less memory intensive, specially\nfor big objects.\n\nThis method is provided for compatibility with custom backends\nwhich are not able to support streaming writes\n","group":"odb","examples":{"general.c":["ex/v0.17.0/general.html#git_odb_write-50"]}},"git_odb_open_wstream":{"type":"function","file":"odb.h","line":222,"lineto":222,"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 write"},{"name":"size","type":"size_t","comment":"final size of the object that will be written"},{"name":"type","type":"git_otype","comment":"type of the object that will be written"}],"argline":"git_odb_stream **stream, git_odb *db, size_t size, git_otype type","sig":"git_odb_stream **::git_odb *::size_t::git_otype","return":{"type":"int","comment":"0 if the stream was created; error code otherwise"},"description":"Open a stream to write an object into the ODB","comments":"The type and final length of the object must be specified\nwhen opening the stream.\n\nThe returned stream will be of type `GIT_STREAM_WRONLY` and\nwill have the following methods:\n\n\t- stream->write: write `n` bytes into the stream\n\t- stream->finalize_write: close the stream and store the object in\n\t\tthe odb\n\t- stream->free: free the stream\n\nThe streaming write won't be effective until `stream->finalize_write`\nis called and returns without an error\n\nThe stream must always be free'd or will leak memory.\n\n@see git_odb_stream\n","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":"Open a stream to read an object from the ODB","comments":"Note that most backends do *not* support streaming reads\nbecause they store their objects as compressed/delta'ed blobs.\n\nIt's recommended to use `git_odb_read` instead, which is\nassured to work on all backends.\n\nThe returned stream will be of type `GIT_STREAM_RDONLY` and\nwill have the following methods:\n\n\t- stream->read: read `n` bytes from the stream\n\t- stream->free: free the stream\n\nThe stream must always be free'd or will leak memory.\n\n@see git_odb_stream\n","group":"odb"},"git_odb_hash":{"type":"function","file":"odb.h","line":262,"lineto":262,"args":[{"name":"id","type":"git_oid *","comment":"the resulting object-ID."},{"name":"data","type":"const void *","comment":"data to hash"},{"name":"len","type":"size_t","comment":"size of the data"},{"name":"type","type":"git_otype","comment":"of the data to hash"}],"argline":"git_oid *id, const void *data, size_t len, git_otype type","sig":"git_oid *::const void *::size_t::git_otype","return":{"type":"int","comment":"0 or an error code"},"description":"Determine the object-ID (sha1 hash) of a data buffer","comments":"The resulting SHA-1 OID will the itentifier for the data\nbuffer as if the data buffer it were to written to the ODB.\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":"Read a file from disk and fill a git_oid with the object id\nthat the file would have if it were written to the Object\nDatabase as an object of the given type. Similar functionality\nto git.git's `git hash-object` without the `-w` flag.","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"},"description":"Close an ODB object","comments":"This method must always be called once a `git_odb_object` is no\nlonger needed, otherwise memory will leak.\n","group":"odb","examples":{"general.c":["ex/v0.17.0/general.html#git_odb_object_free-51"]}},"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":"Return the OID of an ODB object","comments":"This is the OID from which the object was read from\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":"Return the data of an ODB object","comments":"This is the uncompressed, raw data as read from the ODB,\nwithout the leading header.\n\nThis pointer is owned by the object and shall not be free'd.\n","group":"odb","examples":{"general.c":["ex/v0.17.0/general.html#git_odb_object_data-52"]}},"git_odb_object_size":{"type":"function","file":"odb.h","line":319,"lineto":319,"args":[{"name":"object","type":"git_odb_object *","comment":"the object"}],"argline":"git_odb_object *object","sig":"git_odb_object *","return":{"type":"size_t","comment":"the size"},"description":"Return the size of an ODB object","comments":"This is the real size of the `data` buffer, not the\nactual size of the object.\n","group":"odb","examples":{"general.c":["ex/v0.17.0/general.html#git_odb_object_size-53"]}},"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":"Return the type of an ODB object","comments":"","group":"odb","examples":{"general.c":["ex/v0.17.0/general.html#git_odb_object_type-54"]}},"git_threads_init":{"type":"function","file":"threads.h","line":31,"lineto":31,"args":[],"argline":"void","sig":"","return":{"type":"void"},"description":"Init the threading system.","comments":"If libgit2 has been built with GIT_THREADS\non, this function must be called once before\nany other library functions.\n\nIf libgit2 has been built without GIT_THREADS\nsupport, this function is a no-op.","group":"threads"},"git_threads_shutdown":{"type":"function","file":"threads.h","line":43,"lineto":43,"args":[],"argline":"void","sig":"","return":{"type":"void"},"description":"Shutdown the threading system.","comments":"If libgit2 has been built with GIT_THREADS\non, this function must be called before shutting\ndown the library.\n\nIf libgit2 has been built without GIT_THREADS\nsupport, this function is a no-op.","group":"threads"},"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 the hex sequence and have at least the number of bytes needed 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":"Parse a hex formatted object id into a git_oid.","comments":"","group":"oid","examples":{"general.c":["ex/v0.17.0/general.html#git_oid_fromstr-55","ex/v0.17.0/general.html#git_oid_fromstr-56","ex/v0.17.0/general.html#git_oid_fromstr-57","ex/v0.17.0/general.html#git_oid_fromstr-58","ex/v0.17.0/general.html#git_oid_fromstr-59","ex/v0.17.0/general.html#git_oid_fromstr-60","ex/v0.17.0/general.html#git_oid_fromstr-61","ex/v0.17.0/general.html#git_oid_fromstr-62"]}},"git_oid_fromstrn":{"type":"function","file":"oid.h","line":61,"lineto":61,"args":[{"name":"out","type":"git_oid *","comment":"oid structure the result is written into."},{"name":"str","type":"const char *","comment":"input hex string of at least size `length`"},{"name":"length","type":"size_t","comment":"length of the input string"}],"argline":"git_oid *out, const char *str, size_t length","sig":"git_oid *::const char *::size_t","return":{"type":"int","comment":"0 or an error code"},"description":"Parse N characters of a hex formatted object id into a git_oid","comments":"If N is odd, N-1 characters will be parsed instead.\nThe remaining space in the git_oid will be set to zero.\n","group":"oid","examples":{"diff.c":["ex/v0.17.0/diff.html#git_oid_fromstrn-18"]}},"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"},"description":"Copy an already raw oid into a git_oid structure.","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 the hex sequence and have at least the number of bytes needed for an oid encoded in hex (40 bytes). Only the oid digits are written; a '\\\\0' terminator must be added by 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"},"description":"Format a git_oid into a hex string.","comments":"","group":"oid","examples":{"showindex.c":["ex/v0.17.0/showindex.html#git_oid_fmt-8"],"general.c":["ex/v0.17.0/general.html#git_oid_fmt-63","ex/v0.17.0/general.html#git_oid_fmt-64","ex/v0.17.0/general.html#git_oid_fmt-65","ex/v0.17.0/general.html#git_oid_fmt-66","ex/v0.17.0/general.html#git_oid_fmt-67"],"network/ls-remote.c":["ex/v0.17.0/ls-remote.html#git_oid_fmt-10"],"network/index-pack.c":["ex/v0.17.0/index-pack.html#git_oid_fmt-11","ex/v0.17.0/index-pack.html#git_oid_fmt-12"],"network/fetch.c":["ex/v0.17.0/fetch.html#git_oid_fmt-9","ex/v0.17.0/fetch.html#git_oid_fmt-10"]}},"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 the hex sequence and have at least the number of bytes needed for an oid encoded in hex (41 bytes). Only the oid digits are written; a '\\\\0' terminator must be added by 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"},"description":"Format a git_oid into a loose-object path string.","comments":"The resulting string is \"aa/...\", where \"aa\" is the first two\nhex digitis of the oid and \"...\" is the remaining 38 digits.\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 deallocate the string with git__free()."},"description":"Format a git_oid into a newly allocated c-string.","comments":"","group":"oid"},"git_oid_tostr":{"type":"function","file":"oid.h","line":122,"lineto":122,"args":[{"name":"out","type":"char *","comment":"the buffer into which the oid string is output."},{"name":"n","type":"size_t","comment":"the size of the out buffer."},{"name":"oid","type":"const git_oid *","comment":"the oid structure to format."}],"argline":"char *out, size_t n, const git_oid *oid","sig":"char *::size_t::const git_oid *","return":{"type":"char *","comment":"the out buffer pointer, assuming no input parameter errors, otherwise a pointer to an empty string."},"description":"Format a git_oid into a buffer as a hex format c-string.","comments":"If the buffer is smaller than GIT_OID_HEXSZ+1, then the resulting\noid c-string will be truncated to n-1 characters. If there are\nany input parameter errors (out == NULL, n == 0, oid == NULL),\nthen a pointer to an empty string is returned, so that the return\nvalue can always be printed.\n","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"},"description":"Copy an oid from one structure to another.","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":"<0, 0, >0 if a < b, a == b, a > b."},"description":"Compare two oid structures.","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":"Compare the first 'len' hexadecimal characters (packets of 4 bits)\nof two oid structures.","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, 0 in case of a match, GIT_ERROR otherwise."},"description":"Check if an oid equals an hex formatted object id.","comments":"","group":"oid"},"git_oid_iszero":{"type":"function","file":"oid.h","line":165,"lineto":165,"args":[{"name":"a","type":"const git_oid *"}],"argline":"const git_oid *a","sig":"const git_oid *","return":{"type":"int"},"description":"Check is an oid is all zeros.","comments":"","group":"oid","examples":{"network/fetch.c":["ex/v0.17.0/fetch.html#git_oid_iszero-11"]}},"git_oid_shorten_new":{"type":"function","file":"oid.h","line":186,"lineto":186,"args":[{"name":"min_length","type":"size_t","comment":"The minimal length for all identifiers, which will be used even if shorter OIDs would still be unique."}],"argline":"size_t min_length","sig":"size_t","return":{"type":"git_oid_shorten *","comment":"a `git_oid_shorten` instance, NULL if OOM"},"description":"Create a new OID shortener.","comments":"The OID shortener is used to process a list of OIDs\nin text form and return the shortest length that would\nuniquely identify all of them.\n\nE.g. look at the result of `git log --abbrev`.\n","group":"oid"},"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 added so far to the set; or an error code (<0) if an error occurs."},"description":"Add a new OID to set of shortened OIDs and calculate\nthe minimal length to uniquely identify all the OIDs in\nthe set.","comments":"The OID is expected to be a 40-char hexadecimal string.\nThe OID is owned by the user and will not be modified\nor freed.\n\nFor performance reasons, there is a hard-limit of how many\nOIDs can be added to a single set (around ~22000, assuming\na mostly randomized distribution), which should be enough\nfor any kind of program, and keeps the algorithm fast and\nmemory-efficient.\n\nAttempting to add more than those OIDs will result in a\nGIT_ENOMEM error\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"},"description":"Free an OID shortener instance","comments":"","group":"oid"},"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_... macros to test for TRUE, FALSE, UNSPECIFIED, etc. or just use the string value for attributes set to a value. You 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 interpreted relative to the repo root. The file does not have to exist, but if it does not, then it will be 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,\n git_repository *repo,\n\tuint32_t flags,\n\tconst char *path,\n\tconst char *name","sig":"const char **::git_repository *::uint32_t::const char *::const char *","return":{"type":"int"},"description":"Look up the value of one git attribute for path.","comments":"","group":"attr"},"git_attr_get_many":{"type":"function","file":"attr.h","line":162,"lineto":168,"args":[{"name":"values_out","type":"const char **"},{"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 does not have to exist, but if it does not, then it will be treated as a plain file (i.e. not a directory)."},{"name":"num_attr","type":"size_t","comment":"The number of attributes being looked up"},{"name":"names","type":"const char **","comment":"An array of num_attr strings containing attribute names."}],"argline":"const char **values_out,\n\tgit_repository *repo,\n\tuint32_t flags,\n\tconst char *path,\n\tsize_t num_attr,\n\tconst char **names","sig":"const char **::git_repository *::uint32_t::const char *::size_t::const char **","return":{"type":"int"},"description":"Look up a list of git attributes for path.","comments":"Use this if you have a known list of attributes that you want to\nlook up in a single call. This is somewhat more efficient than\ncalling `git_attr_get()` multiple times.\n\nFor example, you might write:\n\n const char *attrs[] = { \"crlf\", \"diff\", \"foo\" };\n const char **values[3];\n git_attr_get_many(values, repo, 0, \"my/fun/file.c\", 3, attrs);\n\nThen you could loop through the 3 values to get the settings for\nthe three attributes you asked about.\n","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 does not have to exist, but if it does not, then it will be treated as a plain file (i.e. not a directory)."},{"name":"callback","type":"int (*)(const char *name, const char *value, void *payload)","comment":"The function that will be invoked on each attribute and attribute value. The name parameter will be the name of the attribute and the value will be the value it is set to, including possibly NULL if the attribute is explicitly set to UNSPECIFIED using the ! sign. This will be invoked only once per attribute name, even if there are multiple rules for a given file. The highest priority rule will be used."},{"name":"payload","type":"void *","comment":"Passed on as extra parameter to callback function."}],"argline":"git_repository *repo,\n\tuint32_t flags,\n\tconst char *path,\n\tint (*callback)(const char *name, const char *value, void *payload),\n\tvoid *payload","sig":"git_repository *::uint32_t::const char *::int (*)(const char *name, const char *value, void *payload)::void *","return":{"type":"int"},"description":"Loop over all the git attributes for a path.","comments":"","group":"attr"},"git_attr_cache_flush":{"type":"function","file":"attr.h","line":203,"lineto":204,"args":[{"name":"repo","type":"git_repository *"}],"argline":"git_repository *repo","sig":"git_repository *","return":{"type":"void"},"description":"Flush the gitattributes cache.","comments":"Call this if you have reason to believe that the attributes files on\ndisk no longer match the cached contents of memory. This will cause\nthe attributes files to be reloaded the next time that an attribute\naccess function is called.","group":"attr"},"git_attr_add_macro":{"type":"function","file":"attr.h","line":216,"lineto":219,"args":[{"name":"repo","type":"git_repository *"},{"name":"name","type":"const char *"},{"name":"values","type":"const char *"}],"argline":"git_repository *repo,\n\tconst char *name,\n\tconst char *values","sig":"git_repository *::const char *::const char *","return":{"type":"int"},"description":"Add a macro definition.","comments":"Macros will automatically be loaded from the top level `.gitattributes`\nfile of the repository (plus the build-in \"binary\" macro). This\nfunction allows you to add others. For example, to add the default\nmacro, you would call:\n\n git_attr_add_macro(repo, \"binary\", \"-diff -crlf\");","group":"attr"},"giterr_last":{"type":"function","file":"errors.h","line":99,"lineto":99,"args":[],"argline":"void","sig":"","return":{"type":"const git_error *","comment":"A git_error object."},"description":"Return the last `git_error` object that was generated for the\ncurrent thread or NULL if no error has occurred.","comments":"","group":"giterr","examples":{"network/git2.c":["ex/v0.17.0/git2.html#giterr_last-3","ex/v0.17.0/git2.html#giterr_last-4"]}},"giterr_clear":{"type":"function","file":"errors.h","line":104,"lineto":104,"args":[],"argline":"void","sig":"","return":{"type":"void"},"description":"Clear the last library error that occurred for this thread.","comments":"","group":"giterr"},"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":"Allocate a new revision walker to iterate through a repo.","comments":"This revision walker uses a custom memory pool and an internal\ncommit cache, so it is relatively expensive to allocate.\n\nFor maximum performance, this revision walker should be\nreused for different walks.\n\nThis revision walker is *not* thread safe: it may only be\nused to walk a repository on a single thread; however,\nit is possible to have several revision walkers in\nseveral different threads walking the same repository.\n","group":"revwalk","examples":{"general.c":["ex/v0.17.0/general.html#git_revwalk_new-68"]}},"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"},"description":"Reset the revision walker for reuse.","comments":"This will clear all the pushed and hidden commits, and\nleave the walker in a blank state (just like at\ncreation) ready to receive new commit pushes and\nstart a new walk.\n\nThe revision walk is automatically reset when a walk\nis over.\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":"Mark a commit to start traversal from.","comments":"The given OID must belong to a commit on the walked\nrepository.\n\nThe given commit will be used as one of the roots\nwhen starting the revision walk. At least one commit\nmust be pushed the repository before a walk can\nbe started.\n","group":"revwalk","examples":{"general.c":["ex/v0.17.0/general.html#git_revwalk_push-69"]}},"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":"Push matching references","comments":"The OIDs pinted to by the references that match the given glob\npattern will be pushed to the revision walker.\n\nA leading 'refs/' is implied it not present as well as a trailing\n'/ *' if the glob lacks '?', '*' or '['.\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":"Push the repository's HEAD","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":"Mark a commit (and its ancestors) uninteresting for the output.","comments":"The given OID must belong to a commit on the walked\nrepository.\n\nThe resolved commit and all its parents will be hidden from the\noutput on the revision walk.\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":"Hide matching references.","comments":"The OIDs pinted to by the references that match the given glob\npattern and their ancestors will be hidden from the output on the\nrevision walk.\n\nA leading 'refs/' is implied it not present as well as a trailing\n'/ *' if the glob lacks '?', '*' or '['.\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":"Hide the repository's HEAD","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":"Push the OID pointed to by a reference","comments":"The reference must point to a commit.\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":"Hide the OID pointed to by a reference","comments":"The reference must point to a commit.\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; GIT_REVWALKOVER if there are no commits left to iterate"},"description":"Get the next commit from the revision walk.","comments":"The initial call to this method is *not* blocking when\niterating through a repo with a time-sorting mode.\n\nIterating with Topological or inverted modes makes the initial\ncall blocking to preprocess the commit list, but this block should be\nmostly unnoticeable on most repositories (topological preprocessing\ntimes at 0.3s on the git.git repo).\n\nThe revision walker is reset when the walk is over.\n","group":"revwalk","examples":{"general.c":["ex/v0.17.0/general.html#git_revwalk_next-70"]}},"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"},"description":"Change the sorting mode when iterating through the\nrepository's contents.","comments":"Changing the sorting mode resets the walker.\n","group":"revwalk","examples":{"general.c":["ex/v0.17.0/general.html#git_revwalk_sorting-71"]}},"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"},"description":"Free a revision walker previously allocated.","comments":"","group":"revwalk","examples":{"general.c":["ex/v0.17.0/general.html#git_revwalk_free-72"]}},"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":"Return the repository on which this walker\nis operating.","comments":"","group":"revwalk"},"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,\n\t\tgit_repository *repo,\n\t\tconst git_oid *id,\n\t\tgit_otype type","sig":"git_object **::git_repository *::const git_oid *::git_otype","return":{"type":"int","comment":"a reference to the object"},"description":"Lookup a reference to one of the objects in a repostory.","comments":"The generated reference is owned by the repository and\nshould be closed with the `git_object_free` method\ninstead of free'd manually.\n\nThe 'type' parameter must match the type of the object\nin the odb; the method will fail otherwise.\nThe special value 'GIT_OBJ_ANY' may be passed to let\nthe method guess the object's type.\n","group":"object","examples":{"diff.c":["ex/v0.17.0/diff.html#git_object_lookup-19"]}},"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,\n\t\tgit_repository *repo,\n\t\tconst git_oid *id,\n\t\tunsigned int len,\n\t\tgit_otype type","sig":"git_object **::git_repository *::const git_oid *::unsigned int::git_otype","return":{"type":"int","comment":"0 or an error code"},"description":"Lookup a reference to one of the objects in a repostory,\ngiven a prefix of its identifier (short id).","comments":"The object obtained will be so that its identifier\nmatches the first 'len' hexadecimal characters\n(packets of 4 bits) of the given 'id'.\n'len' must be at least GIT_OID_MINPREFIXLEN, and\nlong enough to identify a unique object matching\nthe prefix; otherwise the method will fail.\n\nThe generated reference is owned by the repository and\nshould be closed with the `git_object_free` method\ninstead of free'd manually.\n\nThe 'type' parameter must match the type of the object\nin the odb; the method will fail otherwise.\nThe special value 'GIT_OBJ_ANY' may be passed to let\nthe method guess the object's type.\n","group":"object","examples":{"diff.c":["ex/v0.17.0/diff.html#git_object_lookup_prefix-20"]}},"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":"Get the id (SHA1) of a repository object","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":"Get the object type of an object","comments":"","group":"object","examples":{"diff.c":["ex/v0.17.0/diff.html#git_object_type-21"]}},"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":"Get the repository that owns this object","comments":"Freeing or calling `git_repository_close` on the\nreturned pointer will invalidate the actual object.\n\nAny other operation may be run on the repository without\naffecting the object.\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"},"description":"Close an open object","comments":"This method instructs the library to close an existing\nobject; note that git_objects are owned and cached by the repository\nso the object may or may not be freed after this library call,\ndepending on how agressive is the caching mechanism used\nby the repository.\n\nIMPORTANT:\nIt *is* necessary to call this method when you stop using\nan object. Failure to do so will cause a memory leak.\n","group":"object","examples":{"general.c":["ex/v0.17.0/general.html#git_object_free-73"],"diff.c":["ex/v0.17.0/diff.html#git_object_free-22"]}},"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":"Convert an object type to it's string representation.","comments":"The result is a pointer to a string in static memory and\nshould not be free()'ed.\n","group":"object","examples":{"general.c":["ex/v0.17.0/general.html#git_object_type2string-74"]}},"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":"Convert a string object type representation to it's git_otype.","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, false otherwise."},"description":"Determine if the given git_otype is a valid loose object type.","comments":"","group":"object"},"git_object__size":{"type":"function","file":"object.h","line":168,"lineto":168,"args":[{"name":"type","type":"git_otype","comment":"object type to get its size"}],"argline":"git_otype type","sig":"git_otype","return":{"type":"size_t","comment":"size in bytes of the object"},"description":"Get the size in bytes for the structure which\nacts as an in-memory representation of any given\nobject type.","comments":"For all the core types, this would the equivalent\nof calling `sizeof(git_commit)` if the core types\nwere not opaque on the external API.\n","group":"object"},"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":"Lookup a reference by its name in a repository.","comments":"The generated reference must be freed by the user.\n","group":"reference","examples":{"general.c":["ex/v0.17.0/general.html#git_reference_lookup-75"],"diff.c":["ex/v0.17.0/diff.html#git_reference_lookup-23"]}},"git_reference_name_to_oid":{"type":"function","file":"refs.h","line":43,"lineto":44,"args":[{"name":"out","type":"git_oid *"},{"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":"Lookup a reference by name and resolve immediately to OID.","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":"Create a new symbolic reference.","comments":"The reference will be created in the repository and written\nto the disk.\n\nThe generated reference must be freed by the user.\n\nIf `force` is true and there already exists a reference\nwith the same name, it will be overwritten.\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":"Create a new object id reference.","comments":"The reference will be created in the repository and written\nto the disk.\n\nThe generated reference must be freed by the user.\n\nIf `force` is true and there already exists a reference\nwith the same name, it will be overwritten.\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":"Get the OID pointed to by a reference.","comments":"Only available if the reference is direct (i.e. not symbolic)\n","group":"reference","examples":{"general.c":["ex/v0.17.0/general.html#git_reference_oid-76"],"diff.c":["ex/v0.17.0/diff.html#git_reference_oid-24"]}},"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":"Get full name to the reference pointed by this reference","comments":"Only available if the reference is symbolic\n","group":"reference","examples":{"general.c":["ex/v0.17.0/general.html#git_reference_target-77"]}},"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":"Get the type of a reference","comments":"Either direct (GIT_REF_OID) or symbolic (GIT_REF_SYMBOLIC)\n","group":"reference","examples":{"general.c":["ex/v0.17.0/general.html#git_reference_type-78"]}},"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":"Get the full name of a reference","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":"Resolve a symbolic reference","comments":"Thie method iteratively peels a symbolic reference\nuntil it resolves to a direct reference to an OID.\n\nThe peeled reference is returned in the `resolved_ref`\nargument, and must be freed manually once it's no longer\nneeded.\n\nIf a direct reference is passed as an argument,\na copy of that reference is returned. This copy must\nbe manually freed too.\n","group":"reference","examples":{"diff.c":["ex/v0.17.0/diff.html#git_reference_resolve-25"]}},"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":"Get the repository where a reference resides","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":"Set the symbolic target of a reference.","comments":"The reference must be a symbolic reference, otherwise\nthis method will fail.\n\nThe reference will be automatically updated in\nmemory and on disk.\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":"Set the OID target of a reference.","comments":"The reference must be a direct reference, otherwise\nthis method will fail.\n\nThe reference will be automatically updated in\nmemory and on disk.\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":"Rename an existing reference","comments":"This method works for both direct and symbolic references.\nThe new name will be checked for validity and may be\nmodified into a normalized form.\n\nThe given git_reference will be updated in place.\n\nThe reference will be immediately renamed in-memory\nand on disk.\n\nIf the `force` flag is not enabled, and there's already\na reference with the given name, the renaming will fail.\n\nIMPORTANT:\nThe user needs to write a proper reflog entry if the\nreflog is enabled for the repository. We only rename\nthe reflog if it exists.\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":"Delete an existing reference","comments":"This method works for both direct and symbolic references.\n\nThe reference will be immediately removed on disk and from\nmemory. The given reference pointer will no longer be valid.\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":"Pack all the loose references in the repository","comments":"This method will load into the cache all the loose\nreferences on the repository and update the\n`packed-refs` file with them.\n\nOnce the `packed-refs` file has been written properly,\nthe loose references will be removed from disk.\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 the 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 listing."}],"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":"Fill a list with all the references that can be found\nin a repository.","comments":"The listed references may be filtered by type, or using\na bitwise OR of several types. Use the magic value\n`GIT_REF_LISTALL` to obtain all references, including\npacked ones.\n\nThe string array will be filled with the names of all\nreferences; these values are owned by the user and\nshould be free'd manually when no longer needed, using\n`git_strarray_free`.\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 listing."},{"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 (*callback)(const char *, void *), void *payload","sig":"git_repository *::unsigned int::int (*)(const char *, void *)::void *","return":{"type":"int","comment":"0 or an error code"},"description":"Perform an operation on each reference in the repository","comments":"The processed references may be filtered by type, or using\na bitwise OR of several types. Use the magic value\n`GIT_REF_LISTALL` to obtain all references, including\npacked ones.\n\nThe `callback` function will be called for each of the references\nin the repository, and will receive the name of the reference and\nthe `payload` value passed to this method.\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":"Check if a reference has been loaded from a packfile","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":"Reload a reference from disk","comments":"Reference pointers may become outdated if the Git\nrepository is accessed simultaneously by other clients\nwhilt the library is open.\n\nThis method forces a reload of the reference from disk,\nto ensure that the provided information is still\nreliable.\n\nIf the reload fails (e.g. the reference no longer exists\non disk, or has become corrupted), an error code will be\nreturned and the reference pointer will be invalidated.\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"},"description":"Free the given reference","comments":"","group":"reference","examples":{"diff.c":["ex/v0.17.0/diff.html#git_reference_free-26","ex/v0.17.0/diff.html#git_reference_free-27"]}},"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":"Compare two references.","comments":"","group":"reference"}},"globals":{"GIT_BEGIN_DECL":{"value":"","file":"common.h","line":24,"comments":"Start declarations in C mode"},"GIT_END_DECL":{"value":"","file":"common.h","line":26,"comments":"End declarations in C mode"},"GIT_EXTERN(type)":{"value":"extern __attribute__((visibility(\"default\"))) type","file":"common.h","line":30,"comments":"Declare a public function exported for application use."},"GIT_INLINE(type)":{"value":"static __inline type","file":"common.h","line":41,"comments":"Declare a function as always inlined."},"GIT_FORMAT_PRINTF(a,b)":{"value":"__attribute__((format (printf, a, b)))","file":"common.h","line":48,"comments":"Declare a function's takes printf style arguments."},"GIT_PATH_LIST_SEPARATOR":{"value":"';'","file":"common.h","line":73,"comments":"The separator used in path list strings (ie like in the PATH\nenvironment variable). A semi-colon \";\" is used on Windows, and\na colon \":\" for all other systems."},"GIT_PATH_MAX":{"value":"4096","file":"common.h","line":82,"comments":"The maximum length of a valid git path."},"GIT_STREAM_RDONLY":{"file":"odb_backend.h","line":79,"value":"(1 << 1)","comments":"Streaming mode"},"GIT_STREAM_WRONLY":{"file":"odb_backend.h","line":80,"value":"(1 << 2)","comments":"Streaming mode"},"GIT_STREAM_RW":{"file":"odb_backend.h","line":81,"value":"(GIT_STREAM_RDONLY | GIT_STREAM_WRONLY)","comments":"Streaming mode"},"GIT_OID_RAWSZ":{"value":"20","file":"oid.h","line":23,"comments":"Size (in bytes) of a raw/binary oid"},"GIT_OID_HEXSZ":{"value":"(GIT_OID_RAWSZ * 2)","file":"oid.h","line":26,"comments":"Size (in bytes) of a hex formatted oid"},"GIT_OID_MINPREFIXLEN":{"value":"4","file":"oid.h","line":30,"comments":"Minimum length (in number of hex characters,\ni.e. packets of 4 bits) of an oid prefix"},"GIT_ATTR_TRUE(attr)":{"value":"((attr) == git_attr__true)","file":"attr.h","line":33,"comments":"GIT_ATTR_TRUE checks if an attribute is set on. In core git\nparlance, this the value for \"Set\" attributes.\n\nFor example, if the attribute file contains:\n\n *.c foo\n\nThen for file `xyz.c` looking up attribute \"foo\" gives a value for\nwhich `GIT_ATTR_TRUE(value)` is true."},"GIT_ATTR_FALSE(attr)":{"value":"((attr) == git_attr__false)","file":"attr.h","line":47,"comments":"GIT_ATTR_FALSE checks if an attribute is set off. In core git\nparlance, this is the value for attributes that are \"Unset\" (not to\nbe confused with values that a \"Unspecified\").\n\nFor example, if the attribute file contains:\n\n *.h -foo\n\nThen for file `zyx.h` looking up attribute \"foo\" gives a value for\nwhich `GIT_ATTR_FALSE(value)` is true."},"GIT_ATTR_UNSPECIFIED(attr)":{"value":"(!(attr) || (attr) == git_attr__unset)","file":"attr.h","line":65,"comments":"GIT_ATTR_UNSPECIFIED checks if an attribute is unspecified. This\nmay be due to the attribute not being mentioned at all or because\nthe attribute was explicitly set unspecified via the `!` operator.\n\nFor example, if the attribute file contains:\n\n *.c foo\n *.h -foo\n onefile.c !foo\n\nThen for `onefile.c` looking up attribute \"foo\" yields a value with\n`GIT_ATTR_UNSPECIFIED(value)` of true. Also, looking up \"foo\" on\nfile `onefile.rb` or looking up \"bar\" on any file will all give\n`GIT_ATTR_UNSPECIFIED(value)` of true."},"GIT_ATTR_HAS_VALUE(attr)":{"value":"((attr) && (attr) != git_attr__unset && (attr) != git_attr__true && (attr) != git_attr__false)","file":"attr.h","line":77,"comments":"GIT_ATTR_HAS_VALUE checks if an attribute is set to a value (as\nopposied to TRUE, FALSE or UNSPECIFIED). This would be the case if\nfor a file with something like:\n\n *.txt eol=lf\n\nGiven this, looking up \"eol\" for `onefile.txt` will give back the\nstring \"lf\" and `GIT_ATTR_SET_TO_VALUE(attr)` will return true."},"GIT_ATTR_CHECK_NO_SYSTEM":{"value":"(1 << 2)","file":"attr.h","line":109,"comments":"Check attribute flags: Using the system attributes file.\n\nNormally, attribute checks include looking in the /etc (or system\nequivalent) directory for a `gitattributes` file. Passing this\nflag will cause attribute checks to ignore that file."},"GIT_OK":{"file":"errors.h","line":59,"value":"0","comments":"Generic return codes"},"GIT_ERROR":{"file":"errors.h","line":60,"value":"-1","comments":"Generic return codes"},"GIT_ENOTFOUND":{"file":"errors.h","line":61,"value":"-3","comments":"Generic return codes"},"GIT_EEXISTS":{"file":"errors.h","line":62,"value":"-4","comments":"Generic return codes"},"GIT_EAMBIGUOUS":{"file":"errors.h","line":63,"value":"-5","comments":"Generic return codes"},"GIT_EBUFS":{"file":"errors.h","line":64,"value":"-6","comments":"Generic return codes"},"GIT_PASSTHROUGH":{"file":"errors.h","line":66,"value":"-30","comments":"Generic return codes"},"GIT_REVWALKOVER":{"file":"errors.h","line":67,"value":"-31","comments":"Generic return codes"},"GIT_SORT_NONE":{"value":"(0)","file":"revwalk.h","line":29,"comments":"Sort the repository contents in no particular ordering;\nthis sorting is arbitrary, implementation-specific\nand subject to change at any time.\nThis is the default sorting for new walkers."},"GIT_SORT_TOPOLOGICAL":{"value":"(1 << 0)","file":"revwalk.h","line":36,"comments":"Sort the repository contents in topological order\n(parents before children); this sorting mode\ncan be combined with time sorting."},"GIT_SORT_TIME":{"value":"(1 << 1)","file":"revwalk.h","line":43,"comments":"Sort the repository contents by commit time;\nthis sorting mode can be combined with\ntopological sorting."},"GIT_SORT_REVERSE":{"value":"(1 << 2)","file":"revwalk.h","line":50,"comments":"Iterate through the repository contents in reverse\norder; this sorting mode can be combined with\nany of the above."}},"types":[["GIT_ATTR_CHECK",{"type":"enum","file":"attr.h","line":98,"lineto":100,"block":"GIT_ATTR_CHECK_FILE_THEN_INDEX\nGIT_ATTR_CHECK_INDEX_THEN_FILE\nGIT_ATTR_CHECK_INDEX_ONLY","tdef":null,"comments":"Check attribute flags: Reading values from index and working directory.\n\nWhen checking attributes, it is possible to check attribute files\nin both the working directory (if there is one) and the index (if\nthere is one). You can explicitly choose where to check and in\nwhich order using the following flags.\n\nCore git usually checks the working directory then the index,\nexcept during a checkout when it checks the index first. It will\nuse index only for creating archives or for a bare repo (if an\nindex has been specified for the bare repo).","used":{"returns":[],"needs":[]}}],["GIT_DIFF_LINE",{"type":"enum","file":"diff.h","line":162,"lineto":176,"block":"GIT_DIFF_LINE_CONTEXT\nGIT_DIFF_LINE_ADDITION\nGIT_DIFF_LINE_DELETION\nGIT_DIFF_LINE_ADD_EOFNL\nGIT_DIFF_LINE_DEL_EOFNL\nGIT_DIFF_LINE_FILE_HDR\nGIT_DIFF_LINE_HUNK_HDR\nGIT_DIFF_LINE_BINARY","tdef":null,"comments":"Line origin constants.\n\nThese values describe where a line came from and will be passed to\nthe git_diff_data_fn when iterating over a diff. There are some\nspecial origin contants at the end that are used for the text\noutput callbacks to demarcate lines that are actually part of\nthe file or hunk headers.","used":{"returns":[],"needs":[]}}],["GIT_STATUS_OPT",{"type":"enum","file":"status.h","line":100,"lineto":106,"block":"GIT_STATUS_OPT_INCLUDE_UNTRACKED\nGIT_STATUS_OPT_INCLUDE_IGNORED\nGIT_STATUS_OPT_INCLUDE_UNMODIFIED\nGIT_STATUS_OPT_EXCLUDE_SUBMODULED\nGIT_STATUS_OPT_RECURSE_UNTRACKED_DIRS","tdef":null,"comments":"Flags to control status callbacks\n\n- GIT_STATUS_OPT_INCLUDE_UNTRACKED says that callbacks should\n be made on untracked files. These will only be made if the\n workdir files are included in the status \"show\" option.\n- GIT_STATUS_OPT_INCLUDE_IGNORED says that ignored files should\n get callbacks. Again, these callbacks will only be made if\n the workdir files are included in the status \"show\" option.\n Right now, there is no option to include all files in\n directories that are ignored completely.\n- GIT_STATUS_OPT_INCLUDE_UNMODIFIED indicates that callback\n should be made even on unmodified files.\n- GIT_STATUS_OPT_EXCLUDE_SUBMODULES indicates that directories\n which appear to be submodules should just be skipped over.\n- GIT_STATUS_OPT_RECURSE_UNTRACKED_DIRS indicates that the\n contents of untracked directories should be included in the\n status. Normally if an entire directory is new, then just\n the top-level directory will be included (with a trailing\n slash on the entry name). Given this flag, the directory\n itself will not be included, but all the files in it will.","used":{"returns":[],"needs":[]}}],["git_blob",{"type":"struct","value":"git_blob","file":"types.h","line":105,"lineto":105,"block":"","tdef":"typedef","comments":"In-memory representation of a blob object.","used":{"returns":[],"needs":["git_blob_free","git_blob_lookup","git_blob_lookup_prefix","git_blob_rawcontent","git_blob_rawsize","git_diff_blobs"]}}],["git_branch_t",{"type":"enum","file":"types.h","line":164,"lineto":172,"block":"GIT_BRANCH_LOCAL\nGIT_BRANCH_REMOTE","tdef":"typedef","comments":"Basic type of any Git branch.","used":{"returns":[],"needs":["git_branch_delete"]}}],["git_commit",{"type":"struct","value":"git_commit","file":"types.h","line":108,"lineto":108,"block":"","tdef":"typedef","comments":"Parsed representation of a commit object.","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",{"type":"struct","value":"git_config","file":"types.h","line":123,"lineto":123,"block":"","tdef":"typedef","comments":"Memory representation of a set of config files","used":{"returns":[],"needs":["git_config_add_file","git_config_add_file_ondisk","git_config_delete","git_config_foreach","git_config_free","git_config_get_bool","git_config_get_int32","git_config_get_int64","git_config_get_mapped","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",{"type":"struct","value":"git_config_file","file":"types.h","line":126,"lineto":126,"block":"","tdef":"typedef","comments":"Interface to access a configuration file","used":{"returns":[],"needs":["git_config_add_file","git_config_file__ondisk"]}}],["git_delta_t",{"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","comments":"What type of change is described by a git_diff_delta?","used":{"returns":[],"needs":[]}}],["git_diff_data_fn",{"type":"function pointer","value":"git_diff_data_fn","file":"diff.h","line":186,"lineto":192,"comments":"When iterating over a diff, callback that will be made per text diff\nline. In this context, the provided range will be NULL.\n\nWhen printing a diff, callback that will be made to output each line\nof text. This uses some extra GIT_DIFF_LINE_... constants for output\nof lines of file and hunk headers.","used":{"returns":[],"needs":["git_diff_blobs","git_diff_foreach","git_diff_print_compact","git_diff_print_patch"]}}],["git_diff_delta",{"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","comments":"Description of changes to one file.\n\nWhen iterating over a diff list object, this will generally be passed to\nmost callback functions and you can use the contents to understand\nexactly what has changed.\n\nUnder some circumstances, not all fields will be filled in, but the code\ngenerally tries to fill in as much as possible. One example is that the\n\"binary\" field will not actually look at file contents if you do not\npass in hunk and/or line callbacks to the diff foreach iteration function.\nIt will just use the git attributes for those files.","used":{"returns":[],"needs":[]}}],["git_diff_file",{"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","comments":"Description of one side of a diff.","used":{"returns":[],"needs":[]}}],["git_diff_file_fn",{"type":"function pointer","value":"git_diff_file_fn","file":"diff.h","line":128,"lineto":131,"comments":"When iterating over a diff, callback that will be made per file.","used":{"returns":[],"needs":["git_diff_blobs","git_diff_foreach"]}}],["git_diff_hunk_fn",{"type":"function pointer","value":"git_diff_hunk_fn","file":"diff.h","line":146,"lineto":151,"comments":"When iterating over a diff, callback that will be made per hunk.","used":{"returns":[],"needs":["git_diff_blobs","git_diff_foreach"]}}],["git_diff_list",{"type":"struct","value":"git_diff_list","file":"diff.h","line":68,"lineto":77,"block":"","tdef":"typedef","comments":"The diff list object that contains all individual file deltas.","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_options",{"type":"struct","value":"git_diff_options","file":"diff.h","line":56,"lineto":63,"block":"uint32_t flags\nuint16_t context_lines\nuint16_t interhunk_lines\nchar *old_prefix\nchar *new_prefix\ngit_strarray pathspec","tdef":"typedef","comments":"Structure describing options about how the diff should be executed.\n\nSetting all values of the structure to zero will yield the default\nvalues. Similarly, passing NULL for the options structure will\ngive the defaults. The default values are marked below.\n\n@todo Most of the parameters here are not actually supported at this time.","used":{"returns":[],"needs":["git_diff_blobs","git_diff_index_to_tree","git_diff_tree_to_tree","git_diff_workdir_to_index","git_diff_workdir_to_tree"]}}],["git_diff_range",{"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","comments":"Structure describing a hunk of a diff.","used":{"returns":[],"needs":[]}}],["git_headlist_cb",{"type":"function pointer","value":"git_headlist_cb","file":"net.h","line":47,"lineto":47,"comments":"Callback for listing the remote heads","used":{"returns":[],"needs":["git_remote_ls"]}}],["git_index",{"type":"struct","value":"git_index","file":"types.h","line":120,"lineto":120,"block":"","tdef":"typedef","comments":"Memory representation of an index file.","used":{"returns":[],"needs":["git_index_add","git_index_add2","git_index_append","git_index_append2","git_index_clear","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_repository_index","git_repository_set_index","git_tree_create_fromindex"]}}],["git_index_entry",{"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","comments":"Memory representation of a file entry in the index.","used":{"returns":["git_index_get"],"needs":["git_index_add2","git_index_append2","git_index_entry_stage"]}}],["git_index_entry_unmerged",{"type":"struct","value":"git_index_entry_unmerged","file":"index.h","line":87,"lineto":91,"block":"unsigned int mode[3]\ngit_oid oid[3]\nchar *path","tdef":"typedef","comments":"Representation of an unmerged file entry in the index.","used":{"returns":["git_index_get_unmerged_byindex","git_index_get_unmerged_bypath"],"needs":[]}}],["git_index_time",{"type":"struct","value":"git_index_time","file":"index.h","line":60,"lineto":64,"block":"git_time_t seconds\nunsigned int nanoseconds","tdef":"typedef","comments":"Time used in a git index entry","used":{"returns":[],"needs":[]}}],["git_indexer_stats",{"type":"struct","value":"git_indexer_stats","file":"indexer.h","line":19,"lineto":26,"block":"unsigned int total\nunsigned int processed","tdef":"typedef","comments":"This is passed as the first argument to the callback to allow the\nuser to see the progress.","used":{"returns":[],"needs":["git_indexer_run","git_indexer_stream_add","git_indexer_stream_finalize","git_remote_download"]}}],["git_note",{"type":"struct","value":"git_note","file":"types.h","line":135,"lineto":135,"block":"","tdef":"typedef","comments":"Representation of a git note","used":{"returns":[],"needs":["git_note_free","git_note_message","git_note_oid","git_note_read"]}}],["git_note_data",{"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","comments":"Basic components of a note\n\n - Oid of the blob containing the message\n - Oid of the git object being annotated","used":{"returns":[],"needs":["git_note_foreach"]}}],["git_object",{"type":"struct","value":"git_object","file":"types.h","line":96,"lineto":96,"block":"","tdef":"typedef","comments":"Representation of a generic object in a repository","used":{"returns":[],"needs":["git_branch_create","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",{"type":"struct","value":"git_odb","file":"types.h","line":78,"lineto":78,"block":"","tdef":"typedef","comments":"An open object database handle.","used":{"returns":[],"needs":["git_odb_add_alternate","git_odb_add_backend","git_odb_exists","git_odb_free","git_odb_new","git_odb_open","git_odb_open_rstream","git_odb_open_wstream","git_odb_read","git_odb_read_header","git_odb_read_prefix","git_odb_write","git_repository_odb","git_repository_set_odb"]}}],["git_odb_backend",{"type":"struct","value":"git_odb_backend","file":"types.h","line":81,"lineto":81,"block":"","tdef":"typedef","comments":"A custom backend in an ODB","used":{"returns":[],"needs":["git_odb_add_alternate","git_odb_add_backend"]}}],["git_odb_object",{"type":"struct","value":"git_odb_object","file":"types.h","line":84,"lineto":84,"block":"","tdef":"typedef","comments":"An object read from the ODB","used":{"returns":[],"needs":["git_odb_object_data","git_odb_object_free","git_odb_object_id","git_odb_object_size","git_odb_object_type","git_odb_read","git_odb_read_prefix"]}}],["git_odb_stream",{"type":"struct","value":"git_odb_stream","file":"types.h","line":87,"lineto":87,"block":"","tdef":"typedef","comments":"A stream to read/write from the ODB","used":{"returns":[],"needs":["git_odb_open_rstream","git_odb_open_wstream"]}}],["git_oid",{"type":"struct","value":"git_oid","file":"oid.h","line":33,"lineto":37,"block":"","tdef":"typedef","comments":"Unique identity of any object (commit, tree, blob, tag).","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_frombuffer","git_blob_create_fromdisk","git_blob_create_fromfile","git_blob_lookup","git_blob_lookup_prefix","git_branch_create","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_hash","git_odb_hashfile","git_odb_open_rstream","git_odb_read","git_odb_read_header","git_odb_read_prefix","git_odb_write","git_oid_allocfmt","git_oid_cmp","git_oid_cpy","git_oid_fmt","git_oid_fromraw","git_oid_fromstr","git_oid_fromstrn","git_oid_iszero","git_oid_ncmp","git_oid_pathfmt","git_oid_streq","git_oid_tostr","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",{"type":"struct","value":"git_oid_shorten","file":"oid.h","line":170,"lineto":170,"block":"","tdef":"typedef","comments":"OID Shortener object","used":{"returns":["git_oid_shorten_new"],"needs":["git_oid_shorten_add","git_oid_shorten_free"]}}],["git_otype",{"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","comments":"Basic type (loose or packed) of any Git object.","used":{"returns":[],"needs":["git_object__size","git_object_lookup","git_object_lookup_prefix","git_object_type2string","git_object_typeisloose","git_odb_hash","git_odb_hashfile","git_odb_open_wstream","git_odb_read_header","git_odb_write"]}}],["git_ref_t",{"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","comments":"Basic type of any Git reference.","used":{"returns":[],"needs":[]}}],["git_reference",{"type":"struct","value":"git_reference","file":"types.h","line":151,"lineto":151,"block":"","tdef":"typedef","comments":"In-memory representation of a reference.","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",{"type":"struct","value":"git_reflog","file":"types.h","line":132,"lineto":132,"block":"","tdef":"typedef","comments":"Representation of a reference log","used":{"returns":[],"needs":["git_reflog_entry_byindex","git_reflog_entrycount","git_reflog_free","git_reflog_read"]}}],["git_reflog_entry",{"type":"struct","value":"git_reflog_entry","file":"types.h","line":129,"lineto":129,"block":"","tdef":"typedef","comments":"Representation of a reference log entry","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",{"type":"struct","value":"git_remote_head","file":"net.h","line":37,"lineto":42,"block":"int local:1\ngit_oid oid\ngit_oid loid\nchar *name","tdef":null,"comments":"Remote head description, given out on `ls` calls.","used":{"returns":[],"needs":[]}}],["git_repository",{"type":"struct","value":"git_repository","file":"types.h","line":93,"lineto":93,"block":"","tdef":"typedef","comments":"Representation of an existing git repository,\nincluding all its object contents","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_attr_get_many","git_blob_create_frombuffer","git_blob_create_fromdisk","git_blob_create_fromfile","git_blob_lookup","git_blob_lookup_prefix","git_branch_create","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",{"type":"struct","value":"git_revwalk","file":"types.h","line":99,"lineto":99,"block":"","tdef":"typedef","comments":"Representation of an in-progress walk through the commits in a repo","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",{"type":"struct","value":"git_signature","file":"types.h","line":144,"lineto":148,"block":"char *name\nchar *email\ngit_time when","tdef":"typedef","comments":"An action signature (e.g. for committers, taggers, etc)","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_options",{"type":"struct","value":"git_status_options","file":"status.h","line":113,"lineto":117,"block":"git_status_show_t show\nunsigned int flags\ngit_strarray pathspec","tdef":"typedef","comments":"Options to control how callbacks will be made by\n`git_status_foreach_ext()`.","used":{"returns":[],"needs":["git_status_foreach_ext"]}}],["git_status_show_t",{"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","comments":"Select the files on which to report status.\n\n- GIT_STATUS_SHOW_INDEX_AND_WORKDIR is the default. This is the\n rough equivalent of `git status --porcelain` where each file\n will receive a callback indicating its status in the index and\n in the workdir.\n- GIT_STATUS_SHOW_INDEX_ONLY will only make callbacks for index\n side of status. The status of the index contents relative to\n the HEAD will be given.\n- GIT_STATUS_SHOW_WORKDIR_ONLY will only make callbacks for the\n workdir side of status, reporting the status of workdir content\n relative to the index.\n- GIT_STATUS_SHOW_INDEX_THEN_WORKDIR behaves like index-only\n followed by workdir-only, causing two callbacks to be issued\n per file (first index then workdir). This is slightly more\n efficient than making separate calls. This makes it easier to\n emulate the output of a plain `git status`.","used":{"returns":[],"needs":[]}}],["git_submodule",{"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","comments":"Description of submodule\n\nThis record describes a submodule found in a repository. There\nshould be an entry for every submodule found in the HEAD and for\nevery submodule described in .gitmodules. The fields are as follows:\n\n- `name` is the name of the submodule from .gitmodules.\n- `path` is the path to the submodule from the repo working directory.\n It is almost always the same as `name`.\n- `url` is the url for the submodule.\n- `oid` is the HEAD SHA1 for the submodule.\n- `update` is a value from above - see gitmodules(5) update.\n- `ignore` is a value from above - see gitmodules(5) ignore.\n- `fetch_recurse` is 0 or 1 - see gitmodules(5) fetchRecurseSubmodules.\n- `refcount` is for internal use.\n\nIf the submodule has been added to .gitmodules but not yet git added,\nthen the `oid` will be zero. If the submodule has been deleted, but\nthe delete has not been committed yet, then the `oid` will be set, but\nthe `url` will be NULL.","used":{"returns":[],"needs":["git_submodule_lookup"]}}],["git_tag",{"type":"struct","value":"git_tag","file":"types.h","line":102,"lineto":102,"block":"","tdef":"typedef","comments":"Parsed representation of a tag object.","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",{"type":"struct","value":"git_time","file":"types.h","line":138,"lineto":141,"block":"git_time_t time\nint offset","tdef":"typedef","comments":"Time in a signature","used":{"returns":[],"needs":[]}}],["git_tree",{"type":"struct","value":"git_tree","file":"types.h","line":114,"lineto":114,"block":"","tdef":"typedef","comments":"Representation of a tree object.","used":{"returns":[],"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_byindex","git_tree_entry_byname","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_create"]}}],["git_tree_entry",{"type":"struct","value":"git_tree_entry","file":"types.h","line":111,"lineto":111,"block":"","tdef":"typedef","comments":"Representation of each one of the entries in a tree object.","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_treebuilder",{"type":"struct","value":"git_treebuilder","file":"types.h","line":117,"lineto":117,"block":"","tdef":"typedef","comments":"Constructor for in-memory trees","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_cb",{"type":"function pointer","value":"git_treewalk_cb","file":"tree.h","line":286,"lineto":286,"comments":"Callback for the tree traversal method","used":{"returns":[],"needs":["git_tree_walk"]}}]],"prefix":"include/git2","groups":[["attr",["git_attr_add_macro","git_attr_cache_flush","git_attr_foreach","git_attr_get","git_attr_get_many"]],["blob",["git_blob_create_frombuffer","git_blob_create_fromdisk","git_blob_create_fromfile","git_blob_free","git_blob_lookup","git_blob_lookup_prefix","git_blob_rawcontent","git_blob_rawsize"]],["branch",["git_branch_create","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_find_global","git_config_find_system","git_config_foreach","git_config_free","git_config_get_bool","git_config_get_int32","git_config_get_int64","git_config_get_mapped","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_add","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__size","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_hash","git_odb_hashfile","git_odb_new","git_odb_object_data","git_odb_object_free","git_odb_object_id","git_odb_object_size","git_odb_object_type","git_odb_open","git_odb_open_rstream","git_odb_open_wstream","git_odb_read","git_odb_read_header","git_odb_read_prefix","git_odb_write"]],["oid",["git_oid_allocfmt","git_oid_cmp","git_oid_cpy","git_oid_fmt","git_oid_fromraw","git_oid_fromstr","git_oid_fromstrn","git_oid_iszero","git_oid_ncmp","git_oid_pathfmt","git_oid_shorten_add","git_oid_shorten_free","git_oid_shorten_new","git_oid_streq","git_oid_tostr"]],["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","git_refspec_transform"]],["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_discover","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":[["showindex.c","ex/v0.17.0/showindex.html"],["general.c","ex/v0.17.0/general.html"],["network/ls-remote.c","ex/v0.17.0/ls-remote.html"],["network/git2.c","ex/v0.17.0/git2.html"],["network/index-pack.c","ex/v0.17.0/index-pack.html"],["network/fetch.c","ex/v0.17.0/fetch.html"],["diff.c","ex/v0.17.0/diff.html"]]} \ No newline at end of file
+{"files":[{"file":"windows.h","functions":["gitwin_set_codepage","gitwin_get_codepage","gitwin_set_utf8"],"meta":{"brief":"Windows-specific functions","ingroup":"Git","comments":"\n"},"lines":58},{"file":"version.h","functions":[],"meta":{},"lines":15},{"file":"types.h","functions":[],"meta":{"brief":"libgit2 base & compatibility types","ingroup":"Git","comments":"\n"},"lines":177},{"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_tree_walk"],"meta":{"brief":"Git tree parsing, loading routines","defgroup":"git_tree Git tree parsing, loading routines","ingroup":"Git","comments":"\n"},"lines":317},{"file":"threads.h","functions":["git_threads_init","git_threads_shutdown"],"meta":{"brief":"Library level thread functions","defgroup":"git_thread Threading functions","ingroup":"Git","comments":"\n"},"lines":47},{"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":{"brief":"Git tag parsing routines","defgroup":"git_tag Git tag management","ingroup":"Git","comments":"\n"},"lines":297},{"file":"submodule.h","functions":["git_submodule_foreach","git_submodule_lookup"],"meta":{"brief":"Git submodule management utilities","defgroup":"git_submodule Git submodule management routines","ingroup":"Git","comments":"\n"},"lines":103},{"file":"stdint.h","functions":[],"meta":{},"lines":247},{"file":"status.h","functions":["git_status_foreach","git_status_foreach_ext","git_status_file","git_status_should_ignore"],"meta":{"brief":"Git file status routines","defgroup":"git_status Git file status routines","ingroup":"Git","comments":"\n"},"lines":164},{"file":"signature.h","functions":["git_signature_new","git_signature_now","git_signature_dup","git_signature_free"],"meta":{"brief":"Git signature creation","defgroup":"git_signature Git signature creation","ingroup":"Git","comments":"\n"},"lines":65},{"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":{"brief":"Git revision traversal routines","defgroup":"git_revwalk Git revision traversal routines","ingroup":"Git","comments":"\n"},"lines":237},{"file":"repository.h","functions":["git_repository_open","git_repository_discover","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":{"brief":"Git repository management routines","defgroup":"git_repository Git repository management routines","ingroup":"Git","comments":"\n"},"lines":304},{"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":{"brief":"Git remote management functions","defgroup":"git_remote remote management functions","ingroup":"Git","comments":"\n"},"lines":234},{"file":"refspec.h","functions":["git_refspec_src","git_refspec_dst","git_refspec_src_matches","git_refspec_transform"],"meta":{"brief":"Git refspec attributes","defgroup":"git_refspec Git refspec attributes","ingroup":"Git","comments":"\n"},"lines":60},{"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":{"brief":"Git reference management routines","defgroup":"git_reference Git reference management routines","ingroup":"Git","comments":"\n"},"lines":329},{"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":{"brief":"Git reflog management routines","defgroup":"git_reflog Git reflog management routines","ingroup":"Git","comments":"\n"},"lines":128},{"file":"oid.h","functions":["git_oid_fromstr","git_oid_fromstrn","git_oid_fromraw","git_oid_fmt","git_oid_pathfmt","git_oid_allocfmt","git_oid_tostr","git_oid_cpy","git_oid_cmp","git_oid_ncmp","git_oid_streq","git_oid_iszero","git_oid_shorten_new","git_oid_shorten_add","git_oid_shorten_free"],"meta":{"brief":"Git object id routines","defgroup":"git_oid Git object id routines","ingroup":"Git","comments":"\n"},"lines":223},{"file":"odb_backend.h","functions":[],"meta":{"brief":"Git custom backend functions","defgroup":"git_backend Git custom backend API","ingroup":"Git","comments":"\n"},"lines":100},{"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_read_header","git_odb_exists","git_odb_write","git_odb_open_wstream","git_odb_open_rstream","git_odb_hash","git_odb_hashfile","git_odb_object_free","git_odb_object_id","git_odb_object_data","git_odb_object_size","git_odb_object_type"],"meta":{"brief":"Git object database routines","defgroup":"git_odb Git object database routines","ingroup":"Git","comments":"\n"},"lines":331},{"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","git_object__size"],"meta":{"brief":"Git revision object management routines","defgroup":"git_object Git revision object management routines","ingroup":"Git","comments":"\n"},"lines":173},{"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":{"brief":"Git notes management routines","defgroup":"git_note Git notes management routines","ingroup":"Git","comments":"\n"},"lines":139},{"file":"net.h","functions":[],"meta":{"brief":"Git networking declarations","ingroup":"Git","comments":"\n"},"lines":51},{"file":"merge.h","functions":["git_merge_base"],"meta":{"brief":"Git merge-base routines","defgroup":"git_revwalk Git merge-base routines","ingroup":"Git","comments":"\n"},"lines":35},{"file":"inttypes.h","functions":[],"meta":{},"lines":305},{"file":"indexer.h","functions":["git_indexer_stream_new","git_indexer_stream_add","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":121},{"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":{"brief":"Git index parsing and manipulation routines","defgroup":"git_index Git index parsing and manipulation routines","ingroup":"Git","comments":"\n"},"lines":321},{"file":"errors.h","functions":["giterr_last","giterr_clear"],"meta":{"brief":"Git error handling routines and variables","ingroup":"Git","comments":"\n"},"lines":108},{"file":"diff.h","functions":["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":{"brief":"Git tree and file differencing routines.","ingroup":"Git","comments":"\n"},"lines":361},{"file":"config.h","functions":["git_config_find_global","git_config_find_system","git_config_open_global","git_config_file__ondisk","git_config_new","git_config_add_file","git_config_add_file_ondisk","git_config_open_ondisk","git_config_free","git_config_get_int32","git_config_get_int64","git_config_get_bool","git_config_get_string","git_config_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","git_config_get_mapped"],"meta":{"brief":"Git config management routines","defgroup":"git_config Git config management routines","ingroup":"Git","comments":"\n"},"lines":356},{"file":"common.h","functions":["git_libgit2_version"],"meta":{"brief":"Git common platform definitions","defgroup":"git_common Git common platform definitions","ingroup":"Git","comments":"\n"},"lines":104},{"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":{"brief":"Git commit parsing, formatting routines","defgroup":"git_commit Git commit parsing, formatting routines","ingroup":"Git","comments":"\n"},"lines":270},{"file":"branch.h","functions":["git_branch_create","git_branch_delete","git_branch_list","git_branch_move"],"meta":{"brief":"Git branch parsing routines","defgroup":"git_branch Git branch management","ingroup":"Git","comments":"\n"},"lines":122},{"file":"blob.h","functions":["git_blob_lookup","git_blob_lookup_prefix","git_blob_free","git_blob_rawcontent","git_blob_rawsize","git_blob_create_fromfile","git_blob_create_fromdisk","git_blob_create_frombuffer"],"meta":{"brief":"Git blob load and write routines","defgroup":"git_blob Git blob load and write routines","ingroup":"Git","comments":"\n"},"lines":132},{"file":"attr.h","functions":["git_attr_get","git_attr_get_many","git_attr_foreach","git_attr_cache_flush","git_attr_add_macro"],"meta":{"brief":"Git attribute management routines","defgroup":"git_attr Git attribute management routines","ingroup":"Git","comments":"\n"},"lines":223}],"functions":{"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"},"description":"Set the active codepage for Windows syscalls","comments":"All syscalls performed by the library will assume\nthis codepage when converting paths and strings\nto use by the Windows kernel.\n\nThe default value of UTF-8 will work automatically\nwith most Git repositories created on Unix systems.\n\nThis settings needs only be changed when working\nwith repositories that contain paths in specific,\nnon-UTF codepages.\n\nA full list of all available codepage identifiers may\nbe found at:\n\nhttp://msdn.microsoft.com/en-us/library/windows/desktop/dd317756(v=vs.85).aspx\n","group":"gitwin"},"gitwin_get_codepage":{"type":"function","file":"windows.h","line":48,"lineto":48,"args":[],"argline":"void","sig":"","return":{"type":"unsigned int","comment":"numeric codepage identifier"},"description":"Return the active codepage for Windows syscalls","comments":"","group":"gitwin"},"gitwin_set_utf8":{"type":"function","file":"windows.h","line":54,"lineto":54,"args":[],"argline":"void","sig":"","return":{"type":"void"},"description":"Set the active Windows codepage to UTF-8 (this is\nthe default value)","comments":"","group":"gitwin"},"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":"Lookup a tree object from the repository.","comments":"","group":"tree","examples":{"general.c":["ex/v0.17.0/general.html#git_tree_lookup-1","ex/v0.17.0/general.html#git_tree_lookup-2"]}},"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":"Lookup a tree object from the repository,\ngiven a prefix of its identifier (short id).","comments":"@see git_object_lookup_prefix\n","group":"tree"},"git_tree_free":{"type":"function","file":"tree.h","line":65,"lineto":68,"args":[{"name":"tree","type":"git_tree *","comment":"the tree to close"}],"argline":"git_tree *tree","sig":"git_tree *","return":{"type":"void"},"description":"Close an open tree","comments":"This is a wrapper around git_object_free()\n\nIMPORTANT:\nIt *is* necessary to call this method when you stop\nusing a tree. Failure to do so will cause a memory leak.\n","group":"tree","examples":{"diff.c":["ex/v0.17.0/diff.html#git_tree_free-1","ex/v0.17.0/diff.html#git_tree_free-2"]}},"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":"Get the id of a tree.","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":"Get the number of entries listed in a tree","comments":"","group":"tree","examples":{"general.c":["ex/v0.17.0/general.html#git_tree_entrycount-3"]}},"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":"Lookup a tree entry by its filename","comments":"","group":"tree","examples":{"general.c":["ex/v0.17.0/general.html#git_tree_entry_byname-4"]}},"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":"Lookup a tree entry by its position in the tree","comments":"","group":"tree","examples":{"general.c":["ex/v0.17.0/general.html#git_tree_entry_byindex-5"]}},"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":"Get the UNIX file attributes of a tree entry","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":"Get the filename of a tree entry","comments":"","group":"tree","examples":{"general.c":["ex/v0.17.0/general.html#git_tree_entry_name-6","ex/v0.17.0/general.html#git_tree_entry_name-7"]}},"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":"Get the id of the object pointed by the entry","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":"Get the type of the object pointed by the entry","comments":"","group":"tree"},"git_tree_entry_to_object":{"type":"function","file":"tree.h","line":146,"lineto":146,"args":[{"name":"object_out","type":"git_object **"},{"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":"Convert a tree entry to the git_object it points too.","comments":"","group":"tree","examples":{"general.c":["ex/v0.17.0/general.html#git_tree_entry_to_object-8"]}},"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":"Write a tree to the ODB from the index file","comments":"This method will scan the index and write a representation\nof its current state back to disk; it recursively creates\ntree objects for each of the subtrees stored in the index,\nbut only returns the OID of the root tree. This is the OID\nthat can be used e.g. to create a commit.\n\nThe index instance cannot be bare, and needs to be associated\nto an existing repository.\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":"Create a new tree builder.","comments":"The tree builder can be used to create or modify\ntrees in memory and write them as tree objects to the\ndatabase.\n\nIf the `source` parameter is not NULL, the tree builder\nwill be initialized with the entries of the given tree.\n\nIf the `source` parameter is NULL, the tree builder will\nhave no entries and will have to be filled manually.\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"},"description":"Clear all the entires in the builder","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"},"description":"Free a tree builder","comments":"This will clear all the entries and free to builder.\nFailing to free the builder after you're done using it\nwill result in a memory leak\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":"Get an entry from the builder from its filename","comments":"The returned entry is owned by the builder and should\nnot be freed manually.\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":"Add or update an entry to the builder","comments":"Insert a new entry for `filename` in the builder with the\ngiven attributes.\n\nif an entry named `filename` already exists, its attributes\nwill be updated with the given ones.\n\nThe optional pointer `entry_out` can be used to retrieve a\npointer to the newly created/updated entry.\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"},"description":"Remove an entry from the builder by its filename","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 *"}],"argline":"git_treebuilder *bld, int (*filter)(const git_tree_entry *, void *), void *payload","sig":"git_treebuilder *::int (*)(const git_tree_entry *, void *)::void *","return":{"type":"void"},"description":"Filter the entries in the tree","comments":"The `filter` callback will be called for each entry\nin the tree with a pointer to the entry and the\nprovided `payload`: if the callback returns 1, the\nentry will be filtered (removed from the builder).\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":"Write the contents of the tree builder as a tree object","comments":"The tree builder will be written to the given `repo`, and\nit's identifying SHA1 hash will be stored in the `oid`\npointer.\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":"Retrieve a subtree contained in a tree, given its\nrelative path.","comments":"The returned tree is owned by the repository and\nshould be closed with the `git_object_free` method.\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":"Traverse the entries in a tree and its subtrees in\npost or pre order","comments":"The entries will be traversed in the specified order,\nchildren subtrees will be automatically loaded as required,\nand the `callback` will be called once per entry with\nthe current (relative) root for the entry and the entry\ndata itself.\n\nIf the callback returns a negative value, the passed entry\nwill be skiped on the traversal.\n","group":"tree"},"git_threads_init":{"type":"function","file":"threads.h","line":31,"lineto":31,"args":[],"argline":"void","sig":"","return":{"type":"void"},"description":"Init the threading system.","comments":"If libgit2 has been built with GIT_THREADS\non, this function must be called once before\nany other library functions.\n\nIf libgit2 has been built without GIT_THREADS\nsupport, this function is a no-op.","group":"threads"},"git_threads_shutdown":{"type":"function","file":"threads.h","line":43,"lineto":43,"args":[],"argline":"void","sig":"","return":{"type":"void"},"description":"Shutdown the threading system.","comments":"If libgit2 has been built with GIT_THREADS\non, this function must be called before shutting\ndown the library.\n\nIf libgit2 has been built without GIT_THREADS\nsupport, this function is a no-op.","group":"threads"},"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":"Lookup a tag object from the repository.","comments":"","group":"tag","examples":{"general.c":["ex/v0.17.0/general.html#git_tag_lookup-9"]}},"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":"Lookup a tag object from the repository,\ngiven a prefix of its identifier (short id).","comments":"@see git_object_lookup_prefix\n","group":"tag"},"git_tag_free":{"type":"function","file":"tag.h","line":65,"lineto":68,"args":[{"name":"tag","type":"git_tag *","comment":"the tag to close"}],"argline":"git_tag *tag","sig":"git_tag *","return":{"type":"void"},"description":"Close an open tag","comments":"This is a wrapper around git_object_free()\n\nIMPORTANT:\nIt *is* necessary to call this method when you stop\nusing a tag. Failure to do so will cause a memory leak.\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":"Get the id of a tag.","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":"Get the tagged object of a tag","comments":"This method performs a repository lookup for the\ngiven object and returns it\n","group":"tag","examples":{"general.c":["ex/v0.17.0/general.html#git_tag_target-10"]}},"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":"Get the OID of the tagged object of a tag","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":"Get the type of a tag's tagged object","comments":"","group":"tag","examples":{"general.c":["ex/v0.17.0/general.html#git_tag_type-11"]}},"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":"Get the name of a tag","comments":"","group":"tag","examples":{"general.c":["ex/v0.17.0/general.html#git_tag_name-12"]}},"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":"Get the tagger (author) of a tag","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":"Get the message of a tag","comments":"","group":"tag","examples":{"general.c":["ex/v0.17.0/general.html#git_tag_message-13"]}},"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 newly created tag. If the tag already exists, this parameter will be the oid of the existing tag, and the function will 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 for consistency. It should also not conflict with an already existing tag name"},{"name":"target","type":"const git_object *","comment":"Object to which this tag points. This object must belong to the given `repo`."},{"name":"tagger","type":"const git_signature *","comment":"Signature of the tagger for this tag, and 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,\n\t\tgit_repository *repo,\n\t\tconst char *tag_name,\n\t\tconst git_object *target,\n\t\tconst git_signature *tagger,\n\t\tconst char *message,\n\t\tint 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 A tag object is written to the ODB, and a proper reference is written in the /refs/tags folder, pointing to it"},"description":"Create a new tag in the repository from an object","comments":"A new reference will also be created pointing to\nthis tag object. If `force` is true and a reference\nalready exists with the given name, it'll be replaced.\n\nThe message will be cleaned up from excess whitespace\nit will be made sure that the last line ends with a '\\n'.\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,\n\t\tgit_repository *repo,\n\t\tconst char *buffer,\n\t\tint force","sig":"git_oid *::git_repository *::const char *::int","return":{"type":"int","comment":"0 on sucess; error code otherwise"},"description":"Create a new tag in the repository from a buffer","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 target object. If the tag already exists, this parameter will be filled with the oid of the existing pointed object 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 for consistency. It should also not conflict with an already existing tag name"},{"name":"target","type":"const git_object *","comment":"Object to which this tag points. This object must belong to the given `repo`."},{"name":"force","type":"int","comment":"Overwrite existing references"}],"argline":"git_oid *oid,\n\t\tgit_repository *repo,\n\t\tconst char *tag_name,\n\t\tconst git_object *target,\n\t\tint force","sig":"git_oid *::git_repository *::const char *::const git_object *::int","return":{"type":"int","comment":"0 or an error code A proper reference is written in the /refs/tags folder, pointing to the provided target object"},"description":"Create a new lightweight tag pointing at a target object","comments":"A new direct reference will be created pointing to\nthis target object. If `force` is true and a reference\nalready exists with the given name, it'll be replaced.\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; this name is validated for consistency."}],"argline":"git_repository *repo,\n\t\tconst char *tag_name","sig":"git_repository *::const char *","return":{"type":"int","comment":"0 or an error code"},"description":"Delete an existing tag reference.","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 the tag names will be stored"},{"name":"repo","type":"git_repository *","comment":"Repository where to find the tags"}],"argline":"git_strarray *tag_names,\n\t\tgit_repository *repo","sig":"git_strarray *::git_repository *","return":{"type":"int","comment":"0 or an error code"},"description":"Fill a list with all the tags in the Repository","comments":"The string array will be filled with the names of the\nmatching tags; these values are owned by the user and\nshould be free'd manually when no longer needed, using\n`git_strarray_free`.\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 the 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,\n\t\tconst char *pattern,\n\t\tgit_repository *repo","sig":"git_strarray *::const char *::git_repository *","return":{"type":"int","comment":"0 or an error code"},"description":"Fill a list with all the tags in the Repository\nwhich name match a defined pattern","comments":"If an empty pattern is provided, all the tags\nwill be returned.\n\nThe string array will be filled with the names of the\nmatching tags; these values are owned by the user and\nshould be free'd manually when no longer needed, using\n`git_strarray_free`.\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":"_target Pointer to the peeled git_object"}],"argline":"git_object **tag_target,\n\t\tgit_tag *tag","sig":"git_object **::git_tag *","return":{"type":"int","comment":"0 or an error code"},"description":"Recursively peel a tag until a non tag git_object\nis met","comments":"The retrieved `tag_target` object is owned by the repository\nand should be closed with the `git_object_free` method.\n","group":"tag"},"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 *name, void *payload)","comment":"Function to be called with the name of each submodule. Return a non-zero value to terminate the iteration."},{"name":"payload","type":"void *","comment":"Extra data to pass to callback"}],"argline":"git_repository *repo,\n\tint (*callback)(const char *name, void *payload),\n\tvoid *payload","sig":"git_repository *::int (*)(const char *name, void *payload)::void *","return":{"type":"int","comment":"0 on success, -1 on error, or non-zero return value of callback"},"description":"Iterate over all submodules of a repository.","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,\n\tgit_repository *repo,\n\tconst 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":"Lookup submodule information by name or path.","comments":"Given either the submodule name or path (they are ususally the same),\nthis returns a structure describing the submodule. If the submodule\ndoes not exist, this will return GIT_ENOTFOUND and set the submodule\npointer to NULL.\n","group":"submodule"},"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 *"}],"argline":"git_repository *repo,\n\tint (*callback)(const char *, unsigned int, void *),\n\tvoid *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":"Gather file statuses and run a callback for each one.","comments":"The callback is passed the path of the file, the status and the data\npointer passed to this function. If the callback returns something other\nthan 0, this function will return that value.\n","group":"status"},"git_status_foreach_ext":{"type":"function","file":"status.h","line":122,"lineto":126,"args":[{"name":"repo","type":"git_repository *"},{"name":"opts","type":"const git_status_options *"},{"name":"callback","type":"int (*)(const char *, unsigned int, void *)"},{"name":"payload","type":"void *"}],"argline":"git_repository *repo,\n\tconst git_status_options *opts,\n\tint (*callback)(const char *, unsigned int, void *),\n\tvoid *payload","sig":"git_repository *::const git_status_options *::int (*)(const char *, unsigned int, void *)::void *","return":{"type":"int"},"description":"Gather file status information and run callbacks as requested.","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,\n\tgit_repository *repo,\n\tconst char *path","sig":"unsigned int *::git_repository *::const char *","return":{"type":"int","comment":"GIT_EINVALIDPATH when `path` points at a folder, GIT_ENOTFOUND when the file doesn't exist in any of HEAD, the index or the worktree, 0 otherwise"},"description":"Get file status for a single file","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,\n\tgit_repository *repo,\n\tconst char *path","sig":"int *::git_repository *::const char *","return":{"type":"int","comment":"0 if ignore rules could be processed for the file (regardless of whether it exists or not), or an error < 0 if they could not."},"description":"Test if the ignore rules apply to a given file.","comments":"This function simply checks the ignore rules to see if they would apply\nto the given file. Unlike git_status_file(), this indicates if the file\nwould be ignored regardless of whether the file is already in the index\nor in the repository.\n","group":"status"},"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":"Create a new action signature. The signature must be freed\nmanually or using git_signature_free","comments":"","group":"signature","examples":{"general.c":["ex/v0.17.0/general.html#git_signature_new-14","ex/v0.17.0/general.html#git_signature_new-15"]}},"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":"Create a new action signature with a timestamp of 'now'. The\nsignature must be freed manually or using git_signature_free","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":"Create a copy of an existing signature.","comments":"All internal strings are also duplicated.","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"},"description":"Free an existing signature","comments":"","group":"signature"},"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":"Allocate a new revision walker to iterate through a repo.","comments":"This revision walker uses a custom memory pool and an internal\ncommit cache, so it is relatively expensive to allocate.\n\nFor maximum performance, this revision walker should be\nreused for different walks.\n\nThis revision walker is *not* thread safe: it may only be\nused to walk a repository on a single thread; however,\nit is possible to have several revision walkers in\nseveral different threads walking the same repository.\n","group":"revwalk","examples":{"general.c":["ex/v0.17.0/general.html#git_revwalk_new-16"]}},"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"},"description":"Reset the revision walker for reuse.","comments":"This will clear all the pushed and hidden commits, and\nleave the walker in a blank state (just like at\ncreation) ready to receive new commit pushes and\nstart a new walk.\n\nThe revision walk is automatically reset when a walk\nis over.\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":"Mark a commit to start traversal from.","comments":"The given OID must belong to a commit on the walked\nrepository.\n\nThe given commit will be used as one of the roots\nwhen starting the revision walk. At least one commit\nmust be pushed the repository before a walk can\nbe started.\n","group":"revwalk","examples":{"general.c":["ex/v0.17.0/general.html#git_revwalk_push-17"]}},"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":"Push matching references","comments":"The OIDs pinted to by the references that match the given glob\npattern will be pushed to the revision walker.\n\nA leading 'refs/' is implied it not present as well as a trailing\n'/ *' if the glob lacks '?', '*' or '['.\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":"Push the repository's HEAD","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":"Mark a commit (and its ancestors) uninteresting for the output.","comments":"The given OID must belong to a commit on the walked\nrepository.\n\nThe resolved commit and all its parents will be hidden from the\noutput on the revision walk.\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":"Hide matching references.","comments":"The OIDs pinted to by the references that match the given glob\npattern and their ancestors will be hidden from the output on the\nrevision walk.\n\nA leading 'refs/' is implied it not present as well as a trailing\n'/ *' if the glob lacks '?', '*' or '['.\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":"Hide the repository's HEAD","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":"Push the OID pointed to by a reference","comments":"The reference must point to a commit.\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":"Hide the OID pointed to by a reference","comments":"The reference must point to a commit.\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; GIT_REVWALKOVER if there are no commits left to iterate"},"description":"Get the next commit from the revision walk.","comments":"The initial call to this method is *not* blocking when\niterating through a repo with a time-sorting mode.\n\nIterating with Topological or inverted modes makes the initial\ncall blocking to preprocess the commit list, but this block should be\nmostly unnoticeable on most repositories (topological preprocessing\ntimes at 0.3s on the git.git repo).\n\nThe revision walker is reset when the walk is over.\n","group":"revwalk","examples":{"general.c":["ex/v0.17.0/general.html#git_revwalk_next-18"]}},"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"},"description":"Change the sorting mode when iterating through the\nrepository's contents.","comments":"Changing the sorting mode resets the walker.\n","group":"revwalk","examples":{"general.c":["ex/v0.17.0/general.html#git_revwalk_sorting-19"]}},"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"},"description":"Free a revision walker previously allocated.","comments":"","group":"revwalk","examples":{"general.c":["ex/v0.17.0/general.html#git_revwalk_free-20"]}},"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":"Return the repository on which this walker\nis operating.","comments":"","group":"revwalk"},"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":"Open a git repository.","comments":"The 'path' argument must point to either a git repository\nfolder, or an existing work dir.\n\nThe method will automatically detect if 'path' is a normal\nor bare repository or fail is 'path' is neither.\n","group":"repository","examples":{"showindex.c":["ex/v0.17.0/showindex.html#git_repository_open-1"],"network/git2.c":["ex/v0.17.0/git2.html#git_repository_open-1"],"general.c":["ex/v0.17.0/general.html#git_repository_open-21","ex/v0.17.0/general.html#git_repository_open-22"],"diff.c":["ex/v0.17.0/diff.html#git_repository_open-3"]}},"git_repository_discover":{"type":"function","file":"repository.h","line":66,"lineto":76,"args":[{"name":"repository_path","type":"char *","comment":"The user allocated buffer which will contain the found path."},{"name":"size","type":"size_t","comment":"repository_path size"},{"name":"start_path","type":"const char *","comment":"The base path where the lookup starts."},{"name":"across_fs","type":"int","comment":"If true, then the lookup will not stop when a filesystem device change is detected while exploring parent directories."},{"name":"ceiling_dirs","type":"const char *","comment":"A GIT_PATH_LIST_SEPARATOR separated list of absolute symbolic link free paths. The lookup will stop when any of this paths is reached. Note that the lookup always performs on start_path no matter start_path appears in ceiling_dirs ceiling_dirs might be NULL (which is equivalent to an empty string)"}],"argline":"char *repository_path,\n\t\tsize_t size,\n\t\tconst char *start_path,\n\t\tint across_fs,\n\t\tconst char *ceiling_dirs","sig":"char *::size_t::const char *::int::const char *","return":{"type":"int","comment":"0 or an error code"},"description":"Look for a git repository and copy its path in the given buffer.\nThe lookup start from base_path and walk across parent directories\nif nothing has been found. The lookup ends when the first repository\nis found, or when reaching a directory referenced in ceiling_dirs\nor when the filesystem changes (in case across_fs is true).","comments":"The method will automatically detect if the repository is bare\n(if there is a repository).\n","group":"repository","examples":{"diff.c":["ex/v0.17.0/diff.html#git_repository_discover-4"]}},"git_repository_open_ext":{"type":"function","file":"repository.h","line":81,"lineto":85,"args":[{"name":"repo","type":"git_repository **"},{"name":"start_path","type":"const char *"},{"name":"flags","type":"uint32_t"},{"name":"ceiling_dirs","type":"const char *"}],"argline":"git_repository **repo,\n\tconst char *start_path,\n\tuint32_t flags,\n\tconst char *ceiling_dirs","sig":"git_repository **::const char *::uint32_t::const char *","return":{"type":"int"},"description":"Find and open a repository with extended controls.","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"},"description":"Free a previously allocated repository","comments":"Note that after a repository is free'd, all the objects it has spawned\nwill still exist until they are manually closed by the user\nwith `git_object_free`, but accessing any of the attributes of\nan object without a backing repository will result in undefined\nbehavior\n","group":"repository","examples":{"showindex.c":["ex/v0.17.0/showindex.html#git_repository_free-2"],"network/git2.c":["ex/v0.17.0/git2.html#git_repository_free-2"],"general.c":["ex/v0.17.0/general.html#git_repository_free-23"],"diff.c":["ex/v0.17.0/diff.html#git_repository_free-5"]}},"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","comment":"if true, a Git repository without a working directory is created at the pointed path. If false, provided path will be considered as the working directory into which the .git directory will be created."}],"argline":"git_repository **repo_out, const char *path, unsigned is_bare","sig":"git_repository **::const char *::unsigned","return":{"type":"int","comment":"0 or an error code"},"description":"Creates a new Git repository in the given folder.","comments":"TODO:\n- Reinit the repository\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":"Retrieve and resolve the reference pointed at by HEAD.","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 was an error."},"description":"Check if a repository's HEAD is detached","comments":"A repository's HEAD is detached when it points directly to a commit\ninstead of a branch.\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 code if therewas an error"},"description":"Check if the current branch is an orphan","comments":"An orphan branch is one named from HEAD but which doesn't exist in\nthe refs namespace, because it doesn't have any commit to point to.\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 if the repository is corrupted"},"description":"Check if a repository is empty","comments":"An empty repository has just been initialized and contains\nno commits.\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":"Get the path of this repository","comments":"This is the path of the `.git` folder for normal repositories,\nor of the repository itself for bare repositories.\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":"Get the path of the working directory for this repository","comments":"If the repository is bare, this function will always return\nNULL.\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":"Set the path to the working directory for this repository","comments":"The working directory doesn't need to be the same one\nthat contains the `.git` folder for this repository.\n\nIf this repository is bare, setting its working directory\nwill turn it into a normal repository, capable of performing\nall the common workdir operations (checkout, status, index\nmanipulation, etc).\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":"Check if a repository is bare","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":"Get the configuration file for this repository.","comments":"If a configuration file has not been set, the default\nconfig set for the repository will be returned, including\nglobal and system configurations (if they are available).\n\nThe configuration file must be freed once it's no longer\nbeing used by the user.\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"},"description":"Set the configuration file for this repository","comments":"This configuration file will be used for all configuration\nqueries involving this repository.\n\nThe repository will keep a reference to the config file;\nthe user must still free the config after setting it\nto the repository, or it will leak.\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":"Get the Object Database for this repository.","comments":"If a custom ODB has not been set, the default\ndatabase for the repository will be returned (the one\nlocated in `.git/objects`).\n\nThe ODB must be freed once it's no longer being used by\nthe user.\n","group":"repository","examples":{"general.c":["ex/v0.17.0/general.html#git_repository_odb-24"]}},"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"},"description":"Set the Object Database for this repository","comments":"The ODB will be used for all object-related operations\ninvolving this repository.\n\nThe repository will keep a reference to the ODB; the user\nmust still free the ODB object after setting it to the\nrepository, or it will leak.\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":"Get the Index file for this repository.","comments":"If a custom index has not been set, the default\nindex for the repository will be returned (the one\nlocated in `.git/index`).\n\nThe index must be freed once it's no longer being used by\nthe user.\n","group":"repository","examples":{"showindex.c":["ex/v0.17.0/showindex.html#git_repository_index-3"],"general.c":["ex/v0.17.0/general.html#git_repository_index-25"]}},"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"},"description":"Set the index file for this repository","comments":"This index will be used for all index-related operations\ninvolving this repository.\n\nThe repository will keep a reference to the index file;\nthe user must still free the index after setting it\nto the repository, or it will leak.\n","group":"repository"},"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":"Create a remote in memory","comments":"Create a remote with the default refspecs in memory. You can use\nthis when you have a URL instead of a remote's name.\n","group":"remote","examples":{"network/ls-remote.c":["ex/v0.17.0/ls-remote.html#git_remote_new-1"],"network/fetch.c":["ex/v0.17.0/fetch.html#git_remote_new-1"]}},"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 *"},{"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":"Get the information for a particular remote","comments":"","group":"remote","examples":{"network/ls-remote.c":["ex/v0.17.0/ls-remote.html#git_remote_load-2"],"network/fetch.c":["ex/v0.17.0/fetch.html#git_remote_load-2"]}},"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":"Save a remote to its repository's configuration","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":"Get the remote's name","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":"Get the remote's url","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 @apram spec the new fetch refspec"},{"name":"spec","type":"const char *"}],"argline":"git_remote *remote, const char *spec","sig":"git_remote *::const char *","return":{"type":"int","comment":"0 or an error value"},"description":"Set the remote's fetch refspec","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":"Get the fetch refspec","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 @apram spec the new push refspec"},{"name":"spec","type":"const char *"}],"argline":"git_remote *remote, const char *spec","sig":"git_remote *::const char *","return":{"type":"int","comment":"0 or an error value"},"description":"Set the remote's push refspec","comments":"","group":"remote"},"git_remote_pushspec":{"type":"function","file":"remote.h","line":114,"lineto":114,"args":[{"name":"remote","type":"git_remote *","comment":"the remote"}],"argline":"git_remote *remote","sig":"git_remote *","return":{"type":"const git_refspec *","comment":"a pointer to the push refspec or NULL if it doesn't exist"},"description":"Get the push refspec","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":"Open a connection to a remote","comments":"The transport is selected based on the URL. The direction argument\nis due to a limitation of the git protocol (over TCP or SSH) which\nstarts up a specific binary which can only do the one or the other.\n","group":"remote","examples":{"network/ls-remote.c":["ex/v0.17.0/ls-remote.html#git_remote_connect-3","ex/v0.17.0/ls-remote.html#git_remote_connect-4"],"network/fetch.c":["ex/v0.17.0/fetch.html#git_remote_connect-3"]}},"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"},{"name":"payload","type":"void *"}],"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":"Get a list of refs at the remote","comments":"The remote (or more exactly its transport) must be connected. The\nmemory belongs to the remote.\n","group":"remote","examples":{"network/ls-remote.c":["ex/v0.17.0/ls-remote.html#git_remote_ls-5","ex/v0.17.0/ls-remote.html#git_remote_ls-6","ex/v0.17.0/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 *"},{"name":"stats","type":"git_indexer_stats *"}],"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":"Download the packfile","comments":"Negotiate what objects should be downloaded and download the\npackfile with those objects. The packfile is downloaded with a\ntemporary filename, as it's final name is not known yet. If there\nwas no packfile needed (all the objects were available locally),\nfilename will be NULL and the function will return success.\n","group":"remote","examples":{"network/fetch.c":["ex/v0.17.0/fetch.html#git_remote_download-4"]}},"git_remote_connected":{"type":"function","file":"remote.h","line":165,"lineto":165,"args":[{"name":"remote","type":"git_remote *"}],"argline":"git_remote *remote","sig":"git_remote *","return":{"type":"int","comment":"1 if it's connected, 0 otherwise."},"description":"Check whether the remote is connected","comments":"Check whether the remote's underlying transport is connected to the\nremote host.\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"},"description":"Disconnect from the remote","comments":"Close the connection to the remote and free the underlying\ntransport.\n","group":"remote","examples":{"network/fetch.c":["ex/v0.17.0/fetch.html#git_remote_disconnect-5"]}},"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"},"description":"Free the memory associated with a remote","comments":"This also disconnects from the remote, if the connection\nhas not been closed yet (using git_remote_disconnect).\n","group":"remote","examples":{"network/ls-remote.c":["ex/v0.17.0/ls-remote.html#git_remote_free-8","ex/v0.17.0/ls-remote.html#git_remote_free-9"],"network/fetch.c":["ex/v0.17.0/fetch.html#git_remote_free-6","ex/v0.17.0/fetch.html#git_remote_free-7"]}},"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 *refname, const git_oid *a, const git_oid *b)","comment":"callback to run on each ref update. 'a' is the old value, 'b' is then new value"}],"argline":"git_remote *remote, int (*cb)(const char *refname, const git_oid *a, const git_oid *b)","sig":"git_remote *::int (*)(const char *refname, const git_oid *a, const git_oid *b)","return":{"type":"int"},"description":"Update the tips to the new state","comments":"","group":"remote","examples":{"network/fetch.c":["ex/v0.17.0/fetch.html#git_remote_update_tips-8"]}},"git_remote_valid_url":{"type":"function","file":"remote.h","line":201,"lineto":201,"args":[{"name":"url","type":"const char *"}],"argline":"const char *url","sig":"const char *","return":{"type":"int"},"description":"Return whether a string is a valid remote URL","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":"Return whether the passed URL is supported by this version of the library.","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":"Get a list of the configured remotes for a repo","comments":"The string array must be freed by the user.\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"},"description":"Add a remote with the default fetch refspec to the repository's configuration","comments":"","group":"remote"},"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":"Get the source specifier","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":"Get the destination specifier","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":"Check if a refspec's source descriptor matches a reference","comments":"","group":"refspec"},"git_refspec_transform":{"type":"function","file":"refspec.h","line":56,"lineto":60,"args":[{"name":"out","type":"char *","comment":"where to store the target name"},{"name":"outlen","type":"size_t","comment":"the size ouf the `out` buffer"},{"name":"spec","type":"const git_refspec *","comment":"the refspec"},{"name":"name","type":"const char *","comment":"the name of the reference to transform"}],"argline":"char *out, size_t outlen, const git_refspec *spec, const char *name","sig":"char *::size_t::const git_refspec *::const char *","return":{"type":"int","comment":"0, GIT_EBUFS or another error"},"description":"Transform a reference to its target following the refspec's rules","comments":"","group":"refspec"},"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":"Lookup a reference by its name in a repository.","comments":"The generated reference must be freed by the user.\n","group":"reference","examples":{"general.c":["ex/v0.17.0/general.html#git_reference_lookup-26"],"diff.c":["ex/v0.17.0/diff.html#git_reference_lookup-6"]}},"git_reference_name_to_oid":{"type":"function","file":"refs.h","line":43,"lineto":44,"args":[{"name":"out","type":"git_oid *"},{"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":"Lookup a reference by name and resolve immediately to OID.","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":"Create a new symbolic reference.","comments":"The reference will be created in the repository and written\nto the disk.\n\nThe generated reference must be freed by the user.\n\nIf `force` is true and there already exists a reference\nwith the same name, it will be overwritten.\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":"Create a new object id reference.","comments":"The reference will be created in the repository and written\nto the disk.\n\nThe generated reference must be freed by the user.\n\nIf `force` is true and there already exists a reference\nwith the same name, it will be overwritten.\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":"Get the OID pointed to by a reference.","comments":"Only available if the reference is direct (i.e. not symbolic)\n","group":"reference","examples":{"general.c":["ex/v0.17.0/general.html#git_reference_oid-27"],"diff.c":["ex/v0.17.0/diff.html#git_reference_oid-7"]}},"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":"Get full name to the reference pointed by this reference","comments":"Only available if the reference is symbolic\n","group":"reference","examples":{"general.c":["ex/v0.17.0/general.html#git_reference_target-28"]}},"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":"Get the type of a reference","comments":"Either direct (GIT_REF_OID) or symbolic (GIT_REF_SYMBOLIC)\n","group":"reference","examples":{"general.c":["ex/v0.17.0/general.html#git_reference_type-29"]}},"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":"Get the full name of a reference","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":"Resolve a symbolic reference","comments":"Thie method iteratively peels a symbolic reference\nuntil it resolves to a direct reference to an OID.\n\nThe peeled reference is returned in the `resolved_ref`\nargument, and must be freed manually once it's no longer\nneeded.\n\nIf a direct reference is passed as an argument,\na copy of that reference is returned. This copy must\nbe manually freed too.\n","group":"reference","examples":{"diff.c":["ex/v0.17.0/diff.html#git_reference_resolve-8"]}},"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":"Get the repository where a reference resides","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":"Set the symbolic target of a reference.","comments":"The reference must be a symbolic reference, otherwise\nthis method will fail.\n\nThe reference will be automatically updated in\nmemory and on disk.\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":"Set the OID target of a reference.","comments":"The reference must be a direct reference, otherwise\nthis method will fail.\n\nThe reference will be automatically updated in\nmemory and on disk.\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":"Rename an existing reference","comments":"This method works for both direct and symbolic references.\nThe new name will be checked for validity and may be\nmodified into a normalized form.\n\nThe given git_reference will be updated in place.\n\nThe reference will be immediately renamed in-memory\nand on disk.\n\nIf the `force` flag is not enabled, and there's already\na reference with the given name, the renaming will fail.\n\nIMPORTANT:\nThe user needs to write a proper reflog entry if the\nreflog is enabled for the repository. We only rename\nthe reflog if it exists.\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":"Delete an existing reference","comments":"This method works for both direct and symbolic references.\n\nThe reference will be immediately removed on disk and from\nmemory. The given reference pointer will no longer be valid.\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":"Pack all the loose references in the repository","comments":"This method will load into the cache all the loose\nreferences on the repository and update the\n`packed-refs` file with them.\n\nOnce the `packed-refs` file has been written properly,\nthe loose references will be removed from disk.\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 the 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 listing."}],"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":"Fill a list with all the references that can be found\nin a repository.","comments":"The listed references may be filtered by type, or using\na bitwise OR of several types. Use the magic value\n`GIT_REF_LISTALL` to obtain all references, including\npacked ones.\n\nThe string array will be filled with the names of all\nreferences; these values are owned by the user and\nshould be free'd manually when no longer needed, using\n`git_strarray_free`.\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 listing."},{"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 (*callback)(const char *, void *), void *payload","sig":"git_repository *::unsigned int::int (*)(const char *, void *)::void *","return":{"type":"int","comment":"0 or an error code"},"description":"Perform an operation on each reference in the repository","comments":"The processed references may be filtered by type, or using\na bitwise OR of several types. Use the magic value\n`GIT_REF_LISTALL` to obtain all references, including\npacked ones.\n\nThe `callback` function will be called for each of the references\nin the repository, and will receive the name of the reference and\nthe `payload` value passed to this method.\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":"Check if a reference has been loaded from a packfile","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":"Reload a reference from disk","comments":"Reference pointers may become outdated if the Git\nrepository is accessed simultaneously by other clients\nwhilt the library is open.\n\nThis method forces a reload of the reference from disk,\nto ensure that the provided information is still\nreliable.\n\nIf the reload fails (e.g. the reference no longer exists\non disk, or has become corrupted), an error code will be\nreturned and the reference pointer will be invalidated.\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"},"description":"Free the given reference","comments":"","group":"reference","examples":{"diff.c":["ex/v0.17.0/diff.html#git_reference_free-9","ex/v0.17.0/diff.html#git_reference_free-10"]}},"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":"Compare two references.","comments":"","group":"reference"},"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":"log pointer to reflog"}],"argline":"git_reflog **reflog, git_reference *ref","sig":"git_reflog **::git_reference *","return":{"type":"int","comment":"0 or an error code"},"description":"Read the reflog for the given reference","comments":"The reflog must be freed manually by using\ngit_reflog_free().\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":"Write a new reflog for the given reference","comments":"If there is no reflog file for the given\nreference yet, it will be created.\n\n`oid_old` may be NULL in case it's a new reference.\n\n`msg` is optional and can be NULL.\n","group":"reflog"},"git_reflog_rename":{"type":"function","file":"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":"Rename the reflog for the given reference","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":"Delete the reflog for the given reference","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":"Get the number of log entries in a reflog","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":"Lookup an entry by its index","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":"Get the old oid","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":"Get the new oid","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":"Get the committer of this entry","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":"Get the log msg","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"},"description":"Free the reflog","comments":"","group":"reflog"},"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 the hex sequence and have at least the number of bytes needed 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":"Parse a hex formatted object id into a git_oid.","comments":"","group":"oid","examples":{"general.c":["ex/v0.17.0/general.html#git_oid_fromstr-30","ex/v0.17.0/general.html#git_oid_fromstr-31","ex/v0.17.0/general.html#git_oid_fromstr-32","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"]}},"git_oid_fromstrn":{"type":"function","file":"oid.h","line":61,"lineto":61,"args":[{"name":"out","type":"git_oid *","comment":"oid structure the result is written into."},{"name":"str","type":"const char *","comment":"input hex string of at least size `length`"},{"name":"length","type":"size_t","comment":"length of the input string"}],"argline":"git_oid *out, const char *str, size_t length","sig":"git_oid *::const char *::size_t","return":{"type":"int","comment":"0 or an error code"},"description":"Parse N characters of a hex formatted object id into a git_oid","comments":"If N is odd, N-1 characters will be parsed instead.\nThe remaining space in the git_oid will be set to zero.\n","group":"oid","examples":{"diff.c":["ex/v0.17.0/diff.html#git_oid_fromstrn-11"]}},"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"},"description":"Copy an already raw oid into a git_oid structure.","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 the hex sequence and have at least the number of bytes needed for an oid encoded in hex (40 bytes). Only the oid digits are written; a '\\\\0' terminator must be added by 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"},"description":"Format a git_oid into a hex string.","comments":"","group":"oid","examples":{"showindex.c":["ex/v0.17.0/showindex.html#git_oid_fmt-4"],"network/ls-remote.c":["ex/v0.17.0/ls-remote.html#git_oid_fmt-10"],"network/index-pack.c":["ex/v0.17.0/index-pack.html#git_oid_fmt-1","ex/v0.17.0/index-pack.html#git_oid_fmt-2"],"network/fetch.c":["ex/v0.17.0/fetch.html#git_oid_fmt-9","ex/v0.17.0/fetch.html#git_oid_fmt-10"],"general.c":["ex/v0.17.0/general.html#git_oid_fmt-38","ex/v0.17.0/general.html#git_oid_fmt-39","ex/v0.17.0/general.html#git_oid_fmt-40","ex/v0.17.0/general.html#git_oid_fmt-41","ex/v0.17.0/general.html#git_oid_fmt-42"]}},"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 the hex sequence and have at least the number of bytes needed for an oid encoded in hex (41 bytes). Only the oid digits are written; a '\\\\0' terminator must be added by 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"},"description":"Format a git_oid into a loose-object path string.","comments":"The resulting string is \"aa/...\", where \"aa\" is the first two\nhex digitis of the oid and \"...\" is the remaining 38 digits.\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 deallocate the string with git__free()."},"description":"Format a git_oid into a newly allocated c-string.","comments":"","group":"oid"},"git_oid_tostr":{"type":"function","file":"oid.h","line":122,"lineto":122,"args":[{"name":"out","type":"char *","comment":"the buffer into which the oid string is output."},{"name":"n","type":"size_t","comment":"the size of the out buffer."},{"name":"oid","type":"const git_oid *","comment":"the oid structure to format."}],"argline":"char *out, size_t n, const git_oid *oid","sig":"char *::size_t::const git_oid *","return":{"type":"char *","comment":"the out buffer pointer, assuming no input parameter errors, otherwise a pointer to an empty string."},"description":"Format a git_oid into a buffer as a hex format c-string.","comments":"If the buffer is smaller than GIT_OID_HEXSZ+1, then the resulting\noid c-string will be truncated to n-1 characters. If there are\nany input parameter errors (out == NULL, n == 0, oid == NULL),\nthen a pointer to an empty string is returned, so that the return\nvalue can always be printed.\n","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"},"description":"Copy an oid from one structure to another.","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":"<0, 0, >0 if a < b, a == b, a > b."},"description":"Compare two oid structures.","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":"Compare the first 'len' hexadecimal characters (packets of 4 bits)\nof two oid structures.","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, 0 in case of a match, GIT_ERROR otherwise."},"description":"Check if an oid equals an hex formatted object id.","comments":"","group":"oid"},"git_oid_iszero":{"type":"function","file":"oid.h","line":165,"lineto":165,"args":[{"name":"a","type":"const git_oid *"}],"argline":"const git_oid *a","sig":"const git_oid *","return":{"type":"int"},"description":"Check is an oid is all zeros.","comments":"","group":"oid","examples":{"network/fetch.c":["ex/v0.17.0/fetch.html#git_oid_iszero-11"]}},"git_oid_shorten_new":{"type":"function","file":"oid.h","line":186,"lineto":186,"args":[{"name":"min_length","type":"size_t","comment":"The minimal length for all identifiers, which will be used even if shorter OIDs would still be unique."}],"argline":"size_t min_length","sig":"size_t","return":{"type":"git_oid_shorten *","comment":"a `git_oid_shorten` instance, NULL if OOM"},"description":"Create a new OID shortener.","comments":"The OID shortener is used to process a list of OIDs\nin text form and return the shortest length that would\nuniquely identify all of them.\n\nE.g. look at the result of `git log --abbrev`.\n","group":"oid"},"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 added so far to the set; or an error code (<0) if an error occurs."},"description":"Add a new OID to set of shortened OIDs and calculate\nthe minimal length to uniquely identify all the OIDs in\nthe set.","comments":"The OID is expected to be a 40-char hexadecimal string.\nThe OID is owned by the user and will not be modified\nor freed.\n\nFor performance reasons, there is a hard-limit of how many\nOIDs can be added to a single set (around ~22000, assuming\na mostly randomized distribution), which should be enough\nfor any kind of program, and keeps the algorithm fast and\nmemory-efficient.\n\nAttempting to add more than those OIDs will result in a\nGIT_ENOMEM error\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"},"description":"Free an OID shortener instance","comments":"","group":"oid"},"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. Set to NULL if the open failed."}],"argline":"git_odb **out","sig":"git_odb **","return":{"type":"int","comment":"0 or an error code"},"description":"Create a new object database with no backends.","comments":"Before the ODB can be used for read/writing, a custom database\nbackend must be manually added using `git_odb_add_backend()`\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. Set 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":"Create a new object database and automatically add\nthe two default backends:","comments":"- git_odb_backend_loose: read and write loose object files\n\tfrom disk, assuming `objects_dir` as the Objects folder\n\n- git_odb_backend_pack: read objects from packfiles,\n\tassuming `objects_dir` as the Objects folder which\n\tcontains a 'pack/' folder with the corresponding data\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":"Add a custom backend to an existing Object DB","comments":"The backends are checked in relative ordering, based on the\nvalue of the `priority` parameter.\n\nRead <odb_backends.h> for more information.\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":"Add a custom backend to an existing Object DB; this\nbackend will work as an alternate.","comments":"Alternate backends are always checked for objects *after*\nall the main backends have been exhausted.\n\nThe backends are checked in relative ordering, based on the\nvalue of the `priority` parameter.\n\nWriting is disabled on alternate backends.\n\nRead <odb_backends.h> for more information.\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"},"description":"Close an open object database.","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; - GIT_ENOTFOUND if the object is not in the database."},"description":"Read an object from the database.","comments":"This method queries all available ODB backends\ntrying to read the given OID.\n\nThe returned object is reference counted and\ninternally cached, so it should be closed\nby the user once it's no longer in use.\n","group":"odb","examples":{"general.c":["ex/v0.17.0/general.html#git_odb_read-43"]}},"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; GIT_ENOTFOUND if the object is not in the database. GIT_EAMBIGUOUS if the prefix is ambiguous (several objects match the prefix)"},"description":"Read an object from the database, given a prefix\nof its identifier.","comments":"This method queries all available ODB backends\ntrying to match the 'len' first hexadecimal\ncharacters of the 'short_id'.\nThe remaining (GIT_OID_HEXSZ-len)*4 bits of\n'short_id' must be 0s.\n'len' must be at least GIT_OID_MINPREFIXLEN,\nand the prefix must be long enough to identify\na unique object in all the backends; the\nmethod will fail otherwise.\n\nThe returned object is reference counted and\ninternally cached, so it should be closed\nby the user once it's no longer in use.\n","group":"odb"},"git_odb_read_header":{"type":"function","file":"odb.h","line":162,"lineto":162,"args":[{"name":"len_p","type":"size_t *","comment":"pointer where to store the length"},{"name":"type_p","type":"git_otype *","comment":"pointer where to store the type"},{"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":"size_t *len_p, git_otype *type_p, git_odb *db, const git_oid *id","sig":"size_t *::git_otype *::git_odb *::const git_oid *","return":{"type":"int","comment":"- 0 if the object was read; - GIT_ENOTFOUND if the object is not in the database."},"description":"Read the header of an object from the database, without\nreading its full contents.","comments":"The header includes the length and the type of an object.\n\nNote that most backends do not support reading only the header\nof an object, so the whole object will be read and then the\nheader will be returned.\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 - 0, otherwise"},"description":"Determine if the given object can be found in the object database.","comments":"","group":"odb"},"git_odb_write":{"type":"function","file":"odb.h","line":193,"lineto":193,"args":[{"name":"oid","type":"git_oid *","comment":"pointer to store the OID result of the write"},{"name":"odb","type":"git_odb *","comment":"object database where to store the object"},{"name":"data","type":"const void *","comment":"buffer with the data to storr"},{"name":"len","type":"size_t","comment":"size of the buffer"},{"name":"type","type":"git_otype","comment":"type of the data to store"}],"argline":"git_oid *oid, git_odb *odb, const void *data, size_t len, git_otype type","sig":"git_oid *::git_odb *::const void *::size_t::git_otype","return":{"type":"int","comment":"0 or an error code"},"description":"Write an object directly into the ODB","comments":"This method writes a full object straight into the ODB.\nFor most cases, it is preferred to write objects through a write\nstream, which is both faster and less memory intensive, specially\nfor big objects.\n\nThis method is provided for compatibility with custom backends\nwhich are not able to support streaming writes\n","group":"odb","examples":{"general.c":["ex/v0.17.0/general.html#git_odb_write-44"]}},"git_odb_open_wstream":{"type":"function","file":"odb.h","line":222,"lineto":222,"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 write"},{"name":"size","type":"size_t","comment":"final size of the object that will be written"},{"name":"type","type":"git_otype","comment":"type of the object that will be written"}],"argline":"git_odb_stream **stream, git_odb *db, size_t size, git_otype type","sig":"git_odb_stream **::git_odb *::size_t::git_otype","return":{"type":"int","comment":"0 if the stream was created; error code otherwise"},"description":"Open a stream to write an object into the ODB","comments":"The type and final length of the object must be specified\nwhen opening the stream.\n\nThe returned stream will be of type `GIT_STREAM_WRONLY` and\nwill have the following methods:\n\n\t- stream->write: write `n` bytes into the stream\n\t- stream->finalize_write: close the stream and store the object in\n\t\tthe odb\n\t- stream->free: free the stream\n\nThe streaming write won't be effective until `stream->finalize_write`\nis called and returns without an error\n\nThe stream must always be free'd or will leak memory.\n\n@see git_odb_stream\n","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":"Open a stream to read an object from the ODB","comments":"Note that most backends do *not* support streaming reads\nbecause they store their objects as compressed/delta'ed blobs.\n\nIt's recommended to use `git_odb_read` instead, which is\nassured to work on all backends.\n\nThe returned stream will be of type `GIT_STREAM_RDONLY` and\nwill have the following methods:\n\n\t- stream->read: read `n` bytes from the stream\n\t- stream->free: free the stream\n\nThe stream must always be free'd or will leak memory.\n\n@see git_odb_stream\n","group":"odb"},"git_odb_hash":{"type":"function","file":"odb.h","line":262,"lineto":262,"args":[{"name":"id","type":"git_oid *","comment":"the resulting object-ID."},{"name":"data","type":"const void *","comment":"data to hash"},{"name":"len","type":"size_t","comment":"size of the data"},{"name":"type","type":"git_otype","comment":"of the data to hash"}],"argline":"git_oid *id, const void *data, size_t len, git_otype type","sig":"git_oid *::const void *::size_t::git_otype","return":{"type":"int","comment":"0 or an error code"},"description":"Determine the object-ID (sha1 hash) of a data buffer","comments":"The resulting SHA-1 OID will the itentifier for the data\nbuffer as if the data buffer it were to written to the ODB.\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":"Read a file from disk and fill a git_oid with the object id\nthat the file would have if it were written to the Object\nDatabase as an object of the given type. Similar functionality\nto git.git's `git hash-object` without the `-w` flag.","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"},"description":"Close an ODB object","comments":"This method must always be called once a `git_odb_object` is no\nlonger needed, otherwise memory will leak.\n","group":"odb","examples":{"general.c":["ex/v0.17.0/general.html#git_odb_object_free-45"]}},"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":"Return the OID of an ODB object","comments":"This is the OID from which the object was read from\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":"Return the data of an ODB object","comments":"This is the uncompressed, raw data as read from the ODB,\nwithout the leading header.\n\nThis pointer is owned by the object and shall not be free'd.\n","group":"odb","examples":{"general.c":["ex/v0.17.0/general.html#git_odb_object_data-46"]}},"git_odb_object_size":{"type":"function","file":"odb.h","line":319,"lineto":319,"args":[{"name":"object","type":"git_odb_object *","comment":"the object"}],"argline":"git_odb_object *object","sig":"git_odb_object *","return":{"type":"size_t","comment":"the size"},"description":"Return the size of an ODB object","comments":"This is the real size of the `data` buffer, not the\nactual size of the object.\n","group":"odb","examples":{"general.c":["ex/v0.17.0/general.html#git_odb_object_size-47"]}},"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":"Return the type of an ODB object","comments":"","group":"odb","examples":{"general.c":["ex/v0.17.0/general.html#git_odb_object_type-48"]}},"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,\n\t\tgit_repository *repo,\n\t\tconst git_oid *id,\n\t\tgit_otype type","sig":"git_object **::git_repository *::const git_oid *::git_otype","return":{"type":"int","comment":"a reference to the object"},"description":"Lookup a reference to one of the objects in a repostory.","comments":"The generated reference is owned by the repository and\nshould be closed with the `git_object_free` method\ninstead of free'd manually.\n\nThe 'type' parameter must match the type of the object\nin the odb; the method will fail otherwise.\nThe special value 'GIT_OBJ_ANY' may be passed to let\nthe method guess the object's type.\n","group":"object","examples":{"diff.c":["ex/v0.17.0/diff.html#git_object_lookup-12"]}},"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,\n\t\tgit_repository *repo,\n\t\tconst git_oid *id,\n\t\tunsigned int len,\n\t\tgit_otype type","sig":"git_object **::git_repository *::const git_oid *::unsigned int::git_otype","return":{"type":"int","comment":"0 or an error code"},"description":"Lookup a reference to one of the objects in a repostory,\ngiven a prefix of its identifier (short id).","comments":"The object obtained will be so that its identifier\nmatches the first 'len' hexadecimal characters\n(packets of 4 bits) of the given 'id'.\n'len' must be at least GIT_OID_MINPREFIXLEN, and\nlong enough to identify a unique object matching\nthe prefix; otherwise the method will fail.\n\nThe generated reference is owned by the repository and\nshould be closed with the `git_object_free` method\ninstead of free'd manually.\n\nThe 'type' parameter must match the type of the object\nin the odb; the method will fail otherwise.\nThe special value 'GIT_OBJ_ANY' may be passed to let\nthe method guess the object's type.\n","group":"object","examples":{"diff.c":["ex/v0.17.0/diff.html#git_object_lookup_prefix-13"]}},"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":"Get the id (SHA1) of a repository object","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":"Get the object type of an object","comments":"","group":"object","examples":{"diff.c":["ex/v0.17.0/diff.html#git_object_type-14"]}},"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":"Get the repository that owns this object","comments":"Freeing or calling `git_repository_close` on the\nreturned pointer will invalidate the actual object.\n\nAny other operation may be run on the repository without\naffecting the object.\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"},"description":"Close an open object","comments":"This method instructs the library to close an existing\nobject; note that git_objects are owned and cached by the repository\nso the object may or may not be freed after this library call,\ndepending on how agressive is the caching mechanism used\nby the repository.\n\nIMPORTANT:\nIt *is* necessary to call this method when you stop using\nan object. Failure to do so will cause a memory leak.\n","group":"object","examples":{"general.c":["ex/v0.17.0/general.html#git_object_free-49"],"diff.c":["ex/v0.17.0/diff.html#git_object_free-15"]}},"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":"Convert an object type to it's string representation.","comments":"The result is a pointer to a string in static memory and\nshould not be free()'ed.\n","group":"object","examples":{"general.c":["ex/v0.17.0/general.html#git_object_type2string-50"]}},"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":"Convert a string object type representation to it's git_otype.","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, false otherwise."},"description":"Determine if the given git_otype is a valid loose object type.","comments":"","group":"object"},"git_object__size":{"type":"function","file":"object.h","line":168,"lineto":168,"args":[{"name":"type","type":"git_otype","comment":"object type to get its size"}],"argline":"git_otype type","sig":"git_otype","return":{"type":"size_t","comment":"size in bytes of the object"},"description":"Get the size in bytes for the structure which\nacts as an in-memory representation of any given\nobject type.","comments":"For all the core types, this would the equivalent\nof calling `sizeof(git_commit)` if the core types\nwere not opaque on the external API.\n","group":"object"},"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,\n\t\t\t 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":"Read the note for an object","comments":"The note must be freed manually by the user.\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":"Get the note message","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":"Get the note object OID","comments":"","group":"note"},"git_note_create":{"type":"function","file":"notes.h","line":67,"lineto":70,"args":[{"name":"out","type":"git_oid *"},{"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":"pointer to store the OID (optional); NULL in case of error"},{"name":"note","type":"const char *","comment":"s_ref OID reference to update (optional); defaults to \"refs/notes/commits\""}],"argline":"git_oid *out, git_repository *repo,\n\t\t\t\tgit_signature *author, git_signature *committer,\n\t\t\t\tconst char *notes_ref, const git_oid *oid,\n\t\t\t\t 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":"Add a note for an object","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,\n\t\t\t\tgit_signature *author, git_signature *committer,\n\t\t\t\tconst 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":"Remove the note for an object","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"},"description":"Free a git_note object","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":"Get the default notes reference for a repository","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 *note_data, void *payload)","comment":"Callback to invoke per found annotation."},{"name":"payload","type":"void *","comment":"Extra parameter to callback function."}],"argline":"git_repository *repo,\n\t\tconst char *notes_ref,\n\t\tint (*note_cb)(git_note_data *note_data, void *payload),\n\t\tvoid *payload","sig":"git_repository *::const char *::int (*)(git_note_data *note_data, void *payload)::void *","return":{"type":"int","comment":"0 or an error code."},"description":"Loop over all the notes within a specified namespace\nand issue a callback for each one.","comments":"","group":"note"},"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"},"description":"Find a merge base between two commits","comments":"","group":"merge"},"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 *"}],"argline":"git_indexer_stream **out, const char *gitdir","sig":"git_indexer_stream **::const char *","return":{"type":"int"},"description":"Create a new streaming indexer instance","comments":"","group":"indexer","examples":{"network/index-pack.c":["ex/v0.17.0/index-pack.html#git_indexer_stream_new-3"]}},"git_indexer_stream_add":{"type":"function","file":"indexer.h","line":44,"lineto":44,"args":[{"name":"idx","type":"git_indexer_stream *","comment":"the indexer"},{"name":"data","type":"const void *","comment":"the data to add"},{"name":"size","type":"size_t","comment":"the size of the data"},{"name":"stats","type":"git_indexer_stats *","comment":"stat storage"}],"argline":"git_indexer_stream *idx, const void *data, size_t size, git_indexer_stats *stats","sig":"git_indexer_stream *::const void *::size_t::git_indexer_stats *","return":{"type":"int"},"description":"Add data to the indexer","comments":"","group":"indexer","examples":{"network/index-pack.c":["ex/v0.17.0/index-pack.html#git_indexer_stream_add-4"]}},"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 *"}],"argline":"git_indexer_stream *idx, git_indexer_stats *stats","sig":"git_indexer_stream *::git_indexer_stats *","return":{"type":"int"},"description":"Finalize the pack and index","comments":"Resolve any pending deltas and write out the index file\n","group":"indexer","examples":{"network/index-pack.c":["ex/v0.17.0/index-pack.html#git_indexer_stream_finalize-5"]}},"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 *"},"description":"Get the packfile's hash","comments":"A packfile's name is derived from the sorted hashing of all object\nnames. This is only correct after the index has been finalized.\n","group":"indexer","examples":{"network/index-pack.c":["ex/v0.17.0/index-pack.html#git_indexer_stream_hash-6"]}},"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"},"description":"Free the indexer and its resources","comments":"","group":"indexer","examples":{"network/index-pack.c":["ex/v0.17.0/index-pack.html#git_indexer_stream_free-7"]}},"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"},"description":"Create a new indexer instance","comments":"","group":"indexer","examples":{"network/index-pack.c":["ex/v0.17.0/index-pack.html#git_indexer_new-8"]}},"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"},"description":"Iterate over the objects in the packfile and extract the information","comments":"Indexing a packfile can be very expensive so this function is\nexpected to be run in a worker thread and the stats used to provide\nfeedback the user.\n","group":"indexer","examples":{"network/index-pack.c":["ex/v0.17.0/index-pack.html#git_indexer_run-9"]}},"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"},"description":"Write the index file to disk.","comments":"The file will be stored as pack-$hash.idx in the same directory as\nthe packfile.\n","group":"indexer","examples":{"network/index-pack.c":["ex/v0.17.0/index-pack.html#git_indexer_write-10"]}},"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 *"},"description":"Get the packfile's hash","comments":"A packfile's name is derived from the sorted hashing of all object\nnames. This is only correct after the index has been written to disk.\n","group":"indexer","examples":{"network/index-pack.c":["ex/v0.17.0/index-pack.html#git_indexer_hash-11"]}},"git_indexer_free":{"type":"function","file":"indexer.h","line":117,"lineto":121,"args":[{"name":"idx","type":"git_indexer *","comment":"the indexer to free"}],"argline":"git_indexer *idx","sig":"git_indexer *","return":{"type":"void"},"description":"Free the indexer and its resources","comments":"","group":"indexer","examples":{"network/index-pack.c":["ex/v0.17.0/index-pack.html#git_indexer_free-12"]}},"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":"Create a new bare Git index object as a memory representation\nof the Git index file in 'index_path', without a repository\nto back it.","comments":"Since there is no ODB or working directory behind this index,\nany Index methods which rely on these (e.g. index_add) will\nfail with the GIT_EBAREINDEX error code.\n\nIf you need to access the index of an actual repository,\nuse the `git_repository_index` wrapper.\n\nThe index must be freed once it's no longer in use.\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"},"description":"Clear the contents (all the entries) of an index object.\nThis clears the index object in memory; changes must be manually\nwritten to disk for them to take effect.","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"},"description":"Free an existing index object.","comments":"","group":"index","examples":{"showindex.c":["ex/v0.17.0/showindex.html#git_index_free-5"],"general.c":["ex/v0.17.0/general.html#git_index_free-51"]}},"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":"Update the contents of an existing index object in memory\nby reading from the hard disk.","comments":"","group":"index","examples":{"showindex.c":["ex/v0.17.0/showindex.html#git_index_read-6"]}},"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":"Write an existing index object from memory back to disk\nusing an atomic file lock.","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":"Find the first index of any entries which point to given\npath in the Git index.","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"},"description":"Remove all entries with equal path except last added","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":"Add or update an index entry from a file in disk","comments":"The file `path` must be relative to the repository's\nworking folder and must be readable.\n\nThis method will fail in bare index instances.\n\nThis forces the file to be added to the index, not looking\nat gitignore rules. Those rules can be evaluated through\nthe git_status APIs (in status.h) before calling this.\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":"Add or update an index entry from an in-memory struct","comments":"A full copy (including the 'path' string) of the given\n'source_entry' will be inserted on the index.\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":"Add (append) an index entry from a file in disk","comments":"A new entry will always be inserted into the index;\nif the index already contains an entry for such\npath, the old entry will **not** be replaced.\n\nThe file `path` must be relative to the repository's\nworking folder and must be readable.\n\nThis method will fail in bare index instances.\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":"Add (append) an index entry from an in-memory struct","comments":"A new entry will always be inserted into the index;\nif the index already contains an entry for the path\nin the `entry` struct, the old entry will **not** be\nreplaced.\n\nA full copy (including the 'path' string) of the given\n'source_entry' will be inserted on the index.\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":"Remove an entry from the index","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":"Get a pointer to one of the entries in the index","comments":"This entry can be modified, and the changes will be written\nback to disk on the next write() call.\n\nThe entry should not be freed by the caller.\n","group":"index","examples":{"showindex.c":["ex/v0.17.0/showindex.html#git_index_get-7"],"general.c":["ex/v0.17.0/general.html#git_index_get-52"]}},"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":"Get the count of entries currently in the index","comments":"","group":"index","examples":{"showindex.c":["ex/v0.17.0/showindex.html#git_index_entrycount-8"],"general.c":["ex/v0.17.0/general.html#git_index_entrycount-53"]}},"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":"Get the count of unmerged entries currently in the index","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":"Get an unmerged entry from the index.","comments":"The returned entry is read-only and should not be modified\nof freed by the caller.\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":"Get an unmerged entry from the index.","comments":"The returned entry is read-only and should not be modified\nof freed by the caller.\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"},"description":"Return the stage number from a git index entry","comments":"This entry is calculated from the entrie's flag\nattribute like this:\n\n(entry->flags & GIT_IDXENTRY_STAGEMASK) >> GIT_IDXENTRY_STAGESHIFT\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":"Read a tree into the index file","comments":"The current index contents will be replaced by the specified tree.\n","group":"index"},"giterr_last":{"type":"function","file":"errors.h","line":99,"lineto":99,"args":[],"argline":"void","sig":"","return":{"type":"const git_error *","comment":"A git_error object."},"description":"Return the last `git_error` object that was generated for the\ncurrent thread or NULL if no error has occurred.","comments":"","group":"giterr","examples":{"network/git2.c":["ex/v0.17.0/git2.html#giterr_last-3","ex/v0.17.0/git2.html#giterr_last-4"]}},"giterr_clear":{"type":"function","file":"errors.h","line":104,"lineto":104,"args":[],"argline":"void","sig":"","return":{"type":"void"},"description":"Clear the last library error that occurred for this thread.","comments":"","group":"giterr"},"git_diff_list_free":{"type":"function","file":"diff.h","line":204,"lineto":204,"args":[{"name":"diff","type":"git_diff_list *"}],"argline":"git_diff_list *diff","sig":"git_diff_list *","return":{"type":"void"},"description":"Deallocate a diff list.","comments":"","group":"diff","examples":{"diff.c":["ex/v0.17.0/diff.html#git_diff_list_free-16","ex/v0.17.0/diff.html#git_diff_list_free-17"]}},"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.\ncan be 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,\n\tconst git_diff_options *opts, \n\tgit_tree *old_tree,\n\tgit_tree *new_tree,\n\tgit_diff_list **diff","sig":"git_repository *::const git_diff_options *::git_tree *::git_tree *::git_diff_list **","return":{"type":"int"},"description":"Compute a difference between two tree objects.","comments":"","group":"diff","examples":{"diff.c":["ex/v0.17.0/diff.html#git_diff_tree_to_tree-18"]}},"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.\ncan be 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,\n\tconst git_diff_options *opts, \n\tgit_tree *old_tree,\n\tgit_diff_list **diff","sig":"git_repository *::const git_diff_options *::git_tree *::git_diff_list **","return":{"type":"int"},"description":"Compute a difference between a tree and the index.","comments":"","group":"diff","examples":{"diff.c":["ex/v0.17.0/diff.html#git_diff_index_to_tree-19","ex/v0.17.0/diff.html#git_diff_index_to_tree-20","ex/v0.17.0/diff.html#git_diff_index_to_tree-21"]}},"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.\ncan be 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,\n\tconst git_diff_options *opts, \n\tgit_diff_list **diff","sig":"git_repository *::const git_diff_options *::git_diff_list **","return":{"type":"int"},"description":"Compute a difference between the working directory and the index.","comments":"","group":"diff","examples":{"diff.c":["ex/v0.17.0/diff.html#git_diff_workdir_to_index-22","ex/v0.17.0/diff.html#git_diff_workdir_to_index-23"]}},"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.\ncan be 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,\n\tconst git_diff_options *opts, \n\tgit_tree *old_tree,\n\tgit_diff_list **diff","sig":"git_repository *::const git_diff_options *::git_tree *::git_diff_list **","return":{"type":"int"},"description":"Compute a difference between the working directory and a tree.","comments":"This returns strictly the differences between the tree and the\nfiles contained in the working directory, regardless of the state\nof files in the index. There is no direct equivalent in C git.\n\nThis is *NOT* the same as 'git diff HEAD' or 'git diff <SHA>'. Those\ncommands diff the tree, the index, and the workdir. To emulate those\nfunctions, call `git_diff_index_to_tree` and `git_diff_workdir_to_index`,\nthen call `git_diff_merge` on the results.\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,\n\tconst git_diff_list *from","sig":"git_diff_list *::const git_diff_list *","return":{"type":"int"},"description":"Merge one diff list into another.","comments":"This merges items from the \"from\" list into the \"onto\" list. The\nresulting diff list will have all items that appear in either list.\nIf an item appears in both lists, then it will be \"merged\" to appear\nas if the old version was from the \"onto\" list and the new version\nis from the \"from\" list (with the exception that if the item has a\npending DELETE in the middle, then it will show as deleted).\n","group":"diff","examples":{"diff.c":["ex/v0.17.0/diff.html#git_diff_merge-24"]}},"git_diff_foreach":{"type":"function","file":"diff.h","line":306,"lineto":311,"args":[{"name":"diff","type":"git_diff_list *"},{"name":"cb_data","type":"void *"},{"name":"file_cb","type":"git_diff_file_fn"},{"name":"hunk_cb","type":"git_diff_hunk_fn"},{"name":"line_cb","type":"git_diff_data_fn"}],"argline":"git_diff_list *diff,\n\tvoid *cb_data,\n\tgit_diff_file_fn file_cb,\n\tgit_diff_hunk_fn hunk_cb,\n\tgit_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"},"description":"Iterate over a diff list issuing callbacks.","comments":"If the hunk and/or line callbacks are not NULL, then this will calculate\ntext diffs for all files it thinks are not binary. If those are both\nNULL, then this will not bother with the text diffs, so it can be\nefficient.","group":"diff"},"git_diff_print_compact":{"type":"function","file":"diff.h","line":316,"lineto":319,"args":[{"name":"diff","type":"git_diff_list *"},{"name":"cb_data","type":"void *"},{"name":"print_cb","type":"git_diff_data_fn"}],"argline":"git_diff_list *diff,\n\tvoid *cb_data,\n\tgit_diff_data_fn print_cb","sig":"git_diff_list *::void *::git_diff_data_fn","return":{"type":"int"},"description":"Iterate over a diff generating text output like \"git diff --name-status\".","comments":"","group":"diff","examples":{"diff.c":["ex/v0.17.0/diff.html#git_diff_print_compact-25"]}},"git_diff_print_patch":{"type":"function","file":"diff.h","line":326,"lineto":329,"args":[{"name":"diff","type":"git_diff_list *"},{"name":"cb_data","type":"void *"},{"name":"print_cb","type":"git_diff_data_fn"}],"argline":"git_diff_list *diff,\n\tvoid *cb_data,\n\tgit_diff_data_fn print_cb","sig":"git_diff_list *::void *::git_diff_data_fn","return":{"type":"int"},"description":"Iterate over a diff generating text output like \"git diff\".","comments":"This is a super easy way to generate a patch from a diff.","group":"diff","examples":{"diff.c":["ex/v0.17.0/diff.html#git_diff_print_patch-26"]}},"git_diff_blobs":{"type":"function","file":"diff.h","line":349,"lineto":358,"args":[{"name":"old_blob","type":"git_blob *"},{"name":"new_blob","type":"git_blob *"},{"name":"options","type":"git_diff_options *"},{"name":"cb_data","type":"void *"},{"name":"file_cb","type":"git_diff_file_fn"},{"name":"hunk_cb","type":"git_diff_hunk_fn"},{"name":"line_cb","type":"git_diff_data_fn"}],"argline":"git_blob *old_blob,\n\tgit_blob *new_blob,\n\tgit_diff_options *options,\n\tvoid *cb_data,\n\tgit_diff_file_fn file_cb,\n\tgit_diff_hunk_fn hunk_cb,\n\tgit_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"},"description":"Directly run a text diff on two blobs.","comments":"Compared to a file, a blob lacks some contextual information. As such, the\n`git_diff_file` parameters of the callbacks will be filled accordingly to the following:\n`mode` will be set to 0, `path` will be set to NULL. When dealing with a NULL blob, `oid`\nwill be set to 0.\n\nWhen at least one of the blobs being dealt with is binary, the `git_diff_delta` binary\nattribute will be set to 1 and no call to the hunk_cb nor line_cb will be made.","group":"diff"},"git_config_find_global":{"type":"function","file":"config.h","line":68,"lineto":68,"args":[{"name":"global_config_path","type":"char *","comment":"Buffer of GIT_PATH_MAX length to store the path"},{"name":"length","type":"size_t"}],"argline":"char *global_config_path, size_t length","sig":"char *::size_t","return":{"type":"int","comment":"0 if a global configuration file has been found. Its path will be stored in `buffer`."},"description":"Locate the path to the global configuration file","comments":"The user or global configuration file is usually\nlocated in `$HOME/.gitconfig`.\n\nThis method will try to guess the full path to that\nfile, if the file exists. The returned path\nmay be used on any `git_config` call to load the\nglobal configuration file.\n","group":"config"},"git_config_find_system":{"type":"function","file":"config.h","line":80,"lineto":80,"args":[{"name":"system_config_path","type":"char *","comment":"Buffer of GIT_PATH_MAX length to store the path"},{"name":"length","type":"size_t"}],"argline":"char *system_config_path, size_t length","sig":"char *::size_t","return":{"type":"int","comment":"0 if a system configuration file has been found. Its path will be stored in `buffer`."},"description":"Locate the path to the system configuration file","comments":"If /etc/gitconfig doesn't exist, it will look for\n%PROGRAMFILES%\\Git\\etc\\gitconfig.\n","group":"config"},"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":"Open the global configuration file","comments":"Utility wrapper that calls `git_config_find_global`\nand opens the located file, if it exists.\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"},"description":"Create a configuration file backend for ondisk files","comments":"These are the normal `.gitconfig` files that Core Git\nprocesses. Note that you first have to add this file to a\nconfiguration object before you can query it for configuration\nvariables.\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":"Allocate a new configuration object","comments":"This object is empty, so you have to add a file to it before you\ncan do anything with it.\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":"Add a generic config file instance to an existing config","comments":"Note that the configuration object will free the file\nautomatically.\n\nFurther queries on this config object will access each\nof the config file instances in order (instances with\na higher priority will be accessed first).\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":"Add an on-disk config file instance to an existing config","comments":"The on-disk file pointed at by `path` will be opened and\nparsed; it's expected to be a native Git config file following\nthe default Git config syntax (see man git-config).\n\nNote that the configuration object will free the file\nautomatically.\n\nFurther queries on this config object will access each\nof the config file instances in order (instances with\na higher priority will be accessed first).\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":"Create a new config instance containing a single on-disk file","comments":"This method is a simple utility wrapper for the following sequence\nof calls:\n- git_config_new\n- git_config_add_file_ondisk\n","group":"config","examples":{"general.c":["ex/v0.17.0/general.html#git_config_open_ondisk-54"]}},"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"},"description":"Free the configuration and its associated memory and files","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":"Get the value of an integer config variable.","comments":"","group":"config","examples":{"general.c":["ex/v0.17.0/general.html#git_config_get_int32-55"]}},"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":"Get the value of a long integer config variable.","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":"Get the value of a boolean config variable.","comments":"This function uses the usual C convention of 0 being false and\nanything else true.\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":"Get the value of a string config variable.","comments":"The string is owned by the variable and should not be freed by the\nuser.\n","group":"config","examples":{"general.c":["ex/v0.17.0/general.html#git_config_get_string-56"]}},"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 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 (*fn)(const char *, void *), void *data","sig":"git_config *::const char *::const char *::int (*)(const char *, void *)::void *","return":{"type":"int"},"description":"Get each value of a multivar.","comments":"The callback will be called on each variable found\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":"Set the value of an integer config variable.","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":"Set the value of a long integer config variable.","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":"Set the value of a boolean config variable.","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":"Set the value of a string config variable.","comments":"A copy of the string is made and the user is free to use it\nafterwards.\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"},"description":"Set a multivar","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"},"description":"Delete a config variable","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 *var_name, const char *value, void *payload)","comment":"the function to call on each variable"},{"name":"payload","type":"void *","comment":"the data to pass to the callback"}],"argline":"git_config *cfg,\n\tint (*callback)(const char *var_name, const char *value, void *payload),\n\tvoid *payload","sig":"git_config *::int (*)(const char *var_name, const char *value, void *payload)::void *","return":{"type":"int","comment":"0 or the return value of the callback which didn't return 0"},"description":"Perform an operation on each config variable.","comments":"The callback receives the normalized name and value of each variable\nin the config backend, and the data pointer passed to this function.\nAs soon as one of the callback functions returns something other than 0,\nthis function returns that value.\n","group":"config"},"git_config_get_mapped":{"type":"function","file":"config.h","line":352,"lineto":352,"args":[{"name":"out","type":"int *","comment":"place to store the result of the mapping"},{"name":"cfg","type":"git_config *","comment":"config file to get the variables from"},{"name":"name","type":"const char *","comment":"name of the config variable to lookup"},{"name":"maps","type":"git_cvar_map *","comment":"array of `git_cvar_map` objects specifying the possible mappings"},{"name":"map_n","type":"size_t","comment":"number of mapping objects in `maps`"}],"argline":"int *out, git_config *cfg, const char *name, git_cvar_map *maps, size_t map_n","sig":"int *::git_config *::const char *::git_cvar_map *::size_t","return":{"type":"int","comment":"0 on success, error code otherwise"},"description":"Query the value of a config variable and return it mapped to\nan integer constant.","comments":"This is a helper method to easily map different possible values\nto a variable to integer constants that easily identify them.\n\nA mapping array looks as follows:\n\ngit_cvar_map autocrlf_mapping[3] = {\n\t{GIT_CVAR_FALSE, NULL, GIT_AUTO_CRLF_FALSE},\n\t{GIT_CVAR_TRUE, NULL, GIT_AUTO_CRLF_TRUE},\n\t{GIT_CVAR_STRING, \"input\", GIT_AUTO_CRLF_INPUT},\n\t{GIT_CVAR_STRING, \"default\", GIT_AUTO_CRLF_DEFAULT}};\n\nOn any \"false\" value for the variable (e.g. \"false\", \"FALSE\", \"no\"), the\nmapping will store `GIT_AUTO_CRLF_FALSE` in the `out` parameter.\n\nThe same thing applies for any \"true\" value such as \"true\", \"yes\" or \"1\", storing\nthe `GIT_AUTO_CRLF_TRUE` variable.\n\nOtherwise, if the value matches the string \"input\" (with case insensitive comparison),\nthe given constant will be stored in `out`, and likewise for \"default\".\n\nIf not a single match can be made to store in `out`, an error code will be\nreturned.\n","group":"config"},"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"},"description":"Return the version of the libgit2 library\nbeing currently used.","comments":"","group":"libgit2"},"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 an 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":"Lookup a commit object from a repository.","comments":"","group":"commit","examples":{"general.c":["ex/v0.17.0/general.html#git_commit_lookup-57","ex/v0.17.0/general.html#git_commit_lookup-58","ex/v0.17.0/general.html#git_commit_lookup-59"]}},"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 an annotated tag it will be peeled back to the commit."},{"name":"len","type":"unsigned","comment":"the length of the short identifier"}],"argline":"git_commit **commit, git_repository *repo, const git_oid *id, unsigned len","sig":"git_commit **::git_repository *::const git_oid *::unsigned","return":{"type":"int","comment":"0 or an error code"},"description":"Lookup a commit object from a repository,\ngiven a prefix of its identifier (short id).","comments":"@see git_object_lookup_prefix\n","group":"commit"},"git_commit_free":{"type":"function","file":"commit.h","line":67,"lineto":70,"args":[{"name":"commit","type":"git_commit *","comment":"the commit to close"}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"void"},"description":"Close an open commit","comments":"This is a wrapper around git_object_free()\n\nIMPORTANT:\nIt *is* necessary to call this method when you stop\nusing a commit. Failure to do so will cause a memory leak.\n","group":"commit","examples":{"general.c":["ex/v0.17.0/general.html#git_commit_free-60","ex/v0.17.0/general.html#git_commit_free-61","ex/v0.17.0/general.html#git_commit_free-62","ex/v0.17.0/general.html#git_commit_free-63"]}},"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":"Get the id of a commit.","comments":"","group":"commit","examples":{"general.c":["ex/v0.17.0/general.html#git_commit_id-64"]}},"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":"Get the encoding for the message of a commit,\nas a string representing a standard encoding name.","comments":"The encoding may be NULL if the `encoding` header\nin the commit is missing; in that case UTF-8 is assumed.\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":"Get the full message of a commit.","comments":"","group":"commit","examples":{"general.c":["ex/v0.17.0/general.html#git_commit_message-65","ex/v0.17.0/general.html#git_commit_message-66"]}},"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":"Get the commit time (i.e. committer time) of a commit.","comments":"","group":"commit","examples":{"general.c":["ex/v0.17.0/general.html#git_commit_time-67","ex/v0.17.0/general.html#git_commit_time-68"]}},"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":"Get the commit timezone offset (i.e. committer's preferred timezone) of a commit.","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":"Get the committer of a commit.","comments":"","group":"commit","examples":{"general.c":["ex/v0.17.0/general.html#git_commit_committer-69"]}},"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":"Get the author of a commit.","comments":"","group":"commit","examples":{"general.c":["ex/v0.17.0/general.html#git_commit_author-70","ex/v0.17.0/general.html#git_commit_author-71"]}},"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":"Get the tree pointed to by a commit.","comments":"","group":"commit","examples":{"diff.c":["ex/v0.17.0/diff.html#git_commit_tree-27"]}},"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":"Get the id of the tree pointed to by a commit. This differs from\n`git_commit_tree` in that no attempts are made to fetch an object\nfrom the ODB.","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":"Get the number of parents of this commit","comments":"","group":"commit","examples":{"general.c":["ex/v0.17.0/general.html#git_commit_parentcount-72"]}},"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":"Get the specified parent of the commit.","comments":"","group":"commit","examples":{"general.c":["ex/v0.17.0/general.html#git_commit_parent-73"]}},"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":"Get the oid of a specified parent for a commit. This is different from\n`git_commit_parent`, which will attempt to load the parent commit from\nthe ODB.","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 newly 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 will be updated to point to this commit. If the reference is not direct, it will be resolved to a direct reference. Use \"HEAD\" to update the HEAD of the current branch and make it point to this commit. If the reference doesn't exist yet, it will be created."},{"name":"author","type":"const git_signature *","comment":"Signature representing the author and the authory time of this commit"},{"name":"committer","type":"const git_signature *","comment":"Signature representing the committer and the commit time of this commit"},{"name":"message_encoding","type":"const char *","comment":"The encoding for the message in the commit, represented with a standard encoding name. E.g. \"UTF-8\". If NULL, no encoding header is written and UTF-8 is assumed."},{"name":"message","type":"const char *","comment":"_encoding The encoding for the message in the commit, represented with a standard encoding name. E.g. \"UTF-8\". If NULL, no encoding header is written and UTF-8 is assumed."},{"name":"tree","type":"const git_tree *","comment":"An instance of a `git_tree` object that will be used as the tree for the commit. This tree object must also be owned by the given `repo`."},{"name":"parent_count","type":"int","comment":"Number of parents for this commit"}],"argline":"git_oid *oid,\n\t\tgit_repository *repo,\n\t\tconst char *update_ref,\n\t\tconst git_signature *author,\n\t\tconst git_signature *committer,\n\t\tconst char *message_encoding,\n\t\tconst char *message,\n\t\tconst git_tree *tree,\n\t\tint parent_count,\n\t\tconst git_commit *parents[]","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":"0 or an error code The created commit will be written to the Object Database and the given reference will be updated to point to it"},"description":"Create a new commit in the repository using `git_object`\ninstances as parameters.","comments":"The message will be cleaned up from excess whitespace\nit will be made sure that the last line ends with a '\\n'.\n","group":"commit"},"git_commit_create_v":{"type":"function","file":"commit.h","line":256,"lineto":266,"args":[{"name":"oid","type":"git_oid *"},{"name":"repo","type":"git_repository *"},{"name":"update_ref","type":"const char *"},{"name":"author","type":"const git_signature *"},{"name":"committer","type":"const git_signature *"},{"name":"message_encoding","type":"const char *"},{"name":"message","type":"const char *"},{"name":"tree","type":"const git_tree *"},{"name":"parent_count","type":"int"}],"argline":"git_oid *oid,\n\t\tgit_repository *repo,\n\t\tconst char *update_ref,\n\t\tconst git_signature *author,\n\t\tconst git_signature *committer,\n\t\tconst char *message_encoding,\n\t\tconst char *message,\n\t\tconst git_tree *tree,\n\t\tint parent_count,\n\t\t...","sig":"git_oid *::git_repository *::const char *::const git_signature *::const git_signature *::const char *::const char *::const git_tree *::int","return":{"type":"int"},"description":"Create a new commit in the repository using a variable\nargument list.","comments":"The message will be cleaned up from excess whitespace\nit will be made sure that the last line ends with a '\\n'.\n\nThe parents for the commit are specified as a variable\nlist of pointers to `const git_commit *`. Note that this\nis a convenience method which may not be safe to export\nfor certain languages or compilers\n\nAll other parameters remain the same\n\n@see git_commit_create","group":"commit","examples":{"general.c":["ex/v0.17.0/general.html#git_commit_create_v-74"]}},"git_branch_create":{"type":"function","file":"branch.h","line":48,"lineto":53,"args":[{"name":"oid_out","type":"git_oid *","comment":"Pointer where to store the OID of the target commit."},{"name":"repo","type":"git_repository *","comment":"Repository where to store the branch."},{"name":"branch_name","type":"const char *","comment":"Name for the branch; this name is validated for consistency. It should also not conflict with an already existing branch name."},{"name":"target","type":"const git_object *","comment":"Object to which this branch should point. This object must belong to the given `repo` and can either be a git_commit or a git_tag. When a git_tag is being passed, it should be dereferencable to a git_commit which oid will be used as the target of the branch."},{"name":"force","type":"int","comment":"Overwrite existing branch."}],"argline":"git_oid *oid_out,\n\t\tgit_repository *repo,\n\t\tconst char *branch_name,\n\t\tconst git_object *target,\n\t\tint force","sig":"git_oid *::git_repository *::const char *::const git_object *::int","return":{"type":"int","comment":"0 or an error code. A proper reference is written in the refs/heads namespace pointing to the provided target commit."},"description":"Create a new branch pointing at a target commit","comments":"A new direct reference will be created pointing to\nthis target commit. If `force` is true and a reference\nalready exists with the given name, it'll be replaced.\n","group":"branch"},"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; this name is validated for consistency."},{"name":"branch_type","type":"git_branch_t","comment":"Type of the considered branch. This should be valued with either GIT_BRANCH_LOCAL or GIT_BRANCH_REMOTE."}],"argline":"git_repository *repo,\n\t\tconst char *branch_name,\n\t\tgit_branch_t branch_type","sig":"git_repository *::const char *::git_branch_t","return":{"type":"int","comment":"0 on success, GIT_ENOTFOUND if the branch doesn't exist or an error code."},"description":"Delete an existing branch reference.","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 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 listing. Valid values are GIT_BRANCH_LOCAL, GIT_BRANCH_REMOTE or a combination of the two."}],"argline":"git_strarray *branch_names,\n\t\tgit_repository *repo,\n\t\tunsigned int list_flags","sig":"git_strarray *::git_repository *::unsigned int","return":{"type":"int","comment":"0 or an error code."},"description":"Fill a list with all the branches in the Repository","comments":"The string array will be filled with the names of the\nmatching branches; these values are owned by the user and\nshould be free'd manually when no longer needed, using\n`git_strarray_free`.\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; this name is validated for consistency."},{"name":"new_branch_name","type":"const char *","comment":"Target name of the branch once the move is performed; this name is validated for consistency."},{"name":"force","type":"int","comment":"Overwrite existing branch."}],"argline":"git_repository *repo,\n\t\tconst char *old_branch_name,\n\t\tconst char *new_branch_name,\n\t\tint force","sig":"git_repository *::const char *::const char *::int","return":{"type":"int","comment":"0 on success, GIT_ENOTFOUND if the branch doesn't exist or an error code."},"description":"Move/rename an existing branch reference.","comments":"","group":"branch"},"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":"Lookup a blob object from a repository.","comments":"","group":"blob","examples":{"general.c":["ex/v0.17.0/general.html#git_blob_lookup-75"]}},"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":"Lookup a blob object from a repository,\ngiven a prefix of its identifier (short id).","comments":"@see git_object_lookup_prefix\n","group":"blob"},"git_blob_free":{"type":"function","file":"blob.h","line":65,"lineto":68,"args":[{"name":"blob","type":"git_blob *","comment":"the blob to close"}],"argline":"git_blob *blob","sig":"git_blob *","return":{"type":"void"},"description":"Close an open blob","comments":"This is a wrapper around git_object_free()\n\nIMPORTANT:\nIt *is* necessary to call this method when you stop\nusing a blob. Failure to do so will cause a memory leak.\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":"Get a read-only buffer with the raw content of a blob.","comments":"A pointer to the raw content of a blob is returned;\nthis pointer is owned internally by the object and shall\nnot be free'd. The pointer may be invalidated at a later\ntime.\n","group":"blob","examples":{"general.c":["ex/v0.17.0/general.html#git_blob_rawcontent-76"]}},"git_blob_rawsize":{"type":"function","file":"blob.h","line":91,"lineto":91,"args":[{"name":"blob","type":"git_blob *","comment":"pointer to the blob"}],"argline":"git_blob *blob","sig":"git_blob *","return":{"type":"size_t","comment":"size on bytes"},"description":"Get the size in bytes of the contents of a blob","comments":"","group":"blob","examples":{"general.c":["ex/v0.17.0/general.html#git_blob_rawsize-77","ex/v0.17.0/general.html#git_blob_rawsize-78"]}},"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. this repository cannot be bare"},{"name":"path","type":"const char *","comment":"file from which the blob will be created, relative 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":"Read a file from the working folder of a repository\nand write it to the Object Database as a loose blob","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. this 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":"Read a file from the filesystem and write its content\nto the Object Database as a loose blob","comments":"","group":"blob"},"git_blob_create_frombuffer":{"type":"function","file":"blob.h","line":128,"lineto":128,"args":[{"name":"oid","type":"git_oid *","comment":"return the oid of the written blob"},{"name":"repo","type":"git_repository *","comment":"repository where to blob will be written"},{"name":"buffer","type":"const void *","comment":"data to be written into the blob"},{"name":"len","type":"size_t","comment":"length of the data"}],"argline":"git_oid *oid, git_repository *repo, const void *buffer, size_t len","sig":"git_oid *::git_repository *::const void *::size_t","return":{"type":"int","comment":"0 or an error code"},"description":"Write an in-memory buffer to the ODB as a blob","comments":"","group":"blob"},"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_... macros to test for TRUE, FALSE, UNSPECIFIED, etc. or just use the string value for attributes set to a value. You 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 interpreted relative to the repo root. The file does not have to exist, but if it does not, then it will be 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,\n git_repository *repo,\n\tuint32_t flags,\n\tconst char *path,\n\tconst char *name","sig":"const char **::git_repository *::uint32_t::const char *::const char *","return":{"type":"int"},"description":"Look up the value of one git attribute for path.","comments":"","group":"attr"},"git_attr_get_many":{"type":"function","file":"attr.h","line":162,"lineto":168,"args":[{"name":"values_out","type":"const char **"},{"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 does not have to exist, but if it does not, then it will be treated as a plain file (i.e. not a directory)."},{"name":"num_attr","type":"size_t","comment":"The number of attributes being looked up"},{"name":"names","type":"const char **","comment":"An array of num_attr strings containing attribute names."}],"argline":"const char **values_out,\n\tgit_repository *repo,\n\tuint32_t flags,\n\tconst char *path,\n\tsize_t num_attr,\n\tconst char **names","sig":"const char **::git_repository *::uint32_t::const char *::size_t::const char **","return":{"type":"int"},"description":"Look up a list of git attributes for path.","comments":"Use this if you have a known list of attributes that you want to\nlook up in a single call. This is somewhat more efficient than\ncalling `git_attr_get()` multiple times.\n\nFor example, you might write:\n\n const char *attrs[] = { \"crlf\", \"diff\", \"foo\" };\n const char **values[3];\n git_attr_get_many(values, repo, 0, \"my/fun/file.c\", 3, attrs);\n\nThen you could loop through the 3 values to get the settings for\nthe three attributes you asked about.\n","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 does not have to exist, but if it does not, then it will be treated as a plain file (i.e. not a directory)."},{"name":"callback","type":"int (*)(const char *name, const char *value, void *payload)","comment":"The function that will be invoked on each attribute and attribute value. The name parameter will be the name of the attribute and the value will be the value it is set to, including possibly NULL if the attribute is explicitly set to UNSPECIFIED using the ! sign. This will be invoked only once per attribute name, even if there are multiple rules for a given file. The highest priority rule will be used."},{"name":"payload","type":"void *","comment":"Passed on as extra parameter to callback function."}],"argline":"git_repository *repo,\n\tuint32_t flags,\n\tconst char *path,\n\tint (*callback)(const char *name, const char *value, void *payload),\n\tvoid *payload","sig":"git_repository *::uint32_t::const char *::int (*)(const char *name, const char *value, void *payload)::void *","return":{"type":"int"},"description":"Loop over all the git attributes for a path.","comments":"","group":"attr"},"git_attr_cache_flush":{"type":"function","file":"attr.h","line":203,"lineto":204,"args":[{"name":"repo","type":"git_repository *"}],"argline":"git_repository *repo","sig":"git_repository *","return":{"type":"void"},"description":"Flush the gitattributes cache.","comments":"Call this if you have reason to believe that the attributes files on\ndisk no longer match the cached contents of memory. This will cause\nthe attributes files to be reloaded the next time that an attribute\naccess function is called.","group":"attr"},"git_attr_add_macro":{"type":"function","file":"attr.h","line":216,"lineto":219,"args":[{"name":"repo","type":"git_repository *"},{"name":"name","type":"const char *"},{"name":"values","type":"const char *"}],"argline":"git_repository *repo,\n\tconst char *name,\n\tconst char *values","sig":"git_repository *::const char *::const char *","return":{"type":"int"},"description":"Add a macro definition.","comments":"Macros will automatically be loaded from the top level `.gitattributes`\nfile of the repository (plus the build-in \"binary\" macro). This\nfunction allows you to add others. For example, to add the default\nmacro, you would call:\n\n git_attr_add_macro(repo, \"binary\", \"-diff -crlf\");","group":"attr"}},"globals":{"GIT_SORT_NONE":{"value":"(0)","file":"revwalk.h","line":29,"comments":"Sort the repository contents in no particular ordering;\nthis sorting is arbitrary, implementation-specific\nand subject to change at any time.\nThis is the default sorting for new walkers."},"GIT_SORT_TOPOLOGICAL":{"value":"(1 << 0)","file":"revwalk.h","line":36,"comments":"Sort the repository contents in topological order\n(parents before children); this sorting mode\ncan be combined with time sorting."},"GIT_SORT_TIME":{"value":"(1 << 1)","file":"revwalk.h","line":43,"comments":"Sort the repository contents by commit time;\nthis sorting mode can be combined with\ntopological sorting."},"GIT_SORT_REVERSE":{"value":"(1 << 2)","file":"revwalk.h","line":50,"comments":"Iterate through the repository contents in reverse\norder; this sorting mode can be combined with\nany of the above."},"GIT_OID_RAWSZ":{"value":"20","file":"oid.h","line":23,"comments":"Size (in bytes) of a raw/binary oid"},"GIT_OID_HEXSZ":{"value":"(GIT_OID_RAWSZ * 2)","file":"oid.h","line":26,"comments":"Size (in bytes) of a hex formatted oid"},"GIT_OID_MINPREFIXLEN":{"value":"4","file":"oid.h","line":30,"comments":"Minimum length (in number of hex characters,\ni.e. packets of 4 bits) of an oid prefix"},"GIT_STREAM_RDONLY":{"file":"odb_backend.h","line":79,"value":"(1 << 1)","comments":"Streaming mode"},"GIT_STREAM_WRONLY":{"file":"odb_backend.h","line":80,"value":"(1 << 2)","comments":"Streaming mode"},"GIT_STREAM_RW":{"file":"odb_backend.h","line":81,"value":"(GIT_STREAM_RDONLY | GIT_STREAM_WRONLY)","comments":"Streaming mode"},"GIT_OK":{"file":"errors.h","line":59,"value":"0","comments":"Generic return codes"},"GIT_ERROR":{"file":"errors.h","line":60,"value":"-1","comments":"Generic return codes"},"GIT_ENOTFOUND":{"file":"errors.h","line":61,"value":"-3","comments":"Generic return codes"},"GIT_EEXISTS":{"file":"errors.h","line":62,"value":"-4","comments":"Generic return codes"},"GIT_EAMBIGUOUS":{"file":"errors.h","line":63,"value":"-5","comments":"Generic return codes"},"GIT_EBUFS":{"file":"errors.h","line":64,"value":"-6","comments":"Generic return codes"},"GIT_PASSTHROUGH":{"file":"errors.h","line":66,"value":"-30","comments":"Generic return codes"},"GIT_REVWALKOVER":{"file":"errors.h","line":67,"value":"-31","comments":"Generic return codes"},"GIT_BEGIN_DECL":{"value":"","file":"common.h","line":24,"comments":"Start declarations in C mode"},"GIT_END_DECL":{"value":"","file":"common.h","line":26,"comments":"End declarations in C mode"},"GIT_EXTERN(type)":{"value":"extern __attribute__((visibility(\"default\"))) type","file":"common.h","line":30,"comments":"Declare a public function exported for application use."},"GIT_INLINE(type)":{"value":"static __inline type","file":"common.h","line":41,"comments":"Declare a function as always inlined."},"GIT_FORMAT_PRINTF(a,b)":{"value":"__attribute__((format (printf, a, b)))","file":"common.h","line":48,"comments":"Declare a function's takes printf style arguments."},"GIT_PATH_LIST_SEPARATOR":{"value":"';'","file":"common.h","line":73,"comments":"The separator used in path list strings (ie like in the PATH\nenvironment variable). A semi-colon \";\" is used on Windows, and\na colon \":\" for all other systems."},"GIT_PATH_MAX":{"value":"4096","file":"common.h","line":82,"comments":"The maximum length of a valid git path."},"GIT_ATTR_TRUE(attr)":{"value":"((attr) == git_attr__true)","file":"attr.h","line":33,"comments":"GIT_ATTR_TRUE checks if an attribute is set on. In core git\nparlance, this the value for \"Set\" attributes.\n\nFor example, if the attribute file contains:\n\n *.c foo\n\nThen for file `xyz.c` looking up attribute \"foo\" gives a value for\nwhich `GIT_ATTR_TRUE(value)` is true."},"GIT_ATTR_FALSE(attr)":{"value":"((attr) == git_attr__false)","file":"attr.h","line":47,"comments":"GIT_ATTR_FALSE checks if an attribute is set off. In core git\nparlance, this is the value for attributes that are \"Unset\" (not to\nbe confused with values that a \"Unspecified\").\n\nFor example, if the attribute file contains:\n\n *.h -foo\n\nThen for file `zyx.h` looking up attribute \"foo\" gives a value for\nwhich `GIT_ATTR_FALSE(value)` is true."},"GIT_ATTR_UNSPECIFIED(attr)":{"value":"(!(attr) || (attr) == git_attr__unset)","file":"attr.h","line":65,"comments":"GIT_ATTR_UNSPECIFIED checks if an attribute is unspecified. This\nmay be due to the attribute not being mentioned at all or because\nthe attribute was explicitly set unspecified via the `!` operator.\n\nFor example, if the attribute file contains:\n\n *.c foo\n *.h -foo\n onefile.c !foo\n\nThen for `onefile.c` looking up attribute \"foo\" yields a value with\n`GIT_ATTR_UNSPECIFIED(value)` of true. Also, looking up \"foo\" on\nfile `onefile.rb` or looking up \"bar\" on any file will all give\n`GIT_ATTR_UNSPECIFIED(value)` of true."},"GIT_ATTR_HAS_VALUE(attr)":{"value":"((attr) && (attr) != git_attr__unset && (attr) != git_attr__true && (attr) != git_attr__false)","file":"attr.h","line":77,"comments":"GIT_ATTR_HAS_VALUE checks if an attribute is set to a value (as\nopposied to TRUE, FALSE or UNSPECIFIED). This would be the case if\nfor a file with something like:\n\n *.txt eol=lf\n\nGiven this, looking up \"eol\" for `onefile.txt` will give back the\nstring \"lf\" and `GIT_ATTR_SET_TO_VALUE(attr)` will return true."},"GIT_ATTR_CHECK_NO_SYSTEM":{"value":"(1 << 2)","file":"attr.h","line":109,"comments":"Check attribute flags: Using the system attributes file.\n\nNormally, attribute checks include looking in the /etc (or system\nequivalent) directory for a `gitattributes` file. Passing this\nflag will cause attribute checks to ignore that file."}},"types":[["GIT_ATTR_CHECK",{"type":"enum","file":"attr.h","line":98,"lineto":100,"block":"GIT_ATTR_CHECK_FILE_THEN_INDEX\nGIT_ATTR_CHECK_INDEX_THEN_FILE\nGIT_ATTR_CHECK_INDEX_ONLY","tdef":null,"comments":"Check attribute flags: Reading values from index and working directory.\n\nWhen checking attributes, it is possible to check attribute files\nin both the working directory (if there is one) and the index (if\nthere is one). You can explicitly choose where to check and in\nwhich order using the following flags.\n\nCore git usually checks the working directory then the index,\nexcept during a checkout when it checks the index first. It will\nuse index only for creating archives or for a bare repo (if an\nindex has been specified for the bare repo).","used":{"returns":[],"needs":[]}}],["GIT_DIFF_LINE",{"type":"enum","file":"diff.h","line":162,"lineto":176,"block":"GIT_DIFF_LINE_CONTEXT\nGIT_DIFF_LINE_ADDITION\nGIT_DIFF_LINE_DELETION\nGIT_DIFF_LINE_ADD_EOFNL\nGIT_DIFF_LINE_DEL_EOFNL\nGIT_DIFF_LINE_FILE_HDR\nGIT_DIFF_LINE_HUNK_HDR\nGIT_DIFF_LINE_BINARY","tdef":null,"comments":"Line origin constants.\n\nThese values describe where a line came from and will be passed to\nthe git_diff_data_fn when iterating over a diff. There are some\nspecial origin contants at the end that are used for the text\noutput callbacks to demarcate lines that are actually part of\nthe file or hunk headers.","used":{"returns":[],"needs":[]}}],["GIT_STATUS_OPT",{"type":"enum","file":"status.h","line":100,"lineto":106,"block":"GIT_STATUS_OPT_INCLUDE_UNTRACKED\nGIT_STATUS_OPT_INCLUDE_IGNORED\nGIT_STATUS_OPT_INCLUDE_UNMODIFIED\nGIT_STATUS_OPT_EXCLUDE_SUBMODULED\nGIT_STATUS_OPT_RECURSE_UNTRACKED_DIRS","tdef":null,"comments":"Flags to control status callbacks\n\n- GIT_STATUS_OPT_INCLUDE_UNTRACKED says that callbacks should\n be made on untracked files. These will only be made if the\n workdir files are included in the status \"show\" option.\n- GIT_STATUS_OPT_INCLUDE_IGNORED says that ignored files should\n get callbacks. Again, these callbacks will only be made if\n the workdir files are included in the status \"show\" option.\n Right now, there is no option to include all files in\n directories that are ignored completely.\n- GIT_STATUS_OPT_INCLUDE_UNMODIFIED indicates that callback\n should be made even on unmodified files.\n- GIT_STATUS_OPT_EXCLUDE_SUBMODULES indicates that directories\n which appear to be submodules should just be skipped over.\n- GIT_STATUS_OPT_RECURSE_UNTRACKED_DIRS indicates that the\n contents of untracked directories should be included in the\n status. Normally if an entire directory is new, then just\n the top-level directory will be included (with a trailing\n slash on the entry name). Given this flag, the directory\n itself will not be included, but all the files in it will.","used":{"returns":[],"needs":[]}}],["git_blob",{"type":"struct","value":"git_blob","file":"types.h","line":105,"lineto":105,"block":"","tdef":"typedef","comments":"In-memory representation of a blob object.","used":{"returns":[],"needs":["git_blob_free","git_blob_lookup","git_blob_lookup_prefix","git_blob_rawcontent","git_blob_rawsize","git_diff_blobs"]}}],["git_branch_t",{"type":"enum","file":"types.h","line":164,"lineto":172,"block":"GIT_BRANCH_LOCAL\nGIT_BRANCH_REMOTE","tdef":"typedef","comments":"Basic type of any Git branch.","used":{"returns":[],"needs":["git_branch_delete"]}}],["git_commit",{"type":"struct","value":"git_commit","file":"types.h","line":108,"lineto":108,"block":"","tdef":"typedef","comments":"Parsed representation of a commit object.","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",{"type":"struct","value":"git_config","file":"types.h","line":123,"lineto":123,"block":"","tdef":"typedef","comments":"Memory representation of a set of config files","used":{"returns":[],"needs":["git_config_add_file","git_config_add_file_ondisk","git_config_delete","git_config_foreach","git_config_free","git_config_get_bool","git_config_get_int32","git_config_get_int64","git_config_get_mapped","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",{"type":"struct","value":"git_config_file","file":"config.h","line":26,"lineto":51,"block":"struct git_config *cfg\nint (*open)(struct git_config_file *)\nint (*get)(struct git_config_file *, const char *key, const char **value)\nint (*get_multivar)(struct git_config_file *, const char *key, const char *regexp, int (*fn)(const char *, void *), void *data)\nint (*set)(struct git_config_file *, const char *key, const char *value)\nint (*set_multivar)(git_config_file *cfg, const char *name, const char *regexp, const char *value)\nint (*del)(struct git_config_file *, const char *key)\nint (*foreach)(struct git_config_file *, int (*fn)(const char *, const char *, void *), void *data)\nvoid (*free)(struct git_config_file *)","tdef":null,"comments":"Generic backend that implements the interface to\naccess a configuration file","used":{"returns":[],"needs":["git_config_add_file","git_config_file__ondisk"]}}],["git_delta_t",{"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","comments":"What type of change is described by a git_diff_delta?","used":{"returns":[],"needs":[]}}],["git_diff_data_fn",{"type":"function pointer","value":"git_diff_data_fn","file":"diff.h","line":186,"lineto":192,"comments":"When iterating over a diff, callback that will be made per text diff\nline. In this context, the provided range will be NULL.\n\nWhen printing a diff, callback that will be made to output each line\nof text. This uses some extra GIT_DIFF_LINE_... constants for output\nof lines of file and hunk headers.","used":{"returns":[],"needs":["git_diff_blobs","git_diff_foreach","git_diff_print_compact","git_diff_print_patch"]}}],["git_diff_delta",{"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","comments":"Description of changes to one file.\n\nWhen iterating over a diff list object, this will generally be passed to\nmost callback functions and you can use the contents to understand\nexactly what has changed.\n\nUnder some circumstances, not all fields will be filled in, but the code\ngenerally tries to fill in as much as possible. One example is that the\n\"binary\" field will not actually look at file contents if you do not\npass in hunk and/or line callbacks to the diff foreach iteration function.\nIt will just use the git attributes for those files.","used":{"returns":[],"needs":[]}}],["git_diff_file",{"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","comments":"Description of one side of a diff.","used":{"returns":[],"needs":[]}}],["git_diff_file_fn",{"type":"function pointer","value":"git_diff_file_fn","file":"diff.h","line":128,"lineto":131,"comments":"When iterating over a diff, callback that will be made per file.","used":{"returns":[],"needs":["git_diff_blobs","git_diff_foreach"]}}],["git_diff_hunk_fn",{"type":"function pointer","value":"git_diff_hunk_fn","file":"diff.h","line":146,"lineto":151,"comments":"When iterating over a diff, callback that will be made per hunk.","used":{"returns":[],"needs":["git_diff_blobs","git_diff_foreach"]}}],["git_diff_list",{"type":"struct","value":"git_diff_list","file":"diff.h","line":68,"lineto":77,"block":"","tdef":"typedef","comments":"The diff list object that contains all individual file deltas.","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_options",{"type":"struct","value":"git_diff_options","file":"diff.h","line":56,"lineto":63,"block":"uint32_t flags\nuint16_t context_lines\nuint16_t interhunk_lines\nchar *old_prefix\nchar *new_prefix\ngit_strarray pathspec","tdef":"typedef","comments":"Structure describing options about how the diff should be executed.\n\nSetting all values of the structure to zero will yield the default\nvalues. Similarly, passing NULL for the options structure will\ngive the defaults. The default values are marked below.\n\n@todo Most of the parameters here are not actually supported at this time.","used":{"returns":[],"needs":["git_diff_blobs","git_diff_index_to_tree","git_diff_tree_to_tree","git_diff_workdir_to_index","git_diff_workdir_to_tree"]}}],["git_diff_range",{"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","comments":"Structure describing a hunk of a diff.","used":{"returns":[],"needs":[]}}],["git_headlist_cb",{"type":"function pointer","value":"git_headlist_cb","file":"net.h","line":47,"lineto":47,"comments":"Callback for listing the remote heads","used":{"returns":[],"needs":["git_remote_ls"]}}],["git_index",{"type":"struct","value":"git_index","file":"types.h","line":120,"lineto":120,"block":"","tdef":"typedef","comments":"Memory representation of an index file.","used":{"returns":[],"needs":["git_index_add","git_index_add2","git_index_append","git_index_append2","git_index_clear","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_repository_index","git_repository_set_index","git_tree_create_fromindex"]}}],["git_index_entry",{"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","comments":"Memory representation of a file entry in the index.","used":{"returns":["git_index_get"],"needs":["git_index_add2","git_index_append2","git_index_entry_stage"]}}],["git_index_entry_unmerged",{"type":"struct","value":"git_index_entry_unmerged","file":"index.h","line":87,"lineto":91,"block":"unsigned int mode[3]\ngit_oid oid[3]\nchar *path","tdef":"typedef","comments":"Representation of an unmerged file entry in the index.","used":{"returns":["git_index_get_unmerged_byindex","git_index_get_unmerged_bypath"],"needs":[]}}],["git_index_time",{"type":"struct","value":"git_index_time","file":"index.h","line":60,"lineto":64,"block":"git_time_t seconds\nunsigned int nanoseconds","tdef":"typedef","comments":"Time used in a git index entry","used":{"returns":[],"needs":[]}}],["git_indexer_stats",{"type":"struct","value":"git_indexer_stats","file":"indexer.h","line":19,"lineto":26,"block":"unsigned int total\nunsigned int processed","tdef":"typedef","comments":"This is passed as the first argument to the callback to allow the\nuser to see the progress.","used":{"returns":[],"needs":["git_indexer_run","git_indexer_stream_add","git_indexer_stream_finalize","git_remote_download"]}}],["git_note",{"type":"struct","value":"git_note","file":"types.h","line":135,"lineto":135,"block":"","tdef":"typedef","comments":"Representation of a git note","used":{"returns":[],"needs":["git_note_free","git_note_message","git_note_oid","git_note_read"]}}],["git_note_data",{"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","comments":"Basic components of a note\n\n - Oid of the blob containing the message\n - Oid of the git object being annotated","used":{"returns":[],"needs":["git_note_foreach"]}}],["git_object",{"type":"struct","value":"git_object","file":"types.h","line":96,"lineto":96,"block":"","tdef":"typedef","comments":"Representation of a generic object in a repository","used":{"returns":[],"needs":["git_branch_create","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",{"type":"struct","value":"git_odb","file":"types.h","line":78,"lineto":78,"block":"","tdef":"typedef","comments":"An open object database handle.","used":{"returns":[],"needs":["git_odb_add_alternate","git_odb_add_backend","git_odb_exists","git_odb_free","git_odb_new","git_odb_open","git_odb_open_rstream","git_odb_open_wstream","git_odb_read","git_odb_read_header","git_odb_read_prefix","git_odb_write","git_repository_odb","git_repository_set_odb"]}}],["git_odb_backend",{"type":"struct","value":"git_odb_backend","file":"odb_backend.h","line":26,"lineto":75,"block":"git_odb *odb\nint (* read)(void **, size_t *, git_otype *, struct git_odb_backend *, const git_oid *)\nint (* read_prefix)(git_oid *, void **, size_t *, git_otype *, struct git_odb_backend *, const git_oid *, unsigned int)\nint (* read_header)(size_t *, git_otype *, struct git_odb_backend *, const git_oid *)\nint (* write)(git_oid *, struct git_odb_backend *, const void *, size_t, git_otype)\nint (* writestream)(struct git_odb_stream **, struct git_odb_backend *, size_t, git_otype)\nint (* readstream)(struct git_odb_stream **, struct git_odb_backend *, const git_oid *)\nint (* exists)(struct git_odb_backend *, const git_oid *)\nvoid (* free)(struct git_odb_backend *)","tdef":null,"comments":"An instance for a custom backend","used":{"returns":[],"needs":["git_odb_add_alternate","git_odb_add_backend"]}}],["git_odb_object",{"type":"struct","value":"git_odb_object","file":"types.h","line":84,"lineto":84,"block":"","tdef":"typedef","comments":"An object read from the ODB","used":{"returns":[],"needs":["git_odb_object_data","git_odb_object_free","git_odb_object_id","git_odb_object_size","git_odb_object_type","git_odb_read","git_odb_read_prefix"]}}],["git_odb_stream",{"type":"struct","value":"git_odb_stream","file":"odb_backend.h","line":85,"lineto":100,"block":"struct git_odb_backend *backend\nint mode\nint (*read)(struct git_odb_stream *stream, char *buffer, size_t len)\nint (*write)(struct git_odb_stream *stream, const char *buffer, size_t len)\nint (*finalize_write)(git_oid *oid_p, struct git_odb_stream *stream)\nvoid (*free)(struct git_odb_stream *stream)","tdef":null,"comments":"A stream to read/write from a backend","used":{"returns":[],"needs":["git_odb_open_rstream","git_odb_open_wstream"]}}],["git_oid",{"type":"struct","value":"git_oid","file":"oid.h","line":33,"lineto":37,"block":"","tdef":"typedef","comments":"Unique identity of any object (commit, tree, blob, tag).","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_frombuffer","git_blob_create_fromdisk","git_blob_create_fromfile","git_blob_lookup","git_blob_lookup_prefix","git_branch_create","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_hash","git_odb_hashfile","git_odb_open_rstream","git_odb_read","git_odb_read_header","git_odb_read_prefix","git_odb_write","git_oid_allocfmt","git_oid_cmp","git_oid_cpy","git_oid_fmt","git_oid_fromraw","git_oid_fromstr","git_oid_fromstrn","git_oid_iszero","git_oid_ncmp","git_oid_pathfmt","git_oid_streq","git_oid_tostr","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",{"type":"struct","value":"git_oid_shorten","file":"oid.h","line":170,"lineto":170,"block":"","tdef":"typedef","comments":"OID Shortener object","used":{"returns":["git_oid_shorten_new"],"needs":["git_oid_shorten_add","git_oid_shorten_free"]}}],["git_otype",{"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","comments":"Basic type (loose or packed) of any Git object.","used":{"returns":[],"needs":["git_object__size","git_object_lookup","git_object_lookup_prefix","git_object_type2string","git_object_typeisloose","git_odb_hash","git_odb_hashfile","git_odb_open_wstream","git_odb_read_header","git_odb_write"]}}],["git_ref_t",{"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","comments":"Basic type of any Git reference.","used":{"returns":[],"needs":[]}}],["git_reference",{"type":"struct","value":"git_reference","file":"types.h","line":151,"lineto":151,"block":"","tdef":"typedef","comments":"In-memory representation of a reference.","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",{"type":"struct","value":"git_reflog","file":"types.h","line":132,"lineto":132,"block":"","tdef":"typedef","comments":"Representation of a reference log","used":{"returns":[],"needs":["git_reflog_entry_byindex","git_reflog_entrycount","git_reflog_free","git_reflog_read"]}}],["git_reflog_entry",{"type":"struct","value":"git_reflog_entry","file":"types.h","line":129,"lineto":129,"block":"","tdef":"typedef","comments":"Representation of a reference log entry","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",{"type":"struct","value":"git_remote_head","file":"net.h","line":37,"lineto":42,"block":"int local:1\ngit_oid oid\ngit_oid loid\nchar *name","tdef":null,"comments":"Remote head description, given out on `ls` calls.","used":{"returns":[],"needs":[]}}],["git_repository",{"type":"struct","value":"git_repository","file":"types.h","line":93,"lineto":93,"block":"","tdef":"typedef","comments":"Representation of an existing git repository,\nincluding all its object contents","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_attr_get_many","git_blob_create_frombuffer","git_blob_create_fromdisk","git_blob_create_fromfile","git_blob_lookup","git_blob_lookup_prefix","git_branch_create","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",{"type":"struct","value":"git_revwalk","file":"types.h","line":99,"lineto":99,"block":"","tdef":"typedef","comments":"Representation of an in-progress walk through the commits in a repo","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",{"type":"struct","value":"git_signature","file":"types.h","line":144,"lineto":148,"block":"char *name\nchar *email\ngit_time when","tdef":"typedef","comments":"An action signature (e.g. for committers, taggers, etc)","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_options",{"type":"struct","value":"git_status_options","file":"status.h","line":113,"lineto":117,"block":"git_status_show_t show\nunsigned int flags\ngit_strarray pathspec","tdef":"typedef","comments":"Options to control how callbacks will be made by\n`git_status_foreach_ext()`.","used":{"returns":[],"needs":["git_status_foreach_ext"]}}],["git_status_show_t",{"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","comments":"Select the files on which to report status.\n\n- GIT_STATUS_SHOW_INDEX_AND_WORKDIR is the default. This is the\n rough equivalent of `git status --porcelain` where each file\n will receive a callback indicating its status in the index and\n in the workdir.\n- GIT_STATUS_SHOW_INDEX_ONLY will only make callbacks for index\n side of status. The status of the index contents relative to\n the HEAD will be given.\n- GIT_STATUS_SHOW_WORKDIR_ONLY will only make callbacks for the\n workdir side of status, reporting the status of workdir content\n relative to the index.\n- GIT_STATUS_SHOW_INDEX_THEN_WORKDIR behaves like index-only\n followed by workdir-only, causing two callbacks to be issued\n per file (first index then workdir). This is slightly more\n efficient than making separate calls. This makes it easier to\n emulate the output of a plain `git status`.","used":{"returns":[],"needs":[]}}],["git_submodule",{"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","comments":"Description of submodule\n\nThis record describes a submodule found in a repository. There\nshould be an entry for every submodule found in the HEAD and for\nevery submodule described in .gitmodules. The fields are as follows:\n\n- `name` is the name of the submodule from .gitmodules.\n- `path` is the path to the submodule from the repo working directory.\n It is almost always the same as `name`.\n- `url` is the url for the submodule.\n- `oid` is the HEAD SHA1 for the submodule.\n- `update` is a value from above - see gitmodules(5) update.\n- `ignore` is a value from above - see gitmodules(5) ignore.\n- `fetch_recurse` is 0 or 1 - see gitmodules(5) fetchRecurseSubmodules.\n- `refcount` is for internal use.\n\nIf the submodule has been added to .gitmodules but not yet git added,\nthen the `oid` will be zero. If the submodule has been deleted, but\nthe delete has not been committed yet, then the `oid` will be set, but\nthe `url` will be NULL.","used":{"returns":[],"needs":["git_submodule_lookup"]}}],["git_tag",{"type":"struct","value":"git_tag","file":"types.h","line":102,"lineto":102,"block":"","tdef":"typedef","comments":"Parsed representation of a tag object.","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",{"type":"struct","value":"git_time","file":"types.h","line":138,"lineto":141,"block":"git_time_t time\nint offset","tdef":"typedef","comments":"Time in a signature","used":{"returns":[],"needs":[]}}],["git_tree",{"type":"struct","value":"git_tree","file":"types.h","line":114,"lineto":114,"block":"","tdef":"typedef","comments":"Representation of a tree object.","used":{"returns":[],"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_byindex","git_tree_entry_byname","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_create"]}}],["git_tree_entry",{"type":"struct","value":"git_tree_entry","file":"types.h","line":111,"lineto":111,"block":"","tdef":"typedef","comments":"Representation of each one of the entries in a tree object.","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_treebuilder",{"type":"struct","value":"git_treebuilder","file":"types.h","line":117,"lineto":117,"block":"","tdef":"typedef","comments":"Constructor for in-memory trees","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_cb",{"type":"function pointer","value":"git_treewalk_cb","file":"tree.h","line":286,"lineto":286,"comments":"Callback for the tree traversal method","used":{"returns":[],"needs":["git_tree_walk"]}}]],"prefix":"include/git2","groups":[["attr",["git_attr_add_macro","git_attr_cache_flush","git_attr_foreach","git_attr_get","git_attr_get_many"]],["blob",["git_blob_create_frombuffer","git_blob_create_fromdisk","git_blob_create_fromfile","git_blob_free","git_blob_lookup","git_blob_lookup_prefix","git_blob_rawcontent","git_blob_rawsize"]],["branch",["git_branch_create","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_find_global","git_config_find_system","git_config_foreach","git_config_free","git_config_get_bool","git_config_get_int32","git_config_get_int64","git_config_get_mapped","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_add","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__size","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_hash","git_odb_hashfile","git_odb_new","git_odb_object_data","git_odb_object_free","git_odb_object_id","git_odb_object_size","git_odb_object_type","git_odb_open","git_odb_open_rstream","git_odb_open_wstream","git_odb_read","git_odb_read_header","git_odb_read_prefix","git_odb_write"]],["oid",["git_oid_allocfmt","git_oid_cmp","git_oid_cpy","git_oid_fmt","git_oid_fromraw","git_oid_fromstr","git_oid_fromstrn","git_oid_iszero","git_oid_ncmp","git_oid_pathfmt","git_oid_shorten_add","git_oid_shorten_free","git_oid_shorten_new","git_oid_streq","git_oid_tostr"]],["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","git_refspec_transform"]],["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_discover","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":[["showindex.c","ex/v0.17.0/showindex.html"],["network/ls-remote.c","ex/v0.17.0/ls-remote.html"],["network/index-pack.c","ex/v0.17.0/index-pack.html"],["network/git2.c","ex/v0.17.0/git2.html"],["network/fetch.c","ex/v0.17.0/fetch.html"],["general.c","ex/v0.17.0/general.html"],["diff.c","ex/v0.17.0/diff.html"]]} \ No newline at end of file
diff --git a/v0.2.0.json b/v0.2.0.json
index 66973c5d5..f73f8c2d7 100644
--- a/v0.2.0.json
+++ b/v0.2.0.json
@@ -1 +1 @@
-{"files":[{"file":"common.h","functions":[],"meta":{"brief":"Git common platform definitions","defgroup":"git_common Git common platform definitions","ingroup":"Git","comments":"\n"},"lines":149},{"file":"blob.h","functions":["git_blob_lookup","git_blob_new","git_blob_set_rawcontent_fromfile","git_blob_set_rawcontent","git_blob_rawcontent","git_blob_rawsize","git_blob_writefile"],"meta":{"brief":"Git blob load and write routines","defgroup":"git_blob Git blob load and write routines","ingroup":"Git","comments":"\n"},"lines":121},{"file":"index.h","functions":["git_index_open_bare","git_index_open_inrepo","git_index_clear","git_index_free","git_index_read","git_index_write","git_index_find","git_index_add","git_index_remove","git_index_insert","git_index_get","git_index_entrycount"],"meta":{"brief":"Git index parsing and manipulation routines","defgroup":"git_index Git index parsing and manipulation routines","ingroup":"Git","comments":"\n"},"lines":197},{"file":"repository.h","functions":["git_repository_open","git_repository_open2","git_repository_lookup","git_repository_database","git_repository_index","git_repository_newobject","git_repository_free"],"meta":{"brief":"Git repository management routines","defgroup":"git_repository Git repository management routines","ingroup":"Git","comments":"\n"},"lines":167},{"file":"tag.h","functions":["git_tag_lookup","git_tag_new","git_tag_id","git_tag_target","git_tag_type","git_tag_name","git_tag_tagger","git_tag_message","git_tag_set_target","git_tag_set_name","git_tag_set_tagger","git_tag_set_message"],"meta":{"brief":"Git tag parsing routines","defgroup":"git_tag Git tag management","ingroup":"Git","comments":"\n"},"lines":140},{"file":"odb_backend.h","functions":[],"meta":{"brief":"Git custom backend functions","defgroup":"git_backend Git custom backend API","ingroup":"Git","comments":"\n"},"lines":71},{"file":"commit.h","functions":["git_commit_lookup","git_commit_new","git_commit_id","git_commit_message_short","git_commit_message","git_commit_time","git_commit_committer","git_commit_author","git_commit_tree","git_commit_parentcount","git_commit_parent","git_commit_add_parent","git_commit_set_message","git_commit_set_committer","git_commit_set_author","git_commit_set_tree"],"meta":{"brief":"Git commit parsing, formatting routines","defgroup":"git_commit Git commit parsing, formatting routines","ingroup":"Git","comments":"\n"},"lines":174},{"file":"types.h","functions":[],"meta":{"brief":"libgit2 base types","ingroup":"Git","comments":"\n"},"lines":88},{"file":"zlib.h","functions":["deflateBound"],"meta":{"brief":"Git data compression routines","defgroup":"git_zlib Git data compression routines","ingroup":"Git","comments":"\n"},"lines":58},{"file":"tree.h","functions":["git_tree_lookup","git_tree_new","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_2object","git_tree_add_entry","git_tree_remove_entry_byindex","git_tree_remove_entry_byname","git_tree_entry_set_id","git_tree_entry_set_name","git_tree_entry_set_attributes"],"meta":{"brief":"Git tree parsing, loading routines","defgroup":"git_tree Git tree parsing, loading routines","ingroup":"Git","comments":"\n"},"lines":202},{"file":"odb.h","functions":["git_odb_new","git_odb_open","git_odb_add_backend","git_odb_close","git_odb_read","git_odb_read_header","git_odb_write","git_odb_exists","git_rawobj_hash","git_rawobj_close"],"meta":{"brief":"Git object database routines","defgroup":"git_odb Git object database routines","ingroup":"Git","comments":"\n"},"lines":184},{"file":"thread-utils.h","functions":[],"meta":{},"lines":80},{"file":"oid.h","functions":["git_oid_mkstr","git_oid_mkraw","git_oid_fmt","git_oid_pathfmt","git_oid_allocfmt","git_oid_to_string","git_oid_cpy","git_oid_cmp"],"meta":{"brief":"Git object id routines","defgroup":"git_oid Git object id routines","ingroup":"Git","comments":"\n"},"lines":134},{"file":"errors.h","functions":["git_strerror"],"meta":{"brief":"Git error handling routines and variables","ingroup":"Git","comments":"\n"},"lines":55},{"file":"revwalk.h","functions":["git_revwalk_new","git_revwalk_reset","git_revwalk_push","git_revwalk_hide","git_revwalk_next","git_revwalk_sorting","git_revwalk_free","git_revwalk_repository"],"meta":{"brief":"Git revision traversal routines","defgroup":"git_revwalk Git revision traversal routines","ingroup":"Git","comments":"\n"},"lines":133},{"file":"object.h","functions":["git_object_write","git_object_id","git_object_type","git_object_owner","git_object_free","git_object_type2string","git_object_string2type","git_object_typeisloose"],"meta":{"brief":"Git revision object management routines","defgroup":"git_object Git revision object management routines","ingroup":"Git","comments":"\n"},"lines":132}],"functions":{"git_blob_lookup":{"type":"function","file":"blob.h","line":51,"lineto":51,"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 on success; error code otherwise"},"description":"Lookup a blob object from a repository.\nThe generated blob object is owned by the revision\nrepo and shall not be freed by the user.","comments":"","group":"blob"},"git_blob_new":{"type":"function","file":"blob.h","line":64,"lineto":64,"args":[{"name":"blob","type":"git_blob **","comment":"pointer to the new blob"},{"name":"repo","type":"git_repository *","comment":"The repository where the object will reside"}],"argline":"git_blob **blob, git_repository *repo","sig":"git_blob **::git_repository *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Create a new in-memory git_blob.","comments":"The blob object must be manually filled using\nthe 'set_rawcontent' methods before it can\nbe written back to disk.\n","group":"blob"},"git_blob_set_rawcontent_fromfile":{"type":"function","file":"blob.h","line":74,"lineto":74,"args":[{"name":"blob","type":"git_blob *","comment":"pointer to the new blob"},{"name":"filename","type":"const char *","comment":"name of the file to read"}],"argline":"git_blob *blob, const char *filename","sig":"git_blob *::const char *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Fill a blob with the contents inside\nthe pointed file.","comments":"","group":"blob"},"git_blob_set_rawcontent":{"type":"function","file":"blob.h","line":85,"lineto":85,"args":[{"name":"blob","type":"git_blob *","comment":"pointer to the blob"},{"name":"buffer","type":"const void *","comment":"buffer with the contents for the blob"},{"name":"len","type":"size_t","comment":"size of the buffer"}],"argline":"git_blob *blob, const void *buffer, size_t len","sig":"git_blob *::const void *::size_t","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Fill a blob with the contents inside\nthe pointed buffer","comments":"","group":"blob"},"git_blob_rawcontent":{"type":"function","file":"blob.h","line":98,"lineto":98,"args":[{"name":"blob","type":"git_blob *","comment":"pointer to the blob"}],"argline":"git_blob *blob","sig":"git_blob *","return":{"type":"const char *","comment":"the pointer; NULL if the blob has no contents"},"description":"Get a read-only buffer with the raw content of a blob.","comments":"A pointer to the raw content of a blob is returned;\nthis pointer is owned internally by the object and shall\nnot be free'd. The pointer may be invalidated at a later\ntime (e.g. when changing the contents of the blob).\n","group":"blob"},"git_blob_rawsize":{"type":"function","file":"blob.h","line":106,"lineto":106,"args":[{"name":"blob","type":"git_blob *","comment":"pointer to the blob"}],"argline":"git_blob *blob","sig":"git_blob *","return":{"type":"int","comment":"size on bytes"},"description":"Get the size in bytes of the contents of a blob","comments":"","group":"blob"},"git_blob_writefile":{"type":"function","file":"blob.h","line":117,"lineto":117,"args":[{"name":"written_id","type":"git_oid *","comment":"return the id of the written blob"},{"name":"repo","type":"git_repository *","comment":"repository where the blob will be written"},{"name":"path","type":"const char *","comment":"file from which the blob will be created"}],"argline":"git_oid *written_id, git_repository *repo, const char *path","sig":"git_oid *::git_repository *::const char *","return":{"type":"int"},"description":"Read a file from the working folder of a repository\nand write it to the Object Database as a loose blob,\nif such doesn't exist yet.","comments":"","group":"blob"},"git_index_open_bare":{"type":"function","file":"index.h","line":86,"lineto":86,"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 on success; error code otherwise"},"description":"Create a new Git index object as a memory representation\nof the Git index file in 'index_path', without a repository\nto back it.","comments":"Since there is no ODB behind this index, any Index methods\nwhich rely on the ODB (e.g. index_add) will fail with the\nGIT_EBAREINDEX error code.\n","group":"index"},"git_index_open_inrepo":{"type":"function","file":"index.h","line":96,"lineto":96,"args":[{"name":"index","type":"git_index **","comment":"_path the path to the index file in disk"},{"name":"repo","type":"git_repository *","comment":"the git repo which owns the index"}],"argline":"git_index **index, git_repository *repo","sig":"git_index **::git_repository *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Open the Index inside the git repository pointed\nby 'repo'.","comments":"","group":"index"},"git_index_clear":{"type":"function","file":"index.h","line":105,"lineto":105,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"void"},"description":"Clear the contents (all the entries) of an index object.\nThis clears the index object in memory; changes must be manually\nwritten to disk for them to take effect.","comments":"","group":"index"},"git_index_free":{"type":"function","file":"index.h","line":112,"lineto":112,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"void"},"description":"Free an existing index object.","comments":"","group":"index"},"git_index_read":{"type":"function","file":"index.h","line":121,"lineto":121,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"int","comment":"0 on success, otherwise an error code"},"description":"Update the contents of an existing index object in memory\nby reading from the hard disk.","comments":"","group":"index"},"git_index_write":{"type":"function","file":"index.h","line":130,"lineto":130,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"int","comment":"0 on success, otherwise an error code"},"description":"Write an existing index object from memory back to disk\nusing an atomic file lock.","comments":"","group":"index"},"git_index_find":{"type":"function","file":"index.h","line":140,"lineto":140,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"},{"name":"path","type":"const char *","comment":"path to search"}],"argline":"git_index *index, const char *path","sig":"git_index *::const char *","return":{"type":"int","comment":"an index >= 0 if found, -1 otherwise"},"description":"Find the first index of any entires which point to given\npath in the Git index.","comments":"","group":"index"},"git_index_add":{"type":"function","file":"index.h","line":150,"lineto":150,"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 on success, otherwise an error code"},"description":"Add or update an index entry from a file in disk.","comments":"","group":"index"},"git_index_remove":{"type":"function","file":"index.h","line":159,"lineto":159,"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 on success, otherwise an error code"},"description":"Remove an entry from the index","comments":"","group":"index"},"git_index_insert":{"type":"function","file":"index.h","line":172,"lineto":172,"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 on success, otherwise an error code"},"description":"Insert an entry into the index.\nA full copy (including the 'path' string) of the given\n'source_entry' will be inserted on the index; if the index\nalready contains an entry for the same path, the entry\nwill be updated.","comments":"","group":"index"},"git_index_get":{"type":"function","file":"index.h","line":184,"lineto":184,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"},{"name":"n","type":"int","comment":"the position of the entry"}],"argline":"git_index *index, int n","sig":"git_index *::int","return":{"type":"git_index_entry *","comment":"a pointer to the entry; NULL if out of bounds"},"description":"Get a pointer to one of the entries in the index","comments":"This entry can be modified, and the changes will be written\nback to disk on the next write() call.\n","group":"index"},"git_index_entrycount":{"type":"function","file":"index.h","line":192,"lineto":192,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"unsigned int","comment":"integer of count of current entries"},"description":"Get the count of entries currently in the index","comments":"","group":"index"},"git_repository_open":{"type":"function","file":"repository.h","line":64,"lineto":64,"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 on sucess; error code otherwise"},"description":"Open a git repository.","comments":"The 'path' argument must point to an existing git repository\nfolder, e.g.\n\n\t/path/to/my_repo/.git/\t(normal repository)\n\t\t\t\t\t\tobjects/\n\t\t\t\t\t\tindex\n\t\t\t\t\t\tHEAD\n\n\t/path/to/bare_repo/\t\t(bare repository)\n\t\t\t\t\tobjects/\n\t\t\t\t\tindex\n\t\t\t\t\tHEAD\n\nThe method will automatically detect if 'path' is a normal\nor bare repository or fail is 'path' is neither.\n","group":"repository"},"git_repository_open2":{"type":"function","file":"repository.h","line":93,"lineto":97,"args":[{"name":"repository","type":"git_repository **","comment":"pointer to the repo which will be opened"},{"name":"git_dir","type":"const char *","comment":"The full path to the repository folder e.g. a '.git' folder for live repos, any folder for bare Equivalent to $GIT_DIR. Cannot be NULL."},{"name":"git_object_directory","type":"const char *","comment":"The full path to the ODB folder. the folder where all the loose and packed objects are stored Equivalent to $GIT_OBJECT_DIRECTORY. If NULL, \"$GIT_DIR/objects/\" is assumed."},{"name":"git_index_file","type":"const char *","comment":"The full path to the index (dircache) file Equivalent to $GIT_INDEX_FILE. If NULL, \"$GIT_DIR/index\" is assumed."},{"name":"git_work_tree","type":"const char *","comment":"The full path to the working tree of the repository, if the repository is not bare. Equivalent to $GIT_WORK_TREE. If NULL, the repository is assumed to be bare."}],"argline":"git_repository **repository,\n\t\tconst char *git_dir,\n\t\tconst char *git_object_directory,\n\t\tconst char *git_index_file,\n\t\tconst char *git_work_tree","sig":"git_repository **::const char *::const char *::const char *::const char *","return":{"type":"int","comment":"0 on sucess; error code otherwise"},"description":"Open a git repository by manually specifying all its paths","comments":"","group":"repository"},"git_repository_lookup":{"type":"function","file":"repository.h","line":117,"lineto":117,"args":[{"name":"object","type":"git_object **","comment":"pointer to the looked-up object"},{"name":"repo","type":"git_repository *","comment":"the repository to look up the object"},{"name":"id","type":"const git_oid *","comment":"the unique identifier for the object"},{"name":"type","type":"git_otype","comment":"the type of the object"}],"argline":"git_object **object, git_repository *repo, const git_oid *id, git_otype type","sig":"git_object **::git_repository *::const git_oid *::git_otype","return":{"type":"int","comment":"a reference to the object"},"description":"Lookup a reference to one of the objects in the repostory.","comments":"The generated reference is owned by the repository and\nshould not be freed by the user.\n\nThe 'type' parameter must match the type of the object\nin the odb; the method will fail otherwise.\nThe special value 'GIT_OBJ_ANY' may be passed to let\nthe method guess the object's type.\n","group":"repository"},"git_repository_database":{"type":"function","file":"repository.h","line":125,"lineto":125,"args":[{"name":"repo","type":"git_repository *","comment":"a repository object"}],"argline":"git_repository *repo","sig":"git_repository *","return":{"type":"git_odb *","comment":"a pointer to the object db"},"description":"Get the object database behind a Git repository","comments":"","group":"repository"},"git_repository_index":{"type":"function","file":"repository.h","line":134,"lineto":134,"args":[{"name":"rpeo","type":"git_repository *"}],"argline":"git_repository *rpeo","sig":"git_repository *","return":{"type":"git_index *","comment":"a pointer to the Index object; NULL if the index cannot be opened"},"description":"Get the Index file of a Git repository","comments":"","group":"repository"},"git_repository_newobject":{"type":"function","file":"repository.h","line":157,"lineto":157,"args":[{"name":"object","type":"git_object **","comment":"pointer to the new object @parem repo Repository where the object belongs"},{"name":"repo","type":"git_repository *"},{"name":"type","type":"git_otype","comment":"Type of the object to be created"}],"argline":"git_object **object, git_repository *repo, git_otype type","sig":"git_object **::git_repository *::git_otype","return":{"type":"int","comment":"the new object"},"description":"Create a new in-memory repository object with\nthe given type.","comments":"The object's attributes can be filled in using the\ncorresponding setter methods.\n\nThe object will be written back to given git_repository\nwhen the git_object_write() function is called; objects\ncannot be written to disk until all their main\nattributes have been properly filled.\n\nObjects are instantiated with no SHA1 id; their id\nwill be automatically generated when writing to the\nrepository.\n","group":"repository"},"git_repository_free":{"type":"function","file":"repository.h","line":163,"lineto":163,"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"},"description":"Free a previously allocated repository\n@param repo repository handle to close. If NULL nothing occurs.","comments":"","group":"repository"},"git_tag_lookup":{"type":"function","file":"tag.h","line":51,"lineto":51,"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 on success; error code otherwise"},"description":"Lookup a tag object from the repository.\nThe generated tag object is owned by the revision\nrepo and shall not be freed by the user.","comments":"","group":"tag"},"git_tag_new":{"type":"function","file":"tag.h","line":64,"lineto":64,"args":[{"name":"tag","type":"git_tag **","comment":"pointer to the new tag"},{"name":"repo","type":"git_repository *","comment":"The repository where the object will reside"}],"argline":"git_tag **tag, git_repository *repo","sig":"git_tag **::git_repository *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Create a new in-memory git_tag.","comments":"The tag object must be manually filled using\nsetter methods before it can be written to its\nrepository.\n","group":"tag"},"git_tag_id":{"type":"function","file":"tag.h","line":71,"lineto":71,"args":[{"name":"tag","type":"git_tag *","comment":"a previously loaded tag."}],"argline":"git_tag *tag","sig":"git_tag *","return":{"type":"const git_oid *","comment":"object identity for the tag."},"description":"Get the id of a tag.\n@param tag a previously loaded tag.\n@return object identity for the tag.","comments":"","group":"tag"},"git_tag_target":{"type":"function","file":"tag.h","line":78,"lineto":78,"args":[{"name":"t","type":"git_tag *","comment":"ag a previously loaded tag."}],"argline":"git_tag *t","sig":"git_tag *","return":{"type":"const git_object *","comment":"reference to a repository object"},"description":"Get the tagged object of a tag\n@param tag a previously loaded tag.\n@return reference to a repository object","comments":"","group":"tag"},"git_tag_type":{"type":"function","file":"tag.h","line":85,"lineto":85,"args":[{"name":"t","type":"git_tag *","comment":"ag a previously loaded tag."}],"argline":"git_tag *t","sig":"git_tag *","return":{"type":"git_otype","comment":"type of the tagged object"},"description":"Get the type of a tag's tagged object\n@param tag a previously loaded tag.\n@return type of the tagged object","comments":"","group":"tag"},"git_tag_name":{"type":"function","file":"tag.h","line":92,"lineto":92,"args":[{"name":"t","type":"git_tag *","comment":"ag a previously loaded tag."}],"argline":"git_tag *t","sig":"git_tag *","return":{"type":"const char *","comment":"name of the tag"},"description":"Get the name of a tag\n@param tag a previously loaded tag.\n@return name of the tag","comments":"","group":"tag"},"git_tag_tagger":{"type":"function","file":"tag.h","line":99,"lineto":99,"args":[{"name":"t","type":"git_tag *","comment":"ag a previously loaded tag."}],"argline":"git_tag *t","sig":"git_tag *","return":{"type":"const git_person *","comment":"reference to the tag's author"},"description":"Get the tagger (author) of a tag\n@param tag a previously loaded tag.\n@return reference to the tag's author","comments":"","group":"tag"},"git_tag_message":{"type":"function","file":"tag.h","line":106,"lineto":106,"args":[{"name":"t","type":"git_tag *","comment":"ag a previously loaded tag."}],"argline":"git_tag *t","sig":"git_tag *","return":{"type":"const char *","comment":"message of the tag"},"description":"Get the message of a tag\n@param tag a previously loaded tag.\n@return message of the tag","comments":"","group":"tag"},"git_tag_set_target":{"type":"function","file":"tag.h","line":113,"lineto":113,"args":[{"name":"tag","type":"git_tag *","comment":"The tag to modify"},{"name":"target","type":"git_object *","comment":"the new tagged target"}],"argline":"git_tag *tag, git_object *target","sig":"git_tag *::git_object *","return":{"type":"void"},"description":"Set the target of a tag (i.e. the object that the tag points to)\n@param tag The tag to modify\n@param target the new tagged target","comments":"","group":"tag"},"git_tag_set_name":{"type":"function","file":"tag.h","line":120,"lineto":120,"args":[{"name":"tag","type":"git_tag *","comment":"The tag to modify"},{"name":"name","type":"const char *","comment":"the new name for the tag"}],"argline":"git_tag *tag, const char *name","sig":"git_tag *::const char *","return":{"type":"void"},"description":"Set the name of a tag\n@param tag The tag to modify\n@param name the new name for the tag","comments":"","group":"tag"},"git_tag_set_tagger":{"type":"function","file":"tag.h","line":129,"lineto":129,"args":[{"name":"tag","type":"git_tag *","comment":"The tag to modify"},{"name":"name","type":"const char *","comment":"the name of the new tagger"},{"name":"email","type":"const char *","comment":"the email of the new tagger"},{"name":"time","type":"time_t","comment":"the time when the tag was created"}],"argline":"git_tag *tag, const char *name, const char *email, time_t time","sig":"git_tag *::const char *::const char *::time_t","return":{"type":"void"},"description":"Set the tagger of a tag\n@param tag The tag to modify\n@param name the name of the new tagger\n@param email the email of the new tagger\n@param time the time when the tag was created","comments":"","group":"tag"},"git_tag_set_message":{"type":"function","file":"tag.h","line":136,"lineto":136,"args":[{"name":"tag","type":"git_tag *","comment":"The tag to modify"},{"name":"message","type":"const char *","comment":"the new tagger for the tag"}],"argline":"git_tag *tag, const char *message","sig":"git_tag *::const char *","return":{"type":"void"},"description":"Set the message of a tag\n@param tag The tag to modify\n@param message the new tagger for the tag","comments":"","group":"tag"},"git_commit_lookup":{"type":"function","file":"commit.h","line":52,"lineto":52,"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 an 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 on success; error code otherwise"},"description":"Lookup a commit object from a repository.\nThe generated commit object is owned by the revision\nrepo and shall not be freed by the user.","comments":"","group":"commit"},"git_commit_new":{"type":"function","file":"commit.h","line":65,"lineto":65,"args":[{"name":"commit","type":"git_commit **","comment":"pointer to the new commit"},{"name":"repo","type":"git_repository *","comment":"The repository where the object will reside"}],"argline":"git_commit ** commit, git_repository *repo","sig":"git_commit **::git_repository *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Create a new in-memory git_commit.","comments":"The commit object must be manually filled using\nsetter methods before it can be written to its\nrepository.\n","group":"commit"},"git_commit_id":{"type":"function","file":"commit.h","line":72,"lineto":72,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"const git_oid *","comment":"object identity for the commit."},"description":"Get the id of a commit.\n@param commit a previously loaded commit.\n@return object identity for the commit.","comments":"","group":"commit"},"git_commit_message_short":{"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 char *","comment":"the short message of a commit"},"description":"Get the short (one line) message of a commit.\n@param commit a previously loaded commit.\n@return the short message of a commit","comments":"","group":"commit"},"git_commit_message":{"type":"function","file":"commit.h","line":86,"lineto":86,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"const char *","comment":"the message of a commit"},"description":"Get the full message of a commit.\n@param commit a previously loaded commit.\n@return the message of a commit","comments":"","group":"commit"},"git_commit_time":{"type":"function","file":"commit.h","line":93,"lineto":93,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"time_t","comment":"the time of a commit"},"description":"Get the commit time (i.e. committer time) of a commit.\n@param commit a previously loaded commit.\n@return the time of a commit","comments":"","group":"commit"},"git_commit_committer":{"type":"function","file":"commit.h","line":100,"lineto":100,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"const git_person *","comment":"the committer of a commit"},"description":"Get the committer of a commit.\n@param commit a previously loaded commit.\n@return the committer of a commit","comments":"","group":"commit"},"git_commit_author":{"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":"const git_person *","comment":"the author of a commit"},"description":"Get the author of a commit.\n@param commit a previously loaded commit.\n@return the author of a commit","comments":"","group":"commit"},"git_commit_tree":{"type":"function","file":"commit.h","line":114,"lineto":114,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"const git_tree *","comment":"the tree of a commit"},"description":"Get the tree pointed to by a commit.\n@param commit a previously loaded commit.\n@return the tree of a commit","comments":"","group":"commit"},"git_commit_parentcount":{"type":"function","file":"commit.h","line":122,"lineto":122,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"unsigned int","comment":"integer of count of parents"},"description":"Get the number of parents of this commit","comments":"","group":"commit"},"git_commit_parent":{"type":"function","file":"commit.h","line":130,"lineto":130,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."},{"name":"n","type":"unsigned int","comment":"the position of the entry"}],"argline":"git_commit *commit, unsigned int n","sig":"git_commit *::unsigned int","return":{"type":"git_commit *","comment":"a pointer to the commit; NULL if out of bounds"},"description":"Get the specified parent of the commit.\n@param commit a previously loaded commit.\n@param n the position of the entry\n@return a pointer to the commit; NULL if out of bounds","comments":"","group":"commit"},"git_commit_add_parent":{"type":"function","file":"commit.h","line":138,"lineto":138,"args":[{"name":"commit","type":"git_commit *","comment":"the commit object"},{"name":"new_parent","type":"git_commit *","comment":"the new commit which will be a parent"}],"argline":"git_commit *commit, git_commit *new_parent","sig":"git_commit *::git_commit *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Add a new parent commit to an existing commit\n@param commit the commit object\n@param new_parent the new commit which will be a parent\n@return 0 on success; error code otherwise","comments":"","group":"commit"},"git_commit_set_message":{"type":"function","file":"commit.h","line":145,"lineto":145,"args":[{"name":"commit","type":"git_commit *","comment":"the commit object"},{"name":"message","type":"const char *","comment":"the new message"}],"argline":"git_commit *commit, const char *message","sig":"git_commit *::const char *","return":{"type":"void"},"description":"Set the message of a commit\n@param commit the commit object\n@param message the new message","comments":"","group":"commit"},"git_commit_set_committer":{"type":"function","file":"commit.h","line":154,"lineto":154,"args":[{"name":"commit","type":"git_commit *","comment":"the commit object"},{"name":"name","type":"const char *","comment":"name of the new committer"},{"name":"email","type":"const char *","comment":"email of the new committer"},{"name":"time","type":"time_t","comment":"time when the committer committed the commit"}],"argline":"git_commit *commit, const char *name, const char *email, time_t time","sig":"git_commit *::const char *::const char *::time_t","return":{"type":"void"},"description":"Set the committer of a commit\n@param commit the commit object\n@param name name of the new committer\n@param email email of the new committer\n@param time time when the committer committed the commit","comments":"","group":"commit"},"git_commit_set_author":{"type":"function","file":"commit.h","line":163,"lineto":163,"args":[{"name":"commit","type":"git_commit *","comment":"the commit object"},{"name":"name","type":"const char *","comment":"name of the new author"},{"name":"email","type":"const char *","comment":"email of the new author"},{"name":"time","type":"time_t","comment":"time when the author created the commit"}],"argline":"git_commit *commit, const char *name, const char *email, time_t time","sig":"git_commit *::const char *::const char *::time_t","return":{"type":"void"},"description":"Set the author of a commit\n@param commit the commit object\n@param name name of the new author\n@param email email of the new author\n@param time time when the author created the commit","comments":"","group":"commit"},"git_commit_set_tree":{"type":"function","file":"commit.h","line":170,"lineto":170,"args":[{"name":"commit","type":"git_commit *","comment":"the commit object"},{"name":"tree","type":"git_tree *","comment":"the new tree"}],"argline":"git_commit *commit, git_tree *tree","sig":"git_commit *::git_tree *","return":{"type":"void"},"description":"Set the tree which is pointed to by a commit\n@param commit the commit object\n@param tree the new tree","comments":"","group":"commit"},"deflateBound":{"type":"function","file":"zlib.h","line":50,"lineto":54,"args":[{"name":"stream","type":"z_streamp","comment":"the stream pointer."},{"name":"s","type":"size_t","comment":"tream the stream pointer."}],"argline":"z_streamp stream, size_t s","sig":"z_streamp::size_t","return":{"type":"size_t","comment":"maximum length of the compressed data."},"description":"deflateBound returns an upper bound on the compressed size.","comments":"This is a stub function used when zlib does not supply the\ndeflateBound() implementation itself.\n","group":"zlib"},"git_tree_lookup":{"type":"function","file":"tree.h","line":51,"lineto":51,"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 on success; error code otherwise"},"description":"Lookup a tree object from the repository.\nThe generated tree object is owned by the revision\nrepo and shall not be freed by the user.","comments":"","group":"tree"},"git_tree_new":{"type":"function","file":"tree.h","line":64,"lineto":64,"args":[{"name":"tree","type":"git_tree **","comment":"pointer to the new tree"},{"name":"repo","type":"git_repository *","comment":"The repository where the object will reside"}],"argline":"git_tree **tree, git_repository *repo","sig":"git_tree **::git_repository *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Create a new in-memory git_tree.","comments":"The tree object must be manually filled using\nsetter methods before it can be written to its\nrepository.\n","group":"tree"},"git_tree_id":{"type":"function","file":"tree.h","line":71,"lineto":71,"args":[{"name":"tree","type":"git_tree *","comment":"a previously loaded tree."}],"argline":"git_tree *tree","sig":"git_tree *","return":{"type":"const git_oid *","comment":"object identity for the tree."},"description":"Get the id of a tree.\n@param tree a previously loaded tree.\n@return object identity for the tree.","comments":"","group":"tree"},"git_tree_entrycount":{"type":"function","file":"tree.h","line":79,"lineto":79,"args":[{"name":"tree","type":"git_tree *","comment":"a previously loaded tree."}],"argline":"git_tree *tree","sig":"git_tree *","return":{"type":"size_t","comment":"the number of entries in the tree"},"description":"Get the number of entries listed in a tree\n@param tree a previously loaded tree.\n@return the number of entries in the tree","comments":"","group":"tree"},"git_tree_entry_byname":{"type":"function","file":"tree.h","line":87,"lineto":87,"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":"git_tree_entry *","comment":"the tree entry; NULL if not found"},"description":"Lookup a tree entry by its filename\n@param tree a previously loaded tree.\n@param filename the filename of the desired entry\n@return the tree entry; NULL if not found","comments":"","group":"tree"},"git_tree_entry_byindex":{"type":"function","file":"tree.h","line":95,"lineto":95,"args":[{"name":"tree","type":"git_tree *","comment":"a previously loaded tree."},{"name":"idx","type":"int","comment":"the position in the entry list"}],"argline":"git_tree *tree, int idx","sig":"git_tree *::int","return":{"type":"git_tree_entry *","comment":"the tree entry; NULL if not found"},"description":"Lookup a tree entry by its position in the tree\n@param tree a previously loaded tree.\n@param idx the position in the entry list\n@return the tree entry; NULL if not found","comments":"","group":"tree"},"git_tree_entry_attributes":{"type":"function","file":"tree.h","line":102,"lineto":102,"args":[{"name":"entry","type":"git_tree_entry *","comment":"a tree entry"}],"argline":"git_tree_entry *entry","sig":"git_tree_entry *","return":{"type":"unsigned int","comment":"attributes as an integer"},"description":"Get the UNIX file attributes of a tree entry\n@param entry a tree entry\n@return attributes as an integer","comments":"","group":"tree"},"git_tree_entry_name":{"type":"function","file":"tree.h","line":109,"lineto":109,"args":[{"name":"entry","type":"git_tree_entry *","comment":"a tree entry"}],"argline":"git_tree_entry *entry","sig":"git_tree_entry *","return":{"type":"const char *","comment":"the name of the file"},"description":"Get the filename of a tree entry\n@param entry a tree entry\n@return the name of the file","comments":"","group":"tree"},"git_tree_entry_id":{"type":"function","file":"tree.h","line":116,"lineto":116,"args":[{"name":"entry","type":"git_tree_entry *","comment":"a tree entry"}],"argline":"git_tree_entry *entry","sig":"git_tree_entry *","return":{"type":"const git_oid *","comment":"the oid of the object"},"description":"Get the id of the object pointed by the entry\n@param entry a tree entry\n@return the oid of the object","comments":"","group":"tree"},"git_tree_entry_2object":{"type":"function","file":"tree.h","line":125,"lineto":125,"args":[{"name":"object","type":"git_object **","comment":"pointer to the converted object"},{"name":"entry","type":"git_tree_entry *","comment":"a tree entry"}],"argline":"git_object **object, git_tree_entry *entry","sig":"git_object **::git_tree_entry *","return":{"type":"int","comment":"a reference to the pointed object in the repository"},"description":"Convert a tree entry to the git_object it points too.","comments":"","group":"tree"},"git_tree_add_entry":{"type":"function","file":"tree.h","line":139,"lineto":139,"args":[{"name":"tree","type":"git_tree *","comment":"Tree object to store the entry @iparam id OID for the tree entry"},{"name":"id","type":"const git_oid *"},{"name":"filename","type":"const char *","comment":"Filename for the tree entry"},{"name":"attributes","type":"int","comment":"UNIX file attributes for the entry"}],"argline":"git_tree *tree, const git_oid *id, const char *filename, int attributes","sig":"git_tree *::const git_oid *::const char *::int","return":{"type":"int","comment":"0 on success; otherwise error code"},"description":"Add a new entry to a tree.","comments":"This will mark the tree as modified; the new entry will\nbe written back to disk on the next git_object_write()\n","group":"tree"},"git_tree_remove_entry_byindex":{"type":"function","file":"tree.h","line":153,"lineto":153,"args":[{"name":"tree","type":"git_tree *","comment":"Tree where to remove the entry"},{"name":"idx","type":"int","comment":"index of the entry"}],"argline":"git_tree *tree, int idx","sig":"git_tree *::int","return":{"type":"int","comment":"0 on successful removal; GIT_ENOTFOUND if the entry wasn't found"},"description":"Remove an entry by its index.","comments":"Index must be >= 0 and < than git_tree_entrycount().\n\nThis will mark the tree as modified; the modified entry will\nbe written back to disk on the next git_object_write()\n","group":"tree"},"git_tree_remove_entry_byname":{"type":"function","file":"tree.h","line":165,"lineto":165,"args":[{"name":"tree","type":"git_tree *","comment":"Tree where to remove the entry"},{"name":"filename","type":"const char *","comment":"File name of the entry"}],"argline":"git_tree *tree, const char *filename","sig":"git_tree *::const char *","return":{"type":"int","comment":"0 on successful removal; GIT_ENOTFOUND if the entry wasn't found"},"description":"Remove an entry by its filename.","comments":"This will mark the tree as modified; the modified entry will\nbe written back to disk on the next git_object_write()\n","group":"tree"},"git_tree_entry_set_id":{"type":"function","file":"tree.h","line":176,"lineto":176,"args":[{"name":"entry","type":"git_tree_entry *","comment":"Entry object which will be modified"},{"name":"oid","type":"const git_oid *","comment":"new SHA1 oid for the entry"}],"argline":"git_tree_entry *entry, const git_oid *oid","sig":"git_tree_entry *::const git_oid *","return":{"type":"void"},"description":"Change the SHA1 id of a tree entry.","comments":"This will mark the tree that contains the entry as modified;\nthe modified entry will be written back to disk on the next git_object_write()\n","group":"tree"},"git_tree_entry_set_name":{"type":"function","file":"tree.h","line":187,"lineto":187,"args":[{"name":"entry","type":"git_tree_entry *","comment":"Entry object which will be modified"},{"name":"name","type":"const char *"}],"argline":"git_tree_entry *entry, const char *name","sig":"git_tree_entry *::const char *","return":{"type":"void"},"description":"Change the filename of a tree entry.","comments":"This will mark the tree that contains the entry as modified;\nthe modified entry will be written back to disk on the next git_object_write()\n","group":"tree"},"git_tree_entry_set_attributes":{"type":"function","file":"tree.h","line":198,"lineto":198,"args":[{"name":"entry","type":"git_tree_entry *","comment":"Entry object which will be modified"},{"name":"attr","type":"int"}],"argline":"git_tree_entry *entry, int attr","sig":"git_tree_entry *::int","return":{"type":"void"},"description":"Change the attributes of a tree entry.","comments":"This will mark the tree that contains the entry as modified;\nthe modified entry will be written back to disk on the next git_object_write()\n","group":"tree"},"git_odb_new":{"type":"function","file":"odb.h","line":52,"lineto":52,"args":[{"name":"out","type":"git_odb **","comment":"location to store the database pointer, if opened. Set to NULL if the open failed."}],"argline":"git_odb **out","sig":"git_odb **","return":{"type":"int","comment":"GIT_SUCCESS if the database was created; otherwise an error code describing why the open was not possible."},"description":"Create a new object database with no backends.","comments":"Before the ODB can be used for read/writing, a custom database\nbackend must be manually added using `git_odb_add_backend()`\n","group":"odb"},"git_odb_open":{"type":"function","file":"odb.h","line":71,"lineto":71,"args":[{"name":"out","type":"git_odb **","comment":"location to store the database pointer, if opened. Set to NULL if the open failed."},{"name":"objects_dir","type":"const char *","comment":"path of the backends' \"objects\" directory."}],"argline":"git_odb **out, const char *objects_dir","sig":"git_odb **::const char *","return":{"type":"int","comment":"GIT_SUCCESS if the database opened; otherwise an error code describing why the open was not possible."},"description":"Create a new object database and automatically add\nthe two default backends:","comments":"- git_odb_backend_loose: read and write loose object files\n\tfrom disk, assuming `objects_dir` as the Objects folder\n\n- git_odb_backend_pack: read objects from packfiles,\n\tassuming `objects_dir` as the Objects folder which\n\tcontains a 'pack/' folder with the corresponding data\n","group":"odb"},"git_odb_add_backend":{"type":"function","file":"odb.h","line":82,"lineto":82,"args":[{"name":"odb","type":"git_odb *","comment":"database to add the backend to"},{"name":"backend","type":"git_odb_backend *"}],"argline":"git_odb *odb, git_odb_backend *backend","sig":"git_odb *::git_odb_backend *","return":{"type":"int","comment":"0 on sucess; error code otherwise"},"description":"Add a custom backend to an existing Object DB","comments":"Read <odb_backends.h> for more information.\n","group":"odb"},"git_odb_close":{"type":"function","file":"odb.h","line":88,"lineto":88,"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"},"description":"Close an open object database.\n@param db database pointer to close. If NULL no action is taken.","comments":"","group":"odb"},"git_odb_read":{"type":"function","file":"odb.h","line":109,"lineto":109,"args":[{"name":"out","type":"git_rawobj *","comment":"object descriptor to populate upon reading."},{"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_rawobj *out, git_odb *db, const git_oid *id","sig":"git_rawobj *::git_odb *::const git_oid *","return":{"type":"int","comment":"- GIT_SUCCESS if the object was read; - GIT_ENOTFOUND if the object is not in the database."},"description":"Read an object from the database.","comments":"If GIT_ENOTFOUND then out->data is set to NULL.\n","group":"odb"},"git_odb_read_header":{"type":"function","file":"odb.h","line":128,"lineto":128,"args":[{"name":"out","type":"git_rawobj *","comment":"object descriptor to populate upon reading."},{"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_rawobj *out, git_odb *db, const git_oid *id","sig":"git_rawobj *::git_odb *::const git_oid *","return":{"type":"int","comment":"- GIT_SUCCESS if the object was read; - GIT_ENOTFOUND if the object is not in the database."},"description":"Read the header of an object from the database, without\nreading its full contents.","comments":"Only the 'type' and 'len' fields of the git_rawobj structure\nare filled. The 'data' pointer will always be NULL.\n\nThe raw object pointed by 'out' doesn't need to be manually\nclosed with git_rawobj_close().\n","group":"odb"},"git_odb_write":{"type":"function","file":"odb.h","line":140,"lineto":140,"args":[{"name":"id","type":"git_oid *","comment":"identity of the object written."},{"name":"db","type":"git_odb *","comment":"database to which the object should be written."},{"name":"obj","type":"git_rawobj *","comment":"object descriptor for the object to write."}],"argline":"git_oid *id, git_odb *db, git_rawobj *obj","sig":"git_oid *::git_odb *::git_rawobj *","return":{"type":"int","comment":"- GIT_SUCCESS if the object was written; - GIT_ERROR otherwise."},"description":"Write an object to the database.","comments":"","group":"odb"},"git_odb_exists":{"type":"function","file":"odb.h","line":151,"lineto":151,"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":"- true, if the object was found - false, otherwise"},"description":"Determine if the given object can be found in the object database.","comments":"","group":"odb"},"git_rawobj_hash":{"type":"function","file":"odb.h","line":169,"lineto":169,"args":[{"name":"id","type":"git_oid *","comment":"the resulting object-ID."},{"name":"obj","type":"git_rawobj *","comment":"the object whose hash is to be determined."}],"argline":"git_oid *id, git_rawobj *obj","sig":"git_oid *::git_rawobj *","return":{"type":"int","comment":"- GIT_SUCCESS if the object-ID was correctly determined. - GIT_ERROR if the given object is malformed."},"description":"Determine the object-ID (sha1 hash) of the given git_rawobj.","comments":"The input obj must be a valid loose object type and the data\npointer must not be NULL, unless the len field is also zero.\n","group":"rawobj"},"git_rawobj_close":{"type":"function","file":"odb.h","line":180,"lineto":180,"args":[{"name":"obj","type":"git_rawobj *","comment":"object descriptor to free."}],"argline":"git_rawobj *obj","sig":"git_rawobj *","return":{"type":"void"},"description":"Release all memory used by the obj structure.","comments":"As a result of this call, obj->data will be set to NULL.\n\nIf obj->data is already NULL, nothing happens.\n","group":"rawobj"},"git_oid_mkstr":{"type":"function","file":"oid.h","line":57,"lineto":57,"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 the hex sequence and have at least the number of bytes needed for an oid encoded in hex (40 bytes)."}],"argline":"git_oid *out, const char *str","sig":"git_oid *::const char *","return":{"type":"int","comment":"GIT_SUCCESS if valid; GIT_ENOTOID on failure."},"description":"Parse a hex formatted object id into a git_oid.\n@param out oid structure the result is written into.\n@param str input hex string; must be pointing at the start of\n the hex sequence and have at least the number of bytes\n needed for an oid encoded in hex (40 bytes).\n@return GIT_SUCCESS if valid; GIT_ENOTOID on failure.","comments":"","group":"oid"},"git_oid_mkraw":{"type":"function","file":"oid.h","line":64,"lineto":64,"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"},"description":"Copy an already raw oid into a git_oid structure.\n@param out oid structure the result is written into.\n@param raw the raw input bytes to be copied.","comments":"","group":"oid"},"git_oid_fmt":{"type":"function","file":"oid.h","line":75,"lineto":75,"args":[{"name":"str","type":"char *","comment":"output hex string; must be pointing at the start of the hex sequence and have at least the number of bytes needed for an oid encoded in hex (40 bytes). Only the oid digits are written; a '\\\\0' terminator must be added by 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"},"description":"Format a git_oid into a hex string.\n@param str output hex string; must be pointing at the start of\n the hex sequence and have at least the number of bytes\n needed for an oid encoded in hex (40 bytes). Only the\n oid digits are written; a '\\\\0' terminator must be added\n by the caller if it is required.\n@param oid oid structure to format.","comments":"","group":"oid"},"git_oid_pathfmt":{"type":"function","file":"oid.h","line":90,"lineto":90,"args":[{"name":"str","type":"char *","comment":"output hex string; must be pointing at the start of the hex sequence and have at least the number of bytes needed for an oid encoded in hex (41 bytes). Only the oid digits are written; a '\\\\0' terminator must be added by 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"},"description":"Format a git_oid into a loose-object path string.\n<p>\nThe resulting string is \"aa/...\", where \"aa\" is the first two\nhex digitis of the oid and \"...\" is the remaining 38 digits.","comments":"","group":"oid"},"git_oid_allocfmt":{"type":"function","file":"oid.h","line":98,"lineto":98,"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 deallocate the string with free()."},"description":"Format a gid_oid into a newly allocated c-string.\n@param oid the oid structure to format\n@return the c-string; NULL if memory is exhausted. Caller must\n deallocate the string with free().","comments":"","group":"oid"},"git_oid_to_string":{"type":"function","file":"oid.h","line":115,"lineto":115,"args":[{"name":"out","type":"char *","comment":"the buffer into which the oid string is output."},{"name":"n","type":"size_t","comment":"the size of the out buffer."},{"name":"oid","type":"const git_oid *","comment":"the oid structure to format."}],"argline":"char *out, size_t n, const git_oid *oid","sig":"char *::size_t::const git_oid *","return":{"type":"char *","comment":"the out buffer pointer, assuming no input parameter errors, otherwise a pointer to an empty string."},"description":"Format a git_oid into a buffer as a hex format c-string.\n<p>\nIf the buffer is smaller than GIT_OID_HEXSZ+1, then the resulting\noid c-string will be truncated to n-1 characters. If there are\nany input parameter errors (out == NULL, n == 0, oid == NULL),\nthen a pointer to an empty string is returned, so that the return\nvalue can always be printed.","comments":"","group":"oid"},"git_oid_cpy":{"type":"function","file":"oid.h","line":122,"lineto":122,"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"},"description":"Copy an oid from one structure to another.\n@param out oid structure the result is written into.\n@param src oid structure to copy from.","comments":"","group":"oid"},"git_oid_cmp":{"type":"function","file":"oid.h","line":130,"lineto":130,"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":"<0, 0, >0 if a < b, a == b, a > b."},"description":"Compare two oid structures.\n@param a first oid structure.\n@param b second oid structure.\n@return <0, 0, >0 if a < b, a == b, a > b.","comments":"","group":"oid"},"git_strerror":{"type":"function","file":"errors.h","line":51,"lineto":51,"args":[{"name":"num","type":"int","comment":"The error code to explain"}],"argline":"int num","sig":"int","return":{"type":"const char *","comment":"a string explaining the error code"},"description":"strerror() for the Git library\n@param num The error code to explain\n@return a string explaining the error code","comments":"","group":"errors"},"git_revwalk_new":{"type":"function","file":"revwalk.h","line":76,"lineto":76,"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 on success; error code otherwise"},"description":"Allocate a new revision walker to iterate through a repo.","comments":"","group":"revwalk"},"git_revwalk_reset":{"type":"function","file":"revwalk.h","line":82,"lineto":82,"args":[{"name":"walker","type":"git_revwalk *","comment":"handle to reset."}],"argline":"git_revwalk *walker","sig":"git_revwalk *","return":{"type":"void"},"description":"Reset the walking machinery for reuse.\n@param walker handle to reset.","comments":"","group":"revwalk"},"git_revwalk_push":{"type":"function","file":"revwalk.h","line":91,"lineto":91,"args":[{"name":"walk","type":"git_revwalk *","comment":"er the walker being used for the traversal."},{"name":"commit","type":"git_commit *","comment":"the commit to start from."}],"argline":"git_revwalk *walk, git_commit *commit","sig":"git_revwalk *::git_commit *","return":{"type":"int"},"description":"Mark a commit to start traversal from.\nThe commit object must belong to the repo which is being walked through.","comments":"","group":"revwalk"},"git_revwalk_hide":{"type":"function","file":"revwalk.h","line":98,"lineto":98,"args":[{"name":"walk","type":"git_revwalk *","comment":"er the walker being used for the traversal."},{"name":"commit","type":"git_commit *","comment":"the commit that will be ignored during the traversal"}],"argline":"git_revwalk *walk, git_commit *commit","sig":"git_revwalk *::git_commit *","return":{"type":"int"},"description":"Mark a commit (and its ancestors) uninteresting for the output.\n@param walker the walker being used for the traversal.\n@param commit the commit that will be ignored during the traversal","comments":"","group":"revwalk"},"git_revwalk_next":{"type":"function","file":"revwalk.h","line":105,"lineto":105,"args":[{"name":"walk","type":"git_revwalk *","comment":"the walker to pop the commit from."}],"argline":"git_revwalk *walk","sig":"git_revwalk *","return":{"type":"git_commit *","comment":"next commit; NULL if there is no more output."},"description":"Get the next commit from the revision traversal.\n@param walk the walker to pop the commit from.\n@return next commit; NULL if there is no more output.","comments":"","group":"revwalk"},"git_revwalk_sorting":{"type":"function","file":"revwalk.h","line":114,"lineto":114,"args":[{"name":"walk","type":"git_revwalk *","comment":"the walker being used for the traversal."},{"name":"sort_mode","type":"unsigned int","comment":"combination of GIT_RPSORT_XXX flags"}],"argline":"git_revwalk *walk, unsigned int sort_mode","sig":"git_revwalk *::unsigned int","return":{"type":"int"},"description":"Change the sorting mode when iterating through the\nrepository's contents.\nChanging the sorting mode resets the walker.\n@param walk the walker being used for the traversal.\n@param sort_mode combination of GIT_RPSORT_XXX flags","comments":"","group":"revwalk"},"git_revwalk_free":{"type":"function","file":"revwalk.h","line":120,"lineto":120,"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"},"description":"Free a revwalk previously allocated.\n@param walk traversal handle to close. If NULL nothing occurs.","comments":"","group":"revwalk"},"git_revwalk_repository":{"type":"function","file":"revwalk.h","line":129,"lineto":129,"args":[{"name":"walk","type":"git_revwalk *","comment":"the revision walker"}],"argline":"git_revwalk *walk","sig":"git_revwalk *","return":{"type":"git_repository *","comment":"the repository being walked"},"description":"Return the repository on which this walker\nis operating.","comments":"","group":"revwalk"},"git_object_write":{"type":"function","file":"object.h","line":58,"lineto":58,"args":[{"name":"object","type":"git_object *","comment":"Git object to write back"}],"argline":"git_object *object","sig":"git_object *","return":{"type":"int","comment":"0 on success; otherwise an error code"},"description":"Write back an object to disk.","comments":"The object will be written to its corresponding\nrepository.\n\nIf the object has no changes since it was first\nread from the repository, no actions will take place.\n\nIf the object has been modified since it was read from\nthe repository, or it has been created from scratch\nin memory, it will be written to the repository and\nits SHA1 ID will be updated accordingly.\n","group":"object"},"git_object_id":{"type":"function","file":"object.h","line":69,"lineto":69,"args":[{"name":"obj","type":"git_object *","comment":"the repository object"}],"argline":"git_object *obj","sig":"git_object *","return":{"type":"const git_oid *","comment":"the SHA1 id"},"description":"Get the id (SHA1) of a repository object","comments":"In-memory objects created by git_object_new() do not\nhave a SHA1 ID until they are written on a repository.\n","group":"object"},"git_object_type":{"type":"function","file":"object.h","line":77,"lineto":77,"args":[{"name":"obj","type":"git_object *","comment":"the repository object"}],"argline":"git_object *obj","sig":"git_object *","return":{"type":"git_otype","comment":"the object's type"},"description":"Get the object type of an object","comments":"","group":"object"},"git_object_owner":{"type":"function","file":"object.h","line":85,"lineto":85,"args":[{"name":"obj","type":"git_object *","comment":"the object"}],"argline":"git_object *obj","sig":"git_object *","return":{"type":"git_repository *","comment":"the repository who owns this object"},"description":"Get the repository that owns this object","comments":"","group":"object"},"git_object_free":{"type":"function","file":"object.h","line":99,"lineto":99,"args":[{"name":"object","type":"git_object *","comment":"the object to free"}],"argline":"git_object *object","sig":"git_object *","return":{"type":"void"},"description":"Free a reference to one of the objects in the repository.","comments":"Repository objects are managed automatically by the library,\nbut this method can be used to force freeing one of the\nobjects.\n\nCareful: freeing objects in the middle of a repository\ntraversal will most likely cause errors.\n","group":"object"},"git_object_type2string":{"type":"function","file":"object.h","line":110,"lineto":110,"args":[{"name":"type","type":"git_otype","comment":"object type to convert."}],"argline":"git_otype type","sig":"git_otype","return":{"type":"const char *","comment":"the corresponding string representation."},"description":"Convert an object type to it's string representation.","comments":"The result is a pointer to a string in static memory and\nshould not be free()'ed.\n","group":"object"},"git_object_string2type":{"type":"function","file":"object.h","line":118,"lineto":118,"args":[{"name":"str","type":"const char *","comment":"the string to convert."}],"argline":"const char *str","sig":"const char *","return":{"type":"git_otype","comment":"the corresponding git_otype."},"description":"Convert a string object type representation to it's git_otype.","comments":"","group":"object"},"git_object_typeisloose":{"type":"function","file":"object.h","line":127,"lineto":127,"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, false otherwise."},"description":"Determine if the given git_otype is a valid loose object type.","comments":"","group":"object"}},"globals":{"GIT_BEGIN_DECL":{"value":"","file":"common.h","line":36,"comments":"Start declarations in C mode"},"GIT_END_DECL":{"value":"","file":"common.h","line":38,"comments":"End declarations in C mode"},"GIT_EXTERN(type)":{"value":"extern __attribute__((visibility(\"default\"))) type","file":"common.h","line":42,"comments":"Declare a public function exported for application use."},"GIT_EXTERN_TLS(type)":{"value":"extern __attribute__((visibility(\"default\"))) GIT_TLS type","file":"common.h","line":53,"comments":"Declare a public TLS symbol exported for application use."},"GIT_INLINE(type)":{"value":"static __inline type","file":"common.h","line":63,"comments":"Declare a function as always inlined."},"GIT_FORMAT_PRINTF(a,b)":{"value":"__attribute__((format (printf, a, b)))","file":"common.h","line":70,"comments":"Declare a function's takes printf style arguments."},"GIT_SUCCESS":{"value":"0","file":"common.h","line":85,"comments":"Operation completed successfully."},"GIT_ERROR":{"value":"-1","file":"common.h","line":93,"comments":"Operation failed, with unspecified reason.\nThis value also serves as the base error code; all other\nerror codes are subtracted from it such that all errors\nare < 0, in typical POSIX C tradition."},"GIT_ENOTOID":{"value":"(GIT_ERROR - 1)","file":"common.h","line":96,"comments":"Input was not a properly formatted Git object id."},"GIT_ENOTFOUND":{"value":"(GIT_ERROR - 2)","file":"common.h","line":99,"comments":"Input does not exist in the scope searched."},"GIT_ENOMEM":{"value":"(GIT_ERROR - 3)","file":"common.h","line":102,"comments":"Not enough space available."},"GIT_EOSERR":{"value":"(GIT_ERROR - 4)","file":"common.h","line":105,"comments":"Consult the OS error information."},"GIT_EOBJTYPE":{"value":"(GIT_ERROR - 5)","file":"common.h","line":108,"comments":"The specified object is of invalid type"},"GIT_EOBJCORRUPTED":{"value":"(GIT_ERROR - 6)","file":"common.h","line":111,"comments":"The specified object has its data corrupted"},"GIT_ENOTAREPO":{"value":"(GIT_ERROR - 7)","file":"common.h","line":114,"comments":"The specified repository is invalid"},"GIT_EINVALIDTYPE":{"value":"(GIT_ERROR - 8)","file":"common.h","line":117,"comments":"The object type is invalid or doesn't match"},"GIT_EMISSINGOBJDATA":{"value":"(GIT_ERROR - 9)","file":"common.h","line":120,"comments":"The object cannot be written that because it's missing internal data"},"GIT_EPACKCORRUPTED":{"value":"(GIT_ERROR - 10)","file":"common.h","line":123,"comments":"The packfile for the ODB is corrupted"},"GIT_EFLOCKFAIL":{"value":"(GIT_ERROR - 11)","file":"common.h","line":126,"comments":"Failed to adquire or release a file lock"},"GIT_EZLIB":{"value":"(GIT_ERROR - 12)","file":"common.h","line":129,"comments":"The Z library failed to inflate/deflate an object's data"},"GIT_EBUSY":{"value":"(GIT_ERROR - 13)","file":"common.h","line":132,"comments":"The queried object is currently busy"},"GIT_EBAREINDEX":{"value":"(GIT_ERROR -14)","file":"common.h","line":135,"comments":"The index file is not backed up by an existing repository"},"GIT_OID_RAWSZ":{"value":"20","file":"oid.h","line":38,"comments":"Size (in bytes) of a raw/binary oid"},"GIT_OID_HEXSZ":{"value":"(GIT_OID_RAWSZ * 2)","file":"oid.h","line":41,"comments":"Size (in bytes) of a hex formatted oid"},"GIT_SORT_NONE":{"value":"(0)","file":"revwalk.h","line":46,"comments":"Sort the repository contents in no particular ordering;\nthis sorting is arbitrary, implementation-specific\nand subject to change at any time.\nThis is the default sorting for new walkers."},"GIT_SORT_TOPOLOGICAL":{"value":"(1 << 0)","file":"revwalk.h","line":53,"comments":"Sort the repository contents in topological order\n(parents before children); this sorting mode\ncan be combined with time sorting."},"GIT_SORT_TIME":{"value":"(1 << 1)","file":"revwalk.h","line":60,"comments":"Sort the repository contents by commit time;\nthis sorting mode can be combined with\ntopological sorting."},"GIT_SORT_REVERSE":{"value":"(1 << 2)","file":"revwalk.h","line":67,"comments":"Iterate through the repository contents in reverse\norder; this sorting mode can be combined with\nany of the above."}},"types":[["git_blob",{"type":"struct","value":"git_blob","file":"types.h","line":71,"lineto":71,"block":"","tdef":"typedef","comments":"In-memory representation of a blob object.","used":{"returns":[],"needs":["git_blob_lookup","git_blob_new","git_blob_rawcontent","git_blob_rawsize","git_blob_set_rawcontent","git_blob_set_rawcontent_fromfile"]}}],["git_commit",{"type":"struct","value":"git_commit","file":"types.h","line":74,"lineto":74,"block":"","tdef":"typedef","comments":"Parsed representation of a commit object.","used":{"returns":["git_commit_parent","git_revwalk_next"],"needs":["git_commit_add_parent","git_commit_author","git_commit_committer","git_commit_id","git_commit_lookup","git_commit_message","git_commit_message_short","git_commit_new","git_commit_parent","git_commit_parentcount","git_commit_set_author","git_commit_set_committer","git_commit_set_message","git_commit_set_tree","git_commit_time","git_commit_tree","git_revwalk_hide","git_revwalk_push"]}}],["git_index",{"type":"struct","value":"git_index","file":"types.h","line":83,"lineto":83,"block":"","tdef":"typedef","comments":"Memory representation of an index file.","used":{"returns":["git_repository_index"],"needs":["git_index_add","git_index_clear","git_index_entrycount","git_index_find","git_index_free","git_index_get","git_index_insert","git_index_open_bare","git_index_open_inrepo","git_index_read","git_index_remove","git_index_write"]}}],["git_index_entry",{"type":"struct","value":"git_index_entry","file":"index.h","line":53,"lineto":70,"block":"git_index_time ctime\ngit_index_time mtime\nunsigned int dev\nunsigned int ino\nunsigned int mode\nunsigned int uid\nunsigned int gid\noff_t file_size\ngit_oid oid\nunsigned short flags\nunsigned short flags_extended\nchar *path","tdef":"typedef","comments":"Memory representation of a file entry in the index.","used":{"returns":["git_index_get"],"needs":["git_index_insert"]}}],["git_index_time",{"type":"struct","value":"git_index_time","file":"index.h","line":47,"lineto":50,"block":"time_t seconds\ntime_t nanoseconds","tdef":"typedef","comments":"Time used in a git index entry","used":{"returns":[],"needs":[]}}],["git_object",{"type":"struct","value":"git_object","file":"types.h","line":63,"lineto":65,"block":"","tdef":"typedef","comments":"Representation of a generic object in a repository","used":{"returns":["git_tag_target"],"needs":["git_object_free","git_object_id","git_object_owner","git_object_type","git_object_write","git_repository_lookup","git_repository_newobject","git_tag_set_target","git_tree_entry_2object"]}}],["git_odb",{"type":"struct","value":"git_odb","file":"types.h","line":51,"lineto":51,"block":"","tdef":"typedef","comments":"An open object database handle.","used":{"returns":["git_repository_database"],"needs":["git_odb_add_backend","git_odb_close","git_odb_exists","git_odb_new","git_odb_open","git_odb_read","git_odb_read_header","git_odb_write"]}}],["git_odb_backend",{"type":"struct","value":"git_odb_backend","file":"types.h","line":54,"lineto":54,"block":"","tdef":"typedef","comments":"A custom backend in an ODB","used":{"returns":[],"needs":["git_odb_add_backend"]}}],["git_oid",{"type":"struct","value":"git_oid","file":"oid.h","line":44,"lineto":47,"block":"unsigned char id[GIT_OID_RAWSZ]","tdef":"typedef","comments":"Unique identity of any object (commit, tree, blob, tag).","used":{"returns":["git_commit_id","git_object_id","git_tag_id","git_tree_entry_id","git_tree_id"],"needs":["git_blob_lookup","git_blob_writefile","git_commit_lookup","git_odb_exists","git_odb_read","git_odb_read_header","git_odb_write","git_oid_allocfmt","git_oid_cmp","git_oid_cpy","git_oid_fmt","git_oid_mkraw","git_oid_mkstr","git_oid_pathfmt","git_oid_to_string","git_rawobj_hash","git_repository_lookup","git_tag_lookup","git_tree_add_entry","git_tree_entry_set_id","git_tree_lookup"]}}],["git_otype",{"type":"enum","file":"types.h","line":37,"lineto":48,"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","comments":"Basic type (loose or packed) of any Git object.","used":{"returns":[],"needs":["git_object_type2string","git_object_typeisloose","git_repository_lookup","git_repository_newobject"]}}],["git_person",{"type":"struct","value":"git_person","file":"common.h","line":141,"lineto":145,"block":"","tdef":"typedef","comments":"Parsed representation of a person","used":{"returns":["git_commit_author","git_commit_committer","git_tag_tagger"],"needs":[]}}],["git_rawobj",{"type":"struct","value":"git_rawobj","file":"odb.h","line":91,"lineto":95,"block":"void *data\nsize_t len\ngit_otype type","tdef":"typedef","comments":"An object read from the database.","used":{"returns":[],"needs":["git_odb_read","git_odb_read_header","git_odb_write","git_rawobj_close","git_rawobj_hash"]}}],["git_repository",{"type":"struct","value":"git_repository","file":"types.h","line":60,"lineto":60,"block":"","tdef":"typedef","comments":"Representation of an existing git repository,\nincluding all its object contents","used":{"returns":["git_object_owner","git_revwalk_repository"],"needs":["git_blob_lookup","git_blob_new","git_blob_writefile","git_commit_lookup","git_commit_new","git_index_open_inrepo","git_repository_database","git_repository_free","git_repository_index","git_repository_lookup","git_repository_newobject","git_repository_open","git_repository_open2","git_revwalk_new","git_tag_lookup","git_tag_new","git_tree_lookup","git_tree_new"]}}],["git_tag",{"type":"struct","value":"git_tag","file":"types.h","line":68,"lineto":68,"block":"","tdef":"typedef","comments":"Parsed representation of a tag object.","used":{"returns":[],"needs":["git_tag_id","git_tag_lookup","git_tag_message","git_tag_name","git_tag_new","git_tag_set_message","git_tag_set_name","git_tag_set_tagger","git_tag_set_target","git_tag_tagger","git_tag_target","git_tag_type"]}}],["git_tree",{"type":"struct","value":"git_tree","file":"types.h","line":80,"lineto":80,"block":"","tdef":"typedef","comments":"Representation of a tree object.","used":{"returns":["git_commit_tree"],"needs":["git_commit_set_tree","git_tree_add_entry","git_tree_entry_byindex","git_tree_entry_byname","git_tree_entrycount","git_tree_id","git_tree_lookup","git_tree_new","git_tree_remove_entry_byindex","git_tree_remove_entry_byname"]}}],["git_tree_entry",{"type":"struct","value":"git_tree_entry","file":"types.h","line":77,"lineto":77,"block":"","tdef":"typedef","comments":"Representation of each one of the entries in a tree object.","used":{"returns":["git_tree_entry_byindex","git_tree_entry_byname"],"needs":["git_tree_entry_2object","git_tree_entry_attributes","git_tree_entry_id","git_tree_entry_name","git_tree_entry_set_attributes","git_tree_entry_set_id","git_tree_entry_set_name"]}}]],"prefix":"src/git2","groups":[["blob",["git_blob_lookup","git_blob_new","git_blob_rawcontent","git_blob_rawsize","git_blob_set_rawcontent","git_blob_set_rawcontent_fromfile","git_blob_writefile"]],["commit",["git_commit_add_parent","git_commit_author","git_commit_committer","git_commit_id","git_commit_lookup","git_commit_message","git_commit_message_short","git_commit_new","git_commit_parent","git_commit_parentcount","git_commit_set_author","git_commit_set_committer","git_commit_set_message","git_commit_set_tree","git_commit_time","git_commit_tree"]],["errors",["git_strerror"]],["index",["git_index_add","git_index_clear","git_index_entrycount","git_index_find","git_index_free","git_index_get","git_index_insert","git_index_open_bare","git_index_open_inrepo","git_index_read","git_index_remove","git_index_write"]],["object",["git_object_free","git_object_id","git_object_owner","git_object_string2type","git_object_type","git_object_type2string","git_object_typeisloose","git_object_write"]],["odb",["git_odb_add_backend","git_odb_close","git_odb_exists","git_odb_new","git_odb_open","git_odb_read","git_odb_read_header","git_odb_write"]],["oid",["git_oid_allocfmt","git_oid_cmp","git_oid_cpy","git_oid_fmt","git_oid_mkraw","git_oid_mkstr","git_oid_pathfmt","git_oid_to_string"]],["rawobj",["git_rawobj_close","git_rawobj_hash"]],["repository",["git_repository_database","git_repository_free","git_repository_index","git_repository_lookup","git_repository_newobject","git_repository_open","git_repository_open2"]],["revwalk",["git_revwalk_free","git_revwalk_hide","git_revwalk_new","git_revwalk_next","git_revwalk_push","git_revwalk_repository","git_revwalk_reset","git_revwalk_sorting"]],["tag",["git_tag_id","git_tag_lookup","git_tag_message","git_tag_name","git_tag_new","git_tag_set_message","git_tag_set_name","git_tag_set_tagger","git_tag_set_target","git_tag_tagger","git_tag_target","git_tag_type"]],["tree",["git_tree_add_entry","git_tree_entry_2object","git_tree_entry_attributes","git_tree_entry_byindex","git_tree_entry_byname","git_tree_entry_id","git_tree_entry_name","git_tree_entry_set_attributes","git_tree_entry_set_id","git_tree_entry_set_name","git_tree_entrycount","git_tree_id","git_tree_lookup","git_tree_new","git_tree_remove_entry_byindex","git_tree_remove_entry_byname"]],["zlib",["deflateBound"]]]} \ No newline at end of file
+{"files":[{"file":"zlib.h","functions":["deflateBound"],"meta":{"brief":"Git data compression routines","defgroup":"git_zlib Git data compression routines","ingroup":"Git","comments":"\n"},"lines":58},{"file":"types.h","functions":[],"meta":{"brief":"libgit2 base types","ingroup":"Git","comments":"\n"},"lines":88},{"file":"tree.h","functions":["git_tree_lookup","git_tree_new","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_2object","git_tree_add_entry","git_tree_remove_entry_byindex","git_tree_remove_entry_byname","git_tree_entry_set_id","git_tree_entry_set_name","git_tree_entry_set_attributes"],"meta":{"brief":"Git tree parsing, loading routines","defgroup":"git_tree Git tree parsing, loading routines","ingroup":"Git","comments":"\n"},"lines":202},{"file":"thread-utils.h","functions":[],"meta":{},"lines":80},{"file":"tag.h","functions":["git_tag_lookup","git_tag_new","git_tag_id","git_tag_target","git_tag_type","git_tag_name","git_tag_tagger","git_tag_message","git_tag_set_target","git_tag_set_name","git_tag_set_tagger","git_tag_set_message"],"meta":{"brief":"Git tag parsing routines","defgroup":"git_tag Git tag management","ingroup":"Git","comments":"\n"},"lines":140},{"file":"revwalk.h","functions":["git_revwalk_new","git_revwalk_reset","git_revwalk_push","git_revwalk_hide","git_revwalk_next","git_revwalk_sorting","git_revwalk_free","git_revwalk_repository"],"meta":{"brief":"Git revision traversal routines","defgroup":"git_revwalk Git revision traversal routines","ingroup":"Git","comments":"\n"},"lines":133},{"file":"repository.h","functions":["git_repository_open","git_repository_open2","git_repository_lookup","git_repository_database","git_repository_index","git_repository_newobject","git_repository_free"],"meta":{"brief":"Git repository management routines","defgroup":"git_repository Git repository management routines","ingroup":"Git","comments":"\n"},"lines":167},{"file":"oid.h","functions":["git_oid_mkstr","git_oid_mkraw","git_oid_fmt","git_oid_pathfmt","git_oid_allocfmt","git_oid_to_string","git_oid_cpy","git_oid_cmp"],"meta":{"brief":"Git object id routines","defgroup":"git_oid Git object id routines","ingroup":"Git","comments":"\n"},"lines":134},{"file":"odb_backend.h","functions":[],"meta":{"brief":"Git custom backend functions","defgroup":"git_backend Git custom backend API","ingroup":"Git","comments":"\n"},"lines":71},{"file":"odb.h","functions":["git_odb_new","git_odb_open","git_odb_add_backend","git_odb_close","git_odb_read","git_odb_read_header","git_odb_write","git_odb_exists","git_rawobj_hash","git_rawobj_close"],"meta":{"brief":"Git object database routines","defgroup":"git_odb Git object database routines","ingroup":"Git","comments":"\n"},"lines":184},{"file":"object.h","functions":["git_object_write","git_object_id","git_object_type","git_object_owner","git_object_free","git_object_type2string","git_object_string2type","git_object_typeisloose"],"meta":{"brief":"Git revision object management routines","defgroup":"git_object Git revision object management routines","ingroup":"Git","comments":"\n"},"lines":132},{"file":"index.h","functions":["git_index_open_bare","git_index_open_inrepo","git_index_clear","git_index_free","git_index_read","git_index_write","git_index_find","git_index_add","git_index_remove","git_index_insert","git_index_get","git_index_entrycount"],"meta":{"brief":"Git index parsing and manipulation routines","defgroup":"git_index Git index parsing and manipulation routines","ingroup":"Git","comments":"\n"},"lines":197},{"file":"errors.h","functions":["git_strerror"],"meta":{"brief":"Git error handling routines and variables","ingroup":"Git","comments":"\n"},"lines":55},{"file":"common.h","functions":[],"meta":{"brief":"Git common platform definitions","defgroup":"git_common Git common platform definitions","ingroup":"Git","comments":"\n"},"lines":149},{"file":"commit.h","functions":["git_commit_lookup","git_commit_new","git_commit_id","git_commit_message_short","git_commit_message","git_commit_time","git_commit_committer","git_commit_author","git_commit_tree","git_commit_parentcount","git_commit_parent","git_commit_add_parent","git_commit_set_message","git_commit_set_committer","git_commit_set_author","git_commit_set_tree"],"meta":{"brief":"Git commit parsing, formatting routines","defgroup":"git_commit Git commit parsing, formatting routines","ingroup":"Git","comments":"\n"},"lines":174},{"file":"blob.h","functions":["git_blob_lookup","git_blob_new","git_blob_set_rawcontent_fromfile","git_blob_set_rawcontent","git_blob_rawcontent","git_blob_rawsize","git_blob_writefile"],"meta":{"brief":"Git blob load and write routines","defgroup":"git_blob Git blob load and write routines","ingroup":"Git","comments":"\n"},"lines":121}],"functions":{"deflateBound":{"type":"function","file":"zlib.h","line":50,"lineto":54,"args":[{"name":"stream","type":"z_streamp","comment":"the stream pointer."},{"name":"s","type":"size_t","comment":"tream the stream pointer."}],"argline":"z_streamp stream, size_t s","sig":"z_streamp::size_t","return":{"type":"size_t","comment":"maximum length of the compressed data."},"description":"deflateBound returns an upper bound on the compressed size.","comments":"This is a stub function used when zlib does not supply the\ndeflateBound() implementation itself.\n","group":"zlib"},"git_tree_lookup":{"type":"function","file":"tree.h","line":51,"lineto":51,"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 on success; error code otherwise"},"description":"Lookup a tree object from the repository.\nThe generated tree object is owned by the revision\nrepo and shall not be freed by the user.","comments":"","group":"tree"},"git_tree_new":{"type":"function","file":"tree.h","line":64,"lineto":64,"args":[{"name":"tree","type":"git_tree **","comment":"pointer to the new tree"},{"name":"repo","type":"git_repository *","comment":"The repository where the object will reside"}],"argline":"git_tree **tree, git_repository *repo","sig":"git_tree **::git_repository *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Create a new in-memory git_tree.","comments":"The tree object must be manually filled using\nsetter methods before it can be written to its\nrepository.\n","group":"tree"},"git_tree_id":{"type":"function","file":"tree.h","line":71,"lineto":71,"args":[{"name":"tree","type":"git_tree *","comment":"a previously loaded tree."}],"argline":"git_tree *tree","sig":"git_tree *","return":{"type":"const git_oid *","comment":"object identity for the tree."},"description":"Get the id of a tree.\n@param tree a previously loaded tree.\n@return object identity for the tree.","comments":"","group":"tree"},"git_tree_entrycount":{"type":"function","file":"tree.h","line":79,"lineto":79,"args":[{"name":"tree","type":"git_tree *","comment":"a previously loaded tree."}],"argline":"git_tree *tree","sig":"git_tree *","return":{"type":"size_t","comment":"the number of entries in the tree"},"description":"Get the number of entries listed in a tree\n@param tree a previously loaded tree.\n@return the number of entries in the tree","comments":"","group":"tree"},"git_tree_entry_byname":{"type":"function","file":"tree.h","line":87,"lineto":87,"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":"git_tree_entry *","comment":"the tree entry; NULL if not found"},"description":"Lookup a tree entry by its filename\n@param tree a previously loaded tree.\n@param filename the filename of the desired entry\n@return the tree entry; NULL if not found","comments":"","group":"tree"},"git_tree_entry_byindex":{"type":"function","file":"tree.h","line":95,"lineto":95,"args":[{"name":"tree","type":"git_tree *","comment":"a previously loaded tree."},{"name":"idx","type":"int","comment":"the position in the entry list"}],"argline":"git_tree *tree, int idx","sig":"git_tree *::int","return":{"type":"git_tree_entry *","comment":"the tree entry; NULL if not found"},"description":"Lookup a tree entry by its position in the tree\n@param tree a previously loaded tree.\n@param idx the position in the entry list\n@return the tree entry; NULL if not found","comments":"","group":"tree"},"git_tree_entry_attributes":{"type":"function","file":"tree.h","line":102,"lineto":102,"args":[{"name":"entry","type":"git_tree_entry *","comment":"a tree entry"}],"argline":"git_tree_entry *entry","sig":"git_tree_entry *","return":{"type":"unsigned int","comment":"attributes as an integer"},"description":"Get the UNIX file attributes of a tree entry\n@param entry a tree entry\n@return attributes as an integer","comments":"","group":"tree"},"git_tree_entry_name":{"type":"function","file":"tree.h","line":109,"lineto":109,"args":[{"name":"entry","type":"git_tree_entry *","comment":"a tree entry"}],"argline":"git_tree_entry *entry","sig":"git_tree_entry *","return":{"type":"const char *","comment":"the name of the file"},"description":"Get the filename of a tree entry\n@param entry a tree entry\n@return the name of the file","comments":"","group":"tree"},"git_tree_entry_id":{"type":"function","file":"tree.h","line":116,"lineto":116,"args":[{"name":"entry","type":"git_tree_entry *","comment":"a tree entry"}],"argline":"git_tree_entry *entry","sig":"git_tree_entry *","return":{"type":"const git_oid *","comment":"the oid of the object"},"description":"Get the id of the object pointed by the entry\n@param entry a tree entry\n@return the oid of the object","comments":"","group":"tree"},"git_tree_entry_2object":{"type":"function","file":"tree.h","line":125,"lineto":125,"args":[{"name":"object","type":"git_object **","comment":"pointer to the converted object"},{"name":"entry","type":"git_tree_entry *","comment":"a tree entry"}],"argline":"git_object **object, git_tree_entry *entry","sig":"git_object **::git_tree_entry *","return":{"type":"int","comment":"a reference to the pointed object in the repository"},"description":"Convert a tree entry to the git_object it points too.","comments":"","group":"tree"},"git_tree_add_entry":{"type":"function","file":"tree.h","line":139,"lineto":139,"args":[{"name":"tree","type":"git_tree *","comment":"Tree object to store the entry @iparam id OID for the tree entry"},{"name":"id","type":"const git_oid *"},{"name":"filename","type":"const char *","comment":"Filename for the tree entry"},{"name":"attributes","type":"int","comment":"UNIX file attributes for the entry"}],"argline":"git_tree *tree, const git_oid *id, const char *filename, int attributes","sig":"git_tree *::const git_oid *::const char *::int","return":{"type":"int","comment":"0 on success; otherwise error code"},"description":"Add a new entry to a tree.","comments":"This will mark the tree as modified; the new entry will\nbe written back to disk on the next git_object_write()\n","group":"tree"},"git_tree_remove_entry_byindex":{"type":"function","file":"tree.h","line":153,"lineto":153,"args":[{"name":"tree","type":"git_tree *","comment":"Tree where to remove the entry"},{"name":"idx","type":"int","comment":"index of the entry"}],"argline":"git_tree *tree, int idx","sig":"git_tree *::int","return":{"type":"int","comment":"0 on successful removal; GIT_ENOTFOUND if the entry wasn't found"},"description":"Remove an entry by its index.","comments":"Index must be >= 0 and < than git_tree_entrycount().\n\nThis will mark the tree as modified; the modified entry will\nbe written back to disk on the next git_object_write()\n","group":"tree"},"git_tree_remove_entry_byname":{"type":"function","file":"tree.h","line":165,"lineto":165,"args":[{"name":"tree","type":"git_tree *","comment":"Tree where to remove the entry"},{"name":"filename","type":"const char *","comment":"File name of the entry"}],"argline":"git_tree *tree, const char *filename","sig":"git_tree *::const char *","return":{"type":"int","comment":"0 on successful removal; GIT_ENOTFOUND if the entry wasn't found"},"description":"Remove an entry by its filename.","comments":"This will mark the tree as modified; the modified entry will\nbe written back to disk on the next git_object_write()\n","group":"tree"},"git_tree_entry_set_id":{"type":"function","file":"tree.h","line":176,"lineto":176,"args":[{"name":"entry","type":"git_tree_entry *","comment":"Entry object which will be modified"},{"name":"oid","type":"const git_oid *","comment":"new SHA1 oid for the entry"}],"argline":"git_tree_entry *entry, const git_oid *oid","sig":"git_tree_entry *::const git_oid *","return":{"type":"void"},"description":"Change the SHA1 id of a tree entry.","comments":"This will mark the tree that contains the entry as modified;\nthe modified entry will be written back to disk on the next git_object_write()\n","group":"tree"},"git_tree_entry_set_name":{"type":"function","file":"tree.h","line":187,"lineto":187,"args":[{"name":"entry","type":"git_tree_entry *","comment":"Entry object which will be modified"},{"name":"name","type":"const char *"}],"argline":"git_tree_entry *entry, const char *name","sig":"git_tree_entry *::const char *","return":{"type":"void"},"description":"Change the filename of a tree entry.","comments":"This will mark the tree that contains the entry as modified;\nthe modified entry will be written back to disk on the next git_object_write()\n","group":"tree"},"git_tree_entry_set_attributes":{"type":"function","file":"tree.h","line":198,"lineto":198,"args":[{"name":"entry","type":"git_tree_entry *","comment":"Entry object which will be modified"},{"name":"attr","type":"int"}],"argline":"git_tree_entry *entry, int attr","sig":"git_tree_entry *::int","return":{"type":"void"},"description":"Change the attributes of a tree entry.","comments":"This will mark the tree that contains the entry as modified;\nthe modified entry will be written back to disk on the next git_object_write()\n","group":"tree"},"git_tag_lookup":{"type":"function","file":"tag.h","line":51,"lineto":51,"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 on success; error code otherwise"},"description":"Lookup a tag object from the repository.\nThe generated tag object is owned by the revision\nrepo and shall not be freed by the user.","comments":"","group":"tag"},"git_tag_new":{"type":"function","file":"tag.h","line":64,"lineto":64,"args":[{"name":"tag","type":"git_tag **","comment":"pointer to the new tag"},{"name":"repo","type":"git_repository *","comment":"The repository where the object will reside"}],"argline":"git_tag **tag, git_repository *repo","sig":"git_tag **::git_repository *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Create a new in-memory git_tag.","comments":"The tag object must be manually filled using\nsetter methods before it can be written to its\nrepository.\n","group":"tag"},"git_tag_id":{"type":"function","file":"tag.h","line":71,"lineto":71,"args":[{"name":"tag","type":"git_tag *","comment":"a previously loaded tag."}],"argline":"git_tag *tag","sig":"git_tag *","return":{"type":"const git_oid *","comment":"object identity for the tag."},"description":"Get the id of a tag.\n@param tag a previously loaded tag.\n@return object identity for the tag.","comments":"","group":"tag"},"git_tag_target":{"type":"function","file":"tag.h","line":78,"lineto":78,"args":[{"name":"t","type":"git_tag *","comment":"ag a previously loaded tag."}],"argline":"git_tag *t","sig":"git_tag *","return":{"type":"const git_object *","comment":"reference to a repository object"},"description":"Get the tagged object of a tag\n@param tag a previously loaded tag.\n@return reference to a repository object","comments":"","group":"tag"},"git_tag_type":{"type":"function","file":"tag.h","line":85,"lineto":85,"args":[{"name":"t","type":"git_tag *","comment":"ag a previously loaded tag."}],"argline":"git_tag *t","sig":"git_tag *","return":{"type":"git_otype","comment":"type of the tagged object"},"description":"Get the type of a tag's tagged object\n@param tag a previously loaded tag.\n@return type of the tagged object","comments":"","group":"tag"},"git_tag_name":{"type":"function","file":"tag.h","line":92,"lineto":92,"args":[{"name":"t","type":"git_tag *","comment":"ag a previously loaded tag."}],"argline":"git_tag *t","sig":"git_tag *","return":{"type":"const char *","comment":"name of the tag"},"description":"Get the name of a tag\n@param tag a previously loaded tag.\n@return name of the tag","comments":"","group":"tag"},"git_tag_tagger":{"type":"function","file":"tag.h","line":99,"lineto":99,"args":[{"name":"t","type":"git_tag *","comment":"ag a previously loaded tag."}],"argline":"git_tag *t","sig":"git_tag *","return":{"type":"const git_person *","comment":"reference to the tag's author"},"description":"Get the tagger (author) of a tag\n@param tag a previously loaded tag.\n@return reference to the tag's author","comments":"","group":"tag"},"git_tag_message":{"type":"function","file":"tag.h","line":106,"lineto":106,"args":[{"name":"t","type":"git_tag *","comment":"ag a previously loaded tag."}],"argline":"git_tag *t","sig":"git_tag *","return":{"type":"const char *","comment":"message of the tag"},"description":"Get the message of a tag\n@param tag a previously loaded tag.\n@return message of the tag","comments":"","group":"tag"},"git_tag_set_target":{"type":"function","file":"tag.h","line":113,"lineto":113,"args":[{"name":"tag","type":"git_tag *","comment":"The tag to modify"},{"name":"target","type":"git_object *","comment":"the new tagged target"}],"argline":"git_tag *tag, git_object *target","sig":"git_tag *::git_object *","return":{"type":"void"},"description":"Set the target of a tag (i.e. the object that the tag points to)\n@param tag The tag to modify\n@param target the new tagged target","comments":"","group":"tag"},"git_tag_set_name":{"type":"function","file":"tag.h","line":120,"lineto":120,"args":[{"name":"tag","type":"git_tag *","comment":"The tag to modify"},{"name":"name","type":"const char *","comment":"the new name for the tag"}],"argline":"git_tag *tag, const char *name","sig":"git_tag *::const char *","return":{"type":"void"},"description":"Set the name of a tag\n@param tag The tag to modify\n@param name the new name for the tag","comments":"","group":"tag"},"git_tag_set_tagger":{"type":"function","file":"tag.h","line":129,"lineto":129,"args":[{"name":"tag","type":"git_tag *","comment":"The tag to modify"},{"name":"name","type":"const char *","comment":"the name of the new tagger"},{"name":"email","type":"const char *","comment":"the email of the new tagger"},{"name":"time","type":"time_t","comment":"the time when the tag was created"}],"argline":"git_tag *tag, const char *name, const char *email, time_t time","sig":"git_tag *::const char *::const char *::time_t","return":{"type":"void"},"description":"Set the tagger of a tag\n@param tag The tag to modify\n@param name the name of the new tagger\n@param email the email of the new tagger\n@param time the time when the tag was created","comments":"","group":"tag"},"git_tag_set_message":{"type":"function","file":"tag.h","line":136,"lineto":136,"args":[{"name":"tag","type":"git_tag *","comment":"The tag to modify"},{"name":"message","type":"const char *","comment":"the new tagger for the tag"}],"argline":"git_tag *tag, const char *message","sig":"git_tag *::const char *","return":{"type":"void"},"description":"Set the message of a tag\n@param tag The tag to modify\n@param message the new tagger for the tag","comments":"","group":"tag"},"git_revwalk_new":{"type":"function","file":"revwalk.h","line":76,"lineto":76,"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 on success; error code otherwise"},"description":"Allocate a new revision walker to iterate through a repo.","comments":"","group":"revwalk"},"git_revwalk_reset":{"type":"function","file":"revwalk.h","line":82,"lineto":82,"args":[{"name":"walker","type":"git_revwalk *","comment":"handle to reset."}],"argline":"git_revwalk *walker","sig":"git_revwalk *","return":{"type":"void"},"description":"Reset the walking machinery for reuse.\n@param walker handle to reset.","comments":"","group":"revwalk"},"git_revwalk_push":{"type":"function","file":"revwalk.h","line":91,"lineto":91,"args":[{"name":"walk","type":"git_revwalk *","comment":"er the walker being used for the traversal."},{"name":"commit","type":"git_commit *","comment":"the commit to start from."}],"argline":"git_revwalk *walk, git_commit *commit","sig":"git_revwalk *::git_commit *","return":{"type":"int"},"description":"Mark a commit to start traversal from.\nThe commit object must belong to the repo which is being walked through.","comments":"","group":"revwalk"},"git_revwalk_hide":{"type":"function","file":"revwalk.h","line":98,"lineto":98,"args":[{"name":"walk","type":"git_revwalk *","comment":"er the walker being used for the traversal."},{"name":"commit","type":"git_commit *","comment":"the commit that will be ignored during the traversal"}],"argline":"git_revwalk *walk, git_commit *commit","sig":"git_revwalk *::git_commit *","return":{"type":"int"},"description":"Mark a commit (and its ancestors) uninteresting for the output.\n@param walker the walker being used for the traversal.\n@param commit the commit that will be ignored during the traversal","comments":"","group":"revwalk"},"git_revwalk_next":{"type":"function","file":"revwalk.h","line":105,"lineto":105,"args":[{"name":"walk","type":"git_revwalk *","comment":"the walker to pop the commit from."}],"argline":"git_revwalk *walk","sig":"git_revwalk *","return":{"type":"git_commit *","comment":"next commit; NULL if there is no more output."},"description":"Get the next commit from the revision traversal.\n@param walk the walker to pop the commit from.\n@return next commit; NULL if there is no more output.","comments":"","group":"revwalk"},"git_revwalk_sorting":{"type":"function","file":"revwalk.h","line":114,"lineto":114,"args":[{"name":"walk","type":"git_revwalk *","comment":"the walker being used for the traversal."},{"name":"sort_mode","type":"unsigned int","comment":"combination of GIT_RPSORT_XXX flags"}],"argline":"git_revwalk *walk, unsigned int sort_mode","sig":"git_revwalk *::unsigned int","return":{"type":"int"},"description":"Change the sorting mode when iterating through the\nrepository's contents.\nChanging the sorting mode resets the walker.\n@param walk the walker being used for the traversal.\n@param sort_mode combination of GIT_RPSORT_XXX flags","comments":"","group":"revwalk"},"git_revwalk_free":{"type":"function","file":"revwalk.h","line":120,"lineto":120,"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"},"description":"Free a revwalk previously allocated.\n@param walk traversal handle to close. If NULL nothing occurs.","comments":"","group":"revwalk"},"git_revwalk_repository":{"type":"function","file":"revwalk.h","line":129,"lineto":129,"args":[{"name":"walk","type":"git_revwalk *","comment":"the revision walker"}],"argline":"git_revwalk *walk","sig":"git_revwalk *","return":{"type":"git_repository *","comment":"the repository being walked"},"description":"Return the repository on which this walker\nis operating.","comments":"","group":"revwalk"},"git_repository_open":{"type":"function","file":"repository.h","line":64,"lineto":64,"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 on sucess; error code otherwise"},"description":"Open a git repository.","comments":"The 'path' argument must point to an existing git repository\nfolder, e.g.\n\n\t/path/to/my_repo/.git/\t(normal repository)\n\t\t\t\t\t\tobjects/\n\t\t\t\t\t\tindex\n\t\t\t\t\t\tHEAD\n\n\t/path/to/bare_repo/\t\t(bare repository)\n\t\t\t\t\tobjects/\n\t\t\t\t\tindex\n\t\t\t\t\tHEAD\n\nThe method will automatically detect if 'path' is a normal\nor bare repository or fail is 'path' is neither.\n","group":"repository"},"git_repository_open2":{"type":"function","file":"repository.h","line":93,"lineto":97,"args":[{"name":"repository","type":"git_repository **","comment":"pointer to the repo which will be opened"},{"name":"git_dir","type":"const char *","comment":"The full path to the repository folder e.g. a '.git' folder for live repos, any folder for bare Equivalent to $GIT_DIR. Cannot be NULL."},{"name":"git_object_directory","type":"const char *","comment":"The full path to the ODB folder. the folder where all the loose and packed objects are stored Equivalent to $GIT_OBJECT_DIRECTORY. If NULL, \"$GIT_DIR/objects/\" is assumed."},{"name":"git_index_file","type":"const char *","comment":"The full path to the index (dircache) file Equivalent to $GIT_INDEX_FILE. If NULL, \"$GIT_DIR/index\" is assumed."},{"name":"git_work_tree","type":"const char *","comment":"The full path to the working tree of the repository, if the repository is not bare. Equivalent to $GIT_WORK_TREE. If NULL, the repository is assumed to be bare."}],"argline":"git_repository **repository,\n\t\tconst char *git_dir,\n\t\tconst char *git_object_directory,\n\t\tconst char *git_index_file,\n\t\tconst char *git_work_tree","sig":"git_repository **::const char *::const char *::const char *::const char *","return":{"type":"int","comment":"0 on sucess; error code otherwise"},"description":"Open a git repository by manually specifying all its paths","comments":"","group":"repository"},"git_repository_lookup":{"type":"function","file":"repository.h","line":117,"lineto":117,"args":[{"name":"object","type":"git_object **","comment":"pointer to the looked-up object"},{"name":"repo","type":"git_repository *","comment":"the repository to look up the object"},{"name":"id","type":"const git_oid *","comment":"the unique identifier for the object"},{"name":"type","type":"git_otype","comment":"the type of the object"}],"argline":"git_object **object, git_repository *repo, const git_oid *id, git_otype type","sig":"git_object **::git_repository *::const git_oid *::git_otype","return":{"type":"int","comment":"a reference to the object"},"description":"Lookup a reference to one of the objects in the repostory.","comments":"The generated reference is owned by the repository and\nshould not be freed by the user.\n\nThe 'type' parameter must match the type of the object\nin the odb; the method will fail otherwise.\nThe special value 'GIT_OBJ_ANY' may be passed to let\nthe method guess the object's type.\n","group":"repository"},"git_repository_database":{"type":"function","file":"repository.h","line":125,"lineto":125,"args":[{"name":"repo","type":"git_repository *","comment":"a repository object"}],"argline":"git_repository *repo","sig":"git_repository *","return":{"type":"git_odb *","comment":"a pointer to the object db"},"description":"Get the object database behind a Git repository","comments":"","group":"repository"},"git_repository_index":{"type":"function","file":"repository.h","line":134,"lineto":134,"args":[{"name":"rpeo","type":"git_repository *"}],"argline":"git_repository *rpeo","sig":"git_repository *","return":{"type":"git_index *","comment":"a pointer to the Index object; NULL if the index cannot be opened"},"description":"Get the Index file of a Git repository","comments":"","group":"repository"},"git_repository_newobject":{"type":"function","file":"repository.h","line":157,"lineto":157,"args":[{"name":"object","type":"git_object **","comment":"pointer to the new object @parem repo Repository where the object belongs"},{"name":"repo","type":"git_repository *"},{"name":"type","type":"git_otype","comment":"Type of the object to be created"}],"argline":"git_object **object, git_repository *repo, git_otype type","sig":"git_object **::git_repository *::git_otype","return":{"type":"int","comment":"the new object"},"description":"Create a new in-memory repository object with\nthe given type.","comments":"The object's attributes can be filled in using the\ncorresponding setter methods.\n\nThe object will be written back to given git_repository\nwhen the git_object_write() function is called; objects\ncannot be written to disk until all their main\nattributes have been properly filled.\n\nObjects are instantiated with no SHA1 id; their id\nwill be automatically generated when writing to the\nrepository.\n","group":"repository"},"git_repository_free":{"type":"function","file":"repository.h","line":163,"lineto":163,"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"},"description":"Free a previously allocated repository\n@param repo repository handle to close. If NULL nothing occurs.","comments":"","group":"repository"},"git_oid_mkstr":{"type":"function","file":"oid.h","line":57,"lineto":57,"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 the hex sequence and have at least the number of bytes needed for an oid encoded in hex (40 bytes)."}],"argline":"git_oid *out, const char *str","sig":"git_oid *::const char *","return":{"type":"int","comment":"GIT_SUCCESS if valid; GIT_ENOTOID on failure."},"description":"Parse a hex formatted object id into a git_oid.\n@param out oid structure the result is written into.\n@param str input hex string; must be pointing at the start of\n the hex sequence and have at least the number of bytes\n needed for an oid encoded in hex (40 bytes).\n@return GIT_SUCCESS if valid; GIT_ENOTOID on failure.","comments":"","group":"oid"},"git_oid_mkraw":{"type":"function","file":"oid.h","line":64,"lineto":64,"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"},"description":"Copy an already raw oid into a git_oid structure.\n@param out oid structure the result is written into.\n@param raw the raw input bytes to be copied.","comments":"","group":"oid"},"git_oid_fmt":{"type":"function","file":"oid.h","line":75,"lineto":75,"args":[{"name":"str","type":"char *","comment":"output hex string; must be pointing at the start of the hex sequence and have at least the number of bytes needed for an oid encoded in hex (40 bytes). Only the oid digits are written; a '\\\\0' terminator must be added by 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"},"description":"Format a git_oid into a hex string.\n@param str output hex string; must be pointing at the start of\n the hex sequence and have at least the number of bytes\n needed for an oid encoded in hex (40 bytes). Only the\n oid digits are written; a '\\\\0' terminator must be added\n by the caller if it is required.\n@param oid oid structure to format.","comments":"","group":"oid"},"git_oid_pathfmt":{"type":"function","file":"oid.h","line":90,"lineto":90,"args":[{"name":"str","type":"char *","comment":"output hex string; must be pointing at the start of the hex sequence and have at least the number of bytes needed for an oid encoded in hex (41 bytes). Only the oid digits are written; a '\\\\0' terminator must be added by 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"},"description":"Format a git_oid into a loose-object path string.\n<p>\nThe resulting string is \"aa/...\", where \"aa\" is the first two\nhex digitis of the oid and \"...\" is the remaining 38 digits.","comments":"","group":"oid"},"git_oid_allocfmt":{"type":"function","file":"oid.h","line":98,"lineto":98,"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 deallocate the string with free()."},"description":"Format a gid_oid into a newly allocated c-string.\n@param oid the oid structure to format\n@return the c-string; NULL if memory is exhausted. Caller must\n deallocate the string with free().","comments":"","group":"oid"},"git_oid_to_string":{"type":"function","file":"oid.h","line":115,"lineto":115,"args":[{"name":"out","type":"char *","comment":"the buffer into which the oid string is output."},{"name":"n","type":"size_t","comment":"the size of the out buffer."},{"name":"oid","type":"const git_oid *","comment":"the oid structure to format."}],"argline":"char *out, size_t n, const git_oid *oid","sig":"char *::size_t::const git_oid *","return":{"type":"char *","comment":"the out buffer pointer, assuming no input parameter errors, otherwise a pointer to an empty string."},"description":"Format a git_oid into a buffer as a hex format c-string.\n<p>\nIf the buffer is smaller than GIT_OID_HEXSZ+1, then the resulting\noid c-string will be truncated to n-1 characters. If there are\nany input parameter errors (out == NULL, n == 0, oid == NULL),\nthen a pointer to an empty string is returned, so that the return\nvalue can always be printed.","comments":"","group":"oid"},"git_oid_cpy":{"type":"function","file":"oid.h","line":122,"lineto":122,"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"},"description":"Copy an oid from one structure to another.\n@param out oid structure the result is written into.\n@param src oid structure to copy from.","comments":"","group":"oid"},"git_oid_cmp":{"type":"function","file":"oid.h","line":130,"lineto":130,"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":"<0, 0, >0 if a < b, a == b, a > b."},"description":"Compare two oid structures.\n@param a first oid structure.\n@param b second oid structure.\n@return <0, 0, >0 if a < b, a == b, a > b.","comments":"","group":"oid"},"git_odb_new":{"type":"function","file":"odb.h","line":52,"lineto":52,"args":[{"name":"out","type":"git_odb **","comment":"location to store the database pointer, if opened. Set to NULL if the open failed."}],"argline":"git_odb **out","sig":"git_odb **","return":{"type":"int","comment":"GIT_SUCCESS if the database was created; otherwise an error code describing why the open was not possible."},"description":"Create a new object database with no backends.","comments":"Before the ODB can be used for read/writing, a custom database\nbackend must be manually added using `git_odb_add_backend()`\n","group":"odb"},"git_odb_open":{"type":"function","file":"odb.h","line":71,"lineto":71,"args":[{"name":"out","type":"git_odb **","comment":"location to store the database pointer, if opened. Set to NULL if the open failed."},{"name":"objects_dir","type":"const char *","comment":"path of the backends' \"objects\" directory."}],"argline":"git_odb **out, const char *objects_dir","sig":"git_odb **::const char *","return":{"type":"int","comment":"GIT_SUCCESS if the database opened; otherwise an error code describing why the open was not possible."},"description":"Create a new object database and automatically add\nthe two default backends:","comments":"- git_odb_backend_loose: read and write loose object files\n\tfrom disk, assuming `objects_dir` as the Objects folder\n\n- git_odb_backend_pack: read objects from packfiles,\n\tassuming `objects_dir` as the Objects folder which\n\tcontains a 'pack/' folder with the corresponding data\n","group":"odb"},"git_odb_add_backend":{"type":"function","file":"odb.h","line":82,"lineto":82,"args":[{"name":"odb","type":"git_odb *","comment":"database to add the backend to"},{"name":"backend","type":"git_odb_backend *"}],"argline":"git_odb *odb, git_odb_backend *backend","sig":"git_odb *::git_odb_backend *","return":{"type":"int","comment":"0 on sucess; error code otherwise"},"description":"Add a custom backend to an existing Object DB","comments":"Read <odb_backends.h> for more information.\n","group":"odb"},"git_odb_close":{"type":"function","file":"odb.h","line":88,"lineto":88,"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"},"description":"Close an open object database.\n@param db database pointer to close. If NULL no action is taken.","comments":"","group":"odb"},"git_odb_read":{"type":"function","file":"odb.h","line":109,"lineto":109,"args":[{"name":"out","type":"git_rawobj *","comment":"object descriptor to populate upon reading."},{"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_rawobj *out, git_odb *db, const git_oid *id","sig":"git_rawobj *::git_odb *::const git_oid *","return":{"type":"int","comment":"- GIT_SUCCESS if the object was read; - GIT_ENOTFOUND if the object is not in the database."},"description":"Read an object from the database.","comments":"If GIT_ENOTFOUND then out->data is set to NULL.\n","group":"odb"},"git_odb_read_header":{"type":"function","file":"odb.h","line":128,"lineto":128,"args":[{"name":"out","type":"git_rawobj *","comment":"object descriptor to populate upon reading."},{"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_rawobj *out, git_odb *db, const git_oid *id","sig":"git_rawobj *::git_odb *::const git_oid *","return":{"type":"int","comment":"- GIT_SUCCESS if the object was read; - GIT_ENOTFOUND if the object is not in the database."},"description":"Read the header of an object from the database, without\nreading its full contents.","comments":"Only the 'type' and 'len' fields of the git_rawobj structure\nare filled. The 'data' pointer will always be NULL.\n\nThe raw object pointed by 'out' doesn't need to be manually\nclosed with git_rawobj_close().\n","group":"odb"},"git_odb_write":{"type":"function","file":"odb.h","line":140,"lineto":140,"args":[{"name":"id","type":"git_oid *","comment":"identity of the object written."},{"name":"db","type":"git_odb *","comment":"database to which the object should be written."},{"name":"obj","type":"git_rawobj *","comment":"object descriptor for the object to write."}],"argline":"git_oid *id, git_odb *db, git_rawobj *obj","sig":"git_oid *::git_odb *::git_rawobj *","return":{"type":"int","comment":"- GIT_SUCCESS if the object was written; - GIT_ERROR otherwise."},"description":"Write an object to the database.","comments":"","group":"odb"},"git_odb_exists":{"type":"function","file":"odb.h","line":151,"lineto":151,"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":"- true, if the object was found - false, otherwise"},"description":"Determine if the given object can be found in the object database.","comments":"","group":"odb"},"git_rawobj_hash":{"type":"function","file":"odb.h","line":169,"lineto":169,"args":[{"name":"id","type":"git_oid *","comment":"the resulting object-ID."},{"name":"obj","type":"git_rawobj *","comment":"the object whose hash is to be determined."}],"argline":"git_oid *id, git_rawobj *obj","sig":"git_oid *::git_rawobj *","return":{"type":"int","comment":"- GIT_SUCCESS if the object-ID was correctly determined. - GIT_ERROR if the given object is malformed."},"description":"Determine the object-ID (sha1 hash) of the given git_rawobj.","comments":"The input obj must be a valid loose object type and the data\npointer must not be NULL, unless the len field is also zero.\n","group":"rawobj"},"git_rawobj_close":{"type":"function","file":"odb.h","line":180,"lineto":180,"args":[{"name":"obj","type":"git_rawobj *","comment":"object descriptor to free."}],"argline":"git_rawobj *obj","sig":"git_rawobj *","return":{"type":"void"},"description":"Release all memory used by the obj structure.","comments":"As a result of this call, obj->data will be set to NULL.\n\nIf obj->data is already NULL, nothing happens.\n","group":"rawobj"},"git_object_write":{"type":"function","file":"object.h","line":58,"lineto":58,"args":[{"name":"object","type":"git_object *","comment":"Git object to write back"}],"argline":"git_object *object","sig":"git_object *","return":{"type":"int","comment":"0 on success; otherwise an error code"},"description":"Write back an object to disk.","comments":"The object will be written to its corresponding\nrepository.\n\nIf the object has no changes since it was first\nread from the repository, no actions will take place.\n\nIf the object has been modified since it was read from\nthe repository, or it has been created from scratch\nin memory, it will be written to the repository and\nits SHA1 ID will be updated accordingly.\n","group":"object"},"git_object_id":{"type":"function","file":"object.h","line":69,"lineto":69,"args":[{"name":"obj","type":"git_object *","comment":"the repository object"}],"argline":"git_object *obj","sig":"git_object *","return":{"type":"const git_oid *","comment":"the SHA1 id"},"description":"Get the id (SHA1) of a repository object","comments":"In-memory objects created by git_object_new() do not\nhave a SHA1 ID until they are written on a repository.\n","group":"object"},"git_object_type":{"type":"function","file":"object.h","line":77,"lineto":77,"args":[{"name":"obj","type":"git_object *","comment":"the repository object"}],"argline":"git_object *obj","sig":"git_object *","return":{"type":"git_otype","comment":"the object's type"},"description":"Get the object type of an object","comments":"","group":"object"},"git_object_owner":{"type":"function","file":"object.h","line":85,"lineto":85,"args":[{"name":"obj","type":"git_object *","comment":"the object"}],"argline":"git_object *obj","sig":"git_object *","return":{"type":"git_repository *","comment":"the repository who owns this object"},"description":"Get the repository that owns this object","comments":"","group":"object"},"git_object_free":{"type":"function","file":"object.h","line":99,"lineto":99,"args":[{"name":"object","type":"git_object *","comment":"the object to free"}],"argline":"git_object *object","sig":"git_object *","return":{"type":"void"},"description":"Free a reference to one of the objects in the repository.","comments":"Repository objects are managed automatically by the library,\nbut this method can be used to force freeing one of the\nobjects.\n\nCareful: freeing objects in the middle of a repository\ntraversal will most likely cause errors.\n","group":"object"},"git_object_type2string":{"type":"function","file":"object.h","line":110,"lineto":110,"args":[{"name":"type","type":"git_otype","comment":"object type to convert."}],"argline":"git_otype type","sig":"git_otype","return":{"type":"const char *","comment":"the corresponding string representation."},"description":"Convert an object type to it's string representation.","comments":"The result is a pointer to a string in static memory and\nshould not be free()'ed.\n","group":"object"},"git_object_string2type":{"type":"function","file":"object.h","line":118,"lineto":118,"args":[{"name":"str","type":"const char *","comment":"the string to convert."}],"argline":"const char *str","sig":"const char *","return":{"type":"git_otype","comment":"the corresponding git_otype."},"description":"Convert a string object type representation to it's git_otype.","comments":"","group":"object"},"git_object_typeisloose":{"type":"function","file":"object.h","line":127,"lineto":127,"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, false otherwise."},"description":"Determine if the given git_otype is a valid loose object type.","comments":"","group":"object"},"git_index_open_bare":{"type":"function","file":"index.h","line":86,"lineto":86,"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 on success; error code otherwise"},"description":"Create a new Git index object as a memory representation\nof the Git index file in 'index_path', without a repository\nto back it.","comments":"Since there is no ODB behind this index, any Index methods\nwhich rely on the ODB (e.g. index_add) will fail with the\nGIT_EBAREINDEX error code.\n","group":"index"},"git_index_open_inrepo":{"type":"function","file":"index.h","line":96,"lineto":96,"args":[{"name":"index","type":"git_index **","comment":"_path the path to the index file in disk"},{"name":"repo","type":"git_repository *","comment":"the git repo which owns the index"}],"argline":"git_index **index, git_repository *repo","sig":"git_index **::git_repository *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Open the Index inside the git repository pointed\nby 'repo'.","comments":"","group":"index"},"git_index_clear":{"type":"function","file":"index.h","line":105,"lineto":105,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"void"},"description":"Clear the contents (all the entries) of an index object.\nThis clears the index object in memory; changes must be manually\nwritten to disk for them to take effect.","comments":"","group":"index"},"git_index_free":{"type":"function","file":"index.h","line":112,"lineto":112,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"void"},"description":"Free an existing index object.","comments":"","group":"index"},"git_index_read":{"type":"function","file":"index.h","line":121,"lineto":121,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"int","comment":"0 on success, otherwise an error code"},"description":"Update the contents of an existing index object in memory\nby reading from the hard disk.","comments":"","group":"index"},"git_index_write":{"type":"function","file":"index.h","line":130,"lineto":130,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"int","comment":"0 on success, otherwise an error code"},"description":"Write an existing index object from memory back to disk\nusing an atomic file lock.","comments":"","group":"index"},"git_index_find":{"type":"function","file":"index.h","line":140,"lineto":140,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"},{"name":"path","type":"const char *","comment":"path to search"}],"argline":"git_index *index, const char *path","sig":"git_index *::const char *","return":{"type":"int","comment":"an index >= 0 if found, -1 otherwise"},"description":"Find the first index of any entires which point to given\npath in the Git index.","comments":"","group":"index"},"git_index_add":{"type":"function","file":"index.h","line":150,"lineto":150,"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 on success, otherwise an error code"},"description":"Add or update an index entry from a file in disk.","comments":"","group":"index"},"git_index_remove":{"type":"function","file":"index.h","line":159,"lineto":159,"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 on success, otherwise an error code"},"description":"Remove an entry from the index","comments":"","group":"index"},"git_index_insert":{"type":"function","file":"index.h","line":172,"lineto":172,"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 on success, otherwise an error code"},"description":"Insert an entry into the index.\nA full copy (including the 'path' string) of the given\n'source_entry' will be inserted on the index; if the index\nalready contains an entry for the same path, the entry\nwill be updated.","comments":"","group":"index"},"git_index_get":{"type":"function","file":"index.h","line":184,"lineto":184,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"},{"name":"n","type":"int","comment":"the position of the entry"}],"argline":"git_index *index, int n","sig":"git_index *::int","return":{"type":"git_index_entry *","comment":"a pointer to the entry; NULL if out of bounds"},"description":"Get a pointer to one of the entries in the index","comments":"This entry can be modified, and the changes will be written\nback to disk on the next write() call.\n","group":"index"},"git_index_entrycount":{"type":"function","file":"index.h","line":192,"lineto":192,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"unsigned int","comment":"integer of count of current entries"},"description":"Get the count of entries currently in the index","comments":"","group":"index"},"git_strerror":{"type":"function","file":"errors.h","line":51,"lineto":51,"args":[{"name":"num","type":"int","comment":"The error code to explain"}],"argline":"int num","sig":"int","return":{"type":"const char *","comment":"a string explaining the error code"},"description":"strerror() for the Git library\n@param num The error code to explain\n@return a string explaining the error code","comments":"","group":"errors"},"git_commit_lookup":{"type":"function","file":"commit.h","line":52,"lineto":52,"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 an 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 on success; error code otherwise"},"description":"Lookup a commit object from a repository.\nThe generated commit object is owned by the revision\nrepo and shall not be freed by the user.","comments":"","group":"commit"},"git_commit_new":{"type":"function","file":"commit.h","line":65,"lineto":65,"args":[{"name":"commit","type":"git_commit **","comment":"pointer to the new commit"},{"name":"repo","type":"git_repository *","comment":"The repository where the object will reside"}],"argline":"git_commit ** commit, git_repository *repo","sig":"git_commit **::git_repository *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Create a new in-memory git_commit.","comments":"The commit object must be manually filled using\nsetter methods before it can be written to its\nrepository.\n","group":"commit"},"git_commit_id":{"type":"function","file":"commit.h","line":72,"lineto":72,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"const git_oid *","comment":"object identity for the commit."},"description":"Get the id of a commit.\n@param commit a previously loaded commit.\n@return object identity for the commit.","comments":"","group":"commit"},"git_commit_message_short":{"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 char *","comment":"the short message of a commit"},"description":"Get the short (one line) message of a commit.\n@param commit a previously loaded commit.\n@return the short message of a commit","comments":"","group":"commit"},"git_commit_message":{"type":"function","file":"commit.h","line":86,"lineto":86,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"const char *","comment":"the message of a commit"},"description":"Get the full message of a commit.\n@param commit a previously loaded commit.\n@return the message of a commit","comments":"","group":"commit"},"git_commit_time":{"type":"function","file":"commit.h","line":93,"lineto":93,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"time_t","comment":"the time of a commit"},"description":"Get the commit time (i.e. committer time) of a commit.\n@param commit a previously loaded commit.\n@return the time of a commit","comments":"","group":"commit"},"git_commit_committer":{"type":"function","file":"commit.h","line":100,"lineto":100,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"const git_person *","comment":"the committer of a commit"},"description":"Get the committer of a commit.\n@param commit a previously loaded commit.\n@return the committer of a commit","comments":"","group":"commit"},"git_commit_author":{"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":"const git_person *","comment":"the author of a commit"},"description":"Get the author of a commit.\n@param commit a previously loaded commit.\n@return the author of a commit","comments":"","group":"commit"},"git_commit_tree":{"type":"function","file":"commit.h","line":114,"lineto":114,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"const git_tree *","comment":"the tree of a commit"},"description":"Get the tree pointed to by a commit.\n@param commit a previously loaded commit.\n@return the tree of a commit","comments":"","group":"commit"},"git_commit_parentcount":{"type":"function","file":"commit.h","line":122,"lineto":122,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"unsigned int","comment":"integer of count of parents"},"description":"Get the number of parents of this commit","comments":"","group":"commit"},"git_commit_parent":{"type":"function","file":"commit.h","line":130,"lineto":130,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."},{"name":"n","type":"unsigned int","comment":"the position of the entry"}],"argline":"git_commit *commit, unsigned int n","sig":"git_commit *::unsigned int","return":{"type":"git_commit *","comment":"a pointer to the commit; NULL if out of bounds"},"description":"Get the specified parent of the commit.\n@param commit a previously loaded commit.\n@param n the position of the entry\n@return a pointer to the commit; NULL if out of bounds","comments":"","group":"commit"},"git_commit_add_parent":{"type":"function","file":"commit.h","line":138,"lineto":138,"args":[{"name":"commit","type":"git_commit *","comment":"the commit object"},{"name":"new_parent","type":"git_commit *","comment":"the new commit which will be a parent"}],"argline":"git_commit *commit, git_commit *new_parent","sig":"git_commit *::git_commit *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Add a new parent commit to an existing commit\n@param commit the commit object\n@param new_parent the new commit which will be a parent\n@return 0 on success; error code otherwise","comments":"","group":"commit"},"git_commit_set_message":{"type":"function","file":"commit.h","line":145,"lineto":145,"args":[{"name":"commit","type":"git_commit *","comment":"the commit object"},{"name":"message","type":"const char *","comment":"the new message"}],"argline":"git_commit *commit, const char *message","sig":"git_commit *::const char *","return":{"type":"void"},"description":"Set the message of a commit\n@param commit the commit object\n@param message the new message","comments":"","group":"commit"},"git_commit_set_committer":{"type":"function","file":"commit.h","line":154,"lineto":154,"args":[{"name":"commit","type":"git_commit *","comment":"the commit object"},{"name":"name","type":"const char *","comment":"name of the new committer"},{"name":"email","type":"const char *","comment":"email of the new committer"},{"name":"time","type":"time_t","comment":"time when the committer committed the commit"}],"argline":"git_commit *commit, const char *name, const char *email, time_t time","sig":"git_commit *::const char *::const char *::time_t","return":{"type":"void"},"description":"Set the committer of a commit\n@param commit the commit object\n@param name name of the new committer\n@param email email of the new committer\n@param time time when the committer committed the commit","comments":"","group":"commit"},"git_commit_set_author":{"type":"function","file":"commit.h","line":163,"lineto":163,"args":[{"name":"commit","type":"git_commit *","comment":"the commit object"},{"name":"name","type":"const char *","comment":"name of the new author"},{"name":"email","type":"const char *","comment":"email of the new author"},{"name":"time","type":"time_t","comment":"time when the author created the commit"}],"argline":"git_commit *commit, const char *name, const char *email, time_t time","sig":"git_commit *::const char *::const char *::time_t","return":{"type":"void"},"description":"Set the author of a commit\n@param commit the commit object\n@param name name of the new author\n@param email email of the new author\n@param time time when the author created the commit","comments":"","group":"commit"},"git_commit_set_tree":{"type":"function","file":"commit.h","line":170,"lineto":170,"args":[{"name":"commit","type":"git_commit *","comment":"the commit object"},{"name":"tree","type":"git_tree *","comment":"the new tree"}],"argline":"git_commit *commit, git_tree *tree","sig":"git_commit *::git_tree *","return":{"type":"void"},"description":"Set the tree which is pointed to by a commit\n@param commit the commit object\n@param tree the new tree","comments":"","group":"commit"},"git_blob_lookup":{"type":"function","file":"blob.h","line":51,"lineto":51,"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 on success; error code otherwise"},"description":"Lookup a blob object from a repository.\nThe generated blob object is owned by the revision\nrepo and shall not be freed by the user.","comments":"","group":"blob"},"git_blob_new":{"type":"function","file":"blob.h","line":64,"lineto":64,"args":[{"name":"blob","type":"git_blob **","comment":"pointer to the new blob"},{"name":"repo","type":"git_repository *","comment":"The repository where the object will reside"}],"argline":"git_blob **blob, git_repository *repo","sig":"git_blob **::git_repository *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Create a new in-memory git_blob.","comments":"The blob object must be manually filled using\nthe 'set_rawcontent' methods before it can\nbe written back to disk.\n","group":"blob"},"git_blob_set_rawcontent_fromfile":{"type":"function","file":"blob.h","line":74,"lineto":74,"args":[{"name":"blob","type":"git_blob *","comment":"pointer to the new blob"},{"name":"filename","type":"const char *","comment":"name of the file to read"}],"argline":"git_blob *blob, const char *filename","sig":"git_blob *::const char *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Fill a blob with the contents inside\nthe pointed file.","comments":"","group":"blob"},"git_blob_set_rawcontent":{"type":"function","file":"blob.h","line":85,"lineto":85,"args":[{"name":"blob","type":"git_blob *","comment":"pointer to the blob"},{"name":"buffer","type":"const void *","comment":"buffer with the contents for the blob"},{"name":"len","type":"size_t","comment":"size of the buffer"}],"argline":"git_blob *blob, const void *buffer, size_t len","sig":"git_blob *::const void *::size_t","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Fill a blob with the contents inside\nthe pointed buffer","comments":"","group":"blob"},"git_blob_rawcontent":{"type":"function","file":"blob.h","line":98,"lineto":98,"args":[{"name":"blob","type":"git_blob *","comment":"pointer to the blob"}],"argline":"git_blob *blob","sig":"git_blob *","return":{"type":"const char *","comment":"the pointer; NULL if the blob has no contents"},"description":"Get a read-only buffer with the raw content of a blob.","comments":"A pointer to the raw content of a blob is returned;\nthis pointer is owned internally by the object and shall\nnot be free'd. The pointer may be invalidated at a later\ntime (e.g. when changing the contents of the blob).\n","group":"blob"},"git_blob_rawsize":{"type":"function","file":"blob.h","line":106,"lineto":106,"args":[{"name":"blob","type":"git_blob *","comment":"pointer to the blob"}],"argline":"git_blob *blob","sig":"git_blob *","return":{"type":"int","comment":"size on bytes"},"description":"Get the size in bytes of the contents of a blob","comments":"","group":"blob"},"git_blob_writefile":{"type":"function","file":"blob.h","line":117,"lineto":117,"args":[{"name":"written_id","type":"git_oid *","comment":"return the id of the written blob"},{"name":"repo","type":"git_repository *","comment":"repository where the blob will be written"},{"name":"path","type":"const char *","comment":"file from which the blob will be created"}],"argline":"git_oid *written_id, git_repository *repo, const char *path","sig":"git_oid *::git_repository *::const char *","return":{"type":"int"},"description":"Read a file from the working folder of a repository\nand write it to the Object Database as a loose blob,\nif such doesn't exist yet.","comments":"","group":"blob"}},"globals":{"GIT_SORT_NONE":{"value":"(0)","file":"revwalk.h","line":46,"comments":"Sort the repository contents in no particular ordering;\nthis sorting is arbitrary, implementation-specific\nand subject to change at any time.\nThis is the default sorting for new walkers."},"GIT_SORT_TOPOLOGICAL":{"value":"(1 << 0)","file":"revwalk.h","line":53,"comments":"Sort the repository contents in topological order\n(parents before children); this sorting mode\ncan be combined with time sorting."},"GIT_SORT_TIME":{"value":"(1 << 1)","file":"revwalk.h","line":60,"comments":"Sort the repository contents by commit time;\nthis sorting mode can be combined with\ntopological sorting."},"GIT_SORT_REVERSE":{"value":"(1 << 2)","file":"revwalk.h","line":67,"comments":"Iterate through the repository contents in reverse\norder; this sorting mode can be combined with\nany of the above."},"GIT_OID_RAWSZ":{"value":"20","file":"oid.h","line":38,"comments":"Size (in bytes) of a raw/binary oid"},"GIT_OID_HEXSZ":{"value":"(GIT_OID_RAWSZ * 2)","file":"oid.h","line":41,"comments":"Size (in bytes) of a hex formatted oid"},"GIT_BEGIN_DECL":{"value":"","file":"common.h","line":36,"comments":"Start declarations in C mode"},"GIT_END_DECL":{"value":"","file":"common.h","line":38,"comments":"End declarations in C mode"},"GIT_EXTERN(type)":{"value":"extern __attribute__((visibility(\"default\"))) type","file":"common.h","line":42,"comments":"Declare a public function exported for application use."},"GIT_EXTERN_TLS(type)":{"value":"extern __attribute__((visibility(\"default\"))) GIT_TLS type","file":"common.h","line":53,"comments":"Declare a public TLS symbol exported for application use."},"GIT_INLINE(type)":{"value":"static __inline type","file":"common.h","line":63,"comments":"Declare a function as always inlined."},"GIT_FORMAT_PRINTF(a,b)":{"value":"__attribute__((format (printf, a, b)))","file":"common.h","line":70,"comments":"Declare a function's takes printf style arguments."},"GIT_SUCCESS":{"value":"0","file":"common.h","line":85,"comments":"Operation completed successfully."},"GIT_ERROR":{"value":"-1","file":"common.h","line":93,"comments":"Operation failed, with unspecified reason.\nThis value also serves as the base error code; all other\nerror codes are subtracted from it such that all errors\nare < 0, in typical POSIX C tradition."},"GIT_ENOTOID":{"value":"(GIT_ERROR - 1)","file":"common.h","line":96,"comments":"Input was not a properly formatted Git object id."},"GIT_ENOTFOUND":{"value":"(GIT_ERROR - 2)","file":"common.h","line":99,"comments":"Input does not exist in the scope searched."},"GIT_ENOMEM":{"value":"(GIT_ERROR - 3)","file":"common.h","line":102,"comments":"Not enough space available."},"GIT_EOSERR":{"value":"(GIT_ERROR - 4)","file":"common.h","line":105,"comments":"Consult the OS error information."},"GIT_EOBJTYPE":{"value":"(GIT_ERROR - 5)","file":"common.h","line":108,"comments":"The specified object is of invalid type"},"GIT_EOBJCORRUPTED":{"value":"(GIT_ERROR - 6)","file":"common.h","line":111,"comments":"The specified object has its data corrupted"},"GIT_ENOTAREPO":{"value":"(GIT_ERROR - 7)","file":"common.h","line":114,"comments":"The specified repository is invalid"},"GIT_EINVALIDTYPE":{"value":"(GIT_ERROR - 8)","file":"common.h","line":117,"comments":"The object type is invalid or doesn't match"},"GIT_EMISSINGOBJDATA":{"value":"(GIT_ERROR - 9)","file":"common.h","line":120,"comments":"The object cannot be written that because it's missing internal data"},"GIT_EPACKCORRUPTED":{"value":"(GIT_ERROR - 10)","file":"common.h","line":123,"comments":"The packfile for the ODB is corrupted"},"GIT_EFLOCKFAIL":{"value":"(GIT_ERROR - 11)","file":"common.h","line":126,"comments":"Failed to adquire or release a file lock"},"GIT_EZLIB":{"value":"(GIT_ERROR - 12)","file":"common.h","line":129,"comments":"The Z library failed to inflate/deflate an object's data"},"GIT_EBUSY":{"value":"(GIT_ERROR - 13)","file":"common.h","line":132,"comments":"The queried object is currently busy"},"GIT_EBAREINDEX":{"value":"(GIT_ERROR -14)","file":"common.h","line":135,"comments":"The index file is not backed up by an existing repository"}},"types":[["git_blob",{"type":"struct","value":"git_blob","file":"types.h","line":71,"lineto":71,"block":"","tdef":"typedef","comments":"In-memory representation of a blob object.","used":{"returns":[],"needs":["git_blob_lookup","git_blob_new","git_blob_rawcontent","git_blob_rawsize","git_blob_set_rawcontent","git_blob_set_rawcontent_fromfile"]}}],["git_commit",{"type":"struct","value":"git_commit","file":"types.h","line":74,"lineto":74,"block":"","tdef":"typedef","comments":"Parsed representation of a commit object.","used":{"returns":["git_commit_parent","git_revwalk_next"],"needs":["git_commit_add_parent","git_commit_author","git_commit_committer","git_commit_id","git_commit_lookup","git_commit_message","git_commit_message_short","git_commit_new","git_commit_parent","git_commit_parentcount","git_commit_set_author","git_commit_set_committer","git_commit_set_message","git_commit_set_tree","git_commit_time","git_commit_tree","git_revwalk_hide","git_revwalk_push"]}}],["git_index",{"type":"struct","value":"git_index","file":"types.h","line":83,"lineto":83,"block":"","tdef":"typedef","comments":"Memory representation of an index file.","used":{"returns":["git_repository_index"],"needs":["git_index_add","git_index_clear","git_index_entrycount","git_index_find","git_index_free","git_index_get","git_index_insert","git_index_open_bare","git_index_open_inrepo","git_index_read","git_index_remove","git_index_write"]}}],["git_index_entry",{"type":"struct","value":"git_index_entry","file":"index.h","line":53,"lineto":70,"block":"git_index_time ctime\ngit_index_time mtime\nunsigned int dev\nunsigned int ino\nunsigned int mode\nunsigned int uid\nunsigned int gid\noff_t file_size\ngit_oid oid\nunsigned short flags\nunsigned short flags_extended\nchar *path","tdef":"typedef","comments":"Memory representation of a file entry in the index.","used":{"returns":["git_index_get"],"needs":["git_index_insert"]}}],["git_index_time",{"type":"struct","value":"git_index_time","file":"index.h","line":47,"lineto":50,"block":"time_t seconds\ntime_t nanoseconds","tdef":"typedef","comments":"Time used in a git index entry","used":{"returns":[],"needs":[]}}],["git_object",{"type":"struct","value":"git_object","file":"types.h","line":63,"lineto":65,"block":"","tdef":"typedef","comments":"Representation of a generic object in a repository","used":{"returns":["git_tag_target"],"needs":["git_object_free","git_object_id","git_object_owner","git_object_type","git_object_write","git_repository_lookup","git_repository_newobject","git_tag_set_target","git_tree_entry_2object"]}}],["git_odb",{"type":"struct","value":"git_odb","file":"types.h","line":51,"lineto":51,"block":"","tdef":"typedef","comments":"An open object database handle.","used":{"returns":["git_repository_database"],"needs":["git_odb_add_backend","git_odb_close","git_odb_exists","git_odb_new","git_odb_open","git_odb_read","git_odb_read_header","git_odb_write"]}}],["git_odb_backend",{"type":"struct","value":"git_odb_backend","file":"odb_backend.h","line":42,"lineto":71,"block":"git_odb *odb\nint priority\nint (* read)(git_rawobj *, struct git_odb_backend *, const git_oid *)\nint (* read_header)(git_rawobj *, struct git_odb_backend *, const git_oid *)\nint (* write)(git_oid *id, struct git_odb_backend *, git_rawobj *obj)\nint (* exists)(struct git_odb_backend *, const git_oid *)\nvoid (* free)(struct git_odb_backend *)","tdef":null,"comments":"An instance for a custom backend","used":{"returns":[],"needs":["git_odb_add_backend"]}}],["git_oid",{"type":"struct","value":"git_oid","file":"oid.h","line":44,"lineto":47,"block":"unsigned char id[GIT_OID_RAWSZ]","tdef":"typedef","comments":"Unique identity of any object (commit, tree, blob, tag).","used":{"returns":["git_commit_id","git_object_id","git_tag_id","git_tree_entry_id","git_tree_id"],"needs":["git_blob_lookup","git_blob_writefile","git_commit_lookup","git_odb_exists","git_odb_read","git_odb_read_header","git_odb_write","git_oid_allocfmt","git_oid_cmp","git_oid_cpy","git_oid_fmt","git_oid_mkraw","git_oid_mkstr","git_oid_pathfmt","git_oid_to_string","git_rawobj_hash","git_repository_lookup","git_tag_lookup","git_tree_add_entry","git_tree_entry_set_id","git_tree_lookup"]}}],["git_otype",{"type":"enum","file":"types.h","line":37,"lineto":48,"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","comments":"Basic type (loose or packed) of any Git object.","used":{"returns":[],"needs":["git_object_type2string","git_object_typeisloose","git_repository_lookup","git_repository_newobject"]}}],["git_person",{"type":"struct","value":"git_person","file":"common.h","line":141,"lineto":145,"block":"","tdef":"typedef","comments":"Parsed representation of a person","used":{"returns":["git_commit_author","git_commit_committer","git_tag_tagger"],"needs":[]}}],["git_rawobj",{"type":"struct","value":"git_rawobj","file":"odb.h","line":91,"lineto":95,"block":"void *data\nsize_t len\ngit_otype type","tdef":"typedef","comments":"An object read from the database.","used":{"returns":[],"needs":["git_odb_read","git_odb_read_header","git_odb_write","git_rawobj_close","git_rawobj_hash"]}}],["git_repository",{"type":"struct","value":"git_repository","file":"types.h","line":60,"lineto":60,"block":"","tdef":"typedef","comments":"Representation of an existing git repository,\nincluding all its object contents","used":{"returns":["git_object_owner","git_revwalk_repository"],"needs":["git_blob_lookup","git_blob_new","git_blob_writefile","git_commit_lookup","git_commit_new","git_index_open_inrepo","git_repository_database","git_repository_free","git_repository_index","git_repository_lookup","git_repository_newobject","git_repository_open","git_repository_open2","git_revwalk_new","git_tag_lookup","git_tag_new","git_tree_lookup","git_tree_new"]}}],["git_tag",{"type":"struct","value":"git_tag","file":"types.h","line":68,"lineto":68,"block":"","tdef":"typedef","comments":"Parsed representation of a tag object.","used":{"returns":[],"needs":["git_tag_id","git_tag_lookup","git_tag_message","git_tag_name","git_tag_new","git_tag_set_message","git_tag_set_name","git_tag_set_tagger","git_tag_set_target","git_tag_tagger","git_tag_target","git_tag_type"]}}],["git_tree",{"type":"struct","value":"git_tree","file":"types.h","line":80,"lineto":80,"block":"","tdef":"typedef","comments":"Representation of a tree object.","used":{"returns":["git_commit_tree"],"needs":["git_commit_set_tree","git_tree_add_entry","git_tree_entry_byindex","git_tree_entry_byname","git_tree_entrycount","git_tree_id","git_tree_lookup","git_tree_new","git_tree_remove_entry_byindex","git_tree_remove_entry_byname"]}}],["git_tree_entry",{"type":"struct","value":"git_tree_entry","file":"types.h","line":77,"lineto":77,"block":"","tdef":"typedef","comments":"Representation of each one of the entries in a tree object.","used":{"returns":["git_tree_entry_byindex","git_tree_entry_byname"],"needs":["git_tree_entry_2object","git_tree_entry_attributes","git_tree_entry_id","git_tree_entry_name","git_tree_entry_set_attributes","git_tree_entry_set_id","git_tree_entry_set_name"]}}]],"prefix":"src/git2","groups":[["blob",["git_blob_lookup","git_blob_new","git_blob_rawcontent","git_blob_rawsize","git_blob_set_rawcontent","git_blob_set_rawcontent_fromfile","git_blob_writefile"]],["commit",["git_commit_add_parent","git_commit_author","git_commit_committer","git_commit_id","git_commit_lookup","git_commit_message","git_commit_message_short","git_commit_new","git_commit_parent","git_commit_parentcount","git_commit_set_author","git_commit_set_committer","git_commit_set_message","git_commit_set_tree","git_commit_time","git_commit_tree"]],["errors",["git_strerror"]],["index",["git_index_add","git_index_clear","git_index_entrycount","git_index_find","git_index_free","git_index_get","git_index_insert","git_index_open_bare","git_index_open_inrepo","git_index_read","git_index_remove","git_index_write"]],["object",["git_object_free","git_object_id","git_object_owner","git_object_string2type","git_object_type","git_object_type2string","git_object_typeisloose","git_object_write"]],["odb",["git_odb_add_backend","git_odb_close","git_odb_exists","git_odb_new","git_odb_open","git_odb_read","git_odb_read_header","git_odb_write"]],["oid",["git_oid_allocfmt","git_oid_cmp","git_oid_cpy","git_oid_fmt","git_oid_mkraw","git_oid_mkstr","git_oid_pathfmt","git_oid_to_string"]],["rawobj",["git_rawobj_close","git_rawobj_hash"]],["repository",["git_repository_database","git_repository_free","git_repository_index","git_repository_lookup","git_repository_newobject","git_repository_open","git_repository_open2"]],["revwalk",["git_revwalk_free","git_revwalk_hide","git_revwalk_new","git_revwalk_next","git_revwalk_push","git_revwalk_repository","git_revwalk_reset","git_revwalk_sorting"]],["tag",["git_tag_id","git_tag_lookup","git_tag_message","git_tag_name","git_tag_new","git_tag_set_message","git_tag_set_name","git_tag_set_tagger","git_tag_set_target","git_tag_tagger","git_tag_target","git_tag_type"]],["tree",["git_tree_add_entry","git_tree_entry_2object","git_tree_entry_attributes","git_tree_entry_byindex","git_tree_entry_byname","git_tree_entry_id","git_tree_entry_name","git_tree_entry_set_attributes","git_tree_entry_set_id","git_tree_entry_set_name","git_tree_entrycount","git_tree_id","git_tree_lookup","git_tree_new","git_tree_remove_entry_byindex","git_tree_remove_entry_byname"]],["zlib",["deflateBound"]]]} \ No newline at end of file
diff --git a/v0.3.0.json b/v0.3.0.json
index d8f775304..00f69c1a0 100644
--- a/v0.3.0.json
+++ b/v0.3.0.json
@@ -1 +1 @@
-{"files":[{"file":"common.h","functions":[],"meta":{"brief":"Git common platform definitions","defgroup":"git_common Git common platform definitions","ingroup":"Git","comments":"\n"},"lines":160},{"file":"signature.h","functions":["git_signature_new","git_signature_dup","git_signature_free"],"meta":{"brief":"Git signature creation","defgroup":"git_signature Git signature creation","ingroup":"Git","comments":"\n"},"lines":70},{"file":"blob.h","functions":["git_blob_lookup","git_blob_new","git_blob_set_rawcontent_fromfile","git_blob_set_rawcontent","git_blob_rawcontent","git_blob_rawsize","git_blob_writefile"],"meta":{"brief":"Git blob load and write routines","defgroup":"git_blob Git blob load and write routines","ingroup":"Git","comments":"\n"},"lines":128},{"file":"index.h","functions":["git_index_open_bare","git_index_open_inrepo","git_index_clear","git_index_free","git_index_read","git_index_write","git_index_find","git_index_add","git_index_remove","git_index_insert","git_index_get","git_index_entrycount"],"meta":{"brief":"Git index parsing and manipulation routines","defgroup":"git_index Git index parsing and manipulation routines","ingroup":"Git","comments":"\n"},"lines":198},{"file":"repository.h","functions":["git_repository_open","git_repository_open2","git_repository_open3","git_repository_lookup","git_repository_database","git_repository_index","git_repository_newobject","git_repository_free","git_repository_init","git_repository_lookup_ref"],"meta":{"brief":"Git repository management routines","defgroup":"git_repository Git repository management routines","ingroup":"Git","comments":"\n"},"lines":239},{"file":"tag.h","functions":["git_tag_lookup","git_tag_new","git_tag_id","git_tag_target","git_tag_type","git_tag_name","git_tag_tagger","git_tag_message","git_tag_set_target","git_tag_set_name","git_tag_set_tagger","git_tag_set_message"],"meta":{"brief":"Git tag parsing routines","defgroup":"git_tag Git tag management","ingroup":"Git","comments":"\n"},"lines":145},{"file":"odb_backend.h","functions":[],"meta":{"brief":"Git custom backend functions","defgroup":"git_backend Git custom backend API","ingroup":"Git","comments":"\n"},"lines":78},{"file":"commit.h","functions":["git_commit_lookup","git_commit_new","git_commit_id","git_commit_message_short","git_commit_message","git_commit_time","git_commit_time_offset","git_commit_committer","git_commit_author","git_commit_tree","git_commit_parentcount","git_commit_parent","git_commit_add_parent","git_commit_set_message","git_commit_set_committer","git_commit_set_author","git_commit_set_tree"],"meta":{"brief":"Git commit parsing, formatting routines","defgroup":"git_commit Git commit parsing, formatting routines","ingroup":"Git","comments":"\n"},"lines":184},{"file":"types.h","functions":[],"meta":{"brief":"libgit2 base & compatibility types","ingroup":"Git","comments":"\n"},"lines":151},{"file":"zlib.h","functions":["deflateBound"],"meta":{"brief":"Git data compression routines","defgroup":"git_zlib Git data compression routines","ingroup":"Git","comments":"\n"},"lines":58},{"file":"tree.h","functions":["git_tree_lookup","git_tree_new","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_2object","git_tree_add_entry","git_tree_add_entry_unsorted","git_tree_sort_entries","git_tree_remove_entry_byindex","git_tree_remove_entry_byname","git_tree_clear_entries","git_tree_entry_set_id","git_tree_entry_set_name","git_tree_entry_set_attributes"],"meta":{"brief":"Git tree parsing, loading routines","defgroup":"git_tree Git tree parsing, loading routines","ingroup":"Git","comments":"\n"},"lines":252},{"file":"odb.h","functions":["git_odb_new","git_odb_open","git_odb_add_backend","git_odb_close","git_odb_read","git_odb_read_header","git_odb_write","git_odb_exists","git_rawobj_hash","git_rawobj_close"],"meta":{"brief":"Git object database routines","defgroup":"git_odb Git object database routines","ingroup":"Git","comments":"\n"},"lines":184},{"file":"thread-utils.h","functions":[],"meta":{},"lines":80},{"file":"oid.h","functions":["git_oid_mkstr","git_oid_mkraw","git_oid_fmt","git_oid_pathfmt","git_oid_allocfmt","git_oid_to_string","git_oid_cpy","git_oid_cmp"],"meta":{"brief":"Git object id routines","defgroup":"git_oid Git object id routines","ingroup":"Git","comments":"\n"},"lines":137},{"file":"errors.h","functions":["git_strerror"],"meta":{"brief":"Git error handling routines and variables","ingroup":"Git","comments":"\n"},"lines":45},{"file":"revwalk.h","functions":["git_revwalk_new","git_revwalk_reset","git_revwalk_push","git_revwalk_hide","git_revwalk_next","git_revwalk_sorting","git_revwalk_free","git_revwalk_repository"],"meta":{"brief":"Git revision traversal routines","defgroup":"git_revwalk Git revision traversal routines","ingroup":"Git","comments":"\n"},"lines":136},{"file":"object.h","functions":["git_object_write","git_object_id","git_object_type","git_object_owner","git_object_free","git_object_type2string","git_object_string2type","git_object_typeisloose","git_object__size"],"meta":{"brief":"Git revision object management routines","defgroup":"git_object Git revision object management routines","ingroup":"Git","comments":"\n"},"lines":146},{"file":"refs.h","functions":["git_reference_new","git_reference_oid","git_reference_target","git_reference_type","git_reference_name","git_reference_resolve","git_reference_write","git_reference_owner","git_reference_set_name","git_reference_set_target","git_reference_set_oid"],"meta":{"brief":"Git reference management routines","defgroup":"git_reference Git reference management routines","ingroup":"Git","comments":"\n"},"lines":175}],"functions":{"git_signature_new":{"type":"function","file":"signature.h","line":50,"lineto":50,"args":[{"name":"name","type":"const char *"},{"name":"email","type":"const char *"},{"name":"time","type":"time_t"},{"name":"offset","type":"int"}],"argline":"const char *name, const char *email, time_t time, int offset","sig":"const char *::const char *::time_t::int","return":{"type":"git_signature *","comment":"the new sig, NULl on out of memory"},"description":"Create a new action signature. The signature must be freed\nmanually or using git_signature_free","comments":"@name name of the person\n@email email of the person\n@time time when the action happened\n@offset timezone offset in minutes for the time","group":"signature"},"git_signature_dup":{"type":"function","file":"signature.h","line":59,"lineto":59,"args":[{"name":"sig","type":"const git_signature *"}],"argline":"const git_signature *sig","sig":"const git_signature *","return":{"type":"git_signature *","comment":"a copy of sig, NULL on out of memory"},"description":"Create a copy of an existing signature.","comments":"All internal strings are also duplicated.\n@sig signature to duplicated","group":"signature"},"git_signature_free":{"type":"function","file":"signature.h","line":66,"lineto":66,"args":[{"name":"sig","type":"git_signature *"}],"argline":"git_signature *sig","sig":"git_signature *","return":{"type":"void"},"description":"Free an existing signature","comments":"@sig signature to free","group":"signature"},"git_blob_lookup":{"type":"function","file":"blob.h","line":52,"lineto":55,"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 on success; error code otherwise"},"description":"Lookup a blob object from a repository.\nThe generated blob object is owned by the revision\nrepo and shall not be freed by the user.","comments":"","group":"blob"},"git_blob_new":{"type":"function","file":"blob.h","line":68,"lineto":71,"args":[{"name":"blob","type":"git_blob **","comment":"pointer to the new blob"},{"name":"repo","type":"git_repository *","comment":"The repository where the object will reside"}],"argline":"git_blob **blob, git_repository *repo","sig":"git_blob **::git_repository *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Create a new in-memory git_blob.","comments":"The blob object must be manually filled using\nthe 'set_rawcontent' methods before it can\nbe written back to disk.\n","group":"blob"},"git_blob_set_rawcontent_fromfile":{"type":"function","file":"blob.h","line":81,"lineto":81,"args":[{"name":"blob","type":"git_blob *","comment":"pointer to the new blob"},{"name":"filename","type":"const char *","comment":"name of the file to read"}],"argline":"git_blob *blob, const char *filename","sig":"git_blob *::const char *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Fill a blob with the contents inside\nthe pointed file.","comments":"","group":"blob"},"git_blob_set_rawcontent":{"type":"function","file":"blob.h","line":92,"lineto":92,"args":[{"name":"blob","type":"git_blob *","comment":"pointer to the blob"},{"name":"buffer","type":"const void *","comment":"buffer with the contents for the blob"},{"name":"len","type":"size_t","comment":"size of the buffer"}],"argline":"git_blob *blob, const void *buffer, size_t len","sig":"git_blob *::const void *::size_t","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Fill a blob with the contents inside\nthe pointed buffer","comments":"","group":"blob"},"git_blob_rawcontent":{"type":"function","file":"blob.h","line":105,"lineto":105,"args":[{"name":"blob","type":"git_blob *","comment":"pointer to the blob"}],"argline":"git_blob *blob","sig":"git_blob *","return":{"type":"const char *","comment":"the pointer; NULL if the blob has no contents"},"description":"Get a read-only buffer with the raw content of a blob.","comments":"A pointer to the raw content of a blob is returned;\nthis pointer is owned internally by the object and shall\nnot be free'd. The pointer may be invalidated at a later\ntime (e.g. when changing the contents of the blob).\n","group":"blob"},"git_blob_rawsize":{"type":"function","file":"blob.h","line":113,"lineto":113,"args":[{"name":"blob","type":"git_blob *","comment":"pointer to the blob"}],"argline":"git_blob *blob","sig":"git_blob *","return":{"type":"int","comment":"size on bytes"},"description":"Get the size in bytes of the contents of a blob","comments":"","group":"blob"},"git_blob_writefile":{"type":"function","file":"blob.h","line":124,"lineto":124,"args":[{"name":"written_id","type":"git_oid *","comment":"return the id of the written blob"},{"name":"repo","type":"git_repository *","comment":"repository where the blob will be written"},{"name":"path","type":"const char *","comment":"file from which the blob will be created"}],"argline":"git_oid *written_id, git_repository *repo, const char *path","sig":"git_oid *::git_repository *::const char *","return":{"type":"int"},"description":"Read a file from the working folder of a repository\nand write it to the Object Database as a loose blob,\nif such doesn't exist yet.","comments":"","group":"blob"},"git_index_open_bare":{"type":"function","file":"index.h","line":87,"lineto":87,"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 on success; error code otherwise"},"description":"Create a new Git index object as a memory representation\nof the Git index file in 'index_path', without a repository\nto back it.","comments":"Since there is no ODB behind this index, any Index methods\nwhich rely on the ODB (e.g. index_add) will fail with the\nGIT_EBAREINDEX error code.\n","group":"index"},"git_index_open_inrepo":{"type":"function","file":"index.h","line":97,"lineto":97,"args":[{"name":"index","type":"git_index **","comment":"_path the path to the index file in disk"},{"name":"repo","type":"git_repository *","comment":"the git repo which owns the index"}],"argline":"git_index **index, git_repository *repo","sig":"git_index **::git_repository *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Open the Index inside the git repository pointed\nby 'repo'.","comments":"","group":"index"},"git_index_clear":{"type":"function","file":"index.h","line":106,"lineto":106,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"void"},"description":"Clear the contents (all the entries) of an index object.\nThis clears the index object in memory; changes must be manually\nwritten to disk for them to take effect.","comments":"","group":"index"},"git_index_free":{"type":"function","file":"index.h","line":113,"lineto":113,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"void"},"description":"Free an existing index object.","comments":"","group":"index"},"git_index_read":{"type":"function","file":"index.h","line":122,"lineto":122,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"int","comment":"0 on success, otherwise an error code"},"description":"Update the contents of an existing index object in memory\nby reading from the hard disk.","comments":"","group":"index"},"git_index_write":{"type":"function","file":"index.h","line":131,"lineto":131,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"int","comment":"0 on success, otherwise an error code"},"description":"Write an existing index object from memory back to disk\nusing an atomic file lock.","comments":"","group":"index"},"git_index_find":{"type":"function","file":"index.h","line":141,"lineto":141,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"},{"name":"path","type":"const char *","comment":"path to search"}],"argline":"git_index *index, const char *path","sig":"git_index *::const char *","return":{"type":"int","comment":"an index >= 0 if found, -1 otherwise"},"description":"Find the first index of any entires which point to given\npath in the Git index.","comments":"","group":"index"},"git_index_add":{"type":"function","file":"index.h","line":151,"lineto":151,"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 on success, otherwise an error code"},"description":"Add or update an index entry from a file in disk.","comments":"","group":"index"},"git_index_remove":{"type":"function","file":"index.h","line":160,"lineto":160,"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 on success, otherwise an error code"},"description":"Remove an entry from the index","comments":"","group":"index"},"git_index_insert":{"type":"function","file":"index.h","line":173,"lineto":173,"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 on success, otherwise an error code"},"description":"Insert an entry into the index.\nA full copy (including the 'path' string) of the given\n'source_entry' will be inserted on the index; if the index\nalready contains an entry for the same path, the entry\nwill be updated.","comments":"","group":"index"},"git_index_get":{"type":"function","file":"index.h","line":185,"lineto":185,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"},{"name":"n","type":"int","comment":"the position of the entry"}],"argline":"git_index *index, int n","sig":"git_index *::int","return":{"type":"git_index_entry *","comment":"a pointer to the entry; NULL if out of bounds"},"description":"Get a pointer to one of the entries in the index","comments":"This entry can be modified, and the changes will be written\nback to disk on the next write() call.\n","group":"index"},"git_index_entrycount":{"type":"function","file":"index.h","line":193,"lineto":193,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"unsigned int","comment":"integer of count of current entries"},"description":"Get the count of entries currently in the index","comments":"","group":"index"},"git_repository_open":{"type":"function","file":"repository.h","line":64,"lineto":64,"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 on success; error code otherwise"},"description":"Open a git repository.","comments":"The 'path' argument must point to an existing git repository\nfolder, e.g.\n\n\t/path/to/my_repo/.git/\t(normal repository)\n\t\t\t\t\t\tobjects/\n\t\t\t\t\t\tindex\n\t\t\t\t\t\tHEAD\n\n\t/path/to/bare_repo/\t\t(bare repository)\n\t\t\t\t\tobjects/\n\t\t\t\t\tindex\n\t\t\t\t\tHEAD\n\nThe method will automatically detect if 'path' is a normal\nor bare repository or fail is 'path' is neither.\n","group":"repository"},"git_repository_open2":{"type":"function","file":"repository.h","line":93,"lineto":97,"args":[{"name":"repository","type":"git_repository **","comment":"pointer to the repo which will be opened"},{"name":"git_dir","type":"const char *","comment":"The full path to the repository folder e.g. a '.git' folder for live repos, any folder for bare Equivalent to $GIT_DIR. Cannot be NULL."},{"name":"git_object_directory","type":"const char *","comment":"The full path to the ODB folder. the folder where all the loose and packed objects are stored Equivalent to $GIT_OBJECT_DIRECTORY. If NULL, \"$GIT_DIR/objects/\" is assumed."},{"name":"git_index_file","type":"const char *","comment":"The full path to the index (dircache) file Equivalent to $GIT_INDEX_FILE. If NULL, \"$GIT_DIR/index\" is assumed."},{"name":"git_work_tree","type":"const char *","comment":"The full path to the working tree of the repository, if the repository is not bare. Equivalent to $GIT_WORK_TREE. If NULL, the repository is assumed to be bare."}],"argline":"git_repository **repository,\n\t\tconst char *git_dir,\n\t\tconst char *git_object_directory,\n\t\tconst char *git_index_file,\n\t\tconst char *git_work_tree","sig":"git_repository **::const char *::const char *::const char *::const char *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Open a git repository by manually specifying all its paths","comments":"","group":"repository"},"git_repository_open3":{"type":"function","file":"repository.h","line":128,"lineto":132,"args":[{"name":"repository","type":"git_repository **","comment":"pointer to the repo which will be opened"},{"name":"git_dir","type":"const char *","comment":"The full path to the repository folder e.g. a '.git' folder for live repos, any folder for bare Equivalent to $GIT_DIR. Cannot be NULL."},{"name":"object_database","type":"git_odb *","comment":"A pointer to a git_odb created & initialized by the user (e.g. with custom backends). This object database will be owned by the repository and will be automatically free'd. It should not be manually free'd by the user, or this git_repository object will become invalid."},{"name":"git_index_file","type":"const char *","comment":"The full path to the index (dircache) file Equivalent to $GIT_INDEX_FILE. If NULL, \"$GIT_DIR/index\" is assumed."},{"name":"git_work_tree","type":"const char *","comment":"The full path to the working tree of the repository, if the repository is not bare. Equivalent to $GIT_WORK_TREE. If NULL, the repository is assumed to be bare."}],"argline":"git_repository **repository,\n\t\tconst char *git_dir,\n\t\tgit_odb *object_database,\n\t\tconst char *git_index_file,\n\t\tconst char *git_work_tree","sig":"git_repository **::const char *::git_odb *::const char *::const char *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Open a git repository by manually specifying its paths and\nthe object database it will use.","comments":"","group":"repository"},"git_repository_lookup":{"type":"function","file":"repository.h","line":153,"lineto":153,"args":[{"name":"object","type":"git_object **","comment":"pointer to the looked-up object"},{"name":"repo","type":"git_repository *","comment":"the repository to look up the object"},{"name":"id","type":"const git_oid *","comment":"the unique identifier for the object"},{"name":"type","type":"git_otype","comment":"the type of the object"}],"argline":"git_object **object, git_repository *repo, const git_oid *id, git_otype type","sig":"git_object **::git_repository *::const git_oid *::git_otype","return":{"type":"int","comment":"a reference to the object"},"description":"Lookup a reference to one of the objects in the repostory.","comments":"The generated reference is owned by the repository and\nshould not be freed by the user.\n\nThe 'type' parameter must match the type of the object\nin the odb; the method will fail otherwise.\nThe special value 'GIT_OBJ_ANY' may be passed to let\nthe method guess the object's type.\n","group":"repository"},"git_repository_database":{"type":"function","file":"repository.h","line":161,"lineto":161,"args":[{"name":"repo","type":"git_repository *","comment":"a repository object"}],"argline":"git_repository *repo","sig":"git_repository *","return":{"type":"git_odb *","comment":"a pointer to the object db"},"description":"Get the object database behind a Git repository","comments":"","group":"repository"},"git_repository_index":{"type":"function","file":"repository.h","line":173,"lineto":173,"args":[{"name":"index","type":"git_index **","comment":"Pointer where to store the index"},{"name":"repo","type":"git_repository *","comment":"a repository object"}],"argline":"git_index **index, git_repository *repo","sig":"git_index **::git_repository *","return":{"type":"int","comment":"0 on success; error code if the index could not be opened"},"description":"Get the Index file of a Git repository","comments":"This is a cheap operation; the index is only opened on the first call,\nand subsequent calls only retrieve the previous pointer.\n","group":"repository"},"git_repository_newobject":{"type":"function","file":"repository.h","line":196,"lineto":196,"args":[{"name":"object","type":"git_object **","comment":"pointer to the new object @parem repo Repository where the object belongs"},{"name":"repo","type":"git_repository *"},{"name":"type","type":"git_otype","comment":"Type of the object to be created"}],"argline":"git_object **object, git_repository *repo, git_otype type","sig":"git_object **::git_repository *::git_otype","return":{"type":"int","comment":"the new object"},"description":"Create a new in-memory repository object with\nthe given type.","comments":"The object's attributes can be filled in using the\ncorresponding setter methods.\n\nThe object will be written back to given git_repository\nwhen the git_object_write() function is called; objects\ncannot be written to disk until all their main\nattributes have been properly filled.\n\nObjects are instantiated with no SHA1 id; their id\nwill be automatically generated when writing to the\nrepository.\n","group":"repository"},"git_repository_free":{"type":"function","file":"repository.h","line":202,"lineto":202,"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"},"description":"Free a previously allocated repository\n@param repo repository handle to close. If NULL nothing occurs.","comments":"","group":"repository"},"git_repository_init":{"type":"function","file":"repository.h","line":219,"lineto":219,"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","comment":"if true, a Git repository without a working directory is created at the pointed path. If false, provided path will be considered as the working directory into which the .git directory will be created."}],"argline":"git_repository **repo_out, const char *path, unsigned is_bare","sig":"git_repository **::const char *::unsigned","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Creates a new Git repository in the given folder.","comments":"TODO:\n- Reinit the repository\n- Create config files\n","group":"repository"},"git_repository_lookup_ref":{"type":"function","file":"repository.h","line":235,"lineto":235,"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":"a reference to the reference"},"description":"Lookup a reference by its name in the repository.","comments":"The generated reference is owned by the repository and\nshould not be freed by the user.\n\nTODO:\n- Ensure the reference name is valid\n","group":"repository"},"git_tag_lookup":{"type":"function","file":"tag.h","line":52,"lineto":55,"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 on success; error code otherwise"},"description":"Lookup a tag object from the repository.\nThe generated tag object is owned by the revision\nrepo and shall not be freed by the user.","comments":"","group":"tag"},"git_tag_new":{"type":"function","file":"tag.h","line":68,"lineto":71,"args":[{"name":"tag","type":"git_tag **","comment":"pointer to the new tag"},{"name":"repo","type":"git_repository *","comment":"The repository where the object will reside"}],"argline":"git_tag **tag, git_repository *repo","sig":"git_tag **::git_repository *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Create a new in-memory git_tag.","comments":"The tag object must be manually filled using\nsetter methods before it can be written to its\nrepository.\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":"Get the id of a tag.\n@param tag a previously loaded tag.\n@return object identity for the tag.","comments":"","group":"tag"},"git_tag_target":{"type":"function","file":"tag.h","line":85,"lineto":85,"args":[{"name":"t","type":"git_tag *","comment":"ag a previously loaded tag."}],"argline":"git_tag *t","sig":"git_tag *","return":{"type":"const git_object *","comment":"reference to a repository object"},"description":"Get the tagged object of a tag\n@param tag a previously loaded tag.\n@return reference to a repository object","comments":"","group":"tag"},"git_tag_type":{"type":"function","file":"tag.h","line":92,"lineto":92,"args":[{"name":"t","type":"git_tag *","comment":"ag a previously loaded tag."}],"argline":"git_tag *t","sig":"git_tag *","return":{"type":"git_otype","comment":"type of the tagged object"},"description":"Get the type of a tag's tagged object\n@param tag a previously loaded tag.\n@return type of the tagged object","comments":"","group":"tag"},"git_tag_name":{"type":"function","file":"tag.h","line":99,"lineto":99,"args":[{"name":"t","type":"git_tag *","comment":"ag a previously loaded tag."}],"argline":"git_tag *t","sig":"git_tag *","return":{"type":"const char *","comment":"name of the tag"},"description":"Get the name of a tag\n@param tag a previously loaded tag.\n@return name of the tag","comments":"","group":"tag"},"git_tag_tagger":{"type":"function","file":"tag.h","line":106,"lineto":106,"args":[{"name":"t","type":"git_tag *","comment":"ag a previously loaded tag."}],"argline":"git_tag *t","sig":"git_tag *","return":{"type":"const git_signature *","comment":"reference to the tag's author"},"description":"Get the tagger (author) of a tag\n@param tag a previously loaded tag.\n@return reference to the tag's author","comments":"","group":"tag"},"git_tag_message":{"type":"function","file":"tag.h","line":113,"lineto":113,"args":[{"name":"t","type":"git_tag *","comment":"ag a previously loaded tag."}],"argline":"git_tag *t","sig":"git_tag *","return":{"type":"const char *","comment":"message of the tag"},"description":"Get the message of a tag\n@param tag a previously loaded tag.\n@return message of the tag","comments":"","group":"tag"},"git_tag_set_target":{"type":"function","file":"tag.h","line":120,"lineto":120,"args":[{"name":"tag","type":"git_tag *","comment":"The tag to modify"},{"name":"target","type":"git_object *","comment":"the new tagged target"}],"argline":"git_tag *tag, git_object *target","sig":"git_tag *::git_object *","return":{"type":"void"},"description":"Set the target of a tag (i.e. the object that the tag points to)\n@param tag The tag to modify\n@param target the new tagged target","comments":"","group":"tag"},"git_tag_set_name":{"type":"function","file":"tag.h","line":127,"lineto":127,"args":[{"name":"tag","type":"git_tag *","comment":"The tag to modify"},{"name":"name","type":"const char *","comment":"the new name for the tag"}],"argline":"git_tag *tag, const char *name","sig":"git_tag *::const char *","return":{"type":"void"},"description":"Set the name of a tag\n@param tag The tag to modify\n@param name the new name for the tag","comments":"","group":"tag"},"git_tag_set_tagger":{"type":"function","file":"tag.h","line":134,"lineto":134,"args":[{"name":"tag","type":"git_tag *","comment":"The tag to modify"},{"name":"tagger_sig","type":"const git_signature *","comment":"signature of the tagging action"}],"argline":"git_tag *tag, const git_signature *tagger_sig","sig":"git_tag *::const git_signature *","return":{"type":"void"},"description":"Set the tagger of a tag\n@param tag The tag to modify\n@param tagger_sig signature of the tagging action","comments":"","group":"tag"},"git_tag_set_message":{"type":"function","file":"tag.h","line":141,"lineto":141,"args":[{"name":"tag","type":"git_tag *","comment":"The tag to modify"},{"name":"message","type":"const char *","comment":"the new tagger for the tag"}],"argline":"git_tag *tag, const char *message","sig":"git_tag *::const char *","return":{"type":"void"},"description":"Set the message of a tag\n@param tag The tag to modify\n@param message the new tagger for the tag","comments":"","group":"tag"},"git_commit_lookup":{"type":"function","file":"commit.h","line":53,"lineto":56,"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 an 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 on success; error code otherwise"},"description":"Lookup a commit object from a repository.\nThe generated commit object is owned by the revision\nrepo and shall not be freed by the user.","comments":"","group":"commit"},"git_commit_new":{"type":"function","file":"commit.h","line":69,"lineto":72,"args":[{"name":"commit","type":"git_commit **","comment":"pointer to the new commit"},{"name":"repo","type":"git_repository *","comment":"The repository where the object will reside"}],"argline":"git_commit **commit, git_repository *repo","sig":"git_commit **::git_repository *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Create a new in-memory git_commit.","comments":"The commit object must be manually filled using\nsetter methods before it can be written to its\nrepository.\n","group":"commit"},"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":"Get the id of a commit.\n@param commit a previously loaded commit.\n@return object identity for the commit.","comments":"","group":"commit"},"git_commit_message_short":{"type":"function","file":"commit.h","line":86,"lineto":86,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"const char *","comment":"the short message of a commit"},"description":"Get the short (one line) message of a commit.\n@param commit a previously loaded commit.\n@return the short message of a commit","comments":"","group":"commit"},"git_commit_message":{"type":"function","file":"commit.h","line":93,"lineto":93,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"const char *","comment":"the message of a commit"},"description":"Get the full message of a commit.\n@param commit a previously loaded commit.\n@return the message of a commit","comments":"","group":"commit"},"git_commit_time":{"type":"function","file":"commit.h","line":100,"lineto":100,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"time_t","comment":"the time of a commit"},"description":"Get the commit time (i.e. committer time) of a commit.\n@param commit a previously loaded commit.\n@return the time of a commit","comments":"","group":"commit"},"git_commit_time_offset":{"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":"int","comment":"positive or negative timezone offset, in minutes from UTC"},"description":"Get the commit timezone offset (i.e. committer's preferred timezone) of a commit.\n@param commit a previously loaded commit.\n@return positive or negative timezone offset, in minutes from UTC","comments":"","group":"commit"},"git_commit_committer":{"type":"function","file":"commit.h","line":114,"lineto":114,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"const git_signature *","comment":"the committer of a commit"},"description":"Get the committer of a commit.\n@param commit a previously loaded commit.\n@return the committer of a commit","comments":"","group":"commit"},"git_commit_author":{"type":"function","file":"commit.h","line":121,"lineto":121,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"const git_signature *","comment":"the author of a commit"},"description":"Get the author of a commit.\n@param commit a previously loaded commit.\n@return the author of a commit","comments":"","group":"commit"},"git_commit_tree":{"type":"function","file":"commit.h","line":128,"lineto":128,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"const git_tree *","comment":"the tree of a commit"},"description":"Get the tree pointed to by a commit.\n@param commit a previously loaded commit.\n@return the tree of a commit","comments":"","group":"commit"},"git_commit_parentcount":{"type":"function","file":"commit.h","line":136,"lineto":136,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"unsigned int","comment":"integer of count of parents"},"description":"Get the number of parents of this commit","comments":"","group":"commit"},"git_commit_parent":{"type":"function","file":"commit.h","line":144,"lineto":144,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."},{"name":"n","type":"unsigned int","comment":"the position of the entry"}],"argline":"git_commit *commit, unsigned int n","sig":"git_commit *::unsigned int","return":{"type":"git_commit *","comment":"a pointer to the commit; NULL if out of bounds"},"description":"Get the specified parent of the commit.\n@param commit a previously loaded commit.\n@param n the position of the entry\n@return a pointer to the commit; NULL if out of bounds","comments":"","group":"commit"},"git_commit_add_parent":{"type":"function","file":"commit.h","line":152,"lineto":152,"args":[{"name":"commit","type":"git_commit *","comment":"the commit object"},{"name":"new_parent","type":"git_commit *","comment":"the new commit which will be a parent"}],"argline":"git_commit *commit, git_commit *new_parent","sig":"git_commit *::git_commit *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Add a new parent commit to an existing commit\n@param commit the commit object\n@param new_parent the new commit which will be a parent\n@return 0 on success; error code otherwise","comments":"","group":"commit"},"git_commit_set_message":{"type":"function","file":"commit.h","line":159,"lineto":159,"args":[{"name":"commit","type":"git_commit *","comment":"the commit object"},{"name":"message","type":"const char *","comment":"the new message"}],"argline":"git_commit *commit, const char *message","sig":"git_commit *::const char *","return":{"type":"void"},"description":"Set the message of a commit\n@param commit the commit object\n@param message the new message","comments":"","group":"commit"},"git_commit_set_committer":{"type":"function","file":"commit.h","line":166,"lineto":166,"args":[{"name":"commit","type":"git_commit *","comment":"the commit object"},{"name":"committer_sig","type":"const git_signature *"}],"argline":"git_commit *commit, const git_signature *committer_sig","sig":"git_commit *::const git_signature *","return":{"type":"void"},"description":"Set the committer of a commit\n@param commit the commit object\n@param author_sig signature of the committer","comments":"","group":"commit"},"git_commit_set_author":{"type":"function","file":"commit.h","line":173,"lineto":173,"args":[{"name":"commit","type":"git_commit *","comment":"the commit object"},{"name":"author_sig","type":"const git_signature *","comment":"signature of the author"}],"argline":"git_commit *commit, const git_signature *author_sig","sig":"git_commit *::const git_signature *","return":{"type":"void"},"description":"Set the author of a commit\n@param commit the commit object\n@param author_sig signature of the author","comments":"","group":"commit"},"git_commit_set_tree":{"type":"function","file":"commit.h","line":180,"lineto":180,"args":[{"name":"commit","type":"git_commit *","comment":"the commit object"},{"name":"tree","type":"git_tree *","comment":"the new tree"}],"argline":"git_commit *commit, git_tree *tree","sig":"git_commit *::git_tree *","return":{"type":"void"},"description":"Set the tree which is pointed to by a commit\n@param commit the commit object\n@param tree the new tree","comments":"","group":"commit"},"deflateBound":{"type":"function","file":"zlib.h","line":50,"lineto":54,"args":[{"name":"stream","type":"z_streamp","comment":"the stream pointer."},{"name":"s","type":"size_t","comment":"tream the stream pointer."}],"argline":"z_streamp stream, size_t s","sig":"z_streamp::size_t","return":{"type":"size_t","comment":"maximum length of the compressed data."},"description":"deflateBound returns an upper bound on the compressed size.","comments":"This is a stub function used when zlib does not supply the\ndeflateBound() implementation itself.\n","group":"zlib"},"git_tree_lookup":{"type":"function","file":"tree.h","line":52,"lineto":55,"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 on success; error code otherwise"},"description":"Lookup a tree object from the repository.\nThe generated tree object is owned by the revision\nrepo and shall not be freed by the user.","comments":"","group":"tree"},"git_tree_new":{"type":"function","file":"tree.h","line":68,"lineto":71,"args":[{"name":"tree","type":"git_tree **","comment":"pointer to the new tree"},{"name":"repo","type":"git_repository *","comment":"The repository where the object will reside"}],"argline":"git_tree **tree, git_repository *repo","sig":"git_tree **::git_repository *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Create a new in-memory git_tree.","comments":"The tree object must be manually filled using\nsetter methods before it can be written to its\nrepository.\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":"Get the id of a tree.\n@param tree a previously loaded tree.\n@return object identity for the tree.","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":"size_t","comment":"the number of entries in the tree"},"description":"Get the number of entries listed in a tree\n@param tree a previously loaded tree.\n@return the number of entries in the tree","comments":"","group":"tree"},"git_tree_entry_byname":{"type":"function","file":"tree.h","line":94,"lineto":94,"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":"git_tree_entry *","comment":"the tree entry; NULL if not found"},"description":"Lookup a tree entry by its filename\n@param tree a previously loaded tree.\n@param filename the filename of the desired entry\n@return the tree entry; NULL if not found","comments":"","group":"tree"},"git_tree_entry_byindex":{"type":"function","file":"tree.h","line":102,"lineto":102,"args":[{"name":"tree","type":"git_tree *","comment":"a previously loaded tree."},{"name":"idx","type":"int","comment":"the position in the entry list"}],"argline":"git_tree *tree, int idx","sig":"git_tree *::int","return":{"type":"git_tree_entry *","comment":"the tree entry; NULL if not found"},"description":"Lookup a tree entry by its position in the tree\n@param tree a previously loaded tree.\n@param idx the position in the entry list\n@return the tree entry; NULL if not found","comments":"","group":"tree"},"git_tree_entry_attributes":{"type":"function","file":"tree.h","line":109,"lineto":109,"args":[{"name":"entry","type":"git_tree_entry *","comment":"a tree entry"}],"argline":"git_tree_entry *entry","sig":"git_tree_entry *","return":{"type":"unsigned int","comment":"attributes as an integer"},"description":"Get the UNIX file attributes of a tree entry\n@param entry a tree entry\n@return attributes as an integer","comments":"","group":"tree"},"git_tree_entry_name":{"type":"function","file":"tree.h","line":116,"lineto":116,"args":[{"name":"entry","type":"git_tree_entry *","comment":"a tree entry"}],"argline":"git_tree_entry *entry","sig":"git_tree_entry *","return":{"type":"const char *","comment":"the name of the file"},"description":"Get the filename of a tree entry\n@param entry a tree entry\n@return the name of the file","comments":"","group":"tree"},"git_tree_entry_id":{"type":"function","file":"tree.h","line":123,"lineto":123,"args":[{"name":"entry","type":"git_tree_entry *","comment":"a tree entry"}],"argline":"git_tree_entry *entry","sig":"git_tree_entry *","return":{"type":"const git_oid *","comment":"the oid of the object"},"description":"Get the id of the object pointed by the entry\n@param entry a tree entry\n@return the oid of the object","comments":"","group":"tree"},"git_tree_entry_2object":{"type":"function","file":"tree.h","line":132,"lineto":132,"args":[{"name":"object","type":"git_object **","comment":"pointer to the converted object"},{"name":"entry","type":"git_tree_entry *","comment":"a tree entry"}],"argline":"git_object **object, git_tree_entry *entry","sig":"git_object **::git_tree_entry *","return":{"type":"int","comment":"a reference to the pointed object in the repository"},"description":"Convert a tree entry to the git_object it points too.","comments":"","group":"tree"},"git_tree_add_entry":{"type":"function","file":"tree.h","line":149,"lineto":149,"args":[{"name":"entry_out","type":"git_tree_entry **","comment":"Pointer to the entry that just got created. May be NULL if you are not interested on getting the new entry"},{"name":"tree","type":"git_tree *","comment":"Tree object to store the entry @iparam id OID for the tree entry"},{"name":"id","type":"const git_oid *"},{"name":"filename","type":"const char *","comment":"Filename for the tree entry"},{"name":"attributes","type":"int","comment":"UNIX file attributes for the entry"}],"argline":"git_tree_entry **entry_out, git_tree *tree, const git_oid *id, const char *filename, int attributes","sig":"git_tree_entry **::git_tree *::const git_oid *::const char *::int","return":{"type":"int","comment":"0 on success; otherwise error code"},"description":"Add a new entry to a tree and return the new entry.","comments":"This will mark the tree as modified; the new entry will\nbe written back to disk on the next git_object_write()\n","group":"tree"},"git_tree_add_entry_unsorted":{"type":"function","file":"tree.h","line":166,"lineto":166,"args":[{"name":"entry","type":"git_tree_entry **","comment":"Entry object which will be created"},{"name":"tree","type":"git_tree *","comment":"Tree object to store the entry @iparam id OID for the tree entry"},{"name":"id","type":"const git_oid *"},{"name":"filename","type":"const char *","comment":"Filename for the tree entry"},{"name":"attributes","type":"int","comment":"UNIX file attributes for the entry"}],"argline":"git_tree_entry **entry, git_tree *tree, const git_oid *id, const char *filename, int attributes","sig":"git_tree_entry **::git_tree *::const git_oid *::const char *::int","return":{"type":"int","comment":"0 on success; otherwise error code"},"description":"Add a new entry to a tree, returning that new entry.\nThe only difference with this call is that it does not sort\ntree afterwards, this requirement is left to the caller.","comments":"This will mark the tree as modified; the new entry will\nbe written back to disk on the next git_object_write()\n","group":"tree"},"git_tree_sort_entries":{"type":"function","file":"tree.h","line":179,"lineto":179,"args":[{"name":"tree","type":"git_tree *","comment":"Tree object whose entries are to be sorted"}],"argline":"git_tree *tree","sig":"git_tree *","return":{"type":"int","comment":"0 on success; otherwise error code"},"description":"Sort the entries in a tree created using git_tree_add_entry2.","comments":"This does not mark the tree as modified. It is intended to be used\nafter several invocations of git_tree_add_entry2.\ngit_tree_add_entry, on the other hand, sorts after each entry is\nadded.\n","group":"tree"},"git_tree_remove_entry_byindex":{"type":"function","file":"tree.h","line":193,"lineto":193,"args":[{"name":"tree","type":"git_tree *","comment":"Tree where to remove the entry"},{"name":"idx","type":"int","comment":"index of the entry"}],"argline":"git_tree *tree, int idx","sig":"git_tree *::int","return":{"type":"int","comment":"0 on successful removal; GIT_ENOTFOUND if the entry wasn't found"},"description":"Remove an entry by its index.","comments":"Index must be >= 0 and < than git_tree_entrycount().\n\nThis will mark the tree as modified; the modified entry will\nbe written back to disk on the next git_object_write()\n","group":"tree"},"git_tree_remove_entry_byname":{"type":"function","file":"tree.h","line":205,"lineto":205,"args":[{"name":"tree","type":"git_tree *","comment":"Tree where to remove the entry"},{"name":"filename","type":"const char *","comment":"File name of the entry"}],"argline":"git_tree *tree, const char *filename","sig":"git_tree *::const char *","return":{"type":"int","comment":"0 on successful removal; GIT_ENOTFOUND if the entry wasn't found"},"description":"Remove an entry by its filename.","comments":"This will mark the tree as modified; the modified entry will\nbe written back to disk on the next git_object_write()\n","group":"tree"},"git_tree_clear_entries":{"type":"function","file":"tree.h","line":215,"lineto":215,"args":[{"name":"tree","type":"git_tree *","comment":"Tree object whose entries are to be sorted"}],"argline":"git_tree *tree","sig":"git_tree *","return":{"type":"void"},"description":"Clear all the entries in a tree.","comments":"This will mark the tree as modified; the modified entry will\nbe written back to disk on the next git_object_write().\n","group":"tree"},"git_tree_entry_set_id":{"type":"function","file":"tree.h","line":226,"lineto":226,"args":[{"name":"entry","type":"git_tree_entry *","comment":"Entry object which will be modified"},{"name":"oid","type":"const git_oid *","comment":"new SHA1 oid for the entry"}],"argline":"git_tree_entry *entry, const git_oid *oid","sig":"git_tree_entry *::const git_oid *","return":{"type":"void"},"description":"Change the SHA1 id of a tree entry.","comments":"This will mark the tree that contains the entry as modified;\nthe modified entry will be written back to disk on the next git_object_write()\n","group":"tree"},"git_tree_entry_set_name":{"type":"function","file":"tree.h","line":237,"lineto":237,"args":[{"name":"entry","type":"git_tree_entry *","comment":"Entry object which will be modified"},{"name":"name","type":"const char *"}],"argline":"git_tree_entry *entry, const char *name","sig":"git_tree_entry *::const char *","return":{"type":"void"},"description":"Change the filename of a tree entry.","comments":"This will mark the tree that contains the entry as modified;\nthe modified entry will be written back to disk on the next git_object_write()\n","group":"tree"},"git_tree_entry_set_attributes":{"type":"function","file":"tree.h","line":248,"lineto":248,"args":[{"name":"entry","type":"git_tree_entry *","comment":"Entry object which will be modified"},{"name":"attr","type":"int"}],"argline":"git_tree_entry *entry, int attr","sig":"git_tree_entry *::int","return":{"type":"void"},"description":"Change the attributes of a tree entry.","comments":"This will mark the tree that contains the entry as modified;\nthe modified entry will be written back to disk on the next git_object_write()\n","group":"tree"},"git_odb_new":{"type":"function","file":"odb.h","line":52,"lineto":52,"args":[{"name":"out","type":"git_odb **","comment":"location to store the database pointer, if opened. Set to NULL if the open failed."}],"argline":"git_odb **out","sig":"git_odb **","return":{"type":"int","comment":"GIT_SUCCESS if the database was created; otherwise an error code describing why the open was not possible."},"description":"Create a new object database with no backends.","comments":"Before the ODB can be used for read/writing, a custom database\nbackend must be manually added using `git_odb_add_backend()`\n","group":"odb"},"git_odb_open":{"type":"function","file":"odb.h","line":71,"lineto":71,"args":[{"name":"out","type":"git_odb **","comment":"location to store the database pointer, if opened. Set to NULL if the open failed."},{"name":"objects_dir","type":"const char *","comment":"path of the backends' \"objects\" directory."}],"argline":"git_odb **out, const char *objects_dir","sig":"git_odb **::const char *","return":{"type":"int","comment":"GIT_SUCCESS if the database opened; otherwise an error code describing why the open was not possible."},"description":"Create a new object database and automatically add\nthe two default backends:","comments":"- git_odb_backend_loose: read and write loose object files\n\tfrom disk, assuming `objects_dir` as the Objects folder\n\n- git_odb_backend_pack: read objects from packfiles,\n\tassuming `objects_dir` as the Objects folder which\n\tcontains a 'pack/' folder with the corresponding data\n","group":"odb"},"git_odb_add_backend":{"type":"function","file":"odb.h","line":82,"lineto":82,"args":[{"name":"odb","type":"git_odb *","comment":"database to add the backend to"},{"name":"backend","type":"git_odb_backend *"}],"argline":"git_odb *odb, git_odb_backend *backend","sig":"git_odb *::git_odb_backend *","return":{"type":"int","comment":"0 on sucess; error code otherwise"},"description":"Add a custom backend to an existing Object DB","comments":"Read <odb_backends.h> for more information.\n","group":"odb"},"git_odb_close":{"type":"function","file":"odb.h","line":88,"lineto":88,"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"},"description":"Close an open object database.\n@param db database pointer to close. If NULL no action is taken.","comments":"","group":"odb"},"git_odb_read":{"type":"function","file":"odb.h","line":109,"lineto":109,"args":[{"name":"out","type":"git_rawobj *","comment":"object descriptor to populate upon reading."},{"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_rawobj *out, git_odb *db, const git_oid *id","sig":"git_rawobj *::git_odb *::const git_oid *","return":{"type":"int","comment":"- GIT_SUCCESS if the object was read; - GIT_ENOTFOUND if the object is not in the database."},"description":"Read an object from the database.","comments":"If GIT_ENOTFOUND then out->data is set to NULL.\n","group":"odb"},"git_odb_read_header":{"type":"function","file":"odb.h","line":128,"lineto":128,"args":[{"name":"out","type":"git_rawobj *","comment":"object descriptor to populate upon reading."},{"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_rawobj *out, git_odb *db, const git_oid *id","sig":"git_rawobj *::git_odb *::const git_oid *","return":{"type":"int","comment":"- GIT_SUCCESS if the object was read; - GIT_ENOTFOUND if the object is not in the database."},"description":"Read the header of an object from the database, without\nreading its full contents.","comments":"Only the 'type' and 'len' fields of the git_rawobj structure\nare filled. The 'data' pointer will always be NULL.\n\nThe raw object pointed by 'out' doesn't need to be manually\nclosed with git_rawobj_close().\n","group":"odb"},"git_odb_write":{"type":"function","file":"odb.h","line":140,"lineto":140,"args":[{"name":"id","type":"git_oid *","comment":"identity of the object written."},{"name":"db","type":"git_odb *","comment":"database to which the object should be written."},{"name":"obj","type":"git_rawobj *","comment":"object descriptor for the object to write."}],"argline":"git_oid *id, git_odb *db, git_rawobj *obj","sig":"git_oid *::git_odb *::git_rawobj *","return":{"type":"int","comment":"- GIT_SUCCESS if the object was written; - GIT_ERROR otherwise."},"description":"Write an object to the database.","comments":"","group":"odb"},"git_odb_exists":{"type":"function","file":"odb.h","line":151,"lineto":151,"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":"- true, if the object was found - false, otherwise"},"description":"Determine if the given object can be found in the object database.","comments":"","group":"odb"},"git_rawobj_hash":{"type":"function","file":"odb.h","line":169,"lineto":169,"args":[{"name":"id","type":"git_oid *","comment":"the resulting object-ID."},{"name":"obj","type":"git_rawobj *","comment":"the object whose hash is to be determined."}],"argline":"git_oid *id, git_rawobj *obj","sig":"git_oid *::git_rawobj *","return":{"type":"int","comment":"- GIT_SUCCESS if the object-ID was correctly determined. - GIT_ERROR if the given object is malformed."},"description":"Determine the object-ID (sha1 hash) of the given git_rawobj.","comments":"The input obj must be a valid loose object type and the data\npointer must not be NULL, unless the len field is also zero.\n","group":"rawobj"},"git_rawobj_close":{"type":"function","file":"odb.h","line":180,"lineto":180,"args":[{"name":"obj","type":"git_rawobj *","comment":"object descriptor to free."}],"argline":"git_rawobj *obj","sig":"git_rawobj *","return":{"type":"void"},"description":"Release all memory used by the obj structure.","comments":"As a result of this call, obj->data will be set to NULL.\n\nIf obj->data is already NULL, nothing happens.\n","group":"rawobj"},"git_oid_mkstr":{"type":"function","file":"oid.h","line":60,"lineto":60,"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 the hex sequence and have at least the number of bytes needed for an oid encoded in hex (40 bytes)."}],"argline":"git_oid *out, const char *str","sig":"git_oid *::const char *","return":{"type":"int","comment":"GIT_SUCCESS if valid; GIT_ENOTOID on failure."},"description":"Parse a hex formatted object id into a git_oid.\n@param out oid structure the result is written into.\n@param str input hex string; must be pointing at the start of\n the hex sequence and have at least the number of bytes\n needed for an oid encoded in hex (40 bytes).\n@return GIT_SUCCESS if valid; GIT_ENOTOID on failure.","comments":"","group":"oid"},"git_oid_mkraw":{"type":"function","file":"oid.h","line":67,"lineto":67,"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"},"description":"Copy an already raw oid into a git_oid structure.\n@param out oid structure the result is written into.\n@param raw the raw input bytes to be copied.","comments":"","group":"oid"},"git_oid_fmt":{"type":"function","file":"oid.h","line":78,"lineto":78,"args":[{"name":"str","type":"char *","comment":"output hex string; must be pointing at the start of the hex sequence and have at least the number of bytes needed for an oid encoded in hex (40 bytes). Only the oid digits are written; a '\\\\0' terminator must be added by 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"},"description":"Format a git_oid into a hex string.\n@param str output hex string; must be pointing at the start of\n the hex sequence and have at least the number of bytes\n needed for an oid encoded in hex (40 bytes). Only the\n oid digits are written; a '\\\\0' terminator must be added\n by the caller if it is required.\n@param oid oid structure to format.","comments":"","group":"oid"},"git_oid_pathfmt":{"type":"function","file":"oid.h","line":93,"lineto":93,"args":[{"name":"str","type":"char *","comment":"output hex string; must be pointing at the start of the hex sequence and have at least the number of bytes needed for an oid encoded in hex (41 bytes). Only the oid digits are written; a '\\\\0' terminator must be added by 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"},"description":"Format a git_oid into a loose-object path string.\n<p>\nThe resulting string is \"aa/...\", where \"aa\" is the first two\nhex digitis of the oid and \"...\" is the remaining 38 digits.","comments":"","group":"oid"},"git_oid_allocfmt":{"type":"function","file":"oid.h","line":101,"lineto":101,"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 deallocate the string with free()."},"description":"Format a gid_oid into a newly allocated c-string.\n@param oid the oid structure to format\n@return the c-string; NULL if memory is exhausted. Caller must\n deallocate the string with free().","comments":"","group":"oid"},"git_oid_to_string":{"type":"function","file":"oid.h","line":118,"lineto":118,"args":[{"name":"out","type":"char *","comment":"the buffer into which the oid string is output."},{"name":"n","type":"size_t","comment":"the size of the out buffer."},{"name":"oid","type":"const git_oid *","comment":"the oid structure to format."}],"argline":"char *out, size_t n, const git_oid *oid","sig":"char *::size_t::const git_oid *","return":{"type":"char *","comment":"the out buffer pointer, assuming no input parameter errors, otherwise a pointer to an empty string."},"description":"Format a git_oid into a buffer as a hex format c-string.\n<p>\nIf the buffer is smaller than GIT_OID_HEXSZ+1, then the resulting\noid c-string will be truncated to n-1 characters. If there are\nany input parameter errors (out == NULL, n == 0, oid == NULL),\nthen a pointer to an empty string is returned, so that the return\nvalue can always be printed.","comments":"","group":"oid"},"git_oid_cpy":{"type":"function","file":"oid.h","line":125,"lineto":125,"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"},"description":"Copy an oid from one structure to another.\n@param out oid structure the result is written into.\n@param src oid structure to copy from.","comments":"","group":"oid"},"git_oid_cmp":{"type":"function","file":"oid.h","line":133,"lineto":133,"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":"<0, 0, >0 if a < b, a == b, a > b."},"description":"Compare two oid structures.\n@param a first oid structure.\n@param b second oid structure.\n@return <0, 0, >0 if a < b, a == b, a > b.","comments":"","group":"oid"},"git_strerror":{"type":"function","file":"errors.h","line":41,"lineto":41,"args":[{"name":"num","type":"int","comment":"The error code to explain"}],"argline":"int num","sig":"int","return":{"type":"const char *","comment":"a string explaining the error code"},"description":"strerror() for the Git library\n@param num The error code to explain\n@return a string explaining the error code","comments":"","group":"errors"},"git_revwalk_new":{"type":"function","file":"revwalk.h","line":76,"lineto":76,"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 on success; error code otherwise"},"description":"Allocate a new revision walker to iterate through a repo.","comments":"","group":"revwalk"},"git_revwalk_reset":{"type":"function","file":"revwalk.h","line":82,"lineto":82,"args":[{"name":"walker","type":"git_revwalk *","comment":"handle to reset."}],"argline":"git_revwalk *walker","sig":"git_revwalk *","return":{"type":"void"},"description":"Reset the walking machinery for reuse.\n@param walker handle to reset.","comments":"","group":"revwalk"},"git_revwalk_push":{"type":"function","file":"revwalk.h","line":91,"lineto":91,"args":[{"name":"walk","type":"git_revwalk *","comment":"er the walker being used for the traversal."},{"name":"commit","type":"git_commit *","comment":"the commit to start from."}],"argline":"git_revwalk *walk, git_commit *commit","sig":"git_revwalk *::git_commit *","return":{"type":"int"},"description":"Mark a commit to start traversal from.\nThe commit object must belong to the repo which is being walked through.","comments":"","group":"revwalk"},"git_revwalk_hide":{"type":"function","file":"revwalk.h","line":98,"lineto":98,"args":[{"name":"walk","type":"git_revwalk *","comment":"er the walker being used for the traversal."},{"name":"commit","type":"git_commit *","comment":"the commit that will be ignored during the traversal"}],"argline":"git_revwalk *walk, git_commit *commit","sig":"git_revwalk *::git_commit *","return":{"type":"int"},"description":"Mark a commit (and its ancestors) uninteresting for the output.\n@param walker the walker being used for the traversal.\n@param commit the commit that will be ignored during the traversal","comments":"","group":"revwalk"},"git_revwalk_next":{"type":"function","file":"revwalk.h","line":108,"lineto":108,"args":[{"name":"commit","type":"git_commit **","comment":"Pointer where to store the next commit"},{"name":"walk","type":"git_revwalk *","comment":"the walker to pop the commit from."}],"argline":"git_commit **commit, git_revwalk *walk","sig":"git_commit **::git_revwalk *","return":{"type":"int","comment":"GIT_SUCCESS if the next commit was found; GIT_EREVWALKOVER if there are no commits left to iterate"},"description":"Get the next commit from the revision traversal.","comments":"","group":"revwalk"},"git_revwalk_sorting":{"type":"function","file":"revwalk.h","line":117,"lineto":117,"args":[{"name":"walk","type":"git_revwalk *","comment":"the walker being used for the traversal."},{"name":"sort_mode","type":"unsigned int","comment":"combination of GIT_RPSORT_XXX flags"}],"argline":"git_revwalk *walk, unsigned int sort_mode","sig":"git_revwalk *::unsigned int","return":{"type":"int"},"description":"Change the sorting mode when iterating through the\nrepository's contents.\nChanging the sorting mode resets the walker.\n@param walk the walker being used for the traversal.\n@param sort_mode combination of GIT_RPSORT_XXX flags","comments":"","group":"revwalk"},"git_revwalk_free":{"type":"function","file":"revwalk.h","line":123,"lineto":123,"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"},"description":"Free a revwalk previously allocated.\n@param walk traversal handle to close. If NULL nothing occurs.","comments":"","group":"revwalk"},"git_revwalk_repository":{"type":"function","file":"revwalk.h","line":132,"lineto":132,"args":[{"name":"walk","type":"git_revwalk *","comment":"the revision walker"}],"argline":"git_revwalk *walk","sig":"git_revwalk *","return":{"type":"git_repository *","comment":"the repository being walked"},"description":"Return the repository on which this walker\nis operating.","comments":"","group":"revwalk"},"git_object_write":{"type":"function","file":"object.h","line":58,"lineto":58,"args":[{"name":"object","type":"git_object *","comment":"Git object to write back"}],"argline":"git_object *object","sig":"git_object *","return":{"type":"int","comment":"0 on success; otherwise an error code"},"description":"Write back an object to disk.","comments":"The object will be written to its corresponding\nrepository.\n\nIf the object has no changes since it was first\nread from the repository, no actions will take place.\n\nIf the object has been modified since it was read from\nthe repository, or it has been created from scratch\nin memory, it will be written to the repository and\nits SHA1 ID will be updated accordingly.\n","group":"object"},"git_object_id":{"type":"function","file":"object.h","line":69,"lineto":69,"args":[{"name":"obj","type":"git_object *","comment":"the repository object"}],"argline":"git_object *obj","sig":"git_object *","return":{"type":"const git_oid *","comment":"the SHA1 id"},"description":"Get the id (SHA1) of a repository object","comments":"In-memory objects created by git_object_new() do not\nhave a SHA1 ID until they are written on a repository.\n","group":"object"},"git_object_type":{"type":"function","file":"object.h","line":77,"lineto":77,"args":[{"name":"obj","type":"git_object *","comment":"the repository object"}],"argline":"git_object *obj","sig":"git_object *","return":{"type":"git_otype","comment":"the object's type"},"description":"Get the object type of an object","comments":"","group":"object"},"git_object_owner":{"type":"function","file":"object.h","line":85,"lineto":85,"args":[{"name":"obj","type":"git_object *","comment":"the object"}],"argline":"git_object *obj","sig":"git_object *","return":{"type":"git_repository *","comment":"the repository who owns this object"},"description":"Get the repository that owns this object","comments":"","group":"object"},"git_object_free":{"type":"function","file":"object.h","line":99,"lineto":99,"args":[{"name":"object","type":"git_object *","comment":"the object to free"}],"argline":"git_object *object","sig":"git_object *","return":{"type":"void"},"description":"Free a reference to one of the objects in the repository.","comments":"Repository objects are managed automatically by the library,\nbut this method can be used to force freeing one of the\nobjects.\n\nCareful: freeing objects in the middle of a repository\ntraversal will most likely cause errors.\n","group":"object"},"git_object_type2string":{"type":"function","file":"object.h","line":110,"lineto":110,"args":[{"name":"type","type":"git_otype","comment":"object type to convert."}],"argline":"git_otype type","sig":"git_otype","return":{"type":"const char *","comment":"the corresponding string representation."},"description":"Convert an object type to it's string representation.","comments":"The result is a pointer to a string in static memory and\nshould not be free()'ed.\n","group":"object"},"git_object_string2type":{"type":"function","file":"object.h","line":118,"lineto":118,"args":[{"name":"str","type":"const char *","comment":"the string to convert."}],"argline":"const char *str","sig":"const char *","return":{"type":"git_otype","comment":"the corresponding git_otype."},"description":"Convert a string object type representation to it's git_otype.","comments":"","group":"object"},"git_object_typeisloose":{"type":"function","file":"object.h","line":127,"lineto":127,"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, false otherwise."},"description":"Determine if the given git_otype is a valid loose object type.","comments":"","group":"object"},"git_object__size":{"type":"function","file":"object.h","line":141,"lineto":141,"args":[{"name":"type","type":"git_otype","comment":"object type to get its size"}],"argline":"git_otype type","sig":"git_otype","return":{"type":"size_t","comment":"size in bytes of the object"},"description":"Get the size in bytes for the structure which\nacts as an in-memory representation of any given\nobject type.","comments":"For all the core types, this would the equivalent\nof calling `sizeof(git_commit)` if the core types\nwere not opaque on the external API.\n","group":"object"},"git_reference_new":{"type":"function","file":"refs.h","line":52,"lineto":52,"args":[{"name":"ref_out","type":"git_reference **","comment":"Pointer to the newly created reference"},{"name":"repo","type":"git_repository *","comment":"Repository where that reference exists"}],"argline":"git_reference **ref_out, git_repository *repo","sig":"git_reference **::git_repository *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Create a new reference.","comments":"The reference will be empty and exclusively\nin-memory until it is filled with the setter\nmethods and written back to disk using\n`git_reference_write`.\n","group":"reference"},"git_reference_oid":{"type":"function","file":"refs.h","line":62,"lineto":62,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"const git_oid *","comment":"a pointer to the oid if available, NULL otherwise"},"description":"Get the OID pointed to by a reference.","comments":"Only available if the reference is direct (i.e. not symbolic)\n","group":"reference"},"git_reference_target":{"type":"function","file":"refs.h","line":72,"lineto":72,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"const char *","comment":"a pointer to the name if available, NULL otherwise"},"description":"Get full name to the reference pointed by this reference","comments":"Only available if the reference is symbolic\n","group":"reference"},"git_reference_type":{"type":"function","file":"refs.h","line":82,"lineto":82,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"git_rtype","comment":"the type"},"description":"Get the type of a reference","comments":"Either direct (GIT_REF_OID) or symbolic (GIT_REF_SYMBOLIC)\n","group":"reference"},"git_reference_name":{"type":"function","file":"refs.h","line":90,"lineto":90,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"const char *","comment":"the full name for the ref"},"description":"Get the full name of a reference","comments":"","group":"reference"},"git_reference_resolve":{"type":"function","file":"refs.h","line":105,"lineto":105,"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 on success; error code otherwise"},"description":"Resolve a symbolic reference","comments":"Thie method iteratively peels a symbolic reference\nuntil it resolves to a direct reference to an OID.\n\nIf a direct reference is passed as an argument,\nthat reference is returned immediately\n","group":"reference"},"git_reference_write":{"type":"function","file":"refs.h","line":121,"lineto":121,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Write a reference back to disk.","comments":"The reference must have a valid name and a valid target\n(either direct or symbolic).\n\nIf the reference has been loaded from disk and no changes\nhave been made, no action will take place.\n\nThe writing to disk is atomic.\n","group":"reference"},"git_reference_owner":{"type":"function","file":"refs.h","line":129,"lineto":129,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"git_repository *","comment":"a pointer to the repo"},"description":"Get the repository where a reference resides","comments":"","group":"reference"},"git_reference_set_name":{"type":"function","file":"refs.h","line":141,"lineto":141,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"},{"name":"name","type":"const char *","comment":"The new name for the reference"}],"argline":"git_reference *ref, const char *name","sig":"git_reference *::const char *","return":{"type":"void"},"description":"Set the name of a reference.","comments":"This marks the reference as modified; changes\nwon't take effect until it is manually written back\nto disk.\n","group":"reference"},"git_reference_set_target":{"type":"function","file":"refs.h","line":156,"lineto":156,"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":"void"},"description":"Set the target reference of a reference.","comments":"This converts the reference into a symbolic\nreference.\n\nThis marks the reference as modified; changes\nwon't take effect until it is manually written back\nto disk.\n","group":"reference"},"git_reference_set_oid":{"type":"function","file":"refs.h","line":171,"lineto":171,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"},{"name":"id","type":"const git_oid *"}],"argline":"git_reference *ref, const git_oid *id","sig":"git_reference *::const git_oid *","return":{"type":"void"},"description":"Set the OID target of a reference.","comments":"This converts the reference into a direct\nreference.\n\nThis marks the reference as modified; changes\nwon't take effect until it is manually written back\nto disk.\n","group":"reference"}},"globals":{"GIT_BEGIN_DECL":{"value":"","file":"common.h","line":36,"comments":"Start declarations in C mode"},"GIT_END_DECL":{"value":"","file":"common.h","line":38,"comments":"End declarations in C mode"},"GIT_EXTERN(type)":{"value":"extern __attribute__((visibility(\"default\"))) type","file":"common.h","line":42,"comments":"Declare a public function exported for application use."},"GIT_EXTERN_TLS(type)":{"value":"extern __attribute__((visibility(\"default\"))) GIT_TLS type","file":"common.h","line":53,"comments":"Declare a public TLS symbol exported for application use."},"GIT_INLINE(type)":{"value":"static __inline type","file":"common.h","line":65,"comments":"Declare a function as always inlined."},"GIT_FORMAT_PRINTF(a,b)":{"value":"__attribute__((format (printf, a, b)))","file":"common.h","line":72,"comments":"Declare a function's takes printf style arguments."},"GIT_SUCCESS":{"value":"0","file":"common.h","line":87,"comments":"Operation completed successfully."},"GIT_ERROR":{"value":"-1","file":"common.h","line":95,"comments":"Operation failed, with unspecified reason.\nThis value also serves as the base error code; all other\nerror codes are subtracted from it such that all errors\nare < 0, in typical POSIX C tradition."},"GIT_ENOTOID":{"value":"(GIT_ERROR - 1)","file":"common.h","line":98,"comments":"Input was not a properly formatted Git object id."},"GIT_ENOTFOUND":{"value":"(GIT_ERROR - 2)","file":"common.h","line":101,"comments":"Input does not exist in the scope searched."},"GIT_ENOMEM":{"value":"(GIT_ERROR - 3)","file":"common.h","line":104,"comments":"Not enough space available."},"GIT_EOSERR":{"value":"(GIT_ERROR - 4)","file":"common.h","line":107,"comments":"Consult the OS error information."},"GIT_EOBJTYPE":{"value":"(GIT_ERROR - 5)","file":"common.h","line":110,"comments":"The specified object is of invalid type"},"GIT_EOBJCORRUPTED":{"value":"(GIT_ERROR - 6)","file":"common.h","line":113,"comments":"The specified object has its data corrupted"},"GIT_ENOTAREPO":{"value":"(GIT_ERROR - 7)","file":"common.h","line":116,"comments":"The specified repository is invalid"},"GIT_EINVALIDTYPE":{"value":"(GIT_ERROR - 8)","file":"common.h","line":119,"comments":"The object type is invalid or doesn't match"},"GIT_EMISSINGOBJDATA":{"value":"(GIT_ERROR - 9)","file":"common.h","line":122,"comments":"The object cannot be written that because it's missing internal data"},"GIT_EPACKCORRUPTED":{"value":"(GIT_ERROR - 10)","file":"common.h","line":125,"comments":"The packfile for the ODB is corrupted"},"GIT_EFLOCKFAIL":{"value":"(GIT_ERROR - 11)","file":"common.h","line":128,"comments":"Failed to adquire or release a file lock"},"GIT_EZLIB":{"value":"(GIT_ERROR - 12)","file":"common.h","line":131,"comments":"The Z library failed to inflate/deflate an object's data"},"GIT_EBUSY":{"value":"(GIT_ERROR - 13)","file":"common.h","line":134,"comments":"The queried object is currently busy"},"GIT_EBAREINDEX":{"value":"(GIT_ERROR - 14)","file":"common.h","line":137,"comments":"The index file is not backed up by an existing repository"},"GIT_EINVALIDREFNAME":{"value":"(GIT_ERROR - 15)","file":"common.h","line":140,"comments":"The name of the reference is not valid"},"GIT_EREFCORRUPTED":{"value":"(GIT_ERROR - 16)","file":"common.h","line":143,"comments":"The specified reference has its data corrupted"},"GIT_ETOONESTEDSYMREF":{"value":"(GIT_ERROR - 17)","file":"common.h","line":146,"comments":"The specified symbolic reference is too deeply nested"},"GIT_EPACKEDREFSCORRUPTED":{"value":"(GIT_ERROR - 18)","file":"common.h","line":149,"comments":"The pack-refs file is either corrupted of its format is not currently supported"},"GIT_EINVALIDPATH":{"value":"(GIT_ERROR - 19)","file":"common.h","line":152,"comments":"The path is invalid"},"GIT_EREVWALKOVER":{"value":"(GIT_ERROR - 20)","file":"common.h","line":155,"comments":"The revision walker is empty; there are no more commits left to iterate"},"GIT_OID_RAWSZ":{"value":"20","file":"oid.h","line":41,"comments":"Size (in bytes) of a raw/binary oid"},"GIT_OID_HEXSZ":{"value":"(GIT_OID_RAWSZ * 2)","file":"oid.h","line":44,"comments":"Size (in bytes) of a hex formatted oid"},"GIT_SORT_NONE":{"value":"(0)","file":"revwalk.h","line":46,"comments":"Sort the repository contents in no particular ordering;\nthis sorting is arbitrary, implementation-specific\nand subject to change at any time.\nThis is the default sorting for new walkers."},"GIT_SORT_TOPOLOGICAL":{"value":"(1 << 0)","file":"revwalk.h","line":53,"comments":"Sort the repository contents in topological order\n(parents before children); this sorting mode\ncan be combined with time sorting."},"GIT_SORT_TIME":{"value":"(1 << 1)","file":"revwalk.h","line":60,"comments":"Sort the repository contents by commit time;\nthis sorting mode can be combined with\ntopological sorting."},"GIT_SORT_REVERSE":{"value":"(1 << 2)","file":"revwalk.h","line":67,"comments":"Iterate through the repository contents in reverse\norder; this sorting mode can be combined with\nany of the above."}},"types":[["git_blob",{"type":"struct","value":"git_blob","file":"types.h","line":111,"lineto":111,"block":"","tdef":"typedef","comments":"In-memory representation of a blob object.","used":{"returns":[],"needs":["git_blob_lookup","git_blob_new","git_blob_rawcontent","git_blob_rawsize","git_blob_set_rawcontent","git_blob_set_rawcontent_fromfile"]}}],["git_commit",{"type":"struct","value":"git_commit","file":"types.h","line":114,"lineto":114,"block":"","tdef":"typedef","comments":"Parsed representation of a commit object.","used":{"returns":["git_commit_parent"],"needs":["git_commit_add_parent","git_commit_author","git_commit_committer","git_commit_id","git_commit_lookup","git_commit_message","git_commit_message_short","git_commit_new","git_commit_parent","git_commit_parentcount","git_commit_set_author","git_commit_set_committer","git_commit_set_message","git_commit_set_tree","git_commit_time","git_commit_time_offset","git_commit_tree","git_revwalk_hide","git_revwalk_next","git_revwalk_push"]}}],["git_index",{"type":"struct","value":"git_index","file":"types.h","line":123,"lineto":123,"block":"","tdef":"typedef","comments":"Memory representation of an index file.","used":{"returns":[],"needs":["git_index_add","git_index_clear","git_index_entrycount","git_index_find","git_index_free","git_index_get","git_index_insert","git_index_open_bare","git_index_open_inrepo","git_index_read","git_index_remove","git_index_write","git_repository_index"]}}],["git_index_entry",{"type":"struct","value":"git_index_entry","file":"index.h","line":54,"lineto":71,"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","comments":"Memory representation of a file entry in the index.","used":{"returns":["git_index_get"],"needs":["git_index_insert"]}}],["git_index_time",{"type":"struct","value":"git_index_time","file":"index.h","line":47,"lineto":51,"block":"git_time_t seconds\nunsigned int nanoseconds","tdef":"typedef","comments":"Time used in a git index entry","used":{"returns":[],"needs":[]}}],["git_object",{"type":"struct","value":"git_object","file":"types.h","line":102,"lineto":102,"block":"","tdef":"typedef","comments":"Representation of a generic object in a repository","used":{"returns":["git_tag_target"],"needs":["git_object_free","git_object_id","git_object_owner","git_object_type","git_object_write","git_repository_lookup","git_repository_newobject","git_tag_set_target","git_tree_entry_2object"]}}],["git_odb",{"type":"struct","value":"git_odb","file":"types.h","line":90,"lineto":90,"block":"","tdef":"typedef","comments":"An open object database handle.","used":{"returns":["git_repository_database"],"needs":["git_odb_add_backend","git_odb_close","git_odb_exists","git_odb_new","git_odb_open","git_odb_read","git_odb_read_header","git_odb_write","git_repository_open3"]}}],["git_odb_backend",{"type":"struct","value":"git_odb_backend","file":"types.h","line":93,"lineto":93,"block":"","tdef":"typedef","comments":"A custom backend in an ODB","used":{"returns":[],"needs":["git_odb_add_backend"]}}],["git_oid",{"type":"struct","value":"git_oid","file":"oid.h","line":47,"lineto":50,"block":"unsigned char id[GIT_OID_RAWSZ]","tdef":"typedef","comments":"Unique identity of any object (commit, tree, blob, tag).","used":{"returns":["git_commit_id","git_object_id","git_reference_oid","git_tag_id","git_tree_entry_id","git_tree_id"],"needs":["git_blob_lookup","git_blob_writefile","git_commit_lookup","git_odb_exists","git_odb_read","git_odb_read_header","git_odb_write","git_oid_allocfmt","git_oid_cmp","git_oid_cpy","git_oid_fmt","git_oid_mkraw","git_oid_mkstr","git_oid_pathfmt","git_oid_to_string","git_rawobj_hash","git_reference_set_oid","git_repository_lookup","git_tag_lookup","git_tree_add_entry","git_tree_add_entry_unsorted","git_tree_entry_set_id","git_tree_lookup"]}}],["git_otype",{"type":"enum","file":"types.h","line":76,"lineto":87,"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","comments":"Basic type (loose or packed) of any Git object.","used":{"returns":[],"needs":["git_object__size","git_object_type2string","git_object_typeisloose","git_repository_lookup","git_repository_newobject"]}}],["git_rawobj",{"type":"struct","value":"git_rawobj","file":"odb.h","line":91,"lineto":95,"block":"void *data\nsize_t len\ngit_otype type","tdef":"typedef","comments":"An object read from the database.","used":{"returns":[],"needs":["git_odb_read","git_odb_read_header","git_odb_write","git_rawobj_close","git_rawobj_hash"]}}],["git_reference",{"type":"struct","value":"git_reference","file":"types.h","line":139,"lineto":139,"block":"","tdef":"typedef","comments":"In-memory representation of a reference.","used":{"returns":[],"needs":["git_reference_name","git_reference_new","git_reference_oid","git_reference_owner","git_reference_resolve","git_reference_set_name","git_reference_set_oid","git_reference_set_target","git_reference_target","git_reference_type","git_reference_write","git_repository_lookup_ref"]}}],["git_repository",{"type":"struct","value":"git_repository","file":"types.h","line":99,"lineto":99,"block":"","tdef":"typedef","comments":"Representation of an existing git repository,\nincluding all its object contents","used":{"returns":["git_object_owner","git_reference_owner","git_revwalk_repository"],"needs":["git_blob_lookup","git_blob_new","git_blob_writefile","git_commit_lookup","git_commit_new","git_index_open_inrepo","git_reference_new","git_repository_database","git_repository_free","git_repository_index","git_repository_init","git_repository_lookup","git_repository_lookup_ref","git_repository_newobject","git_repository_open","git_repository_open2","git_repository_open3","git_revwalk_new","git_tag_lookup","git_tag_new","git_tree_lookup","git_tree_new"]}}],["git_revwalk",{"type":"struct","value":"git_revwalk","file":"types.h","line":105,"lineto":105,"block":"","tdef":"typedef","comments":"Representation of an in-progress walk through the commits in a repo","used":{"returns":[],"needs":["git_revwalk_free","git_revwalk_hide","git_revwalk_new","git_revwalk_next","git_revwalk_push","git_revwalk_repository","git_revwalk_reset","git_revwalk_sorting"]}}],["git_rtype",{"type":"enum","file":"types.h","line":142,"lineto":146,"block":"GIT_REF_INVALID\nGIT_REF_OID\nGIT_REF_SYMBOLIC","tdef":"typedef","comments":"Basic type of any Git reference.","used":{"returns":[],"needs":[]}}],["git_signature",{"type":"struct","value":"git_signature","file":"types.h","line":132,"lineto":136,"block":"char *name\nchar *email\ngit_time when","tdef":"typedef","comments":"An action signature (e.g. for committers, taggers, etc)","used":{"returns":["git_commit_author","git_commit_committer","git_signature_dup","git_signature_new","git_tag_tagger"],"needs":["git_commit_set_author","git_commit_set_committer","git_signature_dup","git_signature_free","git_tag_set_tagger"]}}],["git_tag",{"type":"struct","value":"git_tag","file":"types.h","line":108,"lineto":108,"block":"","tdef":"typedef","comments":"Parsed representation of a tag object.","used":{"returns":[],"needs":["git_tag_id","git_tag_lookup","git_tag_message","git_tag_name","git_tag_new","git_tag_set_message","git_tag_set_name","git_tag_set_tagger","git_tag_set_target","git_tag_tagger","git_tag_target","git_tag_type"]}}],["git_time",{"type":"struct","value":"git_time","file":"types.h","line":126,"lineto":129,"block":"time_t time\nint offset","tdef":"typedef","comments":"Time in a signature","used":{"returns":[],"needs":[]}}],["git_tree",{"type":"struct","value":"git_tree","file":"types.h","line":120,"lineto":120,"block":"","tdef":"typedef","comments":"Representation of a tree object.","used":{"returns":["git_commit_tree"],"needs":["git_commit_set_tree","git_tree_add_entry","git_tree_add_entry_unsorted","git_tree_clear_entries","git_tree_entry_byindex","git_tree_entry_byname","git_tree_entrycount","git_tree_id","git_tree_lookup","git_tree_new","git_tree_remove_entry_byindex","git_tree_remove_entry_byname","git_tree_sort_entries"]}}],["git_tree_entry",{"type":"struct","value":"git_tree_entry","file":"types.h","line":117,"lineto":117,"block":"","tdef":"typedef","comments":"Representation of each one of the entries in a tree object.","used":{"returns":["git_tree_entry_byindex","git_tree_entry_byname"],"needs":["git_tree_add_entry","git_tree_add_entry_unsorted","git_tree_entry_2object","git_tree_entry_attributes","git_tree_entry_id","git_tree_entry_name","git_tree_entry_set_attributes","git_tree_entry_set_id","git_tree_entry_set_name"]}}]],"prefix":"src/git2","groups":[["blob",["git_blob_lookup","git_blob_new","git_blob_rawcontent","git_blob_rawsize","git_blob_set_rawcontent","git_blob_set_rawcontent_fromfile","git_blob_writefile"]],["commit",["git_commit_add_parent","git_commit_author","git_commit_committer","git_commit_id","git_commit_lookup","git_commit_message","git_commit_message_short","git_commit_new","git_commit_parent","git_commit_parentcount","git_commit_set_author","git_commit_set_committer","git_commit_set_message","git_commit_set_tree","git_commit_time","git_commit_time_offset","git_commit_tree"]],["errors",["git_strerror"]],["index",["git_index_add","git_index_clear","git_index_entrycount","git_index_find","git_index_free","git_index_get","git_index_insert","git_index_open_bare","git_index_open_inrepo","git_index_read","git_index_remove","git_index_write"]],["object",["git_object__size","git_object_free","git_object_id","git_object_owner","git_object_string2type","git_object_type","git_object_type2string","git_object_typeisloose","git_object_write"]],["odb",["git_odb_add_backend","git_odb_close","git_odb_exists","git_odb_new","git_odb_open","git_odb_read","git_odb_read_header","git_odb_write"]],["oid",["git_oid_allocfmt","git_oid_cmp","git_oid_cpy","git_oid_fmt","git_oid_mkraw","git_oid_mkstr","git_oid_pathfmt","git_oid_to_string"]],["rawobj",["git_rawobj_close","git_rawobj_hash"]],["reference",["git_reference_name","git_reference_new","git_reference_oid","git_reference_owner","git_reference_resolve","git_reference_set_name","git_reference_set_oid","git_reference_set_target","git_reference_target","git_reference_type","git_reference_write"]],["repository",["git_repository_database","git_repository_free","git_repository_index","git_repository_init","git_repository_lookup","git_repository_lookup_ref","git_repository_newobject","git_repository_open","git_repository_open2","git_repository_open3"]],["revwalk",["git_revwalk_free","git_revwalk_hide","git_revwalk_new","git_revwalk_next","git_revwalk_push","git_revwalk_repository","git_revwalk_reset","git_revwalk_sorting"]],["signature",["git_signature_dup","git_signature_free","git_signature_new"]],["tag",["git_tag_id","git_tag_lookup","git_tag_message","git_tag_name","git_tag_new","git_tag_set_message","git_tag_set_name","git_tag_set_tagger","git_tag_set_target","git_tag_tagger","git_tag_target","git_tag_type"]],["tree",["git_tree_add_entry","git_tree_add_entry_unsorted","git_tree_clear_entries","git_tree_entry_2object","git_tree_entry_attributes","git_tree_entry_byindex","git_tree_entry_byname","git_tree_entry_id","git_tree_entry_name","git_tree_entry_set_attributes","git_tree_entry_set_id","git_tree_entry_set_name","git_tree_entrycount","git_tree_id","git_tree_lookup","git_tree_new","git_tree_remove_entry_byindex","git_tree_remove_entry_byname","git_tree_sort_entries"]],["zlib",["deflateBound"]]]} \ No newline at end of file
+{"files":[{"file":"zlib.h","functions":["deflateBound"],"meta":{"brief":"Git data compression routines","defgroup":"git_zlib Git data compression routines","ingroup":"Git","comments":"\n"},"lines":58},{"file":"types.h","functions":[],"meta":{"brief":"libgit2 base & compatibility types","ingroup":"Git","comments":"\n"},"lines":151},{"file":"tree.h","functions":["git_tree_lookup","git_tree_new","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_2object","git_tree_add_entry","git_tree_add_entry_unsorted","git_tree_sort_entries","git_tree_remove_entry_byindex","git_tree_remove_entry_byname","git_tree_clear_entries","git_tree_entry_set_id","git_tree_entry_set_name","git_tree_entry_set_attributes"],"meta":{"brief":"Git tree parsing, loading routines","defgroup":"git_tree Git tree parsing, loading routines","ingroup":"Git","comments":"\n"},"lines":252},{"file":"thread-utils.h","functions":[],"meta":{},"lines":80},{"file":"tag.h","functions":["git_tag_lookup","git_tag_new","git_tag_id","git_tag_target","git_tag_type","git_tag_name","git_tag_tagger","git_tag_message","git_tag_set_target","git_tag_set_name","git_tag_set_tagger","git_tag_set_message"],"meta":{"brief":"Git tag parsing routines","defgroup":"git_tag Git tag management","ingroup":"Git","comments":"\n"},"lines":145},{"file":"signature.h","functions":["git_signature_new","git_signature_dup","git_signature_free"],"meta":{"brief":"Git signature creation","defgroup":"git_signature Git signature creation","ingroup":"Git","comments":"\n"},"lines":70},{"file":"revwalk.h","functions":["git_revwalk_new","git_revwalk_reset","git_revwalk_push","git_revwalk_hide","git_revwalk_next","git_revwalk_sorting","git_revwalk_free","git_revwalk_repository"],"meta":{"brief":"Git revision traversal routines","defgroup":"git_revwalk Git revision traversal routines","ingroup":"Git","comments":"\n"},"lines":136},{"file":"repository.h","functions":["git_repository_open","git_repository_open2","git_repository_open3","git_repository_lookup","git_repository_database","git_repository_index","git_repository_newobject","git_repository_free","git_repository_init","git_repository_lookup_ref"],"meta":{"brief":"Git repository management routines","defgroup":"git_repository Git repository management routines","ingroup":"Git","comments":"\n"},"lines":239},{"file":"refs.h","functions":["git_reference_new","git_reference_oid","git_reference_target","git_reference_type","git_reference_name","git_reference_resolve","git_reference_write","git_reference_owner","git_reference_set_name","git_reference_set_target","git_reference_set_oid"],"meta":{"brief":"Git reference management routines","defgroup":"git_reference Git reference management routines","ingroup":"Git","comments":"\n"},"lines":175},{"file":"oid.h","functions":["git_oid_mkstr","git_oid_mkraw","git_oid_fmt","git_oid_pathfmt","git_oid_allocfmt","git_oid_to_string","git_oid_cpy","git_oid_cmp"],"meta":{"brief":"Git object id routines","defgroup":"git_oid Git object id routines","ingroup":"Git","comments":"\n"},"lines":137},{"file":"odb_backend.h","functions":[],"meta":{"brief":"Git custom backend functions","defgroup":"git_backend Git custom backend API","ingroup":"Git","comments":"\n"},"lines":78},{"file":"odb.h","functions":["git_odb_new","git_odb_open","git_odb_add_backend","git_odb_close","git_odb_read","git_odb_read_header","git_odb_write","git_odb_exists","git_rawobj_hash","git_rawobj_close"],"meta":{"brief":"Git object database routines","defgroup":"git_odb Git object database routines","ingroup":"Git","comments":"\n"},"lines":184},{"file":"object.h","functions":["git_object_write","git_object_id","git_object_type","git_object_owner","git_object_free","git_object_type2string","git_object_string2type","git_object_typeisloose","git_object__size"],"meta":{"brief":"Git revision object management routines","defgroup":"git_object Git revision object management routines","ingroup":"Git","comments":"\n"},"lines":146},{"file":"index.h","functions":["git_index_open_bare","git_index_open_inrepo","git_index_clear","git_index_free","git_index_read","git_index_write","git_index_find","git_index_add","git_index_remove","git_index_insert","git_index_get","git_index_entrycount"],"meta":{"brief":"Git index parsing and manipulation routines","defgroup":"git_index Git index parsing and manipulation routines","ingroup":"Git","comments":"\n"},"lines":198},{"file":"errors.h","functions":["git_strerror"],"meta":{"brief":"Git error handling routines and variables","ingroup":"Git","comments":"\n"},"lines":45},{"file":"common.h","functions":[],"meta":{"brief":"Git common platform definitions","defgroup":"git_common Git common platform definitions","ingroup":"Git","comments":"\n"},"lines":160},{"file":"commit.h","functions":["git_commit_lookup","git_commit_new","git_commit_id","git_commit_message_short","git_commit_message","git_commit_time","git_commit_time_offset","git_commit_committer","git_commit_author","git_commit_tree","git_commit_parentcount","git_commit_parent","git_commit_add_parent","git_commit_set_message","git_commit_set_committer","git_commit_set_author","git_commit_set_tree"],"meta":{"brief":"Git commit parsing, formatting routines","defgroup":"git_commit Git commit parsing, formatting routines","ingroup":"Git","comments":"\n"},"lines":184},{"file":"blob.h","functions":["git_blob_lookup","git_blob_new","git_blob_set_rawcontent_fromfile","git_blob_set_rawcontent","git_blob_rawcontent","git_blob_rawsize","git_blob_writefile"],"meta":{"brief":"Git blob load and write routines","defgroup":"git_blob Git blob load and write routines","ingroup":"Git","comments":"\n"},"lines":128}],"functions":{"deflateBound":{"type":"function","file":"zlib.h","line":50,"lineto":54,"args":[{"name":"stream","type":"z_streamp","comment":"the stream pointer."},{"name":"s","type":"size_t","comment":"tream the stream pointer."}],"argline":"z_streamp stream, size_t s","sig":"z_streamp::size_t","return":{"type":"size_t","comment":"maximum length of the compressed data."},"description":"deflateBound returns an upper bound on the compressed size.","comments":"This is a stub function used when zlib does not supply the\ndeflateBound() implementation itself.\n","group":"zlib"},"git_tree_lookup":{"type":"function","file":"tree.h","line":52,"lineto":55,"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 on success; error code otherwise"},"description":"Lookup a tree object from the repository.\nThe generated tree object is owned by the revision\nrepo and shall not be freed by the user.","comments":"","group":"tree"},"git_tree_new":{"type":"function","file":"tree.h","line":68,"lineto":71,"args":[{"name":"tree","type":"git_tree **","comment":"pointer to the new tree"},{"name":"repo","type":"git_repository *","comment":"The repository where the object will reside"}],"argline":"git_tree **tree, git_repository *repo","sig":"git_tree **::git_repository *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Create a new in-memory git_tree.","comments":"The tree object must be manually filled using\nsetter methods before it can be written to its\nrepository.\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":"Get the id of a tree.\n@param tree a previously loaded tree.\n@return object identity for the tree.","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":"size_t","comment":"the number of entries in the tree"},"description":"Get the number of entries listed in a tree\n@param tree a previously loaded tree.\n@return the number of entries in the tree","comments":"","group":"tree"},"git_tree_entry_byname":{"type":"function","file":"tree.h","line":94,"lineto":94,"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":"git_tree_entry *","comment":"the tree entry; NULL if not found"},"description":"Lookup a tree entry by its filename\n@param tree a previously loaded tree.\n@param filename the filename of the desired entry\n@return the tree entry; NULL if not found","comments":"","group":"tree"},"git_tree_entry_byindex":{"type":"function","file":"tree.h","line":102,"lineto":102,"args":[{"name":"tree","type":"git_tree *","comment":"a previously loaded tree."},{"name":"idx","type":"int","comment":"the position in the entry list"}],"argline":"git_tree *tree, int idx","sig":"git_tree *::int","return":{"type":"git_tree_entry *","comment":"the tree entry; NULL if not found"},"description":"Lookup a tree entry by its position in the tree\n@param tree a previously loaded tree.\n@param idx the position in the entry list\n@return the tree entry; NULL if not found","comments":"","group":"tree"},"git_tree_entry_attributes":{"type":"function","file":"tree.h","line":109,"lineto":109,"args":[{"name":"entry","type":"git_tree_entry *","comment":"a tree entry"}],"argline":"git_tree_entry *entry","sig":"git_tree_entry *","return":{"type":"unsigned int","comment":"attributes as an integer"},"description":"Get the UNIX file attributes of a tree entry\n@param entry a tree entry\n@return attributes as an integer","comments":"","group":"tree"},"git_tree_entry_name":{"type":"function","file":"tree.h","line":116,"lineto":116,"args":[{"name":"entry","type":"git_tree_entry *","comment":"a tree entry"}],"argline":"git_tree_entry *entry","sig":"git_tree_entry *","return":{"type":"const char *","comment":"the name of the file"},"description":"Get the filename of a tree entry\n@param entry a tree entry\n@return the name of the file","comments":"","group":"tree"},"git_tree_entry_id":{"type":"function","file":"tree.h","line":123,"lineto":123,"args":[{"name":"entry","type":"git_tree_entry *","comment":"a tree entry"}],"argline":"git_tree_entry *entry","sig":"git_tree_entry *","return":{"type":"const git_oid *","comment":"the oid of the object"},"description":"Get the id of the object pointed by the entry\n@param entry a tree entry\n@return the oid of the object","comments":"","group":"tree"},"git_tree_entry_2object":{"type":"function","file":"tree.h","line":132,"lineto":132,"args":[{"name":"object","type":"git_object **","comment":"pointer to the converted object"},{"name":"entry","type":"git_tree_entry *","comment":"a tree entry"}],"argline":"git_object **object, git_tree_entry *entry","sig":"git_object **::git_tree_entry *","return":{"type":"int","comment":"a reference to the pointed object in the repository"},"description":"Convert a tree entry to the git_object it points too.","comments":"","group":"tree"},"git_tree_add_entry":{"type":"function","file":"tree.h","line":149,"lineto":149,"args":[{"name":"entry_out","type":"git_tree_entry **","comment":"Pointer to the entry that just got created. May be NULL if you are not interested on getting the new entry"},{"name":"tree","type":"git_tree *","comment":"Tree object to store the entry @iparam id OID for the tree entry"},{"name":"id","type":"const git_oid *"},{"name":"filename","type":"const char *","comment":"Filename for the tree entry"},{"name":"attributes","type":"int","comment":"UNIX file attributes for the entry"}],"argline":"git_tree_entry **entry_out, git_tree *tree, const git_oid *id, const char *filename, int attributes","sig":"git_tree_entry **::git_tree *::const git_oid *::const char *::int","return":{"type":"int","comment":"0 on success; otherwise error code"},"description":"Add a new entry to a tree and return the new entry.","comments":"This will mark the tree as modified; the new entry will\nbe written back to disk on the next git_object_write()\n","group":"tree"},"git_tree_add_entry_unsorted":{"type":"function","file":"tree.h","line":166,"lineto":166,"args":[{"name":"entry","type":"git_tree_entry **","comment":"Entry object which will be created"},{"name":"tree","type":"git_tree *","comment":"Tree object to store the entry @iparam id OID for the tree entry"},{"name":"id","type":"const git_oid *"},{"name":"filename","type":"const char *","comment":"Filename for the tree entry"},{"name":"attributes","type":"int","comment":"UNIX file attributes for the entry"}],"argline":"git_tree_entry **entry, git_tree *tree, const git_oid *id, const char *filename, int attributes","sig":"git_tree_entry **::git_tree *::const git_oid *::const char *::int","return":{"type":"int","comment":"0 on success; otherwise error code"},"description":"Add a new entry to a tree, returning that new entry.\nThe only difference with this call is that it does not sort\ntree afterwards, this requirement is left to the caller.","comments":"This will mark the tree as modified; the new entry will\nbe written back to disk on the next git_object_write()\n","group":"tree"},"git_tree_sort_entries":{"type":"function","file":"tree.h","line":179,"lineto":179,"args":[{"name":"tree","type":"git_tree *","comment":"Tree object whose entries are to be sorted"}],"argline":"git_tree *tree","sig":"git_tree *","return":{"type":"int","comment":"0 on success; otherwise error code"},"description":"Sort the entries in a tree created using git_tree_add_entry2.","comments":"This does not mark the tree as modified. It is intended to be used\nafter several invocations of git_tree_add_entry2.\ngit_tree_add_entry, on the other hand, sorts after each entry is\nadded.\n","group":"tree"},"git_tree_remove_entry_byindex":{"type":"function","file":"tree.h","line":193,"lineto":193,"args":[{"name":"tree","type":"git_tree *","comment":"Tree where to remove the entry"},{"name":"idx","type":"int","comment":"index of the entry"}],"argline":"git_tree *tree, int idx","sig":"git_tree *::int","return":{"type":"int","comment":"0 on successful removal; GIT_ENOTFOUND if the entry wasn't found"},"description":"Remove an entry by its index.","comments":"Index must be >= 0 and < than git_tree_entrycount().\n\nThis will mark the tree as modified; the modified entry will\nbe written back to disk on the next git_object_write()\n","group":"tree"},"git_tree_remove_entry_byname":{"type":"function","file":"tree.h","line":205,"lineto":205,"args":[{"name":"tree","type":"git_tree *","comment":"Tree where to remove the entry"},{"name":"filename","type":"const char *","comment":"File name of the entry"}],"argline":"git_tree *tree, const char *filename","sig":"git_tree *::const char *","return":{"type":"int","comment":"0 on successful removal; GIT_ENOTFOUND if the entry wasn't found"},"description":"Remove an entry by its filename.","comments":"This will mark the tree as modified; the modified entry will\nbe written back to disk on the next git_object_write()\n","group":"tree"},"git_tree_clear_entries":{"type":"function","file":"tree.h","line":215,"lineto":215,"args":[{"name":"tree","type":"git_tree *","comment":"Tree object whose entries are to be sorted"}],"argline":"git_tree *tree","sig":"git_tree *","return":{"type":"void"},"description":"Clear all the entries in a tree.","comments":"This will mark the tree as modified; the modified entry will\nbe written back to disk on the next git_object_write().\n","group":"tree"},"git_tree_entry_set_id":{"type":"function","file":"tree.h","line":226,"lineto":226,"args":[{"name":"entry","type":"git_tree_entry *","comment":"Entry object which will be modified"},{"name":"oid","type":"const git_oid *","comment":"new SHA1 oid for the entry"}],"argline":"git_tree_entry *entry, const git_oid *oid","sig":"git_tree_entry *::const git_oid *","return":{"type":"void"},"description":"Change the SHA1 id of a tree entry.","comments":"This will mark the tree that contains the entry as modified;\nthe modified entry will be written back to disk on the next git_object_write()\n","group":"tree"},"git_tree_entry_set_name":{"type":"function","file":"tree.h","line":237,"lineto":237,"args":[{"name":"entry","type":"git_tree_entry *","comment":"Entry object which will be modified"},{"name":"name","type":"const char *"}],"argline":"git_tree_entry *entry, const char *name","sig":"git_tree_entry *::const char *","return":{"type":"void"},"description":"Change the filename of a tree entry.","comments":"This will mark the tree that contains the entry as modified;\nthe modified entry will be written back to disk on the next git_object_write()\n","group":"tree"},"git_tree_entry_set_attributes":{"type":"function","file":"tree.h","line":248,"lineto":248,"args":[{"name":"entry","type":"git_tree_entry *","comment":"Entry object which will be modified"},{"name":"attr","type":"int"}],"argline":"git_tree_entry *entry, int attr","sig":"git_tree_entry *::int","return":{"type":"void"},"description":"Change the attributes of a tree entry.","comments":"This will mark the tree that contains the entry as modified;\nthe modified entry will be written back to disk on the next git_object_write()\n","group":"tree"},"git_tag_lookup":{"type":"function","file":"tag.h","line":52,"lineto":55,"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 on success; error code otherwise"},"description":"Lookup a tag object from the repository.\nThe generated tag object is owned by the revision\nrepo and shall not be freed by the user.","comments":"","group":"tag"},"git_tag_new":{"type":"function","file":"tag.h","line":68,"lineto":71,"args":[{"name":"tag","type":"git_tag **","comment":"pointer to the new tag"},{"name":"repo","type":"git_repository *","comment":"The repository where the object will reside"}],"argline":"git_tag **tag, git_repository *repo","sig":"git_tag **::git_repository *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Create a new in-memory git_tag.","comments":"The tag object must be manually filled using\nsetter methods before it can be written to its\nrepository.\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":"Get the id of a tag.\n@param tag a previously loaded tag.\n@return object identity for the tag.","comments":"","group":"tag"},"git_tag_target":{"type":"function","file":"tag.h","line":85,"lineto":85,"args":[{"name":"t","type":"git_tag *","comment":"ag a previously loaded tag."}],"argline":"git_tag *t","sig":"git_tag *","return":{"type":"const git_object *","comment":"reference to a repository object"},"description":"Get the tagged object of a tag\n@param tag a previously loaded tag.\n@return reference to a repository object","comments":"","group":"tag"},"git_tag_type":{"type":"function","file":"tag.h","line":92,"lineto":92,"args":[{"name":"t","type":"git_tag *","comment":"ag a previously loaded tag."}],"argline":"git_tag *t","sig":"git_tag *","return":{"type":"git_otype","comment":"type of the tagged object"},"description":"Get the type of a tag's tagged object\n@param tag a previously loaded tag.\n@return type of the tagged object","comments":"","group":"tag"},"git_tag_name":{"type":"function","file":"tag.h","line":99,"lineto":99,"args":[{"name":"t","type":"git_tag *","comment":"ag a previously loaded tag."}],"argline":"git_tag *t","sig":"git_tag *","return":{"type":"const char *","comment":"name of the tag"},"description":"Get the name of a tag\n@param tag a previously loaded tag.\n@return name of the tag","comments":"","group":"tag"},"git_tag_tagger":{"type":"function","file":"tag.h","line":106,"lineto":106,"args":[{"name":"t","type":"git_tag *","comment":"ag a previously loaded tag."}],"argline":"git_tag *t","sig":"git_tag *","return":{"type":"const git_signature *","comment":"reference to the tag's author"},"description":"Get the tagger (author) of a tag\n@param tag a previously loaded tag.\n@return reference to the tag's author","comments":"","group":"tag"},"git_tag_message":{"type":"function","file":"tag.h","line":113,"lineto":113,"args":[{"name":"t","type":"git_tag *","comment":"ag a previously loaded tag."}],"argline":"git_tag *t","sig":"git_tag *","return":{"type":"const char *","comment":"message of the tag"},"description":"Get the message of a tag\n@param tag a previously loaded tag.\n@return message of the tag","comments":"","group":"tag"},"git_tag_set_target":{"type":"function","file":"tag.h","line":120,"lineto":120,"args":[{"name":"tag","type":"git_tag *","comment":"The tag to modify"},{"name":"target","type":"git_object *","comment":"the new tagged target"}],"argline":"git_tag *tag, git_object *target","sig":"git_tag *::git_object *","return":{"type":"void"},"description":"Set the target of a tag (i.e. the object that the tag points to)\n@param tag The tag to modify\n@param target the new tagged target","comments":"","group":"tag"},"git_tag_set_name":{"type":"function","file":"tag.h","line":127,"lineto":127,"args":[{"name":"tag","type":"git_tag *","comment":"The tag to modify"},{"name":"name","type":"const char *","comment":"the new name for the tag"}],"argline":"git_tag *tag, const char *name","sig":"git_tag *::const char *","return":{"type":"void"},"description":"Set the name of a tag\n@param tag The tag to modify\n@param name the new name for the tag","comments":"","group":"tag"},"git_tag_set_tagger":{"type":"function","file":"tag.h","line":134,"lineto":134,"args":[{"name":"tag","type":"git_tag *","comment":"The tag to modify"},{"name":"tagger_sig","type":"const git_signature *","comment":"signature of the tagging action"}],"argline":"git_tag *tag, const git_signature *tagger_sig","sig":"git_tag *::const git_signature *","return":{"type":"void"},"description":"Set the tagger of a tag\n@param tag The tag to modify\n@param tagger_sig signature of the tagging action","comments":"","group":"tag"},"git_tag_set_message":{"type":"function","file":"tag.h","line":141,"lineto":141,"args":[{"name":"tag","type":"git_tag *","comment":"The tag to modify"},{"name":"message","type":"const char *","comment":"the new tagger for the tag"}],"argline":"git_tag *tag, const char *message","sig":"git_tag *::const char *","return":{"type":"void"},"description":"Set the message of a tag\n@param tag The tag to modify\n@param message the new tagger for the tag","comments":"","group":"tag"},"git_signature_new":{"type":"function","file":"signature.h","line":50,"lineto":50,"args":[{"name":"name","type":"const char *"},{"name":"email","type":"const char *"},{"name":"time","type":"time_t"},{"name":"offset","type":"int"}],"argline":"const char *name, const char *email, time_t time, int offset","sig":"const char *::const char *::time_t::int","return":{"type":"git_signature *","comment":"the new sig, NULl on out of memory"},"description":"Create a new action signature. The signature must be freed\nmanually or using git_signature_free","comments":"@name name of the person\n@email email of the person\n@time time when the action happened\n@offset timezone offset in minutes for the time","group":"signature"},"git_signature_dup":{"type":"function","file":"signature.h","line":59,"lineto":59,"args":[{"name":"sig","type":"const git_signature *"}],"argline":"const git_signature *sig","sig":"const git_signature *","return":{"type":"git_signature *","comment":"a copy of sig, NULL on out of memory"},"description":"Create a copy of an existing signature.","comments":"All internal strings are also duplicated.\n@sig signature to duplicated","group":"signature"},"git_signature_free":{"type":"function","file":"signature.h","line":66,"lineto":66,"args":[{"name":"sig","type":"git_signature *"}],"argline":"git_signature *sig","sig":"git_signature *","return":{"type":"void"},"description":"Free an existing signature","comments":"@sig signature to free","group":"signature"},"git_revwalk_new":{"type":"function","file":"revwalk.h","line":76,"lineto":76,"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 on success; error code otherwise"},"description":"Allocate a new revision walker to iterate through a repo.","comments":"","group":"revwalk"},"git_revwalk_reset":{"type":"function","file":"revwalk.h","line":82,"lineto":82,"args":[{"name":"walker","type":"git_revwalk *","comment":"handle to reset."}],"argline":"git_revwalk *walker","sig":"git_revwalk *","return":{"type":"void"},"description":"Reset the walking machinery for reuse.\n@param walker handle to reset.","comments":"","group":"revwalk"},"git_revwalk_push":{"type":"function","file":"revwalk.h","line":91,"lineto":91,"args":[{"name":"walk","type":"git_revwalk *","comment":"er the walker being used for the traversal."},{"name":"commit","type":"git_commit *","comment":"the commit to start from."}],"argline":"git_revwalk *walk, git_commit *commit","sig":"git_revwalk *::git_commit *","return":{"type":"int"},"description":"Mark a commit to start traversal from.\nThe commit object must belong to the repo which is being walked through.","comments":"","group":"revwalk"},"git_revwalk_hide":{"type":"function","file":"revwalk.h","line":98,"lineto":98,"args":[{"name":"walk","type":"git_revwalk *","comment":"er the walker being used for the traversal."},{"name":"commit","type":"git_commit *","comment":"the commit that will be ignored during the traversal"}],"argline":"git_revwalk *walk, git_commit *commit","sig":"git_revwalk *::git_commit *","return":{"type":"int"},"description":"Mark a commit (and its ancestors) uninteresting for the output.\n@param walker the walker being used for the traversal.\n@param commit the commit that will be ignored during the traversal","comments":"","group":"revwalk"},"git_revwalk_next":{"type":"function","file":"revwalk.h","line":108,"lineto":108,"args":[{"name":"commit","type":"git_commit **","comment":"Pointer where to store the next commit"},{"name":"walk","type":"git_revwalk *","comment":"the walker to pop the commit from."}],"argline":"git_commit **commit, git_revwalk *walk","sig":"git_commit **::git_revwalk *","return":{"type":"int","comment":"GIT_SUCCESS if the next commit was found; GIT_EREVWALKOVER if there are no commits left to iterate"},"description":"Get the next commit from the revision traversal.","comments":"","group":"revwalk"},"git_revwalk_sorting":{"type":"function","file":"revwalk.h","line":117,"lineto":117,"args":[{"name":"walk","type":"git_revwalk *","comment":"the walker being used for the traversal."},{"name":"sort_mode","type":"unsigned int","comment":"combination of GIT_RPSORT_XXX flags"}],"argline":"git_revwalk *walk, unsigned int sort_mode","sig":"git_revwalk *::unsigned int","return":{"type":"int"},"description":"Change the sorting mode when iterating through the\nrepository's contents.\nChanging the sorting mode resets the walker.\n@param walk the walker being used for the traversal.\n@param sort_mode combination of GIT_RPSORT_XXX flags","comments":"","group":"revwalk"},"git_revwalk_free":{"type":"function","file":"revwalk.h","line":123,"lineto":123,"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"},"description":"Free a revwalk previously allocated.\n@param walk traversal handle to close. If NULL nothing occurs.","comments":"","group":"revwalk"},"git_revwalk_repository":{"type":"function","file":"revwalk.h","line":132,"lineto":132,"args":[{"name":"walk","type":"git_revwalk *","comment":"the revision walker"}],"argline":"git_revwalk *walk","sig":"git_revwalk *","return":{"type":"git_repository *","comment":"the repository being walked"},"description":"Return the repository on which this walker\nis operating.","comments":"","group":"revwalk"},"git_repository_open":{"type":"function","file":"repository.h","line":64,"lineto":64,"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 on success; error code otherwise"},"description":"Open a git repository.","comments":"The 'path' argument must point to an existing git repository\nfolder, e.g.\n\n\t/path/to/my_repo/.git/\t(normal repository)\n\t\t\t\t\t\tobjects/\n\t\t\t\t\t\tindex\n\t\t\t\t\t\tHEAD\n\n\t/path/to/bare_repo/\t\t(bare repository)\n\t\t\t\t\tobjects/\n\t\t\t\t\tindex\n\t\t\t\t\tHEAD\n\nThe method will automatically detect if 'path' is a normal\nor bare repository or fail is 'path' is neither.\n","group":"repository"},"git_repository_open2":{"type":"function","file":"repository.h","line":93,"lineto":97,"args":[{"name":"repository","type":"git_repository **","comment":"pointer to the repo which will be opened"},{"name":"git_dir","type":"const char *","comment":"The full path to the repository folder e.g. a '.git' folder for live repos, any folder for bare Equivalent to $GIT_DIR. Cannot be NULL."},{"name":"git_object_directory","type":"const char *","comment":"The full path to the ODB folder. the folder where all the loose and packed objects are stored Equivalent to $GIT_OBJECT_DIRECTORY. If NULL, \"$GIT_DIR/objects/\" is assumed."},{"name":"git_index_file","type":"const char *","comment":"The full path to the index (dircache) file Equivalent to $GIT_INDEX_FILE. If NULL, \"$GIT_DIR/index\" is assumed."},{"name":"git_work_tree","type":"const char *","comment":"The full path to the working tree of the repository, if the repository is not bare. Equivalent to $GIT_WORK_TREE. If NULL, the repository is assumed to be bare."}],"argline":"git_repository **repository,\n\t\tconst char *git_dir,\n\t\tconst char *git_object_directory,\n\t\tconst char *git_index_file,\n\t\tconst char *git_work_tree","sig":"git_repository **::const char *::const char *::const char *::const char *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Open a git repository by manually specifying all its paths","comments":"","group":"repository"},"git_repository_open3":{"type":"function","file":"repository.h","line":128,"lineto":132,"args":[{"name":"repository","type":"git_repository **","comment":"pointer to the repo which will be opened"},{"name":"git_dir","type":"const char *","comment":"The full path to the repository folder e.g. a '.git' folder for live repos, any folder for bare Equivalent to $GIT_DIR. Cannot be NULL."},{"name":"object_database","type":"git_odb *","comment":"A pointer to a git_odb created & initialized by the user (e.g. with custom backends). This object database will be owned by the repository and will be automatically free'd. It should not be manually free'd by the user, or this git_repository object will become invalid."},{"name":"git_index_file","type":"const char *","comment":"The full path to the index (dircache) file Equivalent to $GIT_INDEX_FILE. If NULL, \"$GIT_DIR/index\" is assumed."},{"name":"git_work_tree","type":"const char *","comment":"The full path to the working tree of the repository, if the repository is not bare. Equivalent to $GIT_WORK_TREE. If NULL, the repository is assumed to be bare."}],"argline":"git_repository **repository,\n\t\tconst char *git_dir,\n\t\tgit_odb *object_database,\n\t\tconst char *git_index_file,\n\t\tconst char *git_work_tree","sig":"git_repository **::const char *::git_odb *::const char *::const char *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Open a git repository by manually specifying its paths and\nthe object database it will use.","comments":"","group":"repository"},"git_repository_lookup":{"type":"function","file":"repository.h","line":153,"lineto":153,"args":[{"name":"object","type":"git_object **","comment":"pointer to the looked-up object"},{"name":"repo","type":"git_repository *","comment":"the repository to look up the object"},{"name":"id","type":"const git_oid *","comment":"the unique identifier for the object"},{"name":"type","type":"git_otype","comment":"the type of the object"}],"argline":"git_object **object, git_repository *repo, const git_oid *id, git_otype type","sig":"git_object **::git_repository *::const git_oid *::git_otype","return":{"type":"int","comment":"a reference to the object"},"description":"Lookup a reference to one of the objects in the repostory.","comments":"The generated reference is owned by the repository and\nshould not be freed by the user.\n\nThe 'type' parameter must match the type of the object\nin the odb; the method will fail otherwise.\nThe special value 'GIT_OBJ_ANY' may be passed to let\nthe method guess the object's type.\n","group":"repository"},"git_repository_database":{"type":"function","file":"repository.h","line":161,"lineto":161,"args":[{"name":"repo","type":"git_repository *","comment":"a repository object"}],"argline":"git_repository *repo","sig":"git_repository *","return":{"type":"git_odb *","comment":"a pointer to the object db"},"description":"Get the object database behind a Git repository","comments":"","group":"repository"},"git_repository_index":{"type":"function","file":"repository.h","line":173,"lineto":173,"args":[{"name":"index","type":"git_index **","comment":"Pointer where to store the index"},{"name":"repo","type":"git_repository *","comment":"a repository object"}],"argline":"git_index **index, git_repository *repo","sig":"git_index **::git_repository *","return":{"type":"int","comment":"0 on success; error code if the index could not be opened"},"description":"Get the Index file of a Git repository","comments":"This is a cheap operation; the index is only opened on the first call,\nand subsequent calls only retrieve the previous pointer.\n","group":"repository"},"git_repository_newobject":{"type":"function","file":"repository.h","line":196,"lineto":196,"args":[{"name":"object","type":"git_object **","comment":"pointer to the new object @parem repo Repository where the object belongs"},{"name":"repo","type":"git_repository *"},{"name":"type","type":"git_otype","comment":"Type of the object to be created"}],"argline":"git_object **object, git_repository *repo, git_otype type","sig":"git_object **::git_repository *::git_otype","return":{"type":"int","comment":"the new object"},"description":"Create a new in-memory repository object with\nthe given type.","comments":"The object's attributes can be filled in using the\ncorresponding setter methods.\n\nThe object will be written back to given git_repository\nwhen the git_object_write() function is called; objects\ncannot be written to disk until all their main\nattributes have been properly filled.\n\nObjects are instantiated with no SHA1 id; their id\nwill be automatically generated when writing to the\nrepository.\n","group":"repository"},"git_repository_free":{"type":"function","file":"repository.h","line":202,"lineto":202,"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"},"description":"Free a previously allocated repository\n@param repo repository handle to close. If NULL nothing occurs.","comments":"","group":"repository"},"git_repository_init":{"type":"function","file":"repository.h","line":219,"lineto":219,"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","comment":"if true, a Git repository without a working directory is created at the pointed path. If false, provided path will be considered as the working directory into which the .git directory will be created."}],"argline":"git_repository **repo_out, const char *path, unsigned is_bare","sig":"git_repository **::const char *::unsigned","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Creates a new Git repository in the given folder.","comments":"TODO:\n- Reinit the repository\n- Create config files\n","group":"repository"},"git_repository_lookup_ref":{"type":"function","file":"repository.h","line":235,"lineto":235,"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":"a reference to the reference"},"description":"Lookup a reference by its name in the repository.","comments":"The generated reference is owned by the repository and\nshould not be freed by the user.\n\nTODO:\n- Ensure the reference name is valid\n","group":"repository"},"git_reference_new":{"type":"function","file":"refs.h","line":52,"lineto":52,"args":[{"name":"ref_out","type":"git_reference **","comment":"Pointer to the newly created reference"},{"name":"repo","type":"git_repository *","comment":"Repository where that reference exists"}],"argline":"git_reference **ref_out, git_repository *repo","sig":"git_reference **::git_repository *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Create a new reference.","comments":"The reference will be empty and exclusively\nin-memory until it is filled with the setter\nmethods and written back to disk using\n`git_reference_write`.\n","group":"reference"},"git_reference_oid":{"type":"function","file":"refs.h","line":62,"lineto":62,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"const git_oid *","comment":"a pointer to the oid if available, NULL otherwise"},"description":"Get the OID pointed to by a reference.","comments":"Only available if the reference is direct (i.e. not symbolic)\n","group":"reference"},"git_reference_target":{"type":"function","file":"refs.h","line":72,"lineto":72,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"const char *","comment":"a pointer to the name if available, NULL otherwise"},"description":"Get full name to the reference pointed by this reference","comments":"Only available if the reference is symbolic\n","group":"reference"},"git_reference_type":{"type":"function","file":"refs.h","line":82,"lineto":82,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"git_rtype","comment":"the type"},"description":"Get the type of a reference","comments":"Either direct (GIT_REF_OID) or symbolic (GIT_REF_SYMBOLIC)\n","group":"reference"},"git_reference_name":{"type":"function","file":"refs.h","line":90,"lineto":90,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"const char *","comment":"the full name for the ref"},"description":"Get the full name of a reference","comments":"","group":"reference"},"git_reference_resolve":{"type":"function","file":"refs.h","line":105,"lineto":105,"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 on success; error code otherwise"},"description":"Resolve a symbolic reference","comments":"Thie method iteratively peels a symbolic reference\nuntil it resolves to a direct reference to an OID.\n\nIf a direct reference is passed as an argument,\nthat reference is returned immediately\n","group":"reference"},"git_reference_write":{"type":"function","file":"refs.h","line":121,"lineto":121,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Write a reference back to disk.","comments":"The reference must have a valid name and a valid target\n(either direct or symbolic).\n\nIf the reference has been loaded from disk and no changes\nhave been made, no action will take place.\n\nThe writing to disk is atomic.\n","group":"reference"},"git_reference_owner":{"type":"function","file":"refs.h","line":129,"lineto":129,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"git_repository *","comment":"a pointer to the repo"},"description":"Get the repository where a reference resides","comments":"","group":"reference"},"git_reference_set_name":{"type":"function","file":"refs.h","line":141,"lineto":141,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"},{"name":"name","type":"const char *","comment":"The new name for the reference"}],"argline":"git_reference *ref, const char *name","sig":"git_reference *::const char *","return":{"type":"void"},"description":"Set the name of a reference.","comments":"This marks the reference as modified; changes\nwon't take effect until it is manually written back\nto disk.\n","group":"reference"},"git_reference_set_target":{"type":"function","file":"refs.h","line":156,"lineto":156,"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":"void"},"description":"Set the target reference of a reference.","comments":"This converts the reference into a symbolic\nreference.\n\nThis marks the reference as modified; changes\nwon't take effect until it is manually written back\nto disk.\n","group":"reference"},"git_reference_set_oid":{"type":"function","file":"refs.h","line":171,"lineto":171,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"},{"name":"id","type":"const git_oid *"}],"argline":"git_reference *ref, const git_oid *id","sig":"git_reference *::const git_oid *","return":{"type":"void"},"description":"Set the OID target of a reference.","comments":"This converts the reference into a direct\nreference.\n\nThis marks the reference as modified; changes\nwon't take effect until it is manually written back\nto disk.\n","group":"reference"},"git_oid_mkstr":{"type":"function","file":"oid.h","line":60,"lineto":60,"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 the hex sequence and have at least the number of bytes needed for an oid encoded in hex (40 bytes)."}],"argline":"git_oid *out, const char *str","sig":"git_oid *::const char *","return":{"type":"int","comment":"GIT_SUCCESS if valid; GIT_ENOTOID on failure."},"description":"Parse a hex formatted object id into a git_oid.\n@param out oid structure the result is written into.\n@param str input hex string; must be pointing at the start of\n the hex sequence and have at least the number of bytes\n needed for an oid encoded in hex (40 bytes).\n@return GIT_SUCCESS if valid; GIT_ENOTOID on failure.","comments":"","group":"oid"},"git_oid_mkraw":{"type":"function","file":"oid.h","line":67,"lineto":67,"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"},"description":"Copy an already raw oid into a git_oid structure.\n@param out oid structure the result is written into.\n@param raw the raw input bytes to be copied.","comments":"","group":"oid"},"git_oid_fmt":{"type":"function","file":"oid.h","line":78,"lineto":78,"args":[{"name":"str","type":"char *","comment":"output hex string; must be pointing at the start of the hex sequence and have at least the number of bytes needed for an oid encoded in hex (40 bytes). Only the oid digits are written; a '\\\\0' terminator must be added by 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"},"description":"Format a git_oid into a hex string.\n@param str output hex string; must be pointing at the start of\n the hex sequence and have at least the number of bytes\n needed for an oid encoded in hex (40 bytes). Only the\n oid digits are written; a '\\\\0' terminator must be added\n by the caller if it is required.\n@param oid oid structure to format.","comments":"","group":"oid"},"git_oid_pathfmt":{"type":"function","file":"oid.h","line":93,"lineto":93,"args":[{"name":"str","type":"char *","comment":"output hex string; must be pointing at the start of the hex sequence and have at least the number of bytes needed for an oid encoded in hex (41 bytes). Only the oid digits are written; a '\\\\0' terminator must be added by 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"},"description":"Format a git_oid into a loose-object path string.\n<p>\nThe resulting string is \"aa/...\", where \"aa\" is the first two\nhex digitis of the oid and \"...\" is the remaining 38 digits.","comments":"","group":"oid"},"git_oid_allocfmt":{"type":"function","file":"oid.h","line":101,"lineto":101,"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 deallocate the string with free()."},"description":"Format a gid_oid into a newly allocated c-string.\n@param oid the oid structure to format\n@return the c-string; NULL if memory is exhausted. Caller must\n deallocate the string with free().","comments":"","group":"oid"},"git_oid_to_string":{"type":"function","file":"oid.h","line":118,"lineto":118,"args":[{"name":"out","type":"char *","comment":"the buffer into which the oid string is output."},{"name":"n","type":"size_t","comment":"the size of the out buffer."},{"name":"oid","type":"const git_oid *","comment":"the oid structure to format."}],"argline":"char *out, size_t n, const git_oid *oid","sig":"char *::size_t::const git_oid *","return":{"type":"char *","comment":"the out buffer pointer, assuming no input parameter errors, otherwise a pointer to an empty string."},"description":"Format a git_oid into a buffer as a hex format c-string.\n<p>\nIf the buffer is smaller than GIT_OID_HEXSZ+1, then the resulting\noid c-string will be truncated to n-1 characters. If there are\nany input parameter errors (out == NULL, n == 0, oid == NULL),\nthen a pointer to an empty string is returned, so that the return\nvalue can always be printed.","comments":"","group":"oid"},"git_oid_cpy":{"type":"function","file":"oid.h","line":125,"lineto":125,"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"},"description":"Copy an oid from one structure to another.\n@param out oid structure the result is written into.\n@param src oid structure to copy from.","comments":"","group":"oid"},"git_oid_cmp":{"type":"function","file":"oid.h","line":133,"lineto":133,"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":"<0, 0, >0 if a < b, a == b, a > b."},"description":"Compare two oid structures.\n@param a first oid structure.\n@param b second oid structure.\n@return <0, 0, >0 if a < b, a == b, a > b.","comments":"","group":"oid"},"git_odb_new":{"type":"function","file":"odb.h","line":52,"lineto":52,"args":[{"name":"out","type":"git_odb **","comment":"location to store the database pointer, if opened. Set to NULL if the open failed."}],"argline":"git_odb **out","sig":"git_odb **","return":{"type":"int","comment":"GIT_SUCCESS if the database was created; otherwise an error code describing why the open was not possible."},"description":"Create a new object database with no backends.","comments":"Before the ODB can be used for read/writing, a custom database\nbackend must be manually added using `git_odb_add_backend()`\n","group":"odb"},"git_odb_open":{"type":"function","file":"odb.h","line":71,"lineto":71,"args":[{"name":"out","type":"git_odb **","comment":"location to store the database pointer, if opened. Set to NULL if the open failed."},{"name":"objects_dir","type":"const char *","comment":"path of the backends' \"objects\" directory."}],"argline":"git_odb **out, const char *objects_dir","sig":"git_odb **::const char *","return":{"type":"int","comment":"GIT_SUCCESS if the database opened; otherwise an error code describing why the open was not possible."},"description":"Create a new object database and automatically add\nthe two default backends:","comments":"- git_odb_backend_loose: read and write loose object files\n\tfrom disk, assuming `objects_dir` as the Objects folder\n\n- git_odb_backend_pack: read objects from packfiles,\n\tassuming `objects_dir` as the Objects folder which\n\tcontains a 'pack/' folder with the corresponding data\n","group":"odb"},"git_odb_add_backend":{"type":"function","file":"odb.h","line":82,"lineto":82,"args":[{"name":"odb","type":"git_odb *","comment":"database to add the backend to"},{"name":"backend","type":"git_odb_backend *"}],"argline":"git_odb *odb, git_odb_backend *backend","sig":"git_odb *::git_odb_backend *","return":{"type":"int","comment":"0 on sucess; error code otherwise"},"description":"Add a custom backend to an existing Object DB","comments":"Read <odb_backends.h> for more information.\n","group":"odb"},"git_odb_close":{"type":"function","file":"odb.h","line":88,"lineto":88,"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"},"description":"Close an open object database.\n@param db database pointer to close. If NULL no action is taken.","comments":"","group":"odb"},"git_odb_read":{"type":"function","file":"odb.h","line":109,"lineto":109,"args":[{"name":"out","type":"git_rawobj *","comment":"object descriptor to populate upon reading."},{"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_rawobj *out, git_odb *db, const git_oid *id","sig":"git_rawobj *::git_odb *::const git_oid *","return":{"type":"int","comment":"- GIT_SUCCESS if the object was read; - GIT_ENOTFOUND if the object is not in the database."},"description":"Read an object from the database.","comments":"If GIT_ENOTFOUND then out->data is set to NULL.\n","group":"odb"},"git_odb_read_header":{"type":"function","file":"odb.h","line":128,"lineto":128,"args":[{"name":"out","type":"git_rawobj *","comment":"object descriptor to populate upon reading."},{"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_rawobj *out, git_odb *db, const git_oid *id","sig":"git_rawobj *::git_odb *::const git_oid *","return":{"type":"int","comment":"- GIT_SUCCESS if the object was read; - GIT_ENOTFOUND if the object is not in the database."},"description":"Read the header of an object from the database, without\nreading its full contents.","comments":"Only the 'type' and 'len' fields of the git_rawobj structure\nare filled. The 'data' pointer will always be NULL.\n\nThe raw object pointed by 'out' doesn't need to be manually\nclosed with git_rawobj_close().\n","group":"odb"},"git_odb_write":{"type":"function","file":"odb.h","line":140,"lineto":140,"args":[{"name":"id","type":"git_oid *","comment":"identity of the object written."},{"name":"db","type":"git_odb *","comment":"database to which the object should be written."},{"name":"obj","type":"git_rawobj *","comment":"object descriptor for the object to write."}],"argline":"git_oid *id, git_odb *db, git_rawobj *obj","sig":"git_oid *::git_odb *::git_rawobj *","return":{"type":"int","comment":"- GIT_SUCCESS if the object was written; - GIT_ERROR otherwise."},"description":"Write an object to the database.","comments":"","group":"odb"},"git_odb_exists":{"type":"function","file":"odb.h","line":151,"lineto":151,"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":"- true, if the object was found - false, otherwise"},"description":"Determine if the given object can be found in the object database.","comments":"","group":"odb"},"git_rawobj_hash":{"type":"function","file":"odb.h","line":169,"lineto":169,"args":[{"name":"id","type":"git_oid *","comment":"the resulting object-ID."},{"name":"obj","type":"git_rawobj *","comment":"the object whose hash is to be determined."}],"argline":"git_oid *id, git_rawobj *obj","sig":"git_oid *::git_rawobj *","return":{"type":"int","comment":"- GIT_SUCCESS if the object-ID was correctly determined. - GIT_ERROR if the given object is malformed."},"description":"Determine the object-ID (sha1 hash) of the given git_rawobj.","comments":"The input obj must be a valid loose object type and the data\npointer must not be NULL, unless the len field is also zero.\n","group":"rawobj"},"git_rawobj_close":{"type":"function","file":"odb.h","line":180,"lineto":180,"args":[{"name":"obj","type":"git_rawobj *","comment":"object descriptor to free."}],"argline":"git_rawobj *obj","sig":"git_rawobj *","return":{"type":"void"},"description":"Release all memory used by the obj structure.","comments":"As a result of this call, obj->data will be set to NULL.\n\nIf obj->data is already NULL, nothing happens.\n","group":"rawobj"},"git_object_write":{"type":"function","file":"object.h","line":58,"lineto":58,"args":[{"name":"object","type":"git_object *","comment":"Git object to write back"}],"argline":"git_object *object","sig":"git_object *","return":{"type":"int","comment":"0 on success; otherwise an error code"},"description":"Write back an object to disk.","comments":"The object will be written to its corresponding\nrepository.\n\nIf the object has no changes since it was first\nread from the repository, no actions will take place.\n\nIf the object has been modified since it was read from\nthe repository, or it has been created from scratch\nin memory, it will be written to the repository and\nits SHA1 ID will be updated accordingly.\n","group":"object"},"git_object_id":{"type":"function","file":"object.h","line":69,"lineto":69,"args":[{"name":"obj","type":"git_object *","comment":"the repository object"}],"argline":"git_object *obj","sig":"git_object *","return":{"type":"const git_oid *","comment":"the SHA1 id"},"description":"Get the id (SHA1) of a repository object","comments":"In-memory objects created by git_object_new() do not\nhave a SHA1 ID until they are written on a repository.\n","group":"object"},"git_object_type":{"type":"function","file":"object.h","line":77,"lineto":77,"args":[{"name":"obj","type":"git_object *","comment":"the repository object"}],"argline":"git_object *obj","sig":"git_object *","return":{"type":"git_otype","comment":"the object's type"},"description":"Get the object type of an object","comments":"","group":"object"},"git_object_owner":{"type":"function","file":"object.h","line":85,"lineto":85,"args":[{"name":"obj","type":"git_object *","comment":"the object"}],"argline":"git_object *obj","sig":"git_object *","return":{"type":"git_repository *","comment":"the repository who owns this object"},"description":"Get the repository that owns this object","comments":"","group":"object"},"git_object_free":{"type":"function","file":"object.h","line":99,"lineto":99,"args":[{"name":"object","type":"git_object *","comment":"the object to free"}],"argline":"git_object *object","sig":"git_object *","return":{"type":"void"},"description":"Free a reference to one of the objects in the repository.","comments":"Repository objects are managed automatically by the library,\nbut this method can be used to force freeing one of the\nobjects.\n\nCareful: freeing objects in the middle of a repository\ntraversal will most likely cause errors.\n","group":"object"},"git_object_type2string":{"type":"function","file":"object.h","line":110,"lineto":110,"args":[{"name":"type","type":"git_otype","comment":"object type to convert."}],"argline":"git_otype type","sig":"git_otype","return":{"type":"const char *","comment":"the corresponding string representation."},"description":"Convert an object type to it's string representation.","comments":"The result is a pointer to a string in static memory and\nshould not be free()'ed.\n","group":"object"},"git_object_string2type":{"type":"function","file":"object.h","line":118,"lineto":118,"args":[{"name":"str","type":"const char *","comment":"the string to convert."}],"argline":"const char *str","sig":"const char *","return":{"type":"git_otype","comment":"the corresponding git_otype."},"description":"Convert a string object type representation to it's git_otype.","comments":"","group":"object"},"git_object_typeisloose":{"type":"function","file":"object.h","line":127,"lineto":127,"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, false otherwise."},"description":"Determine if the given git_otype is a valid loose object type.","comments":"","group":"object"},"git_object__size":{"type":"function","file":"object.h","line":141,"lineto":141,"args":[{"name":"type","type":"git_otype","comment":"object type to get its size"}],"argline":"git_otype type","sig":"git_otype","return":{"type":"size_t","comment":"size in bytes of the object"},"description":"Get the size in bytes for the structure which\nacts as an in-memory representation of any given\nobject type.","comments":"For all the core types, this would the equivalent\nof calling `sizeof(git_commit)` if the core types\nwere not opaque on the external API.\n","group":"object"},"git_index_open_bare":{"type":"function","file":"index.h","line":87,"lineto":87,"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 on success; error code otherwise"},"description":"Create a new Git index object as a memory representation\nof the Git index file in 'index_path', without a repository\nto back it.","comments":"Since there is no ODB behind this index, any Index methods\nwhich rely on the ODB (e.g. index_add) will fail with the\nGIT_EBAREINDEX error code.\n","group":"index"},"git_index_open_inrepo":{"type":"function","file":"index.h","line":97,"lineto":97,"args":[{"name":"index","type":"git_index **","comment":"_path the path to the index file in disk"},{"name":"repo","type":"git_repository *","comment":"the git repo which owns the index"}],"argline":"git_index **index, git_repository *repo","sig":"git_index **::git_repository *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Open the Index inside the git repository pointed\nby 'repo'.","comments":"","group":"index"},"git_index_clear":{"type":"function","file":"index.h","line":106,"lineto":106,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"void"},"description":"Clear the contents (all the entries) of an index object.\nThis clears the index object in memory; changes must be manually\nwritten to disk for them to take effect.","comments":"","group":"index"},"git_index_free":{"type":"function","file":"index.h","line":113,"lineto":113,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"void"},"description":"Free an existing index object.","comments":"","group":"index"},"git_index_read":{"type":"function","file":"index.h","line":122,"lineto":122,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"int","comment":"0 on success, otherwise an error code"},"description":"Update the contents of an existing index object in memory\nby reading from the hard disk.","comments":"","group":"index"},"git_index_write":{"type":"function","file":"index.h","line":131,"lineto":131,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"int","comment":"0 on success, otherwise an error code"},"description":"Write an existing index object from memory back to disk\nusing an atomic file lock.","comments":"","group":"index"},"git_index_find":{"type":"function","file":"index.h","line":141,"lineto":141,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"},{"name":"path","type":"const char *","comment":"path to search"}],"argline":"git_index *index, const char *path","sig":"git_index *::const char *","return":{"type":"int","comment":"an index >= 0 if found, -1 otherwise"},"description":"Find the first index of any entires which point to given\npath in the Git index.","comments":"","group":"index"},"git_index_add":{"type":"function","file":"index.h","line":151,"lineto":151,"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 on success, otherwise an error code"},"description":"Add or update an index entry from a file in disk.","comments":"","group":"index"},"git_index_remove":{"type":"function","file":"index.h","line":160,"lineto":160,"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 on success, otherwise an error code"},"description":"Remove an entry from the index","comments":"","group":"index"},"git_index_insert":{"type":"function","file":"index.h","line":173,"lineto":173,"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 on success, otherwise an error code"},"description":"Insert an entry into the index.\nA full copy (including the 'path' string) of the given\n'source_entry' will be inserted on the index; if the index\nalready contains an entry for the same path, the entry\nwill be updated.","comments":"","group":"index"},"git_index_get":{"type":"function","file":"index.h","line":185,"lineto":185,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"},{"name":"n","type":"int","comment":"the position of the entry"}],"argline":"git_index *index, int n","sig":"git_index *::int","return":{"type":"git_index_entry *","comment":"a pointer to the entry; NULL if out of bounds"},"description":"Get a pointer to one of the entries in the index","comments":"This entry can be modified, and the changes will be written\nback to disk on the next write() call.\n","group":"index"},"git_index_entrycount":{"type":"function","file":"index.h","line":193,"lineto":193,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"unsigned int","comment":"integer of count of current entries"},"description":"Get the count of entries currently in the index","comments":"","group":"index"},"git_strerror":{"type":"function","file":"errors.h","line":41,"lineto":41,"args":[{"name":"num","type":"int","comment":"The error code to explain"}],"argline":"int num","sig":"int","return":{"type":"const char *","comment":"a string explaining the error code"},"description":"strerror() for the Git library\n@param num The error code to explain\n@return a string explaining the error code","comments":"","group":"errors"},"git_commit_lookup":{"type":"function","file":"commit.h","line":53,"lineto":56,"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 an 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 on success; error code otherwise"},"description":"Lookup a commit object from a repository.\nThe generated commit object is owned by the revision\nrepo and shall not be freed by the user.","comments":"","group":"commit"},"git_commit_new":{"type":"function","file":"commit.h","line":69,"lineto":72,"args":[{"name":"commit","type":"git_commit **","comment":"pointer to the new commit"},{"name":"repo","type":"git_repository *","comment":"The repository where the object will reside"}],"argline":"git_commit **commit, git_repository *repo","sig":"git_commit **::git_repository *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Create a new in-memory git_commit.","comments":"The commit object must be manually filled using\nsetter methods before it can be written to its\nrepository.\n","group":"commit"},"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":"Get the id of a commit.\n@param commit a previously loaded commit.\n@return object identity for the commit.","comments":"","group":"commit"},"git_commit_message_short":{"type":"function","file":"commit.h","line":86,"lineto":86,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"const char *","comment":"the short message of a commit"},"description":"Get the short (one line) message of a commit.\n@param commit a previously loaded commit.\n@return the short message of a commit","comments":"","group":"commit"},"git_commit_message":{"type":"function","file":"commit.h","line":93,"lineto":93,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"const char *","comment":"the message of a commit"},"description":"Get the full message of a commit.\n@param commit a previously loaded commit.\n@return the message of a commit","comments":"","group":"commit"},"git_commit_time":{"type":"function","file":"commit.h","line":100,"lineto":100,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"time_t","comment":"the time of a commit"},"description":"Get the commit time (i.e. committer time) of a commit.\n@param commit a previously loaded commit.\n@return the time of a commit","comments":"","group":"commit"},"git_commit_time_offset":{"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":"int","comment":"positive or negative timezone offset, in minutes from UTC"},"description":"Get the commit timezone offset (i.e. committer's preferred timezone) of a commit.\n@param commit a previously loaded commit.\n@return positive or negative timezone offset, in minutes from UTC","comments":"","group":"commit"},"git_commit_committer":{"type":"function","file":"commit.h","line":114,"lineto":114,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"const git_signature *","comment":"the committer of a commit"},"description":"Get the committer of a commit.\n@param commit a previously loaded commit.\n@return the committer of a commit","comments":"","group":"commit"},"git_commit_author":{"type":"function","file":"commit.h","line":121,"lineto":121,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"const git_signature *","comment":"the author of a commit"},"description":"Get the author of a commit.\n@param commit a previously loaded commit.\n@return the author of a commit","comments":"","group":"commit"},"git_commit_tree":{"type":"function","file":"commit.h","line":128,"lineto":128,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"const git_tree *","comment":"the tree of a commit"},"description":"Get the tree pointed to by a commit.\n@param commit a previously loaded commit.\n@return the tree of a commit","comments":"","group":"commit"},"git_commit_parentcount":{"type":"function","file":"commit.h","line":136,"lineto":136,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"unsigned int","comment":"integer of count of parents"},"description":"Get the number of parents of this commit","comments":"","group":"commit"},"git_commit_parent":{"type":"function","file":"commit.h","line":144,"lineto":144,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."},{"name":"n","type":"unsigned int","comment":"the position of the entry"}],"argline":"git_commit *commit, unsigned int n","sig":"git_commit *::unsigned int","return":{"type":"git_commit *","comment":"a pointer to the commit; NULL if out of bounds"},"description":"Get the specified parent of the commit.\n@param commit a previously loaded commit.\n@param n the position of the entry\n@return a pointer to the commit; NULL if out of bounds","comments":"","group":"commit"},"git_commit_add_parent":{"type":"function","file":"commit.h","line":152,"lineto":152,"args":[{"name":"commit","type":"git_commit *","comment":"the commit object"},{"name":"new_parent","type":"git_commit *","comment":"the new commit which will be a parent"}],"argline":"git_commit *commit, git_commit *new_parent","sig":"git_commit *::git_commit *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Add a new parent commit to an existing commit\n@param commit the commit object\n@param new_parent the new commit which will be a parent\n@return 0 on success; error code otherwise","comments":"","group":"commit"},"git_commit_set_message":{"type":"function","file":"commit.h","line":159,"lineto":159,"args":[{"name":"commit","type":"git_commit *","comment":"the commit object"},{"name":"message","type":"const char *","comment":"the new message"}],"argline":"git_commit *commit, const char *message","sig":"git_commit *::const char *","return":{"type":"void"},"description":"Set the message of a commit\n@param commit the commit object\n@param message the new message","comments":"","group":"commit"},"git_commit_set_committer":{"type":"function","file":"commit.h","line":166,"lineto":166,"args":[{"name":"commit","type":"git_commit *","comment":"the commit object"},{"name":"committer_sig","type":"const git_signature *"}],"argline":"git_commit *commit, const git_signature *committer_sig","sig":"git_commit *::const git_signature *","return":{"type":"void"},"description":"Set the committer of a commit\n@param commit the commit object\n@param author_sig signature of the committer","comments":"","group":"commit"},"git_commit_set_author":{"type":"function","file":"commit.h","line":173,"lineto":173,"args":[{"name":"commit","type":"git_commit *","comment":"the commit object"},{"name":"author_sig","type":"const git_signature *","comment":"signature of the author"}],"argline":"git_commit *commit, const git_signature *author_sig","sig":"git_commit *::const git_signature *","return":{"type":"void"},"description":"Set the author of a commit\n@param commit the commit object\n@param author_sig signature of the author","comments":"","group":"commit"},"git_commit_set_tree":{"type":"function","file":"commit.h","line":180,"lineto":180,"args":[{"name":"commit","type":"git_commit *","comment":"the commit object"},{"name":"tree","type":"git_tree *","comment":"the new tree"}],"argline":"git_commit *commit, git_tree *tree","sig":"git_commit *::git_tree *","return":{"type":"void"},"description":"Set the tree which is pointed to by a commit\n@param commit the commit object\n@param tree the new tree","comments":"","group":"commit"},"git_blob_lookup":{"type":"function","file":"blob.h","line":52,"lineto":55,"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 on success; error code otherwise"},"description":"Lookup a blob object from a repository.\nThe generated blob object is owned by the revision\nrepo and shall not be freed by the user.","comments":"","group":"blob"},"git_blob_new":{"type":"function","file":"blob.h","line":68,"lineto":71,"args":[{"name":"blob","type":"git_blob **","comment":"pointer to the new blob"},{"name":"repo","type":"git_repository *","comment":"The repository where the object will reside"}],"argline":"git_blob **blob, git_repository *repo","sig":"git_blob **::git_repository *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Create a new in-memory git_blob.","comments":"The blob object must be manually filled using\nthe 'set_rawcontent' methods before it can\nbe written back to disk.\n","group":"blob"},"git_blob_set_rawcontent_fromfile":{"type":"function","file":"blob.h","line":81,"lineto":81,"args":[{"name":"blob","type":"git_blob *","comment":"pointer to the new blob"},{"name":"filename","type":"const char *","comment":"name of the file to read"}],"argline":"git_blob *blob, const char *filename","sig":"git_blob *::const char *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Fill a blob with the contents inside\nthe pointed file.","comments":"","group":"blob"},"git_blob_set_rawcontent":{"type":"function","file":"blob.h","line":92,"lineto":92,"args":[{"name":"blob","type":"git_blob *","comment":"pointer to the blob"},{"name":"buffer","type":"const void *","comment":"buffer with the contents for the blob"},{"name":"len","type":"size_t","comment":"size of the buffer"}],"argline":"git_blob *blob, const void *buffer, size_t len","sig":"git_blob *::const void *::size_t","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Fill a blob with the contents inside\nthe pointed buffer","comments":"","group":"blob"},"git_blob_rawcontent":{"type":"function","file":"blob.h","line":105,"lineto":105,"args":[{"name":"blob","type":"git_blob *","comment":"pointer to the blob"}],"argline":"git_blob *blob","sig":"git_blob *","return":{"type":"const char *","comment":"the pointer; NULL if the blob has no contents"},"description":"Get a read-only buffer with the raw content of a blob.","comments":"A pointer to the raw content of a blob is returned;\nthis pointer is owned internally by the object and shall\nnot be free'd. The pointer may be invalidated at a later\ntime (e.g. when changing the contents of the blob).\n","group":"blob"},"git_blob_rawsize":{"type":"function","file":"blob.h","line":113,"lineto":113,"args":[{"name":"blob","type":"git_blob *","comment":"pointer to the blob"}],"argline":"git_blob *blob","sig":"git_blob *","return":{"type":"int","comment":"size on bytes"},"description":"Get the size in bytes of the contents of a blob","comments":"","group":"blob"},"git_blob_writefile":{"type":"function","file":"blob.h","line":124,"lineto":124,"args":[{"name":"written_id","type":"git_oid *","comment":"return the id of the written blob"},{"name":"repo","type":"git_repository *","comment":"repository where the blob will be written"},{"name":"path","type":"const char *","comment":"file from which the blob will be created"}],"argline":"git_oid *written_id, git_repository *repo, const char *path","sig":"git_oid *::git_repository *::const char *","return":{"type":"int"},"description":"Read a file from the working folder of a repository\nand write it to the Object Database as a loose blob,\nif such doesn't exist yet.","comments":"","group":"blob"}},"globals":{"GIT_SORT_NONE":{"value":"(0)","file":"revwalk.h","line":46,"comments":"Sort the repository contents in no particular ordering;\nthis sorting is arbitrary, implementation-specific\nand subject to change at any time.\nThis is the default sorting for new walkers."},"GIT_SORT_TOPOLOGICAL":{"value":"(1 << 0)","file":"revwalk.h","line":53,"comments":"Sort the repository contents in topological order\n(parents before children); this sorting mode\ncan be combined with time sorting."},"GIT_SORT_TIME":{"value":"(1 << 1)","file":"revwalk.h","line":60,"comments":"Sort the repository contents by commit time;\nthis sorting mode can be combined with\ntopological sorting."},"GIT_SORT_REVERSE":{"value":"(1 << 2)","file":"revwalk.h","line":67,"comments":"Iterate through the repository contents in reverse\norder; this sorting mode can be combined with\nany of the above."},"GIT_OID_RAWSZ":{"value":"20","file":"oid.h","line":41,"comments":"Size (in bytes) of a raw/binary oid"},"GIT_OID_HEXSZ":{"value":"(GIT_OID_RAWSZ * 2)","file":"oid.h","line":44,"comments":"Size (in bytes) of a hex formatted oid"},"GIT_BEGIN_DECL":{"value":"","file":"common.h","line":36,"comments":"Start declarations in C mode"},"GIT_END_DECL":{"value":"","file":"common.h","line":38,"comments":"End declarations in C mode"},"GIT_EXTERN(type)":{"value":"extern __attribute__((visibility(\"default\"))) type","file":"common.h","line":42,"comments":"Declare a public function exported for application use."},"GIT_EXTERN_TLS(type)":{"value":"extern __attribute__((visibility(\"default\"))) GIT_TLS type","file":"common.h","line":53,"comments":"Declare a public TLS symbol exported for application use."},"GIT_INLINE(type)":{"value":"static __inline type","file":"common.h","line":65,"comments":"Declare a function as always inlined."},"GIT_FORMAT_PRINTF(a,b)":{"value":"__attribute__((format (printf, a, b)))","file":"common.h","line":72,"comments":"Declare a function's takes printf style arguments."},"GIT_SUCCESS":{"value":"0","file":"common.h","line":87,"comments":"Operation completed successfully."},"GIT_ERROR":{"value":"-1","file":"common.h","line":95,"comments":"Operation failed, with unspecified reason.\nThis value also serves as the base error code; all other\nerror codes are subtracted from it such that all errors\nare < 0, in typical POSIX C tradition."},"GIT_ENOTOID":{"value":"(GIT_ERROR - 1)","file":"common.h","line":98,"comments":"Input was not a properly formatted Git object id."},"GIT_ENOTFOUND":{"value":"(GIT_ERROR - 2)","file":"common.h","line":101,"comments":"Input does not exist in the scope searched."},"GIT_ENOMEM":{"value":"(GIT_ERROR - 3)","file":"common.h","line":104,"comments":"Not enough space available."},"GIT_EOSERR":{"value":"(GIT_ERROR - 4)","file":"common.h","line":107,"comments":"Consult the OS error information."},"GIT_EOBJTYPE":{"value":"(GIT_ERROR - 5)","file":"common.h","line":110,"comments":"The specified object is of invalid type"},"GIT_EOBJCORRUPTED":{"value":"(GIT_ERROR - 6)","file":"common.h","line":113,"comments":"The specified object has its data corrupted"},"GIT_ENOTAREPO":{"value":"(GIT_ERROR - 7)","file":"common.h","line":116,"comments":"The specified repository is invalid"},"GIT_EINVALIDTYPE":{"value":"(GIT_ERROR - 8)","file":"common.h","line":119,"comments":"The object type is invalid or doesn't match"},"GIT_EMISSINGOBJDATA":{"value":"(GIT_ERROR - 9)","file":"common.h","line":122,"comments":"The object cannot be written that because it's missing internal data"},"GIT_EPACKCORRUPTED":{"value":"(GIT_ERROR - 10)","file":"common.h","line":125,"comments":"The packfile for the ODB is corrupted"},"GIT_EFLOCKFAIL":{"value":"(GIT_ERROR - 11)","file":"common.h","line":128,"comments":"Failed to adquire or release a file lock"},"GIT_EZLIB":{"value":"(GIT_ERROR - 12)","file":"common.h","line":131,"comments":"The Z library failed to inflate/deflate an object's data"},"GIT_EBUSY":{"value":"(GIT_ERROR - 13)","file":"common.h","line":134,"comments":"The queried object is currently busy"},"GIT_EBAREINDEX":{"value":"(GIT_ERROR - 14)","file":"common.h","line":137,"comments":"The index file is not backed up by an existing repository"},"GIT_EINVALIDREFNAME":{"value":"(GIT_ERROR - 15)","file":"common.h","line":140,"comments":"The name of the reference is not valid"},"GIT_EREFCORRUPTED":{"value":"(GIT_ERROR - 16)","file":"common.h","line":143,"comments":"The specified reference has its data corrupted"},"GIT_ETOONESTEDSYMREF":{"value":"(GIT_ERROR - 17)","file":"common.h","line":146,"comments":"The specified symbolic reference is too deeply nested"},"GIT_EPACKEDREFSCORRUPTED":{"value":"(GIT_ERROR - 18)","file":"common.h","line":149,"comments":"The pack-refs file is either corrupted of its format is not currently supported"},"GIT_EINVALIDPATH":{"value":"(GIT_ERROR - 19)","file":"common.h","line":152,"comments":"The path is invalid"},"GIT_EREVWALKOVER":{"value":"(GIT_ERROR - 20)","file":"common.h","line":155,"comments":"The revision walker is empty; there are no more commits left to iterate"}},"types":[["git_blob",{"type":"struct","value":"git_blob","file":"types.h","line":111,"lineto":111,"block":"","tdef":"typedef","comments":"In-memory representation of a blob object.","used":{"returns":[],"needs":["git_blob_lookup","git_blob_new","git_blob_rawcontent","git_blob_rawsize","git_blob_set_rawcontent","git_blob_set_rawcontent_fromfile"]}}],["git_commit",{"type":"struct","value":"git_commit","file":"types.h","line":114,"lineto":114,"block":"","tdef":"typedef","comments":"Parsed representation of a commit object.","used":{"returns":["git_commit_parent"],"needs":["git_commit_add_parent","git_commit_author","git_commit_committer","git_commit_id","git_commit_lookup","git_commit_message","git_commit_message_short","git_commit_new","git_commit_parent","git_commit_parentcount","git_commit_set_author","git_commit_set_committer","git_commit_set_message","git_commit_set_tree","git_commit_time","git_commit_time_offset","git_commit_tree","git_revwalk_hide","git_revwalk_next","git_revwalk_push"]}}],["git_index",{"type":"struct","value":"git_index","file":"types.h","line":123,"lineto":123,"block":"","tdef":"typedef","comments":"Memory representation of an index file.","used":{"returns":[],"needs":["git_index_add","git_index_clear","git_index_entrycount","git_index_find","git_index_free","git_index_get","git_index_insert","git_index_open_bare","git_index_open_inrepo","git_index_read","git_index_remove","git_index_write","git_repository_index"]}}],["git_index_entry",{"type":"struct","value":"git_index_entry","file":"index.h","line":54,"lineto":71,"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","comments":"Memory representation of a file entry in the index.","used":{"returns":["git_index_get"],"needs":["git_index_insert"]}}],["git_index_time",{"type":"struct","value":"git_index_time","file":"index.h","line":47,"lineto":51,"block":"git_time_t seconds\nunsigned int nanoseconds","tdef":"typedef","comments":"Time used in a git index entry","used":{"returns":[],"needs":[]}}],["git_object",{"type":"struct","value":"git_object","file":"types.h","line":102,"lineto":102,"block":"","tdef":"typedef","comments":"Representation of a generic object in a repository","used":{"returns":["git_tag_target"],"needs":["git_object_free","git_object_id","git_object_owner","git_object_type","git_object_write","git_repository_lookup","git_repository_newobject","git_tag_set_target","git_tree_entry_2object"]}}],["git_odb",{"type":"struct","value":"git_odb","file":"types.h","line":90,"lineto":90,"block":"","tdef":"typedef","comments":"An open object database handle.","used":{"returns":["git_repository_database"],"needs":["git_odb_add_backend","git_odb_close","git_odb_exists","git_odb_new","git_odb_open","git_odb_read","git_odb_read_header","git_odb_write","git_repository_open3"]}}],["git_odb_backend",{"type":"struct","value":"git_odb_backend","file":"odb_backend.h","line":42,"lineto":78,"block":"git_odb *odb\nint priority\nint (* read)(git_rawobj *, struct git_odb_backend *, const git_oid *)\nint (* read_header)(git_rawobj *, struct git_odb_backend *, const git_oid *)\nint (* write)(git_oid *id, struct git_odb_backend *, git_rawobj *obj)\nint (* exists)(struct git_odb_backend *, const git_oid *)\nvoid (* free)(struct git_odb_backend *)","tdef":null,"comments":"An instance for a custom backend","used":{"returns":[],"needs":["git_odb_add_backend"]}}],["git_oid",{"type":"struct","value":"git_oid","file":"oid.h","line":47,"lineto":50,"block":"unsigned char id[GIT_OID_RAWSZ]","tdef":"typedef","comments":"Unique identity of any object (commit, tree, blob, tag).","used":{"returns":["git_commit_id","git_object_id","git_reference_oid","git_tag_id","git_tree_entry_id","git_tree_id"],"needs":["git_blob_lookup","git_blob_writefile","git_commit_lookup","git_odb_exists","git_odb_read","git_odb_read_header","git_odb_write","git_oid_allocfmt","git_oid_cmp","git_oid_cpy","git_oid_fmt","git_oid_mkraw","git_oid_mkstr","git_oid_pathfmt","git_oid_to_string","git_rawobj_hash","git_reference_set_oid","git_repository_lookup","git_tag_lookup","git_tree_add_entry","git_tree_add_entry_unsorted","git_tree_entry_set_id","git_tree_lookup"]}}],["git_otype",{"type":"enum","file":"types.h","line":76,"lineto":87,"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","comments":"Basic type (loose or packed) of any Git object.","used":{"returns":[],"needs":["git_object__size","git_object_type2string","git_object_typeisloose","git_repository_lookup","git_repository_newobject"]}}],["git_rawobj",{"type":"struct","value":"git_rawobj","file":"odb.h","line":91,"lineto":95,"block":"void *data\nsize_t len\ngit_otype type","tdef":"typedef","comments":"An object read from the database.","used":{"returns":[],"needs":["git_odb_read","git_odb_read_header","git_odb_write","git_rawobj_close","git_rawobj_hash"]}}],["git_reference",{"type":"struct","value":"git_reference","file":"types.h","line":139,"lineto":139,"block":"","tdef":"typedef","comments":"In-memory representation of a reference.","used":{"returns":[],"needs":["git_reference_name","git_reference_new","git_reference_oid","git_reference_owner","git_reference_resolve","git_reference_set_name","git_reference_set_oid","git_reference_set_target","git_reference_target","git_reference_type","git_reference_write","git_repository_lookup_ref"]}}],["git_repository",{"type":"struct","value":"git_repository","file":"types.h","line":99,"lineto":99,"block":"","tdef":"typedef","comments":"Representation of an existing git repository,\nincluding all its object contents","used":{"returns":["git_object_owner","git_reference_owner","git_revwalk_repository"],"needs":["git_blob_lookup","git_blob_new","git_blob_writefile","git_commit_lookup","git_commit_new","git_index_open_inrepo","git_reference_new","git_repository_database","git_repository_free","git_repository_index","git_repository_init","git_repository_lookup","git_repository_lookup_ref","git_repository_newobject","git_repository_open","git_repository_open2","git_repository_open3","git_revwalk_new","git_tag_lookup","git_tag_new","git_tree_lookup","git_tree_new"]}}],["git_revwalk",{"type":"struct","value":"git_revwalk","file":"types.h","line":105,"lineto":105,"block":"","tdef":"typedef","comments":"Representation of an in-progress walk through the commits in a repo","used":{"returns":[],"needs":["git_revwalk_free","git_revwalk_hide","git_revwalk_new","git_revwalk_next","git_revwalk_push","git_revwalk_repository","git_revwalk_reset","git_revwalk_sorting"]}}],["git_rtype",{"type":"enum","file":"types.h","line":142,"lineto":146,"block":"GIT_REF_INVALID\nGIT_REF_OID\nGIT_REF_SYMBOLIC","tdef":"typedef","comments":"Basic type of any Git reference.","used":{"returns":[],"needs":[]}}],["git_signature",{"type":"struct","value":"git_signature","file":"types.h","line":132,"lineto":136,"block":"char *name\nchar *email\ngit_time when","tdef":"typedef","comments":"An action signature (e.g. for committers, taggers, etc)","used":{"returns":["git_commit_author","git_commit_committer","git_signature_dup","git_signature_new","git_tag_tagger"],"needs":["git_commit_set_author","git_commit_set_committer","git_signature_dup","git_signature_free","git_tag_set_tagger"]}}],["git_tag",{"type":"struct","value":"git_tag","file":"types.h","line":108,"lineto":108,"block":"","tdef":"typedef","comments":"Parsed representation of a tag object.","used":{"returns":[],"needs":["git_tag_id","git_tag_lookup","git_tag_message","git_tag_name","git_tag_new","git_tag_set_message","git_tag_set_name","git_tag_set_tagger","git_tag_set_target","git_tag_tagger","git_tag_target","git_tag_type"]}}],["git_time",{"type":"struct","value":"git_time","file":"types.h","line":126,"lineto":129,"block":"time_t time\nint offset","tdef":"typedef","comments":"Time in a signature","used":{"returns":[],"needs":[]}}],["git_tree",{"type":"struct","value":"git_tree","file":"types.h","line":120,"lineto":120,"block":"","tdef":"typedef","comments":"Representation of a tree object.","used":{"returns":["git_commit_tree"],"needs":["git_commit_set_tree","git_tree_add_entry","git_tree_add_entry_unsorted","git_tree_clear_entries","git_tree_entry_byindex","git_tree_entry_byname","git_tree_entrycount","git_tree_id","git_tree_lookup","git_tree_new","git_tree_remove_entry_byindex","git_tree_remove_entry_byname","git_tree_sort_entries"]}}],["git_tree_entry",{"type":"struct","value":"git_tree_entry","file":"types.h","line":117,"lineto":117,"block":"","tdef":"typedef","comments":"Representation of each one of the entries in a tree object.","used":{"returns":["git_tree_entry_byindex","git_tree_entry_byname"],"needs":["git_tree_add_entry","git_tree_add_entry_unsorted","git_tree_entry_2object","git_tree_entry_attributes","git_tree_entry_id","git_tree_entry_name","git_tree_entry_set_attributes","git_tree_entry_set_id","git_tree_entry_set_name"]}}]],"prefix":"src/git2","groups":[["blob",["git_blob_lookup","git_blob_new","git_blob_rawcontent","git_blob_rawsize","git_blob_set_rawcontent","git_blob_set_rawcontent_fromfile","git_blob_writefile"]],["commit",["git_commit_add_parent","git_commit_author","git_commit_committer","git_commit_id","git_commit_lookup","git_commit_message","git_commit_message_short","git_commit_new","git_commit_parent","git_commit_parentcount","git_commit_set_author","git_commit_set_committer","git_commit_set_message","git_commit_set_tree","git_commit_time","git_commit_time_offset","git_commit_tree"]],["errors",["git_strerror"]],["index",["git_index_add","git_index_clear","git_index_entrycount","git_index_find","git_index_free","git_index_get","git_index_insert","git_index_open_bare","git_index_open_inrepo","git_index_read","git_index_remove","git_index_write"]],["object",["git_object__size","git_object_free","git_object_id","git_object_owner","git_object_string2type","git_object_type","git_object_type2string","git_object_typeisloose","git_object_write"]],["odb",["git_odb_add_backend","git_odb_close","git_odb_exists","git_odb_new","git_odb_open","git_odb_read","git_odb_read_header","git_odb_write"]],["oid",["git_oid_allocfmt","git_oid_cmp","git_oid_cpy","git_oid_fmt","git_oid_mkraw","git_oid_mkstr","git_oid_pathfmt","git_oid_to_string"]],["rawobj",["git_rawobj_close","git_rawobj_hash"]],["reference",["git_reference_name","git_reference_new","git_reference_oid","git_reference_owner","git_reference_resolve","git_reference_set_name","git_reference_set_oid","git_reference_set_target","git_reference_target","git_reference_type","git_reference_write"]],["repository",["git_repository_database","git_repository_free","git_repository_index","git_repository_init","git_repository_lookup","git_repository_lookup_ref","git_repository_newobject","git_repository_open","git_repository_open2","git_repository_open3"]],["revwalk",["git_revwalk_free","git_revwalk_hide","git_revwalk_new","git_revwalk_next","git_revwalk_push","git_revwalk_repository","git_revwalk_reset","git_revwalk_sorting"]],["signature",["git_signature_dup","git_signature_free","git_signature_new"]],["tag",["git_tag_id","git_tag_lookup","git_tag_message","git_tag_name","git_tag_new","git_tag_set_message","git_tag_set_name","git_tag_set_tagger","git_tag_set_target","git_tag_tagger","git_tag_target","git_tag_type"]],["tree",["git_tree_add_entry","git_tree_add_entry_unsorted","git_tree_clear_entries","git_tree_entry_2object","git_tree_entry_attributes","git_tree_entry_byindex","git_tree_entry_byname","git_tree_entry_id","git_tree_entry_name","git_tree_entry_set_attributes","git_tree_entry_set_id","git_tree_entry_set_name","git_tree_entrycount","git_tree_id","git_tree_lookup","git_tree_new","git_tree_remove_entry_byindex","git_tree_remove_entry_byname","git_tree_sort_entries"]],["zlib",["deflateBound"]]]} \ No newline at end of file
diff --git a/v0.8.0.json b/v0.8.0.json
index ff5625e87..50b23ecce 100644
--- a/v0.8.0.json
+++ b/v0.8.0.json
@@ -1 +1 @@
-{"files":[{"file":"common.h","functions":[],"meta":{"brief":"Git common platform definitions","defgroup":"git_common Git common platform definitions","ingroup":"Git","comments":"\n"},"lines":163},{"file":"signature.h","functions":["git_signature_new","git_signature_dup","git_signature_free"],"meta":{"brief":"Git signature creation","defgroup":"git_signature Git signature creation","ingroup":"Git","comments":"\n"},"lines":70},{"file":"blob.h","functions":["git_blob_lookup","git_blob_new","git_blob_set_rawcontent_fromfile","git_blob_set_rawcontent","git_blob_rawcontent","git_blob_rawsize","git_blob_writefile"],"meta":{"brief":"Git blob load and write routines","defgroup":"git_blob Git blob load and write routines","ingroup":"Git","comments":"\n"},"lines":128},{"file":"index.h","functions":["git_index_open_bare","git_index_open_inrepo","git_index_clear","git_index_free","git_index_read","git_index_write","git_index_find","git_index_add","git_index_remove","git_index_insert","git_index_get","git_index_entrycount"],"meta":{"brief":"Git index parsing and manipulation routines","defgroup":"git_index Git index parsing and manipulation routines","ingroup":"Git","comments":"\n"},"lines":199},{"file":"repository.h","functions":["git_repository_open","git_repository_open2","git_repository_open3","git_repository_database","git_repository_index","git_repository_free","git_repository_init"],"meta":{"brief":"Git repository management routines","defgroup":"git_repository Git repository management routines","ingroup":"Git","comments":"\n"},"lines":183},{"file":"tag.h","functions":["git_tag_lookup","git_tag_new","git_tag_id","git_tag_target","git_tag_type","git_tag_name","git_tag_tagger","git_tag_message","git_tag_set_target","git_tag_set_name","git_tag_set_tagger","git_tag_set_message"],"meta":{"brief":"Git tag parsing routines","defgroup":"git_tag Git tag management","ingroup":"Git","comments":"\n"},"lines":145},{"file":"odb_backend.h","functions":[],"meta":{"brief":"Git custom backend functions","defgroup":"git_backend Git custom backend API","ingroup":"Git","comments":"\n"},"lines":77},{"file":"commit.h","functions":["git_commit_lookup","git_commit_new","git_commit_id","git_commit_message_short","git_commit_message","git_commit_time","git_commit_time_offset","git_commit_committer","git_commit_author","git_commit_tree","git_commit_parentcount","git_commit_parent","git_commit_add_parent","git_commit_set_message","git_commit_set_committer","git_commit_set_author","git_commit_set_tree"],"meta":{"brief":"Git commit parsing, formatting routines","defgroup":"git_commit Git commit parsing, formatting routines","ingroup":"Git","comments":"\n"},"lines":184},{"file":"types.h","functions":[],"meta":{"brief":"libgit2 base & compatibility types","ingroup":"Git","comments":"\n"},"lines":153},{"file":"zlib.h","functions":["deflateBound"],"meta":{"brief":"Git data compression routines","defgroup":"git_zlib Git data compression routines","ingroup":"Git","comments":"\n"},"lines":58},{"file":"tree.h","functions":["git_tree_lookup","git_tree_new","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_2object","git_tree_add_entry","git_tree_remove_entry_byindex","git_tree_remove_entry_byname","git_tree_clear_entries","git_tree_entry_set_id","git_tree_entry_set_name","git_tree_entry_set_attributes"],"meta":{"brief":"Git tree parsing, loading routines","defgroup":"git_tree Git tree parsing, loading routines","ingroup":"Git","comments":"\n"},"lines":222},{"file":"odb.h","functions":["git_odb_new","git_odb_open","git_odb_add_backend","git_odb_add_alternate","git_odb_close","git_odb_read","git_odb_read_header","git_odb_write","git_odb_exists","git_rawobj_hash","git_rawobj_close"],"meta":{"brief":"Git object database routines","defgroup":"git_odb Git object database routines","ingroup":"Git","comments":"\n"},"lines":201},{"file":"thread-utils.h","functions":[],"meta":{},"lines":80},{"file":"oid.h","functions":["git_oid_mkstr","git_oid_mkraw","git_oid_fmt","git_oid_pathfmt","git_oid_allocfmt","git_oid_to_string","git_oid_cpy","git_oid_cmp"],"meta":{"brief":"Git object id routines","defgroup":"git_oid Git object id routines","ingroup":"Git","comments":"\n"},"lines":137},{"file":"errors.h","functions":["git_strerror"],"meta":{"brief":"Git error handling routines and variables","ingroup":"Git","comments":"\n"},"lines":45},{"file":"revwalk.h","functions":["git_revwalk_new","git_revwalk_reset","git_revwalk_push","git_revwalk_hide","git_revwalk_next","git_revwalk_sorting","git_revwalk_free","git_revwalk_repository"],"meta":{"brief":"Git revision traversal routines","defgroup":"git_revwalk Git revision traversal routines","ingroup":"Git","comments":"\n"},"lines":136},{"file":"object.h","functions":["git_object_lookup","git_object_new","git_object_write","git_object_id","git_object_type","git_object_owner","git_object_close","git_object_type2string","git_object_string2type","git_object_typeisloose","git_object__size"],"meta":{"brief":"Git revision object management routines","defgroup":"git_object Git revision object management routines","ingroup":"Git","comments":"\n"},"lines":198},{"file":"refs.h","functions":["git_reference_lookup","git_reference_create_symbolic","git_reference_create_oid","git_reference_oid","git_reference_target","git_reference_type","git_reference_name","git_reference_resolve","git_reference_owner","git_reference_set_target","git_reference_set_oid","git_reference_rename","git_reference_delete","git_reference_packall"],"meta":{"brief":"Git reference management routines","defgroup":"git_reference Git reference management routines","ingroup":"Git","comments":"\n"},"lines":223}],"functions":{"git_signature_new":{"type":"function","file":"signature.h","line":50,"lineto":50,"args":[{"name":"name","type":"const char *"},{"name":"email","type":"const char *"},{"name":"time","type":"time_t"},{"name":"offset","type":"int"}],"argline":"const char *name, const char *email, time_t time, int offset","sig":"const char *::const char *::time_t::int","return":{"type":"git_signature *","comment":"the new sig, NULl on out of memory"},"description":"Create a new action signature. The signature must be freed\nmanually or using git_signature_free","comments":"@name name of the person\n@email email of the person\n@time time when the action happened\n@offset timezone offset in minutes for the time","group":"signature"},"git_signature_dup":{"type":"function","file":"signature.h","line":59,"lineto":59,"args":[{"name":"sig","type":"const git_signature *"}],"argline":"const git_signature *sig","sig":"const git_signature *","return":{"type":"git_signature *","comment":"a copy of sig, NULL on out of memory"},"description":"Create a copy of an existing signature.","comments":"All internal strings are also duplicated.\n@sig signature to duplicated","group":"signature"},"git_signature_free":{"type":"function","file":"signature.h","line":66,"lineto":66,"args":[{"name":"sig","type":"git_signature *"}],"argline":"git_signature *sig","sig":"git_signature *","return":{"type":"void"},"description":"Free an existing signature","comments":"@sig signature to free","group":"signature"},"git_blob_lookup":{"type":"function","file":"blob.h","line":52,"lineto":55,"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 on success; error code otherwise"},"description":"Lookup a blob object from a repository.\nThe generated blob object is owned by the revision\nrepo and shall not be freed by the user.","comments":"","group":"blob"},"git_blob_new":{"type":"function","file":"blob.h","line":68,"lineto":71,"args":[{"name":"blob","type":"git_blob **","comment":"pointer to the new blob"},{"name":"repo","type":"git_repository *","comment":"The repository where the object will reside"}],"argline":"git_blob **blob, git_repository *repo","sig":"git_blob **::git_repository *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Create a new in-memory git_blob.","comments":"The blob object must be manually filled using\nthe 'set_rawcontent' methods before it can\nbe written back to disk.\n","group":"blob"},"git_blob_set_rawcontent_fromfile":{"type":"function","file":"blob.h","line":81,"lineto":81,"args":[{"name":"blob","type":"git_blob *","comment":"pointer to the new blob"},{"name":"filename","type":"const char *","comment":"name of the file to read"}],"argline":"git_blob *blob, const char *filename","sig":"git_blob *::const char *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Fill a blob with the contents inside\nthe pointed file.","comments":"","group":"blob"},"git_blob_set_rawcontent":{"type":"function","file":"blob.h","line":92,"lineto":92,"args":[{"name":"blob","type":"git_blob *","comment":"pointer to the blob"},{"name":"buffer","type":"const void *","comment":"buffer with the contents for the blob"},{"name":"len","type":"size_t","comment":"size of the buffer"}],"argline":"git_blob *blob, const void *buffer, size_t len","sig":"git_blob *::const void *::size_t","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Fill a blob with the contents inside\nthe pointed buffer","comments":"","group":"blob"},"git_blob_rawcontent":{"type":"function","file":"blob.h","line":105,"lineto":105,"args":[{"name":"blob","type":"git_blob *","comment":"pointer to the blob"}],"argline":"git_blob *blob","sig":"git_blob *","return":{"type":"const char *","comment":"the pointer; NULL if the blob has no contents"},"description":"Get a read-only buffer with the raw content of a blob.","comments":"A pointer to the raw content of a blob is returned;\nthis pointer is owned internally by the object and shall\nnot be free'd. The pointer may be invalidated at a later\ntime (e.g. when changing the contents of the blob).\n","group":"blob"},"git_blob_rawsize":{"type":"function","file":"blob.h","line":113,"lineto":113,"args":[{"name":"blob","type":"git_blob *","comment":"pointer to the blob"}],"argline":"git_blob *blob","sig":"git_blob *","return":{"type":"int","comment":"size on bytes"},"description":"Get the size in bytes of the contents of a blob","comments":"","group":"blob"},"git_blob_writefile":{"type":"function","file":"blob.h","line":124,"lineto":124,"args":[{"name":"written_id","type":"git_oid *","comment":"return the id of the written blob"},{"name":"repo","type":"git_repository *","comment":"repository where the blob will be written"},{"name":"path","type":"const char *","comment":"file from which the blob will be created"}],"argline":"git_oid *written_id, git_repository *repo, const char *path","sig":"git_oid *::git_repository *::const char *","return":{"type":"int"},"description":"Read a file from the working folder of a repository\nand write it to the Object Database as a loose blob,\nif such doesn't exist yet.","comments":"","group":"blob"},"git_index_open_bare":{"type":"function","file":"index.h","line":88,"lineto":88,"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 on success; error code otherwise"},"description":"Create a new Git index object as a memory representation\nof the Git index file in 'index_path', without a repository\nto back it.","comments":"Since there is no ODB behind this index, any Index methods\nwhich rely on the ODB (e.g. index_add) will fail with the\nGIT_EBAREINDEX error code.\n","group":"index"},"git_index_open_inrepo":{"type":"function","file":"index.h","line":98,"lineto":98,"args":[{"name":"index","type":"git_index **","comment":"_path the path to the index file in disk"},{"name":"repo","type":"git_repository *","comment":"the git repo which owns the index"}],"argline":"git_index **index, git_repository *repo","sig":"git_index **::git_repository *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Open the Index inside the git repository pointed\nby 'repo'.","comments":"","group":"index"},"git_index_clear":{"type":"function","file":"index.h","line":107,"lineto":107,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"void"},"description":"Clear the contents (all the entries) of an index object.\nThis clears the index object in memory; changes must be manually\nwritten to disk for them to take effect.","comments":"","group":"index"},"git_index_free":{"type":"function","file":"index.h","line":114,"lineto":114,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"void"},"description":"Free an existing index object.","comments":"","group":"index"},"git_index_read":{"type":"function","file":"index.h","line":123,"lineto":123,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"int","comment":"0 on success, otherwise an error code"},"description":"Update the contents of an existing index object in memory\nby reading from the hard disk.","comments":"","group":"index"},"git_index_write":{"type":"function","file":"index.h","line":132,"lineto":132,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"int","comment":"0 on success, otherwise an error code"},"description":"Write an existing index object from memory back to disk\nusing an atomic file lock.","comments":"","group":"index"},"git_index_find":{"type":"function","file":"index.h","line":142,"lineto":142,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"},{"name":"path","type":"const char *","comment":"path to search"}],"argline":"git_index *index, const char *path","sig":"git_index *::const char *","return":{"type":"int","comment":"an index >= 0 if found, -1 otherwise"},"description":"Find the first index of any entires which point to given\npath in the Git index.","comments":"","group":"index"},"git_index_add":{"type":"function","file":"index.h","line":152,"lineto":152,"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 on success, otherwise an error code"},"description":"Add or update an index entry from a file in disk.","comments":"","group":"index"},"git_index_remove":{"type":"function","file":"index.h","line":161,"lineto":161,"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 on success, otherwise an error code"},"description":"Remove an entry from the index","comments":"","group":"index"},"git_index_insert":{"type":"function","file":"index.h","line":174,"lineto":174,"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 on success, otherwise an error code"},"description":"Insert an entry into the index.\nA full copy (including the 'path' string) of the given\n'source_entry' will be inserted on the index; if the index\nalready contains an entry for the same path, the entry\nwill be updated.","comments":"","group":"index"},"git_index_get":{"type":"function","file":"index.h","line":186,"lineto":186,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"},{"name":"n","type":"int","comment":"the position of the entry"}],"argline":"git_index *index, int n","sig":"git_index *::int","return":{"type":"git_index_entry *","comment":"a pointer to the entry; NULL if out of bounds"},"description":"Get a pointer to one of the entries in the index","comments":"This entry can be modified, and the changes will be written\nback to disk on the next write() call.\n","group":"index"},"git_index_entrycount":{"type":"function","file":"index.h","line":194,"lineto":194,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"unsigned int","comment":"integer of count of current entries"},"description":"Get the count of entries currently in the index","comments":"","group":"index"},"git_repository_open":{"type":"function","file":"repository.h","line":64,"lineto":64,"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 on success; error code otherwise"},"description":"Open a git repository.","comments":"The 'path' argument must point to an existing git repository\nfolder, e.g.\n\n\t/path/to/my_repo/.git/\t(normal repository)\n\t\t\t\t\t\tobjects/\n\t\t\t\t\t\tindex\n\t\t\t\t\t\tHEAD\n\n\t/path/to/bare_repo/\t\t(bare repository)\n\t\t\t\t\tobjects/\n\t\t\t\t\tindex\n\t\t\t\t\tHEAD\n\nThe method will automatically detect if 'path' is a normal\nor bare repository or fail is 'path' is neither.\n","group":"repository"},"git_repository_open2":{"type":"function","file":"repository.h","line":93,"lineto":97,"args":[{"name":"repository","type":"git_repository **","comment":"pointer to the repo which will be opened"},{"name":"git_dir","type":"const char *","comment":"The full path to the repository folder e.g. a '.git' folder for live repos, any folder for bare Equivalent to $GIT_DIR. Cannot be NULL."},{"name":"git_object_directory","type":"const char *","comment":"The full path to the ODB folder. the folder where all the loose and packed objects are stored Equivalent to $GIT_OBJECT_DIRECTORY. If NULL, \"$GIT_DIR/objects/\" is assumed."},{"name":"git_index_file","type":"const char *","comment":"The full path to the index (dircache) file Equivalent to $GIT_INDEX_FILE. If NULL, \"$GIT_DIR/index\" is assumed."},{"name":"git_work_tree","type":"const char *","comment":"The full path to the working tree of the repository, if the repository is not bare. Equivalent to $GIT_WORK_TREE. If NULL, the repository is assumed to be bare."}],"argline":"git_repository **repository,\n\t\tconst char *git_dir,\n\t\tconst char *git_object_directory,\n\t\tconst char *git_index_file,\n\t\tconst char *git_work_tree","sig":"git_repository **::const char *::const char *::const char *::const char *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Open a git repository by manually specifying all its paths","comments":"","group":"repository"},"git_repository_open3":{"type":"function","file":"repository.h","line":128,"lineto":132,"args":[{"name":"repository","type":"git_repository **","comment":"pointer to the repo which will be opened"},{"name":"git_dir","type":"const char *","comment":"The full path to the repository folder e.g. a '.git' folder for live repos, any folder for bare Equivalent to $GIT_DIR. Cannot be NULL."},{"name":"object_database","type":"git_odb *","comment":"A pointer to a git_odb created & initialized by the user (e.g. with custom backends). This object database will be owned by the repository and will be automatically free'd. It should not be manually free'd by the user, or this git_repository object will become invalid."},{"name":"git_index_file","type":"const char *","comment":"The full path to the index (dircache) file Equivalent to $GIT_INDEX_FILE. If NULL, \"$GIT_DIR/index\" is assumed."},{"name":"git_work_tree","type":"const char *","comment":"The full path to the working tree of the repository, if the repository is not bare. Equivalent to $GIT_WORK_TREE. If NULL, the repository is assumed to be bare."}],"argline":"git_repository **repository,\n\t\tconst char *git_dir,\n\t\tgit_odb *object_database,\n\t\tconst char *git_index_file,\n\t\tconst char *git_work_tree","sig":"git_repository **::const char *::git_odb *::const char *::const char *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Open a git repository by manually specifying its paths and\nthe object database it will use.","comments":"","group":"repository"},"git_repository_database":{"type":"function","file":"repository.h","line":141,"lineto":141,"args":[{"name":"repo","type":"git_repository *","comment":"a repository object"}],"argline":"git_repository *repo","sig":"git_repository *","return":{"type":"git_odb *","comment":"a pointer to the object db"},"description":"Get the object database behind a Git repository","comments":"","group":"repository"},"git_repository_index":{"type":"function","file":"repository.h","line":153,"lineto":153,"args":[{"name":"index","type":"git_index **","comment":"Pointer where to store the index"},{"name":"repo","type":"git_repository *","comment":"a repository object"}],"argline":"git_index **index, git_repository *repo","sig":"git_index **::git_repository *","return":{"type":"int","comment":"0 on success; error code if the index could not be opened"},"description":"Get the Index file of a Git repository","comments":"This is a cheap operation; the index is only opened on the first call,\nand subsequent calls only retrieve the previous pointer.\n","group":"repository"},"git_repository_free":{"type":"function","file":"repository.h","line":159,"lineto":162,"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"},"description":"Free a previously allocated repository\n@param repo repository handle to close. If NULL nothing occurs.","comments":"","group":"repository"},"git_repository_init":{"type":"function","file":"repository.h","line":179,"lineto":179,"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","comment":"if true, a Git repository without a working directory is created at the pointed path. If false, provided path will be considered as the working directory into which the .git directory will be created."}],"argline":"git_repository **repo_out, const char *path, unsigned is_bare","sig":"git_repository **::const char *::unsigned","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Creates a new Git repository in the given folder.","comments":"TODO:\n- Reinit the repository\n- Create config files\n","group":"repository"},"git_tag_lookup":{"type":"function","file":"tag.h","line":52,"lineto":55,"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 on success; error code otherwise"},"description":"Lookup a tag object from the repository.\nThe generated tag object is owned by the revision\nrepo and shall not be freed by the user.","comments":"","group":"tag"},"git_tag_new":{"type":"function","file":"tag.h","line":68,"lineto":71,"args":[{"name":"tag","type":"git_tag **","comment":"pointer to the new tag"},{"name":"repo","type":"git_repository *","comment":"The repository where the object will reside"}],"argline":"git_tag **tag, git_repository *repo","sig":"git_tag **::git_repository *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Create a new in-memory git_tag.","comments":"The tag object must be manually filled using\nsetter methods before it can be written to its\nrepository.\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":"Get the id of a tag.\n@param tag a previously loaded tag.\n@return object identity for the tag.","comments":"","group":"tag"},"git_tag_target":{"type":"function","file":"tag.h","line":85,"lineto":85,"args":[{"name":"t","type":"git_tag *","comment":"ag a previously loaded tag."}],"argline":"git_tag *t","sig":"git_tag *","return":{"type":"const git_object *","comment":"reference to a repository object"},"description":"Get the tagged object of a tag\n@param tag a previously loaded tag.\n@return reference to a repository object","comments":"","group":"tag"},"git_tag_type":{"type":"function","file":"tag.h","line":92,"lineto":92,"args":[{"name":"t","type":"git_tag *","comment":"ag a previously loaded tag."}],"argline":"git_tag *t","sig":"git_tag *","return":{"type":"git_otype","comment":"type of the tagged object"},"description":"Get the type of a tag's tagged object\n@param tag a previously loaded tag.\n@return type of the tagged object","comments":"","group":"tag"},"git_tag_name":{"type":"function","file":"tag.h","line":99,"lineto":99,"args":[{"name":"t","type":"git_tag *","comment":"ag a previously loaded tag."}],"argline":"git_tag *t","sig":"git_tag *","return":{"type":"const char *","comment":"name of the tag"},"description":"Get the name of a tag\n@param tag a previously loaded tag.\n@return name of the tag","comments":"","group":"tag"},"git_tag_tagger":{"type":"function","file":"tag.h","line":106,"lineto":106,"args":[{"name":"t","type":"git_tag *","comment":"ag a previously loaded tag."}],"argline":"git_tag *t","sig":"git_tag *","return":{"type":"const git_signature *","comment":"reference to the tag's author"},"description":"Get the tagger (author) of a tag\n@param tag a previously loaded tag.\n@return reference to the tag's author","comments":"","group":"tag"},"git_tag_message":{"type":"function","file":"tag.h","line":113,"lineto":113,"args":[{"name":"t","type":"git_tag *","comment":"ag a previously loaded tag."}],"argline":"git_tag *t","sig":"git_tag *","return":{"type":"const char *","comment":"message of the tag"},"description":"Get the message of a tag\n@param tag a previously loaded tag.\n@return message of the tag","comments":"","group":"tag"},"git_tag_set_target":{"type":"function","file":"tag.h","line":120,"lineto":120,"args":[{"name":"tag","type":"git_tag *","comment":"The tag to modify"},{"name":"target","type":"git_object *","comment":"the new tagged target"}],"argline":"git_tag *tag, git_object *target","sig":"git_tag *::git_object *","return":{"type":"void"},"description":"Set the target of a tag (i.e. the object that the tag points to)\n@param tag The tag to modify\n@param target the new tagged target","comments":"","group":"tag"},"git_tag_set_name":{"type":"function","file":"tag.h","line":127,"lineto":127,"args":[{"name":"tag","type":"git_tag *","comment":"The tag to modify"},{"name":"name","type":"const char *","comment":"the new name for the tag"}],"argline":"git_tag *tag, const char *name","sig":"git_tag *::const char *","return":{"type":"void"},"description":"Set the name of a tag\n@param tag The tag to modify\n@param name the new name for the tag","comments":"","group":"tag"},"git_tag_set_tagger":{"type":"function","file":"tag.h","line":134,"lineto":134,"args":[{"name":"tag","type":"git_tag *","comment":"The tag to modify"},{"name":"tagger_sig","type":"const git_signature *","comment":"signature of the tagging action"}],"argline":"git_tag *tag, const git_signature *tagger_sig","sig":"git_tag *::const git_signature *","return":{"type":"void"},"description":"Set the tagger of a tag\n@param tag The tag to modify\n@param tagger_sig signature of the tagging action","comments":"","group":"tag"},"git_tag_set_message":{"type":"function","file":"tag.h","line":141,"lineto":141,"args":[{"name":"tag","type":"git_tag *","comment":"The tag to modify"},{"name":"message","type":"const char *","comment":"the new tagger for the tag"}],"argline":"git_tag *tag, const char *message","sig":"git_tag *::const char *","return":{"type":"void"},"description":"Set the message of a tag\n@param tag The tag to modify\n@param message the new tagger for the tag","comments":"","group":"tag"},"git_commit_lookup":{"type":"function","file":"commit.h","line":53,"lineto":56,"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 an 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 on success; error code otherwise"},"description":"Lookup a commit object from a repository.\nThe generated commit object is owned by the revision\nrepo and shall not be freed by the user.","comments":"","group":"commit"},"git_commit_new":{"type":"function","file":"commit.h","line":69,"lineto":72,"args":[{"name":"commit","type":"git_commit **","comment":"pointer to the new commit"},{"name":"repo","type":"git_repository *","comment":"The repository where the object will reside"}],"argline":"git_commit **commit, git_repository *repo","sig":"git_commit **::git_repository *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Create a new in-memory git_commit.","comments":"The commit object must be manually filled using\nsetter methods before it can be written to its\nrepository.\n","group":"commit"},"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":"Get the id of a commit.\n@param commit a previously loaded commit.\n@return object identity for the commit.","comments":"","group":"commit"},"git_commit_message_short":{"type":"function","file":"commit.h","line":86,"lineto":86,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"const char *","comment":"the short message of a commit"},"description":"Get the short (one line) message of a commit.\n@param commit a previously loaded commit.\n@return the short message of a commit","comments":"","group":"commit"},"git_commit_message":{"type":"function","file":"commit.h","line":93,"lineto":93,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"const char *","comment":"the message of a commit"},"description":"Get the full message of a commit.\n@param commit a previously loaded commit.\n@return the message of a commit","comments":"","group":"commit"},"git_commit_time":{"type":"function","file":"commit.h","line":100,"lineto":100,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"time_t","comment":"the time of a commit"},"description":"Get the commit time (i.e. committer time) of a commit.\n@param commit a previously loaded commit.\n@return the time of a commit","comments":"","group":"commit"},"git_commit_time_offset":{"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":"int","comment":"positive or negative timezone offset, in minutes from UTC"},"description":"Get the commit timezone offset (i.e. committer's preferred timezone) of a commit.\n@param commit a previously loaded commit.\n@return positive or negative timezone offset, in minutes from UTC","comments":"","group":"commit"},"git_commit_committer":{"type":"function","file":"commit.h","line":114,"lineto":114,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"const git_signature *","comment":"the committer of a commit"},"description":"Get the committer of a commit.\n@param commit a previously loaded commit.\n@return the committer of a commit","comments":"","group":"commit"},"git_commit_author":{"type":"function","file":"commit.h","line":121,"lineto":121,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"const git_signature *","comment":"the author of a commit"},"description":"Get the author of a commit.\n@param commit a previously loaded commit.\n@return the author of a commit","comments":"","group":"commit"},"git_commit_tree":{"type":"function","file":"commit.h","line":128,"lineto":128,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"const git_tree *","comment":"the tree of a commit"},"description":"Get the tree pointed to by a commit.\n@param commit a previously loaded commit.\n@return the tree of a commit","comments":"","group":"commit"},"git_commit_parentcount":{"type":"function","file":"commit.h","line":136,"lineto":136,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"unsigned int","comment":"integer of count of parents"},"description":"Get the number of parents of this commit","comments":"","group":"commit"},"git_commit_parent":{"type":"function","file":"commit.h","line":144,"lineto":144,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."},{"name":"n","type":"unsigned int","comment":"the position of the entry"}],"argline":"git_commit *commit, unsigned int n","sig":"git_commit *::unsigned int","return":{"type":"git_commit *","comment":"a pointer to the commit; NULL if out of bounds"},"description":"Get the specified parent of the commit.\n@param commit a previously loaded commit.\n@param n the position of the entry\n@return a pointer to the commit; NULL if out of bounds","comments":"","group":"commit"},"git_commit_add_parent":{"type":"function","file":"commit.h","line":152,"lineto":152,"args":[{"name":"commit","type":"git_commit *","comment":"the commit object"},{"name":"new_parent","type":"git_commit *","comment":"the new commit which will be a parent"}],"argline":"git_commit *commit, git_commit *new_parent","sig":"git_commit *::git_commit *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Add a new parent commit to an existing commit\n@param commit the commit object\n@param new_parent the new commit which will be a parent\n@return 0 on success; error code otherwise","comments":"","group":"commit"},"git_commit_set_message":{"type":"function","file":"commit.h","line":159,"lineto":159,"args":[{"name":"commit","type":"git_commit *","comment":"the commit object"},{"name":"message","type":"const char *","comment":"the new message"}],"argline":"git_commit *commit, const char *message","sig":"git_commit *::const char *","return":{"type":"void"},"description":"Set the message of a commit\n@param commit the commit object\n@param message the new message","comments":"","group":"commit"},"git_commit_set_committer":{"type":"function","file":"commit.h","line":166,"lineto":166,"args":[{"name":"commit","type":"git_commit *","comment":"the commit object"},{"name":"committer_sig","type":"const git_signature *"}],"argline":"git_commit *commit, const git_signature *committer_sig","sig":"git_commit *::const git_signature *","return":{"type":"void"},"description":"Set the committer of a commit\n@param commit the commit object\n@param author_sig signature of the committer","comments":"","group":"commit"},"git_commit_set_author":{"type":"function","file":"commit.h","line":173,"lineto":173,"args":[{"name":"commit","type":"git_commit *","comment":"the commit object"},{"name":"author_sig","type":"const git_signature *","comment":"signature of the author"}],"argline":"git_commit *commit, const git_signature *author_sig","sig":"git_commit *::const git_signature *","return":{"type":"void"},"description":"Set the author of a commit\n@param commit the commit object\n@param author_sig signature of the author","comments":"","group":"commit"},"git_commit_set_tree":{"type":"function","file":"commit.h","line":180,"lineto":180,"args":[{"name":"commit","type":"git_commit *","comment":"the commit object"},{"name":"tree","type":"git_tree *","comment":"the new tree"}],"argline":"git_commit *commit, git_tree *tree","sig":"git_commit *::git_tree *","return":{"type":"void"},"description":"Set the tree which is pointed to by a commit\n@param commit the commit object\n@param tree the new tree","comments":"","group":"commit"},"deflateBound":{"type":"function","file":"zlib.h","line":50,"lineto":54,"args":[{"name":"stream","type":"z_streamp","comment":"the stream pointer."},{"name":"s","type":"size_t","comment":"tream the stream pointer."}],"argline":"z_streamp stream, size_t s","sig":"z_streamp::size_t","return":{"type":"size_t","comment":"maximum length of the compressed data."},"description":"deflateBound returns an upper bound on the compressed size.","comments":"This is a stub function used when zlib does not supply the\ndeflateBound() implementation itself.\n","group":"zlib"},"git_tree_lookup":{"type":"function","file":"tree.h","line":52,"lineto":55,"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 on success; error code otherwise"},"description":"Lookup a tree object from the repository.\nThe generated tree object is owned by the revision\nrepo and shall not be freed by the user.","comments":"","group":"tree"},"git_tree_new":{"type":"function","file":"tree.h","line":68,"lineto":71,"args":[{"name":"tree","type":"git_tree **","comment":"pointer to the new tree"},{"name":"repo","type":"git_repository *","comment":"The repository where the object will reside"}],"argline":"git_tree **tree, git_repository *repo","sig":"git_tree **::git_repository *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Create a new in-memory git_tree.","comments":"The tree object must be manually filled using\nsetter methods before it can be written to its\nrepository.\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":"Get the id of a tree.\n@param tree a previously loaded tree.\n@return object identity for the tree.","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":"size_t","comment":"the number of entries in the tree"},"description":"Get the number of entries listed in a tree\n@param tree a previously loaded tree.\n@return the number of entries in the tree","comments":"","group":"tree"},"git_tree_entry_byname":{"type":"function","file":"tree.h","line":94,"lineto":94,"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":"git_tree_entry *","comment":"the tree entry; NULL if not found"},"description":"Lookup a tree entry by its filename\n@param tree a previously loaded tree.\n@param filename the filename of the desired entry\n@return the tree entry; NULL if not found","comments":"","group":"tree"},"git_tree_entry_byindex":{"type":"function","file":"tree.h","line":102,"lineto":102,"args":[{"name":"tree","type":"git_tree *","comment":"a previously loaded tree."},{"name":"idx","type":"int","comment":"the position in the entry list"}],"argline":"git_tree *tree, int idx","sig":"git_tree *::int","return":{"type":"git_tree_entry *","comment":"the tree entry; NULL if not found"},"description":"Lookup a tree entry by its position in the tree\n@param tree a previously loaded tree.\n@param idx the position in the entry list\n@return the tree entry; NULL if not found","comments":"","group":"tree"},"git_tree_entry_attributes":{"type":"function","file":"tree.h","line":109,"lineto":109,"args":[{"name":"entry","type":"git_tree_entry *","comment":"a tree entry"}],"argline":"git_tree_entry *entry","sig":"git_tree_entry *","return":{"type":"unsigned int","comment":"attributes as an integer"},"description":"Get the UNIX file attributes of a tree entry\n@param entry a tree entry\n@return attributes as an integer","comments":"","group":"tree"},"git_tree_entry_name":{"type":"function","file":"tree.h","line":116,"lineto":116,"args":[{"name":"entry","type":"git_tree_entry *","comment":"a tree entry"}],"argline":"git_tree_entry *entry","sig":"git_tree_entry *","return":{"type":"const char *","comment":"the name of the file"},"description":"Get the filename of a tree entry\n@param entry a tree entry\n@return the name of the file","comments":"","group":"tree"},"git_tree_entry_id":{"type":"function","file":"tree.h","line":123,"lineto":123,"args":[{"name":"entry","type":"git_tree_entry *","comment":"a tree entry"}],"argline":"git_tree_entry *entry","sig":"git_tree_entry *","return":{"type":"const git_oid *","comment":"the oid of the object"},"description":"Get the id of the object pointed by the entry\n@param entry a tree entry\n@return the oid of the object","comments":"","group":"tree"},"git_tree_entry_2object":{"type":"function","file":"tree.h","line":132,"lineto":132,"args":[{"name":"object","type":"git_object **","comment":"pointer to the converted object"},{"name":"entry","type":"git_tree_entry *","comment":"a tree entry"}],"argline":"git_object **object, git_tree_entry *entry","sig":"git_object **::git_tree_entry *","return":{"type":"int","comment":"a reference to the pointed object in the repository"},"description":"Convert a tree entry to the git_object it points too.","comments":"","group":"tree"},"git_tree_add_entry":{"type":"function","file":"tree.h","line":149,"lineto":149,"args":[{"name":"entry_out","type":"git_tree_entry **","comment":"Pointer to the entry that just got created. May be NULL if you are not interested on getting the new entry"},{"name":"tree","type":"git_tree *","comment":"Tree object to store the entry @iparam id OID for the tree entry"},{"name":"id","type":"const git_oid *"},{"name":"filename","type":"const char *","comment":"Filename for the tree entry"},{"name":"attributes","type":"int","comment":"UNIX file attributes for the entry"}],"argline":"git_tree_entry **entry_out, git_tree *tree, const git_oid *id, const char *filename, int attributes","sig":"git_tree_entry **::git_tree *::const git_oid *::const char *::int","return":{"type":"int","comment":"0 on success; otherwise error code"},"description":"Add a new entry to a tree and return the new entry.","comments":"This will mark the tree as modified; the new entry will\nbe written back to disk on the next git_object_write()\n","group":"tree"},"git_tree_remove_entry_byindex":{"type":"function","file":"tree.h","line":163,"lineto":163,"args":[{"name":"tree","type":"git_tree *","comment":"Tree where to remove the entry"},{"name":"idx","type":"int","comment":"index of the entry"}],"argline":"git_tree *tree, int idx","sig":"git_tree *::int","return":{"type":"int","comment":"0 on successful removal; GIT_ENOTFOUND if the entry wasn't found"},"description":"Remove an entry by its index.","comments":"Index must be >= 0 and < than git_tree_entrycount().\n\nThis will mark the tree as modified; the modified entry will\nbe written back to disk on the next git_object_write()\n","group":"tree"},"git_tree_remove_entry_byname":{"type":"function","file":"tree.h","line":175,"lineto":175,"args":[{"name":"tree","type":"git_tree *","comment":"Tree where to remove the entry"},{"name":"filename","type":"const char *","comment":"File name of the entry"}],"argline":"git_tree *tree, const char *filename","sig":"git_tree *::const char *","return":{"type":"int","comment":"0 on successful removal; GIT_ENOTFOUND if the entry wasn't found"},"description":"Remove an entry by its filename.","comments":"This will mark the tree as modified; the modified entry will\nbe written back to disk on the next git_object_write()\n","group":"tree"},"git_tree_clear_entries":{"type":"function","file":"tree.h","line":185,"lineto":185,"args":[{"name":"tree","type":"git_tree *","comment":"Tree object whose entries are to be sorted"}],"argline":"git_tree *tree","sig":"git_tree *","return":{"type":"void"},"description":"Clear all the entries in a tree.","comments":"This will mark the tree as modified; the modified entry will\nbe written back to disk on the next git_object_write().\n","group":"tree"},"git_tree_entry_set_id":{"type":"function","file":"tree.h","line":196,"lineto":196,"args":[{"name":"entry","type":"git_tree_entry *","comment":"Entry object which will be modified"},{"name":"oid","type":"const git_oid *","comment":"new SHA1 oid for the entry"}],"argline":"git_tree_entry *entry, const git_oid *oid","sig":"git_tree_entry *::const git_oid *","return":{"type":"void"},"description":"Change the SHA1 id of a tree entry.","comments":"This will mark the tree that contains the entry as modified;\nthe modified entry will be written back to disk on the next git_object_write()\n","group":"tree"},"git_tree_entry_set_name":{"type":"function","file":"tree.h","line":207,"lineto":207,"args":[{"name":"entry","type":"git_tree_entry *","comment":"Entry object which will be modified"},{"name":"name","type":"const char *"}],"argline":"git_tree_entry *entry, const char *name","sig":"git_tree_entry *::const char *","return":{"type":"void"},"description":"Change the filename of a tree entry.","comments":"This will mark the tree that contains the entry as modified;\nthe modified entry will be written back to disk on the next git_object_write()\n","group":"tree"},"git_tree_entry_set_attributes":{"type":"function","file":"tree.h","line":218,"lineto":218,"args":[{"name":"entry","type":"git_tree_entry *","comment":"Entry object which will be modified"},{"name":"attr","type":"int"}],"argline":"git_tree_entry *entry, int attr","sig":"git_tree_entry *::int","return":{"type":"void"},"description":"Change the attributes of a tree entry.","comments":"This will mark the tree that contains the entry as modified;\nthe modified entry will be written back to disk on the next git_object_write()\n","group":"tree"},"git_odb_new":{"type":"function","file":"odb.h","line":52,"lineto":52,"args":[{"name":"out","type":"git_odb **","comment":"location to store the database pointer, if opened. Set to NULL if the open failed."}],"argline":"git_odb **out","sig":"git_odb **","return":{"type":"int","comment":"GIT_SUCCESS if the database was created; otherwise an error code describing why the open was not possible."},"description":"Create a new object database with no backends.","comments":"Before the ODB can be used for read/writing, a custom database\nbackend must be manually added using `git_odb_add_backend()`\n","group":"odb"},"git_odb_open":{"type":"function","file":"odb.h","line":71,"lineto":71,"args":[{"name":"out","type":"git_odb **","comment":"location to store the database pointer, if opened. Set to NULL if the open failed."},{"name":"objects_dir","type":"const char *","comment":"path of the backends' \"objects\" directory."}],"argline":"git_odb **out, const char *objects_dir","sig":"git_odb **::const char *","return":{"type":"int","comment":"GIT_SUCCESS if the database opened; otherwise an error code describing why the open was not possible."},"description":"Create a new object database and automatically add\nthe two default backends:","comments":"- git_odb_backend_loose: read and write loose object files\n\tfrom disk, assuming `objects_dir` as the Objects folder\n\n- git_odb_backend_pack: read objects from packfiles,\n\tassuming `objects_dir` as the Objects folder which\n\tcontains a 'pack/' folder with the corresponding data\n","group":"odb"},"git_odb_add_backend":{"type":"function","file":"odb.h","line":82,"lineto":82,"args":[{"name":"odb","type":"git_odb *","comment":"database to add the backend to"},{"name":"backend","type":"git_odb_backend *"},{"name":"priority","type":"int"}],"argline":"git_odb *odb, git_odb_backend *backend, int priority","sig":"git_odb *::git_odb_backend *::int","return":{"type":"int","comment":"0 on sucess; error code otherwise"},"description":"Add a custom backend to an existing Object DB","comments":"Read <odb_backends.h> for more information.\n","group":"odb"},"git_odb_add_alternate":{"type":"function","file":"odb.h","line":99,"lineto":99,"args":[{"name":"odb","type":"git_odb *","comment":"database to add the backend to"},{"name":"backend","type":"git_odb_backend *"},{"name":"priority","type":"int"}],"argline":"git_odb *odb, git_odb_backend *backend, int priority","sig":"git_odb *::git_odb_backend *::int","return":{"type":"int","comment":"0 on sucess; error code otherwise"},"description":"Add a custom backend to an existing Object DB; this\nbackend will work as an alternate.","comments":"Alternate backends are always checked for objects *after*\nall the main backends have been exhausted.\n\nWriting is disabled on alternate backends.\n\nRead <odb_backends.h> for more information.\n","group":"odb"},"git_odb_close":{"type":"function","file":"odb.h","line":105,"lineto":105,"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"},"description":"Close an open object database.\n@param db database pointer to close. If NULL no action is taken.","comments":"","group":"odb"},"git_odb_read":{"type":"function","file":"odb.h","line":126,"lineto":126,"args":[{"name":"out","type":"git_rawobj *","comment":"object descriptor to populate upon reading."},{"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_rawobj *out, git_odb *db, const git_oid *id","sig":"git_rawobj *::git_odb *::const git_oid *","return":{"type":"int","comment":"- GIT_SUCCESS if the object was read; - GIT_ENOTFOUND if the object is not in the database."},"description":"Read an object from the database.","comments":"If GIT_ENOTFOUND then out->data is set to NULL.\n","group":"odb"},"git_odb_read_header":{"type":"function","file":"odb.h","line":145,"lineto":145,"args":[{"name":"out","type":"git_rawobj *","comment":"object descriptor to populate upon reading."},{"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_rawobj *out, git_odb *db, const git_oid *id","sig":"git_rawobj *::git_odb *::const git_oid *","return":{"type":"int","comment":"- GIT_SUCCESS if the object was read; - GIT_ENOTFOUND if the object is not in the database."},"description":"Read the header of an object from the database, without\nreading its full contents.","comments":"Only the 'type' and 'len' fields of the git_rawobj structure\nare filled. The 'data' pointer will always be NULL.\n\nThe raw object pointed by 'out' doesn't need to be manually\nclosed with git_rawobj_close().\n","group":"odb"},"git_odb_write":{"type":"function","file":"odb.h","line":157,"lineto":157,"args":[{"name":"id","type":"git_oid *","comment":"identity of the object written."},{"name":"db","type":"git_odb *","comment":"database to which the object should be written."},{"name":"obj","type":"git_rawobj *","comment":"object descriptor for the object to write."}],"argline":"git_oid *id, git_odb *db, git_rawobj *obj","sig":"git_oid *::git_odb *::git_rawobj *","return":{"type":"int","comment":"- GIT_SUCCESS if the object was written; - GIT_ERROR otherwise."},"description":"Write an object to the database.","comments":"","group":"odb"},"git_odb_exists":{"type":"function","file":"odb.h","line":168,"lineto":168,"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":"- true, if the object was found - false, otherwise"},"description":"Determine if the given object can be found in the object database.","comments":"","group":"odb"},"git_rawobj_hash":{"type":"function","file":"odb.h","line":186,"lineto":186,"args":[{"name":"id","type":"git_oid *","comment":"the resulting object-ID."},{"name":"obj","type":"git_rawobj *","comment":"the object whose hash is to be determined."}],"argline":"git_oid *id, git_rawobj *obj","sig":"git_oid *::git_rawobj *","return":{"type":"int","comment":"- GIT_SUCCESS if the object-ID was correctly determined. - GIT_ERROR if the given object is malformed."},"description":"Determine the object-ID (sha1 hash) of the given git_rawobj.","comments":"The input obj must be a valid loose object type and the data\npointer must not be NULL, unless the len field is also zero.\n","group":"rawobj"},"git_rawobj_close":{"type":"function","file":"odb.h","line":197,"lineto":197,"args":[{"name":"obj","type":"git_rawobj *","comment":"object descriptor to free."}],"argline":"git_rawobj *obj","sig":"git_rawobj *","return":{"type":"void"},"description":"Release all memory used by the obj structure.","comments":"As a result of this call, obj->data will be set to NULL.\n\nIf obj->data is already NULL, nothing happens.\n","group":"rawobj"},"git_oid_mkstr":{"type":"function","file":"oid.h","line":60,"lineto":60,"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 the hex sequence and have at least the number of bytes needed for an oid encoded in hex (40 bytes)."}],"argline":"git_oid *out, const char *str","sig":"git_oid *::const char *","return":{"type":"int","comment":"GIT_SUCCESS if valid; GIT_ENOTOID on failure."},"description":"Parse a hex formatted object id into a git_oid.\n@param out oid structure the result is written into.\n@param str input hex string; must be pointing at the start of\n the hex sequence and have at least the number of bytes\n needed for an oid encoded in hex (40 bytes).\n@return GIT_SUCCESS if valid; GIT_ENOTOID on failure.","comments":"","group":"oid"},"git_oid_mkraw":{"type":"function","file":"oid.h","line":67,"lineto":67,"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"},"description":"Copy an already raw oid into a git_oid structure.\n@param out oid structure the result is written into.\n@param raw the raw input bytes to be copied.","comments":"","group":"oid"},"git_oid_fmt":{"type":"function","file":"oid.h","line":78,"lineto":78,"args":[{"name":"str","type":"char *","comment":"output hex string; must be pointing at the start of the hex sequence and have at least the number of bytes needed for an oid encoded in hex (40 bytes). Only the oid digits are written; a '\\\\0' terminator must be added by 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"},"description":"Format a git_oid into a hex string.\n@param str output hex string; must be pointing at the start of\n the hex sequence and have at least the number of bytes\n needed for an oid encoded in hex (40 bytes). Only the\n oid digits are written; a '\\\\0' terminator must be added\n by the caller if it is required.\n@param oid oid structure to format.","comments":"","group":"oid"},"git_oid_pathfmt":{"type":"function","file":"oid.h","line":93,"lineto":93,"args":[{"name":"str","type":"char *","comment":"output hex string; must be pointing at the start of the hex sequence and have at least the number of bytes needed for an oid encoded in hex (41 bytes). Only the oid digits are written; a '\\\\0' terminator must be added by 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"},"description":"Format a git_oid into a loose-object path string.\n<p>\nThe resulting string is \"aa/...\", where \"aa\" is the first two\nhex digitis of the oid and \"...\" is the remaining 38 digits.","comments":"","group":"oid"},"git_oid_allocfmt":{"type":"function","file":"oid.h","line":101,"lineto":101,"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 deallocate the string with free()."},"description":"Format a gid_oid into a newly allocated c-string.\n@param oid the oid structure to format\n@return the c-string; NULL if memory is exhausted. Caller must\n deallocate the string with free().","comments":"","group":"oid"},"git_oid_to_string":{"type":"function","file":"oid.h","line":118,"lineto":118,"args":[{"name":"out","type":"char *","comment":"the buffer into which the oid string is output."},{"name":"n","type":"size_t","comment":"the size of the out buffer."},{"name":"oid","type":"const git_oid *","comment":"the oid structure to format."}],"argline":"char *out, size_t n, const git_oid *oid","sig":"char *::size_t::const git_oid *","return":{"type":"char *","comment":"the out buffer pointer, assuming no input parameter errors, otherwise a pointer to an empty string."},"description":"Format a git_oid into a buffer as a hex format c-string.\n<p>\nIf the buffer is smaller than GIT_OID_HEXSZ+1, then the resulting\noid c-string will be truncated to n-1 characters. If there are\nany input parameter errors (out == NULL, n == 0, oid == NULL),\nthen a pointer to an empty string is returned, so that the return\nvalue can always be printed.","comments":"","group":"oid"},"git_oid_cpy":{"type":"function","file":"oid.h","line":125,"lineto":125,"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"},"description":"Copy an oid from one structure to another.\n@param out oid structure the result is written into.\n@param src oid structure to copy from.","comments":"","group":"oid"},"git_oid_cmp":{"type":"function","file":"oid.h","line":133,"lineto":133,"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":"<0, 0, >0 if a < b, a == b, a > b."},"description":"Compare two oid structures.\n@param a first oid structure.\n@param b second oid structure.\n@return <0, 0, >0 if a < b, a == b, a > b.","comments":"","group":"oid"},"git_strerror":{"type":"function","file":"errors.h","line":41,"lineto":41,"args":[{"name":"num","type":"int","comment":"The error code to explain"}],"argline":"int num","sig":"int","return":{"type":"const char *","comment":"a string explaining the error code"},"description":"strerror() for the Git library\n@param num The error code to explain\n@return a string explaining the error code","comments":"","group":"errors"},"git_revwalk_new":{"type":"function","file":"revwalk.h","line":76,"lineto":76,"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 on success; error code otherwise"},"description":"Allocate a new revision walker to iterate through a repo.","comments":"","group":"revwalk"},"git_revwalk_reset":{"type":"function","file":"revwalk.h","line":82,"lineto":82,"args":[{"name":"walker","type":"git_revwalk *","comment":"handle to reset."}],"argline":"git_revwalk *walker","sig":"git_revwalk *","return":{"type":"void"},"description":"Reset the walking machinery for reuse.\n@param walker handle to reset.","comments":"","group":"revwalk"},"git_revwalk_push":{"type":"function","file":"revwalk.h","line":91,"lineto":91,"args":[{"name":"walk","type":"git_revwalk *","comment":"er the walker being used for the traversal."},{"name":"commit","type":"git_commit *","comment":"the commit to start from."}],"argline":"git_revwalk *walk, git_commit *commit","sig":"git_revwalk *::git_commit *","return":{"type":"int"},"description":"Mark a commit to start traversal from.\nThe commit object must belong to the repo which is being walked through.","comments":"","group":"revwalk"},"git_revwalk_hide":{"type":"function","file":"revwalk.h","line":98,"lineto":98,"args":[{"name":"walk","type":"git_revwalk *","comment":"er the walker being used for the traversal."},{"name":"commit","type":"git_commit *","comment":"the commit that will be ignored during the traversal"}],"argline":"git_revwalk *walk, git_commit *commit","sig":"git_revwalk *::git_commit *","return":{"type":"int"},"description":"Mark a commit (and its ancestors) uninteresting for the output.\n@param walker the walker being used for the traversal.\n@param commit the commit that will be ignored during the traversal","comments":"","group":"revwalk"},"git_revwalk_next":{"type":"function","file":"revwalk.h","line":108,"lineto":108,"args":[{"name":"commit","type":"git_commit **","comment":"Pointer where to store the next commit"},{"name":"walk","type":"git_revwalk *","comment":"the walker to pop the commit from."}],"argline":"git_commit **commit, git_revwalk *walk","sig":"git_commit **::git_revwalk *","return":{"type":"int","comment":"GIT_SUCCESS if the next commit was found; GIT_EREVWALKOVER if there are no commits left to iterate"},"description":"Get the next commit from the revision traversal.","comments":"","group":"revwalk"},"git_revwalk_sorting":{"type":"function","file":"revwalk.h","line":117,"lineto":117,"args":[{"name":"walk","type":"git_revwalk *","comment":"the walker being used for the traversal."},{"name":"sort_mode","type":"unsigned int","comment":"combination of GIT_RPSORT_XXX flags"}],"argline":"git_revwalk *walk, unsigned int sort_mode","sig":"git_revwalk *::unsigned int","return":{"type":"int"},"description":"Change the sorting mode when iterating through the\nrepository's contents.\nChanging the sorting mode resets the walker.\n@param walk the walker being used for the traversal.\n@param sort_mode combination of GIT_RPSORT_XXX flags","comments":"","group":"revwalk"},"git_revwalk_free":{"type":"function","file":"revwalk.h","line":123,"lineto":123,"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"},"description":"Free a revwalk previously allocated.\n@param walk traversal handle to close. If NULL nothing occurs.","comments":"","group":"revwalk"},"git_revwalk_repository":{"type":"function","file":"revwalk.h","line":132,"lineto":132,"args":[{"name":"walk","type":"git_revwalk *","comment":"the revision walker"}],"argline":"git_revwalk *walk","sig":"git_revwalk *","return":{"type":"git_repository *","comment":"the repository being walked"},"description":"Return the repository on which this walker\nis operating.","comments":"","group":"revwalk"},"git_object_lookup":{"type":"function","file":"object.h","line":58,"lineto":58,"args":[{"name":"object","type":"git_object **","comment":"pointer to the looked-up object"},{"name":"repo","type":"git_repository *","comment":"the repository to look up the object"},{"name":"id","type":"const git_oid *","comment":"the unique identifier for the object"},{"name":"type","type":"git_otype","comment":"the type of the object"}],"argline":"git_object **object, git_repository *repo, const git_oid *id, git_otype type","sig":"git_object **::git_repository *::const git_oid *::git_otype","return":{"type":"int","comment":"a reference to the object"},"description":"Lookup a reference to one of the objects in a repostory.","comments":"The generated reference is owned by the repository and\nshould not be freed by the user.\n\nThe 'type' parameter must match the type of the object\nin the odb; the method will fail otherwise.\nThe special value 'GIT_OBJ_ANY' may be passed to let\nthe method guess the object's type.\n","group":"object"},"git_object_new":{"type":"function","file":"object.h","line":81,"lineto":81,"args":[{"name":"object","type":"git_object **","comment":"pointer to the new object @parem repo Repository where the object belongs"},{"name":"repo","type":"git_repository *"},{"name":"type","type":"git_otype","comment":"Type of the object to be created"}],"argline":"git_object **object, git_repository *repo, git_otype type","sig":"git_object **::git_repository *::git_otype","return":{"type":"int","comment":"the new object"},"description":"Create a new in-memory repository object with\nthe given type.","comments":"The object's attributes can be filled in using the\ncorresponding setter methods.\n\nThe object will be written back to given git_repository\nwhen the git_object_write() function is called; objects\ncannot be written to disk until all their main\nattributes have been properly filled.\n\nObjects are instantiated with no SHA1 id; their id\nwill be automatically generated when writing to the\nrepository.\n","group":"object"},"git_object_write":{"type":"function","file":"object.h","line":101,"lineto":101,"args":[{"name":"object","type":"git_object *","comment":"Git object to write back"}],"argline":"git_object *object","sig":"git_object *","return":{"type":"int","comment":"0 on success; otherwise an error code"},"description":"Write back an object to disk.","comments":"The object will be written to its corresponding\nrepository.\n\nIf the object has no changes since it was first\nread from the repository, no actions will take place.\n\nIf the object has been modified since it was read from\nthe repository, or it has been created from scratch\nin memory, it will be written to the repository and\nits SHA1 ID will be updated accordingly.\n","group":"object"},"git_object_id":{"type":"function","file":"object.h","line":112,"lineto":112,"args":[{"name":"obj","type":"const git_object *","comment":"the repository object"}],"argline":"const git_object *obj","sig":"const git_object *","return":{"type":"const git_oid *","comment":"the SHA1 id"},"description":"Get the id (SHA1) of a repository object","comments":"In-memory objects created by git_object_new() do not\nhave a SHA1 ID until they are written on a repository.\n","group":"object"},"git_object_type":{"type":"function","file":"object.h","line":120,"lineto":120,"args":[{"name":"obj","type":"const git_object *","comment":"the repository object"}],"argline":"const git_object *obj","sig":"const git_object *","return":{"type":"git_otype","comment":"the object's type"},"description":"Get the object type of an object","comments":"","group":"object"},"git_object_owner":{"type":"function","file":"object.h","line":128,"lineto":128,"args":[{"name":"obj","type":"const git_object *","comment":"the object"}],"argline":"const git_object *obj","sig":"const git_object *","return":{"type":"git_repository *","comment":"the repository who owns this object"},"description":"Get the repository that owns this object","comments":"","group":"object"},"git_object_close":{"type":"function","file":"object.h","line":151,"lineto":151,"args":[{"name":"object","type":"git_object *","comment":"the object to close"}],"argline":"git_object *object","sig":"git_object *","return":{"type":"void"},"description":"Close an open object","comments":"This method instructs the library to close an existing\nobject; note that git_objects are owned by the repository\nand are reference counted, so the object may or may not be\nfreed after this library call, depending on whether any other \nobjects still depend on it.\n\nIMPORTANT:\nIt is *not* necessary to call this method when you stop using\nan object, since all object memory is automatically reclaimed\nby the repository when it is freed.\n\nForgetting to call `git_object_close` does not cause memory\nleaks, but it's is recommended to close as soon as possible\nthe biggest objects (e.g. blobs) to prevent wasting memory\nspace.\n","group":"object"},"git_object_type2string":{"type":"function","file":"object.h","line":162,"lineto":162,"args":[{"name":"type","type":"git_otype","comment":"object type to convert."}],"argline":"git_otype type","sig":"git_otype","return":{"type":"const char *","comment":"the corresponding string representation."},"description":"Convert an object type to it's string representation.","comments":"The result is a pointer to a string in static memory and\nshould not be free()'ed.\n","group":"object"},"git_object_string2type":{"type":"function","file":"object.h","line":170,"lineto":170,"args":[{"name":"str","type":"const char *","comment":"the string to convert."}],"argline":"const char *str","sig":"const char *","return":{"type":"git_otype","comment":"the corresponding git_otype."},"description":"Convert a string object type representation to it's git_otype.","comments":"","group":"object"},"git_object_typeisloose":{"type":"function","file":"object.h","line":179,"lineto":179,"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, false otherwise."},"description":"Determine if the given git_otype is a valid loose object type.","comments":"","group":"object"},"git_object__size":{"type":"function","file":"object.h","line":193,"lineto":193,"args":[{"name":"type","type":"git_otype","comment":"object type to get its size"}],"argline":"git_otype type","sig":"git_otype","return":{"type":"size_t","comment":"size in bytes of the object"},"description":"Get the size in bytes for the structure which\nacts as an in-memory representation of any given\nobject type.","comments":"For all the core types, this would the equivalent\nof calling `sizeof(git_commit)` if the core types\nwere not opaque on the external API.\n","group":"object"},"git_reference_lookup":{"type":"function","file":"refs.h","line":52,"lineto":52,"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 on success; error code otherwise"},"description":"Lookup a reference by its name in a repository.","comments":"The generated reference is owned by the repository and\nshould not be freed by the user.\n","group":"reference"},"git_reference_create_symbolic":{"type":"function","file":"refs.h","line":69,"lineto":69,"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"}],"argline":"git_reference **ref_out, git_repository *repo, const char *name, const char *target","sig":"git_reference **::git_repository *::const char *::const char *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Create a new symbolic reference.","comments":"The reference will be created in the repository and written\nto the disk.\n\nThis reference is owned by the repository and shall not\nbe free'd by the user.\n","group":"reference"},"git_reference_create_oid":{"type":"function","file":"refs.h","line":86,"lineto":86,"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."}],"argline":"git_reference **ref_out, git_repository *repo, const char *name, const git_oid *id","sig":"git_reference **::git_repository *::const char *::const git_oid *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Create a new object id reference.","comments":"The reference will be created in the repository and written\nto the disk.\n\nThis reference is owned by the repository and shall not\nbe free'd by the user.\n","group":"reference"},"git_reference_oid":{"type":"function","file":"refs.h","line":96,"lineto":96,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"const git_oid *","comment":"a pointer to the oid if available, NULL otherwise"},"description":"Get the OID pointed to by a reference.","comments":"Only available if the reference is direct (i.e. not symbolic)\n","group":"reference"},"git_reference_target":{"type":"function","file":"refs.h","line":106,"lineto":106,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"const char *","comment":"a pointer to the name if available, NULL otherwise"},"description":"Get full name to the reference pointed by this reference","comments":"Only available if the reference is symbolic\n","group":"reference"},"git_reference_type":{"type":"function","file":"refs.h","line":116,"lineto":116,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"git_rtype","comment":"the type"},"description":"Get the type of a reference","comments":"Either direct (GIT_REF_OID) or symbolic (GIT_REF_SYMBOLIC)\n","group":"reference"},"git_reference_name":{"type":"function","file":"refs.h","line":124,"lineto":124,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"const char *","comment":"the full name for the ref"},"description":"Get the full name of a reference","comments":"","group":"reference"},"git_reference_resolve":{"type":"function","file":"refs.h","line":139,"lineto":139,"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 on success; error code otherwise"},"description":"Resolve a symbolic reference","comments":"Thie method iteratively peels a symbolic reference\nuntil it resolves to a direct reference to an OID.\n\nIf a direct reference is passed as an argument,\nthat reference is returned immediately\n","group":"reference"},"git_reference_owner":{"type":"function","file":"refs.h","line":147,"lineto":147,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"git_repository *","comment":"a pointer to the repo"},"description":"Get the repository where a reference resides","comments":"","group":"reference"},"git_reference_set_target":{"type":"function","file":"refs.h","line":162,"lineto":162,"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 on success; error code otherwise"},"description":"Set the symbolic target of a reference.","comments":"The reference must be a symbolic reference, otherwise\nthis method will fail.\n\nThe reference will be automatically updated in\nmemory and on disk.\n","group":"reference"},"git_reference_set_oid":{"type":"function","file":"refs.h","line":177,"lineto":177,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"},{"name":"id","type":"const git_oid *"}],"argline":"git_reference *ref, const git_oid *id","sig":"git_reference *::const git_oid *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Set the OID target of a reference.","comments":"The reference must be a direct reference, otherwise\nthis method will fail.\n\nThe reference will be automatically updated in\nmemory and on disk.\n","group":"reference"},"git_reference_rename":{"type":"function","file":"refs.h","line":190,"lineto":190,"args":[{"name":"ref","type":"git_reference *"},{"name":"new_name","type":"const char *"}],"argline":"git_reference *ref, const char *new_name","sig":"git_reference *::const char *","return":{"type":"int"},"description":"Rename an existing reference","comments":"This method works for both direct and symbolic references.\nThe new name will be checked for validity and may be\nmodified into a normalized form.\n\nThe refernece will be immediately renamed in-memory\nand on disk.","group":"reference"},"git_reference_delete":{"type":"function","file":"refs.h","line":201,"lineto":201,"args":[{"name":"ref","type":"git_reference *"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"int"},"description":"Delete an existing reference","comments":"This method works for both direct and symbolic references.\n\nThe reference will be immediately removed on disk and from\nmemory. The given reference pointer will no longer be valid.","group":"reference"},"git_reference_packall":{"type":"function","file":"refs.h","line":219,"lineto":219,"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 on success; error code otherwise"},"description":"Pack all the loose references in the repository","comments":"This method will load into the cache all the loose\nreferences on the repository and update the \n`packed-refs` file with them.\n\nOnce the `packed-refs` file has been written properly,\nthe loose references will be removed from disk.\n\nWARNING: calling this method may invalidate any existing\nreferences previously loaded on the cache.\n","group":"reference"}},"globals":{"GIT_BEGIN_DECL":{"value":"","file":"common.h","line":36,"comments":"Start declarations in C mode"},"GIT_END_DECL":{"value":"","file":"common.h","line":38,"comments":"End declarations in C mode"},"GIT_EXTERN(type)":{"value":"extern __attribute__((visibility(\"default\"))) type","file":"common.h","line":42,"comments":"Declare a public function exported for application use."},"GIT_EXTERN_TLS(type)":{"value":"extern __attribute__((visibility(\"default\"))) GIT_TLS type","file":"common.h","line":53,"comments":"Declare a public TLS symbol exported for application use."},"GIT_INLINE(type)":{"value":"static __inline type","file":"common.h","line":65,"comments":"Declare a function as always inlined."},"GIT_FORMAT_PRINTF(a,b)":{"value":"__attribute__((format (printf, a, b)))","file":"common.h","line":72,"comments":"Declare a function's takes printf style arguments."},"GIT_SUCCESS":{"value":"0","file":"common.h","line":87,"comments":"Operation completed successfully."},"GIT_ERROR":{"value":"-1","file":"common.h","line":95,"comments":"Operation failed, with unspecified reason.\nThis value also serves as the base error code; all other\nerror codes are subtracted from it such that all errors\nare < 0, in typical POSIX C tradition."},"GIT_ENOTOID":{"value":"(GIT_ERROR - 1)","file":"common.h","line":98,"comments":"Input was not a properly formatted Git object id."},"GIT_ENOTFOUND":{"value":"(GIT_ERROR - 2)","file":"common.h","line":101,"comments":"Input does not exist in the scope searched."},"GIT_ENOMEM":{"value":"(GIT_ERROR - 3)","file":"common.h","line":104,"comments":"Not enough space available."},"GIT_EOSERR":{"value":"(GIT_ERROR - 4)","file":"common.h","line":107,"comments":"Consult the OS error information."},"GIT_EOBJTYPE":{"value":"(GIT_ERROR - 5)","file":"common.h","line":110,"comments":"The specified object is of invalid type"},"GIT_EOBJCORRUPTED":{"value":"(GIT_ERROR - 6)","file":"common.h","line":113,"comments":"The specified object has its data corrupted"},"GIT_ENOTAREPO":{"value":"(GIT_ERROR - 7)","file":"common.h","line":116,"comments":"The specified repository is invalid"},"GIT_EINVALIDTYPE":{"value":"(GIT_ERROR - 8)","file":"common.h","line":119,"comments":"The object type is invalid or doesn't match"},"GIT_EMISSINGOBJDATA":{"value":"(GIT_ERROR - 9)","file":"common.h","line":122,"comments":"The object cannot be written that because it's missing internal data"},"GIT_EPACKCORRUPTED":{"value":"(GIT_ERROR - 10)","file":"common.h","line":125,"comments":"The packfile for the ODB is corrupted"},"GIT_EFLOCKFAIL":{"value":"(GIT_ERROR - 11)","file":"common.h","line":128,"comments":"Failed to adquire or release a file lock"},"GIT_EZLIB":{"value":"(GIT_ERROR - 12)","file":"common.h","line":131,"comments":"The Z library failed to inflate/deflate an object's data"},"GIT_EBUSY":{"value":"(GIT_ERROR - 13)","file":"common.h","line":134,"comments":"The queried object is currently busy"},"GIT_EBAREINDEX":{"value":"(GIT_ERROR - 14)","file":"common.h","line":137,"comments":"The index file is not backed up by an existing repository"},"GIT_EINVALIDREFNAME":{"value":"(GIT_ERROR - 15)","file":"common.h","line":140,"comments":"The name of the reference is not valid"},"GIT_EREFCORRUPTED":{"value":"(GIT_ERROR - 16)","file":"common.h","line":143,"comments":"The specified reference has its data corrupted"},"GIT_ETOONESTEDSYMREF":{"value":"(GIT_ERROR - 17)","file":"common.h","line":146,"comments":"The specified symbolic reference is too deeply nested"},"GIT_EPACKEDREFSCORRUPTED":{"value":"(GIT_ERROR - 18)","file":"common.h","line":149,"comments":"The pack-refs file is either corrupted of its format is not currently supported"},"GIT_EINVALIDPATH":{"value":"(GIT_ERROR - 19)","file":"common.h","line":152,"comments":"The path is invalid"},"GIT_EREVWALKOVER":{"value":"(GIT_ERROR - 20)","file":"common.h","line":155,"comments":"The revision walker is empty; there are no more commits left to iterate"},"GIT_EINVALIDREFSTATE":{"value":"(GIT_ERROR - 21)","file":"common.h","line":158,"comments":"The state of the reference is not valid"},"GIT_OID_RAWSZ":{"value":"20","file":"oid.h","line":41,"comments":"Size (in bytes) of a raw/binary oid"},"GIT_OID_HEXSZ":{"value":"(GIT_OID_RAWSZ * 2)","file":"oid.h","line":44,"comments":"Size (in bytes) of a hex formatted oid"},"GIT_SORT_NONE":{"value":"(0)","file":"revwalk.h","line":46,"comments":"Sort the repository contents in no particular ordering;\nthis sorting is arbitrary, implementation-specific\nand subject to change at any time.\nThis is the default sorting for new walkers."},"GIT_SORT_TOPOLOGICAL":{"value":"(1 << 0)","file":"revwalk.h","line":53,"comments":"Sort the repository contents in topological order\n(parents before children); this sorting mode\ncan be combined with time sorting."},"GIT_SORT_TIME":{"value":"(1 << 1)","file":"revwalk.h","line":60,"comments":"Sort the repository contents by commit time;\nthis sorting mode can be combined with\ntopological sorting."},"GIT_SORT_REVERSE":{"value":"(1 << 2)","file":"revwalk.h","line":67,"comments":"Iterate through the repository contents in reverse\norder; this sorting mode can be combined with\nany of the above."}},"types":[["git_blob",{"type":"struct","value":"git_blob","file":"types.h","line":111,"lineto":111,"block":"","tdef":"typedef","comments":"In-memory representation of a blob object.","used":{"returns":[],"needs":["git_blob_lookup","git_blob_new","git_blob_rawcontent","git_blob_rawsize","git_blob_set_rawcontent","git_blob_set_rawcontent_fromfile"]}}],["git_commit",{"type":"struct","value":"git_commit","file":"types.h","line":114,"lineto":114,"block":"","tdef":"typedef","comments":"Parsed representation of a commit object.","used":{"returns":["git_commit_parent"],"needs":["git_commit_add_parent","git_commit_author","git_commit_committer","git_commit_id","git_commit_lookup","git_commit_message","git_commit_message_short","git_commit_new","git_commit_parent","git_commit_parentcount","git_commit_set_author","git_commit_set_committer","git_commit_set_message","git_commit_set_tree","git_commit_time","git_commit_time_offset","git_commit_tree","git_revwalk_hide","git_revwalk_next","git_revwalk_push"]}}],["git_index",{"type":"struct","value":"git_index","file":"types.h","line":123,"lineto":123,"block":"","tdef":"typedef","comments":"Memory representation of an index file.","used":{"returns":[],"needs":["git_index_add","git_index_clear","git_index_entrycount","git_index_find","git_index_free","git_index_get","git_index_insert","git_index_open_bare","git_index_open_inrepo","git_index_read","git_index_remove","git_index_write","git_repository_index"]}}],["git_index_entry",{"type":"struct","value":"git_index_entry","file":"index.h","line":55,"lineto":72,"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","comments":"Memory representation of a file entry in the index.","used":{"returns":["git_index_get"],"needs":["git_index_insert"]}}],["git_index_time",{"type":"struct","value":"git_index_time","file":"index.h","line":48,"lineto":52,"block":"git_time_t seconds\nunsigned int nanoseconds","tdef":"typedef","comments":"Time used in a git index entry","used":{"returns":[],"needs":[]}}],["git_object",{"type":"struct","value":"git_object","file":"types.h","line":102,"lineto":102,"block":"","tdef":"typedef","comments":"Representation of a generic object in a repository","used":{"returns":["git_tag_target"],"needs":["git_object_close","git_object_id","git_object_lookup","git_object_new","git_object_owner","git_object_type","git_object_write","git_tag_set_target","git_tree_entry_2object"]}}],["git_odb",{"type":"struct","value":"git_odb","file":"types.h","line":90,"lineto":90,"block":"","tdef":"typedef","comments":"An open object database handle.","used":{"returns":["git_repository_database"],"needs":["git_odb_add_alternate","git_odb_add_backend","git_odb_close","git_odb_exists","git_odb_new","git_odb_open","git_odb_read","git_odb_read_header","git_odb_write","git_repository_open3"]}}],["git_odb_backend",{"type":"struct","value":"git_odb_backend","file":"types.h","line":93,"lineto":93,"block":"","tdef":"typedef","comments":"A custom backend in an ODB","used":{"returns":[],"needs":["git_odb_add_alternate","git_odb_add_backend"]}}],["git_oid",{"type":"struct","value":"git_oid","file":"oid.h","line":47,"lineto":50,"block":"unsigned char id[GIT_OID_RAWSZ]","tdef":"typedef","comments":"Unique identity of any object (commit, tree, blob, tag).","used":{"returns":["git_commit_id","git_object_id","git_reference_oid","git_tag_id","git_tree_entry_id","git_tree_id"],"needs":["git_blob_lookup","git_blob_writefile","git_commit_lookup","git_object_lookup","git_odb_exists","git_odb_read","git_odb_read_header","git_odb_write","git_oid_allocfmt","git_oid_cmp","git_oid_cpy","git_oid_fmt","git_oid_mkraw","git_oid_mkstr","git_oid_pathfmt","git_oid_to_string","git_rawobj_hash","git_reference_create_oid","git_reference_set_oid","git_tag_lookup","git_tree_add_entry","git_tree_entry_set_id","git_tree_lookup"]}}],["git_otype",{"type":"enum","file":"types.h","line":76,"lineto":87,"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","comments":"Basic type (loose or packed) of any Git object.","used":{"returns":[],"needs":["git_object__size","git_object_lookup","git_object_new","git_object_type2string","git_object_typeisloose"]}}],["git_rawobj",{"type":"struct","value":"git_rawobj","file":"odb.h","line":108,"lineto":112,"block":"void *data\nsize_t len\ngit_otype type","tdef":"typedef","comments":"An object read from the database.","used":{"returns":[],"needs":["git_odb_read","git_odb_read_header","git_odb_write","git_rawobj_close","git_rawobj_hash"]}}],["git_reference",{"type":"struct","value":"git_reference","file":"types.h","line":139,"lineto":139,"block":"","tdef":"typedef","comments":"In-memory representation of a reference.","used":{"returns":[],"needs":["git_reference_create_oid","git_reference_create_symbolic","git_reference_delete","git_reference_lookup","git_reference_name","git_reference_oid","git_reference_owner","git_reference_rename","git_reference_resolve","git_reference_set_oid","git_reference_set_target","git_reference_target","git_reference_type"]}}],["git_repository",{"type":"struct","value":"git_repository","file":"types.h","line":99,"lineto":99,"block":"","tdef":"typedef","comments":"Representation of an existing git repository,\nincluding all its object contents","used":{"returns":["git_object_owner","git_reference_owner","git_revwalk_repository"],"needs":["git_blob_lookup","git_blob_new","git_blob_writefile","git_commit_lookup","git_commit_new","git_index_open_inrepo","git_object_lookup","git_object_new","git_reference_create_oid","git_reference_create_symbolic","git_reference_lookup","git_reference_packall","git_repository_database","git_repository_free","git_repository_index","git_repository_init","git_repository_open","git_repository_open2","git_repository_open3","git_revwalk_new","git_tag_lookup","git_tag_new","git_tree_lookup","git_tree_new"]}}],["git_revwalk",{"type":"struct","value":"git_revwalk","file":"types.h","line":105,"lineto":105,"block":"","tdef":"typedef","comments":"Representation of an in-progress walk through the commits in a repo","used":{"returns":[],"needs":["git_revwalk_free","git_revwalk_hide","git_revwalk_new","git_revwalk_next","git_revwalk_push","git_revwalk_repository","git_revwalk_reset","git_revwalk_sorting"]}}],["git_rtype",{"type":"enum","file":"types.h","line":142,"lineto":148,"block":"GIT_REF_INVALID\nGIT_REF_OID\nGIT_REF_SYMBOLIC\nGIT_REF_PACKED\nGIT_REF_HAS_PEEL","tdef":"typedef","comments":"Basic type of any Git reference.","used":{"returns":[],"needs":[]}}],["git_signature",{"type":"struct","value":"git_signature","file":"types.h","line":132,"lineto":136,"block":"char *name\nchar *email\ngit_time when","tdef":"typedef","comments":"An action signature (e.g. for committers, taggers, etc)","used":{"returns":["git_commit_author","git_commit_committer","git_signature_dup","git_signature_new","git_tag_tagger"],"needs":["git_commit_set_author","git_commit_set_committer","git_signature_dup","git_signature_free","git_tag_set_tagger"]}}],["git_tag",{"type":"struct","value":"git_tag","file":"types.h","line":108,"lineto":108,"block":"","tdef":"typedef","comments":"Parsed representation of a tag object.","used":{"returns":[],"needs":["git_tag_id","git_tag_lookup","git_tag_message","git_tag_name","git_tag_new","git_tag_set_message","git_tag_set_name","git_tag_set_tagger","git_tag_set_target","git_tag_tagger","git_tag_target","git_tag_type"]}}],["git_time",{"type":"struct","value":"git_time","file":"types.h","line":126,"lineto":129,"block":"time_t time\nint offset","tdef":"typedef","comments":"Time in a signature","used":{"returns":[],"needs":[]}}],["git_tree",{"type":"struct","value":"git_tree","file":"types.h","line":120,"lineto":120,"block":"","tdef":"typedef","comments":"Representation of a tree object.","used":{"returns":["git_commit_tree"],"needs":["git_commit_set_tree","git_tree_add_entry","git_tree_clear_entries","git_tree_entry_byindex","git_tree_entry_byname","git_tree_entrycount","git_tree_id","git_tree_lookup","git_tree_new","git_tree_remove_entry_byindex","git_tree_remove_entry_byname"]}}],["git_tree_entry",{"type":"struct","value":"git_tree_entry","file":"types.h","line":117,"lineto":117,"block":"","tdef":"typedef","comments":"Representation of each one of the entries in a tree object.","used":{"returns":["git_tree_entry_byindex","git_tree_entry_byname"],"needs":["git_tree_add_entry","git_tree_entry_2object","git_tree_entry_attributes","git_tree_entry_id","git_tree_entry_name","git_tree_entry_set_attributes","git_tree_entry_set_id","git_tree_entry_set_name"]}}]],"prefix":"include/git2","groups":[["blob",["git_blob_lookup","git_blob_new","git_blob_rawcontent","git_blob_rawsize","git_blob_set_rawcontent","git_blob_set_rawcontent_fromfile","git_blob_writefile"]],["commit",["git_commit_add_parent","git_commit_author","git_commit_committer","git_commit_id","git_commit_lookup","git_commit_message","git_commit_message_short","git_commit_new","git_commit_parent","git_commit_parentcount","git_commit_set_author","git_commit_set_committer","git_commit_set_message","git_commit_set_tree","git_commit_time","git_commit_time_offset","git_commit_tree"]],["errors",["git_strerror"]],["index",["git_index_add","git_index_clear","git_index_entrycount","git_index_find","git_index_free","git_index_get","git_index_insert","git_index_open_bare","git_index_open_inrepo","git_index_read","git_index_remove","git_index_write"]],["object",["git_object__size","git_object_close","git_object_id","git_object_lookup","git_object_new","git_object_owner","git_object_string2type","git_object_type","git_object_type2string","git_object_typeisloose","git_object_write"]],["odb",["git_odb_add_alternate","git_odb_add_backend","git_odb_close","git_odb_exists","git_odb_new","git_odb_open","git_odb_read","git_odb_read_header","git_odb_write"]],["oid",["git_oid_allocfmt","git_oid_cmp","git_oid_cpy","git_oid_fmt","git_oid_mkraw","git_oid_mkstr","git_oid_pathfmt","git_oid_to_string"]],["rawobj",["git_rawobj_close","git_rawobj_hash"]],["reference",["git_reference_create_oid","git_reference_create_symbolic","git_reference_delete","git_reference_lookup","git_reference_name","git_reference_oid","git_reference_owner","git_reference_packall","git_reference_rename","git_reference_resolve","git_reference_set_oid","git_reference_set_target","git_reference_target","git_reference_type"]],["repository",["git_repository_database","git_repository_free","git_repository_index","git_repository_init","git_repository_open","git_repository_open2","git_repository_open3"]],["revwalk",["git_revwalk_free","git_revwalk_hide","git_revwalk_new","git_revwalk_next","git_revwalk_push","git_revwalk_repository","git_revwalk_reset","git_revwalk_sorting"]],["signature",["git_signature_dup","git_signature_free","git_signature_new"]],["tag",["git_tag_id","git_tag_lookup","git_tag_message","git_tag_name","git_tag_new","git_tag_set_message","git_tag_set_name","git_tag_set_tagger","git_tag_set_target","git_tag_tagger","git_tag_target","git_tag_type"]],["tree",["git_tree_add_entry","git_tree_clear_entries","git_tree_entry_2object","git_tree_entry_attributes","git_tree_entry_byindex","git_tree_entry_byname","git_tree_entry_id","git_tree_entry_name","git_tree_entry_set_attributes","git_tree_entry_set_id","git_tree_entry_set_name","git_tree_entrycount","git_tree_id","git_tree_lookup","git_tree_new","git_tree_remove_entry_byindex","git_tree_remove_entry_byname"]],["zlib",["deflateBound"]]]} \ No newline at end of file
+{"files":[{"file":"zlib.h","functions":["deflateBound"],"meta":{"brief":"Git data compression routines","defgroup":"git_zlib Git data compression routines","ingroup":"Git","comments":"\n"},"lines":58},{"file":"types.h","functions":[],"meta":{"brief":"libgit2 base & compatibility types","ingroup":"Git","comments":"\n"},"lines":153},{"file":"tree.h","functions":["git_tree_lookup","git_tree_new","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_2object","git_tree_add_entry","git_tree_remove_entry_byindex","git_tree_remove_entry_byname","git_tree_clear_entries","git_tree_entry_set_id","git_tree_entry_set_name","git_tree_entry_set_attributes"],"meta":{"brief":"Git tree parsing, loading routines","defgroup":"git_tree Git tree parsing, loading routines","ingroup":"Git","comments":"\n"},"lines":222},{"file":"thread-utils.h","functions":[],"meta":{},"lines":80},{"file":"tag.h","functions":["git_tag_lookup","git_tag_new","git_tag_id","git_tag_target","git_tag_type","git_tag_name","git_tag_tagger","git_tag_message","git_tag_set_target","git_tag_set_name","git_tag_set_tagger","git_tag_set_message"],"meta":{"brief":"Git tag parsing routines","defgroup":"git_tag Git tag management","ingroup":"Git","comments":"\n"},"lines":145},{"file":"signature.h","functions":["git_signature_new","git_signature_dup","git_signature_free"],"meta":{"brief":"Git signature creation","defgroup":"git_signature Git signature creation","ingroup":"Git","comments":"\n"},"lines":70},{"file":"revwalk.h","functions":["git_revwalk_new","git_revwalk_reset","git_revwalk_push","git_revwalk_hide","git_revwalk_next","git_revwalk_sorting","git_revwalk_free","git_revwalk_repository"],"meta":{"brief":"Git revision traversal routines","defgroup":"git_revwalk Git revision traversal routines","ingroup":"Git","comments":"\n"},"lines":136},{"file":"repository.h","functions":["git_repository_open","git_repository_open2","git_repository_open3","git_repository_database","git_repository_index","git_repository_free","git_repository_init"],"meta":{"brief":"Git repository management routines","defgroup":"git_repository Git repository management routines","ingroup":"Git","comments":"\n"},"lines":183},{"file":"refs.h","functions":["git_reference_lookup","git_reference_create_symbolic","git_reference_create_oid","git_reference_oid","git_reference_target","git_reference_type","git_reference_name","git_reference_resolve","git_reference_owner","git_reference_set_target","git_reference_set_oid","git_reference_rename","git_reference_delete","git_reference_packall"],"meta":{"brief":"Git reference management routines","defgroup":"git_reference Git reference management routines","ingroup":"Git","comments":"\n"},"lines":223},{"file":"oid.h","functions":["git_oid_mkstr","git_oid_mkraw","git_oid_fmt","git_oid_pathfmt","git_oid_allocfmt","git_oid_to_string","git_oid_cpy","git_oid_cmp"],"meta":{"brief":"Git object id routines","defgroup":"git_oid Git object id routines","ingroup":"Git","comments":"\n"},"lines":137},{"file":"odb_backend.h","functions":[],"meta":{"brief":"Git custom backend functions","defgroup":"git_backend Git custom backend API","ingroup":"Git","comments":"\n"},"lines":77},{"file":"odb.h","functions":["git_odb_new","git_odb_open","git_odb_add_backend","git_odb_add_alternate","git_odb_close","git_odb_read","git_odb_read_header","git_odb_write","git_odb_exists","git_rawobj_hash","git_rawobj_close"],"meta":{"brief":"Git object database routines","defgroup":"git_odb Git object database routines","ingroup":"Git","comments":"\n"},"lines":201},{"file":"object.h","functions":["git_object_lookup","git_object_new","git_object_write","git_object_id","git_object_type","git_object_owner","git_object_close","git_object_type2string","git_object_string2type","git_object_typeisloose","git_object__size"],"meta":{"brief":"Git revision object management routines","defgroup":"git_object Git revision object management routines","ingroup":"Git","comments":"\n"},"lines":198},{"file":"index.h","functions":["git_index_open_bare","git_index_open_inrepo","git_index_clear","git_index_free","git_index_read","git_index_write","git_index_find","git_index_add","git_index_remove","git_index_insert","git_index_get","git_index_entrycount"],"meta":{"brief":"Git index parsing and manipulation routines","defgroup":"git_index Git index parsing and manipulation routines","ingroup":"Git","comments":"\n"},"lines":199},{"file":"errors.h","functions":["git_strerror"],"meta":{"brief":"Git error handling routines and variables","ingroup":"Git","comments":"\n"},"lines":45},{"file":"common.h","functions":[],"meta":{"brief":"Git common platform definitions","defgroup":"git_common Git common platform definitions","ingroup":"Git","comments":"\n"},"lines":163},{"file":"commit.h","functions":["git_commit_lookup","git_commit_new","git_commit_id","git_commit_message_short","git_commit_message","git_commit_time","git_commit_time_offset","git_commit_committer","git_commit_author","git_commit_tree","git_commit_parentcount","git_commit_parent","git_commit_add_parent","git_commit_set_message","git_commit_set_committer","git_commit_set_author","git_commit_set_tree"],"meta":{"brief":"Git commit parsing, formatting routines","defgroup":"git_commit Git commit parsing, formatting routines","ingroup":"Git","comments":"\n"},"lines":184},{"file":"blob.h","functions":["git_blob_lookup","git_blob_new","git_blob_set_rawcontent_fromfile","git_blob_set_rawcontent","git_blob_rawcontent","git_blob_rawsize","git_blob_writefile"],"meta":{"brief":"Git blob load and write routines","defgroup":"git_blob Git blob load and write routines","ingroup":"Git","comments":"\n"},"lines":128}],"functions":{"deflateBound":{"type":"function","file":"zlib.h","line":50,"lineto":54,"args":[{"name":"stream","type":"z_streamp","comment":"the stream pointer."},{"name":"s","type":"size_t","comment":"tream the stream pointer."}],"argline":"z_streamp stream, size_t s","sig":"z_streamp::size_t","return":{"type":"size_t","comment":"maximum length of the compressed data."},"description":"deflateBound returns an upper bound on the compressed size.","comments":"This is a stub function used when zlib does not supply the\ndeflateBound() implementation itself.\n","group":"zlib"},"git_tree_lookup":{"type":"function","file":"tree.h","line":52,"lineto":55,"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 on success; error code otherwise"},"description":"Lookup a tree object from the repository.\nThe generated tree object is owned by the revision\nrepo and shall not be freed by the user.","comments":"","group":"tree"},"git_tree_new":{"type":"function","file":"tree.h","line":68,"lineto":71,"args":[{"name":"tree","type":"git_tree **","comment":"pointer to the new tree"},{"name":"repo","type":"git_repository *","comment":"The repository where the object will reside"}],"argline":"git_tree **tree, git_repository *repo","sig":"git_tree **::git_repository *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Create a new in-memory git_tree.","comments":"The tree object must be manually filled using\nsetter methods before it can be written to its\nrepository.\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":"Get the id of a tree.\n@param tree a previously loaded tree.\n@return object identity for the tree.","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":"size_t","comment":"the number of entries in the tree"},"description":"Get the number of entries listed in a tree\n@param tree a previously loaded tree.\n@return the number of entries in the tree","comments":"","group":"tree"},"git_tree_entry_byname":{"type":"function","file":"tree.h","line":94,"lineto":94,"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":"git_tree_entry *","comment":"the tree entry; NULL if not found"},"description":"Lookup a tree entry by its filename\n@param tree a previously loaded tree.\n@param filename the filename of the desired entry\n@return the tree entry; NULL if not found","comments":"","group":"tree"},"git_tree_entry_byindex":{"type":"function","file":"tree.h","line":102,"lineto":102,"args":[{"name":"tree","type":"git_tree *","comment":"a previously loaded tree."},{"name":"idx","type":"int","comment":"the position in the entry list"}],"argline":"git_tree *tree, int idx","sig":"git_tree *::int","return":{"type":"git_tree_entry *","comment":"the tree entry; NULL if not found"},"description":"Lookup a tree entry by its position in the tree\n@param tree a previously loaded tree.\n@param idx the position in the entry list\n@return the tree entry; NULL if not found","comments":"","group":"tree"},"git_tree_entry_attributes":{"type":"function","file":"tree.h","line":109,"lineto":109,"args":[{"name":"entry","type":"git_tree_entry *","comment":"a tree entry"}],"argline":"git_tree_entry *entry","sig":"git_tree_entry *","return":{"type":"unsigned int","comment":"attributes as an integer"},"description":"Get the UNIX file attributes of a tree entry\n@param entry a tree entry\n@return attributes as an integer","comments":"","group":"tree"},"git_tree_entry_name":{"type":"function","file":"tree.h","line":116,"lineto":116,"args":[{"name":"entry","type":"git_tree_entry *","comment":"a tree entry"}],"argline":"git_tree_entry *entry","sig":"git_tree_entry *","return":{"type":"const char *","comment":"the name of the file"},"description":"Get the filename of a tree entry\n@param entry a tree entry\n@return the name of the file","comments":"","group":"tree"},"git_tree_entry_id":{"type":"function","file":"tree.h","line":123,"lineto":123,"args":[{"name":"entry","type":"git_tree_entry *","comment":"a tree entry"}],"argline":"git_tree_entry *entry","sig":"git_tree_entry *","return":{"type":"const git_oid *","comment":"the oid of the object"},"description":"Get the id of the object pointed by the entry\n@param entry a tree entry\n@return the oid of the object","comments":"","group":"tree"},"git_tree_entry_2object":{"type":"function","file":"tree.h","line":132,"lineto":132,"args":[{"name":"object","type":"git_object **","comment":"pointer to the converted object"},{"name":"entry","type":"git_tree_entry *","comment":"a tree entry"}],"argline":"git_object **object, git_tree_entry *entry","sig":"git_object **::git_tree_entry *","return":{"type":"int","comment":"a reference to the pointed object in the repository"},"description":"Convert a tree entry to the git_object it points too.","comments":"","group":"tree"},"git_tree_add_entry":{"type":"function","file":"tree.h","line":149,"lineto":149,"args":[{"name":"entry_out","type":"git_tree_entry **","comment":"Pointer to the entry that just got created. May be NULL if you are not interested on getting the new entry"},{"name":"tree","type":"git_tree *","comment":"Tree object to store the entry @iparam id OID for the tree entry"},{"name":"id","type":"const git_oid *"},{"name":"filename","type":"const char *","comment":"Filename for the tree entry"},{"name":"attributes","type":"int","comment":"UNIX file attributes for the entry"}],"argline":"git_tree_entry **entry_out, git_tree *tree, const git_oid *id, const char *filename, int attributes","sig":"git_tree_entry **::git_tree *::const git_oid *::const char *::int","return":{"type":"int","comment":"0 on success; otherwise error code"},"description":"Add a new entry to a tree and return the new entry.","comments":"This will mark the tree as modified; the new entry will\nbe written back to disk on the next git_object_write()\n","group":"tree"},"git_tree_remove_entry_byindex":{"type":"function","file":"tree.h","line":163,"lineto":163,"args":[{"name":"tree","type":"git_tree *","comment":"Tree where to remove the entry"},{"name":"idx","type":"int","comment":"index of the entry"}],"argline":"git_tree *tree, int idx","sig":"git_tree *::int","return":{"type":"int","comment":"0 on successful removal; GIT_ENOTFOUND if the entry wasn't found"},"description":"Remove an entry by its index.","comments":"Index must be >= 0 and < than git_tree_entrycount().\n\nThis will mark the tree as modified; the modified entry will\nbe written back to disk on the next git_object_write()\n","group":"tree"},"git_tree_remove_entry_byname":{"type":"function","file":"tree.h","line":175,"lineto":175,"args":[{"name":"tree","type":"git_tree *","comment":"Tree where to remove the entry"},{"name":"filename","type":"const char *","comment":"File name of the entry"}],"argline":"git_tree *tree, const char *filename","sig":"git_tree *::const char *","return":{"type":"int","comment":"0 on successful removal; GIT_ENOTFOUND if the entry wasn't found"},"description":"Remove an entry by its filename.","comments":"This will mark the tree as modified; the modified entry will\nbe written back to disk on the next git_object_write()\n","group":"tree"},"git_tree_clear_entries":{"type":"function","file":"tree.h","line":185,"lineto":185,"args":[{"name":"tree","type":"git_tree *","comment":"Tree object whose entries are to be sorted"}],"argline":"git_tree *tree","sig":"git_tree *","return":{"type":"void"},"description":"Clear all the entries in a tree.","comments":"This will mark the tree as modified; the modified entry will\nbe written back to disk on the next git_object_write().\n","group":"tree"},"git_tree_entry_set_id":{"type":"function","file":"tree.h","line":196,"lineto":196,"args":[{"name":"entry","type":"git_tree_entry *","comment":"Entry object which will be modified"},{"name":"oid","type":"const git_oid *","comment":"new SHA1 oid for the entry"}],"argline":"git_tree_entry *entry, const git_oid *oid","sig":"git_tree_entry *::const git_oid *","return":{"type":"void"},"description":"Change the SHA1 id of a tree entry.","comments":"This will mark the tree that contains the entry as modified;\nthe modified entry will be written back to disk on the next git_object_write()\n","group":"tree"},"git_tree_entry_set_name":{"type":"function","file":"tree.h","line":207,"lineto":207,"args":[{"name":"entry","type":"git_tree_entry *","comment":"Entry object which will be modified"},{"name":"name","type":"const char *"}],"argline":"git_tree_entry *entry, const char *name","sig":"git_tree_entry *::const char *","return":{"type":"void"},"description":"Change the filename of a tree entry.","comments":"This will mark the tree that contains the entry as modified;\nthe modified entry will be written back to disk on the next git_object_write()\n","group":"tree"},"git_tree_entry_set_attributes":{"type":"function","file":"tree.h","line":218,"lineto":218,"args":[{"name":"entry","type":"git_tree_entry *","comment":"Entry object which will be modified"},{"name":"attr","type":"int"}],"argline":"git_tree_entry *entry, int attr","sig":"git_tree_entry *::int","return":{"type":"void"},"description":"Change the attributes of a tree entry.","comments":"This will mark the tree that contains the entry as modified;\nthe modified entry will be written back to disk on the next git_object_write()\n","group":"tree"},"git_tag_lookup":{"type":"function","file":"tag.h","line":52,"lineto":55,"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 on success; error code otherwise"},"description":"Lookup a tag object from the repository.\nThe generated tag object is owned by the revision\nrepo and shall not be freed by the user.","comments":"","group":"tag"},"git_tag_new":{"type":"function","file":"tag.h","line":68,"lineto":71,"args":[{"name":"tag","type":"git_tag **","comment":"pointer to the new tag"},{"name":"repo","type":"git_repository *","comment":"The repository where the object will reside"}],"argline":"git_tag **tag, git_repository *repo","sig":"git_tag **::git_repository *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Create a new in-memory git_tag.","comments":"The tag object must be manually filled using\nsetter methods before it can be written to its\nrepository.\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":"Get the id of a tag.\n@param tag a previously loaded tag.\n@return object identity for the tag.","comments":"","group":"tag"},"git_tag_target":{"type":"function","file":"tag.h","line":85,"lineto":85,"args":[{"name":"t","type":"git_tag *","comment":"ag a previously loaded tag."}],"argline":"git_tag *t","sig":"git_tag *","return":{"type":"const git_object *","comment":"reference to a repository object"},"description":"Get the tagged object of a tag\n@param tag a previously loaded tag.\n@return reference to a repository object","comments":"","group":"tag"},"git_tag_type":{"type":"function","file":"tag.h","line":92,"lineto":92,"args":[{"name":"t","type":"git_tag *","comment":"ag a previously loaded tag."}],"argline":"git_tag *t","sig":"git_tag *","return":{"type":"git_otype","comment":"type of the tagged object"},"description":"Get the type of a tag's tagged object\n@param tag a previously loaded tag.\n@return type of the tagged object","comments":"","group":"tag"},"git_tag_name":{"type":"function","file":"tag.h","line":99,"lineto":99,"args":[{"name":"t","type":"git_tag *","comment":"ag a previously loaded tag."}],"argline":"git_tag *t","sig":"git_tag *","return":{"type":"const char *","comment":"name of the tag"},"description":"Get the name of a tag\n@param tag a previously loaded tag.\n@return name of the tag","comments":"","group":"tag"},"git_tag_tagger":{"type":"function","file":"tag.h","line":106,"lineto":106,"args":[{"name":"t","type":"git_tag *","comment":"ag a previously loaded tag."}],"argline":"git_tag *t","sig":"git_tag *","return":{"type":"const git_signature *","comment":"reference to the tag's author"},"description":"Get the tagger (author) of a tag\n@param tag a previously loaded tag.\n@return reference to the tag's author","comments":"","group":"tag"},"git_tag_message":{"type":"function","file":"tag.h","line":113,"lineto":113,"args":[{"name":"t","type":"git_tag *","comment":"ag a previously loaded tag."}],"argline":"git_tag *t","sig":"git_tag *","return":{"type":"const char *","comment":"message of the tag"},"description":"Get the message of a tag\n@param tag a previously loaded tag.\n@return message of the tag","comments":"","group":"tag"},"git_tag_set_target":{"type":"function","file":"tag.h","line":120,"lineto":120,"args":[{"name":"tag","type":"git_tag *","comment":"The tag to modify"},{"name":"target","type":"git_object *","comment":"the new tagged target"}],"argline":"git_tag *tag, git_object *target","sig":"git_tag *::git_object *","return":{"type":"void"},"description":"Set the target of a tag (i.e. the object that the tag points to)\n@param tag The tag to modify\n@param target the new tagged target","comments":"","group":"tag"},"git_tag_set_name":{"type":"function","file":"tag.h","line":127,"lineto":127,"args":[{"name":"tag","type":"git_tag *","comment":"The tag to modify"},{"name":"name","type":"const char *","comment":"the new name for the tag"}],"argline":"git_tag *tag, const char *name","sig":"git_tag *::const char *","return":{"type":"void"},"description":"Set the name of a tag\n@param tag The tag to modify\n@param name the new name for the tag","comments":"","group":"tag"},"git_tag_set_tagger":{"type":"function","file":"tag.h","line":134,"lineto":134,"args":[{"name":"tag","type":"git_tag *","comment":"The tag to modify"},{"name":"tagger_sig","type":"const git_signature *","comment":"signature of the tagging action"}],"argline":"git_tag *tag, const git_signature *tagger_sig","sig":"git_tag *::const git_signature *","return":{"type":"void"},"description":"Set the tagger of a tag\n@param tag The tag to modify\n@param tagger_sig signature of the tagging action","comments":"","group":"tag"},"git_tag_set_message":{"type":"function","file":"tag.h","line":141,"lineto":141,"args":[{"name":"tag","type":"git_tag *","comment":"The tag to modify"},{"name":"message","type":"const char *","comment":"the new tagger for the tag"}],"argline":"git_tag *tag, const char *message","sig":"git_tag *::const char *","return":{"type":"void"},"description":"Set the message of a tag\n@param tag The tag to modify\n@param message the new tagger for the tag","comments":"","group":"tag"},"git_signature_new":{"type":"function","file":"signature.h","line":50,"lineto":50,"args":[{"name":"name","type":"const char *"},{"name":"email","type":"const char *"},{"name":"time","type":"time_t"},{"name":"offset","type":"int"}],"argline":"const char *name, const char *email, time_t time, int offset","sig":"const char *::const char *::time_t::int","return":{"type":"git_signature *","comment":"the new sig, NULl on out of memory"},"description":"Create a new action signature. The signature must be freed\nmanually or using git_signature_free","comments":"@name name of the person\n@email email of the person\n@time time when the action happened\n@offset timezone offset in minutes for the time","group":"signature"},"git_signature_dup":{"type":"function","file":"signature.h","line":59,"lineto":59,"args":[{"name":"sig","type":"const git_signature *"}],"argline":"const git_signature *sig","sig":"const git_signature *","return":{"type":"git_signature *","comment":"a copy of sig, NULL on out of memory"},"description":"Create a copy of an existing signature.","comments":"All internal strings are also duplicated.\n@sig signature to duplicated","group":"signature"},"git_signature_free":{"type":"function","file":"signature.h","line":66,"lineto":66,"args":[{"name":"sig","type":"git_signature *"}],"argline":"git_signature *sig","sig":"git_signature *","return":{"type":"void"},"description":"Free an existing signature","comments":"@sig signature to free","group":"signature"},"git_revwalk_new":{"type":"function","file":"revwalk.h","line":76,"lineto":76,"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 on success; error code otherwise"},"description":"Allocate a new revision walker to iterate through a repo.","comments":"","group":"revwalk"},"git_revwalk_reset":{"type":"function","file":"revwalk.h","line":82,"lineto":82,"args":[{"name":"walker","type":"git_revwalk *","comment":"handle to reset."}],"argline":"git_revwalk *walker","sig":"git_revwalk *","return":{"type":"void"},"description":"Reset the walking machinery for reuse.\n@param walker handle to reset.","comments":"","group":"revwalk"},"git_revwalk_push":{"type":"function","file":"revwalk.h","line":91,"lineto":91,"args":[{"name":"walk","type":"git_revwalk *","comment":"er the walker being used for the traversal."},{"name":"commit","type":"git_commit *","comment":"the commit to start from."}],"argline":"git_revwalk *walk, git_commit *commit","sig":"git_revwalk *::git_commit *","return":{"type":"int"},"description":"Mark a commit to start traversal from.\nThe commit object must belong to the repo which is being walked through.","comments":"","group":"revwalk"},"git_revwalk_hide":{"type":"function","file":"revwalk.h","line":98,"lineto":98,"args":[{"name":"walk","type":"git_revwalk *","comment":"er the walker being used for the traversal."},{"name":"commit","type":"git_commit *","comment":"the commit that will be ignored during the traversal"}],"argline":"git_revwalk *walk, git_commit *commit","sig":"git_revwalk *::git_commit *","return":{"type":"int"},"description":"Mark a commit (and its ancestors) uninteresting for the output.\n@param walker the walker being used for the traversal.\n@param commit the commit that will be ignored during the traversal","comments":"","group":"revwalk"},"git_revwalk_next":{"type":"function","file":"revwalk.h","line":108,"lineto":108,"args":[{"name":"commit","type":"git_commit **","comment":"Pointer where to store the next commit"},{"name":"walk","type":"git_revwalk *","comment":"the walker to pop the commit from."}],"argline":"git_commit **commit, git_revwalk *walk","sig":"git_commit **::git_revwalk *","return":{"type":"int","comment":"GIT_SUCCESS if the next commit was found; GIT_EREVWALKOVER if there are no commits left to iterate"},"description":"Get the next commit from the revision traversal.","comments":"","group":"revwalk"},"git_revwalk_sorting":{"type":"function","file":"revwalk.h","line":117,"lineto":117,"args":[{"name":"walk","type":"git_revwalk *","comment":"the walker being used for the traversal."},{"name":"sort_mode","type":"unsigned int","comment":"combination of GIT_RPSORT_XXX flags"}],"argline":"git_revwalk *walk, unsigned int sort_mode","sig":"git_revwalk *::unsigned int","return":{"type":"int"},"description":"Change the sorting mode when iterating through the\nrepository's contents.\nChanging the sorting mode resets the walker.\n@param walk the walker being used for the traversal.\n@param sort_mode combination of GIT_RPSORT_XXX flags","comments":"","group":"revwalk"},"git_revwalk_free":{"type":"function","file":"revwalk.h","line":123,"lineto":123,"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"},"description":"Free a revwalk previously allocated.\n@param walk traversal handle to close. If NULL nothing occurs.","comments":"","group":"revwalk"},"git_revwalk_repository":{"type":"function","file":"revwalk.h","line":132,"lineto":132,"args":[{"name":"walk","type":"git_revwalk *","comment":"the revision walker"}],"argline":"git_revwalk *walk","sig":"git_revwalk *","return":{"type":"git_repository *","comment":"the repository being walked"},"description":"Return the repository on which this walker\nis operating.","comments":"","group":"revwalk"},"git_repository_open":{"type":"function","file":"repository.h","line":64,"lineto":64,"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 on success; error code otherwise"},"description":"Open a git repository.","comments":"The 'path' argument must point to an existing git repository\nfolder, e.g.\n\n\t/path/to/my_repo/.git/\t(normal repository)\n\t\t\t\t\t\tobjects/\n\t\t\t\t\t\tindex\n\t\t\t\t\t\tHEAD\n\n\t/path/to/bare_repo/\t\t(bare repository)\n\t\t\t\t\tobjects/\n\t\t\t\t\tindex\n\t\t\t\t\tHEAD\n\nThe method will automatically detect if 'path' is a normal\nor bare repository or fail is 'path' is neither.\n","group":"repository"},"git_repository_open2":{"type":"function","file":"repository.h","line":93,"lineto":97,"args":[{"name":"repository","type":"git_repository **","comment":"pointer to the repo which will be opened"},{"name":"git_dir","type":"const char *","comment":"The full path to the repository folder e.g. a '.git' folder for live repos, any folder for bare Equivalent to $GIT_DIR. Cannot be NULL."},{"name":"git_object_directory","type":"const char *","comment":"The full path to the ODB folder. the folder where all the loose and packed objects are stored Equivalent to $GIT_OBJECT_DIRECTORY. If NULL, \"$GIT_DIR/objects/\" is assumed."},{"name":"git_index_file","type":"const char *","comment":"The full path to the index (dircache) file Equivalent to $GIT_INDEX_FILE. If NULL, \"$GIT_DIR/index\" is assumed."},{"name":"git_work_tree","type":"const char *","comment":"The full path to the working tree of the repository, if the repository is not bare. Equivalent to $GIT_WORK_TREE. If NULL, the repository is assumed to be bare."}],"argline":"git_repository **repository,\n\t\tconst char *git_dir,\n\t\tconst char *git_object_directory,\n\t\tconst char *git_index_file,\n\t\tconst char *git_work_tree","sig":"git_repository **::const char *::const char *::const char *::const char *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Open a git repository by manually specifying all its paths","comments":"","group":"repository"},"git_repository_open3":{"type":"function","file":"repository.h","line":128,"lineto":132,"args":[{"name":"repository","type":"git_repository **","comment":"pointer to the repo which will be opened"},{"name":"git_dir","type":"const char *","comment":"The full path to the repository folder e.g. a '.git' folder for live repos, any folder for bare Equivalent to $GIT_DIR. Cannot be NULL."},{"name":"object_database","type":"git_odb *","comment":"A pointer to a git_odb created & initialized by the user (e.g. with custom backends). This object database will be owned by the repository and will be automatically free'd. It should not be manually free'd by the user, or this git_repository object will become invalid."},{"name":"git_index_file","type":"const char *","comment":"The full path to the index (dircache) file Equivalent to $GIT_INDEX_FILE. If NULL, \"$GIT_DIR/index\" is assumed."},{"name":"git_work_tree","type":"const char *","comment":"The full path to the working tree of the repository, if the repository is not bare. Equivalent to $GIT_WORK_TREE. If NULL, the repository is assumed to be bare."}],"argline":"git_repository **repository,\n\t\tconst char *git_dir,\n\t\tgit_odb *object_database,\n\t\tconst char *git_index_file,\n\t\tconst char *git_work_tree","sig":"git_repository **::const char *::git_odb *::const char *::const char *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Open a git repository by manually specifying its paths and\nthe object database it will use.","comments":"","group":"repository"},"git_repository_database":{"type":"function","file":"repository.h","line":141,"lineto":141,"args":[{"name":"repo","type":"git_repository *","comment":"a repository object"}],"argline":"git_repository *repo","sig":"git_repository *","return":{"type":"git_odb *","comment":"a pointer to the object db"},"description":"Get the object database behind a Git repository","comments":"","group":"repository"},"git_repository_index":{"type":"function","file":"repository.h","line":153,"lineto":153,"args":[{"name":"index","type":"git_index **","comment":"Pointer where to store the index"},{"name":"repo","type":"git_repository *","comment":"a repository object"}],"argline":"git_index **index, git_repository *repo","sig":"git_index **::git_repository *","return":{"type":"int","comment":"0 on success; error code if the index could not be opened"},"description":"Get the Index file of a Git repository","comments":"This is a cheap operation; the index is only opened on the first call,\nand subsequent calls only retrieve the previous pointer.\n","group":"repository"},"git_repository_free":{"type":"function","file":"repository.h","line":159,"lineto":162,"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"},"description":"Free a previously allocated repository\n@param repo repository handle to close. If NULL nothing occurs.","comments":"","group":"repository"},"git_repository_init":{"type":"function","file":"repository.h","line":179,"lineto":179,"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","comment":"if true, a Git repository without a working directory is created at the pointed path. If false, provided path will be considered as the working directory into which the .git directory will be created."}],"argline":"git_repository **repo_out, const char *path, unsigned is_bare","sig":"git_repository **::const char *::unsigned","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Creates a new Git repository in the given folder.","comments":"TODO:\n- Reinit the repository\n- Create config files\n","group":"repository"},"git_reference_lookup":{"type":"function","file":"refs.h","line":52,"lineto":52,"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 on success; error code otherwise"},"description":"Lookup a reference by its name in a repository.","comments":"The generated reference is owned by the repository and\nshould not be freed by the user.\n","group":"reference"},"git_reference_create_symbolic":{"type":"function","file":"refs.h","line":69,"lineto":69,"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"}],"argline":"git_reference **ref_out, git_repository *repo, const char *name, const char *target","sig":"git_reference **::git_repository *::const char *::const char *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Create a new symbolic reference.","comments":"The reference will be created in the repository and written\nto the disk.\n\nThis reference is owned by the repository and shall not\nbe free'd by the user.\n","group":"reference"},"git_reference_create_oid":{"type":"function","file":"refs.h","line":86,"lineto":86,"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."}],"argline":"git_reference **ref_out, git_repository *repo, const char *name, const git_oid *id","sig":"git_reference **::git_repository *::const char *::const git_oid *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Create a new object id reference.","comments":"The reference will be created in the repository and written\nto the disk.\n\nThis reference is owned by the repository and shall not\nbe free'd by the user.\n","group":"reference"},"git_reference_oid":{"type":"function","file":"refs.h","line":96,"lineto":96,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"const git_oid *","comment":"a pointer to the oid if available, NULL otherwise"},"description":"Get the OID pointed to by a reference.","comments":"Only available if the reference is direct (i.e. not symbolic)\n","group":"reference"},"git_reference_target":{"type":"function","file":"refs.h","line":106,"lineto":106,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"const char *","comment":"a pointer to the name if available, NULL otherwise"},"description":"Get full name to the reference pointed by this reference","comments":"Only available if the reference is symbolic\n","group":"reference"},"git_reference_type":{"type":"function","file":"refs.h","line":116,"lineto":116,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"git_rtype","comment":"the type"},"description":"Get the type of a reference","comments":"Either direct (GIT_REF_OID) or symbolic (GIT_REF_SYMBOLIC)\n","group":"reference"},"git_reference_name":{"type":"function","file":"refs.h","line":124,"lineto":124,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"const char *","comment":"the full name for the ref"},"description":"Get the full name of a reference","comments":"","group":"reference"},"git_reference_resolve":{"type":"function","file":"refs.h","line":139,"lineto":139,"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 on success; error code otherwise"},"description":"Resolve a symbolic reference","comments":"Thie method iteratively peels a symbolic reference\nuntil it resolves to a direct reference to an OID.\n\nIf a direct reference is passed as an argument,\nthat reference is returned immediately\n","group":"reference"},"git_reference_owner":{"type":"function","file":"refs.h","line":147,"lineto":147,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"git_repository *","comment":"a pointer to the repo"},"description":"Get the repository where a reference resides","comments":"","group":"reference"},"git_reference_set_target":{"type":"function","file":"refs.h","line":162,"lineto":162,"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 on success; error code otherwise"},"description":"Set the symbolic target of a reference.","comments":"The reference must be a symbolic reference, otherwise\nthis method will fail.\n\nThe reference will be automatically updated in\nmemory and on disk.\n","group":"reference"},"git_reference_set_oid":{"type":"function","file":"refs.h","line":177,"lineto":177,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"},{"name":"id","type":"const git_oid *"}],"argline":"git_reference *ref, const git_oid *id","sig":"git_reference *::const git_oid *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Set the OID target of a reference.","comments":"The reference must be a direct reference, otherwise\nthis method will fail.\n\nThe reference will be automatically updated in\nmemory and on disk.\n","group":"reference"},"git_reference_rename":{"type":"function","file":"refs.h","line":190,"lineto":190,"args":[{"name":"ref","type":"git_reference *"},{"name":"new_name","type":"const char *"}],"argline":"git_reference *ref, const char *new_name","sig":"git_reference *::const char *","return":{"type":"int"},"description":"Rename an existing reference","comments":"This method works for both direct and symbolic references.\nThe new name will be checked for validity and may be\nmodified into a normalized form.\n\nThe refernece will be immediately renamed in-memory\nand on disk.","group":"reference"},"git_reference_delete":{"type":"function","file":"refs.h","line":201,"lineto":201,"args":[{"name":"ref","type":"git_reference *"}],"argline":"git_reference *ref","sig":"git_reference *","return":{"type":"int"},"description":"Delete an existing reference","comments":"This method works for both direct and symbolic references.\n\nThe reference will be immediately removed on disk and from\nmemory. The given reference pointer will no longer be valid.","group":"reference"},"git_reference_packall":{"type":"function","file":"refs.h","line":219,"lineto":219,"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 on success; error code otherwise"},"description":"Pack all the loose references in the repository","comments":"This method will load into the cache all the loose\nreferences on the repository and update the \n`packed-refs` file with them.\n\nOnce the `packed-refs` file has been written properly,\nthe loose references will be removed from disk.\n\nWARNING: calling this method may invalidate any existing\nreferences previously loaded on the cache.\n","group":"reference"},"git_oid_mkstr":{"type":"function","file":"oid.h","line":60,"lineto":60,"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 the hex sequence and have at least the number of bytes needed for an oid encoded in hex (40 bytes)."}],"argline":"git_oid *out, const char *str","sig":"git_oid *::const char *","return":{"type":"int","comment":"GIT_SUCCESS if valid; GIT_ENOTOID on failure."},"description":"Parse a hex formatted object id into a git_oid.\n@param out oid structure the result is written into.\n@param str input hex string; must be pointing at the start of\n the hex sequence and have at least the number of bytes\n needed for an oid encoded in hex (40 bytes).\n@return GIT_SUCCESS if valid; GIT_ENOTOID on failure.","comments":"","group":"oid"},"git_oid_mkraw":{"type":"function","file":"oid.h","line":67,"lineto":67,"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"},"description":"Copy an already raw oid into a git_oid structure.\n@param out oid structure the result is written into.\n@param raw the raw input bytes to be copied.","comments":"","group":"oid"},"git_oid_fmt":{"type":"function","file":"oid.h","line":78,"lineto":78,"args":[{"name":"str","type":"char *","comment":"output hex string; must be pointing at the start of the hex sequence and have at least the number of bytes needed for an oid encoded in hex (40 bytes). Only the oid digits are written; a '\\\\0' terminator must be added by 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"},"description":"Format a git_oid into a hex string.\n@param str output hex string; must be pointing at the start of\n the hex sequence and have at least the number of bytes\n needed for an oid encoded in hex (40 bytes). Only the\n oid digits are written; a '\\\\0' terminator must be added\n by the caller if it is required.\n@param oid oid structure to format.","comments":"","group":"oid"},"git_oid_pathfmt":{"type":"function","file":"oid.h","line":93,"lineto":93,"args":[{"name":"str","type":"char *","comment":"output hex string; must be pointing at the start of the hex sequence and have at least the number of bytes needed for an oid encoded in hex (41 bytes). Only the oid digits are written; a '\\\\0' terminator must be added by 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"},"description":"Format a git_oid into a loose-object path string.\n<p>\nThe resulting string is \"aa/...\", where \"aa\" is the first two\nhex digitis of the oid and \"...\" is the remaining 38 digits.","comments":"","group":"oid"},"git_oid_allocfmt":{"type":"function","file":"oid.h","line":101,"lineto":101,"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 deallocate the string with free()."},"description":"Format a gid_oid into a newly allocated c-string.\n@param oid the oid structure to format\n@return the c-string; NULL if memory is exhausted. Caller must\n deallocate the string with free().","comments":"","group":"oid"},"git_oid_to_string":{"type":"function","file":"oid.h","line":118,"lineto":118,"args":[{"name":"out","type":"char *","comment":"the buffer into which the oid string is output."},{"name":"n","type":"size_t","comment":"the size of the out buffer."},{"name":"oid","type":"const git_oid *","comment":"the oid structure to format."}],"argline":"char *out, size_t n, const git_oid *oid","sig":"char *::size_t::const git_oid *","return":{"type":"char *","comment":"the out buffer pointer, assuming no input parameter errors, otherwise a pointer to an empty string."},"description":"Format a git_oid into a buffer as a hex format c-string.\n<p>\nIf the buffer is smaller than GIT_OID_HEXSZ+1, then the resulting\noid c-string will be truncated to n-1 characters. If there are\nany input parameter errors (out == NULL, n == 0, oid == NULL),\nthen a pointer to an empty string is returned, so that the return\nvalue can always be printed.","comments":"","group":"oid"},"git_oid_cpy":{"type":"function","file":"oid.h","line":125,"lineto":125,"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"},"description":"Copy an oid from one structure to another.\n@param out oid structure the result is written into.\n@param src oid structure to copy from.","comments":"","group":"oid"},"git_oid_cmp":{"type":"function","file":"oid.h","line":133,"lineto":133,"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":"<0, 0, >0 if a < b, a == b, a > b."},"description":"Compare two oid structures.\n@param a first oid structure.\n@param b second oid structure.\n@return <0, 0, >0 if a < b, a == b, a > b.","comments":"","group":"oid"},"git_odb_new":{"type":"function","file":"odb.h","line":52,"lineto":52,"args":[{"name":"out","type":"git_odb **","comment":"location to store the database pointer, if opened. Set to NULL if the open failed."}],"argline":"git_odb **out","sig":"git_odb **","return":{"type":"int","comment":"GIT_SUCCESS if the database was created; otherwise an error code describing why the open was not possible."},"description":"Create a new object database with no backends.","comments":"Before the ODB can be used for read/writing, a custom database\nbackend must be manually added using `git_odb_add_backend()`\n","group":"odb"},"git_odb_open":{"type":"function","file":"odb.h","line":71,"lineto":71,"args":[{"name":"out","type":"git_odb **","comment":"location to store the database pointer, if opened. Set to NULL if the open failed."},{"name":"objects_dir","type":"const char *","comment":"path of the backends' \"objects\" directory."}],"argline":"git_odb **out, const char *objects_dir","sig":"git_odb **::const char *","return":{"type":"int","comment":"GIT_SUCCESS if the database opened; otherwise an error code describing why the open was not possible."},"description":"Create a new object database and automatically add\nthe two default backends:","comments":"- git_odb_backend_loose: read and write loose object files\n\tfrom disk, assuming `objects_dir` as the Objects folder\n\n- git_odb_backend_pack: read objects from packfiles,\n\tassuming `objects_dir` as the Objects folder which\n\tcontains a 'pack/' folder with the corresponding data\n","group":"odb"},"git_odb_add_backend":{"type":"function","file":"odb.h","line":82,"lineto":82,"args":[{"name":"odb","type":"git_odb *","comment":"database to add the backend to"},{"name":"backend","type":"git_odb_backend *"},{"name":"priority","type":"int"}],"argline":"git_odb *odb, git_odb_backend *backend, int priority","sig":"git_odb *::git_odb_backend *::int","return":{"type":"int","comment":"0 on sucess; error code otherwise"},"description":"Add a custom backend to an existing Object DB","comments":"Read <odb_backends.h> for more information.\n","group":"odb"},"git_odb_add_alternate":{"type":"function","file":"odb.h","line":99,"lineto":99,"args":[{"name":"odb","type":"git_odb *","comment":"database to add the backend to"},{"name":"backend","type":"git_odb_backend *"},{"name":"priority","type":"int"}],"argline":"git_odb *odb, git_odb_backend *backend, int priority","sig":"git_odb *::git_odb_backend *::int","return":{"type":"int","comment":"0 on sucess; error code otherwise"},"description":"Add a custom backend to an existing Object DB; this\nbackend will work as an alternate.","comments":"Alternate backends are always checked for objects *after*\nall the main backends have been exhausted.\n\nWriting is disabled on alternate backends.\n\nRead <odb_backends.h> for more information.\n","group":"odb"},"git_odb_close":{"type":"function","file":"odb.h","line":105,"lineto":105,"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"},"description":"Close an open object database.\n@param db database pointer to close. If NULL no action is taken.","comments":"","group":"odb"},"git_odb_read":{"type":"function","file":"odb.h","line":126,"lineto":126,"args":[{"name":"out","type":"git_rawobj *","comment":"object descriptor to populate upon reading."},{"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_rawobj *out, git_odb *db, const git_oid *id","sig":"git_rawobj *::git_odb *::const git_oid *","return":{"type":"int","comment":"- GIT_SUCCESS if the object was read; - GIT_ENOTFOUND if the object is not in the database."},"description":"Read an object from the database.","comments":"If GIT_ENOTFOUND then out->data is set to NULL.\n","group":"odb"},"git_odb_read_header":{"type":"function","file":"odb.h","line":145,"lineto":145,"args":[{"name":"out","type":"git_rawobj *","comment":"object descriptor to populate upon reading."},{"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_rawobj *out, git_odb *db, const git_oid *id","sig":"git_rawobj *::git_odb *::const git_oid *","return":{"type":"int","comment":"- GIT_SUCCESS if the object was read; - GIT_ENOTFOUND if the object is not in the database."},"description":"Read the header of an object from the database, without\nreading its full contents.","comments":"Only the 'type' and 'len' fields of the git_rawobj structure\nare filled. The 'data' pointer will always be NULL.\n\nThe raw object pointed by 'out' doesn't need to be manually\nclosed with git_rawobj_close().\n","group":"odb"},"git_odb_write":{"type":"function","file":"odb.h","line":157,"lineto":157,"args":[{"name":"id","type":"git_oid *","comment":"identity of the object written."},{"name":"db","type":"git_odb *","comment":"database to which the object should be written."},{"name":"obj","type":"git_rawobj *","comment":"object descriptor for the object to write."}],"argline":"git_oid *id, git_odb *db, git_rawobj *obj","sig":"git_oid *::git_odb *::git_rawobj *","return":{"type":"int","comment":"- GIT_SUCCESS if the object was written; - GIT_ERROR otherwise."},"description":"Write an object to the database.","comments":"","group":"odb"},"git_odb_exists":{"type":"function","file":"odb.h","line":168,"lineto":168,"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":"- true, if the object was found - false, otherwise"},"description":"Determine if the given object can be found in the object database.","comments":"","group":"odb"},"git_rawobj_hash":{"type":"function","file":"odb.h","line":186,"lineto":186,"args":[{"name":"id","type":"git_oid *","comment":"the resulting object-ID."},{"name":"obj","type":"git_rawobj *","comment":"the object whose hash is to be determined."}],"argline":"git_oid *id, git_rawobj *obj","sig":"git_oid *::git_rawobj *","return":{"type":"int","comment":"- GIT_SUCCESS if the object-ID was correctly determined. - GIT_ERROR if the given object is malformed."},"description":"Determine the object-ID (sha1 hash) of the given git_rawobj.","comments":"The input obj must be a valid loose object type and the data\npointer must not be NULL, unless the len field is also zero.\n","group":"rawobj"},"git_rawobj_close":{"type":"function","file":"odb.h","line":197,"lineto":197,"args":[{"name":"obj","type":"git_rawobj *","comment":"object descriptor to free."}],"argline":"git_rawobj *obj","sig":"git_rawobj *","return":{"type":"void"},"description":"Release all memory used by the obj structure.","comments":"As a result of this call, obj->data will be set to NULL.\n\nIf obj->data is already NULL, nothing happens.\n","group":"rawobj"},"git_object_lookup":{"type":"function","file":"object.h","line":58,"lineto":58,"args":[{"name":"object","type":"git_object **","comment":"pointer to the looked-up object"},{"name":"repo","type":"git_repository *","comment":"the repository to look up the object"},{"name":"id","type":"const git_oid *","comment":"the unique identifier for the object"},{"name":"type","type":"git_otype","comment":"the type of the object"}],"argline":"git_object **object, git_repository *repo, const git_oid *id, git_otype type","sig":"git_object **::git_repository *::const git_oid *::git_otype","return":{"type":"int","comment":"a reference to the object"},"description":"Lookup a reference to one of the objects in a repostory.","comments":"The generated reference is owned by the repository and\nshould not be freed by the user.\n\nThe 'type' parameter must match the type of the object\nin the odb; the method will fail otherwise.\nThe special value 'GIT_OBJ_ANY' may be passed to let\nthe method guess the object's type.\n","group":"object"},"git_object_new":{"type":"function","file":"object.h","line":81,"lineto":81,"args":[{"name":"object","type":"git_object **","comment":"pointer to the new object @parem repo Repository where the object belongs"},{"name":"repo","type":"git_repository *"},{"name":"type","type":"git_otype","comment":"Type of the object to be created"}],"argline":"git_object **object, git_repository *repo, git_otype type","sig":"git_object **::git_repository *::git_otype","return":{"type":"int","comment":"the new object"},"description":"Create a new in-memory repository object with\nthe given type.","comments":"The object's attributes can be filled in using the\ncorresponding setter methods.\n\nThe object will be written back to given git_repository\nwhen the git_object_write() function is called; objects\ncannot be written to disk until all their main\nattributes have been properly filled.\n\nObjects are instantiated with no SHA1 id; their id\nwill be automatically generated when writing to the\nrepository.\n","group":"object"},"git_object_write":{"type":"function","file":"object.h","line":101,"lineto":101,"args":[{"name":"object","type":"git_object *","comment":"Git object to write back"}],"argline":"git_object *object","sig":"git_object *","return":{"type":"int","comment":"0 on success; otherwise an error code"},"description":"Write back an object to disk.","comments":"The object will be written to its corresponding\nrepository.\n\nIf the object has no changes since it was first\nread from the repository, no actions will take place.\n\nIf the object has been modified since it was read from\nthe repository, or it has been created from scratch\nin memory, it will be written to the repository and\nits SHA1 ID will be updated accordingly.\n","group":"object"},"git_object_id":{"type":"function","file":"object.h","line":112,"lineto":112,"args":[{"name":"obj","type":"const git_object *","comment":"the repository object"}],"argline":"const git_object *obj","sig":"const git_object *","return":{"type":"const git_oid *","comment":"the SHA1 id"},"description":"Get the id (SHA1) of a repository object","comments":"In-memory objects created by git_object_new() do not\nhave a SHA1 ID until they are written on a repository.\n","group":"object"},"git_object_type":{"type":"function","file":"object.h","line":120,"lineto":120,"args":[{"name":"obj","type":"const git_object *","comment":"the repository object"}],"argline":"const git_object *obj","sig":"const git_object *","return":{"type":"git_otype","comment":"the object's type"},"description":"Get the object type of an object","comments":"","group":"object"},"git_object_owner":{"type":"function","file":"object.h","line":128,"lineto":128,"args":[{"name":"obj","type":"const git_object *","comment":"the object"}],"argline":"const git_object *obj","sig":"const git_object *","return":{"type":"git_repository *","comment":"the repository who owns this object"},"description":"Get the repository that owns this object","comments":"","group":"object"},"git_object_close":{"type":"function","file":"object.h","line":151,"lineto":151,"args":[{"name":"object","type":"git_object *","comment":"the object to close"}],"argline":"git_object *object","sig":"git_object *","return":{"type":"void"},"description":"Close an open object","comments":"This method instructs the library to close an existing\nobject; note that git_objects are owned by the repository\nand are reference counted, so the object may or may not be\nfreed after this library call, depending on whether any other \nobjects still depend on it.\n\nIMPORTANT:\nIt is *not* necessary to call this method when you stop using\nan object, since all object memory is automatically reclaimed\nby the repository when it is freed.\n\nForgetting to call `git_object_close` does not cause memory\nleaks, but it's is recommended to close as soon as possible\nthe biggest objects (e.g. blobs) to prevent wasting memory\nspace.\n","group":"object"},"git_object_type2string":{"type":"function","file":"object.h","line":162,"lineto":162,"args":[{"name":"type","type":"git_otype","comment":"object type to convert."}],"argline":"git_otype type","sig":"git_otype","return":{"type":"const char *","comment":"the corresponding string representation."},"description":"Convert an object type to it's string representation.","comments":"The result is a pointer to a string in static memory and\nshould not be free()'ed.\n","group":"object"},"git_object_string2type":{"type":"function","file":"object.h","line":170,"lineto":170,"args":[{"name":"str","type":"const char *","comment":"the string to convert."}],"argline":"const char *str","sig":"const char *","return":{"type":"git_otype","comment":"the corresponding git_otype."},"description":"Convert a string object type representation to it's git_otype.","comments":"","group":"object"},"git_object_typeisloose":{"type":"function","file":"object.h","line":179,"lineto":179,"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, false otherwise."},"description":"Determine if the given git_otype is a valid loose object type.","comments":"","group":"object"},"git_object__size":{"type":"function","file":"object.h","line":193,"lineto":193,"args":[{"name":"type","type":"git_otype","comment":"object type to get its size"}],"argline":"git_otype type","sig":"git_otype","return":{"type":"size_t","comment":"size in bytes of the object"},"description":"Get the size in bytes for the structure which\nacts as an in-memory representation of any given\nobject type.","comments":"For all the core types, this would the equivalent\nof calling `sizeof(git_commit)` if the core types\nwere not opaque on the external API.\n","group":"object"},"git_index_open_bare":{"type":"function","file":"index.h","line":88,"lineto":88,"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 on success; error code otherwise"},"description":"Create a new Git index object as a memory representation\nof the Git index file in 'index_path', without a repository\nto back it.","comments":"Since there is no ODB behind this index, any Index methods\nwhich rely on the ODB (e.g. index_add) will fail with the\nGIT_EBAREINDEX error code.\n","group":"index"},"git_index_open_inrepo":{"type":"function","file":"index.h","line":98,"lineto":98,"args":[{"name":"index","type":"git_index **","comment":"_path the path to the index file in disk"},{"name":"repo","type":"git_repository *","comment":"the git repo which owns the index"}],"argline":"git_index **index, git_repository *repo","sig":"git_index **::git_repository *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Open the Index inside the git repository pointed\nby 'repo'.","comments":"","group":"index"},"git_index_clear":{"type":"function","file":"index.h","line":107,"lineto":107,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"void"},"description":"Clear the contents (all the entries) of an index object.\nThis clears the index object in memory; changes must be manually\nwritten to disk for them to take effect.","comments":"","group":"index"},"git_index_free":{"type":"function","file":"index.h","line":114,"lineto":114,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"void"},"description":"Free an existing index object.","comments":"","group":"index"},"git_index_read":{"type":"function","file":"index.h","line":123,"lineto":123,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"int","comment":"0 on success, otherwise an error code"},"description":"Update the contents of an existing index object in memory\nby reading from the hard disk.","comments":"","group":"index"},"git_index_write":{"type":"function","file":"index.h","line":132,"lineto":132,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"int","comment":"0 on success, otherwise an error code"},"description":"Write an existing index object from memory back to disk\nusing an atomic file lock.","comments":"","group":"index"},"git_index_find":{"type":"function","file":"index.h","line":142,"lineto":142,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"},{"name":"path","type":"const char *","comment":"path to search"}],"argline":"git_index *index, const char *path","sig":"git_index *::const char *","return":{"type":"int","comment":"an index >= 0 if found, -1 otherwise"},"description":"Find the first index of any entires which point to given\npath in the Git index.","comments":"","group":"index"},"git_index_add":{"type":"function","file":"index.h","line":152,"lineto":152,"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 on success, otherwise an error code"},"description":"Add or update an index entry from a file in disk.","comments":"","group":"index"},"git_index_remove":{"type":"function","file":"index.h","line":161,"lineto":161,"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 on success, otherwise an error code"},"description":"Remove an entry from the index","comments":"","group":"index"},"git_index_insert":{"type":"function","file":"index.h","line":174,"lineto":174,"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 on success, otherwise an error code"},"description":"Insert an entry into the index.\nA full copy (including the 'path' string) of the given\n'source_entry' will be inserted on the index; if the index\nalready contains an entry for the same path, the entry\nwill be updated.","comments":"","group":"index"},"git_index_get":{"type":"function","file":"index.h","line":186,"lineto":186,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"},{"name":"n","type":"int","comment":"the position of the entry"}],"argline":"git_index *index, int n","sig":"git_index *::int","return":{"type":"git_index_entry *","comment":"a pointer to the entry; NULL if out of bounds"},"description":"Get a pointer to one of the entries in the index","comments":"This entry can be modified, and the changes will be written\nback to disk on the next write() call.\n","group":"index"},"git_index_entrycount":{"type":"function","file":"index.h","line":194,"lineto":194,"args":[{"name":"index","type":"git_index *","comment":"an existing index object"}],"argline":"git_index *index","sig":"git_index *","return":{"type":"unsigned int","comment":"integer of count of current entries"},"description":"Get the count of entries currently in the index","comments":"","group":"index"},"git_strerror":{"type":"function","file":"errors.h","line":41,"lineto":41,"args":[{"name":"num","type":"int","comment":"The error code to explain"}],"argline":"int num","sig":"int","return":{"type":"const char *","comment":"a string explaining the error code"},"description":"strerror() for the Git library\n@param num The error code to explain\n@return a string explaining the error code","comments":"","group":"errors"},"git_commit_lookup":{"type":"function","file":"commit.h","line":53,"lineto":56,"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 an 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 on success; error code otherwise"},"description":"Lookup a commit object from a repository.\nThe generated commit object is owned by the revision\nrepo and shall not be freed by the user.","comments":"","group":"commit"},"git_commit_new":{"type":"function","file":"commit.h","line":69,"lineto":72,"args":[{"name":"commit","type":"git_commit **","comment":"pointer to the new commit"},{"name":"repo","type":"git_repository *","comment":"The repository where the object will reside"}],"argline":"git_commit **commit, git_repository *repo","sig":"git_commit **::git_repository *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Create a new in-memory git_commit.","comments":"The commit object must be manually filled using\nsetter methods before it can be written to its\nrepository.\n","group":"commit"},"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":"Get the id of a commit.\n@param commit a previously loaded commit.\n@return object identity for the commit.","comments":"","group":"commit"},"git_commit_message_short":{"type":"function","file":"commit.h","line":86,"lineto":86,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"const char *","comment":"the short message of a commit"},"description":"Get the short (one line) message of a commit.\n@param commit a previously loaded commit.\n@return the short message of a commit","comments":"","group":"commit"},"git_commit_message":{"type":"function","file":"commit.h","line":93,"lineto":93,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"const char *","comment":"the message of a commit"},"description":"Get the full message of a commit.\n@param commit a previously loaded commit.\n@return the message of a commit","comments":"","group":"commit"},"git_commit_time":{"type":"function","file":"commit.h","line":100,"lineto":100,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"time_t","comment":"the time of a commit"},"description":"Get the commit time (i.e. committer time) of a commit.\n@param commit a previously loaded commit.\n@return the time of a commit","comments":"","group":"commit"},"git_commit_time_offset":{"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":"int","comment":"positive or negative timezone offset, in minutes from UTC"},"description":"Get the commit timezone offset (i.e. committer's preferred timezone) of a commit.\n@param commit a previously loaded commit.\n@return positive or negative timezone offset, in minutes from UTC","comments":"","group":"commit"},"git_commit_committer":{"type":"function","file":"commit.h","line":114,"lineto":114,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"const git_signature *","comment":"the committer of a commit"},"description":"Get the committer of a commit.\n@param commit a previously loaded commit.\n@return the committer of a commit","comments":"","group":"commit"},"git_commit_author":{"type":"function","file":"commit.h","line":121,"lineto":121,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"const git_signature *","comment":"the author of a commit"},"description":"Get the author of a commit.\n@param commit a previously loaded commit.\n@return the author of a commit","comments":"","group":"commit"},"git_commit_tree":{"type":"function","file":"commit.h","line":128,"lineto":128,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"const git_tree *","comment":"the tree of a commit"},"description":"Get the tree pointed to by a commit.\n@param commit a previously loaded commit.\n@return the tree of a commit","comments":"","group":"commit"},"git_commit_parentcount":{"type":"function","file":"commit.h","line":136,"lineto":136,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."}],"argline":"git_commit *commit","sig":"git_commit *","return":{"type":"unsigned int","comment":"integer of count of parents"},"description":"Get the number of parents of this commit","comments":"","group":"commit"},"git_commit_parent":{"type":"function","file":"commit.h","line":144,"lineto":144,"args":[{"name":"commit","type":"git_commit *","comment":"a previously loaded commit."},{"name":"n","type":"unsigned int","comment":"the position of the entry"}],"argline":"git_commit *commit, unsigned int n","sig":"git_commit *::unsigned int","return":{"type":"git_commit *","comment":"a pointer to the commit; NULL if out of bounds"},"description":"Get the specified parent of the commit.\n@param commit a previously loaded commit.\n@param n the position of the entry\n@return a pointer to the commit; NULL if out of bounds","comments":"","group":"commit"},"git_commit_add_parent":{"type":"function","file":"commit.h","line":152,"lineto":152,"args":[{"name":"commit","type":"git_commit *","comment":"the commit object"},{"name":"new_parent","type":"git_commit *","comment":"the new commit which will be a parent"}],"argline":"git_commit *commit, git_commit *new_parent","sig":"git_commit *::git_commit *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Add a new parent commit to an existing commit\n@param commit the commit object\n@param new_parent the new commit which will be a parent\n@return 0 on success; error code otherwise","comments":"","group":"commit"},"git_commit_set_message":{"type":"function","file":"commit.h","line":159,"lineto":159,"args":[{"name":"commit","type":"git_commit *","comment":"the commit object"},{"name":"message","type":"const char *","comment":"the new message"}],"argline":"git_commit *commit, const char *message","sig":"git_commit *::const char *","return":{"type":"void"},"description":"Set the message of a commit\n@param commit the commit object\n@param message the new message","comments":"","group":"commit"},"git_commit_set_committer":{"type":"function","file":"commit.h","line":166,"lineto":166,"args":[{"name":"commit","type":"git_commit *","comment":"the commit object"},{"name":"committer_sig","type":"const git_signature *"}],"argline":"git_commit *commit, const git_signature *committer_sig","sig":"git_commit *::const git_signature *","return":{"type":"void"},"description":"Set the committer of a commit\n@param commit the commit object\n@param author_sig signature of the committer","comments":"","group":"commit"},"git_commit_set_author":{"type":"function","file":"commit.h","line":173,"lineto":173,"args":[{"name":"commit","type":"git_commit *","comment":"the commit object"},{"name":"author_sig","type":"const git_signature *","comment":"signature of the author"}],"argline":"git_commit *commit, const git_signature *author_sig","sig":"git_commit *::const git_signature *","return":{"type":"void"},"description":"Set the author of a commit\n@param commit the commit object\n@param author_sig signature of the author","comments":"","group":"commit"},"git_commit_set_tree":{"type":"function","file":"commit.h","line":180,"lineto":180,"args":[{"name":"commit","type":"git_commit *","comment":"the commit object"},{"name":"tree","type":"git_tree *","comment":"the new tree"}],"argline":"git_commit *commit, git_tree *tree","sig":"git_commit *::git_tree *","return":{"type":"void"},"description":"Set the tree which is pointed to by a commit\n@param commit the commit object\n@param tree the new tree","comments":"","group":"commit"},"git_blob_lookup":{"type":"function","file":"blob.h","line":52,"lineto":55,"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 on success; error code otherwise"},"description":"Lookup a blob object from a repository.\nThe generated blob object is owned by the revision\nrepo and shall not be freed by the user.","comments":"","group":"blob"},"git_blob_new":{"type":"function","file":"blob.h","line":68,"lineto":71,"args":[{"name":"blob","type":"git_blob **","comment":"pointer to the new blob"},{"name":"repo","type":"git_repository *","comment":"The repository where the object will reside"}],"argline":"git_blob **blob, git_repository *repo","sig":"git_blob **::git_repository *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Create a new in-memory git_blob.","comments":"The blob object must be manually filled using\nthe 'set_rawcontent' methods before it can\nbe written back to disk.\n","group":"blob"},"git_blob_set_rawcontent_fromfile":{"type":"function","file":"blob.h","line":81,"lineto":81,"args":[{"name":"blob","type":"git_blob *","comment":"pointer to the new blob"},{"name":"filename","type":"const char *","comment":"name of the file to read"}],"argline":"git_blob *blob, const char *filename","sig":"git_blob *::const char *","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Fill a blob with the contents inside\nthe pointed file.","comments":"","group":"blob"},"git_blob_set_rawcontent":{"type":"function","file":"blob.h","line":92,"lineto":92,"args":[{"name":"blob","type":"git_blob *","comment":"pointer to the blob"},{"name":"buffer","type":"const void *","comment":"buffer with the contents for the blob"},{"name":"len","type":"size_t","comment":"size of the buffer"}],"argline":"git_blob *blob, const void *buffer, size_t len","sig":"git_blob *::const void *::size_t","return":{"type":"int","comment":"0 on success; error code otherwise"},"description":"Fill a blob with the contents inside\nthe pointed buffer","comments":"","group":"blob"},"git_blob_rawcontent":{"type":"function","file":"blob.h","line":105,"lineto":105,"args":[{"name":"blob","type":"git_blob *","comment":"pointer to the blob"}],"argline":"git_blob *blob","sig":"git_blob *","return":{"type":"const char *","comment":"the pointer; NULL if the blob has no contents"},"description":"Get a read-only buffer with the raw content of a blob.","comments":"A pointer to the raw content of a blob is returned;\nthis pointer is owned internally by the object and shall\nnot be free'd. The pointer may be invalidated at a later\ntime (e.g. when changing the contents of the blob).\n","group":"blob"},"git_blob_rawsize":{"type":"function","file":"blob.h","line":113,"lineto":113,"args":[{"name":"blob","type":"git_blob *","comment":"pointer to the blob"}],"argline":"git_blob *blob","sig":"git_blob *","return":{"type":"int","comment":"size on bytes"},"description":"Get the size in bytes of the contents of a blob","comments":"","group":"blob"},"git_blob_writefile":{"type":"function","file":"blob.h","line":124,"lineto":124,"args":[{"name":"written_id","type":"git_oid *","comment":"return the id of the written blob"},{"name":"repo","type":"git_repository *","comment":"repository where the blob will be written"},{"name":"path","type":"const char *","comment":"file from which the blob will be created"}],"argline":"git_oid *written_id, git_repository *repo, const char *path","sig":"git_oid *::git_repository *::const char *","return":{"type":"int"},"description":"Read a file from the working folder of a repository\nand write it to the Object Database as a loose blob,\nif such doesn't exist yet.","comments":"","group":"blob"}},"globals":{"GIT_SORT_NONE":{"value":"(0)","file":"revwalk.h","line":46,"comments":"Sort the repository contents in no particular ordering;\nthis sorting is arbitrary, implementation-specific\nand subject to change at any time.\nThis is the default sorting for new walkers."},"GIT_SORT_TOPOLOGICAL":{"value":"(1 << 0)","file":"revwalk.h","line":53,"comments":"Sort the repository contents in topological order\n(parents before children); this sorting mode\ncan be combined with time sorting."},"GIT_SORT_TIME":{"value":"(1 << 1)","file":"revwalk.h","line":60,"comments":"Sort the repository contents by commit time;\nthis sorting mode can be combined with\ntopological sorting."},"GIT_SORT_REVERSE":{"value":"(1 << 2)","file":"revwalk.h","line":67,"comments":"Iterate through the repository contents in reverse\norder; this sorting mode can be combined with\nany of the above."},"GIT_OID_RAWSZ":{"value":"20","file":"oid.h","line":41,"comments":"Size (in bytes) of a raw/binary oid"},"GIT_OID_HEXSZ":{"value":"(GIT_OID_RAWSZ * 2)","file":"oid.h","line":44,"comments":"Size (in bytes) of a hex formatted oid"},"GIT_BEGIN_DECL":{"value":"","file":"common.h","line":36,"comments":"Start declarations in C mode"},"GIT_END_DECL":{"value":"","file":"common.h","line":38,"comments":"End declarations in C mode"},"GIT_EXTERN(type)":{"value":"extern __attribute__((visibility(\"default\"))) type","file":"common.h","line":42,"comments":"Declare a public function exported for application use."},"GIT_EXTERN_TLS(type)":{"value":"extern __attribute__((visibility(\"default\"))) GIT_TLS type","file":"common.h","line":53,"comments":"Declare a public TLS symbol exported for application use."},"GIT_INLINE(type)":{"value":"static __inline type","file":"common.h","line":65,"comments":"Declare a function as always inlined."},"GIT_FORMAT_PRINTF(a,b)":{"value":"__attribute__((format (printf, a, b)))","file":"common.h","line":72,"comments":"Declare a function's takes printf style arguments."},"GIT_SUCCESS":{"value":"0","file":"common.h","line":87,"comments":"Operation completed successfully."},"GIT_ERROR":{"value":"-1","file":"common.h","line":95,"comments":"Operation failed, with unspecified reason.\nThis value also serves as the base error code; all other\nerror codes are subtracted from it such that all errors\nare < 0, in typical POSIX C tradition."},"GIT_ENOTOID":{"value":"(GIT_ERROR - 1)","file":"common.h","line":98,"comments":"Input was not a properly formatted Git object id."},"GIT_ENOTFOUND":{"value":"(GIT_ERROR - 2)","file":"common.h","line":101,"comments":"Input does not exist in the scope searched."},"GIT_ENOMEM":{"value":"(GIT_ERROR - 3)","file":"common.h","line":104,"comments":"Not enough space available."},"GIT_EOSERR":{"value":"(GIT_ERROR - 4)","file":"common.h","line":107,"comments":"Consult the OS error information."},"GIT_EOBJTYPE":{"value":"(GIT_ERROR - 5)","file":"common.h","line":110,"comments":"The specified object is of invalid type"},"GIT_EOBJCORRUPTED":{"value":"(GIT_ERROR - 6)","file":"common.h","line":113,"comments":"The specified object has its data corrupted"},"GIT_ENOTAREPO":{"value":"(GIT_ERROR - 7)","file":"common.h","line":116,"comments":"The specified repository is invalid"},"GIT_EINVALIDTYPE":{"value":"(GIT_ERROR - 8)","file":"common.h","line":119,"comments":"The object type is invalid or doesn't match"},"GIT_EMISSINGOBJDATA":{"value":"(GIT_ERROR - 9)","file":"common.h","line":122,"comments":"The object cannot be written that because it's missing internal data"},"GIT_EPACKCORRUPTED":{"value":"(GIT_ERROR - 10)","file":"common.h","line":125,"comments":"The packfile for the ODB is corrupted"},"GIT_EFLOCKFAIL":{"value":"(GIT_ERROR - 11)","file":"common.h","line":128,"comments":"Failed to adquire or release a file lock"},"GIT_EZLIB":{"value":"(GIT_ERROR - 12)","file":"common.h","line":131,"comments":"The Z library failed to inflate/deflate an object's data"},"GIT_EBUSY":{"value":"(GIT_ERROR - 13)","file":"common.h","line":134,"comments":"The queried object is currently busy"},"GIT_EBAREINDEX":{"value":"(GIT_ERROR - 14)","file":"common.h","line":137,"comments":"The index file is not backed up by an existing repository"},"GIT_EINVALIDREFNAME":{"value":"(GIT_ERROR - 15)","file":"common.h","line":140,"comments":"The name of the reference is not valid"},"GIT_EREFCORRUPTED":{"value":"(GIT_ERROR - 16)","file":"common.h","line":143,"comments":"The specified reference has its data corrupted"},"GIT_ETOONESTEDSYMREF":{"value":"(GIT_ERROR - 17)","file":"common.h","line":146,"comments":"The specified symbolic reference is too deeply nested"},"GIT_EPACKEDREFSCORRUPTED":{"value":"(GIT_ERROR - 18)","file":"common.h","line":149,"comments":"The pack-refs file is either corrupted of its format is not currently supported"},"GIT_EINVALIDPATH":{"value":"(GIT_ERROR - 19)","file":"common.h","line":152,"comments":"The path is invalid"},"GIT_EREVWALKOVER":{"value":"(GIT_ERROR - 20)","file":"common.h","line":155,"comments":"The revision walker is empty; there are no more commits left to iterate"},"GIT_EINVALIDREFSTATE":{"value":"(GIT_ERROR - 21)","file":"common.h","line":158,"comments":"The state of the reference is not valid"}},"types":[["git_blob",{"type":"struct","value":"git_blob","file":"types.h","line":111,"lineto":111,"block":"","tdef":"typedef","comments":"In-memory representation of a blob object.","used":{"returns":[],"needs":["git_blob_lookup","git_blob_new","git_blob_rawcontent","git_blob_rawsize","git_blob_set_rawcontent","git_blob_set_rawcontent_fromfile"]}}],["git_commit",{"type":"struct","value":"git_commit","file":"types.h","line":114,"lineto":114,"block":"","tdef":"typedef","comments":"Parsed representation of a commit object.","used":{"returns":["git_commit_parent"],"needs":["git_commit_add_parent","git_commit_author","git_commit_committer","git_commit_id","git_commit_lookup","git_commit_message","git_commit_message_short","git_commit_new","git_commit_parent","git_commit_parentcount","git_commit_set_author","git_commit_set_committer","git_commit_set_message","git_commit_set_tree","git_commit_time","git_commit_time_offset","git_commit_tree","git_revwalk_hide","git_revwalk_next","git_revwalk_push"]}}],["git_index",{"type":"struct","value":"git_index","file":"types.h","line":123,"lineto":123,"block":"","tdef":"typedef","comments":"Memory representation of an index file.","used":{"returns":[],"needs":["git_index_add","git_index_clear","git_index_entrycount","git_index_find","git_index_free","git_index_get","git_index_insert","git_index_open_bare","git_index_open_inrepo","git_index_read","git_index_remove","git_index_write","git_repository_index"]}}],["git_index_entry",{"type":"struct","value":"git_index_entry","file":"index.h","line":55,"lineto":72,"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","comments":"Memory representation of a file entry in the index.","used":{"returns":["git_index_get"],"needs":["git_index_insert"]}}],["git_index_time",{"type":"struct","value":"git_index_time","file":"index.h","line":48,"lineto":52,"block":"git_time_t seconds\nunsigned int nanoseconds","tdef":"typedef","comments":"Time used in a git index entry","used":{"returns":[],"needs":[]}}],["git_object",{"type":"struct","value":"git_object","file":"types.h","line":102,"lineto":102,"block":"","tdef":"typedef","comments":"Representation of a generic object in a repository","used":{"returns":["git_tag_target"],"needs":["git_object_close","git_object_id","git_object_lookup","git_object_new","git_object_owner","git_object_type","git_object_write","git_tag_set_target","git_tree_entry_2object"]}}],["git_odb",{"type":"struct","value":"git_odb","file":"types.h","line":90,"lineto":90,"block":"","tdef":"typedef","comments":"An open object database handle.","used":{"returns":["git_repository_database"],"needs":["git_odb_add_alternate","git_odb_add_backend","git_odb_close","git_odb_exists","git_odb_new","git_odb_open","git_odb_read","git_odb_read_header","git_odb_write","git_repository_open3"]}}],["git_odb_backend",{"type":"struct","value":"git_odb_backend","file":"odb_backend.h","line":43,"lineto":77,"block":"git_odb *odb\nint (* read)(git_rawobj *, struct git_odb_backend *, const git_oid *)\nint (* read_header)(git_rawobj *, struct git_odb_backend *, const git_oid *)\nint (* write)(git_oid *id, struct git_odb_backend *, git_rawobj *obj)\nint (* exists)(struct git_odb_backend *, const git_oid *)\nvoid (* free)(struct git_odb_backend *)","tdef":null,"comments":"An instance for a custom backend","used":{"returns":[],"needs":["git_odb_add_alternate","git_odb_add_backend"]}}],["git_oid",{"type":"struct","value":"git_oid","file":"oid.h","line":47,"lineto":50,"block":"unsigned char id[GIT_OID_RAWSZ]","tdef":"typedef","comments":"Unique identity of any object (commit, tree, blob, tag).","used":{"returns":["git_commit_id","git_object_id","git_reference_oid","git_tag_id","git_tree_entry_id","git_tree_id"],"needs":["git_blob_lookup","git_blob_writefile","git_commit_lookup","git_object_lookup","git_odb_exists","git_odb_read","git_odb_read_header","git_odb_write","git_oid_allocfmt","git_oid_cmp","git_oid_cpy","git_oid_fmt","git_oid_mkraw","git_oid_mkstr","git_oid_pathfmt","git_oid_to_string","git_rawobj_hash","git_reference_create_oid","git_reference_set_oid","git_tag_lookup","git_tree_add_entry","git_tree_entry_set_id","git_tree_lookup"]}}],["git_otype",{"type":"enum","file":"types.h","line":76,"lineto":87,"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","comments":"Basic type (loose or packed) of any Git object.","used":{"returns":[],"needs":["git_object__size","git_object_lookup","git_object_new","git_object_type2string","git_object_typeisloose"]}}],["git_rawobj",{"type":"struct","value":"git_rawobj","file":"odb.h","line":108,"lineto":112,"block":"void *data\nsize_t len\ngit_otype type","tdef":"typedef","comments":"An object read from the database.","used":{"returns":[],"needs":["git_odb_read","git_odb_read_header","git_odb_write","git_rawobj_close","git_rawobj_hash"]}}],["git_reference",{"type":"struct","value":"git_reference","file":"types.h","line":139,"lineto":139,"block":"","tdef":"typedef","comments":"In-memory representation of a reference.","used":{"returns":[],"needs":["git_reference_create_oid","git_reference_create_symbolic","git_reference_delete","git_reference_lookup","git_reference_name","git_reference_oid","git_reference_owner","git_reference_rename","git_reference_resolve","git_reference_set_oid","git_reference_set_target","git_reference_target","git_reference_type"]}}],["git_repository",{"type":"struct","value":"git_repository","file":"types.h","line":99,"lineto":99,"block":"","tdef":"typedef","comments":"Representation of an existing git repository,\nincluding all its object contents","used":{"returns":["git_object_owner","git_reference_owner","git_revwalk_repository"],"needs":["git_blob_lookup","git_blob_new","git_blob_writefile","git_commit_lookup","git_commit_new","git_index_open_inrepo","git_object_lookup","git_object_new","git_reference_create_oid","git_reference_create_symbolic","git_reference_lookup","git_reference_packall","git_repository_database","git_repository_free","git_repository_index","git_repository_init","git_repository_open","git_repository_open2","git_repository_open3","git_revwalk_new","git_tag_lookup","git_tag_new","git_tree_lookup","git_tree_new"]}}],["git_revwalk",{"type":"struct","value":"git_revwalk","file":"types.h","line":105,"lineto":105,"block":"","tdef":"typedef","comments":"Representation of an in-progress walk through the commits in a repo","used":{"returns":[],"needs":["git_revwalk_free","git_revwalk_hide","git_revwalk_new","git_revwalk_next","git_revwalk_push","git_revwalk_repository","git_revwalk_reset","git_revwalk_sorting"]}}],["git_rtype",{"type":"enum","file":"types.h","line":142,"lineto":148,"block":"GIT_REF_INVALID\nGIT_REF_OID\nGIT_REF_SYMBOLIC\nGIT_REF_PACKED\nGIT_REF_HAS_PEEL","tdef":"typedef","comments":"Basic type of any Git reference.","used":{"returns":[],"needs":[]}}],["git_signature",{"type":"struct","value":"git_signature","file":"types.h","line":132,"lineto":136,"block":"char *name\nchar *email\ngit_time when","tdef":"typedef","comments":"An action signature (e.g. for committers, taggers, etc)","used":{"returns":["git_commit_author","git_commit_committer","git_signature_dup","git_signature_new","git_tag_tagger"],"needs":["git_commit_set_author","git_commit_set_committer","git_signature_dup","git_signature_free","git_tag_set_tagger"]}}],["git_tag",{"type":"struct","value":"git_tag","file":"types.h","line":108,"lineto":108,"block":"","tdef":"typedef","comments":"Parsed representation of a tag object.","used":{"returns":[],"needs":["git_tag_id","git_tag_lookup","git_tag_message","git_tag_name","git_tag_new","git_tag_set_message","git_tag_set_name","git_tag_set_tagger","git_tag_set_target","git_tag_tagger","git_tag_target","git_tag_type"]}}],["git_time",{"type":"struct","value":"git_time","file":"types.h","line":126,"lineto":129,"block":"time_t time\nint offset","tdef":"typedef","comments":"Time in a signature","used":{"returns":[],"needs":[]}}],["git_tree",{"type":"struct","value":"git_tree","file":"types.h","line":120,"lineto":120,"block":"","tdef":"typedef","comments":"Representation of a tree object.","used":{"returns":["git_commit_tree"],"needs":["git_commit_set_tree","git_tree_add_entry","git_tree_clear_entries","git_tree_entry_byindex","git_tree_entry_byname","git_tree_entrycount","git_tree_id","git_tree_lookup","git_tree_new","git_tree_remove_entry_byindex","git_tree_remove_entry_byname"]}}],["git_tree_entry",{"type":"struct","value":"git_tree_entry","file":"types.h","line":117,"lineto":117,"block":"","tdef":"typedef","comments":"Representation of each one of the entries in a tree object.","used":{"returns":["git_tree_entry_byindex","git_tree_entry_byname"],"needs":["git_tree_add_entry","git_tree_entry_2object","git_tree_entry_attributes","git_tree_entry_id","git_tree_entry_name","git_tree_entry_set_attributes","git_tree_entry_set_id","git_tree_entry_set_name"]}}]],"prefix":"include/git2","groups":[["blob",["git_blob_lookup","git_blob_new","git_blob_rawcontent","git_blob_rawsize","git_blob_set_rawcontent","git_blob_set_rawcontent_fromfile","git_blob_writefile"]],["commit",["git_commit_add_parent","git_commit_author","git_commit_committer","git_commit_id","git_commit_lookup","git_commit_message","git_commit_message_short","git_commit_new","git_commit_parent","git_commit_parentcount","git_commit_set_author","git_commit_set_committer","git_commit_set_message","git_commit_set_tree","git_commit_time","git_commit_time_offset","git_commit_tree"]],["errors",["git_strerror"]],["index",["git_index_add","git_index_clear","git_index_entrycount","git_index_find","git_index_free","git_index_get","git_index_insert","git_index_open_bare","git_index_open_inrepo","git_index_read","git_index_remove","git_index_write"]],["object",["git_object__size","git_object_close","git_object_id","git_object_lookup","git_object_new","git_object_owner","git_object_string2type","git_object_type","git_object_type2string","git_object_typeisloose","git_object_write"]],["odb",["git_odb_add_alternate","git_odb_add_backend","git_odb_close","git_odb_exists","git_odb_new","git_odb_open","git_odb_read","git_odb_read_header","git_odb_write"]],["oid",["git_oid_allocfmt","git_oid_cmp","git_oid_cpy","git_oid_fmt","git_oid_mkraw","git_oid_mkstr","git_oid_pathfmt","git_oid_to_string"]],["rawobj",["git_rawobj_close","git_rawobj_hash"]],["reference",["git_reference_create_oid","git_reference_create_symbolic","git_reference_delete","git_reference_lookup","git_reference_name","git_reference_oid","git_reference_owner","git_reference_packall","git_reference_rename","git_reference_resolve","git_reference_set_oid","git_reference_set_target","git_reference_target","git_reference_type"]],["repository",["git_repository_database","git_repository_free","git_repository_index","git_repository_init","git_repository_open","git_repository_open2","git_repository_open3"]],["revwalk",["git_revwalk_free","git_revwalk_hide","git_revwalk_new","git_revwalk_next","git_revwalk_push","git_revwalk_repository","git_revwalk_reset","git_revwalk_sorting"]],["signature",["git_signature_dup","git_signature_free","git_signature_new"]],["tag",["git_tag_id","git_tag_lookup","git_tag_message","git_tag_name","git_tag_new","git_tag_set_message","git_tag_set_name","git_tag_set_tagger","git_tag_set_target","git_tag_tagger","git_tag_target","git_tag_type"]],["tree",["git_tree_add_entry","git_tree_clear_entries","git_tree_entry_2object","git_tree_entry_attributes","git_tree_entry_byindex","git_tree_entry_byname","git_tree_entry_id","git_tree_entry_name","git_tree_entry_set_attributes","git_tree_entry_set_id","git_tree_entry_set_name","git_tree_entrycount","git_tree_id","git_tree_lookup","git_tree_new","git_tree_remove_entry_byindex","git_tree_remove_entry_byname"]],["zlib",["deflateBound"]]]} \ No newline at end of file