{"files":[{"file":"git2/blob.h","functions":["git_blob_lookup","git_blob_close","git_blob_rawcontent","git_blob_rawsize","git_blob_create_fromfile"],"meta":{},"lines":105},{"file":"git2/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":{},"lines":278},{"file":"git2/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":{},"lines":194},{"file":"git2/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"],"meta":{},"lines":128},{"file":"git2/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_exists","git_odb_open_rstream","git_odb_object_close","git_odb_object_id","git_odb_object_data","git_odb_object_type"],"meta":{},"lines":298},{"file":"git2/odb_backend.h","functions":[],"meta":{},"lines":98},{"file":"git2/oid.h","functions":["git_oid_mkstr","git_oid_mkraw","git_oid_fmt","git_oid_pathfmt","git_oid_allocfmt","git_oid_cpy","git_oid_cmp","git_oid_shorten_add","git_oid_shorten_free"],"meta":{},"lines":187},{"file":"git2/refs.h","functions":["git_reference_lookup","git_reference_create_symbolic","git_reference_create_oid","git_reference_oid","git_reference_target","git_reference_type","git_reference_name","git_reference_resolve","git_reference_owner","git_reference_set_target","git_reference_set_oid","git_reference_rename","git_reference_delete","git_reference_packall","git_reference_listall","git_reference_listcb"],"meta":{},"lines":265},{"file":"git2/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":{},"lines":183},{"file":"git2/revwalk.h","functions":["git_revwalk_new","git_revwalk_reset","git_revwalk_push","git_revwalk_hide","git_revwalk_next","git_revwalk_sorting","git_revwalk_free","git_revwalk_repository"],"meta":{},"lines":183},{"file":"git2/signature.h","functions":["git_signature_new","git_signature_dup","git_signature_free"],"meta":{},"lines":66},{"file":"git2/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":{},"lines":189},{"file":"git2/tree.h","functions":["git_tree_lookup","git_tree_close","git_tree_id","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":{},"lines":139},{"file":"git2/types.h","functions":[],"meta":{},"lines":154}],"functions":{"git_blob_lookup":{"type":"function","file":"git2/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.

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

Close an open blob

\n","comments":"

This is a wrapper around git_object_close()

\n\n

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

\n","group":"blob"},"git_blob_rawcontent":{"type":"function","file":"git2/blob.h","line":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.

\n","comments":"

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

\n","group":"blob"},"git_blob_rawsize":{"type":"function","file":"git2/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

\n","comments":"","group":"blob"},"git_blob_create_fromfile":{"type":"function","file":"git2/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.\n\tthis repository cannot be bare"},{"name":"path","type":"const char *","comment":"file from which the blob will be created,\n\trelative to the repository's working dir"}],"argline":"git_oid *oid, git_repository *repo, const char *path","sig":"git_oid *::git_repository *::const char *","return":{"type":"int","comment":" 0 on success; error code otherwise"},"description":"

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

\n","comments":"","group":"blob"},"git_commit_lookup":{"type":"function","file":"git2/commit.h","line":51,"lineto":54,"args":[{"name":"commit","type":"git_commit **","comment":"pointer to the looked up commit"},{"name":"repo","type":"git_repository *","comment":"the repo to use when locating the commit."},{"name":"id","type":"const git_oid *","comment":"identity of the commit to locate. If the object is\n 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.

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

Close an open commit

\n","comments":"

This is a wrapper around git_object_close()

\n\n

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

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

Get the id of a commit.

\n","comments":"","group":"commit"},"git_commit_message_short":{"type":"function","file":"git2/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.

\n","comments":"","group":"commit"},"git_commit_message":{"type":"function","file":"git2/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.

\n","comments":"","group":"commit"},"git_commit_time":{"type":"function","file":"git2/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.

\n","comments":"","group":"commit"},"git_commit_time_offset":{"type":"function","file":"git2/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.

\n","comments":"","group":"commit"},"git_commit_committer":{"type":"function","file":"git2/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.

\n","comments":"","group":"commit"},"git_commit_author":{"type":"function","file":"git2/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.

\n","comments":"","group":"commit"},"git_commit_tree":{"type":"function","file":"git2/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.

\n","comments":"","group":"commit"},"git_commit_parentcount":{"type":"function","file":"git2/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

\n","comments":"","group":"commit"},"git_commit_parent":{"type":"function","file":"git2/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.

\n","comments":"","group":"commit"},"git_commit_create":{"type":"function","file":"git2/commit.h","line":195,"lineto":204,"args":[{"name":"oid","type":"git_oid *","comment":"Pointer where to store the OID of the\n\tnewly created commit"},{"name":"repo","type":"git_repository *","comment":"Repository where to store the commit"},{"name":"update_ref","type":"const char *","comment":"If not NULL, name of the reference that\n\twill be updated to point to this commit. If the reference\n\tis not direct, it will be resolved to a direct reference.\n\tUse \"HEAD\" to update the HEAD of the current branch and\n\tmake it point to this commit"},{"name":"author","type":"const git_signature *","comment":"Signature representing the author and the authory\n\ttime of this commit"},{"name":"committer","type":"const git_signature *","comment":"Signature representing the committer and the\n commit time of this commit"},{"name":"message","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\n no validation is performed on this OID. Use the _o variants of\n this method to assure a proper tree is passed to the commit."},{"name":"parent_count","type":"int","comment":"Number of parents for this commit"},{"name":"parent_oids","type":"const git_oid *[]","comment":null}],"argline":"git_oid *oid, git_repository *repo, const char *update_ref, const git_signature *author, const git_signature *committer, const char *message, const git_oid *tree_oid, int parent_count, const git_oid *[] parent_oids","sig":"git_oid *::git_repository *::const char *::const git_signature *::const git_signature *::const char *::const git_oid *::int::const git_oid *[]","return":{"type":"int","comment":" 0 on success; error code otherwise\n\tThe created commit will be written to the Object Database and\n\tthe given reference will be updated to point to it"},"description":"

Create a new commit in the repository

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

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

\n","comments":"

The tree_oid and parent_oids paremeters now take a instance of git_tree and git_commit, respectively.

\n\n

All other parameters remain the same

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

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

\n","comments":"

The tree_oid paremeter now takes a instance of const git_tree *.

\n\n

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

\n\n

All other parameters remain the same

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

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

\n","comments":"

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

\n\n

All other parameters remain the same

\n","group":"commit"},"git_index_open_bare":{"type":"function","file":"git2/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\n of the Git index file in 'index_path', without a repository\n to back it.

\n","comments":"

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

\n","group":"index"},"git_index_open_inrepo":{"type":"function","file":"git2/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\n by 'repo'.

\n","comments":"","group":"index"},"git_index_clear":{"type":"function","file":"git2/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","comment":null},"description":"

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

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

Free an existing index object.

\n","comments":"","group":"index"},"git_index_read":{"type":"function","file":"git2/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\n by reading from the hard disk.

\n","comments":"","group":"index"},"git_index_write":{"type":"function","file":"git2/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\n using an atomic file lock.

\n","comments":"","group":"index"},"git_index_find":{"type":"function","file":"git2/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\n path in the Git index.

\n","comments":"","group":"index"},"git_index_add":{"type":"function","file":"git2/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.

\n","comments":"","group":"index"},"git_index_remove":{"type":"function","file":"git2/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

\n","comments":"","group":"index"},"git_index_insert":{"type":"function","file":"git2/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.\n A full copy (including the 'path' string) of the given\n 'source_entry' will be inserted on the index; if the index\n already contains an entry for the same path, the entry\n will be updated.

\n","comments":"","group":"index"},"git_index_get":{"type":"function","file":"git2/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

\n","comments":"

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

\n","group":"index"},"git_index_entrycount":{"type":"function","file":"git2/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

\n","comments":"","group":"index"},"git_object_lookup":{"type":"function","file":"git2/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.

\n","comments":"

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

\n\n

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

\n","group":"object"},"git_object_id":{"type":"function","file":"git2/object.h","line":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

\n","comments":"","group":"object"},"git_object_type":{"type":"function","file":"git2/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

\n","comments":"","group":"object"},"git_object_owner":{"type":"function","file":"git2/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

\n","comments":"","group":"object"},"git_object_close":{"type":"function","file":"git2/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","comment":null},"description":"

Close an open object

\n","comments":"

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

\n\n

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

\n","group":"object"},"git_object_type2string":{"type":"function","file":"git2/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.

\n","comments":"

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

\n","group":"object"},"git_object_string2type":{"type":"function","file":"git2/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.

\n","comments":"","group":"object"},"git_object_typeisloose":{"type":"function","file":"git2/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,\n false otherwise."},"description":"

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

\n","comments":"","group":"object"},"git_odb_new":{"type":"function","file":"git2/odb.h","line":53,"lineto":53,"args":[{"name":"out","type":"git_odb **","comment":"location to store the database pointer, if opened.\n 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\n code describing why the open was not possible."},"description":"

Create a new object database with no backends.

\n","comments":"

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

\n","group":"odb"},"git_odb_open":{"type":"function","file":"git2/odb.h","line":72,"lineto":72,"args":[{"name":"out","type":"git_odb **","comment":"location to store the database pointer, if opened.\n 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\n code describing why the open was not possible."},"description":"

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

\n","comments":"
- git_odb_backend_loose: read and write loose object files      from disk, assuming `objects_dir` as the Objects folder\n\n- git_odb_backend_pack: read objects from packfiles,        assuming `objects_dir` as the Objects folder which      contains a 'pack/' folder with the corresponding data\n
\n","group":"odb"},"git_odb_add_backend":{"type":"function","file":"git2/odb.h","line":83,"lineto":83,"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":null}],"argline":"git_odb *odb, git_odb_backend *backend, int priority","sig":"git_odb *::git_odb_backend *::int","return":{"type":"int","comment":" 0 on sucess; error code otherwise"},"description":"

Add a custom backend to an existing Object DB

\n","comments":"

Read for more information.

\n","group":"odb"},"git_odb_add_alternate":{"type":"function","file":"git2/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 *","comment":"pointer to a git_odb_backend instance"},{"name":"priority","type":"int","comment":null}],"argline":"git_odb *odb, git_odb_backend *backend, int priority","sig":"git_odb *::git_odb_backend *::int","return":{"type":"int","comment":" 0 on sucess; error code otherwise"},"description":"

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

\n","comments":"

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

\n\n

Writing is disabled on alternate backends.

\n\n

Read for more information.

\n","group":"odb"},"git_odb_close":{"type":"function","file":"git2/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","comment":null},"description":"

Close an open object database.

\n","comments":"","group":"odb"},"git_odb_read":{"type":"function","file":"git2/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;\n - GIT_ENOTFOUND if the object is not in the database."},"description":"

Read an object from the database.

\n","comments":"

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

\n\n

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

\n","group":"odb"},"git_odb_exists":{"type":"function","file":"git2/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\n - 0, otherwise"},"description":"

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

\n","comments":"","group":"odb"},"git_odb_open_rstream":{"type":"function","file":"git2/odb.h","line":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

\n","comments":"

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

\n\n

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

\n\n

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

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

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

\n","group":"odb"},"git_odb_object_close":{"type":"function","file":"git2/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","comment":null},"description":"

Close an ODB object

\n","comments":"

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

\n","group":"odb"},"git_odb_object_id":{"type":"function","file":"git2/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

\n","comments":"

This is the OID from which the object was read from

\n","group":"odb"},"git_odb_object_data":{"type":"function","file":"git2/odb.h","line":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

\n","comments":"

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

\n\n

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

\n","group":"odb"},"git_odb_object_type":{"type":"function","file":"git2/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

\n","comments":"","group":"odb"},"git_oid_mkstr":{"type":"function","file":"git2/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\n the hex sequence and have at least the number of bytes\n 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","comments":"","group":"oid"},"git_oid_mkraw":{"type":"function","file":"git2/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","comment":null},"description":"

Copy an already raw oid into a git_oid structure.

\n","comments":"","group":"oid"},"git_oid_fmt":{"type":"function","file":"git2/oid.h","line":78,"lineto":78,"args":[{"name":"str","type":"char *","comment":"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 '\n\\\n0' terminator must be added\n 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","comment":null},"description":"

Format a git_oid into a hex string.

\n","comments":"","group":"oid"},"git_oid_pathfmt":{"type":"function","file":"git2/oid.h","line":93,"lineto":93,"args":[{"name":"str","type":"char *","comment":"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 (41 bytes). Only the\n oid digits are written; a '\n\\\n0' terminator must be added\n 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","comment":null},"description":"

Format a git_oid into a loose-object path string.

\n\n

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

\n","comments":"","group":"oid"},"git_oid_allocfmt":{"type":"function","file":"git2/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\n deallocate the string with free()."},"description":"

Format a gid_oid into a newly allocated c-string.

\n","comments":"","group":"oid"},"git_oid_cpy":{"type":"function","file":"git2/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","comment":null},"description":"

Copy an oid from one structure to another.

\n","comments":"","group":"oid"},"git_oid_cmp":{"type":"function","file":"git2/oid.h","line":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":" \n<\n0, 0, >0 if a \n<\n b, a == b, a > b."},"description":"

Compare two oid structures.

\n","comments":"","group":"oid"},"git_oid_shorten_add":{"type":"function","file":"git2/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\n\t\tadded so far to the set; or an error code (\n<\n0) if an\n\t\terror occurs."},"description":"

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

\n","comments":"

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

\n\n

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

\n\n

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

\n","group":"oid"},"git_oid_shorten_free":{"type":"function","file":"git2/oid.h","line":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","comment":null},"description":"

Free an OID shortener instance

\n","comments":"","group":"oid"},"git_reference_lookup":{"type":"function","file":"git2/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.

\n","comments":"

The generated reference is owned by the repository and should not be freed by the user.

\n","group":"reference"},"git_reference_create_symbolic":{"type":"function","file":"git2/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.

\n","comments":"

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

\n\n

This reference is owned by the repository and shall not be free'd by the user.

\n","group":"reference"},"git_reference_create_oid":{"type":"function","file":"git2/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.

\n","comments":"

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

\n\n

This reference is owned by the repository and shall not be free'd by the user.

\n","group":"reference"},"git_reference_oid":{"type":"function","file":"git2/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.

\n","comments":"

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

\n","group":"reference"},"git_reference_target":{"type":"function","file":"git2/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

\n","comments":"

Only available if the reference is symbolic

\n","group":"reference"},"git_reference_type":{"type":"function","file":"git2/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

\n","comments":"

Either direct (GIT_REF_OID) or symbolic (GIT_REF_SYMBOLIC)

\n","group":"reference"},"git_reference_name":{"type":"function","file":"git2/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

\n","comments":"","group":"reference"},"git_reference_resolve":{"type":"function","file":"git2/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

\n","comments":"

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

\n\n

If a direct reference is passed as an argument, that reference is returned immediately

\n","group":"reference"},"git_reference_owner":{"type":"function","file":"git2/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

\n","comments":"","group":"reference"},"git_reference_set_target":{"type":"function","file":"git2/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.

\n","comments":"

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

\n\n

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

\n","group":"reference"},"git_reference_set_oid":{"type":"function","file":"git2/refs.h","line":177,"lineto":177,"args":[{"name":"ref","type":"git_reference *","comment":"The reference"},{"name":"id","type":"const git_oid *","comment":null}],"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.

\n","comments":"

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

\n\n

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

\n","group":"reference"},"git_reference_rename":{"type":"function","file":"git2/refs.h","line":190,"lineto":190,"args":[{"name":"ref","type":"git_reference *","comment":null},{"name":"new_name","type":"const char *","comment":null}],"argline":"git_reference *ref, const char *new_name","sig":"git_reference *::const char *","return":{"type":"int","comment":null},"description":"

Rename an existing reference

\n","comments":"

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

\n\n

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

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

Delete an existing reference

\n","comments":"

This method works for both direct and symbolic references.

\n\n

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

\n","group":"reference"},"git_reference_packall":{"type":"function","file":"git2/refs.h","line":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

\n","comments":"

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

\n\n

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

\n\n

WARNING: calling this method may invalidate any existing references previously loaded on the cache.

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

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

\n","comments":"

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

\n\n

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

\n","group":"reference"},"git_reference_listcb":{"type":"function","file":"git2/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\n\t\tlisting."},{"name":"callback","type":"int (*)(const char *, void *)","comment":"Function which will be called for every listed ref"},{"name":"payload","type":"void *","comment":"Additional data to pass to the callback"}],"argline":"git_repository *repo, unsigned int list_flags, int (*)(const char *, void *) callback, void *payload","sig":"git_repository *::unsigned int::int (*)(const char *, void *)::void *","return":{"type":"int","comment":" 0 on success; error code otherwise"},"description":"

List all the references in the repository, calling a custom\n callback for each one.

\n","comments":"

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

\n\n

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

\n","group":"reference"},"git_repository_open":{"type":"function","file":"git2/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.

\n","comments":"

The 'path' argument must point to an existing git repository folder, e.g.

\n\n
    /path/to/my_repo/.git/  (normal repository)                         objects/                            index                           HEAD\n\n    /path/to/bare_repo/     (bare repository)                       objects/                        index                       HEAD\n\nThe method will automatically detect if 'path' is a normal  or bare repository or fail is 'path' is neither.\n
\n","group":"repository"},"git_repository_open2":{"type":"function","file":"git2/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\n\t\te.g. a '.git' folder for live repos, any folder for bare\n\t\tEquivalent to $GIT_DIR. \n\t\tCannot be NULL."},{"name":"git_object_directory","type":"const char *","comment":"The full path to the ODB folder.\n\t\tthe folder where all the loose and packed objects are stored\n\t\tEquivalent to $GIT_OBJECT_DIRECTORY.\n\t\tIf NULL, \"$GIT_DIR/objects/\" is assumed."},{"name":"git_index_file","type":"const char *","comment":"The full path to the index (dircache) file\n\t\tEquivalent to $GIT_INDEX_FILE.\n\t\tIf NULL, \"$GIT_DIR/index\" is assumed."},{"name":"git_work_tree","type":"const char *","comment":"The full path to the working tree of the repository,\n\t\tif the repository is not bare.\n\t\tEquivalent to $GIT_WORK_TREE.\n\t\tIf NULL, the repository is assumed to be bare."}],"argline":"git_repository **repository, const char *git_dir, const char *git_object_directory, const char *git_index_file, const 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

\n","comments":"","group":"repository"},"git_repository_open3":{"type":"function","file":"git2/repository.h","line":129,"lineto":133,"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\n\t\te.g. a '.git' folder for live repos, any folder for bare\n\t\tEquivalent to $GIT_DIR. \n\t\tCannot be NULL."},{"name":"object_database","type":"git_odb *","comment":"A pointer to a git_odb created \n&\n initialized\n\t\tby the user (e.g. with custom backends). This object database\n\t\twill be owned by the repository and will be automatically free'd.\n\t\tIt should not be manually free'd by the user, or this\n\t\tgit_repository object will become invalid."},{"name":"git_index_file","type":"const char *","comment":"The full path to the index (dircache) file\n\t\tEquivalent to $GIT_INDEX_FILE.\n\t\tIf NULL, \"$GIT_DIR/index\" is assumed."},{"name":"git_work_tree","type":"const char *","comment":"The full path to the working tree of the repository,\n\t\tif the repository is not bare.\n\t\tEquivalent to $GIT_WORK_TREE.\n\t\tIf NULL, the repository is assumed to be bare."}],"argline":"git_repository **repository, const char *git_dir, git_odb *object_database, const char *git_index_file, const 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\n the object database it will use.

\n","comments":"","group":"repository"},"git_repository_database":{"type":"function","file":"git2/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

\n","comments":"","group":"repository"},"git_repository_index":{"type":"function","file":"git2/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

\n","comments":"

This is a cheap operation; the index is only opened on the first call, and subsequent calls only retrieve the previous pointer.

\n","group":"repository"},"git_repository_free":{"type":"function","file":"git2/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","comment":null},"description":"

Free a previously allocated repository

\n","comments":"

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

\n","group":"repository"},"git_repository_init":{"type":"function","file":"git2/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 int","comment":"if true, a Git repository without a working directory is created \n\t\tat the pointed path. If false, provided path will be considered as the working \n\t\tdirectory into which the .git directory will be created."}],"argline":"git_repository **repo_out, const char *path, unsigned int is_bare","sig":"git_repository **::const char *::unsigned int","return":{"type":"int","comment":" 0 on success; error code otherwise"},"description":"

Creates a new Git repository in the given folder.

\n","comments":"

TODO: - Reinit the repository - Create config files

\n","group":"repository"},"git_revwalk_new":{"type":"function","file":"git2/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.

\n","comments":"

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

\n\n

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

\n\n

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

\n","group":"revwalk"},"git_revwalk_reset":{"type":"function","file":"git2/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","comment":null},"description":"

Reset the revision walker for reuse.

\n","comments":"

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

\n\n

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

\n","group":"revwalk"},"git_revwalk_push":{"type":"function","file":"git2/revwalk.h","line":120,"lineto":120,"args":[{"name":"walk","type":"git_revwalk *","comment":null},{"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.

\n","comments":"

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

\n\n

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

\n","group":"revwalk"},"git_revwalk_hide":{"type":"function","file":"git2/revwalk.h","line":136,"lineto":136,"args":[{"name":"walk","type":"git_revwalk *","comment":null},{"name":"oid","type":"const git_oid *","comment":null}],"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.

\n","comments":"

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

\n\n

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

\n","group":"revwalk"},"git_revwalk_next":{"type":"function","file":"git2/revwalk.h","line":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;\n\tGIT_EREVWALKOVER if there are no commits left to iterate"},"description":"

Get the next commit from the revision walk.

\n","comments":"

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

\n\n

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

\n\n

The revision walker is reset when the walk is over.

\n","group":"revwalk"},"git_revwalk_sorting":{"type":"function","file":"git2/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","comment":null},"description":"

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

\n","comments":"

Changing the sorting mode resets the walker.

\n","group":"revwalk"},"git_revwalk_free":{"type":"function","file":"git2/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","comment":null},"description":"

Free a revision walker previously allocated.

\n","comments":"","group":"revwalk"},"git_revwalk_repository":{"type":"function","file":"git2/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\n is operating.

\n","comments":"","group":"revwalk"},"git_signature_new":{"type":"function","file":"git2/signature.h","line":50,"lineto":50,"args":[{"name":"name","type":"const char *","comment":null},{"name":"email","type":"const char *","comment":null},{"name":"time","type":"git_time_t","comment":null},{"name":"offset","type":"int","comment":null}],"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\n manually or using git_signature_free

\n","comments":"

email of the person time when the action happened timezone offset in minutes for the time

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

Create a copy of an existing signature.

\n","comments":"

All internal strings are also duplicated. signature to duplicated

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

Free an existing signature

\n","comments":"

signature to free

\n","group":"signature"},"git_tag_lookup":{"type":"function","file":"git2/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.

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

Close an open tag

\n","comments":"

This is a wrapper around git_object_close()

\n\n

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

\n","group":"tag"},"git_tag_id":{"type":"function","file":"git2/tag.h","line":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.

\n","comments":"","group":"tag"},"git_tag_target":{"type":"function","file":"git2/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":null}],"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","comments":"

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

\n","group":"tag"},"git_tag_target_oid":{"type":"function","file":"git2/tag.h","line":99,"lineto":99,"args":[{"name":"t","type":"git_tag *","comment":null}],"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","comments":"","group":"tag"},"git_tag_type":{"type":"function","file":"git2/tag.h","line":107,"lineto":107,"args":[{"name":"t","type":"git_tag *","comment":null}],"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","comments":"","group":"tag"},"git_tag_name":{"type":"function","file":"git2/tag.h","line":115,"lineto":115,"args":[{"name":"t","type":"git_tag *","comment":null}],"argline":"git_tag *t","sig":"git_tag *","return":{"type":"const char *","comment":" name of the tag"},"description":"

Get the name of a tag

\n","comments":"","group":"tag"},"git_tag_tagger":{"type":"function","file":"git2/tag.h","line":123,"lineto":123,"args":[{"name":"t","type":"git_tag *","comment":null}],"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","comments":"","group":"tag"},"git_tag_message":{"type":"function","file":"git2/tag.h","line":131,"lineto":131,"args":[{"name":"t","type":"git_tag *","comment":null}],"argline":"git_tag *t","sig":"git_tag *","return":{"type":"const char *","comment":" message of the tag"},"description":"

Get the message of a tag

\n","comments":"","group":"tag"},"git_tag_create":{"type":"function","file":"git2/tag.h","line":161,"lineto":168,"args":[{"name":"oid","type":"git_oid *","comment":"Pointer where to store the OID of the\n\tnewly 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\n for consistency"},{"name":"target","type":"const git_oid *","comment":"OID to which this tag points; note that no\n\tvalidation is done on this OID. Use the _o version of this\n\tmethod to assure a proper object is being tagged"},{"name":"target_type","type":"git_otype","comment":"Type of the tagged OID; note that no\n\tvalidation is performed here either"},{"name":"tagger","type":"const git_signature *","comment":"Signature of the tagger for this tag, and\n of the tagging time"},{"name":"message","type":"const char *","comment":"Full message for this tag"}],"argline":"git_oid *oid, git_repository *repo, const char *tag_name, const git_oid *target, git_otype target_type, const git_signature *tagger, const 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.\n\tA tag object is written to the ODB, and a proper reference\n\tis written in the /refs/tags folder, pointing to it"},"description":"

Create a new tag in the repository from an OID

\n","comments":"","group":"tag"},"git_tag_create_o":{"type":"function","file":"git2/tag.h","line":183,"lineto":189,"args":[{"name":"oid","type":"git_oid *","comment":null},{"name":"repo","type":"git_repository *","comment":null},{"name":"tag_name","type":"const char *","comment":null},{"name":"target","type":"const git_object *","comment":null},{"name":"tagger","type":"const git_signature *","comment":null},{"name":"message","type":"const char *","comment":null}],"argline":"git_oid *oid, git_repository *repo, const char *tag_name, const git_object *target, const git_signature *tagger, const char *message","sig":"git_oid *::git_repository *::const char *::const git_object *::const git_signature *::const char *","return":{"type":"int","comment":null},"description":"

Create a new tag in the repository from an existing\n git_object instance

\n","comments":"

This method replaces the target and target_type paremeters of git_tag_create by a single instance of a const git_object *, which is assured to be a proper object in the ODB and hence will create a valid tag

\n","group":"tag"},"git_tree_lookup":{"type":"function","file":"git2/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.

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

Close an open tree

\n","comments":"

This is a wrapper around git_object_close()

\n\n

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

\n","group":"tree"},"git_tree_id":{"type":"function","file":"git2/tree.h","line":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.

\n","comments":"","group":"tree"},"git_tree_entry_byname":{"type":"function","file":"git2/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

\n","comments":"","group":"tree"},"git_tree_entry_byindex":{"type":"function","file":"git2/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

\n","comments":"","group":"tree"},"git_tree_entry_attributes":{"type":"function","file":"git2/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

\n","comments":"","group":"tree"},"git_tree_entry_name":{"type":"function","file":"git2/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

\n","comments":"","group":"tree"},"git_tree_entry_id":{"type":"function","file":"git2/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

\n","comments":"","group":"tree"},"git_tree_entry_2object":{"type":"function","file":"git2/tree.h","line":139,"lineto":139,"args":[{"name":"object_out","type":"git_object **","comment":null},{"name":"repo","type":"git_repository *","comment":"repository where to lookup the pointed object"},{"name":"entry","type":"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.

\n","comments":"","group":"tree"}},"callbacks":{},"globals":{},"types":[["git_blob",{"decl":"git_blob","type":"struct","value":"git_blob","file":"git2/types.h","line":116,"lineto":116,"tdef":"typedef","description":" In-memory representation of a blob object. ","comments":"","used":{"returns":[],"needs":["git_blob_close","git_blob_lookup","git_blob_rawcontent","git_blob_rawsize"]}}],["git_commit",{"decl":"git_commit","type":"struct","value":"git_commit","file":"git2/types.h","line":119,"lineto":119,"tdef":"typedef","description":" Parsed representation of a commit object. ","comments":"","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",{"decl":"git_index","type":"struct","value":"git_index","file":"git2/types.h","line":128,"lineto":128,"tdef":"typedef","description":" Memory representation of an index file. ","comments":"","used":{"returns":["git_index_get"],"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_repository_open2","git_repository_open3"]}}],["git_index_entry",{"decl":["git_index_time ctime","git_index_time mtime","unsigned int dev","unsigned int ino","unsigned int mode","unsigned int uid","unsigned int gid","git_off_t file_size","git_oid oid","unsigned short flags","unsigned short flags_extended","char * path"],"type":"struct","value":"git_index_entry","file":"git2/index.h","line":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","description":" Memory representation of a file entry in the index. ","comments":"","fields":[{"type":"git_index_time","name":"ctime","comments":""},{"type":"git_index_time","name":"mtime","comments":""},{"type":"unsigned int","name":"dev","comments":""},{"type":"unsigned int","name":"ino","comments":""},{"type":"unsigned int","name":"mode","comments":""},{"type":"unsigned int","name":"uid","comments":""},{"type":"unsigned int","name":"gid","comments":""},{"type":"git_off_t","name":"file_size","comments":""},{"type":"git_oid","name":"oid","comments":""},{"type":"unsigned short","name":"flags","comments":""},{"type":"unsigned short","name":"flags_extended","comments":""},{"type":"char *","name":"path","comments":""}],"used":{"returns":["git_index_get"],"needs":["git_index_insert"]}}],["git_index_time",{"decl":["git_time_t seconds","unsigned int nanoseconds"],"type":"struct","value":"git_index_time","file":"git2/index.h","line":48,"lineto":52,"block":"git_time_t seconds\nunsigned int nanoseconds","tdef":"typedef","description":" Time used in a git index entry ","comments":"","fields":[{"type":"git_time_t","name":"seconds","comments":""},{"type":"unsigned int","name":"nanoseconds","comments":""}],"used":{"returns":[],"needs":[]}}],["git_object",{"decl":"git_object","type":"struct","value":"git_object","file":"git2/types.h","line":107,"lineto":107,"tdef":"typedef","description":" Representation of a generic object in a repository ","comments":"","used":{"returns":[],"needs":["git_object_close","git_object_id","git_object_lookup","git_object_owner","git_object_type","git_repository_open2","git_tag_create_o","git_tag_target","git_tree_entry_2object"]}}],["git_odb",{"decl":"git_odb","type":"struct","value":"git_odb","file":"git2/types.h","line":89,"lineto":89,"tdef":"typedef","description":" An open object database handle. ","comments":"","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_object_close","git_odb_object_data","git_odb_object_id","git_odb_object_type","git_odb_open","git_odb_open_rstream","git_odb_read","git_repository_open3"]}}],["git_odb_backend",{"decl":"git_odb_backend","type":"struct","value":"git_odb_backend","file":"git2/types.h","line":92,"lineto":92,"block":"git_odb * odb\nint (*)(void **, int *, git_otype *, struct git_odb_backend *, const git_oid *) read\nint (*)(int *, git_otype *, struct git_odb_backend *, const git_oid *) read_header\nint (*)(git_oid *, struct git_odb_backend *, const void *, int, git_otype) write\nint (*)(struct git_odb_stream **, struct git_odb_backend *, int, git_otype) writestream\nint (*)(struct git_odb_stream **, struct git_odb_backend *, const git_oid *) readstream\nint (*)(struct git_odb_backend *, const git_oid *) exists\nvoid (*)(struct git_odb_backend *) free","tdef":"typedef","description":" A custom backend in an ODB ","comments":"","fields":[{"type":"git_odb *","name":"odb","comments":""},{"type":"int (*)(void **, int *, git_otype *, struct git_odb_backend *, const git_oid *)","name":"read","comments":""},{"type":"int (*)(int *, git_otype *, struct git_odb_backend *, const git_oid *)","name":"read_header","comments":""},{"type":"int (*)(git_oid *, struct git_odb_backend *, const void *, int, git_otype)","name":"write","comments":""},{"type":"int (*)(struct git_odb_stream **, struct git_odb_backend *, int, git_otype)","name":"writestream","comments":""},{"type":"int (*)(struct git_odb_stream **, struct git_odb_backend *, const git_oid *)","name":"readstream","comments":""},{"type":"int (*)(struct git_odb_backend *, const git_oid *)","name":"exists","comments":""},{"type":"void (*)(struct git_odb_backend *)","name":"free","comments":""}],"used":{"returns":[],"needs":["git_odb_add_alternate","git_odb_add_backend"]}}],["git_odb_object",{"decl":"git_odb_object","type":"struct","value":"git_odb_object","file":"git2/types.h","line":95,"lineto":95,"tdef":"typedef","description":" An object read from the ODB ","comments":"","used":{"returns":[],"needs":["git_odb_object_close","git_odb_object_data","git_odb_object_id","git_odb_object_type","git_odb_read"]}}],["git_odb_stream",{"decl":"git_odb_stream","type":"struct","value":"git_odb_stream","file":"git2/types.h","line":98,"lineto":98,"tdef":"typedef","description":" A stream to read/write from the ODB ","comments":"","fields":[{"type":"struct git_odb_backend *","name":"backend","comments":""},{"type":"int","name":"mode","comments":""},{"type":"int (*)(struct git_odb_stream *, char *, int)","name":"read","comments":""},{"type":"int (*)(struct git_odb_stream *, const char *, int)","name":"write","comments":""},{"type":"int (*)(git_oid *, struct git_odb_stream *)","name":"finalize_write","comments":""},{"type":"void (*)(struct git_odb_stream *)","name":"free","comments":""}],"block":"struct git_odb_backend * backend\nint mode\nint (*)(struct git_odb_stream *, char *, int) read\nint (*)(struct git_odb_stream *, const char *, int) write\nint (*)(git_oid *, struct git_odb_stream *) finalize_write\nvoid (*)(struct git_odb_stream *) free","used":{"returns":[],"needs":["git_odb_open_rstream"]}}],["git_odb_streammode",{"decl":["GIT_STREAM_RDONLY","GIT_STREAM_WRONLY","GIT_STREAM_RW"],"type":"enum","file":"git2/odb_backend.h","line":94,"lineto":98,"block":"GIT_STREAM_RDONLY\nGIT_STREAM_WRONLY\nGIT_STREAM_RW","tdef":"typedef","description":" Streaming mode ","comments":"","fields":[{"type":"int","name":"GIT_STREAM_RDONLY","comments":"","value":2},{"type":"int","name":"GIT_STREAM_WRONLY","comments":"","value":4},{"type":"int","name":"GIT_STREAM_RW","comments":"","value":6}],"used":{"returns":[],"needs":[]}}],["git_oid",{"decl":["unsigned char [20] id"],"type":"struct","value":"git_oid","file":"git2/oid.h","line":47,"lineto":50,"block":"unsigned char [20] id","tdef":"typedef","description":" Unique identity of any object (commit, tree, blob, tag). ","comments":"","fields":[{"type":"unsigned char [20]","name":"id","comments":" raw binary formatted id "}],"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_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_open_rstream","git_odb_read","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_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",{"decl":"git_oid_shorten","type":"struct","value":"git_oid_shorten","file":"git2/oid.h","line":138,"lineto":138,"tdef":"typedef","description":" OID Shortener object","comments":"","used":{"returns":[],"needs":["git_oid_shorten_add","git_oid_shorten_free"]}}],["git_otype",{"decl":["GIT_OBJ_ANY","GIT_OBJ_BAD","GIT_OBJ__EXT1","GIT_OBJ_COMMIT","GIT_OBJ_TREE","GIT_OBJ_BLOB","GIT_OBJ_TAG","GIT_OBJ__EXT2","GIT_OBJ_OFS_DELTA","GIT_OBJ_REF_DELTA"],"type":"enum","file":"git2/types.h","line":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","description":" Basic type (loose or packed) of any Git object. ","comments":"","fields":[{"type":"int","name":"GIT_OBJ_ANY","comments":"

Object can be any of the following

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

Object is invalid.

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

Reserved for future use.

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

A commit object.

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

A tree (directory listing) object.

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

A file revision object.

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

An annotated tag object.

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

Reserved for future use.

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

A delta, base is given by an offset.

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

A delta, base is given by object id.

\n","value":7}],"used":{"returns":["git_object_string2type","git_object_type","git_odb_object_type","git_tag_type"],"needs":["git_object_lookup","git_object_type2string","git_object_typeisloose","git_tag_create"]}}],["git_reference",{"decl":"git_reference","type":"struct","value":"git_reference","file":"git2/types.h","line":144,"lineto":144,"tdef":"typedef","description":" In-memory representation of a reference. ","comments":"","used":{"returns":[],"needs":["git_reference_create_oid","git_reference_create_symbolic","git_reference_delete","git_reference_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",{"decl":"git_repository","type":"struct","value":"git_repository","file":"git2/types.h","line":104,"lineto":104,"tdef":"typedef","description":" Representation of an existing git repository,\n including all its object contents","comments":"","used":{"returns":["git_object_owner","git_reference_owner","git_revwalk_repository"],"needs":["git_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",{"decl":"git_revwalk","type":"struct","value":"git_revwalk","file":"git2/types.h","line":110,"lineto":110,"tdef":"typedef","description":" Representation of an in-progress walk through the commits in a repo ","comments":"","used":{"returns":[],"needs":["git_revwalk_free","git_revwalk_hide","git_revwalk_new","git_revwalk_next","git_revwalk_push","git_revwalk_repository","git_revwalk_reset","git_revwalk_sorting"]}}],["git_rtype",{"decl":["GIT_REF_INVALID","GIT_REF_OID","GIT_REF_SYMBOLIC","GIT_REF_PACKED","GIT_REF_HAS_PEEL","GIT_REF_LISTALL"],"type":"enum","file":"git2/types.h","line":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","description":" Basic type of any Git reference. ","comments":"","fields":[{"type":"int","name":"GIT_REF_INVALID","comments":"","value":0},{"type":"int","name":"GIT_REF_OID","comments":"

Invalid reference

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

A reference which points at an object id

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

A reference which points at another reference

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

A reference which points at another reference

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

A reference which points at another reference

\n","value":7}],"used":{"returns":["git_reference_type"],"needs":[]}}],["git_signature",{"decl":["char * name","char * email","git_time when"],"type":"struct","value":"git_signature","file":"git2/types.h","line":137,"lineto":141,"block":"char * name\nchar * email\ngit_time when","tdef":"typedef","description":" An action signature (e.g. for committers, taggers, etc) ","comments":"","fields":[{"type":"char *","name":"name","comments":""},{"type":"char *","name":"email","comments":" full name of the author "},{"type":"git_time","name":"when","comments":" email of the author "}],"used":{"returns":["git_commit_author","git_commit_committer","git_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",{"decl":"git_tag","type":"struct","value":"git_tag","file":"git2/types.h","line":113,"lineto":113,"tdef":"typedef","description":" Parsed representation of a tag object. ","comments":"","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",{"decl":["git_time_t time","int offset"],"type":"struct","value":"git_time","file":"git2/types.h","line":131,"lineto":134,"block":"git_time_t time\nint offset","tdef":"typedef","description":" Time in a signature ","comments":"","fields":[{"type":"git_time_t","name":"time","comments":""},{"type":"int","name":"offset","comments":" time in seconds from epoch "}],"used":{"returns":["git_commit_time"],"needs":["git_signature_new"]}}],["git_tree",{"decl":"git_tree","type":"struct","value":"git_tree","file":"git2/types.h","line":125,"lineto":125,"tdef":"typedef","description":" Representation of a tree object. ","comments":"","used":{"returns":["git_tree_entry_byindex","git_tree_entry_byname"],"needs":["git_commit_create_o","git_commit_create_ov","git_commit_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_id","git_tree_lookup"]}}],["git_tree_entry",{"decl":"git_tree_entry","type":"struct","value":"git_tree_entry","file":"git2/types.h","line":122,"lineto":122,"tdef":"typedef","description":" Representation of each one of the entries in a tree object. ","comments":"","used":{"returns":["git_tree_entry_byindex","git_tree_entry_byname"],"needs":["git_tree_entry_2object","git_tree_entry_attributes","git_tree_entry_id","git_tree_entry_name"]}}]],"prefix":"include","groups":[["blob",["git_blob_close","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"]],["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_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_new","git_odb_object_close","git_odb_object_data","git_odb_object_id","git_odb_object_type","git_odb_open","git_odb_open_rstream","git_odb_read"]],["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"]],["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_id","git_tree_lookup"]]]}