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
@@ -24,13 +24,11 @@ z_const char * const z_errmsg[10] = {
24
24
  };
25
25
 
26
26
 
27
- const char * ZEXPORT zlibVersion()
28
- {
27
+ const char * ZEXPORT zlibVersion(void) {
29
28
  return ZLIB_VERSION;
30
29
  }
31
30
 
32
- uLong ZEXPORT zlibCompileFlags()
33
- {
31
+ uLong ZEXPORT zlibCompileFlags(void) {
34
32
  uLong flags;
35
33
 
36
34
  flags = 0;
@@ -61,9 +59,11 @@ uLong ZEXPORT zlibCompileFlags()
61
59
  #ifdef ZLIB_DEBUG
62
60
  flags += 1 << 8;
63
61
  #endif
62
+ /*
64
63
  #if defined(ASMV) || defined(ASMINF)
65
64
  flags += 1 << 9;
66
65
  #endif
66
+ */
67
67
  #ifdef ZLIB_WINAPI
68
68
  flags += 1 << 10;
69
69
  #endif
@@ -119,9 +119,7 @@ uLong ZEXPORT zlibCompileFlags()
119
119
  # endif
120
120
  int ZLIB_INTERNAL z_verbose = verbose;
121
121
 
122
- void ZLIB_INTERNAL z_error (m)
123
- char *m;
124
- {
122
+ void ZLIB_INTERNAL z_error(char *m) {
125
123
  fprintf(stderr, "%s\n", m);
126
124
  exit(1);
127
125
  }
@@ -130,9 +128,7 @@ void ZLIB_INTERNAL z_error (m)
130
128
  /* exported to allow conversion of error code to string for compress() and
131
129
  * uncompress()
132
130
  */
133
- const char * ZEXPORT zError(err)
134
- int err;
135
- {
131
+ const char * ZEXPORT zError(int err) {
136
132
  return ERR_MSG(err);
137
133
  }
138
134
 
@@ -146,22 +142,14 @@ const char * ZEXPORT zError(err)
146
142
 
147
143
  #ifndef HAVE_MEMCPY
148
144
 
149
- void ZLIB_INTERNAL zmemcpy(dest, source, len)
150
- Bytef* dest;
151
- const Bytef* source;
152
- uInt len;
153
- {
145
+ void ZLIB_INTERNAL zmemcpy(Bytef* dest, const Bytef* source, uInt len) {
154
146
  if (len == 0) return;
155
147
  do {
156
148
  *dest++ = *source++; /* ??? to be unrolled */
157
149
  } while (--len != 0);
158
150
  }
159
151
 
160
- int ZLIB_INTERNAL zmemcmp(s1, s2, len)
161
- const Bytef* s1;
162
- const Bytef* s2;
163
- uInt len;
164
- {
152
+ int ZLIB_INTERNAL zmemcmp(const Bytef* s1, const Bytef* s2, uInt len) {
165
153
  uInt j;
166
154
 
167
155
  for (j = 0; j < len; j++) {
@@ -170,10 +158,7 @@ int ZLIB_INTERNAL zmemcmp(s1, s2, len)
170
158
  return 0;
171
159
  }
172
160
 
173
- void ZLIB_INTERNAL zmemzero(dest, len)
174
- Bytef* dest;
175
- uInt len;
176
- {
161
+ void ZLIB_INTERNAL zmemzero(Bytef* dest, uInt len) {
177
162
  if (len == 0) return;
178
163
  do {
179
164
  *dest++ = 0; /* ??? to be unrolled */
@@ -214,8 +199,7 @@ local ptr_table table[MAX_PTR];
214
199
  * a protected system like OS/2. Use Microsoft C instead.
215
200
  */
216
201
 
217
- voidpf ZLIB_INTERNAL zcalloc (voidpf opaque, unsigned items, unsigned size)
218
- {
202
+ voidpf ZLIB_INTERNAL zcalloc(voidpf opaque, unsigned items, unsigned size) {
219
203
  voidpf buf;
220
204
  ulg bsize = (ulg)items*size;
221
205
 
@@ -240,8 +224,7 @@ voidpf ZLIB_INTERNAL zcalloc (voidpf opaque, unsigned items, unsigned size)
240
224
  return buf;
241
225
  }
242
226
 
243
- void ZLIB_INTERNAL zcfree (voidpf opaque, voidpf ptr)
244
- {
227
+ void ZLIB_INTERNAL zcfree(voidpf opaque, voidpf ptr) {
245
228
  int n;
246
229
 
247
230
  (void)opaque;
@@ -277,14 +260,12 @@ void ZLIB_INTERNAL zcfree (voidpf opaque, voidpf ptr)
277
260
  # define _hfree hfree
278
261
  #endif
279
262
 
280
- voidpf ZLIB_INTERNAL zcalloc (voidpf opaque, uInt items, uInt size)
281
- {
263
+ voidpf ZLIB_INTERNAL zcalloc(voidpf opaque, uInt items, uInt size) {
282
264
  (void)opaque;
283
265
  return _halloc((long)items, size);
284
266
  }
285
267
 
286
- void ZLIB_INTERNAL zcfree (voidpf opaque, voidpf ptr)
287
- {
268
+ void ZLIB_INTERNAL zcfree(voidpf opaque, voidpf ptr) {
288
269
  (void)opaque;
289
270
  _hfree(ptr);
290
271
  }
@@ -297,25 +278,18 @@ void ZLIB_INTERNAL zcfree (voidpf opaque, voidpf ptr)
297
278
  #ifndef MY_ZCALLOC /* Any system without a special alloc function */
298
279
 
299
280
  #ifndef STDC
300
- extern voidp malloc OF((uInt size));
301
- extern voidp calloc OF((uInt items, uInt size));
302
- extern void free OF((voidpf ptr));
281
+ extern voidp malloc(uInt size);
282
+ extern voidp calloc(uInt items, uInt size);
283
+ extern void free(voidpf ptr);
303
284
  #endif
304
285
 
305
- voidpf ZLIB_INTERNAL zcalloc (opaque, items, size)
306
- voidpf opaque;
307
- unsigned items;
308
- unsigned size;
309
- {
286
+ voidpf ZLIB_INTERNAL zcalloc(voidpf opaque, unsigned items, unsigned size) {
310
287
  (void)opaque;
311
288
  return sizeof(uInt) > 2 ? (voidpf)malloc(items * size) :
312
289
  (voidpf)calloc(items, size);
313
290
  }
314
291
 
315
- void ZLIB_INTERNAL zcfree (opaque, ptr)
316
- voidpf opaque;
317
- voidpf ptr;
318
- {
292
+ void ZLIB_INTERNAL zcfree(voidpf opaque, voidpf ptr) {
319
293
  (void)opaque;
320
294
  free(ptr);
321
295
  }
@@ -1,5 +1,5 @@
1
1
  /* zutil.h -- internal interface and configuration of the compression library
2
- * Copyright (C) 1995-2022 Jean-loup Gailly, Mark Adler
2
+ * Copyright (C) 1995-2024 Jean-loup Gailly, Mark Adler
3
3
  * For conditions of distribution and use, see copyright notice in zlib.h
4
4
  */
5
5
 
@@ -56,7 +56,7 @@ typedef unsigned long ulg;
56
56
  extern z_const char * const z_errmsg[10]; /* indexed by 2-zlib_error */
57
57
  /* (size given to avoid silly warnings with Visual C++) */
58
58
 
59
- #define ERR_MSG(err) z_errmsg[Z_NEED_DICT-(err)]
59
+ #define ERR_MSG(err) z_errmsg[(err) < -6 || (err) > 2 ? 9 : 2 - (err)]
60
60
 
61
61
  #define ERR_RETURN(strm,err) \
62
62
  return (strm->msg = ERR_MSG(err), (err))
@@ -137,17 +137,8 @@ extern z_const char * const z_errmsg[10]; /* indexed by 2-zlib_error */
137
137
  # endif
138
138
  #endif
139
139
 
140
- #if defined(MACOS) || defined(TARGET_OS_MAC)
140
+ #if defined(MACOS)
141
141
  # define OS_CODE 7
142
- # ifndef Z_SOLO
143
- # if defined(__MWERKS__) && __dest_os != __be_os && __dest_os != __win32_os
144
- # include <unix.h> /* for fdopen */
145
- # else
146
- # ifndef fdopen
147
- # define fdopen(fd,mode) NULL /* No fdopen() */
148
- # endif
149
- # endif
150
- # endif
151
142
  #endif
152
143
 
153
144
  #ifdef __acorn
@@ -170,18 +161,6 @@ extern z_const char * const z_errmsg[10]; /* indexed by 2-zlib_error */
170
161
  # define OS_CODE 19
171
162
  #endif
172
163
 
173
- #if defined(_BEOS_) || defined(RISCOS)
174
- # define fdopen(fd,mode) NULL /* No fdopen() */
175
- #endif
176
-
177
- #if (defined(_MSC_VER) && (_MSC_VER > 600)) && !defined __INTERIX
178
- # if defined(_WIN32_WCE)
179
- # define fdopen(fd,mode) NULL /* No fdopen() */
180
- # else
181
- # define fdopen(fd,type) _fdopen(fd,type)
182
- # endif
183
- #endif
184
-
185
164
  #if defined(__BORLANDC__) && !defined(MSDOS)
186
165
  #pragma warn -8004
187
166
  #pragma warn -8008
@@ -191,8 +170,9 @@ extern z_const char * const z_errmsg[10]; /* indexed by 2-zlib_error */
191
170
  /* provide prototypes for these when building zlib without LFS */
192
171
  #if !defined(_WIN32) && \
193
172
  (!defined(_LARGEFILE64_SOURCE) || _LFS64_LARGEFILE-0 == 0)
194
- ZEXTERN uLong ZEXPORT adler32_combine64 OF((uLong, uLong, z_off_t));
195
- ZEXTERN uLong ZEXPORT crc32_combine64 OF((uLong, uLong, z_off_t));
173
+ ZEXTERN uLong ZEXPORT adler32_combine64(uLong, uLong, z_off_t);
174
+ ZEXTERN uLong ZEXPORT crc32_combine64(uLong, uLong, z_off_t);
175
+ ZEXTERN uLong ZEXPORT crc32_combine_gen64(z_off_t);
196
176
  #endif
197
177
 
198
178
  /* common defaults */
@@ -231,16 +211,16 @@ extern z_const char * const z_errmsg[10]; /* indexed by 2-zlib_error */
231
211
  # define zmemzero(dest, len) memset(dest, 0, len)
232
212
  # endif
233
213
  #else
234
- void ZLIB_INTERNAL zmemcpy OF((Bytef* dest, const Bytef* source, uInt len));
235
- int ZLIB_INTERNAL zmemcmp OF((const Bytef* s1, const Bytef* s2, uInt len));
236
- void ZLIB_INTERNAL zmemzero OF((Bytef* dest, uInt len));
214
+ void ZLIB_INTERNAL zmemcpy(Bytef* dest, const Bytef* source, uInt len);
215
+ int ZLIB_INTERNAL zmemcmp(const Bytef* s1, const Bytef* s2, uInt len);
216
+ void ZLIB_INTERNAL zmemzero(Bytef* dest, uInt len);
237
217
  #endif
238
218
 
239
219
  /* Diagnostic functions */
240
220
  #ifdef ZLIB_DEBUG
241
221
  # include <stdio.h>
242
222
  extern int ZLIB_INTERNAL z_verbose;
243
- extern void ZLIB_INTERNAL z_error OF((char *m));
223
+ extern void ZLIB_INTERNAL z_error(char *m);
244
224
  # define Assert(cond,msg) {if(!(cond)) z_error(msg);}
245
225
  # define Trace(x) {if (z_verbose>=0) fprintf x ;}
246
226
  # define Tracev(x) {if (z_verbose>0) fprintf x ;}
@@ -257,9 +237,9 @@ extern z_const char * const z_errmsg[10]; /* indexed by 2-zlib_error */
257
237
  #endif
258
238
 
259
239
  #ifndef Z_SOLO
260
- voidpf ZLIB_INTERNAL zcalloc OF((voidpf opaque, unsigned items,
261
- unsigned size));
262
- void ZLIB_INTERNAL zcfree OF((voidpf opaque, voidpf ptr));
240
+ voidpf ZLIB_INTERNAL zcalloc(voidpf opaque, unsigned items,
241
+ unsigned size);
242
+ void ZLIB_INTERNAL zcfree(voidpf opaque, voidpf ptr);
263
243
  #endif
264
244
 
265
245
  #define ZALLOC(strm, items, size) \
@@ -13,9 +13,16 @@
13
13
 
14
14
  /**
15
15
  * @file git2/annotated_commit.h
16
- * @brief Git annotated commit routines
16
+ * @brief A commit and information about how it was looked up by the user.
17
17
  * @defgroup git_annotated_commit Git annotated commit routines
18
18
  * @ingroup Git
19
+ *
20
+ * An "annotated commit" is a commit that contains information about
21
+ * how the commit was resolved, which can be used for maintaining the
22
+ * user's "intent" through commands like merge and rebase. For example,
23
+ * if a user wants to "merge HEAD" then an annotated commit is used to
24
+ * both contain the HEAD commit _and_ the fact that it was resolved as
25
+ * the HEAD ref.
19
26
  * @{
20
27
  */
21
28
  GIT_BEGIN_DECL
@@ -25,7 +32,7 @@ GIT_BEGIN_DECL
25
32
  * The resulting git_annotated_commit must be freed with
26
33
  * `git_annotated_commit_free`.
27
34
  *
28
- * @param out pointer to store the git_annotated_commit result in
35
+ * @param[out] out pointer to store the git_annotated_commit result in
29
36
  * @param repo repository that contains the given reference
30
37
  * @param ref reference to use to lookup the git_annotated_commit
31
38
  * @return 0 on success or error code
@@ -40,7 +47,7 @@ GIT_EXTERN(int) git_annotated_commit_from_ref(
40
47
  * The resulting git_annotated_commit must be freed with
41
48
  * `git_annotated_commit_free`.
42
49
  *
43
- * @param out pointer to store the git_annotated_commit result in
50
+ * @param[out] out pointer to store the git_annotated_commit result in
44
51
  * @param repo repository that contains the given commit
45
52
  * @param branch_name name of the (remote) branch
46
53
  * @param remote_url url of the remote
@@ -67,7 +74,7 @@ GIT_EXTERN(int) git_annotated_commit_from_fetchhead(
67
74
  * most specific function (eg `git_annotated_commit_from_ref`)
68
75
  * instead of this one when that data is known.
69
76
  *
70
- * @param out pointer to store the git_annotated_commit result in
77
+ * @param[out] out pointer to store the git_annotated_commit result in
71
78
  * @param repo repository that contains the given commit
72
79
  * @param id the commit object id to lookup
73
80
  * @return 0 on success or error code
@@ -84,7 +91,7 @@ GIT_EXTERN(int) git_annotated_commit_lookup(
84
91
  * http://git-scm.com/docs/git-rev-parse.html#_specifying_revisions for
85
92
  * information on the syntax accepted.
86
93
  *
87
- * @param out pointer to store the git_annotated_commit result in
94
+ * @param[out] out pointer to store the git_annotated_commit result in
88
95
  * @param repo repository that contains the given commit
89
96
  * @param revspec the extended sha syntax string to use to lookup the commit
90
97
  * @return 0 on success or error code
@@ -14,9 +14,12 @@
14
14
 
15
15
  /**
16
16
  * @file git2/apply.h
17
- * @brief Git patch application routines
17
+ * @brief Apply patches to the working directory or index
18
18
  * @defgroup git_apply Git patch application routines
19
19
  * @ingroup Git
20
+ *
21
+ * Mechanisms to apply a patch to the index, the working directory,
22
+ * or both.
20
23
  * @{
21
24
  */
22
25
  GIT_BEGIN_DECL
@@ -57,7 +60,15 @@ typedef int GIT_CALLBACK(git_apply_hunk_cb)(
57
60
  const git_diff_hunk *hunk,
58
61
  void *payload);
59
62
 
60
- /** Flags controlling the behavior of git_apply */
63
+ /**
64
+ * Flags controlling the behavior of `git_apply`.
65
+ *
66
+ * When the callback:
67
+ * - returns < 0, the apply process will be aborted.
68
+ * - returns > 0, the hunk will not be applied, but the apply process
69
+ * continues
70
+ * - returns 0, the hunk is applied, and the apply process continues.
71
+ */
61
72
  typedef enum {
62
73
  /**
63
74
  * Don't actually make changes, just test that the patch applies.
@@ -67,12 +78,19 @@ typedef enum {
67
78
  } git_apply_flags_t;
68
79
 
69
80
  /**
70
- * Apply options structure
81
+ * Apply options structure.
82
+ *
83
+ * When the callback:
84
+ * - returns < 0, the apply process will be aborted.
85
+ * - returns > 0, the hunk will not be applied, but the apply process
86
+ * continues
87
+ * - returns 0, the hunk is applied, and the apply process continues.
71
88
  *
72
89
  * Initialize with `GIT_APPLY_OPTIONS_INIT`. Alternatively, you can
73
90
  * use `git_apply_options_init`.
74
91
  *
75
- * @see git_apply_to_tree, git_apply
92
+ * @see git_apply_to_tree
93
+ * @see git_apply
76
94
  */
77
95
  typedef struct {
78
96
  unsigned int version; /**< The version */
@@ -83,14 +101,17 @@ typedef struct {
83
101
  /** When applying a patch, callback that will be made per hunk. */
84
102
  git_apply_hunk_cb hunk_cb;
85
103
 
86
- /** Payload passed to both delta_cb & hunk_cb. */
104
+ /** Payload passed to both `delta_cb` & `hunk_cb`. */
87
105
  void *payload;
88
106
 
89
- /** Bitmask of git_apply_flags_t */
107
+ /** Bitmask of `git_apply_flags_t` */
90
108
  unsigned int flags;
91
109
  } git_apply_options;
92
110
 
111
+ /** Current version for the `git_apply_options` structure */
93
112
  #define GIT_APPLY_OPTIONS_VERSION 1
113
+
114
+ /** Static constructor for `git_apply_options` */
94
115
  #define GIT_APPLY_OPTIONS_INIT {GIT_APPLY_OPTIONS_VERSION}
95
116
 
96
117
  /**
@@ -12,9 +12,13 @@
12
12
 
13
13
  /**
14
14
  * @file git2/attr.h
15
- * @brief Git attribute management routines
15
+ * @brief Attribute management routines
16
16
  * @defgroup git_attr Git attribute management routines
17
17
  * @ingroup Git
18
+ *
19
+ * Attributes specify additional information about how git should
20
+ * handle particular paths - for example, they may indicate whether
21
+ * a particular filter is applied, like LFS or line ending conversions.
18
22
  * @{
19
23
  */
20
24
  GIT_BEGIN_DECL
@@ -114,16 +118,18 @@ GIT_EXTERN(git_attr_value_t) git_attr_value(const char *attr);
114
118
  * use index only for creating archives or for a bare repo (if an
115
119
  * index has been specified for the bare repo).
116
120
  */
121
+
122
+ /** Examine attribute in working directory, then index */
117
123
  #define GIT_ATTR_CHECK_FILE_THEN_INDEX 0
124
+ /** Examine attribute in index, then working directory */
118
125
  #define GIT_ATTR_CHECK_INDEX_THEN_FILE 1
119
- #define GIT_ATTR_CHECK_INDEX_ONLY 2
126
+ /** Examine attributes only in the index */
127
+ #define GIT_ATTR_CHECK_INDEX_ONLY 2
120
128
 
121
129
  /**
122
130
  * Check attribute flags: controlling extended attribute behavior.
123
131
  *
124
132
  * Normally, attribute checks include looking in the /etc (or system
125
- * equivalent) directory for a `gitattributes` file. Passing this
126
- * flag will cause attribute checks to ignore that file.
127
133
  * equivalent) directory for a `gitattributes` file. Passing the
128
134
  * `GIT_ATTR_CHECK_NO_SYSTEM` flag will cause attribute checks to
129
135
  * ignore that file.
@@ -134,8 +140,12 @@ GIT_EXTERN(git_attr_value_t) git_attr_value(const char *attr);
134
140
  * Passing the `GIT_ATTR_CHECK_INCLUDE_COMMIT` flag will use attributes
135
141
  * from a `.gitattributes` file in a specific commit.
136
142
  */
143
+
144
+ /** Ignore system attributes */
137
145
  #define GIT_ATTR_CHECK_NO_SYSTEM (1 << 2)
146
+ /** Honor `.gitattributes` in the HEAD revision */
138
147
  #define GIT_ATTR_CHECK_INCLUDE_HEAD (1 << 3)
148
+ /** Honor `.gitattributes` in a specific commit */
139
149
  #define GIT_ATTR_CHECK_INCLUDE_COMMIT (1 << 4)
140
150
 
141
151
  /**
@@ -160,7 +170,10 @@ typedef struct {
160
170
  git_oid attr_commit_id;
161
171
  } git_attr_options;
162
172
 
173
+ /** Current version for the `git_attr_options` structure */
163
174
  #define GIT_ATTR_OPTIONS_VERSION 1
175
+
176
+ /** Static constructor for `git_attr_options` */
164
177
  #define GIT_ATTR_OPTIONS_INIT {GIT_ATTR_OPTIONS_VERSION}
165
178
 
166
179
  /**
@@ -13,9 +13,14 @@
13
13
 
14
14
  /**
15
15
  * @file git2/blame.h
16
- * @brief Git blame routines
16
+ * @brief Specify a file's most recent changes per-line
17
17
  * @defgroup git_blame Git blame routines
18
18
  * @ingroup Git
19
+ *
20
+ * Producing a "blame" (or "annotated history") decorates individual
21
+ * lines in a file with the commit that introduced that particular line
22
+ * of changes. This can be useful to indicate when and why a particular
23
+ * change was made.
19
24
  * @{
20
25
  */
21
26
  GIT_BEGIN_DECL
@@ -87,7 +92,7 @@ typedef struct git_blame_options {
87
92
  unsigned int version;
88
93
 
89
94
  /** A combination of `git_blame_flag_t` */
90
- uint32_t flags;
95
+ unsigned int flags;
91
96
 
92
97
  /**
93
98
  * The lower bound on the number of alphanumeric characters that
@@ -122,7 +127,10 @@ typedef struct git_blame_options {
122
127
  size_t max_line;
123
128
  } git_blame_options;
124
129
 
130
+ /** Current version for the `git_blame_options` structure */
125
131
  #define GIT_BLAME_OPTIONS_VERSION 1
132
+
133
+ /** Static constructor for `git_blame_options` */
126
134
  #define GIT_BLAME_OPTIONS_INIT {GIT_BLAME_OPTIONS_VERSION}
127
135
 
128
136
  /**
@@ -165,6 +173,13 @@ typedef struct git_blame_hunk {
165
173
  */
166
174
  git_signature *final_signature;
167
175
 
176
+ /**
177
+ * The committer of `final_commit_id`. If `GIT_BLAME_USE_MAILMAP` has
178
+ * been specified, it will contain the canonical real name and email
179
+ * address.
180
+ */
181
+ git_signature *final_committer;
182
+
168
183
  /**
169
184
  * The OID of the commit where this hunk was found.
170
185
  * This will usually be the same as `final_commit_id`, except when
@@ -190,6 +205,18 @@ typedef struct git_blame_hunk {
190
205
  */
191
206
  git_signature *orig_signature;
192
207
 
208
+ /**
209
+ * The committer of `orig_commit_id`. If `GIT_BLAME_USE_MAILMAP` has
210
+ * been specified, it will contain the canonical real name and email
211
+ * address.
212
+ */
213
+ git_signature *orig_committer;
214
+
215
+ /*
216
+ * The summary of the commit.
217
+ */
218
+ const char *summary;
219
+
193
220
  /**
194
221
  * The 1 iff the hunk has been tracked to a boundary commit (the root,
195
222
  * or the commit specified in git_blame_options.oldest_commit)
@@ -197,16 +224,75 @@ typedef struct git_blame_hunk {
197
224
  char boundary;
198
225
  } git_blame_hunk;
199
226
 
227
+ /**
228
+ * Structure that represents a line in a blamed file.
229
+ */
230
+ typedef struct git_blame_line {
231
+ const char *ptr;
232
+ size_t len;
233
+ } git_blame_line;
200
234
 
201
235
  /** Opaque structure to hold blame results */
202
236
  typedef struct git_blame git_blame;
203
237
 
238
+ /**
239
+ * Gets the number of lines that exist in the blame structure.
240
+ *
241
+ * @param blame The blame structure to query.
242
+ * @return The number of line.
243
+ */
244
+ GIT_EXTERN(size_t) git_blame_linecount(git_blame *blame);
245
+
204
246
  /**
205
247
  * Gets the number of hunks that exist in the blame structure.
206
248
  *
207
249
  * @param blame The blame structure to query.
208
250
  * @return The number of hunks.
209
251
  */
252
+ GIT_EXTERN(size_t) git_blame_hunkcount(git_blame *blame);
253
+
254
+ /**
255
+ * Gets the blame hunk at the given index.
256
+ *
257
+ * @param blame the blame structure to query
258
+ * @param index index of the hunk to retrieve
259
+ * @return the hunk at the given index, or NULL on error
260
+ */
261
+ GIT_EXTERN(const git_blame_hunk *) git_blame_hunk_byindex(
262
+ git_blame *blame,
263
+ size_t index);
264
+
265
+ /**
266
+ * Gets the hunk that relates to the given line number in the newest
267
+ * commit.
268
+ *
269
+ * @param blame the blame structure to query
270
+ * @param lineno the (1-based) line number to find a hunk for
271
+ * @return the hunk that contains the given line, or NULL on error
272
+ */
273
+ GIT_EXTERN(const git_blame_hunk *) git_blame_hunk_byline(
274
+ git_blame *blame,
275
+ size_t lineno);
276
+
277
+ /**
278
+ * Gets the information about the line in the blame.
279
+ *
280
+ * @param blame the blame structure to query
281
+ * @param idx the (1-based) line number
282
+ * @return the blamed line, or NULL on error
283
+ */
284
+ GIT_EXTERN(const git_blame_line *) git_blame_line_byindex(
285
+ git_blame *blame,
286
+ size_t idx);
287
+
288
+ #ifndef GIT_DEPRECATE_HARD
289
+ /**
290
+ * Gets the number of hunks that exist in the blame structure.
291
+ *
292
+ * @param blame The blame structure to query.
293
+ * @return The number of hunks.
294
+ */
295
+
210
296
  GIT_EXTERN(uint32_t) git_blame_get_hunk_count(git_blame *blame);
211
297
 
212
298
  /**
@@ -216,9 +302,9 @@ GIT_EXTERN(uint32_t) git_blame_get_hunk_count(git_blame *blame);
216
302
  * @param index index of the hunk to retrieve
217
303
  * @return the hunk at the given index, or NULL on error
218
304
  */
219
- GIT_EXTERN(const git_blame_hunk*) git_blame_get_hunk_byindex(
220
- git_blame *blame,
221
- uint32_t index);
305
+ GIT_EXTERN(const git_blame_hunk *) git_blame_get_hunk_byindex(
306
+ git_blame *blame,
307
+ uint32_t index);
222
308
 
223
309
  /**
224
310
  * Gets the hunk that relates to the given line number in the newest commit.
@@ -227,39 +313,58 @@ GIT_EXTERN(const git_blame_hunk*) git_blame_get_hunk_byindex(
227
313
  * @param lineno the (1-based) line number to find a hunk for
228
314
  * @return the hunk that contains the given line, or NULL on error
229
315
  */
230
- GIT_EXTERN(const git_blame_hunk*) git_blame_get_hunk_byline(
231
- git_blame *blame,
232
- size_t lineno);
316
+ GIT_EXTERN(const git_blame_hunk *) git_blame_get_hunk_byline(
317
+ git_blame *blame,
318
+ size_t lineno);
319
+ #endif
233
320
 
234
321
  /**
235
- * Get the blame for a single file.
322
+ * Get the blame for a single file in the repository.
236
323
  *
237
324
  * @param out pointer that will receive the blame object
238
325
  * @param repo repository whose history is to be walked
239
326
  * @param path path to file to consider
240
- * @param options options for the blame operation. If NULL, this is treated as
241
- * though GIT_BLAME_OPTIONS_INIT were passed.
242
- * @return 0 on success, or an error code. (use git_error_last for information
243
- * about the error.)
327
+ * @param options options for the blame operation or NULL
328
+ * @return 0 on success, or an error code
244
329
  */
245
330
  GIT_EXTERN(int) git_blame_file(
246
- git_blame **out,
247
- git_repository *repo,
248
- const char *path,
249
- git_blame_options *options);
331
+ git_blame **out,
332
+ git_repository *repo,
333
+ const char *path,
334
+ git_blame_options *options);
250
335
 
336
+ /**
337
+ * Get the blame for a single file in the repository, using the specified
338
+ * buffer contents as the uncommitted changes of the file (the working
339
+ * directory contents).
340
+ *
341
+ * @param out pointer that will receive the blame object
342
+ * @param repo repository whose history is to be walked
343
+ * @param path path to file to consider
344
+ * @param contents the uncommitted changes
345
+ * @param contents_len the length of the changes buffer
346
+ * @param options options for the blame operation or NULL
347
+ * @return 0 on success, or an error code
348
+ */
349
+ GIT_EXTERN(int) git_blame_file_from_buffer(
350
+ git_blame **out,
351
+ git_repository *repo,
352
+ const char *path,
353
+ const char *contents,
354
+ size_t contents_len,
355
+ git_blame_options *options);
251
356
 
252
357
  /**
253
- * Get blame data for a file that has been modified in memory. The `reference`
254
- * parameter is a pre-calculated blame for the in-odb history of the file. This
255
- * means that once a file blame is completed (which can be expensive), updating
256
- * the buffer blame is very fast.
358
+ * Get blame data for a file that has been modified in memory. The `blame`
359
+ * parameter is a pre-calculated blame for the in-odb history of the file.
360
+ * This means that once a file blame is completed (which can be expensive),
361
+ * updating the buffer blame is very fast.
257
362
  *
258
- * Lines that differ between the buffer and the committed version are marked as
259
- * having a zero OID for their final_commit_id.
363
+ * Lines that differ between the buffer and the committed version are
364
+ * marked as having a zero OID for their final_commit_id.
260
365
  *
261
366
  * @param out pointer that will receive the resulting blame data
262
- * @param reference cached blame from the history of the file (usually the output
367
+ * @param base cached blame from the history of the file (usually the output
263
368
  * from git_blame_file)
264
369
  * @param buffer the (possibly) modified contents of the file
265
370
  * @param buffer_len number of valid bytes in the buffer
@@ -267,10 +372,10 @@ GIT_EXTERN(int) git_blame_file(
267
372
  * about the error)
268
373
  */
269
374
  GIT_EXTERN(int) git_blame_buffer(
270
- git_blame **out,
271
- git_blame *reference,
272
- const char *buffer,
273
- size_t buffer_len);
375
+ git_blame **out,
376
+ git_blame *base,
377
+ const char *buffer,
378
+ size_t buffer_len);
274
379
 
275
380
  /**
276
381
  * Free memory allocated by git_blame_file or git_blame_buffer.