rugged 1.6.3 → 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 (443) hide show
  1. checksums.yaml +4 -4
  2. data/ext/rugged/rugged_allocator.c +0 -54
  3. data/lib/rugged/version.rb +1 -1
  4. data/vendor/libgit2/AUTHORS +1 -0
  5. data/vendor/libgit2/CMakeLists.txt +25 -17
  6. data/vendor/libgit2/COPYING +195 -1
  7. data/vendor/libgit2/cmake/CheckPrototypeDefinitionSafe.cmake +16 -0
  8. data/vendor/libgit2/cmake/{FindIconv.cmake → FindIntlIconv.cmake} +6 -0
  9. data/vendor/libgit2/cmake/FindLLHTTP.cmake +39 -0
  10. data/vendor/libgit2/cmake/SelectGSSAPI.cmake +4 -4
  11. data/vendor/libgit2/cmake/SelectHTTPParser.cmake +23 -8
  12. data/vendor/libgit2/cmake/SelectHTTPSBackend.cmake +34 -6
  13. data/vendor/libgit2/cmake/SelectHashes.cmake +32 -11
  14. data/vendor/libgit2/cmake/SelectRegex.cmake +6 -1
  15. data/vendor/libgit2/cmake/SelectSSH.cmake +22 -17
  16. data/vendor/libgit2/cmake/SelectXdiff.cmake +9 -0
  17. data/vendor/libgit2/cmake/SelectZlib.cmake +4 -0
  18. data/vendor/libgit2/deps/llhttp/CMakeLists.txt +8 -0
  19. data/vendor/libgit2/deps/llhttp/LICENSE-MIT +22 -0
  20. data/vendor/libgit2/deps/llhttp/api.c +510 -0
  21. data/vendor/libgit2/deps/llhttp/http.c +170 -0
  22. data/vendor/libgit2/deps/llhttp/llhttp.c +10168 -0
  23. data/vendor/libgit2/deps/llhttp/llhttp.h +897 -0
  24. data/vendor/libgit2/deps/ntlmclient/CMakeLists.txt +1 -1
  25. data/vendor/libgit2/deps/ntlmclient/crypt_builtin_md4.c +311 -0
  26. data/vendor/libgit2/deps/ntlmclient/crypt_commoncrypto.c +2 -1
  27. data/vendor/libgit2/deps/ntlmclient/crypt_mbedtls.c +0 -20
  28. data/vendor/libgit2/deps/ntlmclient/crypt_openssl.c +4 -4
  29. data/vendor/libgit2/deps/ntlmclient/ntlm.c +21 -21
  30. data/vendor/libgit2/deps/ntlmclient/unicode_builtin.c +5 -4
  31. data/vendor/libgit2/deps/ntlmclient/unicode_iconv.c +2 -1
  32. data/vendor/libgit2/deps/ntlmclient/utf8.h +1176 -721
  33. data/vendor/libgit2/deps/ntlmclient/util.h +11 -0
  34. data/vendor/libgit2/deps/pcre/CMakeLists.txt +1 -0
  35. data/vendor/libgit2/deps/pcre/LICENCE +5 -5
  36. data/vendor/libgit2/deps/pcre/pcre.h +2 -2
  37. data/vendor/libgit2/deps/pcre/pcre_compile.c +6 -3
  38. data/vendor/libgit2/deps/pcre/pcre_exec.c +2 -2
  39. data/vendor/libgit2/deps/xdiff/CMakeLists.txt +28 -0
  40. data/vendor/libgit2/{src/libgit2 → deps}/xdiff/git-xdiff.h +4 -1
  41. data/vendor/libgit2/{src/libgit2 → deps}/xdiff/xdiffi.c +19 -18
  42. data/vendor/libgit2/{src/libgit2 → deps}/xdiff/xdiffi.h +2 -4
  43. data/vendor/libgit2/{src/libgit2 → deps}/xdiff/xemit.c +3 -3
  44. data/vendor/libgit2/{src/libgit2 → deps}/xdiff/xhistogram.c +7 -18
  45. data/vendor/libgit2/{src/libgit2 → deps}/xdiff/xmacros.h +18 -1
  46. data/vendor/libgit2/{src/libgit2 → deps}/xdiff/xmerge.c +22 -20
  47. data/vendor/libgit2/{src/libgit2 → deps}/xdiff/xpatience.c +21 -30
  48. data/vendor/libgit2/{src/libgit2 → deps}/xdiff/xprepare.c +13 -30
  49. data/vendor/libgit2/{src/libgit2 → deps}/xdiff/xutils.c +18 -1
  50. data/vendor/libgit2/{src/libgit2 → deps}/xdiff/xutils.h +2 -1
  51. data/vendor/libgit2/deps/zlib/CMakeLists.txt +6 -1
  52. data/vendor/libgit2/deps/zlib/LICENSE +22 -0
  53. data/vendor/libgit2/deps/zlib/adler32.c +5 -27
  54. data/vendor/libgit2/deps/zlib/crc32.c +94 -167
  55. data/vendor/libgit2/deps/zlib/deflate.c +358 -435
  56. data/vendor/libgit2/deps/zlib/deflate.h +41 -10
  57. data/vendor/libgit2/deps/zlib/gzguts.h +13 -18
  58. data/vendor/libgit2/deps/zlib/infback.c +17 -30
  59. data/vendor/libgit2/deps/zlib/inffast.c +1 -4
  60. data/vendor/libgit2/deps/zlib/inffast.h +1 -1
  61. data/vendor/libgit2/deps/zlib/inflate.c +36 -102
  62. data/vendor/libgit2/deps/zlib/inftrees.c +6 -11
  63. data/vendor/libgit2/deps/zlib/inftrees.h +6 -6
  64. data/vendor/libgit2/deps/zlib/trees.c +287 -352
  65. data/vendor/libgit2/deps/zlib/zconf.h +23 -14
  66. data/vendor/libgit2/deps/zlib/zlib.h +202 -202
  67. data/vendor/libgit2/deps/zlib/zutil.c +18 -44
  68. data/vendor/libgit2/deps/zlib/zutil.h +13 -33
  69. data/vendor/libgit2/include/git2/annotated_commit.h +12 -5
  70. data/vendor/libgit2/include/git2/apply.h +27 -6
  71. data/vendor/libgit2/include/git2/attr.h +17 -4
  72. data/vendor/libgit2/include/git2/blame.h +133 -28
  73. data/vendor/libgit2/include/git2/blob.h +71 -28
  74. data/vendor/libgit2/include/git2/branch.h +22 -15
  75. data/vendor/libgit2/include/git2/buffer.h +6 -4
  76. data/vendor/libgit2/include/git2/cert.h +2 -1
  77. data/vendor/libgit2/include/git2/checkout.h +83 -32
  78. data/vendor/libgit2/include/git2/cherrypick.h +10 -3
  79. data/vendor/libgit2/include/git2/clone.h +25 -9
  80. data/vendor/libgit2/include/git2/commit.h +132 -3
  81. data/vendor/libgit2/include/git2/common.h +138 -56
  82. data/vendor/libgit2/include/git2/config.h +93 -23
  83. data/vendor/libgit2/include/git2/credential.h +30 -2
  84. data/vendor/libgit2/include/git2/credential_helpers.h +1 -0
  85. data/vendor/libgit2/include/git2/deprecated.h +133 -3
  86. data/vendor/libgit2/include/git2/describe.h +13 -1
  87. data/vendor/libgit2/include/git2/diff.h +77 -9
  88. data/vendor/libgit2/include/git2/email.h +9 -29
  89. data/vendor/libgit2/include/git2/errors.h +49 -74
  90. data/vendor/libgit2/include/git2/filter.h +14 -7
  91. data/vendor/libgit2/include/git2/global.h +8 -1
  92. data/vendor/libgit2/include/git2/graph.h +3 -2
  93. data/vendor/libgit2/include/git2/ignore.h +10 -0
  94. data/vendor/libgit2/include/git2/index.h +100 -6
  95. data/vendor/libgit2/include/git2/indexer.h +21 -4
  96. data/vendor/libgit2/include/git2/mailmap.h +7 -1
  97. data/vendor/libgit2/include/git2/merge.h +46 -1
  98. data/vendor/libgit2/include/git2/message.h +2 -2
  99. data/vendor/libgit2/include/git2/net.h +3 -1
  100. data/vendor/libgit2/include/git2/notes.h +9 -6
  101. data/vendor/libgit2/include/git2/object.h +9 -8
  102. data/vendor/libgit2/include/git2/odb.h +91 -49
  103. data/vendor/libgit2/include/git2/odb_backend.h +80 -52
  104. data/vendor/libgit2/include/git2/oid.h +24 -25
  105. data/vendor/libgit2/include/git2/oidarray.h +7 -1
  106. data/vendor/libgit2/include/git2/pack.h +13 -1
  107. data/vendor/libgit2/include/git2/patch.h +2 -3
  108. data/vendor/libgit2/include/git2/pathspec.h +9 -0
  109. data/vendor/libgit2/include/git2/proxy.h +10 -0
  110. data/vendor/libgit2/include/git2/rebase.h +9 -6
  111. data/vendor/libgit2/include/git2/refdb.h +2 -2
  112. data/vendor/libgit2/include/git2/reflog.h +3 -2
  113. data/vendor/libgit2/include/git2/refs.h +9 -6
  114. data/vendor/libgit2/include/git2/refspec.h +14 -4
  115. data/vendor/libgit2/include/git2/remote.h +112 -18
  116. data/vendor/libgit2/include/git2/repository.h +61 -15
  117. data/vendor/libgit2/include/git2/reset.h +16 -3
  118. data/vendor/libgit2/include/git2/revert.h +9 -4
  119. data/vendor/libgit2/include/git2/revparse.h +3 -3
  120. data/vendor/libgit2/include/git2/revwalk.h +3 -2
  121. data/vendor/libgit2/include/git2/signature.h +46 -1
  122. data/vendor/libgit2/include/git2/stash.h +17 -3
  123. data/vendor/libgit2/include/git2/status.h +10 -6
  124. data/vendor/libgit2/include/git2/stdint.h +87 -85
  125. data/vendor/libgit2/include/git2/strarray.h +2 -3
  126. data/vendor/libgit2/include/git2/submodule.h +20 -9
  127. data/vendor/libgit2/include/git2/sys/alloc.h +12 -34
  128. data/vendor/libgit2/include/git2/sys/commit.h +77 -3
  129. data/vendor/libgit2/include/git2/sys/commit_graph.h +109 -58
  130. data/vendor/libgit2/include/git2/sys/config.h +80 -4
  131. data/vendor/libgit2/include/git2/sys/credential.h +4 -3
  132. data/vendor/libgit2/include/git2/sys/diff.h +21 -1
  133. data/vendor/libgit2/include/git2/sys/email.h +7 -0
  134. data/vendor/libgit2/include/git2/sys/errors.h +76 -0
  135. data/vendor/libgit2/include/git2/sys/filter.h +66 -3
  136. data/vendor/libgit2/include/git2/sys/hashsig.h +11 -0
  137. data/vendor/libgit2/include/git2/sys/index.h +3 -2
  138. data/vendor/libgit2/include/git2/sys/mempack.h +32 -2
  139. data/vendor/libgit2/include/git2/sys/merge.h +55 -7
  140. data/vendor/libgit2/include/git2/sys/midx.h +47 -4
  141. data/vendor/libgit2/include/git2/sys/odb_backend.h +7 -3
  142. data/vendor/libgit2/include/git2/sys/openssl.h +8 -1
  143. data/vendor/libgit2/include/git2/sys/path.h +12 -1
  144. data/vendor/libgit2/include/git2/sys/refdb_backend.h +40 -36
  145. data/vendor/libgit2/include/git2/sys/refs.h +3 -2
  146. data/vendor/libgit2/include/git2/sys/remote.h +8 -1
  147. data/vendor/libgit2/include/git2/sys/repository.h +63 -3
  148. data/vendor/libgit2/include/git2/sys/stream.h +25 -2
  149. data/vendor/libgit2/include/git2/sys/transport.h +44 -5
  150. data/vendor/libgit2/include/git2/tag.h +3 -1
  151. data/vendor/libgit2/include/git2/trace.h +9 -3
  152. data/vendor/libgit2/include/git2/transaction.h +3 -2
  153. data/vendor/libgit2/include/git2/transport.h +11 -3
  154. data/vendor/libgit2/include/git2/tree.h +16 -5
  155. data/vendor/libgit2/include/git2/types.h +19 -3
  156. data/vendor/libgit2/include/git2/version.h +44 -8
  157. data/vendor/libgit2/include/git2/worktree.h +19 -7
  158. data/vendor/libgit2/src/CMakeLists.txt +40 -15
  159. data/vendor/libgit2/src/cli/CMakeLists.txt +2 -2
  160. data/vendor/libgit2/src/cli/cmd.c +1 -1
  161. data/vendor/libgit2/src/cli/cmd.h +4 -0
  162. data/vendor/libgit2/src/cli/cmd_blame.c +287 -0
  163. data/vendor/libgit2/src/cli/cmd_cat_file.c +6 -8
  164. data/vendor/libgit2/src/cli/cmd_clone.c +27 -13
  165. data/vendor/libgit2/src/cli/cmd_config.c +241 -0
  166. data/vendor/libgit2/src/cli/cmd_hash_object.c +6 -8
  167. data/vendor/libgit2/src/cli/cmd_help.c +6 -7
  168. data/vendor/libgit2/src/cli/cmd_index_pack.c +114 -0
  169. data/vendor/libgit2/src/cli/cmd_init.c +102 -0
  170. data/vendor/libgit2/src/cli/common.c +168 -0
  171. data/vendor/libgit2/src/cli/common.h +63 -0
  172. data/vendor/libgit2/src/cli/error.h +1 -1
  173. data/vendor/libgit2/src/cli/main.c +52 -24
  174. data/vendor/libgit2/src/cli/opt.c +29 -3
  175. data/vendor/libgit2/src/cli/opt.h +21 -3
  176. data/vendor/libgit2/src/cli/opt_usage.c +102 -33
  177. data/vendor/libgit2/src/cli/opt_usage.h +6 -1
  178. data/vendor/libgit2/src/cli/progress.c +60 -10
  179. data/vendor/libgit2/src/cli/progress.h +16 -4
  180. data/vendor/libgit2/src/cli/unix/sighandler.c +2 -1
  181. data/vendor/libgit2/src/cli/win32/precompiled.h +1 -1
  182. data/vendor/libgit2/src/cli/win32/sighandler.c +1 -1
  183. data/vendor/libgit2/src/libgit2/CMakeLists.txt +27 -27
  184. data/vendor/libgit2/src/libgit2/annotated_commit.c +2 -2
  185. data/vendor/libgit2/src/libgit2/annotated_commit.h +1 -1
  186. data/vendor/libgit2/src/libgit2/apply.c +14 -16
  187. data/vendor/libgit2/src/libgit2/attr.c +30 -13
  188. data/vendor/libgit2/src/libgit2/attr_file.c +7 -2
  189. data/vendor/libgit2/src/libgit2/attr_file.h +2 -0
  190. data/vendor/libgit2/src/libgit2/attrcache.c +69 -33
  191. data/vendor/libgit2/src/libgit2/attrcache.h +5 -9
  192. data/vendor/libgit2/src/libgit2/blame.c +152 -59
  193. data/vendor/libgit2/src/libgit2/blame.h +1 -0
  194. data/vendor/libgit2/src/libgit2/blame_git.c +0 -1
  195. data/vendor/libgit2/src/libgit2/branch.c +2 -2
  196. data/vendor/libgit2/src/libgit2/cache.c +22 -17
  197. data/vendor/libgit2/src/libgit2/cache.h +7 -9
  198. data/vendor/libgit2/src/libgit2/checkout.c +34 -24
  199. data/vendor/libgit2/src/libgit2/checkout.h +0 -2
  200. data/vendor/libgit2/src/libgit2/cherrypick.c +4 -5
  201. data/vendor/libgit2/src/libgit2/clone.c +186 -164
  202. data/vendor/libgit2/src/libgit2/clone.h +4 -1
  203. data/vendor/libgit2/src/libgit2/commit.c +123 -9
  204. data/vendor/libgit2/src/libgit2/commit_graph.c +166 -88
  205. data/vendor/libgit2/src/libgit2/commit_graph.h +21 -6
  206. data/vendor/libgit2/src/libgit2/commit_list.c +12 -5
  207. data/vendor/libgit2/src/libgit2/commit_list.h +1 -0
  208. data/vendor/libgit2/src/libgit2/config.c +394 -300
  209. data/vendor/libgit2/src/libgit2/config.cmake.in +3 -0
  210. data/vendor/libgit2/src/libgit2/config.h +9 -4
  211. data/vendor/libgit2/src/libgit2/config_backend.h +8 -10
  212. data/vendor/libgit2/src/libgit2/config_cache.c +4 -5
  213. data/vendor/libgit2/src/libgit2/config_file.c +113 -96
  214. data/vendor/libgit2/src/libgit2/config_list.c +285 -0
  215. data/vendor/libgit2/src/libgit2/config_list.h +32 -0
  216. data/vendor/libgit2/src/libgit2/config_mem.c +194 -40
  217. data/vendor/libgit2/src/libgit2/config_parse.c +10 -9
  218. data/vendor/libgit2/src/libgit2/config_snapshot.c +24 -31
  219. data/vendor/libgit2/src/libgit2/describe.c +34 -31
  220. data/vendor/libgit2/src/libgit2/diff.c +17 -8
  221. data/vendor/libgit2/src/libgit2/diff.h +6 -6
  222. data/vendor/libgit2/src/libgit2/diff_driver.c +12 -19
  223. data/vendor/libgit2/src/libgit2/diff_driver.h +2 -2
  224. data/vendor/libgit2/src/libgit2/diff_file.c +7 -7
  225. data/vendor/libgit2/src/libgit2/diff_generate.c +39 -18
  226. data/vendor/libgit2/src/libgit2/diff_parse.c +22 -6
  227. data/vendor/libgit2/src/libgit2/diff_print.c +88 -13
  228. data/vendor/libgit2/src/libgit2/diff_tform.c +40 -12
  229. data/vendor/libgit2/src/libgit2/diff_xdiff.h +1 -1
  230. data/vendor/libgit2/src/libgit2/email.c +5 -3
  231. data/vendor/libgit2/src/libgit2/fetch.c +39 -9
  232. data/vendor/libgit2/src/libgit2/fetch.h +0 -2
  233. data/vendor/libgit2/src/libgit2/fetchhead.c +11 -9
  234. data/vendor/libgit2/src/libgit2/filter.c +5 -5
  235. data/vendor/libgit2/src/libgit2/git2.rc +3 -3
  236. data/vendor/libgit2/src/libgit2/grafts.c +270 -0
  237. data/vendor/libgit2/src/libgit2/grafts.h +35 -0
  238. data/vendor/libgit2/src/libgit2/graph.c +1 -1
  239. data/vendor/libgit2/src/libgit2/hashmap_oid.h +30 -0
  240. data/vendor/libgit2/src/libgit2/ident.c +3 -3
  241. data/vendor/libgit2/src/libgit2/ignore.c +9 -5
  242. data/vendor/libgit2/src/libgit2/index.c +392 -208
  243. data/vendor/libgit2/src/libgit2/index.h +16 -3
  244. data/vendor/libgit2/src/libgit2/index_map.c +95 -0
  245. data/vendor/libgit2/src/libgit2/index_map.h +28 -0
  246. data/vendor/libgit2/src/libgit2/indexer.c +44 -41
  247. data/vendor/libgit2/src/libgit2/iterator.c +34 -13
  248. data/vendor/libgit2/src/libgit2/iterator.h +3 -0
  249. data/vendor/libgit2/src/libgit2/libgit2.c +155 -331
  250. data/vendor/libgit2/src/libgit2/mailmap.c +1 -1
  251. data/vendor/libgit2/src/libgit2/merge.c +56 -46
  252. data/vendor/libgit2/src/libgit2/merge_driver.c +2 -2
  253. data/vendor/libgit2/src/libgit2/merge_file.c +0 -2
  254. data/vendor/libgit2/src/libgit2/midx.c +86 -44
  255. data/vendor/libgit2/src/libgit2/midx.h +13 -3
  256. data/vendor/libgit2/src/libgit2/mwindow.c +38 -45
  257. data/vendor/libgit2/src/libgit2/mwindow.h +4 -0
  258. data/vendor/libgit2/src/libgit2/notes.c +9 -8
  259. data/vendor/libgit2/src/libgit2/object.c +42 -16
  260. data/vendor/libgit2/src/libgit2/object.h +6 -0
  261. data/vendor/libgit2/src/libgit2/odb.c +16 -9
  262. data/vendor/libgit2/src/libgit2/odb_mempack.c +49 -17
  263. data/vendor/libgit2/src/libgit2/odb_pack.c +28 -7
  264. data/vendor/libgit2/src/libgit2/oid.c +35 -2
  265. data/vendor/libgit2/src/libgit2/oid.h +11 -0
  266. data/vendor/libgit2/src/libgit2/oidarray.c +49 -3
  267. data/vendor/libgit2/src/libgit2/oidarray.h +5 -1
  268. data/vendor/libgit2/src/libgit2/pack-objects.c +77 -43
  269. data/vendor/libgit2/src/libgit2/pack-objects.h +17 -6
  270. data/vendor/libgit2/src/libgit2/pack.c +33 -27
  271. data/vendor/libgit2/src/libgit2/pack.h +15 -10
  272. data/vendor/libgit2/src/libgit2/parse.c +7 -4
  273. data/vendor/libgit2/src/libgit2/parse.h +1 -1
  274. data/vendor/libgit2/src/libgit2/patch.h +7 -1
  275. data/vendor/libgit2/src/libgit2/patch_generate.c +24 -5
  276. data/vendor/libgit2/src/libgit2/patch_parse.c +18 -10
  277. data/vendor/libgit2/src/libgit2/path.c +1 -1
  278. data/vendor/libgit2/src/libgit2/pathspec.c +1 -1
  279. data/vendor/libgit2/src/libgit2/push.c +81 -30
  280. data/vendor/libgit2/src/libgit2/push.h +1 -0
  281. data/vendor/libgit2/src/libgit2/reader.c +1 -1
  282. data/vendor/libgit2/src/libgit2/rebase.c +72 -84
  283. data/vendor/libgit2/src/libgit2/refdb_fs.c +146 -70
  284. data/vendor/libgit2/src/libgit2/reflog.c +1 -2
  285. data/vendor/libgit2/src/libgit2/reflog.h +2 -0
  286. data/vendor/libgit2/src/libgit2/refs.c +34 -8
  287. data/vendor/libgit2/src/libgit2/refs.h +6 -1
  288. data/vendor/libgit2/src/libgit2/refspec.c +28 -1
  289. data/vendor/libgit2/src/libgit2/refspec.h +8 -0
  290. data/vendor/libgit2/src/libgit2/remote.c +136 -67
  291. data/vendor/libgit2/src/libgit2/remote.h +1 -0
  292. data/vendor/libgit2/src/libgit2/repository.c +789 -330
  293. data/vendor/libgit2/src/libgit2/repository.h +22 -3
  294. data/vendor/libgit2/src/libgit2/reset.c +2 -2
  295. data/vendor/libgit2/src/libgit2/revert.c +9 -13
  296. data/vendor/libgit2/src/libgit2/revparse.c +6 -3
  297. data/vendor/libgit2/src/libgit2/revwalk.c +36 -11
  298. data/vendor/libgit2/src/libgit2/revwalk.h +3 -3
  299. data/vendor/libgit2/src/libgit2/settings.c +468 -0
  300. data/vendor/libgit2/src/libgit2/settings.h +6 -2
  301. data/vendor/libgit2/src/libgit2/signature.c +132 -15
  302. data/vendor/libgit2/src/libgit2/signature.h +0 -1
  303. data/vendor/libgit2/src/libgit2/stash.c +9 -8
  304. data/vendor/libgit2/src/libgit2/status.c +1 -1
  305. data/vendor/libgit2/src/libgit2/streams/mbedtls.c +54 -61
  306. data/vendor/libgit2/src/libgit2/streams/openssl.c +40 -23
  307. data/vendor/libgit2/src/libgit2/streams/openssl.h +2 -0
  308. data/vendor/libgit2/src/libgit2/streams/openssl_dynamic.c +4 -0
  309. data/vendor/libgit2/src/libgit2/streams/openssl_dynamic.h +3 -0
  310. data/vendor/libgit2/src/libgit2/streams/schannel.c +715 -0
  311. data/vendor/libgit2/src/libgit2/streams/schannel.h +28 -0
  312. data/vendor/libgit2/src/libgit2/streams/socket.c +237 -51
  313. data/vendor/libgit2/src/libgit2/streams/socket.h +3 -1
  314. data/vendor/libgit2/src/libgit2/streams/stransport.c +79 -19
  315. data/vendor/libgit2/src/libgit2/streams/tls.c +5 -0
  316. data/vendor/libgit2/src/libgit2/submodule.c +106 -63
  317. data/vendor/libgit2/src/libgit2/submodule.h +9 -10
  318. data/vendor/libgit2/src/libgit2/tag.c +1 -1
  319. data/vendor/libgit2/src/libgit2/trailer.c +6 -6
  320. data/vendor/libgit2/src/libgit2/transaction.c +26 -20
  321. data/vendor/libgit2/src/libgit2/transaction.h +4 -1
  322. data/vendor/libgit2/src/libgit2/transport.c +4 -1
  323. data/vendor/libgit2/src/libgit2/transports/auth.h +1 -2
  324. data/vendor/libgit2/src/libgit2/transports/{auth_negotiate.c → auth_gssapi.c} +32 -32
  325. data/vendor/libgit2/src/libgit2/transports/auth_negotiate.h +1 -1
  326. data/vendor/libgit2/src/libgit2/transports/auth_ntlm.h +1 -1
  327. data/vendor/libgit2/src/libgit2/transports/{auth_ntlm.c → auth_ntlmclient.c} +12 -12
  328. data/vendor/libgit2/src/libgit2/transports/auth_sspi.c +341 -0
  329. data/vendor/libgit2/src/libgit2/transports/credential.c +1 -1
  330. data/vendor/libgit2/src/libgit2/transports/git.c +7 -8
  331. data/vendor/libgit2/src/libgit2/transports/http.c +8 -4
  332. data/vendor/libgit2/src/libgit2/transports/http.h +0 -10
  333. data/vendor/libgit2/src/libgit2/transports/httpclient.c +117 -72
  334. data/vendor/libgit2/src/libgit2/transports/httpparser.c +128 -0
  335. data/vendor/libgit2/src/libgit2/transports/httpparser.h +99 -0
  336. data/vendor/libgit2/src/libgit2/transports/local.c +21 -11
  337. data/vendor/libgit2/src/libgit2/transports/smart.c +50 -32
  338. data/vendor/libgit2/src/libgit2/transports/smart.h +26 -9
  339. data/vendor/libgit2/src/libgit2/transports/smart_pkt.c +139 -18
  340. data/vendor/libgit2/src/libgit2/transports/smart_protocol.c +209 -57
  341. data/vendor/libgit2/src/libgit2/transports/ssh.c +41 -1103
  342. data/vendor/libgit2/src/libgit2/transports/ssh_exec.c +347 -0
  343. data/vendor/libgit2/src/libgit2/transports/ssh_exec.h +26 -0
  344. data/vendor/libgit2/src/libgit2/transports/ssh_libssh2.c +1126 -0
  345. data/vendor/libgit2/src/libgit2/transports/ssh_libssh2.h +28 -0
  346. data/vendor/libgit2/src/libgit2/transports/winhttp.c +48 -21
  347. data/vendor/libgit2/src/libgit2/tree-cache.c +26 -16
  348. data/vendor/libgit2/src/libgit2/tree-cache.h +5 -3
  349. data/vendor/libgit2/src/libgit2/tree.c +35 -27
  350. data/vendor/libgit2/src/libgit2/tree.h +3 -2
  351. data/vendor/libgit2/src/libgit2/worktree.c +39 -27
  352. data/vendor/libgit2/src/util/CMakeLists.txt +4 -6
  353. data/vendor/libgit2/src/util/alloc.c +69 -7
  354. data/vendor/libgit2/src/util/alloc.h +34 -9
  355. data/vendor/libgit2/src/util/allocators/debugalloc.c +73 -0
  356. data/vendor/libgit2/src/{cli/cli.h → util/allocators/debugalloc.h} +6 -9
  357. data/vendor/libgit2/src/util/allocators/failalloc.c +0 -60
  358. data/vendor/libgit2/src/util/allocators/failalloc.h +0 -6
  359. data/vendor/libgit2/src/util/allocators/stdalloc.c +2 -115
  360. data/vendor/libgit2/src/util/allocators/win32_leakcheck.c +0 -68
  361. data/vendor/libgit2/src/util/array.h +24 -18
  362. data/vendor/libgit2/src/util/cc-compat.h +4 -0
  363. data/vendor/libgit2/src/util/ctype_compat.h +70 -0
  364. data/vendor/libgit2/src/util/date.c +22 -14
  365. data/vendor/libgit2/src/util/date.h +12 -0
  366. data/vendor/libgit2/src/util/errors.c +401 -0
  367. data/vendor/libgit2/src/{libgit2 → util}/errors.h +21 -17
  368. data/vendor/libgit2/src/util/filebuf.c +6 -1
  369. data/vendor/libgit2/src/util/filebuf.h +19 -6
  370. data/vendor/libgit2/src/util/fs_path.c +16 -5
  371. data/vendor/libgit2/src/util/fs_path.h +23 -0
  372. data/vendor/libgit2/src/util/futils.c +14 -10
  373. data/vendor/libgit2/src/util/futils.h +13 -4
  374. data/vendor/libgit2/src/util/git2_features.h.in +21 -4
  375. data/vendor/libgit2/src/util/git2_util.h +6 -0
  376. data/vendor/libgit2/src/util/hash/openssl.c +152 -0
  377. data/vendor/libgit2/src/util/hash/openssl.h +17 -1
  378. data/vendor/libgit2/src/util/hash/sha.h +4 -1
  379. data/vendor/libgit2/src/util/hashmap.h +424 -0
  380. data/vendor/libgit2/src/util/hashmap_str.h +43 -0
  381. data/vendor/libgit2/src/util/integer.h +3 -1
  382. data/vendor/libgit2/src/util/net.c +318 -161
  383. data/vendor/libgit2/src/util/net.h +27 -0
  384. data/vendor/libgit2/src/util/pool.c +1 -1
  385. data/vendor/libgit2/src/util/pool.h +5 -0
  386. data/vendor/libgit2/src/util/posix.c +54 -0
  387. data/vendor/libgit2/src/util/posix.h +22 -0
  388. data/vendor/libgit2/src/util/pqueue.h +1 -1
  389. data/vendor/libgit2/src/util/process.h +222 -0
  390. data/vendor/libgit2/src/util/rand.c +6 -10
  391. data/vendor/libgit2/src/util/regexp.c +1 -1
  392. data/vendor/libgit2/src/util/sortedcache.c +14 -13
  393. data/vendor/libgit2/src/util/sortedcache.h +3 -3
  394. data/vendor/libgit2/src/util/staticstr.h +66 -0
  395. data/vendor/libgit2/src/util/str.c +2 -2
  396. data/vendor/libgit2/src/util/strlist.c +108 -0
  397. data/vendor/libgit2/src/util/strlist.h +36 -0
  398. data/vendor/libgit2/src/util/unix/posix.h +0 -2
  399. data/vendor/libgit2/src/util/unix/process.c +629 -0
  400. data/vendor/libgit2/src/util/unix/realpath.c +23 -5
  401. data/vendor/libgit2/src/util/util.c +17 -12
  402. data/vendor/libgit2/src/util/util.h +28 -54
  403. data/vendor/libgit2/src/util/vector.c +3 -3
  404. data/vendor/libgit2/src/util/vector.h +2 -2
  405. data/vendor/libgit2/src/util/win32/error.c +1 -1
  406. data/vendor/libgit2/src/util/win32/path_w32.c +8 -8
  407. data/vendor/libgit2/src/util/win32/posix_w32.c +30 -7
  408. data/vendor/libgit2/src/util/win32/process.c +506 -0
  409. data/vendor/libgit2/src/util/win32/utf-conv.c +73 -75
  410. data/vendor/libgit2/src/util/win32/utf-conv.h +81 -14
  411. data/vendor/libgit2/src/util/win32/w32_util.c +1 -1
  412. metadata +72 -49
  413. data/vendor/libgit2/cmake/SelectWinHTTP.cmake +0 -17
  414. data/vendor/libgit2/deps/http-parser/CMakeLists.txt +0 -6
  415. data/vendor/libgit2/deps/http-parser/COPYING +0 -23
  416. data/vendor/libgit2/deps/http-parser/http_parser.c +0 -2182
  417. data/vendor/libgit2/deps/http-parser/http_parser.h +0 -305
  418. data/vendor/libgit2/deps/zlib/COPYING +0 -27
  419. data/vendor/libgit2/include/git2/sys/reflog.h +0 -21
  420. data/vendor/libgit2/src/libgit2/config_entries.c +0 -237
  421. data/vendor/libgit2/src/libgit2/config_entries.h +0 -24
  422. data/vendor/libgit2/src/libgit2/errors.c +0 -238
  423. data/vendor/libgit2/src/libgit2/idxmap.c +0 -157
  424. data/vendor/libgit2/src/libgit2/idxmap.h +0 -177
  425. data/vendor/libgit2/src/libgit2/libgit2.h +0 -15
  426. data/vendor/libgit2/src/libgit2/netops.c +0 -124
  427. data/vendor/libgit2/src/libgit2/netops.h +0 -68
  428. data/vendor/libgit2/src/libgit2/offmap.c +0 -101
  429. data/vendor/libgit2/src/libgit2/offmap.h +0 -133
  430. data/vendor/libgit2/src/libgit2/oidmap.c +0 -107
  431. data/vendor/libgit2/src/libgit2/oidmap.h +0 -128
  432. data/vendor/libgit2/src/libgit2/threadstate.c +0 -84
  433. data/vendor/libgit2/src/libgit2/threadstate.h +0 -24
  434. data/vendor/libgit2/src/libgit2/transports/ssh.h +0 -14
  435. data/vendor/libgit2/src/util/khash.h +0 -615
  436. data/vendor/libgit2/src/util/strmap.c +0 -100
  437. data/vendor/libgit2/src/util/strmap.h +0 -131
  438. /data/vendor/libgit2/cmake/{FindHTTPParser.cmake → FindHTTP_Parser.cmake} +0 -0
  439. /data/vendor/libgit2/{src/libgit2 → deps}/xdiff/xdiff.h +0 -0
  440. /data/vendor/libgit2/{src/libgit2 → deps}/xdiff/xemit.h +0 -0
  441. /data/vendor/libgit2/{src/libgit2 → deps}/xdiff/xinclude.h +0 -0
  442. /data/vendor/libgit2/{src/libgit2 → deps}/xdiff/xprepare.h +0 -0
  443. /data/vendor/libgit2/{src/libgit2 → deps}/xdiff/xtypes.h +0 -0
@@ -15,9 +15,14 @@
15
15
 
16
16
  /**
17
17
  * @file git2/index.h
18
- * @brief Git index parsing and manipulation routines
18
+ * @brief Index (aka "cache" aka "staging area")
19
19
  * @defgroup git_index Git index parsing and manipulation routines
20
20
  * @ingroup Git
21
+ *
22
+ * The index (or "cache", or "staging area") is the contents of the
23
+ * next commit. In addition, the index stores other data, such as
24
+ * conflicts that occurred during the last merge operation, and
25
+ * the "treecache" to speed up various on-disk operations.
21
26
  * @{
22
27
  */
23
28
  GIT_BEGIN_DECL
@@ -77,8 +82,11 @@ typedef struct git_index_entry {
77
82
  * data in the `flags`.
78
83
  */
79
84
 
85
+ /** Mask for name length */
80
86
  #define GIT_INDEX_ENTRY_NAMEMASK (0x0fff)
87
+ /** Mask for index entry stage */
81
88
  #define GIT_INDEX_ENTRY_STAGEMASK (0x3000)
89
+ /** Shift bits for index entry */
82
90
  #define GIT_INDEX_ENTRY_STAGESHIFT 12
83
91
 
84
92
  /**
@@ -89,9 +97,17 @@ typedef enum {
89
97
  GIT_INDEX_ENTRY_VALID = (0x8000)
90
98
  } git_index_entry_flag_t;
91
99
 
100
+ /**
101
+ * Macro to get the stage value (0 for the "main index", or a conflict
102
+ * value) from an index entry.
103
+ */
92
104
  #define GIT_INDEX_ENTRY_STAGE(E) \
93
105
  (((E)->flags & GIT_INDEX_ENTRY_STAGEMASK) >> GIT_INDEX_ENTRY_STAGESHIFT)
94
106
 
107
+ /**
108
+ * Macro to set the stage value (0 for the "main index", or a conflict
109
+ * value) for an index entry.
110
+ */
95
111
  #define GIT_INDEX_ENTRY_STAGE_SET(E,S) do { \
96
112
  (E)->flags = ((E)->flags & ~GIT_INDEX_ENTRY_STAGEMASK) | \
97
113
  (((S) & 0x03) << GIT_INDEX_ENTRY_STAGESHIFT); } while (0)
@@ -131,7 +147,14 @@ typedef enum {
131
147
  } git_index_capability_t;
132
148
 
133
149
 
134
- /** Callback for APIs that add/remove/update files matching pathspec */
150
+ /**
151
+ * Callback for APIs that add/remove/update files matching pathspec
152
+ *
153
+ * @param path the path
154
+ * @param matched_pathspec the given pathspec
155
+ * @param payload the user-specified payload
156
+ * @return 0 to continue with the index operation, positive number to skip this file for the index operation, negative number on failure
157
+ */
135
158
  typedef int GIT_CALLBACK(git_index_matched_path_cb)(
136
159
  const char *path, const char *matched_pathspec, void *payload);
137
160
 
@@ -166,6 +189,74 @@ typedef enum {
166
189
  GIT_INDEX_STAGE_THEIRS = 3
167
190
  } git_index_stage_t;
168
191
 
192
+ #ifdef GIT_EXPERIMENTAL_SHA256
193
+
194
+ /**
195
+ * The options for opening or creating an index.
196
+ *
197
+ * Initialize with `GIT_INDEX_OPTIONS_INIT`. Alternatively, you can
198
+ * use `git_index_options_init`.
199
+ *
200
+ * @options[version] GIT_INDEX_OPTIONS_VERSION
201
+ * @options[init_macro] GIT_INDEX_OPTIONS_INIT
202
+ * @options[init_function] git_index_options_init
203
+ */
204
+ typedef struct git_index_options {
205
+ unsigned int version; /**< The version */
206
+
207
+ /**
208
+ * The object ID type for the object IDs that exist in the index.
209
+ *
210
+ * If this is not specified, this defaults to `GIT_OID_SHA1`.
211
+ */
212
+ git_oid_t oid_type;
213
+ } git_index_options;
214
+
215
+ /** Current version for the `git_index_options` structure */
216
+ #define GIT_INDEX_OPTIONS_VERSION 1
217
+
218
+ /** Static constructor for `git_index_options` */
219
+ #define GIT_INDEX_OPTIONS_INIT { GIT_INDEX_OPTIONS_VERSION }
220
+
221
+ /**
222
+ * Initialize git_index_options structure
223
+ *
224
+ * Initializes a `git_index_options` with default values. Equivalent to creating
225
+ * an instance with GIT_INDEX_OPTIONS_INIT.
226
+ *
227
+ * @param opts The `git_index_options` struct to initialize.
228
+ * @param version The struct version; pass `GIT_INDEX_OPTIONS_VERSION`.
229
+ * @return Zero on success; -1 on failure.
230
+ */
231
+ GIT_EXTERN(int) git_index_options_init(
232
+ git_index_options *opts,
233
+ unsigned int version);
234
+
235
+ /**
236
+ * Creates a new bare Git index object, without a repository to back
237
+ * it. This index object is capable of storing SHA256 objects.
238
+ *
239
+ * @param index_out the pointer for the new index
240
+ * @param index_path the path to the index file in disk
241
+ * @param opts the options for opening the index, or NULL
242
+ * @return 0 or an error code
243
+ */
244
+ GIT_EXTERN(int) git_index_open(
245
+ git_index **index_out,
246
+ const char *index_path,
247
+ const git_index_options *opts);
248
+
249
+ /**
250
+ * Create an in-memory index object.
251
+ *
252
+ * @param index_out the pointer for the new index
253
+ * @param opts the options for opening the index, or NULL
254
+ * @return 0 or an error code
255
+ */
256
+ GIT_EXTERN(int) git_index_new(git_index **index_out, const git_index_options *opts);
257
+
258
+ #else
259
+
169
260
  /**
170
261
  * Create a new bare Git index object as a memory representation
171
262
  * of the Git index file in 'index_path', without a repository
@@ -180,11 +271,11 @@ typedef enum {
180
271
  *
181
272
  * The index must be freed once it's no longer in use.
182
273
  *
183
- * @param out the pointer for the new index
274
+ * @param index_out the pointer for the new index
184
275
  * @param index_path the path to the index file in disk
185
276
  * @return 0 or an error code
186
277
  */
187
- GIT_EXTERN(int) git_index_open(git_index **out, const char *index_path);
278
+ GIT_EXTERN(int) git_index_open(git_index **index_out, const char *index_path);
188
279
 
189
280
  /**
190
281
  * Create an in-memory index object.
@@ -194,10 +285,12 @@ GIT_EXTERN(int) git_index_open(git_index **out, const char *index_path);
194
285
  *
195
286
  * The index must be freed once it's no longer in use.
196
287
  *
197
- * @param out the pointer for the new index
288
+ * @param index_out the pointer for the new index
198
289
  * @return 0 or an error code
199
290
  */
200
- GIT_EXTERN(int) git_index_new(git_index **out);
291
+ GIT_EXTERN(int) git_index_new(git_index **index_out);
292
+
293
+ #endif
201
294
 
202
295
  /**
203
296
  * Free an existing index object.
@@ -836,4 +929,5 @@ GIT_EXTERN(void) git_index_conflict_iterator_free(
836
929
 
837
930
  /** @} */
838
931
  GIT_END_DECL
932
+
839
933
  #endif
@@ -4,13 +4,23 @@
4
4
  * This file is part of libgit2, distributed under the GNU GPL v2 with
5
5
  * a Linking Exception. For full terms see the included COPYING file.
6
6
  */
7
- #ifndef _INCLUDE_git_indexer_h__
8
- #define _INCLUDE_git_indexer_h__
7
+ #ifndef INCLUDE_git_indexer_h__
8
+ #define INCLUDE_git_indexer_h__
9
9
 
10
10
  #include "common.h"
11
11
  #include "types.h"
12
12
  #include "oid.h"
13
13
 
14
+ /**
15
+ * @file git2/indexer.h
16
+ * @brief Packfile indexing
17
+ * @ingroup Git
18
+ * @{
19
+ *
20
+ * Indexing is the operation of taking a packfile - which is simply a
21
+ * collection of unordered commits - and producing an "index" so that
22
+ * one can lookup a commit in the packfile by object ID.
23
+ */
14
24
  GIT_BEGIN_DECL
15
25
 
16
26
  /** A git indexer object */
@@ -53,6 +63,7 @@ typedef struct git_indexer_progress {
53
63
  *
54
64
  * @param stats Structure containing information about the state of the transfer
55
65
  * @param payload Payload provided by caller
66
+ * @return 0 on success or an error code
56
67
  */
57
68
  typedef int GIT_CALLBACK(git_indexer_progress_cb)(const git_indexer_progress *stats, void *payload);
58
69
 
@@ -66,6 +77,9 @@ typedef struct git_indexer_options {
66
77
  /** permissions to use creating packfile or 0 for defaults */
67
78
  unsigned int mode;
68
79
 
80
+ /** the type of object ids in the packfile or 0 for SHA1 */
81
+ git_oid_t oid_type;
82
+
69
83
  /**
70
84
  * object database from which to read base objects when
71
85
  * fixing thin packs. This can be NULL if there are no thin
@@ -85,7 +99,10 @@ typedef struct git_indexer_options {
85
99
  unsigned char verify;
86
100
  } git_indexer_options;
87
101
 
102
+ /** Current version for the `git_indexer_options` structure */
88
103
  #define GIT_INDEXER_OPTIONS_VERSION 1
104
+
105
+ /** Static constructor for `git_indexer_options` */
89
106
  #define GIT_INDEXER_OPTIONS_INIT { GIT_INDEXER_OPTIONS_VERSION }
90
107
 
91
108
  /**
@@ -106,13 +123,12 @@ GIT_EXTERN(int) git_indexer_options_init(
106
123
  *
107
124
  * @param out where to store the indexer instance
108
125
  * @param path to the directory where the packfile should be stored
109
- * @param oid_type the oid type to use for objects
126
+ * @param opts the options to create the indexer with
110
127
  * @return 0 or an error code.
111
128
  */
112
129
  GIT_EXTERN(int) git_indexer_new(
113
130
  git_indexer **out,
114
131
  const char *path,
115
- git_oid_t oid_type,
116
132
  git_indexer_options *opts);
117
133
  #else
118
134
  /**
@@ -190,6 +206,7 @@ GIT_EXTERN(const char *) git_indexer_name(const git_indexer *idx);
190
206
  */
191
207
  GIT_EXTERN(void) git_indexer_free(git_indexer *idx);
192
208
 
209
+ /** @} */
193
210
  GIT_END_DECL
194
211
 
195
212
  #endif
@@ -13,10 +13,15 @@
13
13
 
14
14
  /**
15
15
  * @file git2/mailmap.h
16
- * @brief Mailmap parsing routines
16
+ * @brief Mailmaps provide alternate email addresses for users
17
17
  * @defgroup git_mailmap Git mailmap routines
18
18
  * @ingroup Git
19
19
  * @{
20
+ *
21
+ * A mailmap can be used to specify alternate email addresses for
22
+ * repository committers or authors. This allows systems to map
23
+ * commits made using different email addresses to the same logical
24
+ * person.
20
25
  */
21
26
  GIT_BEGIN_DECL
22
27
 
@@ -112,4 +117,5 @@ GIT_EXTERN(int) git_mailmap_resolve_signature(
112
117
 
113
118
  /** @} */
114
119
  GIT_END_DECL
120
+
115
121
  #endif
@@ -17,9 +17,12 @@
17
17
 
18
18
  /**
19
19
  * @file git2/merge.h
20
- * @brief Git merge routines
20
+ * @brief Merge re-joins diverging branches of history
21
21
  * @defgroup git_merge Git merge routines
22
22
  * @ingroup Git
23
+ *
24
+ * Merge will take two commits and attempt to produce a commit that
25
+ * includes the changes that were made in both branches.
23
26
  * @{
24
27
  */
25
28
  GIT_BEGIN_DECL
@@ -45,7 +48,10 @@ typedef struct {
45
48
  unsigned int mode;
46
49
  } git_merge_file_input;
47
50
 
51
+ /** Current version for the `git_merge_file_input_options` structure */
48
52
  #define GIT_MERGE_FILE_INPUT_VERSION 1
53
+
54
+ /** Static constructor for `git_merge_file_input_options` */
49
55
  #define GIT_MERGE_FILE_INPUT_INIT {GIT_MERGE_FILE_INPUT_VERSION}
50
56
 
51
57
  /**
@@ -180,6 +186,7 @@ typedef enum {
180
186
  GIT_MERGE_FILE_ACCEPT_CONFLICTS = (1 << 9)
181
187
  } git_merge_file_flag_t;
182
188
 
189
+ /** Default size for conflict markers */
183
190
  #define GIT_MERGE_CONFLICT_MARKER_SIZE 7
184
191
 
185
192
  /**
@@ -217,7 +224,10 @@ typedef struct {
217
224
  unsigned short marker_size;
218
225
  } git_merge_file_options;
219
226
 
227
+ /** Current version for the `git_merge_file_options` structure */
220
228
  #define GIT_MERGE_FILE_OPTIONS_VERSION 1
229
+
230
+ /** Static constructor for `git_merge_file_options` */
221
231
  #define GIT_MERGE_FILE_OPTIONS_INIT {GIT_MERGE_FILE_OPTIONS_VERSION}
222
232
 
223
233
  /**
@@ -312,7 +322,10 @@ typedef struct {
312
322
  uint32_t file_flags;
313
323
  } git_merge_options;
314
324
 
325
+ /** Current version for the `git_merge_options` structure */
315
326
  #define GIT_MERGE_OPTIONS_VERSION 1
327
+
328
+ /** Static constructor for `git_merge_options` */
316
329
  #define GIT_MERGE_OPTIONS_INIT { \
317
330
  GIT_MERGE_OPTIONS_VERSION, GIT_MERGE_FIND_RENAMES }
318
331
 
@@ -471,6 +484,37 @@ GIT_EXTERN(int) git_merge_base_many(
471
484
  /**
472
485
  * Find all merge bases given a list of commits
473
486
  *
487
+ * This behaves similar to [`git merge-base`](https://git-scm.com/docs/git-merge-base#_discussion).
488
+ *
489
+ * Given three commits `a`, `b`, and `c`, `merge_base_many`
490
+ * will compute a hypothetical commit `m`, which is a merge between `b`
491
+ * and `c`.
492
+
493
+ * For example, with the following topology:
494
+ * ```text
495
+ * o---o---o---o---C
496
+ * /
497
+ * / o---o---o---B
498
+ * / /
499
+ * ---2---1---o---o---o---A
500
+ * ```
501
+ *
502
+ * the result of `merge_base_many` given `a`, `b`, and `c` is 1. This is
503
+ * because the equivalent topology with the imaginary merge commit `m`
504
+ * between `b` and `c` is:
505
+ * ```text
506
+ * o---o---o---o---o
507
+ * / \
508
+ * / o---o---o---o---M
509
+ * / /
510
+ * ---2---1---o---o---o---A
511
+ * ```
512
+ *
513
+ * and the result of `merge_base_many` given `a` and `m` is 1.
514
+ *
515
+ * If you're looking to recieve the common ancestor between all the
516
+ * given commits, use `merge_base_octopus`.
517
+ *
474
518
  * @param out array in which to store the resulting ids
475
519
  * @param repo the repository where the commits exist
476
520
  * @param length The number of commits in the provided `input_array`
@@ -623,4 +667,5 @@ GIT_EXTERN(int) git_merge(
623
667
 
624
668
  /** @} */
625
669
  GIT_END_DECL
670
+
626
671
  #endif
@@ -12,7 +12,7 @@
12
12
 
13
13
  /**
14
14
  * @file git2/message.h
15
- * @brief Git message management routines
15
+ * @brief Commit messages
16
16
  * @ingroup Git
17
17
  * @{
18
18
  */
@@ -83,4 +83,4 @@ GIT_EXTERN(void) git_message_trailer_array_free(git_message_trailer_array *arr);
83
83
  /** @} */
84
84
  GIT_END_DECL
85
85
 
86
- #endif /* INCLUDE_git_message_h__ */
86
+ #endif
@@ -13,12 +13,13 @@
13
13
 
14
14
  /**
15
15
  * @file git2/net.h
16
- * @brief Git networking declarations
16
+ * @brief Low-level networking functionality
17
17
  * @ingroup Git
18
18
  * @{
19
19
  */
20
20
  GIT_BEGIN_DECL
21
21
 
22
+ /** Default git protocol port number */
22
23
  #define GIT_DEFAULT_PORT "9418"
23
24
 
24
25
  /**
@@ -51,4 +52,5 @@ struct git_remote_head {
51
52
 
52
53
  /** @} */
53
54
  GIT_END_DECL
55
+
54
56
  #endif
@@ -11,7 +11,7 @@
11
11
 
12
12
  /**
13
13
  * @file git2/notes.h
14
- * @brief Git notes management routines
14
+ * @brief Notes are metadata attached to an object
15
15
  * @defgroup git_note Git notes management routines
16
16
  * @ingroup Git
17
17
  * @{
@@ -21,13 +21,15 @@ GIT_BEGIN_DECL
21
21
  /**
22
22
  * Callback for git_note_foreach.
23
23
  *
24
- * Receives:
25
- * - blob_id: Oid of the blob containing the message
26
- * - annotated_object_id: Oid of the git object being annotated
27
- * - payload: Payload data passed to `git_note_foreach`
24
+ * @param blob_id object id of the blob containing the message
25
+ * @param annotated_object_id the id of the object being annotated
26
+ * @param payload user-specified data to the foreach function
27
+ * @return 0 on success, or a negative number on failure
28
28
  */
29
29
  typedef int GIT_CALLBACK(git_note_foreach_cb)(
30
- const git_oid *blob_id, const git_oid *annotated_object_id, void *payload);
30
+ const git_oid *blob_id,
31
+ const git_oid *annotated_object_id,
32
+ void *payload);
31
33
 
32
34
  /**
33
35
  * note iterator
@@ -303,4 +305,5 @@ GIT_EXTERN(int) git_note_foreach(
303
305
 
304
306
  /** @} */
305
307
  GIT_END_DECL
308
+
306
309
  #endif
@@ -14,13 +14,14 @@
14
14
 
15
15
  /**
16
16
  * @file git2/object.h
17
- * @brief Git revision object management routines
17
+ * @brief Objects are blobs (files), trees (directories), commits, and annotated tags
18
18
  * @defgroup git_object Git revision object management routines
19
19
  * @ingroup Git
20
20
  * @{
21
21
  */
22
22
  GIT_BEGIN_DECL
23
23
 
24
+ /** Maximum size of a git object */
24
25
  #define GIT_OBJECT_SIZE_MAX UINT64_MAX
25
26
 
26
27
  /**
@@ -53,18 +54,18 @@ GIT_EXTERN(int) git_object_lookup(
53
54
  *
54
55
  * The object obtained will be so that its identifier
55
56
  * matches the first 'len' hexadecimal characters
56
- * (packets of 4 bits) of the given 'id'.
57
- * 'len' must be at least GIT_OID_MINPREFIXLEN, and
58
- * long enough to identify a unique object matching
59
- * the prefix; otherwise the method will fail.
57
+ * (packets of 4 bits) of the given `id`. `len` must be
58
+ * at least `GIT_OID_MINPREFIXLEN`, and long enough to
59
+ * identify a unique object matching the prefix; otherwise
60
+ * the method will fail.
60
61
  *
61
62
  * The generated reference is owned by the repository and
62
63
  * should be closed with the `git_object_free` method
63
64
  * instead of free'd manually.
64
65
  *
65
- * The 'type' parameter must match the type of the object
66
+ * The `type` parameter must match the type of the object
66
67
  * in the odb; the method will fail otherwise.
67
- * The special value 'GIT_OBJECT_ANY' may be passed to let
68
+ * The special value `GIT_OBJECT_ANY` may be passed to let
68
69
  * the method guess the object's type.
69
70
  *
70
71
  * @param object_out pointer where to store the looked-up object
@@ -260,7 +261,7 @@ GIT_EXTERN(int) git_object_rawcontent_is_valid(
260
261
  * @warning This function is experimental and its signature may change in
261
262
  * the future.
262
263
  *
263
- * @param valid Output pointer to set with validity of the object content
264
+ * @param[out] valid Output pointer to set with validity of the object content
264
265
  * @param buf The contents to validate
265
266
  * @param len The length of the buffer
266
267
  * @param object_type The type of the object in the buffer