rugged 0.1.2 → 0.16.0b1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (277) hide show
  1. data/README.md +25 -36
  2. data/Rakefile +20 -98
  3. data/ext/rugged/extconf.rb +44 -4
  4. data/ext/rugged/remote.c +215 -0
  5. data/ext/rugged/rugged.c +171 -0
  6. data/ext/rugged/rugged.h +126 -0
  7. data/ext/rugged/rugged_blob.c +99 -0
  8. data/ext/rugged/rugged_commit.c +224 -0
  9. data/ext/rugged/rugged_config.c +238 -0
  10. data/ext/rugged/rugged_index.c +440 -0
  11. data/ext/rugged/rugged_object.c +203 -0
  12. data/ext/rugged/rugged_reference.c +401 -0
  13. data/ext/rugged/rugged_repo.c +482 -0
  14. data/ext/rugged/rugged_revwalk.c +138 -0
  15. data/ext/rugged/rugged_signature.c +80 -0
  16. data/ext/rugged/rugged_tag.c +216 -0
  17. data/ext/rugged/rugged_tree.c +322 -0
  18. data/ext/rugged/vendor/libgit2-dist.tar.gz +0 -0
  19. data/ext/rugged/vendor/libgit2-dist/deps/http-parser/http_parser.c +1778 -0
  20. data/ext/rugged/vendor/libgit2-dist/deps/http-parser/http_parser.h +267 -0
  21. data/ext/rugged/vendor/libgit2-dist/deps/zlib/adler32.c +169 -0
  22. data/ext/rugged/vendor/libgit2-dist/deps/zlib/crc32.c +442 -0
  23. data/ext/rugged/vendor/libgit2-dist/deps/zlib/crc32.h +441 -0
  24. data/ext/rugged/vendor/libgit2-dist/deps/zlib/deflate.c +1834 -0
  25. data/ext/rugged/vendor/libgit2-dist/deps/zlib/deflate.h +342 -0
  26. data/ext/rugged/vendor/libgit2-dist/deps/zlib/inffast.c +340 -0
  27. data/ext/rugged/vendor/libgit2-dist/deps/zlib/inffast.h +11 -0
  28. data/ext/rugged/vendor/libgit2-dist/deps/zlib/inffixed.h +94 -0
  29. data/ext/rugged/vendor/libgit2-dist/deps/zlib/inflate.c +1480 -0
  30. data/ext/rugged/vendor/libgit2-dist/deps/zlib/inflate.h +122 -0
  31. data/ext/rugged/vendor/libgit2-dist/deps/zlib/inftrees.c +330 -0
  32. data/ext/rugged/vendor/libgit2-dist/deps/zlib/inftrees.h +62 -0
  33. data/ext/rugged/vendor/libgit2-dist/deps/zlib/trees.c +1244 -0
  34. data/ext/rugged/vendor/libgit2-dist/deps/zlib/trees.h +128 -0
  35. data/ext/rugged/vendor/libgit2-dist/deps/zlib/zconf.h +54 -0
  36. data/ext/rugged/vendor/libgit2-dist/deps/zlib/zlib.h +1613 -0
  37. data/ext/rugged/vendor/libgit2-dist/deps/zlib/zutil.c +318 -0
  38. data/ext/rugged/vendor/libgit2-dist/deps/zlib/zutil.h +274 -0
  39. data/ext/rugged/vendor/libgit2-dist/examples/general.c +451 -0
  40. data/ext/rugged/vendor/libgit2-dist/examples/network/common.h +14 -0
  41. data/ext/rugged/vendor/libgit2-dist/examples/network/fetch.c +97 -0
  42. data/ext/rugged/vendor/libgit2-dist/examples/network/git2.c +58 -0
  43. data/ext/rugged/vendor/libgit2-dist/examples/network/index-pack.c +47 -0
  44. data/ext/rugged/vendor/libgit2-dist/examples/network/ls-remote.c +76 -0
  45. data/ext/rugged/vendor/libgit2-dist/examples/showindex.c +43 -0
  46. data/ext/rugged/vendor/libgit2-dist/include/git2.h +44 -0
  47. data/ext/rugged/vendor/libgit2-dist/include/git2/blob.h +120 -0
  48. data/ext/rugged/vendor/libgit2-dist/include/git2/branch.h +15 -0
  49. data/ext/rugged/vendor/libgit2-dist/include/git2/commit.h +263 -0
  50. data/ext/rugged/vendor/libgit2-dist/include/git2/common.h +103 -0
  51. data/ext/rugged/vendor/libgit2-dist/include/git2/config.h +278 -0
  52. data/ext/rugged/vendor/libgit2-dist/include/git2/errors.h +144 -0
  53. data/ext/rugged/vendor/libgit2-dist/include/git2/index.h +306 -0
  54. data/ext/rugged/vendor/libgit2-dist/include/git2/indexer.h +76 -0
  55. data/ext/rugged/vendor/libgit2-dist/include/git2/inttypes.h +305 -0
  56. data/ext/rugged/vendor/libgit2-dist/include/git2/net.h +51 -0
  57. data/ext/rugged/vendor/libgit2-dist/include/git2/object.h +173 -0
  58. data/ext/rugged/vendor/libgit2-dist/include/git2/odb.h +331 -0
  59. data/ext/rugged/vendor/libgit2-dist/include/git2/odb_backend.h +100 -0
  60. data/ext/rugged/vendor/libgit2-dist/include/git2/oid.h +218 -0
  61. data/ext/rugged/vendor/libgit2-dist/include/git2/reflog.h +128 -0
  62. data/ext/rugged/vendor/libgit2-dist/include/git2/refs.h +309 -0
  63. data/ext/rugged/vendor/libgit2-dist/include/git2/refspec.h +60 -0
  64. data/ext/rugged/vendor/libgit2-dist/include/git2/remote.h +176 -0
  65. data/ext/rugged/vendor/libgit2-dist/include/git2/repository.h +290 -0
  66. data/ext/rugged/vendor/libgit2-dist/include/git2/revwalk.h +169 -0
  67. data/ext/rugged/vendor/libgit2-dist/include/git2/signature.h +65 -0
  68. data/ext/rugged/vendor/libgit2-dist/include/git2/status.h +63 -0
  69. data/ext/rugged/vendor/libgit2-dist/include/git2/stdint.h +247 -0
  70. data/ext/rugged/vendor/libgit2-dist/include/git2/tag.h +279 -0
  71. data/ext/rugged/vendor/libgit2-dist/include/git2/threads.h +48 -0
  72. data/ext/rugged/vendor/libgit2-dist/include/git2/tree.h +318 -0
  73. data/ext/rugged/vendor/libgit2-dist/include/git2/types.h +169 -0
  74. data/ext/rugged/vendor/libgit2-dist/include/git2/version.h +15 -0
  75. data/ext/rugged/vendor/libgit2-dist/include/git2/windows.h +59 -0
  76. data/ext/rugged/vendor/libgit2-dist/include/git2/zlib.h +40 -0
  77. data/ext/rugged/vendor/libgit2-dist/src/blob.c +135 -0
  78. data/ext/rugged/vendor/libgit2-dist/src/blob.h +23 -0
  79. data/ext/rugged/vendor/libgit2-dist/src/bswap.h +97 -0
  80. data/ext/rugged/vendor/libgit2-dist/src/buffer.c +113 -0
  81. data/ext/rugged/vendor/libgit2-dist/src/buffer.h +32 -0
  82. data/ext/rugged/vendor/libgit2-dist/src/cache.c +111 -0
  83. data/ext/rugged/vendor/libgit2-dist/src/cache.h +64 -0
  84. data/ext/rugged/vendor/libgit2-dist/src/cc-compat.h +67 -0
  85. data/ext/rugged/vendor/libgit2-dist/src/commit.c +299 -0
  86. data/ext/rugged/vendor/libgit2-dist/src/commit.h +34 -0
  87. data/ext/rugged/vendor/libgit2-dist/src/common.h +64 -0
  88. data/ext/rugged/vendor/libgit2-dist/src/config.c +418 -0
  89. data/ext/rugged/vendor/libgit2-dist/src/config.h +24 -0
  90. data/ext/rugged/vendor/libgit2-dist/src/config_file.c +1210 -0
  91. data/ext/rugged/vendor/libgit2-dist/src/delta-apply.c +115 -0
  92. data/ext/rugged/vendor/libgit2-dist/src/delta-apply.h +33 -0
  93. data/ext/rugged/vendor/libgit2-dist/src/dir.h +47 -0
  94. data/ext/rugged/vendor/libgit2-dist/src/errors.c +104 -0
  95. data/ext/rugged/vendor/libgit2-dist/src/fetch.c +172 -0
  96. data/ext/rugged/vendor/libgit2-dist/src/fetch.h +18 -0
  97. data/ext/rugged/vendor/libgit2-dist/src/filebuf.c +400 -0
  98. data/ext/rugged/vendor/libgit2-dist/src/filebuf.h +72 -0
  99. data/ext/rugged/vendor/libgit2-dist/src/fileops.c +358 -0
  100. data/ext/rugged/vendor/libgit2-dist/src/fileops.h +151 -0
  101. data/ext/rugged/vendor/libgit2-dist/src/global.c +134 -0
  102. data/ext/rugged/vendor/libgit2-dist/src/global.h +24 -0
  103. data/ext/rugged/vendor/libgit2-dist/src/hash.c +74 -0
  104. data/ext/rugged/vendor/libgit2-dist/src/hash.h +29 -0
  105. data/ext/rugged/vendor/libgit2-dist/src/hashtable.c +243 -0
  106. data/ext/rugged/vendor/libgit2-dist/src/hashtable.h +80 -0
  107. data/ext/rugged/vendor/libgit2-dist/src/index.c +918 -0
  108. data/ext/rugged/vendor/libgit2-dist/src/index.h +34 -0
  109. data/ext/rugged/vendor/libgit2-dist/src/indexer.c +401 -0
  110. data/ext/rugged/vendor/libgit2-dist/src/map.h +37 -0
  111. data/ext/rugged/vendor/libgit2-dist/src/mwindow.c +272 -0
  112. data/ext/rugged/vendor/libgit2-dist/src/mwindow.h +45 -0
  113. data/ext/rugged/vendor/libgit2-dist/src/netops.c +198 -0
  114. data/ext/rugged/vendor/libgit2-dist/src/netops.h +36 -0
  115. data/ext/rugged/vendor/libgit2-dist/src/object.c +295 -0
  116. data/ext/rugged/vendor/libgit2-dist/src/odb.c +672 -0
  117. data/ext/rugged/vendor/libgit2-dist/src/odb.h +43 -0
  118. data/ext/rugged/vendor/libgit2-dist/src/odb_loose.c +855 -0
  119. data/ext/rugged/vendor/libgit2-dist/src/odb_pack.c +485 -0
  120. data/ext/rugged/vendor/libgit2-dist/src/oid.c +388 -0
  121. data/ext/rugged/vendor/libgit2-dist/src/pack.c +788 -0
  122. data/ext/rugged/vendor/libgit2-dist/src/pack.h +99 -0
  123. data/ext/rugged/vendor/libgit2-dist/src/path.c +270 -0
  124. data/ext/rugged/vendor/libgit2-dist/src/path.h +84 -0
  125. data/ext/rugged/vendor/libgit2-dist/src/pkt.c +426 -0
  126. data/ext/rugged/vendor/libgit2-dist/src/pkt.h +77 -0
  127. data/ext/rugged/vendor/libgit2-dist/src/posix.c +94 -0
  128. data/ext/rugged/vendor/libgit2-dist/src/posix.h +69 -0
  129. data/ext/rugged/vendor/libgit2-dist/src/ppc/sha1.c +70 -0
  130. data/ext/rugged/vendor/libgit2-dist/src/ppc/sha1.h +26 -0
  131. data/ext/rugged/vendor/libgit2-dist/src/pqueue.c +141 -0
  132. data/ext/rugged/vendor/libgit2-dist/src/pqueue.h +81 -0
  133. data/ext/rugged/vendor/libgit2-dist/src/protocol.c +50 -0
  134. data/ext/rugged/vendor/libgit2-dist/src/protocol.h +23 -0
  135. data/ext/rugged/vendor/libgit2-dist/src/reflog.c +318 -0
  136. data/ext/rugged/vendor/libgit2-dist/src/reflog.h +34 -0
  137. data/ext/rugged/vendor/libgit2-dist/src/refs.c +1693 -0
  138. data/ext/rugged/vendor/libgit2-dist/src/refs.h +58 -0
  139. data/ext/rugged/vendor/libgit2-dist/src/refspec.c +95 -0
  140. data/ext/rugged/vendor/libgit2-dist/src/refspec.h +23 -0
  141. data/ext/rugged/vendor/libgit2-dist/src/remote.c +339 -0
  142. data/ext/rugged/vendor/libgit2-dist/src/remote.h +25 -0
  143. data/ext/rugged/vendor/libgit2-dist/src/repository.c +849 -0
  144. data/ext/rugged/vendor/libgit2-dist/src/repository.h +60 -0
  145. data/ext/rugged/vendor/libgit2-dist/src/revwalk.c +569 -0
  146. data/ext/rugged/vendor/libgit2-dist/src/sha1.c +280 -0
  147. data/ext/rugged/vendor/libgit2-dist/src/sha1.h +21 -0
  148. data/ext/rugged/vendor/libgit2-dist/src/sha1_lookup.c +177 -0
  149. data/ext/rugged/vendor/libgit2-dist/src/sha1_lookup.h +18 -0
  150. data/ext/rugged/vendor/libgit2-dist/src/signature.c +335 -0
  151. data/ext/rugged/vendor/libgit2-dist/src/signature.h +18 -0
  152. data/ext/rugged/vendor/libgit2-dist/src/status.c +696 -0
  153. data/ext/rugged/vendor/libgit2-dist/src/tag.c +446 -0
  154. data/ext/rugged/vendor/libgit2-dist/src/tag.h +28 -0
  155. data/ext/rugged/vendor/libgit2-dist/src/thread-utils.c +55 -0
  156. data/ext/rugged/vendor/libgit2-dist/src/thread-utils.h +108 -0
  157. data/ext/rugged/vendor/libgit2-dist/src/transport.c +85 -0
  158. data/ext/rugged/vendor/libgit2-dist/src/transport.h +110 -0
  159. data/ext/rugged/vendor/libgit2-dist/src/transports/git.c +502 -0
  160. data/ext/rugged/vendor/libgit2-dist/src/transports/http.c +756 -0
  161. data/ext/rugged/vendor/libgit2-dist/src/transports/local.c +235 -0
  162. data/ext/rugged/vendor/libgit2-dist/src/tree-cache.c +201 -0
  163. data/ext/rugged/vendor/libgit2-dist/src/tree-cache.h +31 -0
  164. data/ext/rugged/vendor/libgit2-dist/src/tree.c +758 -0
  165. data/ext/rugged/vendor/libgit2-dist/src/tree.h +37 -0
  166. data/ext/rugged/vendor/libgit2-dist/src/tsort.c +365 -0
  167. data/ext/rugged/vendor/libgit2-dist/src/unix/map.c +70 -0
  168. data/ext/rugged/vendor/libgit2-dist/src/unix/posix.h +25 -0
  169. data/ext/rugged/vendor/libgit2-dist/src/util.c +381 -0
  170. data/ext/rugged/vendor/libgit2-dist/src/util.h +137 -0
  171. data/ext/rugged/vendor/libgit2-dist/src/vector.c +174 -0
  172. data/ext/rugged/vendor/libgit2-dist/src/vector.h +45 -0
  173. data/ext/rugged/vendor/libgit2-dist/src/win32/dir.c +115 -0
  174. data/ext/rugged/vendor/libgit2-dist/src/win32/fnmatch.c +180 -0
  175. data/ext/rugged/vendor/libgit2-dist/src/win32/fnmatch.h +27 -0
  176. data/ext/rugged/vendor/libgit2-dist/src/win32/map.c +131 -0
  177. data/ext/rugged/vendor/libgit2-dist/src/win32/mingw-compat.h +24 -0
  178. data/ext/rugged/vendor/libgit2-dist/src/win32/msvc-compat.h +38 -0
  179. data/ext/rugged/vendor/libgit2-dist/src/win32/posix.h +53 -0
  180. data/ext/rugged/vendor/libgit2-dist/src/win32/posix_w32.c +404 -0
  181. data/ext/rugged/vendor/libgit2-dist/src/win32/pthread.c +65 -0
  182. data/ext/rugged/vendor/libgit2-dist/src/win32/pthread.h +40 -0
  183. data/ext/rugged/vendor/libgit2-dist/src/win32/utf-conv.c +88 -0
  184. data/ext/rugged/vendor/libgit2-dist/src/win32/utf-conv.h +17 -0
  185. data/ext/rugged/vendor/libgit2-dist/tests-clay/buf/basic.c +29 -0
  186. data/ext/rugged/vendor/libgit2-dist/tests-clay/clay.h +187 -0
  187. data/ext/rugged/vendor/libgit2-dist/tests-clay/clay_libgit2.h +28 -0
  188. data/ext/rugged/vendor/libgit2-dist/tests-clay/clay_main.c +1073 -0
  189. data/ext/rugged/vendor/libgit2-dist/tests-clay/config/add.c +37 -0
  190. data/ext/rugged/vendor/libgit2-dist/tests-clay/config/new.c +36 -0
  191. data/ext/rugged/vendor/libgit2-dist/tests-clay/config/read.c +209 -0
  192. data/ext/rugged/vendor/libgit2-dist/tests-clay/config/stress.c +39 -0
  193. data/ext/rugged/vendor/libgit2-dist/tests-clay/config/write.c +77 -0
  194. data/ext/rugged/vendor/libgit2-dist/tests-clay/core/dirent.c +222 -0
  195. data/ext/rugged/vendor/libgit2-dist/tests-clay/core/filebuf.c +106 -0
  196. data/ext/rugged/vendor/libgit2-dist/tests-clay/core/oid.c +18 -0
  197. data/ext/rugged/vendor/libgit2-dist/tests-clay/core/path.c +139 -0
  198. data/ext/rugged/vendor/libgit2-dist/tests-clay/core/rmdir.c +50 -0
  199. data/ext/rugged/vendor/libgit2-dist/tests-clay/core/string.c +28 -0
  200. data/ext/rugged/vendor/libgit2-dist/tests-clay/core/strtol.c +37 -0
  201. data/ext/rugged/vendor/libgit2-dist/tests-clay/core/vector.c +66 -0
  202. data/ext/rugged/vendor/libgit2-dist/tests-clay/index/rename.c +60 -0
  203. data/ext/rugged/vendor/libgit2-dist/tests-clay/network/remotes.c +50 -0
  204. data/ext/rugged/vendor/libgit2-dist/tests-clay/object/raw/chars.c +52 -0
  205. data/ext/rugged/vendor/libgit2-dist/tests-clay/object/raw/compare.c +124 -0
  206. data/ext/rugged/vendor/libgit2-dist/tests-clay/object/raw/convert.c +75 -0
  207. data/ext/rugged/vendor/libgit2-dist/tests-clay/object/raw/data.h +323 -0
  208. data/ext/rugged/vendor/libgit2-dist/tests-clay/object/raw/fromstr.c +30 -0
  209. data/ext/rugged/vendor/libgit2-dist/tests-clay/object/raw/hash.c +162 -0
  210. data/ext/rugged/vendor/libgit2-dist/tests-clay/object/raw/short.c +94 -0
  211. data/ext/rugged/vendor/libgit2-dist/tests-clay/object/raw/size.c +13 -0
  212. data/ext/rugged/vendor/libgit2-dist/tests-clay/object/raw/type2string.c +54 -0
  213. data/ext/rugged/vendor/libgit2-dist/tests-clay/object/tree/frompath.c +75 -0
  214. data/ext/rugged/vendor/libgit2-dist/tests-clay/odb/loose.c +84 -0
  215. data/ext/rugged/vendor/libgit2-dist/tests-clay/odb/loose_data.h +522 -0
  216. data/ext/rugged/vendor/libgit2-dist/tests-clay/odb/pack_data.h +151 -0
  217. data/ext/rugged/vendor/libgit2-dist/tests-clay/odb/packed.c +78 -0
  218. data/ext/rugged/vendor/libgit2-dist/tests-clay/odb/sorting.c +71 -0
  219. data/ext/rugged/vendor/libgit2-dist/tests-clay/repo/getters.c +68 -0
  220. data/ext/rugged/vendor/libgit2-dist/tests-clay/repo/init.c +104 -0
  221. data/ext/rugged/vendor/libgit2-dist/tests-clay/repo/open.c +54 -0
  222. data/ext/rugged/vendor/libgit2-dist/tests-clay/status/single.c +38 -0
  223. data/ext/rugged/vendor/libgit2-dist/tests-clay/status/status_data.h +48 -0
  224. data/ext/rugged/vendor/libgit2-dist/tests-clay/status/worktree.c +124 -0
  225. data/ext/rugged/vendor/libgit2-dist/tests/t00-core.c +628 -0
  226. data/ext/rugged/vendor/libgit2-dist/tests/t01-data.h +322 -0
  227. data/ext/rugged/vendor/libgit2-dist/tests/t01-rawobj.c +638 -0
  228. data/ext/rugged/vendor/libgit2-dist/tests/t03-data.h +344 -0
  229. data/ext/rugged/vendor/libgit2-dist/tests/t03-objwrite.c +255 -0
  230. data/ext/rugged/vendor/libgit2-dist/tests/t04-commit.c +788 -0
  231. data/ext/rugged/vendor/libgit2-dist/tests/t05-revwalk.c +140 -0
  232. data/ext/rugged/vendor/libgit2-dist/tests/t06-index.c +219 -0
  233. data/ext/rugged/vendor/libgit2-dist/tests/t07-hashtable.c +192 -0
  234. data/ext/rugged/vendor/libgit2-dist/tests/t08-tag.c +357 -0
  235. data/ext/rugged/vendor/libgit2-dist/tests/t09-tree.c +221 -0
  236. data/ext/rugged/vendor/libgit2-dist/tests/t10-refs.c +1294 -0
  237. data/ext/rugged/vendor/libgit2-dist/tests/t12-repo.c +174 -0
  238. data/ext/rugged/vendor/libgit2-dist/tests/t13-threads.c +41 -0
  239. data/ext/rugged/vendor/libgit2-dist/tests/t17-bufs.c +61 -0
  240. data/ext/rugged/vendor/libgit2-dist/tests/t18-status.c +448 -0
  241. data/ext/rugged/vendor/libgit2-dist/tests/test_helpers.c +310 -0
  242. data/ext/rugged/vendor/libgit2-dist/tests/test_helpers.h +83 -0
  243. data/ext/rugged/vendor/libgit2-dist/tests/test_lib.c +198 -0
  244. data/ext/rugged/vendor/libgit2-dist/tests/test_lib.h +54 -0
  245. data/ext/rugged/vendor/libgit2-dist/tests/test_main.c +89 -0
  246. data/lib/rugged.rb +4 -3
  247. data/lib/rugged/index.rb +0 -8
  248. data/lib/rugged/objects.rb +45 -0
  249. data/lib/rugged/repository.rb +29 -0
  250. data/lib/rugged/tree.rb +16 -6
  251. data/lib/rugged/version.rb +1 -1
  252. data/lib/rugged/walker.rb +5 -0
  253. data/test/blob_test.rb +18 -14
  254. data/test/commit_test.rb +28 -26
  255. data/test/coverage/HEAD.json +1 -0
  256. data/test/coverage/cover.rb +106 -0
  257. data/test/fixtures/testrepo.git/refs/heads/new_name +1 -0
  258. data/test/index_test.rb +101 -78
  259. data/test/lib_test.rb +4 -4
  260. data/test/object_test.rb +3 -3
  261. data/test/reference_test.rb +75 -0
  262. data/test/remote_test.rb +19 -0
  263. data/test/repo_pack_test.rb +4 -4
  264. data/test/repo_test.rb +44 -15
  265. data/test/tag_test.rb +7 -17
  266. data/test/test_helper.rb +24 -5
  267. data/test/tree_test.rb +30 -12
  268. data/test/walker_test.rb +40 -31
  269. metadata +273 -50
  270. data/lib/rugged/person.rb +0 -20
  271. data/lib/rugged/tree_entry.rb +0 -9
  272. data/test/fixtures/testrepo.git/objects/1d/83f106355e4309a293e42ad2a2c4b8bdbe77ae +0 -0
  273. data/test/fixtures/testrepo.git/objects/2f/3321418db5b2a841375b8b70880a8ab5a4148f +0 -0
  274. data/test/fixtures/testrepo.git/objects/36/9b00a7700cca3a506d79e301d6ad8bf735d9ee +0 -3
  275. data/test/fixtures/testrepo.git/objects/3d/b1b5ceace59ff65279757003763046fd4cbbe6 +0 -0
  276. data/test/fixtures/testrepo.git/objects/4c/d1604907792e2c43e03dcec1216f99d63e68c4 +0 -3
  277. data/test/fixtures/testrepo.git/objects/e0/f46d77041c149296549b01ed4a18b02c4b7400 +0 -0
@@ -0,0 +1,54 @@
1
+ #ifndef __LIBGIT2_TEST_H__
2
+ #define __LIBGIT2_TEST_H__
3
+
4
+ #include <stdarg.h>
5
+ #include <stdio.h>
6
+ #include <stdlib.h>
7
+ #include <string.h>
8
+
9
+ #include "common.h"
10
+ #include <git2.h>
11
+
12
+ #define DECLARE_SUITE(SNAME) extern git_testsuite *libgit2_suite_##SNAME(void)
13
+ #define SUITE_NAME(SNAME) libgit2_suite_##SNAME
14
+
15
+ #define BEGIN_SUITE(SNAME) \
16
+ git_testsuite *libgit2_suite_##SNAME(void);\
17
+ git_testsuite *libgit2_suite_##SNAME(void) {\
18
+ git_testsuite *_gitsuite = git_testsuite_new(#SNAME);
19
+
20
+ #define ADD_TEST(TNAME) \
21
+ git_testsuite_add(_gitsuite, _gittest__##TNAME);
22
+
23
+ #define END_SUITE \
24
+ return _gitsuite;\
25
+ }
26
+
27
+ #define BEGIN_TEST(TNAME, DESC) \
28
+ static void _gittest__##TNAME(git_test *_gittest) { \
29
+ git_test__init(_gittest, #TNAME, DESC); \
30
+ git_clearerror();\
31
+ {\
32
+
33
+ #define END_TEST }}
34
+
35
+ typedef struct git_test git_test;
36
+ typedef struct git_testsuite git_testsuite;
37
+ typedef void (*git_testfunc)(git_test *);
38
+ typedef git_testsuite *(*libgit2_suite)(void);
39
+
40
+ void git_test__init(git_test *t, const char *name, const char *description);
41
+ void git_test__fail(git_test *tc, const char *file, int line, const char *message);
42
+ void git_test__assert(git_test *tc, const char *file, int line, const char *message, int condition);
43
+ void git_test__assert_pass(git_test *tc, const char *file, int line, const char *message, int ret_value);
44
+
45
+ #define must_pass(expr) git_test__assert_pass(_gittest, __FILE__, __LINE__, "Method failed: " #expr, (expr))
46
+ #define must_fail(expr) git_test__assert(_gittest, __FILE__, __LINE__, "Expected method to fail: " #expr, (expr) < 0)
47
+ #define must_be_true(expr) git_test__assert(_gittest, __FILE__, __LINE__, "Expression is not true: " #expr, !!(expr))
48
+
49
+ git_testsuite *git_testsuite_new(const char *name);
50
+ void git_testsuite_add(git_testsuite *ts, git_testfunc test);
51
+ int git_testsuite_run(git_testsuite *ts);
52
+
53
+ #endif
54
+
@@ -0,0 +1,89 @@
1
+ /*
2
+ * This file is free software; you can redistribute it and/or modify
3
+ * it under the terms of the GNU General Public License, version 2,
4
+ * as published by the Free Software Foundation.
5
+ *
6
+ * In addition to the permissions in the GNU General Public License,
7
+ * the authors give you unlimited permission to link the compiled
8
+ * version of this file into combinations with other programs,
9
+ * and to distribute those combinations without any restriction
10
+ * coming from the use of this file. (The General Public License
11
+ * restrictions do apply in other respects; for example, they cover
12
+ * modification of the file, and distribution when not linked into
13
+ * a combined executable.)
14
+ *
15
+ * This file is distributed in the hope that it will be useful, but
16
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
17
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18
+ * General Public License for more details.
19
+ *
20
+ * You should have received a copy of the GNU General Public License
21
+ * along with this program; see the file COPYING. If not, write to
22
+ * the Free Software Foundation, 51 Franklin Street, Fifth Floor,
23
+ * Boston, MA 02110-1301, USA.
24
+ */
25
+
26
+ #include <string.h>
27
+ #include <git2.h>
28
+
29
+ #include "posix.h"
30
+
31
+ #include "test_lib.h"
32
+ #include "test_helpers.h"
33
+
34
+ DECLARE_SUITE(core);
35
+ DECLARE_SUITE(rawobjects);
36
+ DECLARE_SUITE(objwrite);
37
+ DECLARE_SUITE(commit);
38
+ DECLARE_SUITE(revwalk);
39
+ DECLARE_SUITE(index);
40
+ DECLARE_SUITE(hashtable);
41
+ DECLARE_SUITE(tag);
42
+ DECLARE_SUITE(tree);
43
+ DECLARE_SUITE(refs);
44
+ DECLARE_SUITE(repository);
45
+ DECLARE_SUITE(threads);
46
+ DECLARE_SUITE(buffers);
47
+ DECLARE_SUITE(status);
48
+
49
+ static libgit2_suite suite_methods[]= {
50
+ SUITE_NAME(core),
51
+ SUITE_NAME(rawobjects),
52
+ SUITE_NAME(objwrite),
53
+ SUITE_NAME(commit),
54
+ SUITE_NAME(revwalk),
55
+ SUITE_NAME(index),
56
+ SUITE_NAME(hashtable),
57
+ SUITE_NAME(tag),
58
+ SUITE_NAME(tree),
59
+ SUITE_NAME(refs),
60
+ SUITE_NAME(repository),
61
+ SUITE_NAME(threads),
62
+ SUITE_NAME(buffers),
63
+ SUITE_NAME(status),
64
+ };
65
+
66
+ #define GIT_SUITE_COUNT (ARRAY_SIZE(suite_methods))
67
+
68
+ #ifdef GIT_WIN32
69
+ int __cdecl
70
+ #else
71
+ int
72
+ #endif
73
+ main(int GIT_UNUSED(argc), char *GIT_UNUSED(argv[]))
74
+ {
75
+ unsigned int i, failures;
76
+
77
+ GIT_UNUSED_ARG(argc);
78
+ GIT_UNUSED_ARG(argv);
79
+
80
+ p_umask(0);
81
+
82
+ failures = 0;
83
+
84
+ for (i = 0; i < GIT_SUITE_COUNT; ++i)
85
+ failures += git_testsuite_run(suite_methods[i]());
86
+
87
+ return failures ? -1 : 0;
88
+ }
89
+
data/lib/rugged.rb CHANGED
@@ -1,6 +1,7 @@
1
1
  require 'rugged/rugged'
2
- require 'rugged/person'
3
2
  require 'rugged/index'
4
- require 'rugged/tree'
5
- require 'rugged/tree_entry'
3
+ require 'rugged/objects'
6
4
  require 'rugged/version'
5
+ require 'rugged/repository'
6
+ require 'rugged/walker'
7
+ require 'rugged/tree'
data/lib/rugged/index.rb CHANGED
@@ -1,13 +1,5 @@
1
1
  module Rugged
2
2
  class Index
3
3
  include Enumerable
4
-
5
- def each
6
- entries = self.entry_count
7
- 0.upto(entries - 1) do |i|
8
- yield self[i]
9
- end
10
- end
11
-
12
4
  end
13
5
  end
@@ -0,0 +1,45 @@
1
+ module Rugged
2
+
3
+ class Object
4
+ def <=>(other)
5
+ self.oid <=> other.oid
6
+ end
7
+ end
8
+
9
+ class Tree
10
+ include Enumerable
11
+ end
12
+
13
+ class Commit
14
+ def to_hash
15
+ {
16
+ :message => message,
17
+ :committer => committer,
18
+ :author => author,
19
+ :tree => tree,
20
+ :parents => parents,
21
+ }
22
+ end
23
+
24
+ def modify(new_args, update_ref=nil)
25
+ args = self.to_hash.merge(new_args)
26
+ Commit.create(args, update_ref)
27
+ end
28
+ end
29
+
30
+ class Tag
31
+ def to_hash
32
+ {
33
+ :message => message,
34
+ :name => name,
35
+ :target => target,
36
+ :tagger => tagger,
37
+ }
38
+ end
39
+
40
+ def modify(new_args, force=True)
41
+ args = self.to_hash.merge(new_args)
42
+ Tag.create(args, force)
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,29 @@
1
+ module Rugged
2
+
3
+ class Repository
4
+ def walk(from, sorting=Rugged::SORT_DATE, &block)
5
+ walker = Rugged::Walker.new(self)
6
+ walker.sorting(sorting)
7
+ walker.push(from)
8
+ walker.each(&block)
9
+ end
10
+
11
+ def head
12
+ ref = Reference.lookup(self, "HEAD")
13
+ ref.resolve
14
+ end
15
+
16
+ def lookup(oid)
17
+ Rugged::Object.lookup(self, oid)
18
+ end
19
+
20
+ def refs
21
+ Rugged::Reference.each(self)
22
+ end
23
+
24
+ def tags(pattern="")
25
+ Rugged::Tag.each(self, pattern)
26
+ end
27
+ end
28
+
29
+ end
data/lib/rugged/tree.rb CHANGED
@@ -1,13 +1,23 @@
1
1
  module Rugged
2
2
  class Tree
3
- include Enumerable
3
+ # Walks the tree but only yields blobs
4
+ def walk_blobs(mode=:postorder)
5
+ self.walk(mode) { |root, e| yield root, e if e[:type] == :blob }
6
+ end
7
+
8
+ # Walks the tree but only yields subtrees
9
+ def walk_trees(mode=:postorder)
10
+ self.walk(mode) { |root, e| yield root, e if e[:type] == :tree }
11
+ end
4
12
 
5
- def each
6
- entries = self.entry_count
7
- 0.upto(entries - 1) do |i|
8
- yield self[i]
9
- end
13
+ # Iterate over the blobs in this tree
14
+ def each_blob
15
+ self.each { |e| yield e if e[:type] == :blob }
10
16
  end
11
17
 
18
+ # Iterat over the subtrees in this tree
19
+ def each_tree
20
+ self.each { |e| yield e if e[:type] == :tree }
21
+ end
12
22
  end
13
23
  end
@@ -1,3 +1,3 @@
1
1
  module Rugged
2
- Version = VERSION = '0.1.2'
2
+ Version = VERSION = '0.16.0b1'
3
3
  end
@@ -0,0 +1,5 @@
1
+ module Rugged
2
+ class Walker
3
+ include Enumerable
4
+ end
5
+ end
data/test/blob_test.rb CHANGED
@@ -4,29 +4,33 @@ context "Rugged::Blob tests" do
4
4
  setup do
5
5
  @path = File.dirname(__FILE__) + '/fixtures/testrepo.git/'
6
6
  @repo = Rugged::Repository.new(@path)
7
- @sha = "fa49b077972391ad58037050f2a75f74e3671e92"
7
+ @oid = "fa49b077972391ad58037050f2a75f74e3671e92"
8
8
  end
9
9
 
10
10
  test "can read the blob data" do
11
- blob = @repo.lookup(@sha)
11
+ blob = @repo.lookup(@oid)
12
12
  assert_equal 9, blob.size
13
13
  assert_equal "new file\n", blob.content
14
14
  assert_equal "blob", blob.type
15
- assert_equal @sha, blob.sha
15
+ assert_equal @oid, blob.oid
16
16
  end
17
17
 
18
- test "can rewrite blob data" do
19
- blob = @repo.lookup(@sha)
20
- blob.content = "my new content"
21
- assert_equal @sha, blob.sha
22
- blob.write # should change the sha
23
- assert_equal "2dd916ea1ff086d61fbc1c286079305ffad4e92e", blob.sha
24
- FileUtils.rm File.join(@path, "objects/2d/d916ea1ff086d61fbc1c286079305ffad4e92e")
18
+ test "can write new blob data" do
19
+ oid = Rugged::Blob.create(@repo, "a new blob content", true)
20
+ rm_loose(oid)
25
21
  end
26
22
 
27
- test "can write new blob data" do
28
- blob = Rugged::Blob.new(@repo)
29
- blob.content = "a new blob content"
30
- blob.write
23
+ test "gets the complete content if it has nulls" do
24
+ content = "100644 example_helper.rb\x00\xD3\xD5\xED\x9DA4_"+
25
+ "\xE3\xC3\nK\xCD<!\xEA-_\x9E\xDC=40000 examples\x00"+
26
+ "\xAE\xCB\xE9d!|\xB9\xA6\x96\x024],U\xEE\x99\xA2\xEE\xD4\x92"
27
+
28
+ content.force_encoding('binary') if content.respond_to?(:force_encoding)
29
+
30
+ oid = @repo.write(content, 'tree')
31
+ blob = @repo.lookup(oid)
32
+ assert_equal content, blob.read_raw.data
33
+ rm_loose(oid)
31
34
  end
35
+
32
36
  end
data/test/commit_test.rb CHANGED
@@ -2,52 +2,54 @@ require File.expand_path "../test_helper", __FILE__
2
2
 
3
3
  context "Rugged::Commit tests" do
4
4
  setup do
5
- path = File.dirname(__FILE__) + '/fixtures/testrepo.git/'
6
- @repo = Rugged::Repository.new(path)
5
+ @path = File.dirname(__FILE__) + '/fixtures/testrepo.git/'
6
+ @repo = Rugged::Repository.new(@path)
7
7
  end
8
8
 
9
9
  test "can read the commit data" do
10
- sha = "8496071c1b46c854b31185ea97743be6a8774479"
11
- obj = @repo.lookup(sha)
10
+ oid = "8496071c1b46c854b31185ea97743be6a8774479"
11
+ obj = @repo.lookup(oid)
12
12
 
13
- assert_equal obj.sha, sha
14
- assert_equal obj.type, "commit"
13
+ assert_equal obj.oid, oid
14
+ assert_equal obj.type, "commit"
15
15
  assert_equal obj.message, "testing\n"
16
- assert_equal obj.message_short, "testing"
17
16
  assert_equal obj.time.to_i, 1273360386
17
+
18
18
  c = obj.committer
19
- assert_equal c.name, "Scott Chacon"
20
- assert_equal c.time.to_i, 1273360386
21
- assert_equal c.email, "schacon@gmail.com"
19
+ assert_equal c[:name], "Scott Chacon"
20
+ assert_equal c[:time].to_i, 1273360386
21
+ assert_equal c[:email], "schacon@gmail.com"
22
+
22
23
  c = obj.author
23
- assert_equal c.name, "Scott Chacon"
24
- assert_equal c.time.to_i, 1273360386
25
- assert_equal c.email, "schacon@gmail.com"
26
- assert_equal obj.tree.sha, "181037049a54a1eb5fab404658a3a250b44335d7"
24
+ assert_equal c[:name], "Scott Chacon"
25
+ assert_equal c[:time].to_i, 1273360386
26
+ assert_equal c[:email], "schacon@gmail.com"
27
+
28
+ assert_equal obj.tree.oid, "181037049a54a1eb5fab404658a3a250b44335d7"
29
+ assert_equal [], obj.parents
27
30
  end
28
31
 
29
- test "can write the commit data" do
30
- sha = "8496071c1b46c854b31185ea97743be6a8774479"
31
- obj = @repo.lookup(sha)
32
- obj.message = 'new message'
33
- obj.write
32
+ test "can have multiple parents" do
33
+ oid = "a4a7dce85cf63874e984719f4fdd239f5145052f"
34
+ obj = @repo.lookup(oid)
35
+ parents = obj.parents.map {|c| c.oid }
36
+ assert parents.include?("9fd738e8f7967c078dceed8190330fc8648ee56a")
37
+ assert parents.include?("c47800c7266a2be04c571c04d5a6614691ea99bd")
34
38
  end
35
39
 
36
- test "can write new commit data" do
37
- tsha = "c4dc1555e4d4fa0e0c9c3fc46734c7c35b3ce90b"
38
- tree = @repo.lookup(tsha)
40
+ xtest "can write new commit data" do
41
+ toid = "c4dc1555e4d4fa0e0c9c3fc46734c7c35b3ce90b"
42
+ tree = @repo.lookup(toid)
39
43
 
40
44
  obj = Rugged::Commit.new(@repo)
41
- person = Rugged::Person.new('Scott', 'schacon@gmail.com', Time.now)
45
+ person = Rugged::Signature.new('Scott', 'schacon@gmail.com', Time.now)
42
46
 
43
47
  obj.message = 'new message'
44
48
  obj.author = person
45
49
  obj.committer = person
46
50
  obj.tree = tree
47
51
  obj.write
48
-
49
- pp obj
50
- pp obj.sha
52
+ rm_loose(obj.oid)
51
53
  end
52
54
 
53
55
  end
@@ -0,0 +1 @@
1
+ {"types":[["_git_oid",{"type":"struct","value":null,"line":34,"file":"oid.h","tdef":null,"used":{"returns":[],"needs":[]},"lineto":37,"block":"/** raw binary formatted id */\nunsigned char id[GIT_OID_RAWSZ];\n"}],["git_blob",{"type":"struct","value":"git_blob","line":105,"file":"types.h","tdef":"typedef","used":{"returns":[],"needs":["git_blob_free","git_blob_lookup","git_blob_lookup_prefix","git_blob_rawcontent","git_blob_rawsize"]}}],["git_branch",{"type":"struct","value":null,"line":10,"file":"branch.h","tdef":null,"used":{"returns":[],"needs":[]},"lineto":13,"block":"char *remote; /* TODO: Make this a git_remote */\nchar *merge;\n"}],["git_commit",{"type":"struct","value":"git_commit","line":108,"file":"types.h","tdef":"typedef","used":{"returns":[],"needs":["git_commit_author","git_commit_committer","git_commit_create","git_commit_free","git_commit_id","git_commit_lookup","git_commit_lookup_prefix","git_commit_message","git_commit_message_encoding","git_commit_parent","git_commit_parent_oid","git_commit_parentcount","git_commit_time","git_commit_time_offset","git_commit_tree","git_commit_tree_oid"]}}],["git_config",{"type":"struct","value":"git_config","line":123,"file":"types.h","tdef":"typedef","used":{"returns":[],"needs":["git_config_add_file","git_config_add_file_ondisk","git_config_delete","git_config_foreach","git_config_free","git_config_get_bool","git_config_get_string","git_config_new","git_config_open_global","git_config_open_ondisk","git_config_set_bool","git_config_set_string","git_repository_config","git_repository_set_config"]}}],["git_config_file",{"type":"struct","value":"git_config_file","line":126,"file":"types.h","tdef":"typedef","used":{"returns":[],"needs":["git_config_add_file","git_config_file__ondisk"]}}],["git_error",{"type":"enum","value":null,"line":20,"file":"errors.h","tdef":"typedef","used":{"returns":[],"needs":[]},"lineto":116,"block":"GIT_SUCCESS = 0,\nGIT_ERROR = -1,\n\n/** Input was not a properly formatted Git object id. */\nGIT_ENOTOID = -2,\n\n/** Input does not exist in the scope searched. */\nGIT_ENOTFOUND = -3,\n\n/** Not enough space available. */\nGIT_ENOMEM = -4,\n\n/** Consult the OS error information. */\nGIT_EOSERR = -5,\n\n/** The specified object is of invalid type */\nGIT_EOBJTYPE = -6,\n\n/** The specified repository is invalid */\nGIT_ENOTAREPO = -7,\n\n/** The object type is invalid or doesn't match */\nGIT_EINVALIDTYPE = -8,\n\n/** The object cannot be written because it's missing internal data */\nGIT_EMISSINGOBJDATA = -9,\n\n/** The packfile for the ODB is corrupted */\nGIT_EPACKCORRUPTED = -10,\n\n/** Failed to acquire or release a file lock */\nGIT_EFLOCKFAIL = -11,\n\n/** The Z library failed to inflate/deflate an object's data */\nGIT_EZLIB = -12,\n\n/** The queried object is currently busy */\nGIT_EBUSY = -13,\n\n/** The index file is not backed up by an existing repository */\nGIT_EBAREINDEX = -14,\n\n/** The name of the reference is not valid */\nGIT_EINVALIDREFNAME = -15,\n\n/** The specified reference has its data corrupted */\nGIT_EREFCORRUPTED = -16,\n\n/** The specified symbolic reference is too deeply nested */\nGIT_ETOONESTEDSYMREF = -17,\n\n/** The pack-refs file is either corrupted or its format is not currently supported */\nGIT_EPACKEDREFSCORRUPTED = -18,\n\n/** The path is invalid */\nGIT_EINVALIDPATH = -19,\n\n/** The revision walker is empty; there are no more commits left to iterate */\nGIT_EREVWALKOVER = -20,\n\n/** The state of the reference is not valid */\nGIT_EINVALIDREFSTATE = -21,\n\n/** This feature has not been implemented yet */\nGIT_ENOTIMPLEMENTED = -22,\n\n/** A reference with this name already exists */\nGIT_EEXISTS = -23,\n\n/** The given integer literal is too large to be parsed */\nGIT_EOVERFLOW = -24,\n\n/** The given literal is not a valid number */\nGIT_ENOTNUM = -25,\n\n/** Streaming error */\nGIT_ESTREAM = -26,\n\n/** invalid arguments to function */\nGIT_EINVALIDARGS = -27,\n\n/** The specified object has its data corrupted */\nGIT_EOBJCORRUPTED = -28,\n\n/** The given short oid is ambiguous */\nGIT_EAMBIGUOUSOIDPREFIX = -29,\n\n/** Skip and passthrough the given ODB backend */\nGIT_EPASSTHROUGH = -30,\n\n/** The path pattern and string did not match */\nGIT_ENOMATCH = -31,\n\n/** The buffer is too short to satisfy the request */\nGIT_ESHORTBUFFER = -32,\n"}],["git_index",{"type":"struct","value":"git_index","line":120,"file":"types.h","tdef":"typedef","used":{"returns":[],"needs":["git_index_add","git_index_append","git_index_clear","git_index_entrycount","git_index_entrycount_unmerged","git_index_find","git_index_free","git_index_get","git_index_get_unmerged_byindex","git_index_get_unmerged_bypath","git_index_open","git_index_read","git_index_remove","git_index_uniq","git_index_write","git_repository_index","git_repository_set_index","git_tree_create_fromindex"]}}],["git_index_entry",{"type":"struct","value":null,"line":67,"file":"index.h","tdef":"typedef","used":{"returns":["git_index_get"],"needs":["git_index_entry_stage"]},"lineto":84,"block":"git_index_time ctime;\ngit_index_time mtime;\n\nunsigned int dev;\nunsigned int ino;\nunsigned int mode;\nunsigned int uid;\nunsigned int gid;\ngit_off_t file_size;\n\ngit_oid oid;\n\nunsigned short flags;\nunsigned short flags_extended;\n\nchar *path;\n"}],["git_index_entry_unmerged",{"type":"struct","value":null,"line":87,"file":"index.h","tdef":"typedef","used":{"returns":["git_index_get_unmerged_byindex","git_index_get_unmerged_bypath"],"needs":[]},"lineto":91,"block":"unsigned int mode[3];\ngit_oid oid[3];\nchar *path;\n"}],["git_index_time",{"type":"struct","value":null,"line":60,"file":"index.h","tdef":"typedef","used":{"returns":[],"needs":[]},"lineto":64,"block":"git_time_t seconds;\n/* nsec should not be stored as time_t compatible */\nunsigned int nanoseconds;\n"}],["git_indexer",{"type":"struct","value":"git_indexer","line":25,"file":"indexer.h","tdef":"typedef","used":{"returns":[],"needs":["git_indexer_free","git_indexer_hash","git_indexer_new","git_indexer_run","git_indexer_write"]}}],["git_indexer_stats",{"type":"struct","value":null,"line":19,"file":"indexer.h","tdef":"typedef","used":{"returns":[],"needs":["git_indexer_run"]},"lineto":22,"block":"unsigned int total;\nunsigned int processed;\n"}],["git_object",{"type":"struct","value":"git_object","line":96,"file":"types.h","tdef":"typedef","used":{"returns":[],"needs":["git_object_free","git_object_id","git_object_lookup","git_object_lookup_prefix","git_object_owner","git_object_type","git_tag_create","git_tag_create_lightweight","git_tag_target"]}}],["git_odb",{"type":"struct","value":"git_odb","line":78,"file":"types.h","tdef":"typedef","used":{"returns":[],"needs":["git_odb_add_alternate","git_odb_add_backend","git_odb_exists","git_odb_free","git_odb_new","git_odb_open","git_odb_open_rstream","git_odb_open_wstream","git_odb_read","git_odb_read_header","git_odb_read_prefix","git_odb_write","git_repository_odb","git_repository_set_odb"]}}],["git_odb_backend",{"type":"struct","value":"git_odb_backend","line":81,"file":"types.h","tdef":"typedef","used":{"returns":[],"needs":["git_odb_add_alternate","git_odb_add_backend","git_odb_backend_loose","git_odb_backend_pack"]}}],["git_odb_object",{"type":"struct","value":"git_odb_object","line":84,"file":"types.h","tdef":"typedef","used":{"returns":[],"needs":["git_odb_object_data","git_odb_object_free","git_odb_object_id","git_odb_object_size","git_odb_object_type","git_odb_read","git_odb_read_prefix"]}}],["git_odb_stream",{"type":"struct","value":"git_odb_stream","line":87,"file":"types.h","tdef":"typedef","used":{"returns":[],"needs":["git_odb_open_rstream","git_odb_open_wstream"]}}],["git_odb_streammode",{"type":"enum","value":null,"line":89,"file":"odb_backend.h","tdef":"typedef","used":{"returns":[],"needs":[]},"lineto":93,"block":"GIT_STREAM_RDONLY = (1 << 1),\nGIT_STREAM_WRONLY = (1 << 2),\nGIT_STREAM_RW = (GIT_STREAM_RDONLY | GIT_STREAM_WRONLY),\n"}],["git_oid_shorten",{"type":"struct","value":"git_oid_shorten","line":165,"file":"oid.h","tdef":"typedef","used":{"returns":[],"needs":["git_oid_shorten_add","git_oid_shorten_free"]}}],["git_otype",{"type":"enum","value":null,"line":64,"file":"types.h","tdef":"typedef","used":{"returns":[],"needs":["git_object__size","git_object_lookup","git_object_lookup_prefix","git_object_typeisloose","git_odb_hash","git_odb_hashfile","git_odb_open_wstream","git_odb_read_header","git_odb_write"]},"lineto":75,"block":"GIT_OBJ_ANY = -2,\t\t/**< Object can be any of the following */\nGIT_OBJ_BAD = -1,\t\t/**< Object is invalid. */\nGIT_OBJ__EXT1 = 0,\t\t/**< Reserved for future use. */\nGIT_OBJ_COMMIT = 1,\t\t/**< A commit object. */\nGIT_OBJ_TREE = 2,\t\t/**< A tree (directory listing) object. */\nGIT_OBJ_BLOB = 3,\t\t/**< A file revision object. */\nGIT_OBJ_TAG = 4,\t\t/**< An annotated tag object. */\nGIT_OBJ__EXT2 = 5,\t\t/**< Reserved for future use. */\nGIT_OBJ_OFS_DELTA = 6, /**< A delta, base is given by an offset. */\nGIT_OBJ_REF_DELTA = 7, /**< A delta, base is given by object id. */\n"}],["git_reference",{"type":"struct","value":"git_reference","line":148,"file":"types.h","tdef":"typedef","used":{"returns":[],"needs":["git_reference_create_oid","git_reference_create_symbolic","git_reference_delete","git_reference_free","git_reference_is_packed","git_reference_lookup","git_reference_name","git_reference_oid","git_reference_owner","git_reference_reload","git_reference_rename","git_reference_resolve","git_reference_set_oid","git_reference_set_target","git_reference_target","git_reference_type","git_reflog_delete","git_reflog_read","git_reflog_rename","git_reflog_write","git_repository_head"]}}],["git_reflog",{"type":"struct","value":"git_reflog","line":132,"file":"types.h","tdef":"typedef","used":{"returns":[],"needs":["git_reflog_entry_byindex","git_reflog_entrycount","git_reflog_free","git_reflog_read"]}}],["git_reflog_entry",{"type":"struct","value":"git_reflog_entry","line":129,"file":"types.h","tdef":"typedef","used":{"returns":["git_reflog_entry_byindex"],"needs":["git_reflog_entry_committer","git_reflog_entry_msg","git_reflog_entry_oidnew","git_reflog_entry_oidold"]}}],["git_refspec",{"type":"struct","value":"git_refspec","line":161,"file":"types.h","tdef":"typedef","used":{"returns":["git_remote_fetchspec","git_remote_pushspec"],"needs":["git_refspec_src_match","git_refspec_transform"]}}],["git_remote",{"type":"struct","value":"git_remote","line":162,"file":"types.h","tdef":"typedef","used":{"returns":[],"needs":["git_remote_connect","git_remote_connected","git_remote_disconnect","git_remote_download","git_remote_fetchspec","git_remote_free","git_remote_load","git_remote_ls","git_remote_name","git_remote_new","git_remote_pushspec","git_remote_update_tips","git_remote_url"]}}],["git_remote_head",{"type":"struct","value":"git_remote_head","line":164,"file":"types.h","tdef":"typedef","used":{"returns":[],"needs":[]}}],["git_repository",{"type":"struct","value":"git_repository","line":93,"file":"types.h","tdef":"typedef","used":{"returns":["git_object_owner","git_reference_owner","git_revwalk_repository"],"needs":["git_blob_create_frombuffer","git_blob_create_fromfile","git_blob_lookup","git_blob_lookup_prefix","git_commit_create","git_commit_create_v","git_commit_lookup","git_commit_lookup_prefix","git_object_lookup","git_object_lookup_prefix","git_reference_create_oid","git_reference_create_symbolic","git_reference_foreach","git_reference_listall","git_reference_lookup","git_reference_packall","git_remote_load","git_remote_new","git_repository_config","git_repository_free","git_repository_head","git_repository_head_detached","git_repository_head_orphan","git_repository_index","git_repository_init","git_repository_is_bare","git_repository_is_empty","git_repository_odb","git_repository_open","git_repository_path","git_repository_set_config","git_repository_set_index","git_repository_set_odb","git_repository_set_workdir","git_repository_workdir","git_revwalk_new","git_status_file","git_status_foreach","git_tag_create","git_tag_create_frombuffer","git_tag_create_lightweight","git_tag_delete","git_tag_list","git_tag_list_match","git_tag_lookup","git_tag_lookup_prefix","git_tree_lookup","git_tree_lookup_prefix","git_treebuilder_write"]}}],["git_revwalk",{"type":"struct","value":"git_revwalk","line":99,"file":"types.h","tdef":"typedef","used":{"returns":[],"needs":["git_revwalk_free","git_revwalk_hide","git_revwalk_new","git_revwalk_next","git_revwalk_push","git_revwalk_repository","git_revwalk_reset","git_revwalk_sorting"]}}],["git_rtype",{"type":"enum","value":null,"line":151,"file":"types.h","tdef":"typedef","used":{"returns":[],"needs":[]},"lineto":158,"block":"GIT_REF_INVALID = 0, /** Invalid reference */\nGIT_REF_OID = 1, /** A reference which points at an object id */\nGIT_REF_SYMBOLIC = 2, /** A reference which points at another reference */\nGIT_REF_PACKED = 4,\nGIT_REF_HAS_PEEL = 8,\nGIT_REF_LISTALL = GIT_REF_OID|GIT_REF_SYMBOLIC|GIT_REF_PACKED,\n"}],["git_signature",{"type":"struct","value":null,"line":141,"file":"types.h","tdef":"typedef","used":{"returns":["git_commit_author","git_commit_committer","git_reflog_entry_committer","git_signature_dup","git_tag_tagger"],"needs":["git_commit_create","git_commit_create_v","git_reflog_write","git_signature_dup","git_signature_free","git_signature_new","git_signature_now","git_tag_create"]},"lineto":145,"block":"char *name; /** full name of the author */\nchar *email; /** email of the author */\ngit_time when; /** time when the action happened */\n"}],["git_strarray",{"type":"struct","value":null,"line":84,"file":"common.h","tdef":"typedef","used":{"returns":[],"needs":["git_reference_listall","git_strarray_free","git_tag_list","git_tag_list_match"]},"lineto":87,"block":"char **strings;\nsize_t count;\n"}],["git_tag",{"type":"struct","value":"git_tag","line":102,"file":"types.h","tdef":"typedef","used":{"returns":[],"needs":["git_tag_free","git_tag_id","git_tag_lookup","git_tag_lookup_prefix","git_tag_message","git_tag_name","git_tag_tagger","git_tag_target","git_tag_target_oid","git_tag_type"]}}],["git_time",{"type":"struct","value":null,"line":135,"file":"types.h","tdef":"typedef","used":{"returns":[],"needs":[]},"lineto":138,"block":"git_time_t time; /** time in seconds from epoch */\nint offset; /** timezone offset, in minutes */\n"}],["git_tree",{"type":"struct","value":"git_tree","line":114,"file":"types.h","tdef":"typedef","used":{"returns":[],"needs":["git_commit_create","git_commit_create_v","git_commit_tree","git_tree_entry_byindex","git_tree_entry_byname","git_tree_entrycount","git_tree_free","git_tree_get_subtree","git_tree_id","git_tree_lookup","git_tree_lookup_prefix","git_tree_walk","git_treebuilder_create"]}}],["git_tree_entry",{"type":"struct","value":"git_tree_entry","line":111,"file":"types.h","tdef":"typedef","used":{"returns":["git_tree_entry_byindex","git_tree_entry_byname","git_treebuilder_get"],"needs":["git_tree_entry_attributes","git_tree_entry_id","git_tree_entry_name","git_tree_entry_type","git_treebuilder_filter","git_treebuilder_insert"]}}],["git_treebuilder",{"type":"struct","value":"git_treebuilder","line":117,"file":"types.h","tdef":"typedef","used":{"returns":[],"needs":["git_treebuilder_clear","git_treebuilder_create","git_treebuilder_filter","git_treebuilder_free","git_treebuilder_get","git_treebuilder_insert","git_treebuilder_remove","git_treebuilder_write"]}}],["git_treewalk_mode",{"type":"enum","value":null,"line":290,"file":"tree.h","tdef":null,"used":{"returns":[],"needs":[]},"lineto":293,"block":"GIT_TREEWALK_PRE = 0, /* Pre-order */\nGIT_TREEWALK_POST = 1, /* Post-order */\n"}],["imaxdiv_t",{"type":"struct","value":null,"line":47,"file":"inttypes.h","tdef":"typedef","used":{"returns":["imaxdiv"],"needs":["imaxdiv"]},"lineto":50,"block":"intmax_t quot;\nintmax_t rem;\n"}]],"examples":[["general.c","ex/HEAD/general.html"],["network/fetch.c","ex/HEAD/fetch.html"],["network/git2.c","ex/HEAD/git2.html"],["network/index-pack.c","ex/HEAD/index-pack.html"],["network/ls-remote.c","ex/HEAD/ls-remote.html"],["showindex.c","ex/HEAD/showindex.html"]],"groups":[["blob",["git_blob_create_frombuffer","git_blob_create_fromfile","git_blob_free","git_blob_lookup","git_blob_lookup_prefix","git_blob_rawcontent","git_blob_rawsize"]],["commit",["git_commit_author","git_commit_committer","git_commit_create","git_commit_create_v","git_commit_free","git_commit_id","git_commit_lookup","git_commit_lookup_prefix","git_commit_message","git_commit_message_encoding","git_commit_parent","git_commit_parent_oid","git_commit_parentcount","git_commit_time","git_commit_time_offset","git_commit_tree","git_commit_tree_oid"]],["config",["git_config_add_file","git_config_add_file_ondisk","git_config_delete","git_config_file__ondisk","git_config_find_global","git_config_find_system","git_config_foreach","git_config_free","git_config_get_bool","git_config_get_string","git_config_new","git_config_open_global","git_config_open_ondisk","git_config_set_bool","git_config_set_string"]],["errors",["git_clearerror","git_lasterror","git_strerror"]],["gitwin",["gitwin_get_codepage","gitwin_set_codepage"]],["index",["git_index_add","git_index_append","git_index_clear","git_index_entry_stage","git_index_entrycount","git_index_entrycount_unmerged","git_index_find","git_index_free","git_index_get","git_index_get_unmerged_byindex","git_index_get_unmerged_bypath","git_index_open","git_index_read","git_index_remove","git_index_uniq","git_index_write"]],["indexer",["git_indexer_free","git_indexer_hash","git_indexer_new","git_indexer_run","git_indexer_write"]],["inttypes",["imaxdiv"]],["object",["git_object__size","git_object_free","git_object_id","git_object_lookup","git_object_lookup_prefix","git_object_owner","git_object_type","git_object_typeisloose"]],["odb",["git_odb_add_alternate","git_odb_add_backend","git_odb_backend_loose","git_odb_backend_pack","git_odb_exists","git_odb_free","git_odb_hash","git_odb_hashfile","git_odb_new","git_odb_object_data","git_odb_object_free","git_odb_object_id","git_odb_object_size","git_odb_object_type","git_odb_open","git_odb_open_rstream","git_odb_open_wstream","git_odb_read","git_odb_read_header","git_odb_read_prefix","git_odb_write"]],["oid",["git_oid_allocfmt","git_oid_cmp","git_oid_cpy","git_oid_fmt","git_oid_fromraw","git_oid_fromstr","git_oid_fromstrn","git_oid_ncmp","git_oid_pathfmt","git_oid_shorten_add","git_oid_shorten_free","git_oid_streq","git_oid_to_string"]],["reference",["git_reference_create_oid","git_reference_create_symbolic","git_reference_delete","git_reference_foreach","git_reference_free","git_reference_is_packed","git_reference_listall","git_reference_lookup","git_reference_name","git_reference_oid","git_reference_owner","git_reference_packall","git_reference_reload","git_reference_rename","git_reference_resolve","git_reference_set_oid","git_reference_set_target","git_reference_target","git_reference_type"]],["reflog",["git_reflog_delete","git_reflog_entry_byindex","git_reflog_entry_committer","git_reflog_entry_msg","git_reflog_entry_oidnew","git_reflog_entry_oidold","git_reflog_entrycount","git_reflog_free","git_reflog_read","git_reflog_rename","git_reflog_write"]],["refspec",["git_refspec_src_match","git_refspec_transform"]],["remote",["git_remote_connect","git_remote_connected","git_remote_disconnect","git_remote_download","git_remote_fetchspec","git_remote_free","git_remote_load","git_remote_ls","git_remote_name","git_remote_new","git_remote_pushspec","git_remote_update_tips","git_remote_url","git_remote_valid_url"]],["repository",["git_repository_config","git_repository_discover","git_repository_free","git_repository_head","git_repository_head_detached","git_repository_head_orphan","git_repository_index","git_repository_init","git_repository_is_bare","git_repository_is_empty","git_repository_odb","git_repository_open","git_repository_path","git_repository_set_config","git_repository_set_index","git_repository_set_odb","git_repository_set_workdir","git_repository_workdir"]],["revwalk",["git_revwalk_free","git_revwalk_hide","git_revwalk_new","git_revwalk_next","git_revwalk_push","git_revwalk_repository","git_revwalk_reset","git_revwalk_sorting"]],["signature",["git_signature_dup","git_signature_free","git_signature_new","git_signature_now"]],["status",["git_status_file","git_status_foreach"]],["strarray",["git_strarray_free"]],["tag",["git_tag_create","git_tag_create_frombuffer","git_tag_create_lightweight","git_tag_delete","git_tag_free","git_tag_id","git_tag_list","git_tag_list_match","git_tag_lookup","git_tag_lookup_prefix","git_tag_message","git_tag_name","git_tag_tagger","git_tag_target","git_tag_target_oid","git_tag_type"]],["threads",["git_threads_init","git_threads_shutdown"]],["tree",["git_tree_create_fromindex","git_tree_entry_attributes","git_tree_entry_byindex","git_tree_entry_byname","git_tree_entry_id","git_tree_entry_name","git_tree_entry_type","git_tree_entrycount","git_tree_free","git_tree_get_subtree","git_tree_id","git_tree_lookup","git_tree_lookup_prefix","git_tree_walk"]],["treebuilder",["git_treebuilder_clear","git_treebuilder_create","git_treebuilder_filter","git_treebuilder_free","git_treebuilder_get","git_treebuilder_insert","git_treebuilder_remove","git_treebuilder_write"]]],"prefix":"include/git2","functions":{"__attribute__":{"rawComments":" Declare a public function exported for application use. ","description":"Declare a public function exported for application use.","sig":"","return":{"type":"","comment":""},"argline":"(visibility(\"default\"))","comments":"","line":29,"file":"common.h","args":[{"type":"","comment":"","name":"(visibility(\"default\"))"}],"lineto":33},"git_repository_set_index":{"rawComments":"\n Set the index file for this repository\n\n This index will be used for all index-related operations\n involving this repository.\n\n The repository will keep a reference to the index file;\n the user must still free the index after setting it\n to the repository, or it will leak.\n\n @param repo A repository object\n @param index An index object\n\n","description":"Set the index file for this repository","sig":"git_repository *::git_index *","return":{"type":"void","comment":""},"group":"repository","argline":"git_repository *repo, git_index *index","comments":"This index will be used for all index-related operations\n involving this repository.\n\n The repository will keep a reference to the index file;\n the user must still free the index after setting it\n to the repository, or it will leak.","line":273,"file":"repository.h","args":[{"type":"git_repository *","comment":"A repository object","name":"repo"},{"type":"git_index *","comment":"An index object","name":"index"}],"lineto":286},"git_config_set_string":{"rawComments":"\n Set the value of a string config variable.\n\n A copy of the string is made and the user is free to use it\n afterwards.\n\n @param cfg where to look for the variable\n @param name the variable's name\n @param value the string to store.\n @return GIT_SUCCESS or an error code\n\n","description":"Set the value of a string config variable.","sig":"git_config *::const char *::const char *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"group":"config","argline":"git_config *cfg, const char *name, const char *value","comments":"A copy of the string is made and the user is free to use it\n afterwards.","line":237,"file":"config.h","args":[{"type":"git_config *","comment":"where to look for the variable","name":"cfg"},{"type":"const char *","comment":"the variable's name","name":"name"},{"type":"const char *","comment":"the string to store.","name":"value"}],"lineto":248},"git_odb_open_rstream":{"rawComments":"\n Open a stream to read an object from the ODB\n\n Note that most backends do *not* support streaming reads\n because they store their objects as compressed/delta'ed blobs.\n\n It's recommended to use `git_odb_read` instead, which is\n assured to work on all backends.\n\n The returned stream will be of type `GIT_STREAM_RDONLY` and\n will have the following methods:\n\n\t\t- stream->read: read `n` bytes from the stream\n\t\t- stream->free: free the stream\n\n The stream must always be free'd or will leak memory.\n\n @see git_odb_stream\n\n @param stream pointer where to store the stream\n @param db object database where the stream will read from\n @param oid oid of the object the stream will read from\n @return 0 if the stream was created; error code otherwise\n\n","description":"Open a stream to read an object from the ODB","sig":"git_odb_stream **::git_odb *::const git_oid *","return":{"type":"int","comment":"0 if the stream was created; error code otherwise"},"group":"odb","argline":"git_odb_stream **stream, git_odb *db, const git_oid *oid","comments":"Note that most backends do *not* support streaming reads\n because they store their objects as compressed/delta'ed blobs.\n\n It's recommended to use `git_odb_read` instead, which is\n assured to work on all backends.\n\n The returned stream will be of type `GIT_STREAM_RDONLY` and\n will have the following methods:\n\n\t\t- stream->read: read `n` bytes from the stream\n\t\t- stream->free: free the stream\n\n The stream must always be free'd or will leak memory.\n\n @see git_odb_stream","line":224,"file":"odb.h","args":[{"type":"git_odb_stream **","comment":"pointer where to store the stream","name":"stream"},{"type":"git_odb *","comment":"object database where the stream will read from","name":"db"},{"type":"const git_oid *","comment":"oid of the object the stream will read from","name":"oid"}],"lineto":248},"git_reference_lookup":{"rawComments":"\n Lookup a reference by its name in a repository.\n\n The generated reference must be freed by the user.\n\n @param reference_out pointer to the looked-up reference\n @param repo the repository to look up the reference\n @param name the long name for the reference (e.g. HEAD, ref/heads/master, refs/tags/v0.1.0, ...)\n @return GIT_SUCCESS or an error code\n\n","examples":{"general.c":["ex/HEAD/general.html#git_reference_lookup-1"]},"description":"Lookup a reference by its name in a repository.","sig":"git_reference **::git_repository *::const char *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"group":"reference","argline":"git_reference **reference_out, git_repository *repo, const char *name","comments":"The generated reference must be freed by the user.","line":23,"file":"refs.h","args":[{"type":"git_reference **","comment":"pointer to the looked-up reference","name":"reference_out"},{"type":"git_repository *","comment":"the repository to look up the reference","name":"repo"},{"type":"const char *","comment":"the long name for the reference (e.g. HEAD, ref/heads/master, refs/tags/v0.1.0, ...)","name":"name"}],"lineto":33},"git_commit_id":{"rawComments":"\n Get the id of a commit.\n\n @param commit a previously loaded commit.\n @return object identity for the commit.\n\n","examples":{"general.c":["ex/HEAD/general.html#git_commit_id-2"]},"description":"Get the id of a commit.","sig":"git_commit *","return":{"type":"const git_oid *","comment":"object identity for the commit."},"group":"commit","argline":"git_commit *commit","comments":"","line":73,"file":"commit.h","args":[{"type":"git_commit *","comment":"a previously loaded commit.","name":"commit"}],"lineto":79},"git_oid_fromstrn":{"rawComments":"\n Parse N characters of a hex formatted object id into a git_oid\n\n If N is odd, N-1 characters will be parsed instead.\n The remaining space in the git_oid will be set to zero.\n\n @param out oid structure the result is written into.\n @param str input hex string of at least size `length`\n @param length length of the input string\n @return GIT_SUCCESS or an error code\n\n","description":"Parse N characters of a hex formatted object id into a git_oid","sig":"git_oid *::const char *::size_t","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"group":"oid","argline":"git_oid *out, const char *str, size_t length","comments":"If N is odd, N-1 characters will be parsed instead.\n The remaining space in the git_oid will be set to zero.","line":50,"file":"oid.h","args":[{"type":"git_oid *","comment":"oid structure the result is written into.","name":"out"},{"type":"const char *","comment":"input hex string of at least size `length`","name":"str"},{"type":"size_t","comment":"length of the input string","name":"length"}],"lineto":61},"git_commit_create_v":{"rawComments":"\n Create a new commit in the repository using a variable\n argument list.\n\n The parents for the commit are specified as a variable\n list of pointers to `const git_commit *`. Note that this\n is a convenience method which may not be safe to export\n for certain languages or compilers\n\n All other parameters remain the same\n\n @see git_commit_create\n\n","examples":{"general.c":["ex/HEAD/general.html#git_commit_create_v-3"]},"description":"Create a new commit in the repository using a variable argument list.","sig":"git_oid *::git_repository *::const char *::const git_signature *::const git_signature *::const char *::const char *::const git_tree *::int::","return":{"type":"int","comment":""},"group":"commit","argline":"git_oid *oid, git_repository *repo, const char *update_ref, const git_signature *author, const git_signature *committer, const char *message_encoding, const char *message, const git_tree *tree, int parent_count, ...","comments":"The parents for the commit are specified as a variable\n list of pointers to `const git_commit *`. Note that this\n is a convenience method which may not be safe to export\n for certain languages or compilers\n\n All other parameters remain the same\n\n @see git_commit_create","line":236,"file":"commit.h","args":[{"type":"git_oid *","comment":"","name":"oid"},{"type":"git_repository *","comment":"","name":"repo"},{"type":"const char *","comment":"","name":"update_ref"},{"type":"const git_signature *","comment":"","name":"author"},{"type":"const git_signature *","comment":"","name":"committer"},{"type":"const char *","comment":"","name":"message_encoding"},{"type":"const char *","comment":"","name":"message"},{"type":"const git_tree *","comment":"","name":"tree"},{"type":"int","comment":"","name":"parent_count"},{"type":"","comment":"","name":"..."}],"lineto":259},"git_tag_tagger":{"rawComments":"\n Get the tagger (author) of a tag\n\n @param tag a previously loaded tag.\n @return reference to the tag's author\n\n","description":"Get the tagger (author) of a tag","sig":"git_tag *","return":{"type":"const git_signature *","comment":"reference to the tag's author"},"group":"tag","argline":"git_tag *tag","comments":"","line":116,"file":"tag.h","args":[{"type":"git_tag *","comment":"a previously loaded tag.","name":"tag"}],"lineto":122},"git_repository_workdir":{"rawComments":"\n Get the path of the working directory for this repository\n\n If the repository is bare, this function will always return\n NULL.\n\n @param repo A repository object\n @return the path to the working dir, if it exists\n\n","description":"Get the path of the working directory for this repository","sig":"git_repository *","return":{"type":"const char *","comment":"the path to the working dir, if it exists"},"group":"repository","argline":"git_repository *repo","comments":"If the repository is bare, this function will always return\n NULL.","line":159,"file":"repository.h","args":[{"type":"git_repository *","comment":"A repository object","name":"repo"}],"lineto":168},"git_index_entrycount_unmerged":{"rawComments":"\n Get the count of unmerged entries currently in the index\n\n @param index an existing index object\n @return integer of count of current unmerged entries\n\n","description":"Get the count of unmerged entries currently in the index","sig":"git_index *","return":{"type":"unsigned int","comment":"integer of count of current unmerged entries"},"group":"index","argline":"git_index *index","comments":"","line":259,"file":"index.h","args":[{"type":"git_index *","comment":"an existing index object","name":"index"}],"lineto":265},"git_repository_open":{"rawComments":"\n Open a git repository.\n\n The 'path' argument must point to either a git repository\n folder, or an existing work dir.\n\n The method will automatically detect if 'path' is a normal\n or bare repository or fail is 'path' is neither.\n\n @param repository pointer to the repo which will be opened\n @param path the path to the repository\n @return GIT_SUCCESS or an error code\n\n","examples":{"showindex.c":["ex/HEAD/showindex.html#git_repository_open-1"],"network/git2.c":["ex/HEAD/git2.html#git_repository_open-1"],"general.c":["ex/HEAD/general.html#git_repository_open-4","ex/HEAD/general.html#git_repository_open-5"]},"description":"Open a git repository.","sig":"git_repository **::const char *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"group":"repository","argline":"git_repository **repository, const char *path","comments":"The 'path' argument must point to either a git repository\n folder, or an existing work dir.\n\n The method will automatically detect if 'path' is a normal\n or bare repository or fail is 'path' is neither.","line":23,"file":"repository.h","args":[{"type":"git_repository **","comment":"pointer to the repo which will be opened","name":"repository"},{"type":"const char *","comment":"the path to the repository","name":"path"}],"lineto":36},"git_config_add_file_ondisk":{"rawComments":"\n Add an on-disk config file instance to an existing config\n\n The on-disk file pointed at by `path` will be opened and\n parsed; it's expected to be a native Git config file following\n the default Git config syntax (see man git-config).\n\n Note that the configuration object will free the file\n automatically.\n\n Further queries on this config object will access each\n of the config file instances in order (instances with\n a higher priority will be accessed first).\n\n @param cfg the configuration to add the file to\n @param path path to the configuration file (backend) to add\n @param priority the priority the backend should have\n @return GIT_SUCCESS or an error code\n\n","description":"Add an on-disk config file instance to an existing config","sig":"git_config *::const char *::int","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"group":"config","argline":"git_config *cfg, const char *path, int priority","comments":"The on-disk file pointed at by `path` will be opened and\n parsed; it's expected to be a native Git config file following\n the default Git config syntax (see man git-config).\n\n Note that the configuration object will free the file\n automatically.\n\n Further queries on this config object will access each\n of the config file instances in order (instances with\n a higher priority will be accessed first).","line":118,"file":"config.h","args":[{"type":"git_config *","comment":"the configuration to add the file to","name":"cfg"},{"type":"const char *","comment":"path to the configuration file (backend) to add","name":"path"},{"type":"int","comment":"the priority the backend should have","name":"priority"}],"lineto":137},"git_config_find_system":{"rawComments":"\n Locate the path to the system configuration file\n\n If /etc/gitconfig doesn't exist, it will look for\n %PROGRAMFILES%\\Git\\etc\\gitconfig.\n @param system_config_path Buffer of GIT_PATH_MAX length to store the path\n @return GIT_SUCCESS if a system configuration file has been\n\tfound. Its path will be stored in `buffer`.\n\n","description":"Locate the path to the system configuration file","sig":"char *","return":{"type":"int","comment":"GIT_SUCCESS if a system configuration file has been found. Its path will be stored in `buffer`."},"group":"config","argline":"char *system_config_path","comments":"If /etc/gitconfig doesn't exist, it will look for\n %PROGRAMFILES%\\Git\\etc\\gitconfig.","line":54,"file":"config.h","args":[{"type":"char *","comment":"Buffer of GIT_PATH_MAX length to store the path","name":"system_config_path"}],"lineto":64},"git_index_uniq":{"rawComments":"\n Remove all entries with equal path except last added\n\n @param index an existing index object\n\n","description":"Remove all entries with equal path except last added","sig":"git_index *","return":{"type":"void","comment":""},"group":"index","argline":"git_index *index","comments":"","line":157,"file":"index.h","args":[{"type":"git_index *","comment":"an existing index object","name":"index"}],"lineto":162},"git_tag_list_match":{"rawComments":"\n Fill a list with all the tags in the Repository\n which name match a defined pattern\n\n If an empty pattern is provided, all the tags\n will be returned.\n\n The string array will be filled with the names of the\n matching tags; these values are owned by the user and\n should be free'd manually when no longer needed, using\n `git_strarray_free`.\n\n @param tag_names Pointer to a git_strarray structure where\n\t\tthe tag names will be stored\n @param pattern Standard fnmatch pattern\n @param repo Repository where to find the tags\n @return GIT_SUCCESS or an error code\n\n","description":"Fill a list with all the tags in the Repository which name match a defined pattern","sig":"git_strarray *::const char *::git_repository *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"group":"tag","argline":"git_strarray *tag_names, const char *pattern, git_repository *repo","comments":"If an empty pattern is provided, all the tags\n will be returned.\n\n The string array will be filled with the names of the\n matching tags; these values are owned by the user and\n should be free'd manually when no longer needed, using\n `git_strarray_free`.","line":254,"file":"tag.h","args":[{"type":"git_strarray *","comment":"Pointer to a git_strarray structure where the tag names will be stored","name":"tag_names"},{"type":"const char *","comment":"Standard fnmatch pattern","name":"pattern"},{"type":"git_repository *","comment":"Repository where to find the tags","name":"repo"}],"lineto":275},"git_status_file":{"rawComments":"\n Get file status for a single file\n\n @param status_flags the status value\n @param repo a repository object\n @param path the file to retrieve status for, rooted at the repo's workdir\n @return GIT_EINVALIDPATH when `path` points at a folder, GIT_ENOTFOUND when\n\t\tthe file doesn't exist in any of HEAD, the index or the worktree,\n\t\tGIT_SUCCESS otherwise\n\n","description":"Get file status for a single file","sig":"unsigned int *::git_repository *::const char *","return":{"type":"int","comment":"GIT_EINVALIDPATH when `path` points at a folder, GIT_ENOTFOUND when the file doesn't exist in any of HEAD, the index or the worktree, GIT_SUCCESS otherwise"},"group":"status","argline":"unsigned int *status_flags, git_repository *repo, const char *path","comments":"","line":49,"file":"status.h","args":[{"type":"unsigned int *","comment":"the status value","name":"status_flags"},{"type":"git_repository *","comment":"a repository object","name":"repo"},{"type":"const char *","comment":"the file to retrieve status for, rooted at the repo's workdir","name":"path"}],"lineto":59},"git_remote_new":{"rawComments":"\n Create a remote in memory\n\n Create a remote with the default refspecs in memory. You can use\n this when you have a URL instead of a remote's name.\n\n @param out pointer to the new remote object\n @param repo the associtated repository\n @param url the remote repository's URL\n @param name the remote's name\n @return GIT_SUCCESS or an error code\n\n","examples":{"network/ls-remote.c":["ex/HEAD/ls-remote.html#git_remote_new-1"],"network/fetch.c":["ex/HEAD/fetch.html#git_remote_new-1"]},"description":"Create a remote in memory","sig":"git_remote **::git_repository *::const char *::const char *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"group":"remote","argline":"git_remote **out, git_repository *repo, const char *url, const char *name","comments":"Create a remote with the default refspecs in memory. You can use\n this when you have a URL instead of a remote's name.","line":32,"file":"remote.h","args":[{"type":"git_remote **","comment":"pointer to the new remote object","name":"out"},{"type":"git_repository *","comment":"the associtated repository","name":"repo"},{"type":"const char *","comment":"the remote repository's URL","name":"url"},{"type":"const char *","comment":"the remote's name","name":"name"}],"lineto":44},"git_config_free":{"rawComments":"\n Free the configuration and its associated memory and files\n\n @param cfg the configuration to free\n\n","description":"Free the configuration and its associated memory and files","sig":"git_config *","return":{"type":"void","comment":""},"group":"config","argline":"git_config *cfg","comments":"","line":154,"file":"config.h","args":[{"type":"git_config *","comment":"the configuration to free","name":"cfg"}],"lineto":159},"git_config_new":{"rawComments":"\n Allocate a new configuration object\n\n This object is empty, so you have to add a file to it before you\n can do anything with it.\n\n @param out pointer to the new configuration\n @return GIT_SUCCESS or an error code\n\n","description":"Allocate a new configuration object","sig":"git_config **","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"group":"config","argline":"git_config **out","comments":"This object is empty, so you have to add a file to it before you\n can do anything with it.","line":90,"file":"config.h","args":[{"type":"git_config **","comment":"pointer to the new configuration","name":"out"}],"lineto":99},"git_tree_lookup":{"rawComments":"\n Lookup a tree object from the repository.\n\n @param tree pointer to the looked up tree\n @param repo the repo to use when locating the tree.\n @param id identity of the tree to locate.\n @return GIT_SUCCESS or an error code\n\n","examples":{"general.c":["ex/HEAD/general.html#git_tree_lookup-6","ex/HEAD/general.html#git_tree_lookup-7"]},"description":"Lookup a tree object from the repository.","sig":"git_tree **::git_repository *::const git_oid *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"group":"tree","argline":"git_tree **tree, git_repository *repo, const git_oid *id","comments":"","line":24,"file":"tree.h","args":[{"type":"git_tree **","comment":"pointer to the looked up tree","name":"tree"},{"type":"git_repository *","comment":"the repo to use when locating the tree.","name":"repo"},{"type":"const git_oid *","comment":"identity of the tree to locate.","name":"id"}],"lineto":35},"git_treebuilder_insert":{"rawComments":"\n Add or update an entry to the builder\n\n Insert a new entry for `filename` in the builder with the\n given attributes.\n\n if an entry named `filename` already exists, its attributes\n will be updated with the given ones.\n\n The optional pointer `entry_out` can be used to retrieve a\n pointer to the newly created/updated entry.\n\n @param entry_out Pointer to store the entry (optional)\n @param bld Tree builder\n @param filename Filename of the entry\n @param id SHA1 oid of the entry\n @param attributes Folder attributes of the entry\n @return GIT_SUCCESS or an error code\n\n","description":"Add or update an entry to the builder","sig":"git_tree_entry **::git_treebuilder *::const char *::const git_oid *::unsigned int","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"group":"treebuilder","argline":"git_tree_entry **entry_out, git_treebuilder *bld, const char *filename, const git_oid *id, unsigned int attributes","comments":"Insert a new entry for `filename` in the builder with the\n given attributes.\n\n if an entry named `filename` already exists, its attributes\n will be updated with the given ones.\n\n The optional pointer `entry_out` can be used to retrieve a\n pointer to the newly created/updated entry.","line":215,"file":"tree.h","args":[{"type":"git_tree_entry **","comment":"Pointer to store the entry (optional)","name":"entry_out"},{"type":"git_treebuilder *","comment":"Tree builder","name":"bld"},{"type":"const char *","comment":"Filename of the entry","name":"filename"},{"type":"const git_oid *","comment":"SHA1 oid of the entry","name":"id"},{"type":"unsigned int","comment":"Folder attributes of the entry","name":"attributes"}],"lineto":234},"git_treebuilder_write":{"rawComments":"\n Write the contents of the tree builder as a tree object\n\n The tree builder will be written to the given `repo`, and\n it's identifying SHA1 hash will be stored in the `oid`\n pointer.\n\n @param oid Pointer where to store the written OID\n @param repo Repository where to store the object\n @param bld Tree builder to write\n @return GIT_SUCCESS or an error code\n\n","description":"Write the contents of the tree builder as a tree object","sig":"git_oid *::git_repository *::git_treebuilder *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"group":"treebuilder","argline":"git_oid *oid, git_repository *repo, git_treebuilder *bld","comments":"The tree builder will be written to the given `repo`, and\n it's identifying SHA1 hash will be stored in the `oid`\n pointer.","line":257,"file":"tree.h","args":[{"type":"git_oid *","comment":"Pointer where to store the written OID","name":"oid"},{"type":"git_repository *","comment":"Repository where to store the object","name":"repo"},{"type":"git_treebuilder *","comment":"Tree builder to write","name":"bld"}],"lineto":269},"git_repository_head_orphan":{"rawComments":"\n Check if the current branch is an orphan\n\n An orphan branch is one named from HEAD but which doesn't exist in\n the refs namespace, because it doesn't have any commit to point to.\n\n @param repo Repo to test\n @return 1 if the current branch is an orphan, 0 if it's not; error\n code if therewas an error\n\n","description":"Check if the current branch is an orphan","sig":"git_repository *","return":{"type":"int","comment":"1 if the current branch is an orphan, 0 if it's not; error code if therewas an error"},"group":"repository","argline":"git_repository *repo","comments":"An orphan branch is one named from HEAD but which doesn't exist in\n the refs namespace, because it doesn't have any commit to point to.","line":124,"file":"repository.h","args":[{"type":"git_repository *","comment":"Repo to test","name":"repo"}],"lineto":134},"git_tree_free":{"rawComments":"\n Close an open tree\n\n This is a wrapper around git_object_free()\n\n IMPORTANT:\n It *is* necessary to call this method when you stop\n using a tree. Failure to do so will cause a memory leak.\n\n @param tree the tree to close\n\n","description":"Close an open tree","sig":"git_tree *","return":{"type":"void","comment":""},"group":"tree","argline":"git_tree *tree","comments":"This is a wrapper around git_object_free()\n\n IMPORTANT:\n It *is* necessary to call this method when you stop\n using a tree. Failure to do so will cause a memory leak.","line":54,"file":"tree.h","args":[{"type":"git_tree *","comment":"the tree to close","name":"tree"}],"lineto":69},"git_remote_update_tips":{"rawComments":"\n Update the tips to the new state\n\n Make sure that you only call this once you've successfully indexed\n or expanded the packfile.\n\n @param remote the remote to update\n\n","examples":{"network/fetch.c":["ex/HEAD/fetch.html#git_remote_update_tips-2"]},"description":"Update the tips to the new state","sig":"git_remote *","return":{"type":"int","comment":""},"group":"remote","argline":"git_remote *remote","comments":"Make sure that you only call this once you've successfully indexed\n or expanded the packfile.","line":156,"file":"remote.h","args":[{"type":"git_remote *","comment":"the remote to update","name":"remote"}],"lineto":164},"git_index_write":{"rawComments":"\n Write an existing index object from memory back to disk\n using an atomic file lock.\n\n @param index an existing index object\n @return GIT_SUCCESS or an error code\n\n","description":"Write an existing index object from memory back to disk using an atomic file lock.","sig":"git_index *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"group":"index","argline":"git_index *index","comments":"","line":138,"file":"index.h","args":[{"type":"git_index *","comment":"an existing index object","name":"index"}],"lineto":145},"git_tag_list":{"rawComments":"\n Fill a list with all the tags in the Repository\n\n The string array will be filled with the names of the\n matching tags; these values are owned by the user and\n should be free'd manually when no longer needed, using\n `git_strarray_free`.\n\n @param tag_names Pointer to a git_strarray structure where\n\t\tthe tag names will be stored\n @param repo Repository where to find the tags\n @return GIT_SUCCESS or an error code\n\n","description":"Fill a list with all the tags in the Repository","sig":"git_strarray *::git_repository *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"group":"tag","argline":"git_strarray *tag_names, git_repository *repo","comments":"The string array will be filled with the names of the\n matching tags; these values are owned by the user and\n should be free'd manually when no longer needed, using\n `git_strarray_free`.","line":237,"file":"tag.h","args":[{"type":"git_strarray *","comment":"Pointer to a git_strarray structure where the tag names will be stored","name":"tag_names"},{"type":"git_repository *","comment":"Repository where to find the tags","name":"repo"}],"lineto":252},"git_config_foreach":{"rawComments":"\n Perform an operation on each config variable.\n\n The callback receives the normalized name and value of each variable\n in the config backend, and the data pointer passed to this function.\n As soon as one of the callback functions returns something other than 0,\n this function returns that value.\n\n @param cfg where to get the variables from\n @param callback the function to call on each variable\n @param payload the data to pass to the callback\n @return GIT_SUCCESS or the return value of the callback which didn't return 0\n\n","description":"Perform an operation on each config variable.","sig":"git_config *::int(*)(const char *var_name, const char *value, void *payload)::void *","return":{"type":"int","comment":"GIT_SUCCESS or the return value of the callback which didn't return 0"},"group":"config","argline":"git_config *cfg, int (*callback)(const char *var_name, const char *value, void *payload), void *payload","comments":"The callback receives the normalized name and value of each variable\n in the config backend, and the data pointer passed to this function.\n As soon as one of the callback functions returns something other than 0,\n this function returns that value.","line":258,"file":"config.h","args":[{"type":"git_config *","comment":"where to get the variables from","name":"cfg"},{"type":"int(*)(const char *var_name, const char *value, void *payload)","comment":"the function to call on each variable","name":"callback"},{"type":"void *","comment":"the data to pass to the callback","name":"payload"}],"lineto":274},"git_tag_lookup":{"rawComments":"\n Lookup a tag object from the repository.\n\n @param tag pointer to the looked up tag\n @param repo the repo to use when locating the tag.\n @param id identity of the tag to locate.\n @return GIT_SUCCESS or an error code\n\n","examples":{"general.c":["ex/HEAD/general.html#git_tag_lookup-8"]},"description":"Lookup a tag object from the repository.","sig":"git_tag **::git_repository *::const git_oid *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"group":"tag","argline":"git_tag **tag, git_repository *repo, const git_oid *id","comments":"","line":24,"file":"tag.h","args":[{"type":"git_tag **","comment":"pointer to the looked up tag","name":"tag"},{"type":"git_repository *","comment":"the repo to use when locating the tag.","name":"repo"},{"type":"const git_oid *","comment":"identity of the tag to locate.","name":"id"}],"lineto":35},"git_tree_id":{"rawComments":"\n Get the id of a tree.\n\n @param tree a previously loaded tree.\n @return object identity for the tree.\n\n","description":"Get the id of a tree.","sig":"git_tree *","return":{"type":"const git_oid *","comment":"object identity for the tree."},"group":"tree","argline":"git_tree *tree","comments":"","line":72,"file":"tree.h","args":[{"type":"git_tree *","comment":"a previously loaded tree.","name":"tree"}],"lineto":78},"git_reflog_entry_byindex":{"rawComments":"\n Lookup an entry by its index\n\n @param reflog a previously loaded reflog\n @param idx the position to lookup\n @return the entry; NULL if not found\n\n","description":"Lookup an entry by its index","sig":"git_reflog *::unsigned int","return":{"type":"const git_reflog_entry *","comment":"the entry; NULL if not found"},"group":"reflog","argline":"git_reflog *reflog, unsigned int idx","comments":"","line":78,"file":"reflog.h","args":[{"type":"git_reflog *","comment":"a previously loaded reflog","name":"reflog"},{"type":"unsigned int","comment":"the position to lookup","name":"idx"}],"lineto":85},"git_lasterror":{"rawComments":"\n Return a detailed error string with the latest error\n that occurred in the library.\n @return a string explaining the error\n\n","examples":{"network/git2.c":["ex/HEAD/git2.html#git_lasterror-2"]},"description":"Return a detailed error string with the latest error that occurred in the library.","sig":"","return":{"type":"const char *","comment":"a string explaining the error"},"group":"errors","argline":"void","comments":"","line":118,"file":"errors.h","args":[{"type":"","comment":"","name":"void"}],"lineto":123},"git_reflog_rename":{"rawComments":"\n Rename the reflog for the given reference\n\n @param ref the reference\n @param new_name the new name of the reference\n @return GIT_SUCCESS or an error code\n\n","description":"Rename the reflog for the given reference","sig":"git_reference *::const char *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"group":"reflog","argline":"git_reference *ref, const char *new_name","comments":"","line":53,"file":"reflog.h","args":[{"type":"git_reference *","comment":"the reference","name":"ref"},{"type":"const char *","comment":"the new name of the reference","name":"new_name"}],"lineto":60},"git_tag_id":{"rawComments":"\n Get the id of a tag.\n\n @param tag a previously loaded tag.\n @return object identity for the tag.\n\n","description":"Get the id of a tag.","sig":"git_tag *","return":{"type":"const git_oid *","comment":"object identity for the tag."},"group":"tag","argline":"git_tag *tag","comments":"","line":72,"file":"tag.h","args":[{"type":"git_tag *","comment":"a previously loaded tag.","name":"tag"}],"lineto":78},"git_reflog_entry_oidold":{"rawComments":"\n Get the old oid\n\n @param entry a reflog entry\n @return the old oid\n\n","description":"Get the old oid","sig":"const git_reflog_entry *","return":{"type":"const git_oid *","comment":"the old oid"},"group":"reflog","argline":"const git_reflog_entry *entry","comments":"","line":87,"file":"reflog.h","args":[{"type":"const git_reflog_entry *","comment":"a reflog entry","name":"entry"}],"lineto":93},"gitwin_set_codepage":{"rawComments":"\n @param codepage numeric codepage identifier\n\n","description":"","sig":"unsigned int","return":{"type":"void","comment":""},"group":"gitwin","argline":"unsigned int codepage","comments":"","line":37,"file":"windows.h","args":[{"type":"unsigned int","comment":"numeric codepage identifier","name":"codepage"}],"lineto":41},"git_oid_fromraw":{"rawComments":"\n Copy an already raw oid into a git_oid structure.\n\n @param out oid structure the result is written into.\n @param raw the raw input bytes to be copied.\n\n","description":"Copy an already raw oid into a git_oid structure.","sig":"git_oid *::const unsigned char *","return":{"type":"void","comment":""},"group":"oid","argline":"git_oid *out, const unsigned char *raw","comments":"","line":63,"file":"oid.h","args":[{"type":"git_oid *","comment":"oid structure the result is written into.","name":"out"},{"type":"const unsigned char *","comment":"the raw input bytes to be copied.","name":"raw"}],"lineto":69},"git_reference_listall":{"rawComments":"\n Fill a list with all the references that can be found\n in a repository.\n\n The listed references may be filtered by type, or using\n a bitwise OR of several types. Use the magic value\n `GIT_REF_LISTALL` to obtain all references, including\n packed ones.\n\n The string array will be filled with the names of all\n references; these values are owned by the user and\n should be free'd manually when no longer needed, using\n `git_strarray_free`.\n\n @param array Pointer to a git_strarray structure where\n\t\tthe reference names will be stored\n @param repo Repository where to find the refs\n @param list_flags Filtering flags for the reference\n\t\tlisting.\n @return GIT_SUCCESS or an error code\n\n","examples":{"general.c":["ex/HEAD/general.html#git_reference_listall-9"]},"description":"Fill a list with all the references that can be found in a repository.","sig":"git_strarray *::git_repository *::unsigned int","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"group":"reference","argline":"git_strarray *array, git_repository *repo, unsigned int list_flags","comments":"The listed references may be filtered by type, or using\n a bitwise OR of several types. Use the magic value\n `GIT_REF_LISTALL` to obtain all references, including\n packed ones.\n\n The string array will be filled with the names of all\n references; these values are owned by the user and\n should be free'd manually when no longer needed, using\n `git_strarray_free`.","line":227,"file":"refs.h","args":[{"type":"git_strarray *","comment":"Pointer to a git_strarray structure where the reference names will be stored","name":"array"},{"type":"git_repository *","comment":"Repository where to find the refs","name":"repo"},{"type":"unsigned int","comment":"Filtering flags for the reference listing.","name":"list_flags"}],"lineto":248},"git_commit_create":{"rawComments":"\n Create a new commit in the repository using `git_object`\n instances as parameters.\n\n @param oid Pointer where to store the OID of the\n\tnewly created commit\n\n @param repo Repository where to store the commit\n\n @param update_ref 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\n\n @param author Signature representing the author and the authory\n\ttime of this commit\n\n @param committer Signature representing the committer and the\n commit time of this commit\n\n @param message_encoding The encoding for the message in the\n commit, represented with a standard encoding name.\n E.g. \"UTF-8\". If NULL, no encoding header is written and\n UTF-8 is assumed.\n\n @param message Full message for this commit\n\n @param tree An instance of a `git_tree` object that will\n be used as the tree for the commit. This tree object must\n also be owned by the given `repo`.\n\n @param parent_count Number of parents for this commit\n\n @param parents[] Array of `parent_count` pointers to `git_commit`\n objects that will be used as the parents for this commit. This\n array may be NULL if `parent_count` is 0 (root commit). All the\n given commits must be owned by the `repo`.\n\n @return GIT_SUCCESS or an error code\n\tThe created commit will be written to the Object Database and\n\tthe given reference will be updated to point to it\n\n","description":"Create a new commit in the repository using `git_object` instances as parameters.","sig":"git_oid *::git_repository *::const char *::const git_signature *::const git_signature *::const char *::const char *::const git_tree *::int::const git_commit *","return":{"type":"int","comment":"GIT_SUCCESS or an error code The created commit will be written to the Object Database and the given reference will be updated to point to it"},"group":"commit","argline":"git_oid *oid, git_repository *repo, const char *update_ref, const git_signature *author, const git_signature *committer, const char *message_encoding, const char *message, const git_tree *tree, int parent_count, const git_commit *parents[]","comments":"","line":181,"file":"commit.h","args":[{"type":"git_oid *","comment":"Pointer where to store the OID of the newly created commit","name":"oid"},{"type":"git_repository *","comment":"Repository where to store the commit","name":"repo"},{"type":"const char *","comment":"If not NULL, name of the reference that will be updated to point to this commit. If the reference is not direct, it will be resolved to a direct reference. Use \"HEAD\" to update the HEAD of the current branch and make it point to this commit","name":"update_ref"},{"type":"const git_signature *","comment":"Signature representing the author and the authory time of this commit","name":"author"},{"type":"const git_signature *","comment":"Signature representing the committer and the commit time of this commit","name":"committer"},{"type":"const char *","comment":"The encoding for the message in the commit, represented with a standard encoding name. E.g. \"UTF-8\". If NULL, no encoding header is written and UTF-8 is assumed.","name":"message_encoding"},{"type":"const char *","comment":"Full message for this commit","name":"message"},{"type":"const git_tree *","comment":"An instance of a `git_tree` object that will be used as the tree for the commit. This tree object must also be owned by the given `repo`.","name":"tree"},{"type":"int","comment":"Number of parents for this commit","name":"parent_count"},{"type":"const git_commit *","comment":"Array of `parent_count` pointers to `git_commit` objects that will be used as the parents for this commit. This array may be NULL if `parent_count` is 0 (root commit). All the given commits must be owned by the `repo`.","name":"parents[]"}],"lineto":234},"git_refspec_transform":{"rawComments":"\n Transform a reference to its target following the refspec's rules\n\n @param out where to store the target name\n @param outlen the size ouf the `out` buffer\n @param spec the refspec\n @param name the name of the reference to transform\n @return GIT_SUCCESS, GIT_ESHORTBUFFER or another error\n\n","description":"Transform a reference to its target following the refspec's rules","sig":"char *::size_t::const git_refspec *::const char *","return":{"type":"int","comment":"GIT_SUCCESS, GIT_ESHORTBUFFER or another error"},"group":"refspec","argline":"char *out, size_t outlen, const git_refspec *spec, const char *name","comments":"","line":47,"file":"refspec.h","args":[{"type":"char *","comment":"where to store the target name","name":"out"},{"type":"size_t","comment":"the size ouf the `out` buffer","name":"outlen"},{"type":"const git_refspec *","comment":"the refspec","name":"spec"},{"type":"const char *","comment":"the name of the reference to transform","name":"name"}],"lineto":58},"git_tree_get_subtree":{"rawComments":"\n Retrieve a subtree contained in a tree, given its\n relative path.\n\n The returned tree is owned by the repository and\n should be closed with the `git_object_free` method.\n\n @param subtree Pointer where to store the subtree\n @param root A previously loaded tree which will be the root of the relative path\n @param subtree_path Path to the contained subtree\n @return GIT_SUCCESS on success; GIT_ENOTFOUND if the path does not lead to a\n subtree, GIT_EINVALIDPATH or an error code\n\n","description":"Retrieve a subtree contained in a tree, given its relative path.","sig":"git_tree **::git_tree *::const char *","return":{"type":"int","comment":"GIT_SUCCESS on success; GIT_ENOTFOUND if the path does not lead to a subtree, GIT_EINVALIDPATH or an error code"},"group":"tree","argline":"git_tree **subtree, git_tree *root, const char *subtree_path","comments":"The returned tree is owned by the repository and\n should be closed with the `git_object_free` method.","line":271,"file":"tree.h","args":[{"type":"git_tree **","comment":"Pointer where to store the subtree","name":"subtree"},{"type":"git_tree *","comment":"A previously loaded tree which will be the root of the relative path","name":"root"},{"type":"const char *","comment":"Path to the contained subtree","name":"subtree_path"}],"lineto":284},"git_object_lookup_prefix":{"rawComments":"\n Lookup a reference to one of the objects in a repostory,\n given a prefix of its identifier (short id).\n\n The object obtained will be so that its identifier\n matches the first 'len' hexadecimal characters\n (packets of 4 bits) of the given 'id'.\n 'len' must be at least GIT_OID_MINPREFIXLEN, and\n long enough to identify a unique object matching\n the prefix; otherwise the method will fail.\n\n The generated reference is owned by the repository and\n should be closed with the `git_object_free` method\n instead of free'd manually.\n\n The 'type' parameter must match the type of the object\n in the odb; the method will fail otherwise.\n The special value 'GIT_OBJ_ANY' may be passed to let\n the method guess the object's type.\n\n @param object_out pointer where to store the looked-up object\n @param repo the repository to look up the object\n @param id a short identifier for the object\n @param len the length of the short identifier\n @param type the type of the object\n @return GIT_SUCCESS or an error code\n\n","description":"Lookup a reference to one of the objects in a repostory, given a prefix of its identifier (short id).","sig":"git_object **::git_repository *::const git_oid *::unsigned int::git_otype","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"group":"object","argline":"git_object **object_out, git_repository *repo, const git_oid *id, unsigned int len, git_otype type","comments":"The object obtained will be so that its identifier\n matches the first 'len' hexadecimal characters\n (packets of 4 bits) of the given 'id'.\n 'len' must be at least GIT_OID_MINPREFIXLEN, and\n long enough to identify a unique object matching\n the prefix; otherwise the method will fail.\n\n The generated reference is owned by the repository and\n should be closed with the `git_object_free` method\n instead of free'd manually.\n\n The 'type' parameter must match the type of the object\n in the odb; the method will fail otherwise.\n The special value 'GIT_OBJ_ANY' may be passed to let\n the method guess the object's type.","line":47,"file":"object.h","args":[{"type":"git_object **","comment":"pointer where to store the looked-up object","name":"object_out"},{"type":"git_repository *","comment":"the repository to look up the object","name":"repo"},{"type":"const git_oid *","comment":"a short identifier for the object","name":"id"},{"type":"unsigned int","comment":"the length of the short identifier","name":"len"},{"type":"git_otype","comment":"the type of the object","name":"type"}],"lineto":79},"git_repository_free":{"rawComments":"\n Free a previously allocated repository\n\n Note that after a repository is free'd, all the objects it has spawned\n will still exist until they are manually closed by the user\n with `git_object_free`, but accessing any of the attributes of\n an object without a backing repository will result in undefined\n behavior\n\n @param repo repository handle to close. If NULL nothing occurs.\n\n","examples":{"showindex.c":["ex/HEAD/showindex.html#git_repository_free-2"],"network/git2.c":["ex/HEAD/git2.html#git_repository_free-3"],"general.c":["ex/HEAD/general.html#git_repository_free-10"]},"description":"Free a previously allocated repository","sig":"git_repository *","return":{"type":"void","comment":""},"group":"repository","argline":"git_repository *repo","comments":"Note that after a repository is free'd, all the objects it has spawned\n will still exist until they are manually closed by the user\n with `git_object_free`, but accessing any of the attributes of\n an object without a backing repository will result in undefined\n behavior","line":73,"file":"repository.h","args":[{"type":"git_repository *","comment":"repository handle to close. If NULL nothing occurs.","name":"repo"}],"lineto":84},"git_config_get_bool":{"rawComments":"\n Get the value of a boolean config variable.\n\n This function uses the usual C convention of 0 being false and\n anything else true.\n\n @param cfg where to look for the variable\n @param name the variable's name\n @param out pointer to the variable where the value should be stored\n @return GIT_SUCCESS or an error code\n\n","description":"Get the value of a boolean config variable.","sig":"git_config *::const char *::int *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"group":"config","argline":"git_config *cfg, const char *name, int *out","comments":"This function uses the usual C convention of 0 being false and\n anything else true.","line":181,"file":"config.h","args":[{"type":"git_config *","comment":"where to look for the variable","name":"cfg"},{"type":"const char *","comment":"the variable's name","name":"name"},{"type":"int *","comment":"pointer to the variable where the value should be stored","name":"out"}],"lineto":192},"git_index_get_unmerged_byindex":{"rawComments":"\n Get an unmerged entry from the index.\n\n The returned entry is read-only and should not be modified\n of freed by the caller.\n\n @param index an existing index object\n @param n the position of the entry\n @return a pointer to the unmerged entry; NULL if out of bounds\n\n","description":"Get an unmerged entry from the index.","sig":"git_index *::unsigned int","return":{"type":"const git_index_entry_unmerged *","comment":"a pointer to the unmerged entry; NULL if out of bounds"},"group":"index","argline":"git_index *index, unsigned int n","comments":"The returned entry is read-only and should not be modified\n of freed by the caller.","line":279,"file":"index.h","args":[{"type":"git_index *","comment":"an existing index object","name":"index"},{"type":"unsigned int","comment":"the position of the entry","name":"n"}],"lineto":289},"git_object_owner":{"rawComments":"\n Get the repository that owns this object\n\n Freeing or calling `git_repository_close` on the\n returned pointer will invalidate the actual object.\n\n Any other operation may be run on the repository without\n affecting the object.\n\n @param obj the object\n @return the repository who owns this object\n\n","description":"Get the repository that owns this object","sig":"const git_object *","return":{"type":"git_repository *","comment":"the repository who owns this object"},"group":"object","argline":"const git_object *obj","comments":"Freeing or calling `git_repository_close` on the\n returned pointer will invalidate the actual object.\n\n Any other operation may be run on the repository without\n affecting the object.","line":97,"file":"object.h","args":[{"type":"const git_object *","comment":"the object","name":"obj"}],"lineto":109},"git_treebuilder_get":{"rawComments":"\n Get an entry from the builder from its filename\n\n The returned entry is owned by the builder and should\n not be freed manually.\n\n @param bld Tree builder\n @param filename Name of the entry\n @return pointer to the entry; NULL if not found\n\n","description":"Get an entry from the builder from its filename","sig":"git_treebuilder *::const char *","return":{"type":"const git_tree_entry *","comment":"pointer to the entry; NULL if not found"},"group":"treebuilder","argline":"git_treebuilder *bld, const char *filename","comments":"The returned entry is owned by the builder and should\n not be freed manually.","line":203,"file":"tree.h","args":[{"type":"git_treebuilder *","comment":"Tree builder","name":"bld"},{"type":"const char *","comment":"Name of the entry","name":"filename"}],"lineto":213},"git_repository_set_workdir":{"rawComments":"\n Set the path to the working directory for this repository\n\n The working directory doesn't need to be the same one\n that contains the `.git` folder for this repository.\n\n If this repository is bare, setting its working directory\n will turn it into a normal repository, capable of performing\n all the common workdir operations (checkout, status, index\n manipulation, etc).\n\n @param repo A repository object\n @param workdir The path to a working directory\n @return GIT_SUCCESS, or an error code\n\n","description":"Set the path to the working directory for this repository","sig":"git_repository *::const char *","return":{"type":"int","comment":"GIT_SUCCESS, or an error code"},"group":"repository","argline":"git_repository *repo, const char *workdir","comments":"The working directory doesn't need to be the same one\n that contains the `.git` folder for this repository.\n\n If this repository is bare, setting its working directory\n will turn it into a normal repository, capable of performing\n all the common workdir operations (checkout, status, index\n manipulation, etc).","line":170,"file":"repository.h","args":[{"type":"git_repository *","comment":"A repository object","name":"repo"},{"type":"const char *","comment":"The path to a working directory","name":"workdir"}],"lineto":185},"git_tree_entry_name":{"rawComments":"\n Get the filename of a tree entry\n\n @param entry a tree entry\n @return the name of the file\n\n","examples":{"general.c":["ex/HEAD/general.html#git_tree_entry_name-11","ex/HEAD/general.html#git_tree_entry_name-12"]},"description":"Get the filename of a tree entry","sig":"const git_tree_entry *","return":{"type":"const char *","comment":"the name of the file"},"group":"tree","argline":"const git_tree_entry *entry","comments":"","line":114,"file":"tree.h","args":[{"type":"const git_tree_entry *","comment":"a tree entry","name":"entry"}],"lineto":120},"git_config_set_bool":{"rawComments":"\n Set the value of a boolean config variable.\n\n @param cfg where to look for the variable\n @param name the variable's name\n @param value the value to store\n @return GIT_SUCCESS or an error code\n\n","description":"Set the value of a boolean config variable.","sig":"git_config *::const char *::int","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"group":"config","argline":"git_config *cfg, const char *name, int value","comments":"","line":227,"file":"config.h","args":[{"type":"git_config *","comment":"where to look for the variable","name":"cfg"},{"type":"const char *","comment":"the variable's name","name":"name"},{"type":"int","comment":"the value to store","name":"value"}],"lineto":235},"git_commit_committer":{"rawComments":"\n Get the committer of a commit.\n\n @param commit a previously loaded commit.\n @return the committer of a commit\n\n","examples":{"general.c":["ex/HEAD/general.html#git_commit_committer-13"]},"description":"Get the committer of a commit.","sig":"git_commit *","return":{"type":"const git_signature *","comment":"the committer of a commit"},"group":"commit","argline":"git_commit *commit","comments":"","line":117,"file":"commit.h","args":[{"type":"git_commit *","comment":"a previously loaded commit.","name":"commit"}],"lineto":123},"git_strarray_free":{"rawComments":"\n The maximum length of a git valid git path.\n\n","examples":{"general.c":["ex/HEAD/general.html#git_strarray_free-14"]},"description":"The maximum length of a git valid git path.","sig":"git_strarray *","return":{"type":"void","comment":""},"group":"strarray","argline":"git_strarray *array","comments":"","line":79,"file":"common.h","args":[{"type":"git_strarray *","comment":"","name":"array"}],"lineto":89},"git_reflog_read":{"rawComments":"\n Read the reflog for the given reference\n\n The reflog must be freed manually by using\n git_reflog_free().\n\n @param reflog pointer to reflog\n @param ref reference to read the reflog for\n @return GIT_SUCCESS or an error code\n\n","description":"Read the reflog for the given reference","sig":"git_reflog **::git_reference *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"group":"reflog","argline":"git_reflog **reflog, git_reference *ref","comments":"The reflog must be freed manually by using\n git_reflog_free().","line":23,"file":"reflog.h","args":[{"type":"git_reflog **","comment":"pointer to reflog","name":"reflog"},{"type":"git_reference *","comment":"reference to read the reflog for","name":"ref"}],"lineto":33},"git_remote_pushspec":{"rawComments":"\n Get the push refspec\n\n @param remote the remote\n @return a pointer to the push refspec or NULL if it doesn't exist\n\n","description":"Get the push refspec","sig":"git_remote *","return":{"type":"const git_refspec *","comment":"a pointer to the push refspec or NULL if it doesn't exist"},"group":"remote","argline":"git_remote *remote","comments":"","line":80,"file":"remote.h","args":[{"type":"git_remote *","comment":"the remote","name":"remote"}],"lineto":87},"git_indexer_new":{"rawComments":"\n Create a new indexer instance\n\n @param out where to store the indexer instance\n @param packname the absolute filename of the packfile to index\n\n","examples":{"network/index-pack.c":["ex/HEAD/index-pack.html#git_indexer_new-1"],"network/fetch.c":["ex/HEAD/fetch.html#git_indexer_new-3"]},"description":"Create a new indexer instance","sig":"git_indexer **::const char *","return":{"type":"int","comment":""},"group":"indexer","argline":"git_indexer **out, const char *packname","comments":"","line":27,"file":"indexer.h","args":[{"type":"git_indexer **","comment":"where to store the indexer instance","name":"out"},{"type":"const char *","comment":"the absolute filename of the packfile to index","name":"packname"}],"lineto":33},"git_reference_create_oid":{"rawComments":"\n Create a new object id reference.\n\n The reference will be created in the repository and written\n to the disk.\n\n The generated reference must be freed by the user.\n\n If `force` is true and there already exists a reference\n with the same name, it will be overwritten.\n\n @param ref_out Pointer to the newly created reference\n @param repo Repository where that reference will live\n @param name The name of the reference\n @param id The object id pointed to by the reference.\n @param force Overwrite existing references\n @return GIT_SUCCESS or an error code\n\n","description":"Create a new object id reference.","sig":"git_reference **::git_repository *::const char *::const git_oid *::int","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"group":"reference","argline":"git_reference **ref_out, git_repository *repo, const char *name, const git_oid *id, int force","comments":"The reference will be created in the repository and written\n to the disk.\n\n The generated reference must be freed by the user.\n\n If `force` is true and there already exists a reference\n with the same name, it will be overwritten.","line":55,"file":"refs.h","args":[{"type":"git_reference **","comment":"Pointer to the newly created reference","name":"ref_out"},{"type":"git_repository *","comment":"Repository where that reference will live","name":"repo"},{"type":"const char *","comment":"The name of the reference","name":"name"},{"type":"const git_oid *","comment":"The object id pointed to by the reference.","name":"id"},{"type":"int","comment":"Overwrite existing references","name":"force"}],"lineto":73},"git_revwalk_sorting":{"rawComments":"\n Change the sorting mode when iterating through the\n repository's contents.\n\n Changing the sorting mode resets the walker.\n\n @param walk the walker being used for the traversal.\n @param sort_mode combination of GIT_SORT_XXX flags\n\n","examples":{"general.c":["ex/HEAD/general.html#git_revwalk_sorting-15"]},"description":"Change the sorting mode when iterating through the repository's contents.","sig":"git_revwalk *::unsigned int","return":{"type":"void","comment":""},"group":"revwalk","argline":"git_revwalk *walk, unsigned int sort_mode","comments":"Changing the sorting mode resets the walker.","line":140,"file":"revwalk.h","args":[{"type":"git_revwalk *","comment":"the walker being used for the traversal.","name":"walk"},{"type":"unsigned int","comment":"combination of GIT_SORT_XXX flags","name":"sort_mode"}],"lineto":149},"git_config_open_ondisk":{"rawComments":"\n Create a new config instance containing a single on-disk file\n\n This method is a simple utility wrapper for the following sequence\n of calls:\n\t- git_config_new\n\t- git_config_add_file_ondisk\n\n @param cfg The configuration instance to create\n @param path Path to the on-disk file to open\n @return GIT_SUCCESS or an error code\n\n","examples":{"general.c":["ex/HEAD/general.html#git_config_open_ondisk-16"]},"description":"Create a new config instance containing a single on-disk file","sig":"git_config **::const char *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"group":"config","argline":"git_config **cfg, const char *path","comments":"This method is a simple utility wrapper for the following sequence\n of calls:\n\t- git_config_new\n\t- git_config_add_file_ondisk","line":140,"file":"config.h","args":[{"type":"git_config **","comment":"The configuration instance to create","name":"cfg"},{"type":"const char *","comment":"Path to the on-disk file to open","name":"path"}],"lineto":152},"git_reference_target":{"rawComments":"\n Get full name to the reference pointed by this reference\n\n Only available if the reference is symbolic\n\n @param ref The reference\n @return a pointer to the name if available, NULL otherwise\n\n","examples":{"general.c":["ex/HEAD/general.html#git_reference_target-17"]},"description":"Get full name to the reference pointed by this reference","sig":"git_reference *","return":{"type":"const char *","comment":"a pointer to the name if available, NULL otherwise"},"group":"reference","argline":"git_reference *ref","comments":"Only available if the reference is symbolic","line":85,"file":"refs.h","args":[{"type":"git_reference *","comment":"The reference","name":"ref"}],"lineto":93},"git_reflog_delete":{"rawComments":"\n Delete the reflog for the given reference\n\n @param ref the reference\n @return GIT_SUCCESS or an error code\n\n","description":"Delete the reflog for the given reference","sig":"git_reference *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"group":"reflog","argline":"git_reference *ref","comments":"","line":62,"file":"reflog.h","args":[{"type":"git_reference *","comment":"the reference","name":"ref"}],"lineto":68},"git_odb_free":{"rawComments":"\n Close an open object database.\n\n @param db database pointer to close. If NULL no action is taken.\n\n","description":"Close an open object database.","sig":"git_odb *","return":{"type":"void","comment":""},"group":"odb","argline":"git_odb *db","comments":"","line":90,"file":"odb.h","args":[{"type":"git_odb *","comment":"database pointer to close. If NULL no action is taken.","name":"db"}],"lineto":95},"git_reflog_free":{"rawComments":"\n Free the reflog\n\n @param reflog reflog to free\n\n","description":"Free the reflog","sig":"git_reflog *","return":{"type":"void","comment":""},"group":"reflog","argline":"git_reflog *reflog","comments":"","line":119,"file":"reflog.h","args":[{"type":"git_reflog *","comment":"reflog to free","name":"reflog"}],"lineto":124},"git_reflog_entry_oidnew":{"rawComments":"\n Get the new oid\n\n @param entry a reflog entry\n @return the new oid at this time\n\n","description":"Get the new oid","sig":"const git_reflog_entry *","return":{"type":"const git_oid *","comment":"the new oid at this time"},"group":"reflog","argline":"const git_reflog_entry *entry","comments":"","line":95,"file":"reflog.h","args":[{"type":"const git_reflog_entry *","comment":"a reflog entry","name":"entry"}],"lineto":101},"git_tree_entry_attributes":{"rawComments":"\n Get the UNIX file attributes of a tree entry\n\n @param entry a tree entry\n @return attributes as an integer\n\n","description":"Get the UNIX file attributes of a tree entry","sig":"const git_tree_entry *","return":{"type":"unsigned int","comment":"attributes as an integer"},"group":"tree","argline":"const git_tree_entry *entry","comments":"","line":106,"file":"tree.h","args":[{"type":"const git_tree_entry *","comment":"a tree entry","name":"entry"}],"lineto":112},"git_revwalk_reset":{"rawComments":"\n Reset the revision walker for reuse.\n\n This will clear all the pushed and hidden commits, and\n leave the walker in a blank state (just like at\n creation) ready to receive new commit pushes and\n start a new walk.\n\n The revision walk is automatically reset when a walk\n is over.\n\n @param walker handle to reset.\n\n","description":"Reset the revision walker for reuse.","sig":"git_revwalk *","return":{"type":"void","comment":""},"group":"revwalk","argline":"git_revwalk *walker","comments":"This will clear all the pushed and hidden commits, and\n leave the walker in a blank state (just like at\n creation) ready to receive new commit pushes and\n start a new walk.\n\n The revision walk is automatically reset when a walk\n is over.","line":72,"file":"revwalk.h","args":[{"type":"git_revwalk *","comment":"handle to reset.","name":"walker"}],"lineto":85},"git_remote_load":{"rawComments":"\n Get the information for a particular remote\n\n @param out pointer to the new remote object\n @param cfg the repository's configuration\n @param name the remote's name\n @return GIT_SUCCESS or an error code\n\n","examples":{"network/ls-remote.c":["ex/HEAD/ls-remote.html#git_remote_load-2"]},"description":"Get the information for a particular remote","sig":"git_remote **::git_repository *::const char *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"group":"remote","argline":"git_remote **out, git_repository *repo, const char *name","comments":"@param cfg the repository's configuration","line":46,"file":"remote.h","args":[{"type":"git_remote **","comment":"pointer to the new remote object","name":"out"},{"type":"git_repository *","comment":"","name":"repo"},{"type":"const char *","comment":"the remote's name","name":"name"}],"lineto":54},"git_threads_init":{"rawComments":"\n Init the threading system.\n\n If libgit2 has been built with GIT_THREADS\n on, this function must be called once before\n any other library functions.\n\n If libgit2 has been built without GIT_THREADS\n support, this function is a no-op.\n\n","description":"Init the threading system.","sig":"","return":{"type":"void","comment":""},"group":"threads","argline":"void","comments":"If libgit2 has been built with GIT_THREADS\n on, this function must be called once before\n any other library functions.\n\n If libgit2 has been built without GIT_THREADS\n support, this function is a no-op.","line":21,"file":"threads.h","args":[{"type":"","comment":"","name":"void"}],"lineto":31},"git_status_foreach":{"rawComments":"\n Gather file statuses and run a callback for each one.\n\n The callback is passed the path of the file, the status and the data pointer\n passed to this function. If the callback returns something other than\n GIT_SUCCESS, this function will return that value.\n\n @param repo a repository object\n @param callback the function to call on each file\n @return GIT_SUCCESS or the return value of the callback which did not return GIT_SUCCESS\n\n","description":"Gather file statuses and run a callback for each one.","sig":"git_repository *::int(*)(const char *, unsigned int, void *)::void *","return":{"type":"int","comment":"GIT_SUCCESS or the return value of the callback which did not return GIT_SUCCESS"},"group":"status","argline":"git_repository *repo, int (*callback)(const char *, unsigned int, void *), void *payload","comments":"The callback is passed the path of the file, the status and the data pointer\n passed to this function. If the callback returns something other than\n GIT_SUCCESS, this function will return that value.","line":36,"file":"status.h","args":[{"type":"git_repository *","comment":"a repository object","name":"repo"},{"type":"int(*)(const char *, unsigned int, void *)","comment":"the function to call on each file","name":"callback"},{"type":"void *","comment":"","name":"payload"}],"lineto":47},"git_object_typeisloose":{"rawComments":"\n Determine if the given git_otype is a valid loose object type.\n\n @param type object type to test.\n @return true if the type represents a valid loose object type,\n false otherwise.\n\n","description":"Determine if the given git_otype is a valid loose object type.","sig":"git_otype","return":{"type":"int","comment":"true if the type represents a valid loose object type, false otherwise."},"group":"object","argline":"git_otype type","comments":"","line":147,"file":"object.h","args":[{"type":"git_otype","comment":"object type to test.","name":"type"}],"lineto":154},"git_treebuilder_filter":{"rawComments":"\n Filter the entries in the tree\n\n The `filter` callback will be called for each entry\n in the tree with a pointer to the entry and the\n provided `payload`: if the callback returns 1, the\n entry will be filtered (removed from the builder).\n\n @param bld Tree builder\n @param filter Callback to filter entries\n\n","description":"Filter the entries in the tree","sig":"git_treebuilder *::int(*)(const git_tree_entry *, void *)::void *","return":{"type":"void","comment":""},"group":"treebuilder","argline":"git_treebuilder *bld, int (*filter)(const git_tree_entry *, void *), void *payload","comments":"The `filter` callback will be called for each entry\n in the tree with a pointer to the entry and the\n provided `payload`: if the callback returns 1, the\n entry will be filtered (removed from the builder).","line":244,"file":"tree.h","args":[{"type":"git_treebuilder *","comment":"Tree builder","name":"bld"},{"type":"int(*)(const git_tree_entry *, void *)","comment":"Callback to filter entries","name":"filter"},{"type":"void *","comment":"","name":"payload"}],"lineto":255},"git_reference_set_oid":{"rawComments":"\n Set the OID target of a reference.\n\n The reference must be a direct reference, otherwise\n this method will fail.\n\n The reference will be automatically updated in\n memory and on disk.\n\n @param ref The reference\n @param id The new target OID for the reference\n @return GIT_SUCCESS or an error code\n\n","description":"Set the OID target of a reference.","sig":"git_reference *::const git_oid *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"group":"reference","argline":"git_reference *ref, const git_oid *id","comments":"The reference must be a direct reference, otherwise\n this method will fail.\n\n The reference will be automatically updated in\n memory and on disk.","line":156,"file":"refs.h","args":[{"type":"git_reference *","comment":"The reference","name":"ref"},{"type":"const git_oid *","comment":"The new target OID for the reference","name":"id"}],"lineto":169},"git_odb_backend_pack":{"rawComments":" Streaming mode ","description":"Streaming mode","sig":"git_odb_backend **::const char *","return":{"type":"int","comment":""},"group":"odb","argline":"git_odb_backend **backend_out, const char *objects_dir","comments":"","line":88,"file":"odb_backend.h","args":[{"type":"git_odb_backend **","comment":"","name":"backend_out"},{"type":"const char *","comment":"","name":"objects_dir"}],"lineto":95},"git_object_lookup":{"rawComments":"\n Lookup a reference to one of the objects in a repostory.\n\n The generated reference is owned by the repository and\n should be closed with the `git_object_free` method\n instead of free'd manually.\n\n The 'type' parameter must match the type of the object\n in the odb; the method will fail otherwise.\n The special value 'GIT_OBJ_ANY' may be passed to let\n the method guess the object's type.\n\n @param object pointer to the looked-up object\n @param repo the repository to look up the object\n @param id the unique identifier for the object\n @param type the type of the object\n @return a reference to the object\n\n","description":"Lookup a reference to one of the objects in a repostory.","sig":"git_object **::git_repository *::const git_oid *::git_otype","return":{"type":"int","comment":"a reference to the object"},"group":"object","argline":"git_object **object, git_repository *repo, const git_oid *id, git_otype type","comments":"The generated reference is owned by the repository and\n should be closed with the `git_object_free` method\n instead of free'd manually.\n\n The 'type' parameter must match the type of the object\n in the odb; the method will fail otherwise.\n The special value 'GIT_OBJ_ANY' may be passed to let\n the method guess the object's type.","line":23,"file":"object.h","args":[{"type":"git_object **","comment":"pointer to the looked-up object","name":"object"},{"type":"git_repository *","comment":"the repository to look up the object","name":"repo"},{"type":"const git_oid *","comment":"the unique identifier for the object","name":"id"},{"type":"git_otype","comment":"the type of the object","name":"type"}],"lineto":45},"git_reference_create_symbolic":{"rawComments":"\n Create a new symbolic reference.\n\n The reference will be created in the repository and written\n to the disk.\n\n The generated reference must be freed by the user.\n\n If `force` is true and there already exists a reference\n with the same name, it will be overwritten.\n\n @param ref_out Pointer to the newly created reference\n @param repo Repository where that reference will live\n @param name The name of the reference\n @param target The target of the reference\n @param force Overwrite existing references\n @return GIT_SUCCESS or an error code\n\n","description":"Create a new symbolic reference.","sig":"git_reference **::git_repository *::const char *::const char *::int","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"group":"reference","argline":"git_reference **ref_out, git_repository *repo, const char *name, const char *target, int force","comments":"The reference will be created in the repository and written\n to the disk.\n\n The generated reference must be freed by the user.\n\n If `force` is true and there already exists a reference\n with the same name, it will be overwritten.","line":35,"file":"refs.h","args":[{"type":"git_reference **","comment":"Pointer to the newly created reference","name":"ref_out"},{"type":"git_repository *","comment":"Repository where that reference will live","name":"repo"},{"type":"const char *","comment":"The name of the reference","name":"name"},{"type":"const char *","comment":"The target of the reference","name":"target"},{"type":"int","comment":"Overwrite existing references","name":"force"}],"lineto":53},"git_tag_create":{"rawComments":"\n Create a new tag in the repository from an object\n\n A new reference will also be created pointing to\n this tag object. If `force` is true and a reference\n already exists with the given name, it'll be replaced.\n\n @param oid Pointer where to store the OID of the\n newly created tag. If the tag already exists, this parameter\n will be the oid of the existing tag, and the function will\n return a GIT_EEXISTS error code.\n\n @param repo Repository where to store the tag\n\n @param tag_name Name for the tag; this name is validated\n for consistency. It should also not conflict with an\n already existing tag name\n\n @param target Object to which this tag points. This object\n must belong to the given `repo`.\n\n @param tagger Signature of the tagger for this tag, and\n of the tagging time\n\n @param message Full message for this tag\n\n @param force Overwrite existing references\n\n @return GIT_SUCCESS or an error code\n\tA tag object is written to the ODB, and a proper reference\n\tis written in the /refs/tags folder, pointing to it\n\n","description":"Create a new tag in the repository from an object","sig":"git_oid *::git_repository *::const char *::const git_object *::const git_signature *::const char *::int","return":{"type":"int","comment":"GIT_SUCCESS or an error code A tag object is written to the ODB, and a proper reference is written in the /refs/tags folder, pointing to it"},"group":"tag","argline":"git_oid *oid, git_repository *repo, const char *tag_name, const git_object *target, const git_signature *tagger, const char *message, int force","comments":"A new reference will also be created pointing to\n this tag object. If `force` is true and a reference\n already exists with the given name, it'll be replaced.","line":133,"file":"tag.h","args":[{"type":"git_oid *","comment":"Pointer where to store the OID of the newly created tag. If the tag already exists, this parameter will be the oid of the existing tag, and the function will return a GIT_EEXISTS error code.","name":"oid"},{"type":"git_repository *","comment":"Repository where to store the tag","name":"repo"},{"type":"const char *","comment":"Name for the tag; this name is validated for consistency. It should also not conflict with an already existing tag name","name":"tag_name"},{"type":"const git_object *","comment":"Object to which this tag points. This object must belong to the given `repo`.","name":"target"},{"type":"const git_signature *","comment":"Signature of the tagger for this tag, and of the tagging time","name":"tagger"},{"type":"const char *","comment":"Full message for this tag","name":"message"},{"type":"int","comment":"Overwrite existing references","name":"force"}],"lineto":172},"git_repository_set_odb":{"rawComments":"\n Set the Object Database for this repository\n\n The ODB will be used for all object-related operations\n involving this repository.\n\n The repository will keep a reference to the ODB; the user\n must still free the ODB object after setting it to the\n repository, or it will leak.\n\n @param repo A repository object\n @param odb An ODB object\n\n","description":"Set the Object Database for this repository","sig":"git_repository *::git_odb *","return":{"type":"void","comment":""},"group":"repository","argline":"git_repository *repo, git_odb *odb","comments":"The ODB will be used for all object-related operations\n involving this repository.\n\n The repository will keep a reference to the ODB; the user\n must still free the ODB object after setting it to the\n repository, or it will leak.","line":242,"file":"repository.h","args":[{"type":"git_repository *","comment":"A repository object","name":"repo"},{"type":"git_odb *","comment":"An ODB object","name":"odb"}],"lineto":255},"git_repository_head_detached":{"rawComments":"\n Check if a repository's HEAD is detached\n\n A repository's HEAD is detached when it points directly to a commit\n instead of a branch.\n\n @param repo Repo to test\n @return 1 if HEAD is detached, 0 if i'ts not; error code if there\n was an error.\n\n","description":"Check if a repository's HEAD is detached","sig":"git_repository *","return":{"type":"int","comment":"1 if HEAD is detached, 0 if i'ts not; error code if there was an error."},"group":"repository","argline":"git_repository *repo","comments":"A repository's HEAD is detached when it points directly to a commit\n instead of a branch.","line":112,"file":"repository.h","args":[{"type":"git_repository *","comment":"Repo to test","name":"repo"}],"lineto":122},"git_index_get_unmerged_bypath":{"rawComments":"\n Get an unmerged entry from the index.\n\n The returned entry is read-only and should not be modified\n of freed by the caller.\n\n @param index an existing index object\n @param path path to search\n @return the unmerged entry; NULL if not found\n\n","description":"Get an unmerged entry from the index.","sig":"git_index *::const char *","return":{"type":"const git_index_entry_unmerged *","comment":"the unmerged entry; NULL if not found"},"group":"index","argline":"git_index *index, const char *path","comments":"The returned entry is read-only and should not be modified\n of freed by the caller.","line":267,"file":"index.h","args":[{"type":"git_index *","comment":"an existing index object","name":"index"},{"type":"const char *","comment":"path to search","name":"path"}],"lineto":277},"git_signature_now":{"rawComments":"\n Create a new action signature with a timestamp of 'now'. The\n signature must be freed manually or using git_signature_free\n\n @param sig_out new signature, in case of error NULL\n @param name name of the person\n @param email email of the person\n @return GIT_SUCCESS or an error code\n\n","description":"Create a new action signature with a timestamp of 'now'. The signature must be freed manually or using git_signature_free","sig":"git_signature **::const char *::const char *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"group":"signature","argline":"git_signature **sig_out, const char *name, const char *email","comments":"","line":35,"file":"signature.h","args":[{"type":"git_signature **","comment":"new signature, in case of error NULL","name":"sig_out"},{"type":"const char *","comment":"name of the person","name":"name"},{"type":"const char *","comment":"email of the person","name":"email"}],"lineto":44},"git_oid_cmp":{"rawComments":"\n Compare two oid structures.\n\n @param a first oid structure.\n @param b second oid structure.\n @return <0, 0, >0 if a < b, a == b, a > b.\n\n","description":"Compare two oid structures.","sig":"const git_oid *::const git_oid *","return":{"type":"int","comment":"<0, 0, >0 if a < b, a == b, a > b."},"group":"oid","argline":"const git_oid *a, const git_oid *b","comments":"","line":132,"file":"oid.h","args":[{"type":"const git_oid *","comment":"first oid structure.","name":"a"},{"type":"const git_oid *","comment":"second oid structure.","name":"b"}],"lineto":139},"git_remote_url":{"rawComments":"\n Get the remote's url\n\n @param remote the remote\n @return a pointer to the url\n\n","description":"Get the remote's url","sig":"git_remote *","return":{"type":"const char *","comment":"a pointer to the url"},"group":"remote","argline":"git_remote *remote","comments":"","line":64,"file":"remote.h","args":[{"type":"git_remote *","comment":"the remote","name":"remote"}],"lineto":70},"git_commit_tree_oid":{"rawComments":"\n Get the id of the tree pointed to by a commit. This differs from\n `git_commit_tree` in that no attempts are made to fetch an object\n from the ODB.\n\n @param commit a previously loaded commit.\n @return the id of tree pointed to by commit.\n\n","description":"Get the id of the tree pointed to by a commit. This differs from `git_commit_tree` in that no attempts are made to fetch an object from the ODB.","sig":"git_commit *","return":{"type":"const git_oid *","comment":"the id of tree pointed to by commit."},"group":"commit","argline":"git_commit *commit","comments":"","line":142,"file":"commit.h","args":[{"type":"git_commit *","comment":"a previously loaded commit.","name":"commit"}],"lineto":150},"git_remote_fetchspec":{"rawComments":"\n Get the fetch refspec\n\n @param remote the remote\n @return a pointer to the fetch refspec or NULL if it doesn't exist\n\n","description":"Get the fetch refspec","sig":"git_remote *","return":{"type":"const git_refspec *","comment":"a pointer to the fetch refspec or NULL if it doesn't exist"},"group":"remote","argline":"git_remote *remote","comments":"","line":72,"file":"remote.h","args":[{"type":"git_remote *","comment":"the remote","name":"remote"}],"lineto":78},"imaxdiv":{"rawComments":"","description":"","sig":"intmax_t::intmax_t denom) { imaxdiv_t result; result.quot = numer / denom; result.rem = numer % denom; if (numer < 0 && result.rem >","return":{"type":"static _inline imaxdiv_t __cdecl","comment":""},"group":"inttypes","argline":"intmax_t numer, intmax_t denom) { imaxdiv_t result; result.quot = numer / denom; result.rem = numer % denom; if (numer < 0 && result.rem > 0","comments":"","line":274,"file":"inttypes.h","args":[{"type":"intmax_t","comment":"","name":"numer"},{"type":"intmax_t denom) { imaxdiv_t result; result.quot = numer / denom; result.rem = numer % denom; if (numer < 0 && result.rem >","comment":"","name":"0"}],"lineto":287},"git_refspec_src_match":{"rawComments":"\n Match a refspec's source descriptor with a reference name\n\n @param refspec the refspec\n @param refname the name of the reference to check\n @return GIT_SUCCESS on successful match; GIT_ENOMACH on match\n failure or an error code on other failure\n\n","description":"Match a refspec's source descriptor with a reference name","sig":"const git_refspec *::const char *","return":{"type":"int","comment":"GIT_SUCCESS on successful match; GIT_ENOMACH on match failure or an error code on other failure"},"group":"refspec","argline":"const git_refspec *refspec, const char *refname","comments":"","line":37,"file":"refspec.h","args":[{"type":"const git_refspec *","comment":"the refspec","name":"refspec"},{"type":"const char *","comment":"the name of the reference to check","name":"refname"}],"lineto":45},"git_tag_create_lightweight":{"rawComments":"\n Create a new lightweight tag pointing at a target object\n\n A new direct reference will be created pointing to\n this target object. If `force` is true and a reference\n already exists with the given name, it'll be replaced.\n\n @param oid Pointer where to store the OID of the provided\n target object. If the tag already exists, this parameter\n will be filled with the oid of the existing pointed object\n and the function will return a GIT_EEXISTS error code.\n\n @param repo Repository where to store the lightweight tag\n\n @param tag_name Name for the tag; this name is validated\n for consistency. It should also not conflict with an\n already existing tag name\n\n @param target Object to which this tag points. This object\n must belong to the given `repo`.\n\n @param force Overwrite existing references\n\n @return GIT_SUCCESS or an error code\n\tA proper reference is written in the /refs/tags folder,\n pointing to the provided target object\n\n","description":"Create a new lightweight tag pointing at a target object","sig":"git_oid *::git_repository *::const char *::const git_object *::int","return":{"type":"int","comment":"GIT_SUCCESS or an error code A proper reference is written in the /refs/tags folder, pointing to the provided target object"},"group":"tag","argline":"git_oid *oid, git_repository *repo, const char *tag_name, const git_object *target, int force","comments":"A new direct reference will be created pointing to\n this target object. If `force` is true and a reference\n already exists with the given name, it'll be replaced.","line":189,"file":"tag.h","args":[{"type":"git_oid *","comment":"Pointer where to store the OID of the provided target object. If the tag already exists, this parameter will be filled with the oid of the existing pointed object and the function will return a GIT_EEXISTS error code.","name":"oid"},{"type":"git_repository *","comment":"Repository where to store the lightweight tag","name":"repo"},{"type":"const char *","comment":"Name for the tag; this name is validated for consistency. It should also not conflict with an already existing tag name","name":"tag_name"},{"type":"const git_object *","comment":"Object to which this tag points. This object must belong to the given `repo`.","name":"target"},{"type":"int","comment":"Overwrite existing references","name":"force"}],"lineto":221},"git_odb_object_size":{"rawComments":"\n Return the size of an ODB object\n\n This is the real size of the `data` buffer, not the\n actual size of the object.\n\n @param object the object\n @return the size\n\n","examples":{"general.c":["ex/HEAD/general.html#git_odb_object_size-18"]},"description":"Return the size of an ODB object","sig":"git_odb_object *","return":{"type":"size_t","comment":"the size"},"group":"odb","argline":"git_odb_object *object","comments":"This is the real size of the `data` buffer, not the\n actual size of the object.","line":310,"file":"odb.h","args":[{"type":"git_odb_object *","comment":"the object","name":"object"}],"lineto":319},"git_index_read":{"rawComments":"\n Update the contents of an existing index object in memory\n by reading from the hard disk.\n\n @param index an existing index object\n @return GIT_SUCCESS or an error code\n\n","examples":{"showindex.c":["ex/HEAD/showindex.html#git_index_read-3"]},"description":"Update the contents of an existing index object in memory by reading from the hard disk.","sig":"git_index *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"group":"index","argline":"git_index *index","comments":"","line":129,"file":"index.h","args":[{"type":"git_index *","comment":"an existing index object","name":"index"}],"lineto":136},"git_tag_target":{"rawComments":"\n Get the tagged object of a tag\n\n This method performs a repository lookup for the\n given object and returns it\n\n @param target pointer where to store the target\n @param tag a previously loaded tag.\n @return GIT_SUCCESS or an error code\n\n","examples":{"general.c":["ex/HEAD/general.html#git_tag_target-19"]},"description":"Get the tagged object of a tag","sig":"git_object **::git_tag *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"group":"tag","argline":"git_object **target, git_tag *tag","comments":"This method performs a repository lookup for the\n given object and returns it","line":80,"file":"tag.h","args":[{"type":"git_object **","comment":"pointer where to store the target","name":"target"},{"type":"git_tag *","comment":"a previously loaded tag.","name":"tag"}],"lineto":90},"git_blob_free":{"rawComments":"\n Close an open blob\n\n This is a wrapper around git_object_free()\n\n IMPORTANT:\n It *is* necessary to call this method when you stop\n using a blob. Failure to do so will cause a memory leak.\n\n @param blob the blob to close\n\n","description":"Close an open blob","sig":"git_blob *","return":{"type":"void","comment":""},"group":"blob","argline":"git_blob *blob","comments":"This is a wrapper around git_object_free()\n\n IMPORTANT:\n It *is* necessary to call this method when you stop\n using a blob. Failure to do so will cause a memory leak.","line":54,"file":"blob.h","args":[{"type":"git_blob *","comment":"the blob to close","name":"blob"}],"lineto":69},"git_remote_name":{"rawComments":"\n Get the remote's name\n\n @param remote the remote\n @return a pointer to the name\n\n","description":"Get the remote's name","sig":"git_remote *","return":{"type":"const char *","comment":"a pointer to the name"},"group":"remote","argline":"git_remote *remote","comments":"","line":56,"file":"remote.h","args":[{"type":"git_remote *","comment":"the remote","name":"remote"}],"lineto":62},"gitwin_get_codepage":{"rawComments":"\n Return the active codepage for Windows syscalls\n\n @return numeric codepage identifier\n\n","description":"Return the active codepage for Windows syscalls","sig":"","return":{"type":"unsigned int","comment":"numeric codepage identifier"},"group":"gitwin","argline":"void","comments":"","line":43,"file":"windows.h","args":[{"type":"","comment":"","name":"void"}],"lineto":48},"git_reference_rename":{"rawComments":"\n Rename an existing reference\n\n This method works for both direct and symbolic references.\n The new name will be checked for validity and may be\n modified into a normalized form.\n\n The given git_reference will be updated in place.\n\n The reference will be immediately renamed in-memory\n and on disk.\n\n If the `force` flag is not enabled, and there's already\n a reference with the given name, the renaming will fail.\n\n IMPORTANT:\n The user needs to write a proper reflog entry if the\n reflog is enabled for the repository. We only rename\n the reflog if it exists.\n\n @param ref The reference to rename\n @param new_name The new name for the reference\n @param force Overwrite an existing reference\n @return GIT_SUCCESS or an error code\n\n\n","description":"Rename an existing reference","sig":"git_reference *::const char *::int","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"group":"reference","argline":"git_reference *ref, const char *new_name, int force","comments":"This method works for both direct and symbolic references.\n The new name will be checked for validity and may be\n modified into a normalized form.\n\n The given git_reference will be updated in place.\n\n The reference will be immediately renamed in-memory\n and on disk.\n\n If the `force` flag is not enabled, and there's already\n a reference with the given name, the renaming will fail.\n\n IMPORTANT:\n The user needs to write a proper reflog entry if the\n reflog is enabled for the repository. We only rename\n the reflog if it exists.","line":171,"file":"refs.h","args":[{"type":"git_reference *","comment":"The reference to rename","name":"ref"},{"type":"const char *","comment":"The new name for the reference","name":"new_name"},{"type":"int","comment":"Overwrite an existing reference","name":"force"}],"lineto":197},"git_remote_disconnect":{"rawComments":"\n Disconnect from the remote\n\n Close the connection to the remote and free the underlying\n transport.\n\n @param remote the remote to disconnect from\n\n","description":"Disconnect from the remote","sig":"git_remote *","return":{"type":"void","comment":""},"group":"remote","argline":"git_remote *remote","comments":"Close the connection to the remote and free the underlying\n transport.","line":139,"file":"remote.h","args":[{"type":"git_remote *","comment":"the remote to disconnect from","name":"remote"}],"lineto":147},"git_odb_new":{"rawComments":"\n Create a new object database with no backends.\n\n Before the ODB can be used for read/writing, a custom database\n backend must be manually added using `git_odb_add_backend()`\n\n @param out location to store the database pointer, if opened.\n\t\t\tSet to NULL if the open failed.\n @return GIT_SUCCESS or an error code\n\n","description":"Create a new object database with no backends.","sig":"git_odb **","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"group":"odb","argline":"git_odb **out","comments":"Before the ODB can be used for read/writing, a custom database\n backend must be manually added using `git_odb_add_backend()`","line":24,"file":"odb.h","args":[{"type":"git_odb **","comment":"location to store the database pointer, if opened. Set to NULL if the open failed.","name":"out"}],"lineto":34},"git_indexer_hash":{"rawComments":"\n Get the packfile's hash\n\n A packfile's name is derived from the sorted hashing of all object\n names. This is only correct after the index has been written to disk.\n\n @param idx the indexer instance\n\n","examples":{"network/index-pack.c":["ex/HEAD/index-pack.html#git_indexer_hash-2"],"network/fetch.c":["ex/HEAD/fetch.html#git_indexer_hash-4","ex/HEAD/fetch.html#git_indexer_hash-5"]},"description":"Get the packfile's hash","sig":"git_indexer *","return":{"type":"const git_oid *","comment":""},"group":"indexer","argline":"git_indexer *idx","comments":"A packfile's name is derived from the sorted hashing of all object\n names. This is only correct after the index has been written to disk.","line":57,"file":"indexer.h","args":[{"type":"git_indexer *","comment":"the indexer instance","name":"idx"}],"lineto":65},"git_remote_connected":{"rawComments":"\n Check whether the remote is connected\n\n Check whether the remote's underlying transport is connected to the\n remote host.\n\n @return 1 if it's connected, 0 otherwise.\n\n","description":"Check whether the remote is connected","sig":"git_remote *","return":{"type":"int","comment":"1 if it's connected, 0 otherwise."},"group":"remote","argline":"git_remote *remote","comments":"Check whether the remote's underlying transport is connected to the\n remote host.","line":129,"file":"remote.h","args":[{"type":"git_remote *","comment":"","name":"remote"}],"lineto":137},"git_reference_set_target":{"rawComments":"\n Set the symbolic target of a reference.\n\n The reference must be a symbolic reference, otherwise\n this method will fail.\n\n The reference will be automatically updated in\n memory and on disk.\n\n @param ref The reference\n @param target The new target for the reference\n @return GIT_SUCCESS or an error code\n\n","description":"Set the symbolic target of a reference.","sig":"git_reference *::const char *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"group":"reference","argline":"git_reference *ref, const char *target","comments":"The reference must be a symbolic reference, otherwise\n this method will fail.\n\n The reference will be automatically updated in\n memory and on disk.","line":141,"file":"refs.h","args":[{"type":"git_reference *","comment":"The reference","name":"ref"},{"type":"const char *","comment":"The new target for the reference","name":"target"}],"lineto":154},"git_revwalk_next":{"rawComments":"\n Get the next commit from the revision walk.\n\n The initial call to this method is *not* blocking when\n iterating through a repo with a time-sorting mode.\n\n Iterating with Topological or inverted modes makes the initial\n call blocking to preprocess the commit list, but this block should be\n mostly unnoticeable on most repositories (topological preprocessing\n times at 0.3s on the git.git repo).\n\n The revision walker is reset when the walk is over.\n\n @param oid Pointer where to store the oid of the next commit\n @param walk the walker to pop the commit from.\n @return GIT_SUCCESS if the next commit was found;\n\tGIT_EREVWALKOVER if there are no commits left to iterate\n\n","examples":{"general.c":["ex/HEAD/general.html#git_revwalk_next-20"]},"description":"Get the next commit from the revision walk.","sig":"git_oid *::git_revwalk *","return":{"type":"int","comment":"GIT_SUCCESS if the next commit was found; GIT_EREVWALKOVER if there are no commits left to iterate"},"group":"revwalk","argline":"git_oid *oid, git_revwalk *walk","comments":"The initial call to this method is *not* blocking when\n iterating through a repo with a time-sorting mode.\n\n Iterating with Topological or inverted modes makes the initial\n call blocking to preprocess the commit list, but this block should be\n mostly unnoticeable on most repositories (topological preprocessing\n times at 0.3s on the git.git repo).\n\n The revision walker is reset when the walk is over.","line":120,"file":"revwalk.h","args":[{"type":"git_oid *","comment":"Pointer where to store the oid of the next commit","name":"oid"},{"type":"git_revwalk *","comment":"the walker to pop the commit from.","name":"walk"}],"lineto":138},"git_config_find_global":{"rawComments":"\n Locate the path to the global configuration file\n\n The user or global configuration file is usually\n located in `$HOME/.gitconfig`.\n\n This method will try to guess the full path to that\n file, if the file exists. The returned path\n may be used on any `git_config` call to load the\n global configuration file.\n\n @param global_config_path Buffer of GIT_PATH_MAX length to store the path\n @return GIT_SUCCESS if a global configuration file has been\n\tfound. Its path will be stored in `buffer`.\n\n","description":"Locate the path to the global configuration file","sig":"char *","return":{"type":"int","comment":"GIT_SUCCESS if a global configuration file has been found. Its path will be stored in `buffer`."},"group":"config","argline":"char *global_config_path","comments":"The user or global configuration file is usually\n located in `$HOME/.gitconfig`.\n\n This method will try to guess the full path to that\n file, if the file exists. The returned path\n may be used on any `git_config` call to load the\n global configuration file.","line":37,"file":"config.h","args":[{"type":"char *","comment":"Buffer of GIT_PATH_MAX length to store the path","name":"global_config_path"}],"lineto":52},"git_config_file__ondisk":{"rawComments":"\n Create a configuration file backend for ondisk files\n\n These are the normal `.gitconfig` files that Core Git\n processes. Note that you first have to add this file to a\n configuration object before you can query it for configuration\n variables.\n\n @param out the new backend\n @param path where the config file is located\n\n","description":"Create a configuration file backend for ondisk files","sig":"struct git_config_file **::const char *","return":{"type":"int","comment":""},"group":"config","argline":"struct git_config_file **out, const char *path","comments":"These are the normal `.gitconfig` files that Core Git\n processes. Note that you first have to add this file to a\n configuration object before you can query it for configuration\n variables.","line":77,"file":"config.h","args":[{"type":"struct git_config_file **","comment":"the new backend","name":"out"},{"type":"const char *","comment":"where the config file is located","name":"path"}],"lineto":88},"git_reference_resolve":{"rawComments":"\n Resolve a symbolic reference\n\n Thie method iteratively peels a symbolic reference\n until it resolves to a direct reference to an OID.\n\n The peeled reference is returned in the `resolved_ref`\n argument, and must be freed manually once it's no longer\n needed.\n\n If a direct reference is passed as an argument,\n a copy of that reference is returned. This copy must\n be manually freed too.\n\n @param resolved_ref Pointer to the peeled reference\n @param ref The reference\n @return GIT_SUCCESS or an error code\n\n","description":"Resolve a symbolic reference","sig":"git_reference **::git_reference *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"group":"reference","argline":"git_reference **resolved_ref, git_reference *ref","comments":"Thie method iteratively peels a symbolic reference\n until it resolves to a direct reference to an OID.\n\n The peeled reference is returned in the `resolved_ref`\n argument, and must be freed manually once it's no longer\n needed.\n\n If a direct reference is passed as an argument,\n a copy of that reference is returned. This copy must\n be manually freed too.","line":113,"file":"refs.h","args":[{"type":"git_reference **","comment":"Pointer to the peeled reference","name":"resolved_ref"},{"type":"git_reference *","comment":"The reference","name":"ref"}],"lineto":131},"git_commit_tree":{"rawComments":"\n Get the tree pointed to by a commit.\n\n @param tree_out pointer where to store the tree object\n @param commit a previously loaded commit.\n @return GIT_SUCCESS or an error code\n\n","description":"Get the tree pointed to by a commit.","sig":"git_tree **::git_commit *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"group":"commit","argline":"git_tree **tree_out, git_commit *commit","comments":"","line":133,"file":"commit.h","args":[{"type":"git_tree **","comment":"pointer where to store the tree object","name":"tree_out"},{"type":"git_commit *","comment":"a previously loaded commit.","name":"commit"}],"lineto":140},"git_oid_shorten_add":{"rawComments":"\n 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\n The OID is expected to be a 40-char hexadecimal string.\n The OID is owned by the user and will not be modified\n or freed.\n\n For performance reasons, there is a hard-limit of how many\n OIDs can be added to a single set (around ~22000, assuming\n a mostly randomized distribution), which should be enough\n for any kind of program, and keeps the algorithm fast and\n memory-efficient.\n\n Attempting to add more than those OIDs will result in a\n GIT_ENOMEM error\n\n @param os a `git_oid_shorten` instance\n @param text_oid an OID in text form\n @return the minimal length to uniquely identify all OIDs\n\t\tadded so far to the set; or an error code (<0) if an\n\t\terror occurs.\n\n","description":"Add a new OID to set of shortened OIDs and calculate the minimal length to uniquely identify all the OIDs in the set.","sig":"git_oid_shorten *::const char *","return":{"type":"int","comment":"the minimal length to uniquely identify all OIDs added so far to the set; or an error code (<0) if an error occurs."},"group":"oid","argline":"git_oid_shorten *os, const char *text_oid","comments":"The OID is expected to be a 40-char hexadecimal string.\n The OID is owned by the user and will not be modified\n or freed.\n\n For performance reasons, there is a hard-limit of how many\n OIDs can be added to a single set (around ~22000, assuming\n a mostly randomized distribution), which should be enough\n for any kind of program, and keeps the algorithm fast and\n memory-efficient.\n\n Attempting to add more than those OIDs will result in a\n GIT_ENOMEM error","line":183,"file":"oid.h","args":[{"type":"git_oid_shorten *","comment":"a `git_oid_shorten` instance","name":"os"},{"type":"const char *","comment":"an OID in text form","name":"text_oid"}],"lineto":207},"git_index_entry_stage":{"rawComments":"\n Return the stage number from a git index entry\n\n This entry is calculated from the entrie's flag\n attribute like this:\n\n\t(entry->flags & GIT_IDXENTRY_STAGEMASK) >> GIT_IDXENTRY_STAGESHIFT\n\n @param entry The entry\n @returns the stage number\n\n","description":"Return the stage number from a git index entry","sig":"const git_index_entry *","return":{"type":"int","comment":""},"group":"index","argline":"const git_index_entry *entry","comments":"This entry is calculated from the entrie's flag\n attribute like this:\n\n\t(entry->flags & GIT_IDXENTRY_STAGEMASK) >> GIT_IDXENTRY_STAGESHIFT\n\n @returns the stage number","line":291,"file":"index.h","args":[{"type":"const git_index_entry *","comment":"The entry","name":"entry"}],"lineto":302},"git_odb_hash":{"rawComments":"\n Determine the object-ID (sha1 hash) of a data buffer\n\n The resulting SHA-1 OID will the itentifier for the data\n buffer as if the data buffer it were to written to the ODB.\n\n @param id the resulting object-ID.\n @param data data to hash\n @param len size of the data\n @param type of the data to hash\n @return GIT_SUCCESS or an error code\n\n","description":"Determine the object-ID (sha1 hash) of a data buffer","sig":"git_oid *::const void *::size_t::git_otype","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"group":"odb","argline":"git_oid *id, const void *data, size_t len, git_otype type","comments":"The resulting SHA-1 OID will the itentifier for the data\n buffer as if the data buffer it were to written to the ODB.","line":250,"file":"odb.h","args":[{"type":"git_oid *","comment":"the resulting object-ID.","name":"id"},{"type":"const void *","comment":"data to hash","name":"data"},{"type":"size_t","comment":"size of the data","name":"len"},{"type":"git_otype","comment":"of the data to hash","name":"type"}],"lineto":262},"git_repository_is_bare":{"rawComments":"\n Check if a repository is bare\n\n @param repo Repo to test\n @return 1 if the repository is bare, 0 otherwise.\n\n","description":"Check if a repository is bare","sig":"git_repository *","return":{"type":"int","comment":"1 if the repository is bare, 0 otherwise."},"group":"repository","argline":"git_repository *repo","comments":"","line":187,"file":"repository.h","args":[{"type":"git_repository *","comment":"Repo to test","name":"repo"}],"lineto":193},"git_tree_lookup_prefix":{"rawComments":"\n Lookup a tree object from the repository,\n given a prefix of its identifier (short id).\n\n @see git_object_lookup_prefix\n\n @param tree pointer to the looked up tree\n @param repo the repo to use when locating the tree.\n @param id identity of the tree to locate.\n @param len the length of the short identifier\n @return GIT_SUCCESS or an error code\n\n","description":"Lookup a tree object from the repository, given a prefix of its identifier (short id).","sig":"git_tree **::git_repository *::const git_oid *::unsigned int","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"group":"tree","argline":"git_tree **tree, git_repository *repo, const git_oid *id, unsigned int len","comments":"@see git_object_lookup_prefix","line":37,"file":"tree.h","args":[{"type":"git_tree **","comment":"pointer to the looked up tree","name":"tree"},{"type":"git_repository *","comment":"the repo to use when locating the tree.","name":"repo"},{"type":"const git_oid *","comment":"identity of the tree to locate.","name":"id"},{"type":"unsigned int","comment":"the length of the short identifier","name":"len"}],"lineto":52},"git_tag_type":{"rawComments":"\n Get the type of a tag's tagged object\n\n @param tag a previously loaded tag.\n @return type of the tagged object\n\n","examples":{"general.c":["ex/HEAD/general.html#git_tag_type-21"]},"description":"Get the type of a tag's tagged object","sig":"git_tag *","return":{"type":"git_otype","comment":"type of the tagged object"},"group":"tag","argline":"git_tag *tag","comments":"","line":100,"file":"tag.h","args":[{"type":"git_tag *","comment":"a previously loaded tag.","name":"tag"}],"lineto":106},"git_signature_free":{"rawComments":"\n Free an existing signature\n\n @param sig signature to free\n\n","description":"Free an existing signature","sig":"git_signature *","return":{"type":"void","comment":""},"group":"signature","argline":"git_signature *sig","comments":"","line":56,"file":"signature.h","args":[{"type":"git_signature *","comment":"signature to free","name":"sig"}],"lineto":61},"git_object_type":{"rawComments":"\n Get the object type of an object\n\n @param obj the repository object\n @return the object's type\n\n","description":"Get the object type of an object","sig":"const git_object *","return":{"type":"git_otype","comment":"the object's type"},"group":"object","argline":"const git_object *obj","comments":"","line":89,"file":"object.h","args":[{"type":"const git_object *","comment":"the repository object","name":"obj"}],"lineto":95},"git_oid_to_string":{"rawComments":"\n Format a git_oid into a buffer as a hex format c-string.\n\n If the buffer is smaller than GIT_OID_HEXSZ+1, then the resulting\n oid c-string will be truncated to n-1 characters. If there are\n any input parameter errors (out == NULL, n == 0, oid == NULL),\n then a pointer to an empty string is returned, so that the return\n value can always be printed.\n\n @param out the buffer into which the oid string is output.\n @param n the size of the out buffer.\n @param oid the oid structure to format.\n @return the out buffer pointer, assuming no input parameter\n\t\t\terrors, otherwise a pointer to an empty string.\n\n","description":"Format a git_oid into a buffer as a hex format c-string.","sig":"char *::size_t::const git_oid *","return":{"type":"char *","comment":"the out buffer pointer, assuming no input parameter errors, otherwise a pointer to an empty string."},"group":"oid","argline":"char *out, size_t n, const git_oid *oid","comments":"If the buffer is smaller than GIT_OID_HEXSZ+1, then the resulting\n oid c-string will be truncated to n-1 characters. If there are\n any input parameter errors (out == NULL, n == 0, oid == NULL),\n then a pointer to an empty string is returned, so that the return\n value can always be printed.","line":107,"file":"oid.h","args":[{"type":"char *","comment":"the buffer into which the oid string is output.","name":"out"},{"type":"size_t","comment":"the size of the out buffer.","name":"n"},{"type":"const git_oid *","comment":"the oid structure to format.","name":"oid"}],"lineto":122},"git_oid_fmt":{"rawComments":"\n Format a git_oid into a hex string.\n\n @param str output hex string; must be pointing at the start of\n\t\tthe hex sequence and have at least the number of bytes\n\t\tneeded for an oid encoded in hex (40 bytes). Only the\n\t\toid digits are written; a '\\\\0' terminator must be added\n\t\tby the caller if it is required.\n @param oid oid structure to format.\n\n","examples":{"network/ls-remote.c":["ex/HEAD/ls-remote.html#git_oid_fmt-3"],"network/index-pack.c":["ex/HEAD/index-pack.html#git_oid_fmt-3"],"showindex.c":["ex/HEAD/showindex.html#git_oid_fmt-4"],"network/fetch.c":["ex/HEAD/fetch.html#git_oid_fmt-6"],"general.c":["ex/HEAD/general.html#git_oid_fmt-22","ex/HEAD/general.html#git_oid_fmt-23","ex/HEAD/general.html#git_oid_fmt-24","ex/HEAD/general.html#git_oid_fmt-25","ex/HEAD/general.html#git_oid_fmt-26"]},"description":"Format a git_oid into a hex string.","sig":"char *::const git_oid *","return":{"type":"void","comment":""},"group":"oid","argline":"char *str, const git_oid *oid","comments":"","line":71,"file":"oid.h","args":[{"type":"char *","comment":"output hex string; must be pointing at the start of the hex sequence and have at least the number of bytes needed for an oid encoded in hex (40 bytes). Only the oid digits are written; a '\\\\0' terminator must be added by the caller if it is required.","name":"str"},{"type":"const git_oid *","comment":"oid structure to format.","name":"oid"}],"lineto":81},"git_tree_entry_byindex":{"rawComments":"\n Lookup a tree entry by its position in the tree\n\n @param tree a previously loaded tree.\n @param idx the position in the entry list\n @return the tree entry; NULL if not found\n\n","examples":{"general.c":["ex/HEAD/general.html#git_tree_entry_byindex-27"]},"description":"Lookup a tree entry by its position in the tree","sig":"git_tree *::unsigned int","return":{"type":"const git_tree_entry *","comment":"the tree entry; NULL if not found"},"group":"tree","argline":"git_tree *tree, unsigned int idx","comments":"","line":97,"file":"tree.h","args":[{"type":"git_tree *","comment":"a previously loaded tree.","name":"tree"},{"type":"unsigned int","comment":"the position in the entry list","name":"idx"}],"lineto":104},"git_reference_packall":{"rawComments":"\n Pack all the loose references in the repository\n\n This method will load into the cache all the loose\n references on the repository and update the\n `packed-refs` file with them.\n\n Once the `packed-refs` file has been written properly,\n the loose references will be removed from disk.\n\n @param repo Repository where the loose refs will be packed\n @return GIT_SUCCESS or an error code\n\n","description":"Pack all the loose references in the repository","sig":"git_repository *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"group":"reference","argline":"git_repository *repo","comments":"This method will load into the cache all the loose\n references on the repository and update the\n `packed-refs` file with them.\n\n Once the `packed-refs` file has been written properly,\n the loose references will be removed from disk.","line":212,"file":"refs.h","args":[{"type":"git_repository *","comment":"Repository where the loose refs will be packed","name":"repo"}],"lineto":225},"git_repository_init":{"rawComments":"\n Creates a new Git repository in the given folder.\n\n TODO:\n\t- Reinit the repository\n\n @param repo_out pointer to the repo which will be created or reinitialized\n @param path the path to the repository\n @param is_bare 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.\n\n @return GIT_SUCCESS or an error code\n\n","description":"Creates a new Git repository in the given folder.","sig":"git_repository **::const char *::unsigned","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"group":"repository","argline":"git_repository **repo_out, const char *path, unsigned is_bare","comments":"TODO:\n\t- Reinit the repository","line":86,"file":"repository.h","args":[{"type":"git_repository **","comment":"pointer to the repo which will be created or reinitialized","name":"repo_out"},{"type":"const char *","comment":"the path to the repository","name":"path"},{"type":"unsigned","comment":"if true, a Git repository without a working directory is created at the pointed path. If false, provided path will be considered as the working directory into which the .git directory will be created.","name":"is_bare"}],"lineto":100},"git_indexer_free":{"rawComments":"\n Free the indexer and its resources\n\n @param idx the indexer to free\n\n","examples":{"network/index-pack.c":["ex/HEAD/index-pack.html#git_indexer_free-4"],"network/fetch.c":["ex/HEAD/fetch.html#git_indexer_free-7"]},"description":"Free the indexer and its resources","sig":"git_indexer *","return":{"type":"void","comment":""},"group":"indexer","argline":"git_indexer *idx","comments":"","line":67,"file":"indexer.h","args":[{"type":"git_indexer *","comment":"the indexer to free","name":"idx"}],"lineto":72},"git_signature_new":{"rawComments":"\n Create a new action signature. The signature must be freed\n manually or using git_signature_free\n\n @param sig_out new signature, in case of error NULL\n @param name name of the person\n @param email email of the person\n @param time time when the action happened\n @param offset timezone offset in minutes for the time\n @return GIT_SUCCESS or an error code\n\n","examples":{"general.c":["ex/HEAD/general.html#git_signature_new-28","ex/HEAD/general.html#git_signature_new-29"]},"description":"Create a new action signature. The signature must be freed manually or using git_signature_free","sig":"git_signature **::const char *::const char *::git_time_t::int","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"group":"signature","argline":"git_signature **sig_out, const char *name, const char *email, git_time_t time, int offset","comments":"","line":22,"file":"signature.h","args":[{"type":"git_signature **","comment":"new signature, in case of error NULL","name":"sig_out"},{"type":"const char *","comment":"name of the person","name":"name"},{"type":"const char *","comment":"email of the person","name":"email"},{"type":"git_time_t","comment":"time when the action happened","name":"time"},{"type":"int","comment":"timezone offset in minutes for the time","name":"offset"}],"lineto":33},"git_oid_fromstr":{"rawComments":"\n Parse a hex formatted object id into a git_oid.\n\n @param out oid structure the result is written into.\n @param str input hex string; must be pointing at the start of\n\t\tthe hex sequence and have at least the number of bytes\n\t\tneeded for an oid encoded in hex (40 bytes).\n @return GIT_SUCCESS or an error code\n\n","examples":{"general.c":["ex/HEAD/general.html#git_oid_fromstr-30","ex/HEAD/general.html#git_oid_fromstr-31","ex/HEAD/general.html#git_oid_fromstr-32","ex/HEAD/general.html#git_oid_fromstr-33","ex/HEAD/general.html#git_oid_fromstr-34","ex/HEAD/general.html#git_oid_fromstr-35","ex/HEAD/general.html#git_oid_fromstr-36","ex/HEAD/general.html#git_oid_fromstr-37"]},"description":"Parse a hex formatted object id into a git_oid.","sig":"git_oid *::const char *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"group":"oid","argline":"git_oid *out, const char *str","comments":"","line":39,"file":"oid.h","args":[{"type":"git_oid *","comment":"oid structure the result is written into.","name":"out"},{"type":"const char *","comment":"input hex string; must be pointing at the start of the hex sequence and have at least the number of bytes needed for an oid encoded in hex (40 bytes).","name":"str"}],"lineto":48},"git_object__size":{"rawComments":"\n Get the size in bytes for the structure which\n acts as an in-memory representation of any given\n object type.\n\n For all the core types, this would the equivalent\n of calling `sizeof(git_commit)` if the core types\n were not opaque on the external API.\n\n @param type object type to get its size\n @return size in bytes of the object\n\n","description":"Get the size in bytes for the structure which acts as an in-memory representation of any given object type.","sig":"git_otype","return":{"type":"size_t","comment":"size in bytes of the object"},"group":"object","argline":"git_otype type","comments":"For all the core types, this would the equivalent\n of calling `sizeof(git_commit)` if the core types\n were not opaque on the external API.","line":156,"file":"object.h","args":[{"type":"git_otype","comment":"object type to get its size","name":"type"}],"lineto":168},"git_indexer_run":{"rawComments":"\n Iterate over the objects in the packfile and extract the information\n\n Indexing a packfile can be very expensive so this function is\n expected to be run in a worker thread and the stats used to provide\n feedback the user.\n\n @param idx the indexer instance\n @param stats storage for the running state\n\n","examples":{"network/index-pack.c":["ex/HEAD/index-pack.html#git_indexer_run-5"],"network/fetch.c":["ex/HEAD/fetch.html#git_indexer_run-8"]},"description":"Iterate over the objects in the packfile and extract the information","sig":"git_indexer *::git_indexer_stats *","return":{"type":"int","comment":""},"group":"indexer","argline":"git_indexer *idx, git_indexer_stats *stats","comments":"Indexing a packfile can be very expensive so this function is\n expected to be run in a worker thread and the stats used to provide\n feedback the user.","line":35,"file":"indexer.h","args":[{"type":"git_indexer *","comment":"the indexer instance","name":"idx"},{"type":"git_indexer_stats *","comment":"storage for the running state","name":"stats"}],"lineto":45},"git_oid_streq":{"rawComments":"\n Check if an oid equals an hex formatted object id.\n\n @param a oid structure.\n @param str input hex string of an object id.\n @return GIT_ENOTOID if str is not a valid hex string,\n GIT_SUCCESS in case of a match, GIT_ERROR otherwise.\n\n","description":"Check if an oid equals an hex formatted object id.","sig":"const git_oid *::const char *","return":{"type":"int","comment":"GIT_ENOTOID if str is not a valid hex string, GIT_SUCCESS in case of a match, GIT_ERROR otherwise."},"group":"oid","argline":"const git_oid *a, const char *str","comments":"","line":152,"file":"oid.h","args":[{"type":"const git_oid *","comment":"oid structure.","name":"a"},{"type":"const char *","comment":"input hex string of an object id.","name":"str"}],"lineto":160},"git_clearerror":{"rawComments":"\n Clear the latest library error\n\n","description":"Clear the latest library error","sig":"","return":{"type":"void","comment":""},"group":"errors","argline":"void","comments":"","line":137,"file":"errors.h","args":[{"type":"","comment":"","name":"void"}],"lineto":140},"git_reference_type":{"rawComments":"\n Get the type of a reference\n\n Either direct (GIT_REF_OID) or symbolic (GIT_REF_SYMBOLIC)\n\n @param ref The reference\n @return the type\n\n","examples":{"general.c":["ex/HEAD/general.html#git_reference_type-38"]},"description":"Get the type of a reference","sig":"git_reference *","return":{"type":"git_rtype","comment":"the type"},"group":"reference","argline":"git_reference *ref","comments":"Either direct (GIT_REF_OID) or symbolic (GIT_REF_SYMBOLIC)","line":95,"file":"refs.h","args":[{"type":"git_reference *","comment":"The reference","name":"ref"}],"lineto":103},"git_odb_object_free":{"rawComments":"\n Close an ODB object\n\n This method must always be called once a `git_odb_object` is no\n longer needed, otherwise memory will leak.\n\n @param object object to close\n\n","examples":{"general.c":["ex/HEAD/general.html#git_odb_object_free-39"]},"description":"Close an ODB object","sig":"git_odb_object *","return":{"type":"void","comment":""},"group":"odb","argline":"git_odb_object *object","comments":"This method must always be called once a `git_odb_object` is no\n longer needed, otherwise memory will leak.","line":277,"file":"odb.h","args":[{"type":"git_odb_object *","comment":"object to close","name":"object"}],"lineto":285},"git_tag_message":{"rawComments":"\n Get the message of a tag\n\n @param tag a previously loaded tag.\n @return message of the tag\n\n","examples":{"general.c":["ex/HEAD/general.html#git_tag_message-40"]},"description":"Get the message of a tag","sig":"git_tag *","return":{"type":"const char *","comment":"message of the tag"},"group":"tag","argline":"git_tag *tag","comments":"","line":124,"file":"tag.h","args":[{"type":"git_tag *","comment":"a previously loaded tag.","name":"tag"}],"lineto":130},"git_treebuilder_free":{"rawComments":"\n Free a tree builder\n\n This will clear all the entries and free to builder.\n Failing to free the builder after you're done using it\n will result in a memory leak\n\n @param bld Builder to free\n\n","description":"Free a tree builder","sig":"git_treebuilder *","return":{"type":"void","comment":""},"group":"treebuilder","argline":"git_treebuilder *bld","comments":"This will clear all the entries and free to builder.\n Failing to free the builder after you're done using it\n will result in a memory leak","line":192,"file":"tree.h","args":[{"type":"git_treebuilder *","comment":"Builder to free","name":"bld"}],"lineto":201},"git_commit_message_encoding":{"rawComments":"\n Get the encoding for the message of a commit,\n as a string representing a standard encoding name.\n\n The encoding may be NULL if the `encoding` header\n in the commit is missing; in that case UTF-8 is assumed.\n\n @param commit a previously loaded commit.\n @return NULL, or the encoding\n\n","description":"Get the encoding for the message of a commit, as a string representing a standard encoding name.","sig":"git_commit *","return":{"type":"const char *","comment":"NULL, or the encoding"},"group":"commit","argline":"git_commit *commit","comments":"The encoding may be NULL if the `encoding` header\n in the commit is missing; in that case UTF-8 is assumed.","line":81,"file":"commit.h","args":[{"type":"git_commit *","comment":"a previously loaded commit.","name":"commit"}],"lineto":91},"git_oid_cpy":{"rawComments":"\n Copy an oid from one structure to another.\n\n @param out oid structure the result is written into.\n @param src oid structure to copy from.\n\n","description":"Copy an oid from one structure to another.","sig":"git_oid *::const git_oid *","return":{"type":"void","comment":""},"group":"oid","argline":"git_oid *out, const git_oid *src","comments":"","line":124,"file":"oid.h","args":[{"type":"git_oid *","comment":"oid structure the result is written into.","name":"out"},{"type":"const git_oid *","comment":"oid structure to copy from.","name":"src"}],"lineto":130},"git_commit_parentcount":{"rawComments":"\n Get the number of parents of this commit\n\n @param commit a previously loaded commit.\n @return integer of count of parents\n\n","examples":{"general.c":["ex/HEAD/general.html#git_commit_parentcount-41"]},"description":"Get the number of parents of this commit","sig":"git_commit *","return":{"type":"unsigned int","comment":"integer of count of parents"},"group":"commit","argline":"git_commit *commit","comments":"","line":152,"file":"commit.h","args":[{"type":"git_commit *","comment":"a previously loaded commit.","name":"commit"}],"lineto":158},"git_reference_owner":{"rawComments":"\n Get the repository where a reference resides\n\n @param ref The reference\n @return a pointer to the repo\n\n","description":"Get the repository where a reference resides","sig":"git_reference *","return":{"type":"git_repository *","comment":"a pointer to the repo"},"group":"reference","argline":"git_reference *ref","comments":"","line":133,"file":"refs.h","args":[{"type":"git_reference *","comment":"The reference","name":"ref"}],"lineto":139},"git_tree_entry_id":{"rawComments":"\n Get the id of the object pointed by the entry\n\n @param entry a tree entry\n @return the oid of the object\n\n","description":"Get the id of the object pointed by the entry","sig":"const git_tree_entry *","return":{"type":"const git_oid *","comment":"the oid of the object"},"group":"tree","argline":"const git_tree_entry *entry","comments":"","line":122,"file":"tree.h","args":[{"type":"const git_tree_entry *","comment":"a tree entry","name":"entry"}],"lineto":128},"git_treebuilder_create":{"rawComments":"\n Create a new tree builder.\n\n The tree builder can be used to create or modify\n trees in memory and write them as tree objects to the\n database.\n\n If the `source` parameter is not NULL, the tree builder\n will be initialized with the entries of the given tree.\n\n If the `source` parameter is NULL, the tree builder will\n have no entries and will have to be filled manually.\n\n @param builder_p Pointer where to store the tree builder\n @param source Source tree to initialize the builder (optional)\n @return 0 on sucess; error code otherwise\n\n","description":"Create a new tree builder.","sig":"git_treebuilder **::const git_tree *","return":{"type":"int","comment":"0 on sucess; error code otherwise"},"group":"treebuilder","argline":"git_treebuilder **builder_p, const git_tree *source","comments":"The tree builder can be used to create or modify\n trees in memory and write them as tree objects to the\n database.\n\n If the `source` parameter is not NULL, the tree builder\n will be initialized with the entries of the given tree.\n\n If the `source` parameter is NULL, the tree builder will\n have no entries and will have to be filled manually.","line":166,"file":"tree.h","args":[{"type":"git_treebuilder **","comment":"Pointer where to store the tree builder","name":"builder_p"},{"type":"const git_tree *","comment":"Source tree to initialize the builder (optional)","name":"source"}],"lineto":183},"git_repository_set_config":{"rawComments":"\n Set the configuration file for this repository\n\n This configuration file will be used for all configuration\n queries involving this repository.\n\n The repository will keep a reference to the config file;\n the user must still free the config after setting it\n to the repository, or it will leak.\n\n @param repo A repository object\n @param config A Config object\n\n","description":"Set the configuration file for this repository","sig":"git_repository *::git_config *","return":{"type":"void","comment":""},"group":"repository","argline":"git_repository *repo, git_config *config","comments":"This configuration file will be used for all configuration\n queries involving this repository.\n\n The repository will keep a reference to the config file;\n the user must still free the config after setting it\n to the repository, or it will leak.","line":211,"file":"repository.h","args":[{"type":"git_repository *","comment":"A repository object","name":"repo"},{"type":"git_config *","comment":"A Config object","name":"config"}],"lineto":224},"git_commit_lookup_prefix":{"rawComments":"\n Lookup a commit object from a repository,\n given a prefix of its identifier (short id).\n\n @see git_object_lookup_prefix\n\n @param commit pointer to the looked up commit\n @param repo the repo to use when locating the commit.\n @param id identity of the commit to locate. If the object is\n\t\tan annotated tag it will be peeled back to the commit.\n @param len the length of the short identifier\n @return GIT_SUCCESS or an error code\n\n","description":"Lookup a commit object from a repository, given a prefix of its identifier (short id).","sig":"git_commit **::git_repository *::const git_oid *::unsigned","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"group":"commit","argline":"git_commit **commit, git_repository *repo, const git_oid *id, unsigned len","comments":"@see git_object_lookup_prefix","line":38,"file":"commit.h","args":[{"type":"git_commit **","comment":"pointer to the looked up commit","name":"commit"},{"type":"git_repository *","comment":"the repo to use when locating the commit.","name":"repo"},{"type":"const git_oid *","comment":"identity of the commit to locate. If the object is an annotated tag it will be peeled back to the commit.","name":"id"},{"type":"unsigned","comment":"the length of the short identifier","name":"len"}],"lineto":54},"git_tag_lookup_prefix":{"rawComments":"\n Lookup a tag object from the repository,\n given a prefix of its identifier (short id).\n\n @see git_object_lookup_prefix\n\n @param tag pointer to the looked up tag\n @param repo the repo to use when locating the tag.\n @param id identity of the tag to locate.\n @param len the length of the short identifier\n @return GIT_SUCCESS or an error code\n\n","description":"Lookup a tag object from the repository, given a prefix of its identifier (short id).","sig":"git_tag **::git_repository *::const git_oid *::unsigned int","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"group":"tag","argline":"git_tag **tag, git_repository *repo, const git_oid *id, unsigned int len","comments":"@see git_object_lookup_prefix","line":37,"file":"tag.h","args":[{"type":"git_tag **","comment":"pointer to the looked up tag","name":"tag"},{"type":"git_repository *","comment":"the repo to use when locating the tag.","name":"repo"},{"type":"const git_oid *","comment":"identity of the tag to locate.","name":"id"},{"type":"unsigned int","comment":"the length of the short identifier","name":"len"}],"lineto":52},"git_oid_shorten_free":{"rawComments":"\n Free an OID shortener instance\n\n @param os a `git_oid_shorten` instance\n\n","description":"Free an OID shortener instance","sig":"git_oid_shorten *","return":{"type":"void","comment":""},"group":"oid","argline":"git_oid_shorten *os","comments":"","line":209,"file":"oid.h","args":[{"type":"git_oid_shorten *","comment":"a `git_oid_shorten` instance","name":"os"}],"lineto":214},"git_blob_rawcontent":{"rawComments":"\n Get a read-only buffer with the raw content of a blob.\n\n A pointer to the raw content of a blob is returned;\n this pointer is owned internally by the object and shall\n not be free'd. The pointer may be invalidated at a later\n time.\n\n @param blob pointer to the blob\n @return the pointer; NULL if the blob has no contents\n\n","examples":{"general.c":["ex/HEAD/general.html#git_blob_rawcontent-42"]},"description":"Get a read-only buffer with the raw content of a blob.","sig":"git_blob *","return":{"type":"const void *","comment":"the pointer; NULL if the blob has no contents"},"group":"blob","argline":"git_blob *blob","comments":"A pointer to the raw content of a blob is returned;\n this pointer is owned internally by the object and shall\n not be free'd. The pointer may be invalidated at a later\n time.","line":72,"file":"blob.h","args":[{"type":"git_blob *","comment":"pointer to the blob","name":"blob"}],"lineto":83},"git_commit_message":{"rawComments":"\n Get the full message of a commit.\n\n @param commit a previously loaded commit.\n @return the message of a commit\n\n","examples":{"general.c":["ex/HEAD/general.html#git_commit_message-43","ex/HEAD/general.html#git_commit_message-44"]},"description":"Get the full message of a commit.","sig":"git_commit *","return":{"type":"const char *","comment":"the message of a commit"},"group":"commit","argline":"git_commit *commit","comments":"","line":93,"file":"commit.h","args":[{"type":"git_commit *","comment":"a previously loaded commit.","name":"commit"}],"lineto":99},"git_repository_discover":{"rawComments":"\n Look for a git repository and copy its path in the given buffer.\n The lookup start from base_path and walk across parent directories\n if nothing has been found. The lookup ends when the first repository\n is found, or when reaching a directory referenced in ceiling_dirs\n or when the filesystem changes (in case across_fs is true).\n\n The method will automatically detect if the repository is bare\n (if there is a repository).\n\n @param repository_path The user allocated buffer which will\n contain the found path.\n\n @param size repository_path size\n\n @param start_path The base path where the lookup starts.\n\n @param across_fs If true, then the lookup will not stop when a\n filesystem device change is detected while exploring parent directories.\n\n @param ceiling_dirs A GIT_PATH_LIST_SEPARATOR separated list of\n absolute symbolic link free paths. The lookup will stop when any\n of this paths is reached. Note that the lookup always performs on\n start_path no matter start_path appears in ceiling_dirs ceiling_dirs\n might be NULL (which is equivalent to an empty string)\n\n @return GIT_SUCCESS or an error code\n\n","description":"Look for a git repository and copy its path in the given buffer. The lookup start from base_path and walk across parent directories if nothing has been found. The lookup ends when the first repository is found, or when reaching a directory referenced in ceiling_dirs or when the filesystem changes (in case across_fs is true).","sig":"char *::size_t::const char *::int::const char *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"group":"repository","argline":"char *repository_path, size_t size, const char *start_path, int across_fs, const char *ceiling_dirs","comments":"The method will automatically detect if the repository is bare\n (if there is a repository).","line":38,"file":"repository.h","args":[{"type":"char *","comment":"The user allocated buffer which will contain the found path.","name":"repository_path"},{"type":"size_t","comment":"repository_path size","name":"size"},{"type":"const char *","comment":"The base path where the lookup starts.","name":"start_path"},{"type":"int","comment":"If true, then the lookup will not stop when a filesystem device change is detected while exploring parent directories.","name":"across_fs"},{"type":"const char *","comment":"A GIT_PATH_LIST_SEPARATOR separated list of absolute symbolic link free paths. The lookup will stop when any of this paths is reached. Note that the lookup always performs on start_path no matter start_path appears in ceiling_dirs ceiling_dirs might be NULL (which is equivalent to an empty string)","name":"ceiling_dirs"}],"lineto":71},"git_index_clear":{"rawComments":"\n 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\n @param index an existing index object\n\n","description":"Clear the contents (all the entries) of an index object. This clears the index object in memory; changes must be manually written to disk for them to take effect.","sig":"git_index *","return":{"type":"void","comment":""},"group":"index","argline":"git_index *index","comments":"","line":113,"file":"index.h","args":[{"type":"git_index *","comment":"an existing index object","name":"index"}],"lineto":120},"git_commit_parent_oid":{"rawComments":"\n Get the oid of a specified parent for a commit. This is different from\n `git_commit_parent`, which will attempt to load the parent commit from\n the ODB.\n\n @param commit a previously loaded commit.\n @param n the position of the parent (from 0 to `parentcount`)\n @return the id of the parent, NULL on error.\n\n","description":"Get the oid of a specified parent for a commit. This is different from `git_commit_parent`, which will attempt to load the parent commit from the ODB.","sig":"git_commit *::unsigned int","return":{"type":"const git_oid *","comment":"the id of the parent, NULL on error."},"group":"commit","argline":"git_commit *commit, unsigned int n","comments":"","line":170,"file":"commit.h","args":[{"type":"git_commit *","comment":"a previously loaded commit.","name":"commit"},{"type":"unsigned int","comment":"the position of the parent (from 0 to `parentcount`)","name":"n"}],"lineto":179},"git_reflog_entry_msg":{"rawComments":"\n Get the log msg\n\n @param entry a reflog entry\n @return the log msg\n\n","description":"Get the log msg","sig":"const git_reflog_entry *","return":{"type":"char *","comment":"the log msg"},"group":"reflog","argline":"const git_reflog_entry *entry","comments":"","line":111,"file":"reflog.h","args":[{"type":"const git_reflog_entry *","comment":"a reflog entry","name":"entry"}],"lineto":117},"git_index_entrycount":{"rawComments":"\n Get the count of entries currently in the index\n\n @param index an existing index object\n @return integer of count of current entries\n\n","examples":{"showindex.c":["ex/HEAD/showindex.html#git_index_entrycount-5"],"general.c":["ex/HEAD/general.html#git_index_entrycount-45"]},"description":"Get the count of entries currently in the index","sig":"git_index *","return":{"type":"unsigned int","comment":"integer of count of current entries"},"group":"index","argline":"git_index *index","comments":"","line":251,"file":"index.h","args":[{"type":"git_index *","comment":"an existing index object","name":"index"}],"lineto":257},"git_odb_open_wstream":{"rawComments":"\n Open a stream to write an object into the ODB\n\n The type and final length of the object must be specified\n when opening the stream.\n\n The returned stream will be of type `GIT_STREAM_WRONLY` and\n will have the following methods:\n\n\t\t- stream->write: write `n` bytes into the stream\n\t\t- stream->finalize_write: close the stream and store the object in\n\t\t\tthe odb\n\t\t- stream->free: free the stream\n\n The streaming write won't be effective until `stream->finalize_write`\n is called and returns without an error\n\n The stream must always be free'd or will leak memory.\n\n @see git_odb_stream\n\n @param stream pointer where to store the stream\n @param db object database where the stream will write\n @param size final size of the object that will be written\n @param type type of the object that will be written\n @return 0 if the stream was created; error code otherwise\n\n","description":"Open a stream to write an object into the ODB","sig":"git_odb_stream **::git_odb *::size_t::git_otype","return":{"type":"int","comment":"0 if the stream was created; error code otherwise"},"group":"odb","argline":"git_odb_stream **stream, git_odb *db, size_t size, git_otype type","comments":"The type and final length of the object must be specified\n when opening the stream.\n\n The returned stream will be of type `GIT_STREAM_WRONLY` and\n will have the following methods:\n\n\t\t- stream->write: write `n` bytes into the stream\n\t\t- stream->finalize_write: close the stream and store the object in\n\t\t\tthe odb\n\t\t- stream->free: free the stream\n\n The streaming write won't be effective until `stream->finalize_write`\n is called and returns without an error\n\n The stream must always be free'd or will leak memory.\n\n @see git_odb_stream","line":195,"file":"odb.h","args":[{"type":"git_odb_stream **","comment":"pointer where to store the stream","name":"stream"},{"type":"git_odb *","comment":"object database where the stream will write","name":"db"},{"type":"size_t","comment":"final size of the object that will be written","name":"size"},{"type":"git_otype","comment":"type of the object that will be written","name":"type"}],"lineto":222},"git_oid_pathfmt":{"rawComments":"\n Format a git_oid into a loose-object path string.\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\n @param str output hex string; must be pointing at the start of\n\t\tthe hex sequence and have at least the number of bytes\n\t\tneeded for an oid encoded in hex (41 bytes). Only the\n\t\toid digits are written; a '\\\\0' terminator must be added\n\t\tby the caller if it is required.\n @param oid oid structure to format.\n\n","description":"Format a git_oid into a loose-object path string.","sig":"char *::const git_oid *","return":{"type":"void","comment":""},"group":"oid","argline":"char *str, const git_oid *oid","comments":"The resulting string is \"aa/...\", where \"aa\" is the first two\n hex digitis of the oid and \"...\" is the remaining 38 digits.","line":83,"file":"oid.h","args":[{"type":"char *","comment":"output hex string; must be pointing at the start of the hex sequence and have at least the number of bytes needed for an oid encoded in hex (41 bytes). Only the oid digits are written; a '\\\\0' terminator must be added by the caller if it is required.","name":"str"},{"type":"const git_oid *","comment":"oid structure to format.","name":"oid"}],"lineto":96},"git_odb_hashfile":{"rawComments":"\n Read a file from disk and fill a git_oid with the object id\n that the file would have if it were written to the Object\n Database as an object of the given type. Similar functionality\n to git.git's `git hash-object` without the `-w` flag.\n\n @param out oid structure the result is written into.\n @param path file to read and determine object id for\n @param type the type of the object that will be hashed\n @return GIT_SUCCESS or an error code\n\n","description":"Read a file from disk and fill a git_oid with the object id that the file would have if it were written to the Object Database as an object of the given type. Similar functionality to git.git's `git hash-object` without the `-w` flag.","sig":"git_oid *::const char *::git_otype","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"group":"odb","argline":"git_oid *out, const char *path, git_otype type","comments":"","line":264,"file":"odb.h","args":[{"type":"git_oid *","comment":"oid structure the result is written into.","name":"out"},{"type":"const char *","comment":"file to read and determine object id for","name":"path"},{"type":"git_otype","comment":"the type of the object that will be hashed","name":"type"}],"lineto":275},"git_blob_rawsize":{"rawComments":"\n Get the size in bytes of the contents of a blob\n\n @param blob pointer to the blob\n @return size on bytes\n\n","examples":{"general.c":["ex/HEAD/general.html#git_blob_rawsize-46","ex/HEAD/general.html#git_blob_rawsize-47"]},"description":"Get the size in bytes of the contents of a blob","sig":"git_blob *","return":{"type":"size_t","comment":"size on bytes"},"group":"blob","argline":"git_blob *blob","comments":"","line":85,"file":"blob.h","args":[{"type":"git_blob *","comment":"pointer to the blob","name":"blob"}],"lineto":91},"git_blob_lookup_prefix":{"rawComments":"\n Lookup a blob object from a repository,\n given a prefix of its identifier (short id).\n\n @see git_object_lookup_prefix\n\n @param blob pointer to the looked up blob\n @param repo the repo to use when locating the blob.\n @param id identity of the blob to locate.\n @param len the length of the short identifier\n @return GIT_SUCCESS or an error code\n\n","description":"Lookup a blob object from a repository, given a prefix of its identifier (short id).","sig":"git_blob **::git_repository *::const git_oid *::unsigned int","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"group":"blob","argline":"git_blob **blob, git_repository *repo, const git_oid *id, unsigned int len","comments":"@see git_object_lookup_prefix","line":37,"file":"blob.h","args":[{"type":"git_blob **","comment":"pointer to the looked up blob","name":"blob"},{"type":"git_repository *","comment":"the repo to use when locating the blob.","name":"repo"},{"type":"const git_oid *","comment":"identity of the blob to locate.","name":"id"},{"type":"unsigned int","comment":"the length of the short identifier","name":"len"}],"lineto":52},"git_remote_connect":{"rawComments":"\n Open a connection to a remote\n\n The transport is selected based on the URL. The direction argument\n is due to a limitation of the git protocol (over TCP or SSH) which\n starts up a specific binary which can only do the one or the other.\n\n @param remote the remote to connect to\n @param direction whether you want to receive or send data\n @return GIT_SUCCESS or an error code\n\n","examples":{"network/ls-remote.c":["ex/HEAD/ls-remote.html#git_remote_connect-4","ex/HEAD/ls-remote.html#git_remote_connect-5"],"network/fetch.c":["ex/HEAD/fetch.html#git_remote_connect-9"]},"description":"Open a connection to a remote","sig":"git_remote *::int","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"group":"remote","argline":"git_remote *remote, int direction","comments":"The transport is selected based on the URL. The direction argument\n is due to a limitation of the git protocol (over TCP or SSH) which\n starts up a specific binary which can only do the one or the other.","line":89,"file":"remote.h","args":[{"type":"git_remote *","comment":"the remote to connect to","name":"remote"},{"type":"int","comment":"whether you want to receive or send data","name":"direction"}],"lineto":100},"git_threads_shutdown":{"rawComments":"\n Shutdown the threading system.\n\n If libgit2 has been built with GIT_THREADS\n on, this function must be called before shutting\n down the library.\n\n If libgit2 has been built without GIT_THREADS\n support, this function is a no-op.\n\n","description":"Shutdown the threading system.","sig":"","return":{"type":"void","comment":""},"group":"threads","argline":"void","comments":"If libgit2 has been built with GIT_THREADS\n on, this function must be called before shutting\n down the library.\n\n If libgit2 has been built without GIT_THREADS\n support, this function is a no-op.","line":33,"file":"threads.h","args":[{"type":"","comment":"","name":"void"}],"lineto":43},"git_index_remove":{"rawComments":"\n Remove an entry from the index\n\n @param index an existing index object\n @param position position of the entry to remove\n @return GIT_SUCCESS or an error code\n\n","description":"Remove an entry from the index","sig":"git_index *::int","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"group":"index","argline":"git_index *index, int position","comments":"","line":227,"file":"index.h","args":[{"type":"git_index *","comment":"an existing index object","name":"index"},{"type":"int","comment":"position of the entry to remove","name":"position"}],"lineto":234},"git_tag_create_frombuffer":{"rawComments":"\n Create a new tag in the repository from a buffer\n\n @param oid Pointer where to store the OID of the newly created tag\n @param repo Repository where to store the tag\n @param buffer Raw tag data\n @param force Overwrite existing tags\n @return 0 on sucess; error code otherwise\n\n","description":"Create a new tag in the repository from a buffer","sig":"git_oid *::git_repository *::const char *::int","return":{"type":"int","comment":"0 on sucess; error code otherwise"},"group":"tag","argline":"git_oid *oid, git_repository *repo, const char *buffer, int force","comments":"","line":174,"file":"tag.h","args":[{"type":"git_oid *","comment":"Pointer where to store the OID of the newly created tag","name":"oid"},{"type":"git_repository *","comment":"Repository where to store the tag","name":"repo"},{"type":"const char *","comment":"Raw tag data","name":"buffer"},{"type":"int","comment":"Overwrite existing tags","name":"force"}],"lineto":187},"git_odb_write":{"rawComments":"\n Write an object directly into the ODB\n\n This method writes a full object straight into the ODB.\n For most cases, it is preferred to write objects through a write\n stream, which is both faster and less memory intensive, specially\n for big objects.\n\n This method is provided for compatibility with custom backends\n which are not able to support streaming writes\n\n @param oid pointer to store the OID result of the write\n @param odb object database where to store the object\n @param data buffer with the data to storr\n @param len size of the buffer\n @param type type of the data to store\n @return GIT_SUCCESS or an error code\n\n","examples":{"general.c":["ex/HEAD/general.html#git_odb_write-48"]},"description":"Write an object directly into the ODB","sig":"git_oid *::git_odb *::const void *::size_t::git_otype","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"group":"odb","argline":"git_oid *oid, git_odb *odb, const void *data, size_t len, git_otype type","comments":"This method writes a full object straight into the ODB.\n For most cases, it is preferred to write objects through a write\n stream, which is both faster and less memory intensive, specially\n for big objects.\n\n This method is provided for compatibility with custom backends\n which are not able to support streaming writes","line":175,"file":"odb.h","args":[{"type":"git_oid *","comment":"pointer to store the OID result of the write","name":"oid"},{"type":"git_odb *","comment":"object database where to store the object","name":"odb"},{"type":"const void *","comment":"buffer with the data to storr","name":"data"},{"type":"size_t","comment":"size of the buffer","name":"len"},{"type":"git_otype","comment":"type of the data to store","name":"type"}],"lineto":193},"git_tree_entrycount":{"rawComments":"\n Get the number of entries listed in a tree\n\n @param tree a previously loaded tree.\n @return the number of entries in the tree\n\n","examples":{"general.c":["ex/HEAD/general.html#git_tree_entrycount-49"]},"description":"Get the number of entries listed in a tree","sig":"git_tree *","return":{"type":"unsigned int","comment":"the number of entries in the tree"},"group":"tree","argline":"git_tree *tree","comments":"","line":80,"file":"tree.h","args":[{"type":"git_tree *","comment":"a previously loaded tree.","name":"tree"}],"lineto":86},"git_index_add":{"rawComments":"\n Add or update an index entry from a file in disk\n\n The file `path` must be relative to the repository's\n working folder and must be readable.\n\n This method will fail in bare index instances.\n\n @param index an existing index object\n @param path filename to add\n @param stage stage for the entry\n @return GIT_SUCCESS or an error code\n\n","description":"Add or update an index entry from a file in disk","sig":"git_index *::const char *::int","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"group":"index","argline":"git_index *index, const char *path, int stage","comments":"The file `path` must be relative to the repository's\n working folder and must be readable.\n\n This method will fail in bare index instances.","line":164,"file":"index.h","args":[{"type":"git_index *","comment":"an existing index object","name":"index"},{"type":"const char *","comment":"filename to add","name":"path"},{"type":"int","comment":"stage for the entry","name":"stage"}],"lineto":177},"git_blob_create_frombuffer":{"rawComments":"\n Write an in-memory buffer to the ODB as a blob\n\n @param oid return the oid of the written blob\n @param repo repository where to blob will be written\n @param buffer data to be written into the blob\n @param len length of the data\n @return GIT_SUCCESS or an error code\n\n","description":"Write an in-memory buffer to the ODB as a blob","sig":"git_oid *::git_repository *::const void *::size_t","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"group":"blob","argline":"git_oid *oid, git_repository *repo, const void *buffer, size_t len","comments":"","line":107,"file":"blob.h","args":[{"type":"git_oid *","comment":"return the oid of the written blob","name":"oid"},{"type":"git_repository *","comment":"repository where to blob will be written","name":"repo"},{"type":"const void *","comment":"data to be written into the blob","name":"buffer"},{"type":"size_t","comment":"length of the data","name":"len"}],"lineto":116},"git_remote_ls":{"rawComments":"\n Get a list of refs at the remote\n\n The remote (or more exactly its transport) must be connected. The\n memory belongs to the remote.\n\n @param refs where to store the refs\n @param remote the remote\n @return GIT_SUCCESS or an error code\n\n","examples":{"network/ls-remote.c":["ex/HEAD/ls-remote.html#git_remote_ls-6","ex/HEAD/ls-remote.html#git_remote_ls-7","ex/HEAD/ls-remote.html#git_remote_ls-8"]},"description":"Get a list of refs at the remote","sig":"git_remote *::git_headlist_cb::void *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"group":"remote","argline":"git_remote *remote, git_headlist_cb list_cb, void *payload","comments":"The remote (or more exactly its transport) must be connected. The\n memory belongs to the remote.\n\n @param refs where to store the refs","line":102,"file":"remote.h","args":[{"type":"git_remote *","comment":"the remote","name":"remote"},{"type":"git_headlist_cb","comment":"","name":"list_cb"},{"type":"void *","comment":"","name":"payload"}],"lineto":112},"git_repository_head":{"rawComments":"\n Retrieve and resolve the reference pointed at by HEAD.\n\n @param head_out pointer to the reference which will be retrieved\n @param repo a repository object\n\n @return 0 on success; error code otherwise\n\n","description":"Retrieve and resolve the reference pointed at by HEAD.","sig":"git_reference **::git_repository *","return":{"type":"int","comment":"0 on success; error code otherwise"},"group":"repository","argline":"git_reference **head_out, git_repository *repo","comments":"","line":102,"file":"repository.h","args":[{"type":"git_reference **","comment":"pointer to the reference which will be retrieved","name":"head_out"},{"type":"git_repository *","comment":"a repository object","name":"repo"}],"lineto":110},"git_odb_exists":{"rawComments":"\n Determine if the given object can be found in the object database.\n\n @param db database to be searched for the given object.\n @param id the object to search for.\n @return\n - 1, if the object was found\n - 0, otherwise\n\n","description":"Determine if the given object can be found in the object database.","sig":"git_odb *::const git_oid *","return":{"type":"int","comment":""},"group":"odb","argline":"git_odb *db, const git_oid *id","comments":"@return\n - 1, if the object was found\n - 0, otherwise","line":164,"file":"odb.h","args":[{"type":"git_odb *","comment":"database to be searched for the given object.","name":"db"},{"type":"const git_oid *","comment":"the object to search for.","name":"id"}],"lineto":173},"git_commit_time":{"rawComments":"\n Get the commit time (i.e. committer time) of a commit.\n\n @param commit a previously loaded commit.\n @return the time of a commit\n\n","examples":{"general.c":["ex/HEAD/general.html#git_commit_time-50","ex/HEAD/general.html#git_commit_time-51"]},"description":"Get the commit time (i.e. committer time) of a commit.","sig":"git_commit *","return":{"type":"git_time_t","comment":"the time of a commit"},"group":"commit","argline":"git_commit *commit","comments":"","line":101,"file":"commit.h","args":[{"type":"git_commit *","comment":"a previously loaded commit.","name":"commit"}],"lineto":107},"git_revwalk_hide":{"rawComments":"\n Mark a commit (and its ancestors) uninteresting for the output.\n\n The given OID must belong to a commit on the walked\n repository.\n\n The resolved commit and all its parents will be hidden from the\n output on the revision walk.\n\n @param walk the walker being used for the traversal.\n @param oid the oid of commit that will be ignored during the traversal\n @return GIT_SUCCESS or an error code\n\n","description":"Mark a commit (and its ancestors) uninteresting for the output.","sig":"git_revwalk *::const git_oid *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"group":"revwalk","argline":"git_revwalk *walk, const git_oid *oid","comments":"The given OID must belong to a commit on the walked\n repository.\n\n The resolved commit and all its parents will be hidden from the\n output on the revision walk.","line":105,"file":"revwalk.h","args":[{"type":"git_revwalk *","comment":"the walker being used for the traversal.","name":"walk"},{"type":"const git_oid *","comment":"the oid of commit that will be ignored during the traversal","name":"oid"}],"lineto":118},"git_tree_walk":{"rawComments":"\n Traverse the entries in a tree and its subtrees in\n post or pre order\n\n The entries will be traversed in the specified order,\n children subtrees will be automatically loaded as required,\n and the `callback` will be called once per entry with\n the current (relative) root for the entry and the entry\n data itself.\n\n If the callback returns a negative value, the passed entry\n will be skiped on the traversal.\n\n @param tree The tree to walk\n @param callback Function to call on each tree entry\n @param mode Traversal mode (pre or post-order)\n @param payload Opaque pointer to be passed on each callback\n @return GIT_SUCCESS or an error code\n\n","description":"Traverse the entries in a tree and its subtrees in post or pre order","sig":"git_tree *::git_treewalk_cb::int::void *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"group":"tree","argline":"git_tree *tree, git_treewalk_cb callback, int mode, void *payload","comments":"The entries will be traversed in the specified order,\n children subtrees will be automatically loaded as required,\n and the `callback` will be called once per entry with\n the current (relative) root for the entry and the entry\n data itself.\n\n If the callback returns a negative value, the passed entry\n will be skiped on the traversal.","line":295,"file":"tree.h","args":[{"type":"git_tree *","comment":"The tree to walk","name":"tree"},{"type":"git_treewalk_cb","comment":"Function to call on each tree entry","name":"callback"},{"type":"int","comment":"Traversal mode (pre or post-order)","name":"mode"},{"type":"void *","comment":"Opaque pointer to be passed on each callback","name":"payload"}],"lineto":314},"git_odb_read":{"rawComments":"\n Read an object from the database.\n\n This method queries all available ODB backends\n trying to read the given OID.\n\n The returned object is reference counted and\n internally cached, so it should be closed\n by the user once it's no longer in use.\n\n @param out pointer where to store the read object\n @param db database to search for the object in.\n @param id identity of the object to read.\n @return\n - GIT_SUCCESS if the object was read;\n - GIT_ENOTFOUND if the object is not in the database.\n\n","examples":{"general.c":["ex/HEAD/general.html#git_odb_read-52"]},"description":"Read an object from the database.","sig":"git_odb_object **::git_odb *::const git_oid *","return":{"type":"int","comment":""},"group":"odb","argline":"git_odb_object **out, git_odb *db, const git_oid *id","comments":"This method queries all available ODB backends\n trying to read the given OID.\n\n The returned object is reference counted and\n internally cached, so it should be closed\n by the user once it's no longer in use.\n\n @return\n - GIT_SUCCESS if the object was read;\n - GIT_ENOTFOUND if the object is not in the database.","line":97,"file":"odb.h","args":[{"type":"git_odb_object **","comment":"pointer where to store the read object","name":"out"},{"type":"git_odb *","comment":"database to search for the object in.","name":"db"},{"type":"const git_oid *","comment":"identity of the object to read.","name":"id"}],"lineto":114},"git_tag_target_oid":{"rawComments":"\n Get the OID of the tagged object of a tag\n\n @param tag a previously loaded tag.\n @return pointer to the OID\n\n","description":"Get the OID of the tagged object of a tag","sig":"git_tag *","return":{"type":"const git_oid *","comment":"pointer to the OID"},"group":"tag","argline":"git_tag *tag","comments":"","line":92,"file":"tag.h","args":[{"type":"git_tag *","comment":"a previously loaded tag.","name":"tag"}],"lineto":98},"git_odb_add_backend":{"rawComments":"\n Add a custom backend to an existing Object DB\n\n The backends are checked in relative ordering, based on the\n value of the `priority` parameter.\n\n Read <odb_backends.h> for more information.\n\n @param odb database to add the backend to\n @param backend pointer to a git_odb_backend instance\n @param priority Value for ordering the backends queue\n @return 0 on sucess; error code otherwise\n\n","description":"Add a custom backend to an existing Object DB","sig":"git_odb *::git_odb_backend *::int","return":{"type":"int","comment":"0 on sucess; error code otherwise"},"group":"odb","argline":"git_odb *odb, git_odb_backend *backend, int priority","comments":"The backends are checked in relative ordering, based on the\n value of the `priority` parameter.\n\n Read <odb_backends.h> for more information.","line":54,"file":"odb.h","args":[{"type":"git_odb *","comment":"database to add the backend to","name":"odb"},{"type":"git_odb_backend *","comment":"pointer to a git_odb_backend instance","name":"backend"},{"type":"int","comment":"Value for ordering the backends queue","name":"priority"}],"lineto":67},"git_reference_delete":{"rawComments":"\n Delete an existing reference\n\n This method works for both direct and symbolic references.\n\n The reference will be immediately removed on disk and from\n memory. The given reference pointer will no longer be valid.\n\n @param ref The reference to remove\n @return GIT_SUCCESS or an error code\n\n","description":"Delete an existing reference","sig":"git_reference *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"group":"reference","argline":"git_reference *ref","comments":"This method works for both direct and symbolic references.\n\n The reference will be immediately removed on disk and from\n memory. The given reference pointer will no longer be valid.","line":199,"file":"refs.h","args":[{"type":"git_reference *","comment":"The reference to remove","name":"ref"}],"lineto":210},"git_tag_name":{"rawComments":"\n Get the name of a tag\n\n @param tag a previously loaded tag.\n @return name of the tag\n\n","examples":{"general.c":["ex/HEAD/general.html#git_tag_name-53"]},"description":"Get the name of a tag","sig":"git_tag *","return":{"type":"const char *","comment":"name of the tag"},"group":"tag","argline":"git_tag *tag","comments":"","line":108,"file":"tag.h","args":[{"type":"git_tag *","comment":"a previously loaded tag.","name":"tag"}],"lineto":114},"git_signature_dup":{"rawComments":"\n Create a copy of an existing signature.\n\n All internal strings are also duplicated.\n @param sig signature to duplicated\n @return a copy of sig, NULL on out of memory\n\n","description":"Create a copy of an existing signature.","sig":"const git_signature *","return":{"type":"git_signature *","comment":"a copy of sig, NULL on out of memory"},"group":"signature","argline":"const git_signature *sig","comments":"All internal strings are also duplicated.","line":47,"file":"signature.h","args":[{"type":"const git_signature *","comment":"signature to duplicated","name":"sig"}],"lineto":54},"git_config_open_global":{"rawComments":"\n Open the global configuration file\n\n Utility wrapper that calls `git_config_find_global`\n and opens the located file, if it exists.\n\n @param out Pointer to store the config instance\n @return GIT_SUCCESS or an error code\n\n","description":"Open the global configuration file","sig":"git_config **","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"group":"config","argline":"git_config **out","comments":"Utility wrapper that calls `git_config_find_global`\n and opens the located file, if it exists.","line":66,"file":"config.h","args":[{"type":"git_config **","comment":"Pointer to store the config instance","name":"out"}],"lineto":75},"git_reflog_entrycount":{"rawComments":"\n Get the number of log entries in a reflog\n\n @param reflog the previously loaded reflog\n @return the number of log entries\n\n","description":"Get the number of log entries in a reflog","sig":"git_reflog *","return":{"type":"unsigned int","comment":"the number of log entries"},"group":"reflog","argline":"git_reflog *reflog","comments":"","line":70,"file":"reflog.h","args":[{"type":"git_reflog *","comment":"the previously loaded reflog","name":"reflog"}],"lineto":76},"git_index_get":{"rawComments":"\n Get a pointer to one of the entries in the index\n\n This entry can be modified, and the changes will be written\n back to disk on the next write() call.\n\n The entry should not be freed by the caller.\n\n @param index an existing index object\n @param n the position of the entry\n @return a pointer to the entry; NULL if out of bounds\n\n","examples":{"showindex.c":["ex/HEAD/showindex.html#git_index_get-6"],"general.c":["ex/HEAD/general.html#git_index_get-54"]},"description":"Get a pointer to one of the entries in the index","sig":"git_index *::unsigned int","return":{"type":"git_index_entry *","comment":"a pointer to the entry; NULL if out of bounds"},"group":"index","argline":"git_index *index, unsigned int n","comments":"This entry can be modified, and the changes will be written\n back to disk on the next write() call.\n\n The entry should not be freed by the caller.","line":237,"file":"index.h","args":[{"type":"git_index *","comment":"an existing index object","name":"index"},{"type":"unsigned int","comment":"the position of the entry","name":"n"}],"lineto":249},"git_repository_config":{"rawComments":"\n Get the configuration file for this repository.\n\n If a configuration file has not been set, the default\n config set for the repository will be returned, including\n global and system configurations (if they are available).\n\n The configuration file must be freed once it's no longer\n being used by the user.\n\n @param out Pointer to store the loaded config file\n @param repo A repository object\n @return GIT_SUCCESS, or an error code\n\n","description":"Get the configuration file for this repository.","sig":"git_config **::git_repository *","return":{"type":"int","comment":"GIT_SUCCESS, or an error code"},"group":"repository","argline":"git_config **out, git_repository *repo","comments":"If a configuration file has not been set, the default\n config set for the repository will be returned, including\n global and system configurations (if they are available).\n\n The configuration file must be freed once it's no longer\n being used by the user.","line":195,"file":"repository.h","args":[{"type":"git_config **","comment":"Pointer to store the loaded config file","name":"out"},{"type":"git_repository *","comment":"A repository object","name":"repo"}],"lineto":209},"git_odb_object_data":{"rawComments":"\n Return the data of an ODB object\n\n This is the uncompressed, raw data as read from the ODB,\n without the leading header.\n\n This pointer is owned by the object and shall not be free'd.\n\n @param object the object\n @return a pointer to the data\n\n","examples":{"general.c":["ex/HEAD/general.html#git_odb_object_data-55"]},"description":"Return the data of an ODB object","sig":"git_odb_object *","return":{"type":"const void *","comment":"a pointer to the data"},"group":"odb","argline":"git_odb_object *object","comments":"This is the uncompressed, raw data as read from the ODB,\n without the leading header.\n\n This pointer is owned by the object and shall not be free'd.","line":297,"file":"odb.h","args":[{"type":"git_odb_object *","comment":"the object","name":"object"}],"lineto":308},"git_config_delete":{"rawComments":"\n Delete a config variable\n\n @param cfg the configuration\n @param name the variable to delete\n\n","description":"Delete a config variable","sig":"git_config *::const char *","return":{"type":"int","comment":""},"group":"config","argline":"git_config *cfg, const char *name","comments":"","line":250,"file":"config.h","args":[{"type":"git_config *","comment":"the configuration","name":"cfg"},{"type":"const char *","comment":"the variable to delete","name":"name"}],"lineto":256},"git_config_get_string":{"rawComments":"\n Get the value of a string config variable.\n\n The string is owned by the variable and should not be freed by the\n user.\n\n @param cfg where to look for the variable\n @param name the variable's name\n @param out pointer to the variable's value\n @return GIT_SUCCESS or an error code\n\n","examples":{"general.c":["ex/HEAD/general.html#git_config_get_string-56"]},"description":"Get the value of a string config variable.","sig":"git_config *::const char *::const char **","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"group":"config","argline":"git_config *cfg, const char *name, const char **out","comments":"The string is owned by the variable and should not be freed by the\n user.","line":194,"file":"config.h","args":[{"type":"git_config *","comment":"where to look for the variable","name":"cfg"},{"type":"const char *","comment":"the variable's name","name":"name"},{"type":"const char **","comment":"pointer to the variable's value","name":"out"}],"lineto":205},"git_index_open":{"rawComments":"\n Create a new bare Git index object as a memory representation\n of the Git index file in 'index_path', without a repository\n to back it.\n\n Since there is no ODB or working directory behind this index,\n any Index methods which rely on these (e.g. index_add) will\n fail with the GIT_EBAREINDEX error code.\n\n If you need to access the index of an actual repository,\n use the `git_repository_index` wrapper.\n\n The index must be freed once it's no longer in use.\n\n @param index the pointer for the new index\n @param index_path the path to the index file in disk\n @return GIT_SUCCESS or an error code\n\n","description":"Create a new bare Git index object as a memory representation of the Git index file in 'index_path', without a repository to back it.","sig":"git_index **::const char *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"group":"index","argline":"git_index **index, const char *index_path","comments":"Since there is no ODB or working directory behind this index,\n any Index methods which rely on these (e.g. index_add) will\n fail with the GIT_EBAREINDEX error code.\n\n If you need to access the index of an actual repository,\n use the `git_repository_index` wrapper.\n\n The index must be freed once it's no longer in use.","line":93,"file":"index.h","args":[{"type":"git_index **","comment":"the pointer for the new index","name":"index"},{"type":"const char *","comment":"the path to the index file in disk","name":"index_path"}],"lineto":111},"git_reference_reload":{"rawComments":"\n Reload a reference from disk\n\n Reference pointers may become outdated if the Git\n repository is accessed simultaneously by other clients\n whilt the library is open.\n\n This method forces a reload of the reference from disk,\n to ensure that the provided information is still\n reliable.\n\n If the reload fails (e.g. the reference no longer exists\n on disk, or has become corrupted), an error code will be\n returned and the reference pointer will be invalidated.\n\n @param ref The reference to reload\n @return GIT_SUCCESS on success, or an error code\n\n","description":"Reload a reference from disk","sig":"git_reference *","return":{"type":"int","comment":"GIT_SUCCESS on success, or an error code"},"group":"reference","argline":"git_reference *ref","comments":"Reference pointers may become outdated if the Git\n repository is accessed simultaneously by other clients\n whilt the library is open.\n\n This method forces a reload of the reference from disk,\n to ensure that the provided information is still\n reliable.\n\n If the reload fails (e.g. the reference no longer exists\n on disk, or has become corrupted), an error code will be\n returned and the reference pointer will be invalidated.","line":280,"file":"refs.h","args":[{"type":"git_reference *","comment":"The reference to reload","name":"ref"}],"lineto":298},"git_commit_author":{"rawComments":"\n Get the author of a commit.\n\n @param commit a previously loaded commit.\n @return the author of a commit\n\n","examples":{"general.c":["ex/HEAD/general.html#git_commit_author-57","ex/HEAD/general.html#git_commit_author-58"]},"description":"Get the author of a commit.","sig":"git_commit *","return":{"type":"const git_signature *","comment":"the author of a commit"},"group":"commit","argline":"git_commit *commit","comments":"","line":125,"file":"commit.h","args":[{"type":"git_commit *","comment":"a previously loaded commit.","name":"commit"}],"lineto":131},"git_config_add_file":{"rawComments":"\n Add a generic config file instance to an existing config\n\n Note that the configuration object will free the file\n automatically.\n\n Further queries on this config object will access each\n of the config file instances in order (instances with\n a higher priority will be accessed first).\n\n @param cfg the configuration to add the file to\n @param file the configuration file (backend) to add\n @param priority the priority the backend should have\n @return GIT_SUCCESS or an error code\n\n","description":"Add a generic config file instance to an existing config","sig":"git_config *::git_config_file *::int","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"group":"config","argline":"git_config *cfg, git_config_file *file, int priority","comments":"Note that the configuration object will free the file\n automatically.\n\n Further queries on this config object will access each\n of the config file instances in order (instances with\n a higher priority will be accessed first).","line":101,"file":"config.h","args":[{"type":"git_config *","comment":"the configuration to add the file to","name":"cfg"},{"type":"git_config_file *","comment":"the configuration file (backend) to add","name":"file"},{"type":"int","comment":"the priority the backend should have","name":"priority"}],"lineto":116},"git_reference_is_packed":{"rawComments":"\n Check if a reference has been loaded from a packfile\n\n @param ref A git reference\n @return 0 in case it's not packed; 1 otherwise\n\n","description":"Check if a reference has been loaded from a packfile","sig":"git_reference *","return":{"type":"int","comment":"0 in case it's not packed; 1 otherwise"},"group":"reference","argline":"git_reference *ref","comments":"","line":272,"file":"refs.h","args":[{"type":"git_reference *","comment":"A git reference","name":"ref"}],"lineto":278},"git_strerror":{"rawComments":"\n strerror() for the Git library\n\n Get a string description for a given error code.\n NOTE: This method will be eventually deprecated in favor\n of the new `git_lasterror`.\n\n @param num The error code to explain\n @return a string explaining the error code\n\n","description":"strerror() for the Git library","sig":"int","return":{"type":"const char *","comment":"a string explaining the error code"},"group":"errors","argline":"int num","comments":"Get a string description for a given error code.\n NOTE: This method will be eventually deprecated in favor\n of the new `git_lasterror`.","line":125,"file":"errors.h","args":[{"type":"int","comment":"The error code to explain","name":"num"}],"lineto":135},"git_object_free":{"rawComments":"\n Close an open object\n\n This method instructs the library to close an existing\n object; note that git_objects are owned and cached by the repository\n so the object may or may not be freed after this library call,\n depending on how agressive is the caching mechanism used\n by the repository.\n\n IMPORTANT:\n It *is* necessary to call this method when you stop using\n an object. Failure to do so will cause a memory leak.\n\n @param object the object to close\n\n","examples":{"general.c":["ex/HEAD/general.html#git_object_free-59"]},"description":"Close an open object","sig":"git_object *","return":{"type":"void","comment":""},"group":"object","argline":"git_object *object","comments":"This method instructs the library to close an existing\n object; note that git_objects are owned and cached by the repository\n so the object may or may not be freed after this library call,\n depending on how agressive is the caching mechanism used\n by the repository.\n\n IMPORTANT:\n It *is* necessary to call this method when you stop using\n an object. Failure to do so will cause a memory leak.","line":111,"file":"object.h","args":[{"type":"git_object *","comment":"the object to close","name":"object"}],"lineto":126},"git_tag_free":{"rawComments":"\n Close an open tag\n\n This is a wrapper around git_object_free()\n\n IMPORTANT:\n It *is* necessary to call this method when you stop\n using a tag. Failure to do so will cause a memory leak.\n\n @param tag the tag to close\n\n","description":"Close an open tag","sig":"git_tag *","return":{"type":"void","comment":""},"group":"tag","argline":"git_tag *tag","comments":"This is a wrapper around git_object_free()\n\n IMPORTANT:\n It *is* necessary to call this method when you stop\n using a tag. Failure to do so will cause a memory leak.","line":54,"file":"tag.h","args":[{"type":"git_tag *","comment":"the tag to close","name":"tag"}],"lineto":69},"git_odb_read_prefix":{"rawComments":"\n Read an object from the database, given a prefix\n of its identifier.\n\n This method queries all available ODB backends\n trying to match the 'len' first hexadecimal\n characters of the 'short_id'.\n The remaining (GIT_OID_HEXSZ-len)*4 bits of\n 'short_id' must be 0s.\n 'len' must be at least GIT_OID_MINPREFIXLEN,\n and the prefix must be long enough to identify\n a unique object in all the backends; the\n method will fail otherwise.\n\n The returned object is reference counted and\n internally cached, so it should be closed\n by the user once it's no longer in use.\n\n @param out pointer where to store the read object\n @param db database to search for the object in.\n @param short_id a prefix of the id of the object to read.\n @param len the length of the prefix\n @return GIT_SUCCESS if the object was read;\n\tGIT_ENOTFOUND if the object is not in the database.\n\tGIT_EAMBIGUOUS if the prefix is ambiguous (several objects match the prefix)\n\n","description":"Read an object from the database, given a prefix of its identifier.","sig":"git_odb_object **::git_odb *::const git_oid *::unsigned int","return":{"type":"int","comment":"GIT_SUCCESS if the object was read; GIT_ENOTFOUND if the object is not in the database. GIT_EAMBIGUOUS if the prefix is ambiguous (several objects match the prefix)"},"group":"odb","argline":"git_odb_object **out, git_odb *db, const git_oid *short_id, unsigned int len","comments":"This method queries all available ODB backends\n trying to match the 'len' first hexadecimal\n characters of the 'short_id'.\n The remaining (GIT_OID_HEXSZ-len)*4 bits of\n 'short_id' must be 0s.\n 'len' must be at least GIT_OID_MINPREFIXLEN,\n and the prefix must be long enough to identify\n a unique object in all the backends; the\n method will fail otherwise.\n\n The returned object is reference counted and\n internally cached, so it should be closed\n by the user once it's no longer in use.","line":116,"file":"odb.h","args":[{"type":"git_odb_object **","comment":"pointer where to store the read object","name":"out"},{"type":"git_odb *","comment":"database to search for the object in.","name":"db"},{"type":"const git_oid *","comment":"a prefix of the id of the object to read.","name":"short_id"},{"type":"unsigned int","comment":"the length of the prefix","name":"len"}],"lineto":142},"git_odb_object_type":{"rawComments":"\n Return the type of an ODB object\n\n @param object the object\n @return the type\n\n","examples":{"general.c":["ex/HEAD/general.html#git_odb_object_type-60"]},"description":"Return the type of an ODB object","sig":"git_odb_object *","return":{"type":"git_otype","comment":"the type"},"group":"odb","argline":"git_odb_object *object","comments":"","line":321,"file":"odb.h","args":[{"type":"git_odb_object *","comment":"the object","name":"object"}],"lineto":327},"git_oid_allocfmt":{"rawComments":"\n Format a git_oid into a newly allocated c-string.\n\n @param oid the oid structure to format\n @return the c-string; NULL if memory is exhausted. Caller must\n\t\t\tdeallocate the string with git__free().\n\n","description":"Format a git_oid into a newly allocated c-string.","sig":"const git_oid *","return":{"type":"char *","comment":"the c-string; NULL if memory is exhausted. Caller must deallocate the string with git__free()."},"group":"oid","argline":"const git_oid *oid","comments":"","line":98,"file":"oid.h","args":[{"type":"const git_oid *","comment":"the oid structure to format","name":"oid"}],"lineto":105},"git_revwalk_repository":{"rawComments":"\n Return the repository on which this walker\n is operating.\n\n @param walk the revision walker\n @return the repository being walked\n\n","description":"Return the repository on which this walker is operating.","sig":"git_revwalk *","return":{"type":"git_repository *","comment":"the repository being walked"},"group":"revwalk","argline":"git_revwalk *walk","comments":"","line":158,"file":"revwalk.h","args":[{"type":"git_revwalk *","comment":"the revision walker","name":"walk"}],"lineto":165},"git_commit_time_offset":{"rawComments":"\n Get the commit timezone offset (i.e. committer's preferred timezone) of a commit.\n\n @param commit a previously loaded commit.\n @return positive or negative timezone offset, in minutes from UTC\n\n","description":"Get the commit timezone offset (i.e. committer's preferred timezone) of a commit.","sig":"git_commit *","return":{"type":"int","comment":"positive or negative timezone offset, in minutes from UTC"},"group":"commit","argline":"git_commit *commit","comments":"","line":109,"file":"commit.h","args":[{"type":"git_commit *","comment":"a previously loaded commit.","name":"commit"}],"lineto":115},"git_odb_open":{"rawComments":"\n Create a new object database and automatically add\n the two default backends:\n\n\t- git_odb_backend_loose: read and write loose object files\n\t\tfrom disk, assuming `objects_dir` as the Objects folder\n\n\t- git_odb_backend_pack: read objects from packfiles,\n\t\tassuming `objects_dir` as the Objects folder which\n\t\tcontains a 'pack/' folder with the corresponding data\n\n @param out location to store the database pointer, if opened.\n\t\t\tSet to NULL if the open failed.\n @param objects_dir path of the backends' \"objects\" directory.\n @return GIT_SUCCESS or an error code\n\n","description":"Create a new object database and automatically add the two default backends:","sig":"git_odb **::const char *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"group":"odb","argline":"git_odb **out, const char *objects_dir","comments":"- git_odb_backend_loose: read and write loose object files\n\t\tfrom disk, assuming `objects_dir` as the Objects folder\n\n\t- git_odb_backend_pack: read objects from packfiles,\n\t\tassuming `objects_dir` as the Objects folder which\n\t\tcontains a 'pack/' folder with the corresponding data","line":36,"file":"odb.h","args":[{"type":"git_odb **","comment":"location to store the database pointer, if opened. Set to NULL if the open failed.","name":"out"},{"type":"const char *","comment":"path of the backends' \"objects\" directory.","name":"objects_dir"}],"lineto":52},"git_repository_is_empty":{"rawComments":"\n Check if a repository is empty\n\n An empty repository has just been initialized and contains\n no commits.\n\n @param repo Repo to test\n @return 1 if the repository is empty, 0 if it isn't, error code\n if the repository is corrupted\n\n","description":"Check if a repository is empty","sig":"git_repository *","return":{"type":"int","comment":"1 if the repository is empty, 0 if it isn't, error code if the repository is corrupted"},"group":"repository","argline":"git_repository *repo","comments":"An empty repository has just been initialized and contains\n no commits.","line":136,"file":"repository.h","args":[{"type":"git_repository *","comment":"Repo to test","name":"repo"}],"lineto":146},"git_treebuilder_clear":{"rawComments":"\n Clear all the entires in the builder\n\n @param bld Builder to clear\n\n","description":"Clear all the entires in the builder","sig":"git_treebuilder *","return":{"type":"void","comment":""},"group":"treebuilder","argline":"git_treebuilder *bld","comments":"","line":185,"file":"tree.h","args":[{"type":"git_treebuilder *","comment":"Builder to clear","name":"bld"}],"lineto":190},"git_repository_index":{"rawComments":"\n Get the Index file for this repository.\n\n If a custom index has not been set, the default\n index for the repository will be returned (the one\n located in `.git/index`).\n\n The index must be freed once it's no longer being used by\n the user.\n\n @param out Pointer to store the loaded index\n @param repo A repository object\n @return GIT_SUCCESS, or an error code\n\n","examples":{"showindex.c":["ex/HEAD/showindex.html#git_repository_index-7"],"general.c":["ex/HEAD/general.html#git_repository_index-61"]},"description":"Get the Index file for this repository.","sig":"git_index **::git_repository *","return":{"type":"int","comment":"GIT_SUCCESS, or an error code"},"group":"repository","argline":"git_index **out, git_repository *repo","comments":"If a custom index has not been set, the default\n index for the repository will be returned (the one\n located in `.git/index`).\n\n The index must be freed once it's no longer being used by\n the user.","line":257,"file":"repository.h","args":[{"type":"git_index **","comment":"Pointer to store the loaded index","name":"out"},{"type":"git_repository *","comment":"A repository object","name":"repo"}],"lineto":271},"git_index_find":{"rawComments":"\n Find the first index of any entries which point to given\n path in the Git index.\n\n @param index an existing index object\n @param path path to search\n @return an index >= 0 if found, -1 otherwise\n\n","description":"Find the first index of any entries which point to given path in the Git index.","sig":"git_index *::const char *","return":{"type":"int","comment":"an index >= 0 if found, -1 otherwise"},"group":"index","argline":"git_index *index, const char *path","comments":"","line":147,"file":"index.h","args":[{"type":"git_index *","comment":"an existing index object","name":"index"},{"type":"const char *","comment":"path to search","name":"path"}],"lineto":155},"git_odb_object_id":{"rawComments":"\n Return the OID of an ODB object\n\n This is the OID from which the object was read from\n\n @param object the object\n @return a pointer to the OID\n\n","description":"Return the OID of an ODB object","sig":"git_odb_object *","return":{"type":"const git_oid *","comment":"a pointer to the OID"},"group":"odb","argline":"git_odb_object *object","comments":"This is the OID from which the object was read from","line":287,"file":"odb.h","args":[{"type":"git_odb_object *","comment":"the object","name":"object"}],"lineto":295},"git_reference_oid":{"rawComments":"\n Get the OID pointed to by a reference.\n\n Only available if the reference is direct (i.e. not symbolic)\n\n @param ref The reference\n @return a pointer to the oid if available, NULL otherwise\n\n","examples":{"general.c":["ex/HEAD/general.html#git_reference_oid-62"]},"description":"Get the OID pointed to by a reference.","sig":"git_reference *","return":{"type":"const git_oid *","comment":"a pointer to the oid if available, NULL otherwise"},"group":"reference","argline":"git_reference *ref","comments":"Only available if the reference is direct (i.e. not symbolic)","line":75,"file":"refs.h","args":[{"type":"git_reference *","comment":"The reference","name":"ref"}],"lineto":83},"git_odb_add_alternate":{"rawComments":"\n Add a custom backend to an existing Object DB; this\n backend will work as an alternate.\n\n Alternate backends are always checked for objects *after*\n all the main backends have been exhausted.\n\n The backends are checked in relative ordering, based on the\n value of the `priority` parameter.\n\n Writing is disabled on alternate backends.\n\n Read <odb_backends.h> for more information.\n\n @param odb database to add the backend to\n @param backend pointer to a git_odb_backend instance\n @param priority Value for ordering the backends queue\n @return 0 on sucess; error code otherwise\n\n","description":"Add a custom backend to an existing Object DB; this backend will work as an alternate.","sig":"git_odb *::git_odb_backend *::int","return":{"type":"int","comment":"0 on sucess; error code otherwise"},"group":"odb","argline":"git_odb *odb, git_odb_backend *backend, int priority","comments":"Alternate backends are always checked for objects *after*\n all the main backends have been exhausted.\n\n The backends are checked in relative ordering, based on the\n value of the `priority` parameter.\n\n Writing is disabled on alternate backends.\n\n Read <odb_backends.h> for more information.","line":69,"file":"odb.h","args":[{"type":"git_odb *","comment":"database to add the backend to","name":"odb"},{"type":"git_odb_backend *","comment":"pointer to a git_odb_backend instance","name":"backend"},{"type":"int","comment":"Value for ordering the backends queue","name":"priority"}],"lineto":88},"git_odb_read_header":{"rawComments":"\n Read the header of an object from the database, without\n reading its full contents.\n\n The header includes the length and the type of an object.\n\n Note that most backends do not support reading only the header\n of an object, so the whole object will be read and then the\n header will be returned.\n\n @param len_p pointer where to store the length\n @param type_p pointer where to store the type\n @param db database to search for the object in.\n @param id identity of the object to read.\n @return\n - GIT_SUCCESS if the object was read;\n - GIT_ENOTFOUND if the object is not in the database.\n\n","description":"Read the header of an object from the database, without reading its full contents.","sig":"size_t *::git_otype *::git_odb *::const git_oid *","return":{"type":"int","comment":""},"group":"odb","argline":"size_t *len_p, git_otype *type_p, git_odb *db, const git_oid *id","comments":"The header includes the length and the type of an object.\n\n Note that most backends do not support reading only the header\n of an object, so the whole object will be read and then the\n header will be returned.\n\n @return\n - GIT_SUCCESS if the object was read;\n - GIT_ENOTFOUND if the object is not in the database.","line":144,"file":"odb.h","args":[{"type":"size_t *","comment":"pointer where to store the length","name":"len_p"},{"type":"git_otype *","comment":"pointer where to store the type","name":"type_p"},{"type":"git_odb *","comment":"database to search for the object in.","name":"db"},{"type":"const git_oid *","comment":"identity of the object to read.","name":"id"}],"lineto":162},"git_odb_backend_loose":{"rawComments":"","description":"","sig":"git_odb_backend **::const char *::int::int","return":{"type":"int","comment":""},"group":"odb","argline":"git_odb_backend **backend_out, const char *objects_dir, int compression_level, int do_fsync","comments":"","line":96,"file":"odb_backend.h","args":[{"type":"git_odb_backend **","comment":"","name":"backend_out"},{"type":"const char *","comment":"","name":"objects_dir"},{"type":"int","comment":"","name":"compression_level"},{"type":"int","comment":"","name":"do_fsync"}],"lineto":96},"git_tag_delete":{"rawComments":"\n Delete an existing tag reference.\n\n @param repo Repository where lives the tag\n\n @param tag_name Name of the tag to be deleted;\n this name is validated for consistency.\n\n @return GIT_SUCCESS or an error code\n\n","description":"Delete an existing tag reference.","sig":"git_repository *::const char *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"group":"tag","argline":"git_repository *repo, const char *tag_name","comments":"","line":223,"file":"tag.h","args":[{"type":"git_repository *","comment":"Repository where lives the tag","name":"repo"},{"type":"const char *","comment":"Name of the tag to be deleted; this name is validated for consistency.","name":"tag_name"}],"lineto":235},"git_tree_entry_type":{"rawComments":"\n Get the type of the object pointed by the entry\n\n @param entry a tree entry\n @return the type of the pointed object\n\n","description":"Get the type of the object pointed by the entry","sig":"const git_tree_entry *","return":{"type":"git_otype","comment":"the type of the pointed object"},"group":"tree","argline":"const git_tree_entry *entry","comments":"","line":130,"file":"tree.h","args":[{"type":"const git_tree_entry *","comment":"a tree entry","name":"entry"}],"lineto":136},"git_tree_entry_byname":{"rawComments":"\n Lookup a tree entry by its filename\n\n @param tree a previously loaded tree.\n @param filename the filename of the desired entry\n @return the tree entry; NULL if not found\n\n","examples":{"general.c":["ex/HEAD/general.html#git_tree_entry_byname-63"]},"description":"Lookup a tree entry by its filename","sig":"git_tree *::const char *","return":{"type":"const git_tree_entry *","comment":"the tree entry; NULL if not found"},"group":"tree","argline":"git_tree *tree, const char *filename","comments":"","line":88,"file":"tree.h","args":[{"type":"git_tree *","comment":"a previously loaded tree.","name":"tree"},{"type":"const char *","comment":"the filename of the desired entry","name":"filename"}],"lineto":95},"git_object_id":{"rawComments":"\n Get the id (SHA1) of a repository object\n\n @param obj the repository object\n @return the SHA1 id\n\n","description":"Get the id (SHA1) of a repository object","sig":"const git_object *","return":{"type":"const git_oid *","comment":"the SHA1 id"},"group":"object","argline":"const git_object *obj","comments":"","line":81,"file":"object.h","args":[{"type":"const git_object *","comment":"the repository object","name":"obj"}],"lineto":87},"git_commit_parent":{"rawComments":"\n Get the specified parent of the commit.\n\n @param parent Pointer where to store the parent commit\n @param commit a previously loaded commit.\n @param n the position of the parent (from 0 to `parentcount`)\n @return GIT_SUCCESS or an error code\n\n","examples":{"general.c":["ex/HEAD/general.html#git_commit_parent-64"]},"description":"Get the specified parent of the commit.","sig":"git_commit **::git_commit *::unsigned int","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"group":"commit","argline":"git_commit **parent, git_commit *commit, unsigned int n","comments":"","line":160,"file":"commit.h","args":[{"type":"git_commit **","comment":"Pointer where to store the parent commit","name":"parent"},{"type":"git_commit *","comment":"a previously loaded commit.","name":"commit"},{"type":"unsigned int","comment":"the position of the parent (from 0 to `parentcount`)","name":"n"}],"lineto":168},"git_reference_name":{"rawComments":"\n Get the full name of a reference\n\n @param ref The reference\n @return the full name for the ref\n\n","description":"Get the full name of a reference","sig":"git_reference *","return":{"type":"const char *","comment":"the full name for the ref"},"group":"reference","argline":"git_reference *ref","comments":"","line":105,"file":"refs.h","args":[{"type":"git_reference *","comment":"The reference","name":"ref"}],"lineto":111},"git_reflog_write":{"rawComments":"\n Write a new reflog for the given reference\n\n If there is no reflog file for the given\n reference yet, it will be created.\n\n `oid_old` may be NULL in case it's a new reference.\n\n `msg` is optional and can be NULL.\n\n @param ref the changed reference\n @param oid_old the OID the reference was pointing to\n @param committer the signature of the committer\n @param msg the reflog message\n @return GIT_SUCCESS or an error code\n\n","description":"Write a new reflog for the given reference","sig":"git_reference *::const git_oid *::const git_signature *::const char *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"group":"reflog","argline":"git_reference *ref, const git_oid *oid_old, const git_signature *committer, const char *msg","comments":"If there is no reflog file for the given\n reference yet, it will be created.\n\n `oid_old` may be NULL in case it's a new reference.\n\n `msg` is optional and can be NULL.","line":35,"file":"reflog.h","args":[{"type":"git_reference *","comment":"the changed reference","name":"ref"},{"type":"const git_oid *","comment":"the OID the reference was pointing to","name":"oid_old"},{"type":"const git_signature *","comment":"the signature of the committer","name":"committer"},{"type":"const char *","comment":"the reflog message","name":"msg"}],"lineto":51},"git_tree_create_fromindex":{"rawComments":"\n Write a tree to the ODB from the index file\n\n This method will scan the index and write a representation\n of its current state back to disk; it recursively creates\n tree objects for each of the subtrees stored in the index,\n but only returns the OID of the root tree. This is the OID\n that can be used e.g. to create a commit.\n\n The index instance cannot be bare, and needs to be associated\n to an existing repository.\n\n @param oid Pointer where to store the written tree\n @param index Index to write\n @return GIT_SUCCESS or an error code\n\n","description":"Write a tree to the ODB from the index file","sig":"git_oid *::git_index *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"group":"tree","argline":"git_oid *oid, git_index *index","comments":"This method will scan the index and write a representation\n of its current state back to disk; it recursively creates\n tree objects for each of the subtrees stored in the index,\n but only returns the OID of the root tree. This is the OID\n that can be used e.g. to create a commit.\n\n The index instance cannot be bare, and needs to be associated\n to an existing repository.","line":148,"file":"tree.h","args":[{"type":"git_oid *","comment":"Pointer where to store the written tree","name":"oid"},{"type":"git_index *","comment":"Index to write","name":"index"}],"lineto":164},"git_blob_lookup":{"rawComments":"\n Lookup a blob object from a repository.\n\n @param blob pointer to the looked up blob\n @param repo the repo to use when locating the blob.\n @param id identity of the blob to locate.\n @return GIT_SUCCESS or an error code\n\n","examples":{"general.c":["ex/HEAD/general.html#git_blob_lookup-65"]},"description":"Lookup a blob object from a repository.","sig":"git_blob **::git_repository *::const git_oid *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"group":"blob","argline":"git_blob **blob, git_repository *repo, const git_oid *id","comments":"","line":24,"file":"blob.h","args":[{"type":"git_blob **","comment":"pointer to the looked up blob","name":"blob"},{"type":"git_repository *","comment":"the repo to use when locating the blob.","name":"repo"},{"type":"const git_oid *","comment":"identity of the blob to locate.","name":"id"}],"lineto":35},"git_reflog_entry_committer":{"rawComments":"\n Get the committer of this entry\n\n @param entry a reflog entry\n @return the committer\n\n","description":"Get the committer of this entry","sig":"const git_reflog_entry *","return":{"type":"git_signature *","comment":"the committer"},"group":"reflog","argline":"const git_reflog_entry *entry","comments":"","line":103,"file":"reflog.h","args":[{"type":"const git_reflog_entry *","comment":"a reflog entry","name":"entry"}],"lineto":109},"git_revwalk_push":{"rawComments":"\n Mark a commit to start traversal from.\n\n The given OID must belong to a commit on the walked\n repository.\n\n The given commit will be used as one of the roots\n when starting the revision walk. At least one commit\n must be pushed the repository before a walk can\n be started.\n\n @param walk the walker being used for the traversal.\n @param oid the oid of the commit to start from.\n @return GIT_SUCCESS or an error code\n\n","examples":{"general.c":["ex/HEAD/general.html#git_revwalk_push-66"]},"description":"Mark a commit to start traversal from.","sig":"git_revwalk *::const git_oid *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"group":"revwalk","argline":"git_revwalk *walk, const git_oid *oid","comments":"The given OID must belong to a commit on the walked\n repository.\n\n The given commit will be used as one of the roots\n when starting the revision walk. At least one commit\n must be pushed the repository before a walk can\n be started.","line":87,"file":"revwalk.h","args":[{"type":"git_revwalk *","comment":"the walker being used for the traversal.","name":"walk"},{"type":"const git_oid *","comment":"the oid of the commit to start from.","name":"oid"}],"lineto":102},"git_treebuilder_remove":{"rawComments":"\n Remove an entry from the builder by its filename\n\n @param bld Tree builder\n @param filename Filename of the entry to remove\n\n","description":"Remove an entry from the builder by its filename","sig":"git_treebuilder *::const char *","return":{"type":"int","comment":""},"group":"treebuilder","argline":"git_treebuilder *bld, const char *filename","comments":"","line":236,"file":"tree.h","args":[{"type":"git_treebuilder *","comment":"Tree builder","name":"bld"},{"type":"const char *","comment":"Filename of the entry to remove","name":"filename"}],"lineto":242},"git_index_append":{"rawComments":"\n Add (append) an index entry from a file in disk\n\n A new entry will always be inserted into the index;\n if the index already contains an entry for such\n path, the old entry will **not** be replaced.\n\n The file `path` must be relative to the repository's\n working folder and must be readable.\n\n This method will fail in bare index instances.\n\n @param index an existing index object\n @param path filename to add\n @param stage stage for the entry\n @return GIT_SUCCESS or an error code\n\n","description":"Add (append) an index entry from a file in disk","sig":"git_index *::const char *::int","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"group":"index","argline":"git_index *index, const char *path, int stage","comments":"A new entry will always be inserted into the index;\n if the index already contains an entry for such\n path, the old entry will **not** be replaced.\n\n The file `path` must be relative to the repository's\n working folder and must be readable.\n\n This method will fail in bare index instances.","line":191,"file":"index.h","args":[{"type":"git_index *","comment":"an existing index object","name":"index"},{"type":"const char *","comment":"filename to add","name":"path"},{"type":"int","comment":"stage for the entry","name":"stage"}],"lineto":208},"git_index_free":{"rawComments":"\n Free an existing index object.\n\n @param index an existing index object\n\n","examples":{"showindex.c":["ex/HEAD/showindex.html#git_index_free-8"],"general.c":["ex/HEAD/general.html#git_index_free-67"]},"description":"Free an existing index object.","sig":"git_index *","return":{"type":"void","comment":""},"group":"index","argline":"git_index *index","comments":"","line":122,"file":"index.h","args":[{"type":"git_index *","comment":"an existing index object","name":"index"}],"lineto":127},"git_remote_valid_url":{"rawComments":"\n Return whether a string is a valid remote URL\n\n @param tranport the url to check\n @param 1 if the url is valid, 0 otherwise\n\n","description":"Return whether a string is a valid remote URL","sig":"const char *","return":{"type":"int","comment":""},"group":"remote","argline":"const char *url","comments":"@param tranport the url to check\n @param 1 if the url is valid, 0 otherwise","line":166,"file":"remote.h","args":[{"type":"const char *","comment":"","name":"url"}],"lineto":172},"git_revwalk_free":{"rawComments":"\n Free a revision walker previously allocated.\n\n @param walk traversal handle to close. If NULL nothing occurs.\n\n","examples":{"general.c":["ex/HEAD/general.html#git_revwalk_free-68"]},"description":"Free a revision walker previously allocated.","sig":"git_revwalk *","return":{"type":"void","comment":""},"group":"revwalk","argline":"git_revwalk *walk","comments":"","line":151,"file":"revwalk.h","args":[{"type":"git_revwalk *","comment":"traversal handle to close. If NULL nothing occurs.","name":"walk"}],"lineto":156},"git_indexer_write":{"rawComments":"\n Write the index file to disk.\n\n The file will be stored as pack-$hash.idx in the same directory as\n the packfile.\n\n @param idx the indexer instance\n\n","examples":{"network/index-pack.c":["ex/HEAD/index-pack.html#git_indexer_write-6"],"network/fetch.c":["ex/HEAD/fetch.html#git_indexer_write-10"]},"description":"Write the index file to disk.","sig":"git_indexer *","return":{"type":"int","comment":""},"group":"indexer","argline":"git_indexer *idx","comments":"The file will be stored as pack-$hash.idx in the same directory as\n the packfile.","line":47,"file":"indexer.h","args":[{"type":"git_indexer *","comment":"the indexer instance","name":"idx"}],"lineto":55},"git_oid_ncmp":{"rawComments":"\n Compare the first 'len' hexadecimal characters (packets of 4 bits)\n of two oid structures.\n\n @param a first oid structure.\n @param b second oid structure.\n @param len the number of hex chars to compare\n @return 0 in case of a match\n\n","description":"Compare the first 'len' hexadecimal characters (packets of 4 bits) of two oid structures.","sig":"const git_oid *::const git_oid *::unsigned int","return":{"type":"int","comment":"0 in case of a match"},"group":"oid","argline":"const git_oid *a, const git_oid *b, unsigned int len","comments":"","line":141,"file":"oid.h","args":[{"type":"const git_oid *","comment":"first oid structure.","name":"a"},{"type":"const git_oid *","comment":"second oid structure.","name":"b"},{"type":"unsigned int","comment":"the number of hex chars to compare","name":"len"}],"lineto":150},"git_repository_path":{"rawComments":"\n Get the path of this repository\n\n This is the path of the `.git` folder for normal repositories,\n or of the repository itself for bare repositories.\n\n @param repo A repository object\n @return the path to the repository\n\n","description":"Get the path of this repository","sig":"git_repository *","return":{"type":"const char *","comment":"the path to the repository"},"group":"repository","argline":"git_repository *repo","comments":"This is the path of the `.git` folder for normal repositories,\n or of the repository itself for bare repositories.","line":148,"file":"repository.h","args":[{"type":"git_repository *","comment":"A repository object","name":"repo"}],"lineto":157},"git_remote_free":{"rawComments":"\n Free the memory associated with a remote\n\n @param remote the remote to free\n\n","examples":{"network/ls-remote.c":["ex/HEAD/ls-remote.html#git_remote_free-9","ex/HEAD/ls-remote.html#git_remote_free-10"],"network/fetch.c":["ex/HEAD/fetch.html#git_remote_free-11"]},"description":"Free the memory associated with a remote","sig":"git_remote *","return":{"type":"void","comment":""},"group":"remote","argline":"git_remote *remote","comments":"","line":149,"file":"remote.h","args":[{"type":"git_remote *","comment":"the remote to free","name":"remote"}],"lineto":154},"git_blob_create_fromfile":{"rawComments":"\n Read a file from the working folder of a repository\n and write it to the Object Database as a loose blob\n\n @param oid return the id of the written blob\n @param repo repository where the blob will be written.\n\tthis repository cannot be bare\n @param path file from which the blob will be created,\n\trelative to the repository's working dir\n @return GIT_SUCCESS or an error code\n\n","description":"Read a file from the working folder of a repository and write it to the Object Database as a loose blob","sig":"git_oid *::git_repository *::const char *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"group":"blob","argline":"git_oid *oid, git_repository *repo, const char *path","comments":"","line":93,"file":"blob.h","args":[{"type":"git_oid *","comment":"return the id of the written blob","name":"oid"},{"type":"git_repository *","comment":"repository where the blob will be written. this repository cannot be bare","name":"repo"},{"type":"const char *","comment":"file from which the blob will be created, relative to the repository's working dir","name":"path"}],"lineto":104},"git_reference_foreach":{"rawComments":"\n Perform an operation on each reference in the repository\n\n The processed references may be filtered by type, or using\n a bitwise OR of several types. Use the magic value\n `GIT_REF_LISTALL` to obtain all references, including\n packed ones.\n\n The `callback` function will be called for each of the references\n in the repository, and will receive the name of the reference and\n the `payload` value passed to this method.\n\n @param repo Repository where to find the refs\n @param list_flags Filtering flags for the reference\n\t\tlisting.\n @param callback Function which will be called for every listed ref\n @param payload Additional data to pass to the callback\n @return GIT_SUCCESS or an error code\n\n","description":"Perform an operation on each reference in the repository","sig":"git_repository *::unsigned int::int(*)(const char *, void *)::void *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"group":"reference","argline":"git_repository *repo, unsigned int list_flags, int (*callback)(const char *, void *), void *payload","comments":"The processed references may be filtered by type, or using\n a bitwise OR of several types. Use the magic value\n `GIT_REF_LISTALL` to obtain all references, including\n packed ones.\n\n The `callback` function will be called for each of the references\n in the repository, and will receive the name of the reference and\n the `payload` value passed to this method.","line":251,"file":"refs.h","args":[{"type":"git_repository *","comment":"Repository where to find the refs","name":"repo"},{"type":"unsigned int","comment":"Filtering flags for the reference listing.","name":"list_flags"},{"type":"int(*)(const char *, void *)","comment":"Function which will be called for every listed ref","name":"callback"},{"type":"void *","comment":"Additional data to pass to the callback","name":"payload"}],"lineto":270},"git_commit_free":{"rawComments":"\n Close an open commit\n\n This is a wrapper around git_object_free()\n\n IMPORTANT:\n It *is* necessary to call this method when you stop\n using a commit. Failure to do so will cause a memory leak.\n\n @param commit the commit to close\n\n","examples":{"general.c":["ex/HEAD/general.html#git_commit_free-69","ex/HEAD/general.html#git_commit_free-70","ex/HEAD/general.html#git_commit_free-71","ex/HEAD/general.html#git_commit_free-72"]},"description":"Close an open commit","sig":"git_commit *","return":{"type":"void","comment":""},"group":"commit","argline":"git_commit *commit","comments":"This is a wrapper around git_object_free()\n\n IMPORTANT:\n It *is* necessary to call this method when you stop\n using a commit. Failure to do so will cause a memory leak.","line":56,"file":"commit.h","args":[{"type":"git_commit *","comment":"the commit to close","name":"commit"}],"lineto":71},"git_reference_free":{"rawComments":"\n Free the given reference\n\n @param ref git_reference\n\n","description":"Free the given reference","sig":"git_reference *","return":{"type":"void","comment":""},"group":"reference","argline":"git_reference *ref","comments":"","line":300,"file":"refs.h","args":[{"type":"git_reference *","comment":"git_reference","name":"ref"}],"lineto":305},"git_repository_odb":{"rawComments":"\n Get the Object Database for this repository.\n\n If a custom ODB has not been set, the default\n database for the repository will be returned (the one\n located in `.git/objects`).\n\n The ODB must be freed once it's no longer being used by\n the user.\n\n @param out Pointer to store the loaded ODB\n @param repo A repository object\n @return GIT_SUCCESS, or an error code\n\n","description":"Get the Object Database for this repository.","sig":"git_odb **::git_repository *","return":{"type":"int","comment":"GIT_SUCCESS, or an error code"},"group":"repository","argline":"git_odb **out, git_repository *repo","comments":"If a custom ODB has not been set, the default\n database for the repository will be returned (the one\n located in `.git/objects`).\n\n The ODB must be freed once it's no longer being used by\n the user.","line":226,"file":"repository.h","args":[{"type":"git_odb **","comment":"Pointer to store the loaded ODB","name":"out"},{"type":"git_repository *","comment":"A repository object","name":"repo"}],"lineto":240},"git_revwalk_new":{"rawComments":"\n Allocate a new revision walker to iterate through a repo.\n\n This revision walker uses a custom memory pool and an internal\n commit cache, so it is relatively expensive to allocate.\n\n For maximum performance, this revision walker should be\n reused for different walks.\n\n This revision walker is *not* thread safe: it may only be\n used to walk a repository on a single thread; however,\n it is possible to have several revision walkers in\n several different threads walking the same repository.\n\n @param walker pointer to the new revision walker\n @param repo the repo to walk through\n @return GIT_SUCCESS or an error code\n\n","examples":{"general.c":["ex/HEAD/general.html#git_revwalk_new-73"]},"description":"Allocate a new revision walker to iterate through a repo.","sig":"git_revwalk **::git_repository *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"group":"revwalk","argline":"git_revwalk **walker, git_repository *repo","comments":"This revision walker uses a custom memory pool and an internal\n commit cache, so it is relatively expensive to allocate.\n\n For maximum performance, this revision walker should be\n reused for different walks.\n\n This revision walker is *not* thread safe: it may only be\n used to walk a repository on a single thread; however,\n it is possible to have several revision walkers in\n several different threads walking the same repository.","line":52,"file":"revwalk.h","args":[{"type":"git_revwalk **","comment":"pointer to the new revision walker","name":"walker"},{"type":"git_repository *","comment":"the repo to walk through","name":"repo"}],"lineto":70},"git_commit_lookup":{"rawComments":"\n Lookup a commit object from a repository.\n\n @param commit pointer to the looked up commit\n @param repo the repo to use when locating the commit.\n @param id identity of the commit to locate. If the object is\n\t\tan annotated tag it will be peeled back to the commit.\n @return GIT_SUCCESS or an error code\n\n","examples":{"general.c":["ex/HEAD/general.html#git_commit_lookup-74","ex/HEAD/general.html#git_commit_lookup-75","ex/HEAD/general.html#git_commit_lookup-76"]},"description":"Lookup a commit object from a repository.","sig":"git_commit **::git_repository *::const git_oid *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"group":"commit","argline":"git_commit **commit, git_repository *repo, const git_oid *id","comments":"","line":24,"file":"commit.h","args":[{"type":"git_commit **","comment":"pointer to the looked up commit","name":"commit"},{"type":"git_repository *","comment":"the repo to use when locating the commit.","name":"repo"},{"type":"const git_oid *","comment":"identity of the commit to locate. If the object is an annotated tag it will be peeled back to the commit.","name":"id"}],"lineto":36},"git_remote_download":{"rawComments":"\n Download the packfile\n\n Negotiate what objects should be downloaded and download the\n packfile with those objects. The packfile is downloaded with a\n temporary filename, as it's final name is not known yet. If there\n was no packfile needed (all the objects were available locally),\n filename will be NULL and the function will return success.\n\n @param remote the remote to download from\n @param filename where to store the temproray filename\n @return GIT_SUCCESS or an error code\n\n","examples":{"network/fetch.c":["ex/HEAD/fetch.html#git_remote_download-12"]},"description":"Download the packfile","sig":"char **::git_remote *","return":{"type":"int","comment":"GIT_SUCCESS or an error code"},"group":"remote","argline":"char **filename, git_remote *remote","comments":"Negotiate what objects should be downloaded and download the\n packfile with those objects. The packfile is downloaded with a\n temporary filename, as it's final name is not known yet. If there\n was no packfile needed (all the objects were available locally),\n filename will be NULL and the function will return success.","line":114,"file":"remote.h","args":[{"type":"char **","comment":"where to store the temproray filename","name":"filename"},{"type":"git_remote *","comment":"the remote to download from","name":"remote"}],"lineto":127}},"files":[{"lines":120,"meta":{"brief":"Git blob load and write routines","defgroup":"git_blob Git blob load and write routines","ingroup":"Git","file":"git2/blob.h"},"functions":["git_blob_lookup","git_blob_lookup_prefix","git_blob_free","git_blob_rawcontent","git_blob_rawsize","git_blob_create_fromfile","git_blob_create_frombuffer"],"file":"blob.h"},{"lines":15,"meta":{"brief":null,"defgroup":null,"ingroup":null,"file":null},"functions":[],"file":"branch.h"},{"lines":263,"meta":{"brief":"Git commit parsing, formatting routines","defgroup":"git_commit Git commit parsing, formatting routines","ingroup":"Git","file":"git2/commit.h"},"functions":["git_commit_lookup","git_commit_lookup_prefix","git_commit_free","git_commit_id","git_commit_message_encoding","git_commit_message","git_commit_time","git_commit_time_offset","git_commit_committer","git_commit_author","git_commit_tree","git_commit_tree_oid","git_commit_parentcount","git_commit_parent","git_commit_parent_oid","git_commit_create","git_commit_create_v"],"file":"commit.h"},{"lines":103,"meta":{"brief":"Git common platform definitions","defgroup":"git_common Git common platform definitions","ingroup":"Git","file":"git2/common.h"},"functions":["__attribute__","git_strarray_free"],"file":"common.h"},{"lines":278,"meta":{"brief":"Git config management routines","defgroup":"git_config Git config management routines","ingroup":"Git","file":"git2/config.h"},"functions":["git_config_find_global","git_config_find_system","git_config_open_global","git_config_file__ondisk","git_config_new","git_config_add_file","git_config_add_file_ondisk","git_config_open_ondisk","git_config_free","git_config_get_bool","git_config_get_string","git_config_set_bool","git_config_set_string","git_config_delete","git_config_foreach"],"file":"config.h"},{"lines":144,"meta":{"brief":"Git error handling routines and variables","defgroup":null,"ingroup":"Git","file":"git2/errors.h"},"functions":["git_lasterror","git_strerror","git_clearerror"],"file":"errors.h"},{"lines":306,"meta":{"brief":"Git index parsing and manipulation routines","defgroup":"git_index Git index parsing and manipulation routines","ingroup":"Git","file":"git2/index.h"},"functions":["git_index_open","git_index_clear","git_index_free","git_index_read","git_index_write","git_index_find","git_index_uniq","git_index_add","git_index_append","git_index_remove","git_index_get","git_index_entrycount","git_index_entrycount_unmerged","git_index_get_unmerged_bypath","git_index_get_unmerged_byindex","git_index_entry_stage"],"file":"index.h"},{"lines":76,"meta":{"brief":null,"defgroup":null,"ingroup":null,"file":null},"functions":["git_indexer_new","git_indexer_run","git_indexer_write","git_indexer_hash","git_indexer_free"],"file":"indexer.h"},{"lines":305,"meta":{"brief":null,"defgroup":null,"ingroup":null,"file":null},"functions":["imaxdiv"],"file":"inttypes.h"},{"lines":51,"meta":{"brief":"Git networking declarations","defgroup":null,"ingroup":"Git","file":"git2/net.h"},"functions":[],"file":"net.h"},{"lines":173,"meta":{"brief":"Git revision object management routines","defgroup":"git_object Git revision object management routines","ingroup":"Git","file":"git2/object.h"},"functions":["git_object_lookup","git_object_lookup_prefix","git_object_id","git_object_type","git_object_owner","git_object_free","git_object_typeisloose","git_object__size"],"file":"object.h"},{"lines":331,"meta":{"brief":"Git object database routines","defgroup":"git_odb Git object database routines","ingroup":"Git","file":"git2/odb.h"},"functions":["git_odb_new","git_odb_open","git_odb_add_backend","git_odb_add_alternate","git_odb_free","git_odb_read","git_odb_read_prefix","git_odb_read_header","git_odb_exists","git_odb_write","git_odb_open_wstream","git_odb_open_rstream","git_odb_hash","git_odb_hashfile","git_odb_object_free","git_odb_object_id","git_odb_object_data","git_odb_object_size","git_odb_object_type"],"file":"odb.h"},{"lines":100,"meta":{"brief":"Git custom backend functions","defgroup":"git_backend Git custom backend API","ingroup":"Git","file":"git2/backend.h"},"functions":["git_odb_backend_pack","git_odb_backend_loose"],"file":"odb_backend.h"},{"lines":218,"meta":{"brief":"Git object id routines","defgroup":"git_oid Git object id routines","ingroup":"Git","file":"git2/oid.h"},"functions":["git_oid_fromstr","git_oid_fromstrn","git_oid_fromraw","git_oid_fmt","git_oid_pathfmt","git_oid_allocfmt","git_oid_to_string","git_oid_cpy","git_oid_cmp","git_oid_ncmp","git_oid_streq","git_oid_shorten_add","git_oid_shorten_free"],"file":"oid.h"},{"lines":128,"meta":{"brief":"Git reflog management routines","defgroup":"git_reflog Git reflog management routines","ingroup":"Git","file":"git2/reflog.h"},"functions":["git_reflog_read","git_reflog_write","git_reflog_rename","git_reflog_delete","git_reflog_entrycount","git_reflog_entry_byindex","git_reflog_entry_oidold","git_reflog_entry_oidnew","git_reflog_entry_committer","git_reflog_entry_msg","git_reflog_free"],"file":"reflog.h"},{"lines":309,"meta":{"brief":"Git reference management routines","defgroup":"git_reference Git reference management routines","ingroup":"Git","file":"git2/refs.h"},"functions":["git_reference_lookup","git_reference_create_symbolic","git_reference_create_oid","git_reference_oid","git_reference_target","git_reference_type","git_reference_name","git_reference_resolve","git_reference_owner","git_reference_set_target","git_reference_set_oid","git_reference_rename","git_reference_delete","git_reference_packall","git_reference_listall","git_reference_foreach","git_reference_is_packed","git_reference_reload","git_reference_free"],"file":"refs.h"},{"lines":60,"meta":{"brief":"Git refspec attributes","defgroup":"git_refspec Git refspec attributes","ingroup":"Git","file":"git2/refspec.h"},"functions":["git_refspec_src_match","git_refspec_transform"],"file":"refspec.h"},{"lines":176,"meta":{"brief":"Git remote management functions","defgroup":"git_remote remote management functions","ingroup":"Git","file":"git2/remote.h"},"functions":["git_remote_new","git_remote_load","git_remote_name","git_remote_url","git_remote_fetchspec","git_remote_pushspec","git_remote_connect","git_remote_ls","git_remote_download","git_remote_connected","git_remote_disconnect","git_remote_free","git_remote_update_tips","git_remote_valid_url"],"file":"remote.h"},{"lines":290,"meta":{"brief":"Git repository management routines","defgroup":"git_repository Git repository management routines","ingroup":"Git","file":"git2/repository.h"},"functions":["git_repository_open","git_repository_discover","git_repository_free","git_repository_init","git_repository_head","git_repository_head_detached","git_repository_head_orphan","git_repository_is_empty","git_repository_path","git_repository_workdir","git_repository_set_workdir","git_repository_is_bare","git_repository_config","git_repository_set_config","git_repository_odb","git_repository_set_odb","git_repository_index","git_repository_set_index"],"file":"repository.h"},{"lines":169,"meta":{"brief":"Git revision traversal routines","defgroup":"git_revwalk Git revision traversal routines","ingroup":"Git","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"],"file":"revwalk.h"},{"lines":65,"meta":{"brief":"Git signature creation","defgroup":"git_signature Git signature creation","ingroup":"Git","file":"git2/signature.h"},"functions":["git_signature_new","git_signature_now","git_signature_dup","git_signature_free"],"file":"signature.h"},{"lines":63,"meta":{"brief":"Git file status routines","defgroup":"git_status Git file status routines","ingroup":"Git","file":"git2/status.h"},"functions":["git_status_foreach","git_status_file"],"file":"status.h"},{"lines":247,"meta":{"brief":null,"defgroup":null,"ingroup":null,"file":null},"functions":[],"file":"stdint.h"},{"lines":279,"meta":{"brief":"Git tag parsing routines","defgroup":"git_tag Git tag management","ingroup":"Git","file":"git2/tag.h"},"functions":["git_tag_lookup","git_tag_lookup_prefix","git_tag_free","git_tag_id","git_tag_target","git_tag_target_oid","git_tag_type","git_tag_name","git_tag_tagger","git_tag_message","git_tag_create","git_tag_create_frombuffer","git_tag_create_lightweight","git_tag_delete","git_tag_list","git_tag_list_match"],"file":"tag.h"},{"lines":48,"meta":{"brief":"Library level thread functions","defgroup":"git_thread Threading functions","ingroup":"Git","file":"git2/threads.h"},"functions":["git_threads_init","git_threads_shutdown"],"file":"threads.h"},{"lines":318,"meta":{"brief":"Git tree parsing, loading routines","defgroup":"git_tree Git tree parsing, loading routines","ingroup":"Git","file":"git2/tree.h"},"functions":["git_tree_lookup","git_tree_lookup_prefix","git_tree_free","git_tree_id","git_tree_entrycount","git_tree_entry_byname","git_tree_entry_byindex","git_tree_entry_attributes","git_tree_entry_name","git_tree_entry_id","git_tree_entry_type","git_tree_create_fromindex","git_treebuilder_create","git_treebuilder_clear","git_treebuilder_free","git_treebuilder_get","git_treebuilder_insert","git_treebuilder_remove","git_treebuilder_filter","git_treebuilder_write","git_tree_get_subtree","git_tree_walk"],"file":"tree.h"},{"lines":169,"meta":{"brief":"libgit2 base & compatibility types","defgroup":null,"ingroup":"Git","file":"git2/types.h"},"functions":[],"file":"types.h"},{"lines":15,"meta":{"brief":null,"defgroup":null,"ingroup":null,"file":null},"functions":[],"file":"version.h"},{"lines":59,"meta":{"brief":"Windows-specific functions","defgroup":null,"ingroup":"Git","file":"git2/windows.h"},"functions":["gitwin_set_codepage","gitwin_get_codepage"],"file":"windows.h"},{"lines":40,"meta":{"brief":"Git data compression routines","defgroup":"git_zlib Git data compression routines","ingroup":"Git","file":"git2/zlib.h"},"functions":[],"file":"zlib.h"}],"globals":{"WINT_MIN":{"value":"0","line":218,"file":"stdint.h"},"UINT32_MAX":{"value":"_UI32_MAX","line":142,"file":"stdint.h"},"SCNiLEAST64":{"value":"\"I64i\"","line":179,"file":"inttypes.h"},"PRIuLEAST8":{"value":"\"u\"","line":97,"file":"inttypes.h"},"INT_FAST32_MIN":{"value":"INT32_MIN","line":164,"file":"stdint.h"},"SCNXFAST16":{"value":"\"hX\"","line":219,"file":"inttypes.h"},"PRIdLEAST32":{"value":"\"I32d\"","line":73,"file":"inttypes.h"},"GIT_IDXENTRY_STAGEMASK":{"value":"(0x3000)","line":24,"file":"index.h"},"SCNx8":{"value":"\"x\"","line":197,"file":"inttypes.h"},"SCNX16":{"value":"\"hX\"","line":211,"file":"inttypes.h"},"SCNoLEAST64":{"value":"\"I64o\"","line":238,"file":"inttypes.h"},"SIG_ATOMIC_MAX":{"value":"INT_MAX","line":200,"file":"stdint.h"},"SCNdFAST64":{"value":"\"I64d\"","line":180,"file":"inttypes.h"},"PRIuFAST32":{"value":"\"I32u\"","line":127,"file":"inttypes.h"},"INT_FAST16_MAX":{"value":"INT16_MAX","line":163,"file":"stdint.h"},"PRIXLEAST64":{"value":"\"I64X\"","line":138,"file":"inttypes.h"},"GIT_IDXENTRY_NEW_SKIP_WORKTREE":{"value":"(1 << 9)","line":47,"file":"index.h"},"SCNX8":{"value":"\"X\"","line":198,"file":"inttypes.h"},"SCNuFAST8":{"value":"\"u\"","line":204,"file":"inttypes.h"},"SCNoFAST16":{"value":"\"ho\"","line":216,"file":"inttypes.h"},"PRIX16":{"value":"\"hX\"","line":108,"file":"inttypes.h"},"INT_LEAST8_MAX":{"value":"INT8_MAX","line":147,"file":"stdint.h"},"INT8_MIN":{"value":"((int8_t)_I8_MIN)","line":132,"file":"stdint.h"},"UINT_LEAST64_MAX":{"value":"UINT64_MAX","line":157,"file":"stdint.h"},"UINT_LEAST16_MAX":{"value":"UINT16_MAX","line":155,"file":"stdint.h"},"SCNxFAST16":{"value":"\"hx\"","line":218,"file":"inttypes.h"},"PRIdLEAST64":{"value":"\"I64d\"","line":80,"file":"inttypes.h"},"SCNxMAX":{"value":"\"I64x\"","line":249,"file":"inttypes.h"},"GIT_STATUS_IGNORED\t\t(1":{"value":"<< 6)","line":34,"file":"status.h"},"PRIiFAST16":{"value":"\"hi\"","line":69,"file":"inttypes.h"},"GIT_SORT_REVERSE\t\t(1":{"value":"<< 2)","line":50,"file":"revwalk.h"},"UINT16_C(val)":{"value":"val##ui16","line":236,"file":"stdint.h"},"PRIuFAST64":{"value":"\"I64u\"","line":140,"file":"inttypes.h"},"SCNi16":{"value":"\"hi\"","line":163,"file":"inttypes.h"},"GIT_IDXENTRY_UNHASHED\t\t\t(1":{"value":"<< 5)","line":42,"file":"index.h"},"GIT_OID_MINPREFIXLEN":{"value":"4","line":30,"file":"oid.h"},"SCNoMAX":{"value":"\"I64o\"","line":247,"file":"inttypes.h"},"GIT_IDXENTRY_EXTENDED2\t\t\t(1":{"value":"<< 15)","line":55,"file":"index.h"},"SCNdLEAST16":{"value":"\"hd\"","line":164,"file":"inttypes.h"},"PRIXLEAST8":{"value":"\"X\"","line":99,"file":"inttypes.h"},"INTMAX_MIN":{"value":"INT64_MIN","line":185,"file":"stdint.h"},"PRIoLEAST16":{"value":"\"ho\"","line":109,"file":"inttypes.h"},"PRIi16":{"value":"\"hi\"","line":65,"file":"inttypes.h"},"SCNuFAST32":{"value":"\"lu\"","line":230,"file":"inttypes.h"},"SCNXLEAST32":{"value":"\"lX\"","line":228,"file":"inttypes.h"},"INT64_MAX":{"value":"_I64_MAX","line":139,"file":"stdint.h"},"PRIXFAST32":{"value":"\"I32X\"","line":129,"file":"inttypes.h"},"PRIoLEAST8":{"value":"\"o\"","line":96,"file":"inttypes.h"},"INT16_MAX":{"value":"_I16_MAX","line":135,"file":"stdint.h"},"INT_LEAST64_MIN":{"value":"INT64_MIN","line":152,"file":"stdint.h"},"PRIdFAST8":{"value":"\"d\"","line":61,"file":"inttypes.h"},"INT_LEAST16_MIN":{"value":"INT16_MIN","line":148,"file":"stdint.h"},"PRIuLEAST16":{"value":"\"hu\"","line":110,"file":"inttypes.h"},"GIT_IDXENTRY_INTENT_TO_ADD\t\t(1":{"value":"<< 13)","line":52,"file":"index.h"},"SCNiMAX":{"value":"\"I64i\"","line":184,"file":"inttypes.h"},"UINT64_C(val)":{"value":"val##ui64","line":238,"file":"stdint.h"},"INT_FAST64_MAX":{"value":"INT64_MAX","line":167,"file":"stdint.h"},"UINT_FAST64_MAX":{"value":"UINT64_MAX","line":171,"file":"stdint.h"},"UINT_FAST16_MAX":{"value":"UINT16_MAX","line":169,"file":"stdint.h"},"UINT_LEAST32_MAX":{"value":"UINT32_MAX","line":156,"file":"stdint.h"},"PRIoFAST32":{"value":"\"I32o\"","line":126,"file":"inttypes.h"},"PRIi8":{"value":"\"i\"","line":58,"file":"inttypes.h"},"SCNiFAST16":{"value":"\"hi\"","line":167,"file":"inttypes.h"},"PRIdMAX":{"value":"\"I64d\"","line":85,"file":"inttypes.h"},"GIT_IDXENTRY_REMOVE\t\t\t(1":{"value":"<< 1)","line":37,"file":"index.h"},"SCNuFAST64":{"value":"\"I64u\"","line":243,"file":"inttypes.h"},"PRIdPTR":{"value":"\"Id\"","line":88,"file":"inttypes.h"},"SCNXLEAST64":{"value":"\"I64X\"","line":241,"file":"inttypes.h"},"PRIuFAST8":{"value":"\"u\"","line":101,"file":"inttypes.h"},"strtoumax":{"value":"_strtoui64","line":298,"file":"inttypes.h"},"PRIXFAST64":{"value":"\"I64X\"","line":142,"file":"inttypes.h"},"PRIxFAST32":{"value":"\"I32x\"","line":128,"file":"inttypes.h"},"PRIoFAST8":{"value":"\"o\"","line":100,"file":"inttypes.h"},"SCNo16":{"value":"\"ho\"","line":208,"file":"inttypes.h"},"GIT_DIR_FETCH":{"value":"0","line":30,"file":"net.h"},"GIT_IDXENTRY_EXTENDED":{"value":"(0x4000)","line":25,"file":"index.h"},"SCNd8":{"value":"\"d\"","line":155,"file":"inttypes.h"},"INT_FAST8_MAX":{"value":"INT8_MAX","line":161,"file":"stdint.h"},"PRIoFAST64":{"value":"\"I64o\"","line":139,"file":"inttypes.h"},"SCNdFAST8":{"value":"\"d\"","line":159,"file":"inttypes.h"},"SCNXFAST32":{"value":"\"lX\"","line":232,"file":"inttypes.h"},"UINT8_MAX":{"value":"_UI8_MAX","line":140,"file":"stdint.h"},"PRIo16":{"value":"\"ho\"","line":105,"file":"inttypes.h"},"UINT_LEAST8_MAX":{"value":"UINT8_MAX","line":154,"file":"stdint.h"},"SCNuMAX":{"value":"\"I64u\"","line":248,"file":"inttypes.h"},"GIT_IDXENTRY_UNPACKED\t\t\t(1":{"value":"<< 8)","line":46,"file":"index.h"},"SCNX32":{"value":"\"lX\"","line":224,"file":"inttypes.h"},"SCNd16":{"value":"\"hd\"","line":162,"file":"inttypes.h"},"PRIo8":{"value":"\"o\"","line":92,"file":"inttypes.h"},"GIT_IDXENTRY_STAGESHIFT":{"value":"12","line":27,"file":"index.h"},"UINTMAX_C":{"value":"UINT64_C","line":242,"file":"stdint.h"},"UINT_FAST32_MAX":{"value":"UINT32_MAX","line":170,"file":"stdint.h"},"PRIxFAST64":{"value":"\"I64x\"","line":141,"file":"inttypes.h"},"SCNoFAST32":{"value":"\"lo\"","line":229,"file":"inttypes.h"},"SIG_ATOMIC_MIN":{"value":"INT_MIN","line":199,"file":"stdint.h"},"UINT16_MAX":{"value":"_UI16_MAX","line":141,"file":"stdint.h"},"strtoimax":{"value":"_strtoi64","line":297,"file":"inttypes.h"},"PRIX32":{"value":"\"I32X\"","line":121,"file":"inttypes.h"},"PRIiLEAST8":{"value":"\"i\"","line":60,"file":"inttypes.h"},"PRIiMAX":{"value":"\"I64i\"","line":86,"file":"inttypes.h"},"PRId16":{"value":"\"hd\"","line":64,"file":"inttypes.h"},"UINT32_C(val)":{"value":"val##ui32","line":237,"file":"stdint.h"},"INT_FAST16_MIN":{"value":"INT16_MIN","line":162,"file":"stdint.h"},"SCNdLEAST8":{"value":"\"d\"","line":157,"file":"inttypes.h"},"PRIiLEAST16":{"value":"\"hi\"","line":67,"file":"inttypes.h"},"SCNuLEAST8":{"value":"\"u\"","line":200,"file":"inttypes.h"},"SCNuLEAST16":{"value":"\"hu\"","line":213,"file":"inttypes.h"},"SCNoFAST8":{"value":"\"o\"","line":203,"file":"inttypes.h"},"GIT_SORT_TOPOLOGICAL":{"value":"(1 << 0)","line":36,"file":"revwalk.h"},"GIT_IDXENTRY_SKIP_WORKTREE\t\t(1":{"value":"<< 14)","line":53,"file":"index.h"},"PRIiPTR":{"value":"\"Ii\"","line":89,"file":"inttypes.h"},"GIT_PATH_LIST_SEPARATOR":{"value":"':'","line":76,"file":"common.h"},"SCNiFAST8":{"value":"\"i\"","line":160,"file":"inttypes.h"},"INT_LEAST8_MIN":{"value":"INT8_MIN","line":146,"file":"stdint.h"},"GIT_DEFAULT_PORT":{"value":"\"9418\"","line":22,"file":"net.h"},"SCNXFAST64":{"value":"\"I64X\"","line":245,"file":"inttypes.h"},"PRIiFAST32":{"value":"\"I32i\"","line":76,"file":"inttypes.h"},"SCNxFAST32":{"value":"\"lx\"","line":231,"file":"inttypes.h"},"LIBGIT2_VER_MINOR":{"value":"15","line":12,"file":"version.h"},"INT16_C(val)":{"value":"val##i16","line":231,"file":"stdint.h"},"GIT_STATUS_INDEX_NEW\t\t(1":{"value":"<< 0)","line":24,"file":"status.h"},"SCNu16":{"value":"\"hu\"","line":209,"file":"inttypes.h"},"SCNX64":{"value":"\"I64X\"","line":237,"file":"inttypes.h"},"UINT_FAST8_MAX":{"value":"UINT8_MAX","line":168,"file":"stdint.h"},"SCNi32":{"value":"\"li\"","line":170,"file":"inttypes.h"},"SCNxLEAST16":{"value":"\"hx\"","line":214,"file":"inttypes.h"},"imaxabs":{"value":"_abs64","line":269,"file":"inttypes.h"},"SCNoFAST64":{"value":"\"I64o\"","line":242,"file":"inttypes.h"},"UINTMAX_MAX":{"value":"UINT64_MAX","line":187,"file":"stdint.h"},"GIT_STATUS_INDEX_MODIFIED":{"value":"(1 << 1)","line":25,"file":"status.h"},"PRIu8":{"value":"\"u\"","line":93,"file":"inttypes.h"},"PRIxFAST8":{"value":"\"x\"","line":102,"file":"inttypes.h"},"PRIX64":{"value":"\"I64X\"","line":134,"file":"inttypes.h"},"PRIu16":{"value":"\"hu\"","line":106,"file":"inttypes.h"},"SCNdLEAST32":{"value":"\"ld\"","line":171,"file":"inttypes.h"},"INT_LEAST32_MAX":{"value":"INT32_MAX","line":151,"file":"stdint.h"},"PRIdFAST16":{"value":"\"hd\"","line":68,"file":"inttypes.h"},"PRIoLEAST32":{"value":"\"I32o\"","line":122,"file":"inttypes.h"},"PRIi32":{"value":"\"I32i\"","line":72,"file":"inttypes.h"},"SCNx16":{"value":"\"hx\"","line":210,"file":"inttypes.h"},"SCNxFAST8":{"value":"\"x\"","line":205,"file":"inttypes.h"},"PRIuMAX":{"value":"\"I64u\"","line":145,"file":"inttypes.h"},"PRIiFAST64":{"value":"\"I64i\"","line":83,"file":"inttypes.h"},"SCNxFAST64":{"value":"\"I64x\"","line":244,"file":"inttypes.h"},"PRIuLEAST32":{"value":"\"I32u\"","line":123,"file":"inttypes.h"},"GIT_STATUS_WT_MODIFIED\t(1":{"value":"<< 4)","line":30,"file":"status.h"},"GIT_IDXENTRY_UPTODATE\t\t\t(1":{"value":"<< 2)","line":38,"file":"index.h"},"GIT_IDXENTRY_EXTENDED_FLAGS":{"value":"(GIT_IDXENTRY_INTENT_TO_ADD | GIT_IDXENTRY_SKIP_WORKTREE)","line":57,"file":"index.h"},"INT16_MIN":{"value":"((int16_t)_I16_MIN)","line":134,"file":"stdint.h"},"PRIuPTR":{"value":"\"Iu\"","line":150,"file":"inttypes.h"},"PRIx8":{"value":"\"x\"","line":94,"file":"inttypes.h"},"SCNi64":{"value":"\"I64i\"","line":177,"file":"inttypes.h"},"INT64_MIN":{"value":"((int64_t)_I64_MIN)","line":138,"file":"stdint.h"},"wcstoimax":{"value":"_wcstoi64","line":301,"file":"inttypes.h"},"INT_FAST64_MIN":{"value":"INT64_MIN","line":166,"file":"stdint.h"},"PRIx16":{"value":"\"hx\"","line":107,"file":"inttypes.h"},"GIT_SORT_TIME\t\t\t(1":{"value":"<< 1)","line":43,"file":"revwalk.h"},"INT8_C(val)":{"value":"val##i8","line":230,"file":"stdint.h"},"GIT_DIR_PUSH":{"value":"1","line":31,"file":"net.h"},"PRIoLEAST64":{"value":"\"I64o\"","line":135,"file":"inttypes.h"},"SCNdLEAST64":{"value":"\"I64d\"","line":178,"file":"inttypes.h"},"SCNiFAST32":{"value":"\"li\"","line":174,"file":"inttypes.h"},"INT32_MAX":{"value":"_I32_MAX","line":137,"file":"stdint.h"},"PRIoMAX":{"value":"\"I64o\"","line":144,"file":"inttypes.h"},"PRIXFAST8":{"value":"\"X\"","line":103,"file":"inttypes.h"},"PRIxLEAST16":{"value":"\"hx\"","line":111,"file":"inttypes.h"},"PRIi64":{"value":"\"I64i\"","line":79,"file":"inttypes.h"},"PRIX8":{"value":"\"X\"","line":95,"file":"inttypes.h"},"PRIxLEAST8":{"value":"\"x\"","line":98,"file":"inttypes.h"},"GIT_PATH_MAX":{"value":"4096","line":82,"file":"common.h"},"SCNo32":{"value":"\"lo\"","line":221,"file":"inttypes.h"},"SCNoLEAST8":{"value":"\"o\"","line":199,"file":"inttypes.h"},"PRIoPTR":{"value":"\"Io\"","line":149,"file":"inttypes.h"},"PRIuLEAST64":{"value":"\"I64u\"","line":136,"file":"inttypes.h"},"SCNiLEAST16":{"value":"\"hi\"","line":165,"file":"inttypes.h"},"GIT_IDXENTRY_ADDED\t\t\t\t(1":{"value":"<< 3)","line":39,"file":"index.h"},"LIBGIT2_VER_MAJOR":{"value":"0","line":11,"file":"version.h"},"UINT8_C(val)":{"value":"val##ui8","line":235,"file":"stdint.h"},"SCNoLEAST16":{"value":"\"ho\"","line":212,"file":"inttypes.h"},"PRIiFAST8":{"value":"\"i\"","line":62,"file":"inttypes.h"},"PRIo32":{"value":"\"I32o\"","line":118,"file":"inttypes.h"},"SCNdFAST16":{"value":"\"hd\"","line":166,"file":"inttypes.h"},"WINT_MAX":{"value":"_UI16_MAX","line":219,"file":"stdint.h"},"INT_FAST8_MIN":{"value":"INT8_MIN","line":160,"file":"stdint.h"},"SCNd32":{"value":"\"ld\"","line":169,"file":"inttypes.h"},"PRIXLEAST16":{"value":"\"hX\"","line":112,"file":"inttypes.h"},"SCNiFAST64":{"value":"\"I64i\"","line":181,"file":"inttypes.h"},"wcstoumax":{"value":"_wcstoui64","line":302,"file":"inttypes.h"},"GIT_STATUS_WT_NEW\t\t\t(1":{"value":"<< 3)","line":29,"file":"status.h"},"INT64_C(val)":{"value":"val##i64","line":233,"file":"stdint.h"},"INT_FAST32_MAX":{"value":"INT32_MAX","line":165,"file":"stdint.h"},"SCNo64":{"value":"\"I64o\"","line":234,"file":"inttypes.h"},"PRId32":{"value":"\"I32d\"","line":71,"file":"inttypes.h"},"GIT_STATUS_INDEX_DELETED":{"value":"(1 << 2)","line":26,"file":"status.h"},"PRIdLEAST16":{"value":"\"hd\"","line":66,"file":"inttypes.h"},"SCNXMAX":{"value":"\"I64X\"","line":250,"file":"inttypes.h"},"SCNXFAST8":{"value":"\"X\"","line":206,"file":"inttypes.h"},"PRIiLEAST32":{"value":"\"I32i\"","line":74,"file":"inttypes.h"},"SCNuLEAST32":{"value":"\"lu\"","line":226,"file":"inttypes.h"},"SCNi8":{"value":"\"i\"","line":156,"file":"inttypes.h"},"PRIo64":{"value":"\"I64o\"","line":131,"file":"inttypes.h"},"PRIuFAST16":{"value":"\"hu\"","line":114,"file":"inttypes.h"},"SCNu32":{"value":"\"lu\"","line":222,"file":"inttypes.h"},"SCNd64":{"value":"\"I64d\"","line":176,"file":"inttypes.h"},"GIT_STATUS_WT_DELETED\t\t(1":{"value":"<< 5)","line":31,"file":"status.h"},"INT8_MAX":{"value":"_I8_MAX","line":133,"file":"stdint.h"},"PRIdLEAST8":{"value":"\"d\"","line":59,"file":"inttypes.h"},"GIT_IDXENTRY_WT_REMOVE\t\t\t(1":{"value":"<< 6) /* remove in work directory */","line":43,"file":"index.h"},"PRId64":{"value":"\"I64d\"","line":78,"file":"inttypes.h"},"SCNxLEAST32":{"value":"\"lx\"","line":227,"file":"inttypes.h"},"SCNiLEAST8":{"value":"\"i\"","line":158,"file":"inttypes.h"},"PRIu32":{"value":"\"I32u\"","line":119,"file":"inttypes.h"},"GIT_IDXENTRY_UPDATE\t\t\t(1":{"value":"<< 0)","line":36,"file":"index.h"},"SCNXLEAST8":{"value":"\"X\"","line":202,"file":"inttypes.h"},"LIBGIT2_VER_REVISION":{"value":"0","line":13,"file":"version.h"},"PRId8":{"value":"\"d\"","line":57,"file":"inttypes.h"},"PRIiLEAST64":{"value":"\"I64i\"","line":81,"file":"inttypes.h"},"SCNuLEAST64":{"value":"\"I64u\"","line":239,"file":"inttypes.h"},"PRIdFAST32":{"value":"\"I32d\"","line":75,"file":"inttypes.h"},"SCNx32":{"value":"\"lx\"","line":223,"file":"inttypes.h"},"GIT_IDXENTRY_CONFLICTED\t\t(1":{"value":"<< 7)","line":44,"file":"index.h"},"SCNdMAX":{"value":"\"I64d\"","line":183,"file":"inttypes.h"},"INTMAX_MAX":{"value":"INT64_MAX","line":186,"file":"stdint.h"},"INT_LEAST32_MIN":{"value":"INT32_MIN","line":150,"file":"stdint.h"},"SCNu64":{"value":"\"I64u\"","line":235,"file":"inttypes.h"},"GIT_IDXENTRY_HASHED\t\t\t(1":{"value":"<< 4)","line":41,"file":"index.h"},"GIT_OID_RAWSZ":{"value":"20","line":23,"file":"oid.h"},"SCNo8":{"value":"\"o\"","line":195,"file":"inttypes.h"},"INT32_C(val)":{"value":"val##i32","line":232,"file":"stdint.h"},"INT_LEAST64_MAX":{"value":"INT64_MAX","line":153,"file":"stdint.h"},"SCNuFAST16":{"value":"\"hu\"","line":217,"file":"inttypes.h"},"SCNxLEAST64":{"value":"\"I64x\"","line":240,"file":"inttypes.h"},"SCNXLEAST16":{"value":"\"hX\"","line":215,"file":"inttypes.h"},"PRIx32":{"value":"\"I32x\"","line":120,"file":"inttypes.h"},"UINT64_MAX":{"value":"_UI64_MAX","line":143,"file":"stdint.h"},"GIT_WIN32":{"value":"1","line":55,"file":"common.h"},"PRIXMAX":{"value":"\"I64X\"","line":147,"file":"inttypes.h"},"GIT_IDXENTRY_NAMEMASK":{"value":"(0x0fff)","line":23,"file":"index.h"},"PRIu64":{"value":"\"I64u\"","line":132,"file":"inttypes.h"},"INT_LEAST16_MAX":{"value":"INT16_MAX","line":149,"file":"stdint.h"},"PRIXPTR":{"value":"\"IX\"","line":152,"file":"inttypes.h"},"PRIXFAST16":{"value":"\"hX\"","line":116,"file":"inttypes.h"},"PRIdFAST64":{"value":"\"I64d\"","line":82,"file":"inttypes.h"},"PRIxLEAST32":{"value":"\"I32x\"","line":124,"file":"inttypes.h"},"LIBGIT2_VERSION":{"value":"\"0.15.0\"","line":10,"file":"version.h"},"SCNx64":{"value":"\"I64x\"","line":236,"file":"inttypes.h"},"INT32_MIN":{"value":"((int32_t)_I32_MIN)","line":136,"file":"stdint.h"},"SCNiLEAST32":{"value":"\"li\"","line":172,"file":"inttypes.h"},"GIT_OID_HEXSZ":{"value":"(GIT_OID_RAWSZ * 2)","line":26,"file":"oid.h"},"PRIoFAST16":{"value":"\"ho\"","line":113,"file":"inttypes.h"},"PRIxMAX":{"value":"\"I64x\"","line":146,"file":"inttypes.h"},"SCNoLEAST32":{"value":"\"lo\"","line":225,"file":"inttypes.h"},"SCNdFAST32":{"value":"\"ld\"","line":173,"file":"inttypes.h"},"PRIx64":{"value":"\"I64x\"","line":133,"file":"inttypes.h"},"PRIxPTR":{"value":"\"Ix\"","line":151,"file":"inttypes.h"},"INTMAX_C":{"value":"INT64_C","line":241,"file":"stdint.h"},"PRIxFAST16":{"value":"\"hx\"","line":115,"file":"inttypes.h"},"PRIXLEAST32":{"value":"\"I32X\"","line":125,"file":"inttypes.h"},"SCNxLEAST8":{"value":"\"x\"","line":201,"file":"inttypes.h"},"SCNu8":{"value":"\"u\"","line":196,"file":"inttypes.h"},"PRIxLEAST64":{"value":"\"I64x\"","line":137,"file":"inttypes.h"}}}
@@ -0,0 +1,106 @@
1
+ require 'json'
2
+ require 'set'
3
+
4
+ CWD = File.expand_path(File.dirname(__FILE__))
5
+
6
+ IGNORE_METHOD = %w(
7
+ git_blob_free
8
+ git_blob_lookup
9
+ git_blob_lookup_prefix
10
+ git_commit_create_v
11
+ git_commit_free
12
+ git_commit_id
13
+ git_commit_lookup_prefix
14
+ git_commit_parent_oid
15
+ git_commit_time_offset
16
+ git_commit_tree_oid
17
+ git_config_file__ondisk
18
+ git_config_find_global
19
+ git_config_find_system
20
+ git_index_entry_stage
21
+ imaxdiv
22
+ git_object__size
23
+ git_odb_add_alternate
24
+ git_odb_add_backend
25
+ git_odb_backend_loose
26
+ git_odb_backend_pack
27
+ git_odb_new
28
+ git_odb_open_rstream
29
+ git_odb_read_header
30
+ git_odb_read_prefix
31
+ git_odb_write
32
+ git_oid_allocfmt
33
+ git_oid_cpy
34
+ git_oid_ncmp
35
+ git_oid_pathfmt
36
+ git_oid_streq
37
+ git_oid_to_string
38
+ git_reference_owner
39
+ git_repository_odb
40
+ git_repository_set_odb
41
+ git_signature_dup
42
+ git_signature_now
43
+ git_tag_free
44
+ git_tag_id
45
+ git_tag_lookup
46
+ git_tag_lookup_prefix
47
+ git_tag_target_oid
48
+ git_tree_free
49
+ git_tree_id
50
+ git_tree_lookup
51
+ git_tree_lookup_prefix
52
+ git_reference_listall
53
+ git_reflog_delete
54
+ git_reflog_rename
55
+ )
56
+
57
+ source_files = Dir.glob("#{CWD}/../../ext/rugged/*.{c,h}")
58
+ method_list = nil
59
+ look_for = []
60
+ found = Set.new
61
+
62
+ File.open("#{CWD}/HEAD.json") do |f|
63
+ json_data = JSON.parse(f.read())
64
+ method_list = json_data['groups']
65
+ end
66
+
67
+ method_list.each do |_, methods|
68
+ methods.reject! { |m| IGNORE_METHOD.include? m }
69
+ look_for += methods
70
+ end
71
+
72
+ source_files.each do |file|
73
+ File.open(file) do |f|
74
+ contents = f.read()
75
+ look_for.each do |method|
76
+ if contents.index(method) != nil
77
+ found.add(method)
78
+ end
79
+ end
80
+ end
81
+ end
82
+
83
+ total_missing = 0
84
+ total_methods = 0
85
+
86
+ method_list.each do |group, gr_methods|
87
+ gr_miss = gr_methods.reject {|m| found.include? m}
88
+ print "#{group} [#{gr_methods.size - gr_miss.size}/#{gr_methods.size}]: "
89
+
90
+ total_missing += gr_miss.size
91
+ total_methods += gr_methods.size
92
+
93
+ gr_methods.each do |m|
94
+ print found.include?(m) ? "." : "M"
95
+ end
96
+
97
+ print "\n"
98
+
99
+ if not gr_miss.empty?
100
+ print " Missing: #{gr_miss.join(', ')}\n"
101
+ end
102
+
103
+ print "\n"
104
+ end
105
+
106
+ puts "TOTAL: [#{total_methods - total_missing}/#{total_methods}] wrapped. (#{100.0 * (total_methods - total_missing)/total_methods}%)"