rugged 1.7.2 → 1.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (361) hide show
  1. checksums.yaml +4 -4
  2. data/lib/rugged/version.rb +1 -1
  3. data/vendor/libgit2/AUTHORS +1 -0
  4. data/vendor/libgit2/CMakeLists.txt +23 -10
  5. data/vendor/libgit2/COPYING +195 -1
  6. data/vendor/libgit2/cmake/{FindIconv.cmake → FindIntlIconv.cmake} +6 -0
  7. data/vendor/libgit2/cmake/FindLLHTTP.cmake +39 -0
  8. data/vendor/libgit2/cmake/SelectGSSAPI.cmake +1 -1
  9. data/vendor/libgit2/cmake/SelectHTTPParser.cmake +23 -8
  10. data/vendor/libgit2/cmake/SelectHTTPSBackend.cmake +17 -8
  11. data/vendor/libgit2/cmake/SelectHashes.cmake +28 -11
  12. data/vendor/libgit2/cmake/SelectRegex.cmake +6 -1
  13. data/vendor/libgit2/cmake/SelectSSH.cmake +22 -17
  14. data/vendor/libgit2/cmake/SelectZlib.cmake +4 -0
  15. data/vendor/libgit2/deps/llhttp/CMakeLists.txt +8 -0
  16. data/vendor/libgit2/deps/llhttp/LICENSE-MIT +22 -0
  17. data/vendor/libgit2/deps/llhttp/api.c +510 -0
  18. data/vendor/libgit2/deps/llhttp/http.c +170 -0
  19. data/vendor/libgit2/deps/llhttp/llhttp.c +10168 -0
  20. data/vendor/libgit2/deps/llhttp/llhttp.h +897 -0
  21. data/vendor/libgit2/deps/ntlmclient/CMakeLists.txt +1 -1
  22. data/vendor/libgit2/deps/ntlmclient/crypt_builtin_md4.c +311 -0
  23. data/vendor/libgit2/deps/ntlmclient/crypt_commoncrypto.c +2 -1
  24. data/vendor/libgit2/deps/ntlmclient/crypt_mbedtls.c +0 -20
  25. data/vendor/libgit2/deps/ntlmclient/crypt_openssl.c +4 -4
  26. data/vendor/libgit2/deps/ntlmclient/ntlm.c +21 -21
  27. data/vendor/libgit2/deps/ntlmclient/unicode_builtin.c +5 -4
  28. data/vendor/libgit2/deps/ntlmclient/unicode_iconv.c +2 -1
  29. data/vendor/libgit2/deps/ntlmclient/utf8.h +1176 -721
  30. data/vendor/libgit2/deps/ntlmclient/util.h +11 -0
  31. data/vendor/libgit2/deps/pcre/CMakeLists.txt +1 -0
  32. data/vendor/libgit2/deps/xdiff/xmerge.c +2 -2
  33. data/vendor/libgit2/deps/zlib/CMakeLists.txt +6 -1
  34. data/vendor/libgit2/deps/zlib/LICENSE +22 -0
  35. data/vendor/libgit2/deps/zlib/adler32.c +5 -27
  36. data/vendor/libgit2/deps/zlib/crc32.c +94 -167
  37. data/vendor/libgit2/deps/zlib/deflate.c +358 -435
  38. data/vendor/libgit2/deps/zlib/deflate.h +41 -10
  39. data/vendor/libgit2/deps/zlib/gzguts.h +13 -18
  40. data/vendor/libgit2/deps/zlib/infback.c +17 -30
  41. data/vendor/libgit2/deps/zlib/inffast.c +1 -4
  42. data/vendor/libgit2/deps/zlib/inffast.h +1 -1
  43. data/vendor/libgit2/deps/zlib/inflate.c +36 -102
  44. data/vendor/libgit2/deps/zlib/inftrees.c +6 -11
  45. data/vendor/libgit2/deps/zlib/inftrees.h +6 -6
  46. data/vendor/libgit2/deps/zlib/trees.c +287 -352
  47. data/vendor/libgit2/deps/zlib/zconf.h +23 -14
  48. data/vendor/libgit2/deps/zlib/zlib.h +202 -202
  49. data/vendor/libgit2/deps/zlib/zutil.c +18 -44
  50. data/vendor/libgit2/deps/zlib/zutil.h +13 -33
  51. data/vendor/libgit2/include/git2/annotated_commit.h +12 -5
  52. data/vendor/libgit2/include/git2/apply.h +27 -6
  53. data/vendor/libgit2/include/git2/attr.h +17 -4
  54. data/vendor/libgit2/include/git2/blame.h +133 -28
  55. data/vendor/libgit2/include/git2/blob.h +71 -28
  56. data/vendor/libgit2/include/git2/branch.h +22 -15
  57. data/vendor/libgit2/include/git2/buffer.h +6 -4
  58. data/vendor/libgit2/include/git2/cert.h +2 -1
  59. data/vendor/libgit2/include/git2/checkout.h +83 -32
  60. data/vendor/libgit2/include/git2/cherrypick.h +10 -3
  61. data/vendor/libgit2/include/git2/clone.h +25 -9
  62. data/vendor/libgit2/include/git2/commit.h +132 -3
  63. data/vendor/libgit2/include/git2/common.h +120 -63
  64. data/vendor/libgit2/include/git2/config.h +93 -23
  65. data/vendor/libgit2/include/git2/credential.h +30 -2
  66. data/vendor/libgit2/include/git2/credential_helpers.h +1 -0
  67. data/vendor/libgit2/include/git2/deprecated.h +133 -3
  68. data/vendor/libgit2/include/git2/describe.h +13 -1
  69. data/vendor/libgit2/include/git2/diff.h +38 -8
  70. data/vendor/libgit2/include/git2/email.h +9 -29
  71. data/vendor/libgit2/include/git2/errors.h +46 -73
  72. data/vendor/libgit2/include/git2/filter.h +14 -7
  73. data/vendor/libgit2/include/git2/global.h +8 -1
  74. data/vendor/libgit2/include/git2/graph.h +3 -2
  75. data/vendor/libgit2/include/git2/ignore.h +10 -0
  76. data/vendor/libgit2/include/git2/index.h +99 -14
  77. data/vendor/libgit2/include/git2/indexer.h +21 -4
  78. data/vendor/libgit2/include/git2/mailmap.h +7 -1
  79. data/vendor/libgit2/include/git2/merge.h +46 -1
  80. data/vendor/libgit2/include/git2/message.h +2 -2
  81. data/vendor/libgit2/include/git2/net.h +3 -1
  82. data/vendor/libgit2/include/git2/notes.h +9 -6
  83. data/vendor/libgit2/include/git2/object.h +9 -8
  84. data/vendor/libgit2/include/git2/odb.h +91 -49
  85. data/vendor/libgit2/include/git2/odb_backend.h +80 -52
  86. data/vendor/libgit2/include/git2/oid.h +23 -24
  87. data/vendor/libgit2/include/git2/oidarray.h +7 -1
  88. data/vendor/libgit2/include/git2/pack.h +13 -1
  89. data/vendor/libgit2/include/git2/patch.h +2 -3
  90. data/vendor/libgit2/include/git2/pathspec.h +9 -0
  91. data/vendor/libgit2/include/git2/proxy.h +10 -0
  92. data/vendor/libgit2/include/git2/rebase.h +9 -6
  93. data/vendor/libgit2/include/git2/refdb.h +2 -2
  94. data/vendor/libgit2/include/git2/reflog.h +3 -2
  95. data/vendor/libgit2/include/git2/refs.h +9 -6
  96. data/vendor/libgit2/include/git2/refspec.h +14 -4
  97. data/vendor/libgit2/include/git2/remote.h +94 -18
  98. data/vendor/libgit2/include/git2/repository.h +57 -21
  99. data/vendor/libgit2/include/git2/reset.h +16 -3
  100. data/vendor/libgit2/include/git2/revert.h +9 -4
  101. data/vendor/libgit2/include/git2/revparse.h +3 -3
  102. data/vendor/libgit2/include/git2/revwalk.h +3 -2
  103. data/vendor/libgit2/include/git2/signature.h +46 -1
  104. data/vendor/libgit2/include/git2/stash.h +17 -3
  105. data/vendor/libgit2/include/git2/status.h +10 -6
  106. data/vendor/libgit2/include/git2/stdint.h +87 -85
  107. data/vendor/libgit2/include/git2/strarray.h +2 -3
  108. data/vendor/libgit2/include/git2/submodule.h +20 -9
  109. data/vendor/libgit2/include/git2/sys/alloc.h +12 -0
  110. data/vendor/libgit2/include/git2/sys/commit.h +77 -3
  111. data/vendor/libgit2/include/git2/sys/commit_graph.h +103 -62
  112. data/vendor/libgit2/include/git2/sys/config.h +80 -4
  113. data/vendor/libgit2/include/git2/sys/credential.h +4 -3
  114. data/vendor/libgit2/include/git2/sys/diff.h +21 -1
  115. data/vendor/libgit2/include/git2/sys/email.h +7 -0
  116. data/vendor/libgit2/include/git2/sys/errors.h +76 -0
  117. data/vendor/libgit2/include/git2/sys/filter.h +66 -3
  118. data/vendor/libgit2/include/git2/sys/hashsig.h +11 -0
  119. data/vendor/libgit2/include/git2/sys/index.h +3 -2
  120. data/vendor/libgit2/include/git2/sys/mempack.h +32 -2
  121. data/vendor/libgit2/include/git2/sys/merge.h +55 -7
  122. data/vendor/libgit2/include/git2/sys/midx.h +43 -4
  123. data/vendor/libgit2/include/git2/sys/odb_backend.h +7 -3
  124. data/vendor/libgit2/include/git2/sys/openssl.h +8 -1
  125. data/vendor/libgit2/include/git2/sys/path.h +12 -1
  126. data/vendor/libgit2/include/git2/sys/refdb_backend.h +40 -36
  127. data/vendor/libgit2/include/git2/sys/refs.h +3 -2
  128. data/vendor/libgit2/include/git2/sys/remote.h +8 -1
  129. data/vendor/libgit2/include/git2/sys/repository.h +63 -3
  130. data/vendor/libgit2/include/git2/sys/stream.h +11 -2
  131. data/vendor/libgit2/include/git2/sys/transport.h +24 -3
  132. data/vendor/libgit2/include/git2/tag.h +3 -1
  133. data/vendor/libgit2/include/git2/trace.h +9 -3
  134. data/vendor/libgit2/include/git2/transaction.h +3 -2
  135. data/vendor/libgit2/include/git2/transport.h +11 -3
  136. data/vendor/libgit2/include/git2/tree.h +16 -5
  137. data/vendor/libgit2/include/git2/types.h +19 -3
  138. data/vendor/libgit2/include/git2/version.h +44 -8
  139. data/vendor/libgit2/include/git2/worktree.h +16 -6
  140. data/vendor/libgit2/src/CMakeLists.txt +6 -4
  141. data/vendor/libgit2/src/cli/CMakeLists.txt +2 -2
  142. data/vendor/libgit2/src/cli/cmd.c +1 -1
  143. data/vendor/libgit2/src/cli/cmd.h +4 -0
  144. data/vendor/libgit2/src/cli/cmd_blame.c +287 -0
  145. data/vendor/libgit2/src/cli/cmd_cat_file.c +6 -8
  146. data/vendor/libgit2/src/cli/cmd_clone.c +5 -7
  147. data/vendor/libgit2/src/cli/cmd_config.c +241 -0
  148. data/vendor/libgit2/src/cli/cmd_hash_object.c +6 -8
  149. data/vendor/libgit2/src/cli/cmd_help.c +6 -7
  150. data/vendor/libgit2/src/cli/cmd_index_pack.c +114 -0
  151. data/vendor/libgit2/src/cli/cmd_init.c +102 -0
  152. data/vendor/libgit2/src/cli/common.c +168 -0
  153. data/vendor/libgit2/src/cli/common.h +63 -0
  154. data/vendor/libgit2/src/cli/error.h +1 -1
  155. data/vendor/libgit2/src/cli/main.c +52 -24
  156. data/vendor/libgit2/src/cli/opt.c +29 -3
  157. data/vendor/libgit2/src/cli/opt.h +21 -3
  158. data/vendor/libgit2/src/cli/opt_usage.c +102 -33
  159. data/vendor/libgit2/src/cli/opt_usage.h +6 -1
  160. data/vendor/libgit2/src/cli/progress.c +51 -2
  161. data/vendor/libgit2/src/cli/progress.h +12 -0
  162. data/vendor/libgit2/src/cli/unix/sighandler.c +2 -1
  163. data/vendor/libgit2/src/cli/win32/precompiled.h +1 -1
  164. data/vendor/libgit2/src/cli/win32/sighandler.c +1 -1
  165. data/vendor/libgit2/src/libgit2/CMakeLists.txt +26 -8
  166. data/vendor/libgit2/src/libgit2/apply.c +10 -13
  167. data/vendor/libgit2/src/libgit2/attr.c +30 -13
  168. data/vendor/libgit2/src/libgit2/attr_file.c +7 -2
  169. data/vendor/libgit2/src/libgit2/attr_file.h +2 -0
  170. data/vendor/libgit2/src/libgit2/attrcache.c +69 -33
  171. data/vendor/libgit2/src/libgit2/attrcache.h +5 -9
  172. data/vendor/libgit2/src/libgit2/blame.c +130 -44
  173. data/vendor/libgit2/src/libgit2/blame.h +1 -0
  174. data/vendor/libgit2/src/libgit2/cache.c +22 -17
  175. data/vendor/libgit2/src/libgit2/cache.h +7 -9
  176. data/vendor/libgit2/src/libgit2/checkout.c +34 -24
  177. data/vendor/libgit2/src/libgit2/checkout.h +0 -2
  178. data/vendor/libgit2/src/libgit2/cherrypick.c +1 -2
  179. data/vendor/libgit2/src/libgit2/clone.c +186 -166
  180. data/vendor/libgit2/src/libgit2/clone.h +4 -1
  181. data/vendor/libgit2/src/libgit2/commit.c +92 -0
  182. data/vendor/libgit2/src/libgit2/commit_graph.c +67 -56
  183. data/vendor/libgit2/src/libgit2/commit_graph.h +1 -2
  184. data/vendor/libgit2/src/libgit2/config.c +389 -298
  185. data/vendor/libgit2/src/libgit2/config.cmake.in +3 -0
  186. data/vendor/libgit2/src/libgit2/config.h +9 -4
  187. data/vendor/libgit2/src/libgit2/config_backend.h +8 -10
  188. data/vendor/libgit2/src/libgit2/config_cache.c +4 -5
  189. data/vendor/libgit2/src/libgit2/config_file.c +99 -88
  190. data/vendor/libgit2/src/libgit2/config_list.c +285 -0
  191. data/vendor/libgit2/src/libgit2/config_list.h +32 -0
  192. data/vendor/libgit2/src/libgit2/config_mem.c +194 -40
  193. data/vendor/libgit2/src/libgit2/config_parse.c +10 -9
  194. data/vendor/libgit2/src/libgit2/config_snapshot.c +24 -31
  195. data/vendor/libgit2/src/libgit2/describe.c +24 -24
  196. data/vendor/libgit2/src/libgit2/diff.c +1 -1
  197. data/vendor/libgit2/src/libgit2/diff_driver.c +12 -19
  198. data/vendor/libgit2/src/libgit2/diff_driver.h +2 -2
  199. data/vendor/libgit2/src/libgit2/diff_generate.c +3 -3
  200. data/vendor/libgit2/src/libgit2/diff_parse.c +2 -2
  201. data/vendor/libgit2/src/libgit2/diff_print.c +65 -9
  202. data/vendor/libgit2/src/libgit2/diff_tform.c +36 -8
  203. data/vendor/libgit2/src/libgit2/email.c +1 -0
  204. data/vendor/libgit2/src/libgit2/fetch.c +5 -3
  205. data/vendor/libgit2/src/libgit2/filter.c +5 -5
  206. data/vendor/libgit2/src/libgit2/git2.rc +3 -3
  207. data/vendor/libgit2/src/libgit2/grafts.c +18 -20
  208. data/vendor/libgit2/src/libgit2/grafts.h +0 -1
  209. data/vendor/libgit2/src/libgit2/graph.c +1 -1
  210. data/vendor/libgit2/src/libgit2/hashmap_oid.h +30 -0
  211. data/vendor/libgit2/src/libgit2/ignore.c +9 -5
  212. data/vendor/libgit2/src/libgit2/index.c +68 -90
  213. data/vendor/libgit2/src/libgit2/index.h +2 -2
  214. data/vendor/libgit2/src/libgit2/index_map.c +95 -0
  215. data/vendor/libgit2/src/libgit2/index_map.h +28 -0
  216. data/vendor/libgit2/src/libgit2/indexer.c +34 -38
  217. data/vendor/libgit2/src/libgit2/iterator.c +14 -8
  218. data/vendor/libgit2/src/libgit2/libgit2.c +153 -368
  219. data/vendor/libgit2/src/libgit2/mailmap.c +1 -1
  220. data/vendor/libgit2/src/libgit2/merge.c +42 -37
  221. data/vendor/libgit2/src/libgit2/merge_driver.c +2 -2
  222. data/vendor/libgit2/src/libgit2/midx.c +28 -15
  223. data/vendor/libgit2/src/libgit2/mwindow.c +38 -45
  224. data/vendor/libgit2/src/libgit2/mwindow.h +4 -0
  225. data/vendor/libgit2/src/libgit2/object.c +6 -5
  226. data/vendor/libgit2/src/libgit2/odb.c +5 -4
  227. data/vendor/libgit2/src/libgit2/odb_mempack.c +49 -17
  228. data/vendor/libgit2/src/libgit2/odb_pack.c +13 -5
  229. data/vendor/libgit2/src/libgit2/oid.c +32 -5
  230. data/vendor/libgit2/src/libgit2/oid.h +11 -0
  231. data/vendor/libgit2/src/libgit2/pack-objects.c +58 -31
  232. data/vendor/libgit2/src/libgit2/pack-objects.h +12 -4
  233. data/vendor/libgit2/src/libgit2/pack.c +30 -24
  234. data/vendor/libgit2/src/libgit2/pack.h +15 -10
  235. data/vendor/libgit2/src/libgit2/patch_parse.c +2 -2
  236. data/vendor/libgit2/src/libgit2/path.c +1 -1
  237. data/vendor/libgit2/src/libgit2/pathspec.c +1 -1
  238. data/vendor/libgit2/src/libgit2/push.c +79 -28
  239. data/vendor/libgit2/src/libgit2/push.h +1 -0
  240. data/vendor/libgit2/src/libgit2/refdb_fs.c +128 -61
  241. data/vendor/libgit2/src/libgit2/reflog.c +1 -2
  242. data/vendor/libgit2/src/libgit2/reflog.h +2 -0
  243. data/vendor/libgit2/src/libgit2/refs.c +26 -7
  244. data/vendor/libgit2/src/libgit2/refs.h +6 -1
  245. data/vendor/libgit2/src/libgit2/refspec.c +28 -1
  246. data/vendor/libgit2/src/libgit2/refspec.h +8 -0
  247. data/vendor/libgit2/src/libgit2/remote.c +121 -61
  248. data/vendor/libgit2/src/libgit2/repository.c +231 -51
  249. data/vendor/libgit2/src/libgit2/repository.h +10 -6
  250. data/vendor/libgit2/src/libgit2/revert.c +1 -2
  251. data/vendor/libgit2/src/libgit2/revparse.c +2 -2
  252. data/vendor/libgit2/src/libgit2/revwalk.c +13 -10
  253. data/vendor/libgit2/src/libgit2/revwalk.h +3 -3
  254. data/vendor/libgit2/src/libgit2/settings.c +468 -0
  255. data/vendor/libgit2/src/libgit2/settings.h +6 -2
  256. data/vendor/libgit2/src/libgit2/signature.c +132 -15
  257. data/vendor/libgit2/src/libgit2/signature.h +0 -1
  258. data/vendor/libgit2/src/libgit2/status.c +1 -1
  259. data/vendor/libgit2/src/libgit2/streams/mbedtls.c +54 -60
  260. data/vendor/libgit2/src/libgit2/streams/openssl.c +32 -7
  261. data/vendor/libgit2/src/libgit2/streams/openssl.h +2 -0
  262. data/vendor/libgit2/src/libgit2/streams/openssl_dynamic.c +4 -0
  263. data/vendor/libgit2/src/libgit2/streams/openssl_dynamic.h +3 -0
  264. data/vendor/libgit2/src/libgit2/streams/stransport.c +39 -7
  265. data/vendor/libgit2/src/libgit2/submodule.c +106 -63
  266. data/vendor/libgit2/src/libgit2/submodule.h +6 -7
  267. data/vendor/libgit2/src/libgit2/tag.c +1 -1
  268. data/vendor/libgit2/src/libgit2/trailer.c +6 -6
  269. data/vendor/libgit2/src/libgit2/transaction.c +26 -20
  270. data/vendor/libgit2/src/libgit2/transaction.h +4 -1
  271. data/vendor/libgit2/src/libgit2/transport.c +4 -1
  272. data/vendor/libgit2/src/libgit2/transports/credential.c +1 -1
  273. data/vendor/libgit2/src/libgit2/transports/http.c +1 -2
  274. data/vendor/libgit2/src/libgit2/transports/http.h +0 -10
  275. data/vendor/libgit2/src/libgit2/transports/httpclient.c +112 -72
  276. data/vendor/libgit2/src/libgit2/transports/httpparser.c +128 -0
  277. data/vendor/libgit2/src/libgit2/transports/httpparser.h +99 -0
  278. data/vendor/libgit2/src/libgit2/transports/local.c +8 -7
  279. data/vendor/libgit2/src/libgit2/transports/smart.c +20 -8
  280. data/vendor/libgit2/src/libgit2/transports/smart.h +4 -2
  281. data/vendor/libgit2/src/libgit2/transports/smart_pkt.c +2 -2
  282. data/vendor/libgit2/src/libgit2/transports/smart_protocol.c +55 -10
  283. data/vendor/libgit2/src/libgit2/transports/ssh.c +41 -1103
  284. data/vendor/libgit2/src/libgit2/transports/ssh_exec.c +347 -0
  285. data/vendor/libgit2/src/libgit2/transports/ssh_exec.h +26 -0
  286. data/vendor/libgit2/src/libgit2/transports/ssh_libssh2.c +1126 -0
  287. data/vendor/libgit2/src/libgit2/transports/ssh_libssh2.h +28 -0
  288. data/vendor/libgit2/src/libgit2/transports/winhttp.c +35 -7
  289. data/vendor/libgit2/src/libgit2/tree.c +34 -26
  290. data/vendor/libgit2/src/libgit2/tree.h +3 -2
  291. data/vendor/libgit2/src/libgit2/worktree.c +14 -17
  292. data/vendor/libgit2/src/util/CMakeLists.txt +4 -6
  293. data/vendor/libgit2/src/util/alloc.c +4 -1
  294. data/vendor/libgit2/src/util/allocators/debugalloc.c +73 -0
  295. data/vendor/libgit2/src/{cli/cli.h → util/allocators/debugalloc.h} +6 -9
  296. data/vendor/libgit2/src/util/allocators/stdalloc.c +0 -10
  297. data/vendor/libgit2/src/util/array.h +18 -17
  298. data/vendor/libgit2/src/util/cc-compat.h +2 -0
  299. data/vendor/libgit2/src/util/ctype_compat.h +70 -0
  300. data/vendor/libgit2/src/util/date.c +22 -14
  301. data/vendor/libgit2/src/util/date.h +12 -0
  302. data/vendor/libgit2/src/util/errors.c +401 -0
  303. data/vendor/libgit2/src/{libgit2 → util}/errors.h +21 -17
  304. data/vendor/libgit2/src/util/fs_path.c +15 -4
  305. data/vendor/libgit2/src/util/fs_path.h +23 -0
  306. data/vendor/libgit2/src/util/futils.c +6 -5
  307. data/vendor/libgit2/src/util/futils.h +13 -4
  308. data/vendor/libgit2/src/util/git2_features.h.in +12 -1
  309. data/vendor/libgit2/src/util/git2_util.h +6 -0
  310. data/vendor/libgit2/src/util/hash/openssl.c +152 -0
  311. data/vendor/libgit2/src/util/hash/openssl.h +17 -1
  312. data/vendor/libgit2/src/util/hash/sha.h +4 -1
  313. data/vendor/libgit2/src/util/hashmap.h +424 -0
  314. data/vendor/libgit2/src/util/hashmap_str.h +43 -0
  315. data/vendor/libgit2/src/util/integer.h +3 -1
  316. data/vendor/libgit2/src/util/net.c +13 -7
  317. data/vendor/libgit2/src/util/net.h +2 -0
  318. data/vendor/libgit2/src/util/pool.c +1 -1
  319. data/vendor/libgit2/src/util/pool.h +5 -0
  320. data/vendor/libgit2/src/util/pqueue.h +1 -1
  321. data/vendor/libgit2/src/util/process.h +222 -0
  322. data/vendor/libgit2/src/util/rand.c +1 -7
  323. data/vendor/libgit2/src/util/regexp.c +1 -1
  324. data/vendor/libgit2/src/util/sortedcache.c +14 -13
  325. data/vendor/libgit2/src/util/sortedcache.h +3 -3
  326. data/vendor/libgit2/src/util/str.c +2 -2
  327. data/vendor/libgit2/src/util/strlist.c +108 -0
  328. data/vendor/libgit2/src/util/strlist.h +36 -0
  329. data/vendor/libgit2/src/util/unix/posix.h +0 -2
  330. data/vendor/libgit2/src/util/unix/process.c +629 -0
  331. data/vendor/libgit2/src/util/unix/realpath.c +23 -5
  332. data/vendor/libgit2/src/util/util.c +2 -2
  333. data/vendor/libgit2/src/util/util.h +4 -38
  334. data/vendor/libgit2/src/util/vector.c +3 -3
  335. data/vendor/libgit2/src/util/vector.h +2 -2
  336. data/vendor/libgit2/src/util/win32/posix_w32.c +29 -6
  337. data/vendor/libgit2/src/util/win32/process.c +506 -0
  338. metadata +45 -28
  339. data/vendor/libgit2/deps/http-parser/CMakeLists.txt +0 -6
  340. data/vendor/libgit2/deps/http-parser/COPYING +0 -23
  341. data/vendor/libgit2/deps/http-parser/http_parser.c +0 -2182
  342. data/vendor/libgit2/deps/http-parser/http_parser.h +0 -305
  343. data/vendor/libgit2/deps/zlib/COPYING +0 -27
  344. data/vendor/libgit2/include/git2/sys/reflog.h +0 -21
  345. data/vendor/libgit2/src/libgit2/config_entries.c +0 -237
  346. data/vendor/libgit2/src/libgit2/config_entries.h +0 -24
  347. data/vendor/libgit2/src/libgit2/errors.c +0 -293
  348. data/vendor/libgit2/src/libgit2/idxmap.c +0 -157
  349. data/vendor/libgit2/src/libgit2/idxmap.h +0 -177
  350. data/vendor/libgit2/src/libgit2/libgit2.h +0 -15
  351. data/vendor/libgit2/src/libgit2/offmap.c +0 -101
  352. data/vendor/libgit2/src/libgit2/offmap.h +0 -133
  353. data/vendor/libgit2/src/libgit2/oidmap.c +0 -107
  354. data/vendor/libgit2/src/libgit2/oidmap.h +0 -128
  355. data/vendor/libgit2/src/libgit2/threadstate.c +0 -97
  356. data/vendor/libgit2/src/libgit2/threadstate.h +0 -22
  357. data/vendor/libgit2/src/libgit2/transports/ssh.h +0 -14
  358. data/vendor/libgit2/src/util/khash.h +0 -615
  359. data/vendor/libgit2/src/util/strmap.c +0 -100
  360. data/vendor/libgit2/src/util/strmap.h +0 -131
  361. /data/vendor/libgit2/cmake/{FindHTTPParser.cmake → FindHTTP_Parser.cmake} +0 -0
@@ -12,9 +12,9 @@
12
12
  #include "git2/oid.h"
13
13
 
14
14
  /**
15
- * @file git2/refdb_backend.h
16
- * @brief Git custom refs backend functions
17
- * @defgroup git_refdb_backend Git custom refs backend API
15
+ * @file git2/sys/refdb_backend.h
16
+ * @brief Custom reference database backends for refs storage
17
+ * @defgroup git_refdb_backend Custom reference database backends for refs storage
18
18
  * @ingroup Git
19
19
  * @{
20
20
  */
@@ -65,9 +65,9 @@ struct git_refdb_backend {
65
65
  *
66
66
  * A refdb implementation must provide this function.
67
67
  *
68
- * @arg exists The implementation shall set this to `0` if a ref does
68
+ * @param exists The implementation shall set this to `0` if a ref does
69
69
  * not exist, otherwise to `1`.
70
- * @arg ref_name The reference's name that should be checked for
70
+ * @param ref_name The reference's name that should be checked for
71
71
  * existence.
72
72
  * @return `0` on success, a negative error value code.
73
73
  */
@@ -81,9 +81,9 @@ struct git_refdb_backend {
81
81
  *
82
82
  * A refdb implementation must provide this function.
83
83
  *
84
- * @arg out The implementation shall set this to the allocated
84
+ * @param out The implementation shall set this to the allocated
85
85
  * reference, if it could be found, otherwise to `NULL`.
86
- * @arg ref_name The reference's name that should be checked for
86
+ * @param ref_name The reference's name that should be checked for
87
87
  * existence.
88
88
  * @return `0` on success, `GIT_ENOTFOUND` if the reference does
89
89
  * exist, otherwise a negative error code.
@@ -98,12 +98,12 @@ struct git_refdb_backend {
98
98
  *
99
99
  * A refdb implementation must provide this function.
100
100
  *
101
- * @arg out The implementation shall set this to the allocated
101
+ * @param out The implementation shall set this to the allocated
102
102
  * reference iterator. A custom structure may be used with an
103
103
  * embedded `git_reference_iterator` structure. Both `next`
104
104
  * and `next_name` functions of `git_reference_iterator` need
105
105
  * to be populated.
106
- * @arg glob A pattern to filter references by. If given, the iterator
106
+ * @param glob A pattern to filter references by. If given, the iterator
107
107
  * shall only return references that match the glob when
108
108
  * passed to `wildmatch`.
109
109
  * @return `0` on success, otherwise a negative error code.
@@ -118,20 +118,20 @@ struct git_refdb_backend {
118
118
  *
119
119
  * A refdb implementation must provide this function.
120
120
  *
121
- * @arg ref The reference to persist. May either be a symbolic or
121
+ * @param ref The reference to persist. May either be a symbolic or
122
122
  * direct reference.
123
- * @arg force Whether to write the reference if a reference with the
123
+ * @param force Whether to write the reference if a reference with the
124
124
  * same name already exists.
125
- * @arg who The person updating the reference. Shall be used to create
125
+ * @param who The person updating the reference. Shall be used to create
126
126
  * a reflog entry.
127
- * @arg message The message detailing what kind of reference update is
127
+ * @param message The message detailing what kind of reference update is
128
128
  * performed. Shall be used to create a reflog entry.
129
- * @arg old If not `NULL` and `force` is not set, then the
129
+ * @param old If not `NULL` and `force` is not set, then the
130
130
  * implementation needs to ensure that the reference is currently at
131
131
  * the given OID before writing the new value. If both `old`
132
132
  * and `old_target` are `NULL`, then the reference should not
133
133
  * exist at the point of writing.
134
- * @arg old_target If not `NULL` and `force` is not set, then the
134
+ * @param old_target If not `NULL` and `force` is not set, then the
135
135
  * implementation needs to ensure that the symbolic
136
136
  * reference is currently at the given target before
137
137
  * writing the new value. If both `old` and
@@ -149,15 +149,15 @@ struct git_refdb_backend {
149
149
  *
150
150
  * A refdb implementation must provide this function.
151
151
  *
152
- * @arg out The implementation shall set this to the newly created
152
+ * @param out The implementation shall set this to the newly created
153
153
  * reference or `NULL` on error.
154
- * @arg old_name The current name of the reference that is to be renamed.
155
- * @arg new_name The new name that the old reference shall be renamed to.
156
- * @arg force Whether to write the reference if a reference with the
154
+ * @param old_name The current name of the reference that is to be renamed.
155
+ * @param new_name The new name that the old reference shall be renamed to.
156
+ * @param force Whether to write the reference if a reference with the
157
157
  * target name already exists.
158
- * @arg who The person updating the reference. Shall be used to create
158
+ * @param who The person updating the reference. Shall be used to create
159
159
  * a reflog entry.
160
- * @arg message The message detailing what kind of reference update is
160
+ * @param message The message detailing what kind of reference update is
161
161
  * performed. Shall be used to create a reflog entry.
162
162
  * @return `0` on success, otherwise a negative error code.
163
163
  */
@@ -173,11 +173,11 @@ struct git_refdb_backend {
173
173
  *
174
174
  * A refdb implementation must provide this function.
175
175
  *
176
- * @arg ref_name The name of the reference name that shall be deleted.
177
- * @arg old_id If not `NULL` and `force` is not set, then the
176
+ * @param ref_name The name of the reference name that shall be deleted.
177
+ * @param old_id If not `NULL` and `force` is not set, then the
178
178
  * implementation needs to ensure that the reference is currently at
179
179
  * the given OID before writing the new value.
180
- * @arg old_target If not `NULL` and `force` is not set, then the
180
+ * @param old_target If not `NULL` and `force` is not set, then the
181
181
  * implementation needs to ensure that the symbolic
182
182
  * reference is currently at the given target before
183
183
  * writing the new value.
@@ -243,7 +243,7 @@ struct git_refdb_backend {
243
243
  *
244
244
  * A refdb implementation must provide this function.
245
245
  *
246
- * @arg reflog The complete reference log for a given reference. Note
246
+ * @param reflog The complete reference log for a given reference. Note
247
247
  * that this may contain entries that have already been
248
248
  * written to disk.
249
249
  * @return `0` on success, a negative error code otherwise
@@ -255,8 +255,8 @@ struct git_refdb_backend {
255
255
  *
256
256
  * A refdb implementation must provide this function.
257
257
  *
258
- * @arg old_name The name of old reference whose reflog shall be renamed from.
259
- * @arg new_name The name of new reference whose reflog shall be renamed to.
258
+ * @param old_name The name of old reference whose reflog shall be renamed from.
259
+ * @param new_name The name of new reference whose reflog shall be renamed to.
260
260
  * @return `0` on success, a negative error code otherwise
261
261
  */
262
262
  int GIT_CALLBACK(reflog_rename)(git_refdb_backend *_backend, const char *old_name, const char *new_name);
@@ -266,7 +266,7 @@ struct git_refdb_backend {
266
266
  *
267
267
  * A refdb implementation must provide this function.
268
268
  *
269
- * @arg name The name of the reference whose reflog shall be deleted.
269
+ * @param name The name of the reference whose reflog shall be deleted.
270
270
  * @return `0` on success, a negative error code otherwise
271
271
  */
272
272
  int GIT_CALLBACK(reflog_delete)(git_refdb_backend *backend, const char *name);
@@ -277,9 +277,9 @@ struct git_refdb_backend {
277
277
  * A refdb implementation may provide this function; if it is not
278
278
  * provided, the transaction API will fail to work.
279
279
  *
280
- * @arg payload_out Opaque parameter that will be passed verbosely to
280
+ * @param payload_out Opaque parameter that will be passed verbosely to
281
281
  * `unlock`.
282
- * @arg refname Reference that shall be locked.
282
+ * @param refname Reference that shall be locked.
283
283
  * @return `0` on success, a negative error code otherwise
284
284
  */
285
285
  int GIT_CALLBACK(lock)(void **payload_out, git_refdb_backend *backend, const char *refname);
@@ -294,16 +294,16 @@ struct git_refdb_backend {
294
294
  * A refdb implementation must provide this function if a `lock`
295
295
  * implementation is provided.
296
296
  *
297
- * @arg payload The payload returned by `lock`.
298
- * @arg success `1` if a reference should be updated, `2` if
297
+ * @param payload The payload returned by `lock`.
298
+ * @param success `1` if a reference should be updated, `2` if
299
299
  * a reference should be deleted, `0` if the lock must be
300
300
  * discarded.
301
- * @arg update_reflog `1` in case the reflog should be updated, `0`
301
+ * @param update_reflog `1` in case the reflog should be updated, `0`
302
302
  * otherwise.
303
- * @arg ref The reference which should be unlocked.
304
- * @arg who The person updating the reference. Shall be used to create
303
+ * @param ref The reference which should be unlocked.
304
+ * @param who The person updating the reference. Shall be used to create
305
305
  * a reflog entry in case `update_reflog` is set.
306
- * @arg message The message detailing what kind of reference update is
306
+ * @param message The message detailing what kind of reference update is
307
307
  * performed. Shall be used to create a reflog entry in
308
308
  * case `update_reflog` is set.
309
309
  * @return `0` on success, a negative error code otherwise
@@ -312,7 +312,10 @@ struct git_refdb_backend {
312
312
  const git_reference *ref, const git_signature *sig, const char *message);
313
313
  };
314
314
 
315
+ /** Current version for the `git_refdb_backend_options` structure */
315
316
  #define GIT_REFDB_BACKEND_VERSION 1
317
+
318
+ /** Static constructor for `git_refdb_backend_options` */
316
319
  #define GIT_REFDB_BACKEND_INIT {GIT_REFDB_BACKEND_VERSION}
317
320
 
318
321
  /**
@@ -356,6 +359,7 @@ GIT_EXTERN(int) git_refdb_set_backend(
356
359
  git_refdb *refdb,
357
360
  git_refdb_backend *backend);
358
361
 
362
+ /** @} */
359
363
  GIT_END_DECL
360
364
 
361
365
  #endif
@@ -13,8 +13,8 @@
13
13
 
14
14
  /**
15
15
  * @file git2/sys/refs.h
16
- * @brief Low-level Git ref creation
17
- * @defgroup git_backend Git custom backend APIs
16
+ * @brief Low-level git reference creation
17
+ * @defgroup git_backend Low-level git reference creation
18
18
  * @ingroup Git
19
19
  * @{
20
20
  */
@@ -46,4 +46,5 @@ GIT_EXTERN(git_reference *) git_reference__alloc_symbolic(
46
46
 
47
47
  /** @} */
48
48
  GIT_END_DECL
49
+
49
50
  #endif
@@ -13,19 +13,25 @@
13
13
  /**
14
14
  * @file git2/sys/remote.h
15
15
  * @brief Low-level remote functionality for custom transports
16
- * @defgroup git_remote Low-level remote functionality
16
+ * @defgroup git_remote Low-level remote functionality for custom transports
17
17
  * @ingroup Git
18
18
  * @{
19
19
  */
20
20
 
21
21
  GIT_BEGIN_DECL
22
22
 
23
+ /**
24
+ * A remote's capabilities.
25
+ */
23
26
  typedef enum {
24
27
  /** Remote supports fetching an advertised object by ID. */
25
28
  GIT_REMOTE_CAPABILITY_TIP_OID = (1 << 0),
26
29
 
27
30
  /** Remote supports fetching an individual reachable object. */
28
31
  GIT_REMOTE_CAPABILITY_REACHABLE_OID = (1 << 1),
32
+
33
+ /** Remote supports push options. */
34
+ GIT_REMOTE_CAPABILITY_PUSH_OPTIONS = (1 << 2),
29
35
  } git_remote_capability_t;
30
36
 
31
37
  /**
@@ -43,4 +49,5 @@ GIT_EXTERN(void) git_remote_connect_options_dispose(
43
49
 
44
50
  /** @} */
45
51
  GIT_END_DECL
52
+
46
53
  #endif
@@ -9,16 +9,71 @@
9
9
 
10
10
  #include "git2/common.h"
11
11
  #include "git2/types.h"
12
+ #include "git2/oid.h"
12
13
 
13
14
  /**
14
15
  * @file git2/sys/repository.h
15
- * @brief Git repository custom implementation routines
16
- * @defgroup git_backend Git custom backend APIs
16
+ * @brief Custom repository handling
17
+ * @defgroup git_repository Custom repository handling
17
18
  * @ingroup Git
18
19
  * @{
19
20
  */
20
21
  GIT_BEGIN_DECL
21
22
 
23
+ #ifdef GIT_EXPERIMENTAL_SHA256
24
+
25
+ /**
26
+ * The options for creating an repository from scratch.
27
+ *
28
+ * Initialize with `GIT_REPOSITORY_NEW_OPTIONS_INIT`. Alternatively,
29
+ * you can use `git_repository_new_options_init`.
30
+ *
31
+ * @options[version] GIT_REPOSITORY_NEW_OPTIONS_VERSION
32
+ * @options[init_macro] GIT_REPOSITORY_NEW_OPTIONS_INIT
33
+ * @options[init_function] git_repository_new_options_init
34
+ */
35
+ typedef struct git_repository_new_options {
36
+ unsigned int version; /**< The version */
37
+
38
+ /**
39
+ * The object ID type for the object IDs that exist in the index.
40
+ *
41
+ * If this is not specified, this defaults to `GIT_OID_SHA1`.
42
+ */
43
+ git_oid_t oid_type;
44
+ } git_repository_new_options;
45
+
46
+ /** Current version for the `git_repository_new_options` structure */
47
+ #define GIT_REPOSITORY_NEW_OPTIONS_VERSION 1
48
+
49
+ /** Static constructor for `git_repository_new_options` */
50
+ #define GIT_REPOSITORY_NEW_OPTIONS_INIT { GIT_REPOSITORY_NEW_OPTIONS_VERSION }
51
+
52
+ /**
53
+ * Initialize git_repository_new_options structure
54
+ *
55
+ * Initializes a `git_repository_new_options` with default values.
56
+ * Equivalent to creating an instance with
57
+ * `GIT_REPOSITORY_NEW_OPTIONS_INIT`.
58
+ *
59
+ * @param opts The `git_repository_new_options` struct to initialize.
60
+ * @param version The struct version; pass `GIT_REPOSITORY_NEW_OPTIONS_VERSION`.
61
+ * @return Zero on success; -1 on failure.
62
+ */
63
+ GIT_EXTERN(int) git_repository_new_options_init(
64
+ git_repository_new_options *opts,
65
+ unsigned int version);
66
+
67
+ /**
68
+ * Create a new repository with no backends.
69
+ *
70
+ * @param[out] out The blank repository
71
+ * @param opts the options for repository creation, or NULL for defaults
72
+ * @return 0 on success, or an error code
73
+ */
74
+ GIT_EXTERN(int) git_repository_new(git_repository **out, git_repository_new_options *opts);
75
+ #else
76
+
22
77
  /**
23
78
  * Create a new repository with neither backends nor config object
24
79
  *
@@ -29,11 +84,13 @@ GIT_BEGIN_DECL
29
84
  * can fail to function properly: locations under $GIT_DIR, $GIT_COMMON_DIR,
30
85
  * or $GIT_INFO_DIR are impacted.
31
86
  *
32
- * @param out The blank repository
87
+ * @param[out] out The blank repository
33
88
  * @return 0 on success, or an error code
34
89
  */
35
90
  GIT_EXTERN(int) git_repository_new(git_repository **out);
36
91
 
92
+ #endif
93
+
37
94
  /**
38
95
  * Reset all the internal state in a repository.
39
96
  *
@@ -156,6 +213,7 @@ GIT_EXTERN(int) git_repository_set_bare(git_repository *repo);
156
213
  * and caches them so that subsequent calls to `git_submodule_lookup` are O(1).
157
214
  *
158
215
  * @param repo the repository whose submodules will be cached.
216
+ * @return 0 on success, or an error code
159
217
  */
160
218
  GIT_EXTERN(int) git_repository_submodule_cache_all(
161
219
  git_repository *repo);
@@ -171,10 +229,12 @@ GIT_EXTERN(int) git_repository_submodule_cache_all(
171
229
  * of these has changed, the cache might become invalid.
172
230
  *
173
231
  * @param repo the repository whose submodule cache will be cleared
232
+ * @return 0 on success, or an error code
174
233
  */
175
234
  GIT_EXTERN(int) git_repository_submodule_cache_clear(
176
235
  git_repository *repo);
177
236
 
178
237
  /** @} */
179
238
  GIT_END_DECL
239
+
180
240
  #endif
@@ -11,8 +11,16 @@
11
11
  #include "git2/types.h"
12
12
  #include "git2/proxy.h"
13
13
 
14
+ /**
15
+ * @file git2/sys/stream.h
16
+ * @brief Streaming file I/O functionality
17
+ * @defgroup git_stream Streaming file I/O functionality
18
+ * @ingroup Git
19
+ * @{
20
+ */
14
21
  GIT_BEGIN_DECL
15
22
 
23
+ /** Current version for the `git_stream` structures */
16
24
  #define GIT_STREAM_VERSION 1
17
25
 
18
26
  /**
@@ -29,8 +37,8 @@ GIT_BEGIN_DECL
29
37
  typedef struct git_stream {
30
38
  int version;
31
39
 
32
- int encrypted : 1,
33
- proxy_support : 1;
40
+ unsigned int encrypted : 1,
41
+ proxy_support : 1;
34
42
 
35
43
  /**
36
44
  * Timeout for read and write operations; can be set to `0` to
@@ -147,6 +155,7 @@ GIT_EXTERN(int) git_stream_register_tls(git_stream_cb ctor);
147
155
 
148
156
  #endif
149
157
 
158
+ /**@}*/
150
159
  GIT_END_DECL
151
160
 
152
161
  #endif
@@ -18,14 +18,20 @@
18
18
 
19
19
  /**
20
20
  * @file git2/sys/transport.h
21
- * @brief Git custom transport registration interfaces and functions
22
- * @defgroup git_transport Git custom transport registration
21
+ * @brief Custom transport registration interfaces and functions
22
+ * @defgroup git_transport Custom transport registration
23
23
  * @ingroup Git
24
+ *
25
+ * Callers can override the default HTTPS or SSH implementation by
26
+ * specifying a custom transport.
24
27
  * @{
25
28
  */
26
29
 
27
30
  GIT_BEGIN_DECL
28
31
 
32
+ /**
33
+ * The negotiation state during a fetch smart transport negotiation.
34
+ */
29
35
  typedef struct {
30
36
  const git_remote_head * const *refs;
31
37
  size_t refs_len;
@@ -146,7 +152,10 @@ struct git_transport {
146
152
  void GIT_CALLBACK(free)(git_transport *transport);
147
153
  };
148
154
 
155
+ /** Current version for the `git_transport` structure */
149
156
  #define GIT_TRANSPORT_VERSION 1
157
+
158
+ /** Static constructor for `git_transport` */
150
159
  #define GIT_TRANSPORT_INIT {GIT_TRANSPORT_VERSION}
151
160
 
152
161
  /**
@@ -299,6 +308,7 @@ GIT_EXTERN(int) git_transport_smart_credentials(git_credential **out, git_transp
299
308
  *
300
309
  * @param out options struct to fill
301
310
  * @param transport the transport to extract the data from.
311
+ * @return 0 on success, or an error code
302
312
  */
303
313
  GIT_EXTERN(int) git_transport_remote_connect_options(
304
314
  git_remote_connect_options *out,
@@ -386,7 +396,14 @@ struct git_smart_subtransport {
386
396
  void GIT_CALLBACK(free)(git_smart_subtransport *transport);
387
397
  };
388
398
 
389
- /** A function which creates a new subtransport for the smart transport */
399
+ /**
400
+ * A function that creates a new subtransport for the smart transport
401
+ *
402
+ * @param out the smart subtransport
403
+ * @param owner the transport owner
404
+ * @param param the input parameter
405
+ * @return 0 on success, or an error code
406
+ */
390
407
  typedef int GIT_CALLBACK(git_smart_subtransport_cb)(
391
408
  git_smart_subtransport **out,
392
409
  git_transport *owner,
@@ -429,6 +446,7 @@ typedef struct git_smart_subtransport_definition {
429
446
  *
430
447
  * @param out The newly created subtransport
431
448
  * @param owner The smart transport to own this subtransport
449
+ * @param param custom parameters for the subtransport
432
450
  * @return 0 or an error code
433
451
  */
434
452
  GIT_EXTERN(int) git_smart_subtransport_http(
@@ -441,6 +459,7 @@ GIT_EXTERN(int) git_smart_subtransport_http(
441
459
  *
442
460
  * @param out The newly created subtransport
443
461
  * @param owner The smart transport to own this subtransport
462
+ * @param param custom parameters for the subtransport
444
463
  * @return 0 or an error code
445
464
  */
446
465
  GIT_EXTERN(int) git_smart_subtransport_git(
@@ -453,6 +472,7 @@ GIT_EXTERN(int) git_smart_subtransport_git(
453
472
  *
454
473
  * @param out The newly created subtransport
455
474
  * @param owner The smart transport to own this subtransport
475
+ * @param param custom parameters for the subtransport
456
476
  * @return 0 or an error code
457
477
  */
458
478
  GIT_EXTERN(int) git_smart_subtransport_ssh(
@@ -462,4 +482,5 @@ GIT_EXTERN(int) git_smart_subtransport_ssh(
462
482
 
463
483
  /** @} */
464
484
  GIT_END_DECL
485
+
465
486
  #endif
@@ -15,7 +15,7 @@
15
15
 
16
16
  /**
17
17
  * @file git2/tag.h
18
- * @brief Git tag parsing routines
18
+ * @brief A (nearly) immutable pointer to a commit; useful for versioning
19
19
  * @defgroup git_tag Git tag management
20
20
  * @ingroup Git
21
21
  * @{
@@ -335,6 +335,7 @@ typedef int GIT_CALLBACK(git_tag_foreach_cb)(const char *name, git_oid *oid, voi
335
335
  * @param repo Repository
336
336
  * @param callback Callback function
337
337
  * @param payload Pointer to callback data (optional)
338
+ * @return 0 on success or an error code
338
339
  */
339
340
  GIT_EXTERN(int) git_tag_foreach(
340
341
  git_repository *repo,
@@ -380,4 +381,5 @@ GIT_EXTERN(int) git_tag_name_is_valid(int *valid, const char *name);
380
381
 
381
382
  /** @} */
382
383
  GIT_END_DECL
384
+
383
385
  #endif
@@ -12,8 +12,8 @@
12
12
 
13
13
  /**
14
14
  * @file git2/trace.h
15
- * @brief Git tracing configuration routines
16
- * @defgroup git_trace Git tracing configuration routines
15
+ * @brief Tracing functionality to introspect libgit2 in your application
16
+ * @defgroup git_trace Tracing functionality to introspect libgit2 in your application
17
17
  * @ingroup Git
18
18
  * @{
19
19
  */
@@ -48,8 +48,13 @@ typedef enum {
48
48
 
49
49
  /**
50
50
  * An instance for a tracing function
51
+ *
52
+ * @param level the trace level
53
+ * @param msg the trace message
51
54
  */
52
- typedef void GIT_CALLBACK(git_trace_cb)(git_trace_level_t level, const char *msg);
55
+ typedef void GIT_CALLBACK(git_trace_cb)(
56
+ git_trace_level_t level,
57
+ const char *msg);
53
58
 
54
59
  /**
55
60
  * Sets the system tracing configuration to the specified level with the
@@ -64,4 +69,5 @@ GIT_EXTERN(int) git_trace_set(git_trace_level_t level, git_trace_cb cb);
64
69
 
65
70
  /** @} */
66
71
  GIT_END_DECL
72
+
67
73
  #endif
@@ -12,8 +12,8 @@
12
12
 
13
13
  /**
14
14
  * @file git2/transaction.h
15
- * @brief Git transactional reference routines
16
- * @defgroup git_transaction Git transactional reference routines
15
+ * @brief Transactional reference handling
16
+ * @defgroup git_transaction Transactional reference handling
17
17
  * @ingroup Git
18
18
  * @{
19
19
  */
@@ -118,4 +118,5 @@ GIT_EXTERN(void) git_transaction_free(git_transaction *tx);
118
118
 
119
119
  /** @} */
120
120
  GIT_END_DECL
121
+
121
122
  #endif
@@ -15,8 +15,8 @@
15
15
 
16
16
  /**
17
17
  * @file git2/transport.h
18
- * @brief Git transport interfaces and functions
19
- * @defgroup git_transport interfaces and functions
18
+ * @brief Transports are the low-level mechanism to connect to a remote server
19
+ * @defgroup git_transport Transports are the low-level mechanism to connect to a remote server
20
20
  * @ingroup Git
21
21
  * @{
22
22
  */
@@ -30,10 +30,18 @@ GIT_BEGIN_DECL
30
30
  * @param str The message from the transport
31
31
  * @param len The length of the message
32
32
  * @param payload Payload provided by the caller
33
+ * @return 0 on success or an error code
33
34
  */
34
35
  typedef int GIT_CALLBACK(git_transport_message_cb)(const char *str, int len, void *payload);
35
36
 
36
- /** Signature of a function which creates a transport */
37
+ /**
38
+ * Signature of a function which creates a transport.
39
+ *
40
+ * @param out the transport generate
41
+ * @param owner the owner for the transport
42
+ * @param param the param to the transport creation
43
+ * @return 0 on success or an error code
44
+ */
37
45
  typedef int GIT_CALLBACK(git_transport_cb)(git_transport **out, git_remote *owner, void *param);
38
46
 
39
47
  /** @} */
@@ -14,8 +14,8 @@
14
14
 
15
15
  /**
16
16
  * @file git2/tree.h
17
- * @brief Git tree parsing, loading routines
18
- * @defgroup git_tree Git tree parsing, loading routines
17
+ * @brief Trees are collections of files and folders to make up the repository hierarchy
18
+ * @defgroup git_tree Trees are collections of files and folders to make up the repository hierarchy
19
19
  * @ingroup Git
20
20
  * @{
21
21
  */
@@ -24,7 +24,7 @@ GIT_BEGIN_DECL
24
24
  /**
25
25
  * Lookup a tree object from the repository.
26
26
  *
27
- * @param out Pointer to the looked up tree
27
+ * @param[out] out Pointer to the looked up tree
28
28
  * @param repo The repo to use when locating the tree.
29
29
  * @param id Identity of the tree to locate.
30
30
  * @return 0 or an error code
@@ -345,6 +345,10 @@ GIT_EXTERN(int) git_treebuilder_remove(
345
345
  * The return value is treated as a boolean, with zero indicating that the
346
346
  * entry should be left alone and any non-zero value meaning that the
347
347
  * entry should be removed from the treebuilder list (i.e. filtered out).
348
+ *
349
+ * @param entry the tree entry for the callback to examine
350
+ * @param payload the payload from the caller
351
+ * @return 0 to do nothing, non-zero to remove the entry
348
352
  */
349
353
  typedef int GIT_CALLBACK(git_treebuilder_filter_cb)(
350
354
  const git_tree_entry *entry, void *payload);
@@ -379,7 +383,14 @@ GIT_EXTERN(int) git_treebuilder_filter(
379
383
  GIT_EXTERN(int) git_treebuilder_write(
380
384
  git_oid *id, git_treebuilder *bld);
381
385
 
382
- /** Callback for the tree traversal method */
386
+ /**
387
+ * Callback for the tree traversal method.
388
+ *
389
+ * @param root the current (relative) root to the entry
390
+ * @param entry the tree entry
391
+ * @param payload the caller-provided callback payload
392
+ * @return a positive value to skip the entry, a negative value to stop the walk
393
+ */
383
394
  typedef int GIT_CALLBACK(git_treewalk_cb)(
384
395
  const char *root, const git_tree_entry *entry, void *payload);
385
396
 
@@ -470,6 +481,6 @@ typedef struct {
470
481
  GIT_EXTERN(int) git_tree_create_updated(git_oid *out, git_repository *repo, git_tree *baseline, size_t nupdates, const git_tree_update *updates);
471
482
 
472
483
  /** @} */
473
-
474
484
  GIT_END_DECL
485
+
475
486
  #endif
@@ -81,13 +81,18 @@ typedef enum {
81
81
  GIT_OBJECT_REF_DELTA = 7 /**< A delta, base is given by object id. */
82
82
  } git_object_t;
83
83
 
84
- /** An open object database handle. */
84
+ /**
85
+ * An object database stores the objects (commit, trees, blobs, tags,
86
+ * etc) for a repository.
87
+ */
85
88
  typedef struct git_odb git_odb;
86
89
 
87
90
  /** A custom backend in an ODB */
88
91
  typedef struct git_odb_backend git_odb_backend;
89
92
 
90
- /** An object read from the ODB */
93
+ /**
94
+ * A "raw" object read from the object database.
95
+ */
91
96
  typedef struct git_odb_object git_odb_object;
92
97
 
93
98
  /** A stream to read/write from the ODB */
@@ -194,7 +199,18 @@ typedef struct git_reference_iterator git_reference_iterator;
194
199
  /** Transactional interface to references */
195
200
  typedef struct git_transaction git_transaction;
196
201
 
197
- /** Annotated commits, the input to merge and rebase. */
202
+ /**
203
+ * Annotated commits are commits with additional metadata about how the
204
+ * commit was resolved, which can be used for maintaining the user's
205
+ * "intent" through commands like merge and rebase.
206
+ *
207
+ * For example, if a user wants to conceptually "merge `HEAD`", then the
208
+ * commit portion of an annotated commit will point to the `HEAD` commit,
209
+ * but the _annotation_ will denote the ref `HEAD`. This allows git to
210
+ * perform the internal bookkeeping so that the system knows both the
211
+ * content of what is being merged but also how the content was looked up
212
+ * so that it can be recorded in the reflog appropriately.
213
+ */
198
214
  typedef struct git_annotated_commit git_annotated_commit;
199
215
 
200
216
  /** Representation of a status collection */