rugged 0.27.7 → 0.27.10

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 (409) hide show
  1. checksums.yaml +4 -4
  2. data/lib/rugged/version.rb +1 -1
  3. data/vendor/libgit2/AUTHORS +1 -0
  4. data/vendor/libgit2/CMakeLists.txt +99 -51
  5. data/vendor/libgit2/COPYING +28 -0
  6. data/vendor/libgit2/cmake/Modules/AddCFlagIfSupported.cmake +15 -1
  7. data/vendor/libgit2/cmake/Modules/CheckPrototypeDefinition.c.in +29 -0
  8. data/vendor/libgit2/cmake/Modules/CheckPrototypeDefinition.cmake +96 -0
  9. data/vendor/libgit2/cmake/Modules/EnableWarnings.cmake +9 -8
  10. data/vendor/libgit2/cmake/Modules/FindCoreFoundation.cmake +2 -2
  11. data/vendor/libgit2/cmake/Modules/FindGSSAPI.cmake +1 -1
  12. data/vendor/libgit2/cmake/Modules/FindGSSFramework.cmake +28 -0
  13. data/vendor/libgit2/cmake/Modules/FindIconv.cmake +11 -6
  14. data/vendor/libgit2/cmake/Modules/FindPCRE.cmake +38 -0
  15. data/vendor/libgit2/cmake/Modules/FindPCRE2.cmake +37 -0
  16. data/vendor/libgit2/cmake/Modules/FindSecurity.cmake +2 -2
  17. data/vendor/libgit2/cmake/Modules/FindStatNsec.cmake +6 -0
  18. data/vendor/libgit2/cmake/Modules/PkgBuildConfig.cmake +110 -0
  19. data/vendor/libgit2/cmake/Modules/SelectGSSAPI.cmake +53 -0
  20. data/vendor/libgit2/cmake/Modules/SelectHTTPSBackend.cmake +124 -0
  21. data/vendor/libgit2/cmake/Modules/SelectHashes.cmake +66 -0
  22. data/vendor/libgit2/deps/http-parser/http_parser.c +11 -6
  23. data/vendor/libgit2/deps/ntlmclient/CMakeLists.txt +21 -0
  24. data/vendor/libgit2/deps/ntlmclient/compat.h +33 -0
  25. data/vendor/libgit2/deps/ntlmclient/crypt.h +64 -0
  26. data/vendor/libgit2/deps/ntlmclient/crypt_commoncrypto.c +120 -0
  27. data/vendor/libgit2/deps/ntlmclient/crypt_commoncrypto.h +18 -0
  28. data/vendor/libgit2/deps/ntlmclient/crypt_mbedtls.c +145 -0
  29. data/vendor/libgit2/deps/ntlmclient/crypt_mbedtls.h +18 -0
  30. data/vendor/libgit2/deps/ntlmclient/crypt_openssl.c +130 -0
  31. data/vendor/libgit2/deps/ntlmclient/crypt_openssl.h +21 -0
  32. data/vendor/libgit2/deps/ntlmclient/ntlm.c +1420 -0
  33. data/vendor/libgit2/deps/ntlmclient/ntlm.h +174 -0
  34. data/vendor/libgit2/deps/ntlmclient/ntlmclient.h +320 -0
  35. data/vendor/libgit2/deps/ntlmclient/unicode.h +36 -0
  36. data/vendor/libgit2/deps/ntlmclient/unicode_builtin.c +445 -0
  37. data/vendor/libgit2/deps/ntlmclient/unicode_iconv.c +201 -0
  38. data/vendor/libgit2/deps/ntlmclient/utf8.h +1257 -0
  39. data/vendor/libgit2/deps/ntlmclient/util.c +21 -0
  40. data/vendor/libgit2/deps/ntlmclient/util.h +14 -0
  41. data/vendor/libgit2/deps/pcre/CMakeLists.txt +140 -0
  42. data/vendor/libgit2/deps/pcre/COPYING +5 -0
  43. data/vendor/libgit2/deps/pcre/cmake/COPYING-CMAKE-SCRIPTS +22 -0
  44. data/vendor/libgit2/deps/pcre/cmake/FindEditline.cmake +17 -0
  45. data/vendor/libgit2/deps/pcre/cmake/FindPackageHandleStandardArgs.cmake +58 -0
  46. data/vendor/libgit2/deps/pcre/cmake/FindReadline.cmake +29 -0
  47. data/vendor/libgit2/deps/pcre/config.h.in +57 -0
  48. data/vendor/libgit2/deps/pcre/pcre.h +641 -0
  49. data/vendor/libgit2/deps/pcre/pcre_byte_order.c +319 -0
  50. data/vendor/libgit2/deps/pcre/pcre_chartables.c +198 -0
  51. data/vendor/libgit2/deps/pcre/pcre_compile.c +9800 -0
  52. data/vendor/libgit2/deps/pcre/pcre_config.c +190 -0
  53. data/vendor/libgit2/deps/pcre/pcre_dfa_exec.c +3676 -0
  54. data/vendor/libgit2/deps/pcre/pcre_exec.c +7173 -0
  55. data/vendor/libgit2/deps/pcre/pcre_fullinfo.c +245 -0
  56. data/vendor/libgit2/deps/pcre/pcre_get.c +669 -0
  57. data/vendor/libgit2/deps/pcre/pcre_globals.c +86 -0
  58. data/vendor/libgit2/deps/pcre/pcre_internal.h +2787 -0
  59. data/vendor/libgit2/deps/pcre/pcre_jit_compile.c +11913 -0
  60. data/vendor/libgit2/deps/pcre/pcre_maketables.c +156 -0
  61. data/vendor/libgit2/deps/pcre/pcre_newline.c +210 -0
  62. data/vendor/libgit2/deps/pcre/pcre_ord2utf8.c +94 -0
  63. data/vendor/libgit2/deps/pcre/pcre_printint.c +834 -0
  64. data/vendor/libgit2/deps/pcre/pcre_refcount.c +92 -0
  65. data/vendor/libgit2/deps/pcre/pcre_string_utils.c +211 -0
  66. data/vendor/libgit2/deps/pcre/pcre_study.c +1686 -0
  67. data/vendor/libgit2/deps/pcre/pcre_tables.c +727 -0
  68. data/vendor/libgit2/deps/pcre/pcre_ucd.c +3644 -0
  69. data/vendor/libgit2/deps/pcre/pcre_valid_utf8.c +301 -0
  70. data/vendor/libgit2/deps/pcre/pcre_version.c +98 -0
  71. data/vendor/libgit2/deps/pcre/pcre_xclass.c +268 -0
  72. data/vendor/libgit2/deps/pcre/pcreposix.c +421 -0
  73. data/vendor/libgit2/deps/pcre/pcreposix.h +117 -0
  74. data/vendor/libgit2/deps/pcre/ucp.h +224 -0
  75. data/vendor/libgit2/deps/winhttp/COPYING.GPL +993 -0
  76. data/vendor/libgit2/deps/winhttp/COPYING.LGPL +502 -0
  77. data/vendor/libgit2/deps/zlib/CMakeLists.txt +1 -0
  78. data/vendor/libgit2/deps/zlib/COPYING +27 -0
  79. data/vendor/libgit2/deps/zlib/adler32.c +0 -7
  80. data/vendor/libgit2/deps/zlib/crc32.c +0 -7
  81. data/vendor/libgit2/include/git2/annotated_commit.h +9 -0
  82. data/vendor/libgit2/include/git2/apply.h +149 -0
  83. data/vendor/libgit2/include/git2/attr.h +20 -13
  84. data/vendor/libgit2/include/git2/blame.h +4 -4
  85. data/vendor/libgit2/include/git2/blob.h +44 -12
  86. data/vendor/libgit2/include/git2/buffer.h +20 -26
  87. data/vendor/libgit2/include/git2/cert.h +135 -0
  88. data/vendor/libgit2/include/git2/checkout.h +53 -21
  89. data/vendor/libgit2/include/git2/cherrypick.h +3 -3
  90. data/vendor/libgit2/include/git2/clone.h +5 -5
  91. data/vendor/libgit2/include/git2/commit.h +25 -3
  92. data/vendor/libgit2/include/git2/common.h +35 -10
  93. data/vendor/libgit2/include/git2/config.h +29 -19
  94. data/vendor/libgit2/include/git2/cred.h +308 -0
  95. data/vendor/libgit2/include/git2/deprecated.h +493 -0
  96. data/vendor/libgit2/include/git2/describe.h +4 -4
  97. data/vendor/libgit2/include/git2/diff.h +177 -135
  98. data/vendor/libgit2/include/git2/errors.h +53 -46
  99. data/vendor/libgit2/include/git2/filter.h +8 -0
  100. data/vendor/libgit2/include/git2/index.h +74 -52
  101. data/vendor/libgit2/include/git2/indexer.h +76 -6
  102. data/vendor/libgit2/include/git2/merge.h +25 -10
  103. data/vendor/libgit2/include/git2/net.h +0 -5
  104. data/vendor/libgit2/include/git2/notes.h +1 -1
  105. data/vendor/libgit2/include/git2/object.h +17 -29
  106. data/vendor/libgit2/include/git2/odb.h +12 -11
  107. data/vendor/libgit2/include/git2/odb_backend.h +10 -9
  108. data/vendor/libgit2/include/git2/oid.h +2 -2
  109. data/vendor/libgit2/include/git2/pack.h +14 -3
  110. data/vendor/libgit2/include/git2/proxy.h +5 -3
  111. data/vendor/libgit2/include/git2/rebase.h +46 -2
  112. data/vendor/libgit2/include/git2/refs.h +34 -16
  113. data/vendor/libgit2/include/git2/remote.h +111 -14
  114. data/vendor/libgit2/include/git2/repository.h +69 -34
  115. data/vendor/libgit2/include/git2/revert.h +1 -1
  116. data/vendor/libgit2/include/git2/revwalk.h +7 -7
  117. data/vendor/libgit2/include/git2/signature.h +2 -2
  118. data/vendor/libgit2/include/git2/stash.h +5 -5
  119. data/vendor/libgit2/include/git2/status.h +26 -17
  120. data/vendor/libgit2/include/git2/submodule.h +23 -6
  121. data/vendor/libgit2/include/git2/sys/alloc.h +18 -18
  122. data/vendor/libgit2/include/git2/sys/commit.h +1 -1
  123. data/vendor/libgit2/include/git2/sys/config.h +13 -13
  124. data/vendor/libgit2/include/git2/sys/cred.h +90 -0
  125. data/vendor/libgit2/include/git2/sys/filter.h +6 -6
  126. data/vendor/libgit2/include/git2/sys/merge.h +3 -3
  127. data/vendor/libgit2/include/git2/sys/odb_backend.h +66 -22
  128. data/vendor/libgit2/include/git2/sys/path.h +14 -5
  129. data/vendor/libgit2/include/git2/sys/refdb_backend.h +76 -40
  130. data/vendor/libgit2/include/git2/sys/repository.h +5 -1
  131. data/vendor/libgit2/include/git2/sys/stream.h +92 -12
  132. data/vendor/libgit2/include/git2/sys/transport.h +129 -83
  133. data/vendor/libgit2/include/git2/tag.h +13 -4
  134. data/vendor/libgit2/include/git2/trace.h +2 -2
  135. data/vendor/libgit2/include/git2/transport.h +11 -311
  136. data/vendor/libgit2/include/git2/tree.h +4 -4
  137. data/vendor/libgit2/include/git2/types.h +25 -106
  138. data/vendor/libgit2/include/git2/version.h +3 -3
  139. data/vendor/libgit2/include/git2/worktree.h +5 -5
  140. data/vendor/libgit2/include/git2.h +4 -0
  141. data/vendor/libgit2/src/CMakeLists.txt +104 -235
  142. data/vendor/libgit2/src/alloc.c +14 -18
  143. data/vendor/libgit2/src/{stdalloc.c → allocators/stdalloc.c} +7 -8
  144. data/vendor/libgit2/src/{stdalloc.h → allocators/stdalloc.h} +4 -4
  145. data/vendor/libgit2/src/allocators/win32_crtdbg.c +118 -0
  146. data/vendor/libgit2/src/{transports/cred.h → allocators/win32_crtdbg.h} +5 -4
  147. data/vendor/libgit2/src/annotated_commit.c +18 -11
  148. data/vendor/libgit2/src/apply.c +535 -28
  149. data/vendor/libgit2/src/apply.h +3 -1
  150. data/vendor/libgit2/src/array.h +2 -2
  151. data/vendor/libgit2/src/attr.c +77 -71
  152. data/vendor/libgit2/src/attr_file.c +203 -117
  153. data/vendor/libgit2/src/attr_file.h +9 -9
  154. data/vendor/libgit2/src/attrcache.c +49 -51
  155. data/vendor/libgit2/src/attrcache.h +2 -1
  156. data/vendor/libgit2/src/blame.c +38 -18
  157. data/vendor/libgit2/src/blame.h +1 -1
  158. data/vendor/libgit2/src/blame_git.c +29 -15
  159. data/vendor/libgit2/src/blob.c +123 -37
  160. data/vendor/libgit2/src/blob.h +19 -2
  161. data/vendor/libgit2/src/branch.c +47 -23
  162. data/vendor/libgit2/src/buf_text.c +7 -6
  163. data/vendor/libgit2/src/buffer.c +60 -53
  164. data/vendor/libgit2/src/cache.c +38 -45
  165. data/vendor/libgit2/src/cache.h +3 -3
  166. data/vendor/libgit2/src/cc-compat.h +20 -3
  167. data/vendor/libgit2/src/checkout.c +77 -67
  168. data/vendor/libgit2/src/cherrypick.c +12 -6
  169. data/vendor/libgit2/src/clone.c +36 -14
  170. data/vendor/libgit2/src/clone.h +4 -0
  171. data/vendor/libgit2/src/commit.c +103 -48
  172. data/vendor/libgit2/src/commit.h +7 -0
  173. data/vendor/libgit2/src/commit_list.c +36 -78
  174. data/vendor/libgit2/src/commit_list.h +2 -2
  175. data/vendor/libgit2/src/common.h +24 -90
  176. data/vendor/libgit2/src/config.c +203 -176
  177. data/vendor/libgit2/src/config.h +8 -20
  178. data/vendor/libgit2/src/config_backend.h +96 -0
  179. data/vendor/libgit2/src/config_cache.c +41 -35
  180. data/vendor/libgit2/src/config_entries.c +229 -0
  181. data/vendor/libgit2/src/config_entries.h +24 -0
  182. data/vendor/libgit2/src/config_file.c +422 -680
  183. data/vendor/libgit2/src/config_mem.c +220 -0
  184. data/vendor/libgit2/src/config_parse.c +96 -68
  185. data/vendor/libgit2/src/config_parse.h +15 -14
  186. data/vendor/libgit2/src/config_snapshot.c +206 -0
  187. data/vendor/libgit2/src/crlf.c +219 -196
  188. data/vendor/libgit2/src/delta.c +25 -18
  189. data/vendor/libgit2/src/describe.c +42 -41
  190. data/vendor/libgit2/src/diff.c +52 -67
  191. data/vendor/libgit2/src/diff.h +2 -1
  192. data/vendor/libgit2/src/diff_driver.c +44 -46
  193. data/vendor/libgit2/src/diff_file.c +16 -14
  194. data/vendor/libgit2/src/diff_file.h +1 -1
  195. data/vendor/libgit2/src/diff_generate.c +158 -103
  196. data/vendor/libgit2/src/diff_generate.h +3 -3
  197. data/vendor/libgit2/src/diff_parse.c +4 -4
  198. data/vendor/libgit2/src/diff_print.c +34 -22
  199. data/vendor/libgit2/src/diff_stats.c +22 -7
  200. data/vendor/libgit2/src/diff_tform.c +18 -16
  201. data/vendor/libgit2/src/diff_xdiff.c +3 -3
  202. data/vendor/libgit2/src/errors.c +51 -39
  203. data/vendor/libgit2/src/errors.h +81 -0
  204. data/vendor/libgit2/src/features.h.in +9 -3
  205. data/vendor/libgit2/src/fetch.c +8 -3
  206. data/vendor/libgit2/src/fetchhead.c +12 -12
  207. data/vendor/libgit2/src/filebuf.c +28 -32
  208. data/vendor/libgit2/src/filebuf.h +2 -2
  209. data/vendor/libgit2/src/filter.c +47 -33
  210. data/vendor/libgit2/src/filter.h +0 -10
  211. data/vendor/libgit2/src/{fileops.c → futils.c} +70 -63
  212. data/vendor/libgit2/src/{fileops.h → futils.h} +6 -6
  213. data/vendor/libgit2/src/global.c +35 -55
  214. data/vendor/libgit2/src/global.h +0 -2
  215. data/vendor/libgit2/src/hash/sha1/collisiondetect.c +48 -0
  216. data/vendor/libgit2/src/hash/sha1/collisiondetect.h +19 -0
  217. data/vendor/libgit2/src/hash/{hash_common_crypto.h → sha1/common_crypto.c} +17 -17
  218. data/vendor/libgit2/src/hash/sha1/common_crypto.h +19 -0
  219. data/vendor/libgit2/src/hash/{hash_generic.c → sha1/generic.c} +22 -10
  220. data/vendor/libgit2/src/hash/{hash_generic.h → sha1/generic.h} +4 -10
  221. data/vendor/libgit2/src/hash/{hash_mbedtls.c → sha1/mbedtls.c} +15 -7
  222. data/vendor/libgit2/src/hash/{hash_mbedtls.h → sha1/mbedtls.h} +6 -7
  223. data/vendor/libgit2/src/hash/sha1/openssl.c +59 -0
  224. data/vendor/libgit2/src/hash/sha1/openssl.h +19 -0
  225. data/vendor/libgit2/src/hash/{sha1dc → sha1/sha1dc}/sha1.c +14 -3
  226. data/vendor/libgit2/src/hash/{hash_win32.c → sha1/win32.c} +47 -37
  227. data/vendor/libgit2/src/hash/{hash_win32.h → sha1/win32.h} +6 -19
  228. data/vendor/libgit2/src/hash/sha1.h +38 -0
  229. data/vendor/libgit2/src/hash.c +61 -0
  230. data/vendor/libgit2/src/hash.h +20 -21
  231. data/vendor/libgit2/src/hashsig.c +5 -5
  232. data/vendor/libgit2/src/idxmap.c +107 -61
  233. data/vendor/libgit2/src/idxmap.h +153 -31
  234. data/vendor/libgit2/src/ignore.c +38 -42
  235. data/vendor/libgit2/src/index.c +264 -199
  236. data/vendor/libgit2/src/index.h +7 -1
  237. data/vendor/libgit2/src/indexer.c +338 -167
  238. data/vendor/libgit2/src/integer.h +71 -26
  239. data/vendor/libgit2/src/iterator.c +134 -62
  240. data/vendor/libgit2/src/iterator.h +15 -0
  241. data/vendor/libgit2/src/mailmap.c +8 -8
  242. data/vendor/libgit2/src/map.h +1 -1
  243. data/vendor/libgit2/src/merge.c +137 -93
  244. data/vendor/libgit2/src/merge_driver.c +11 -11
  245. data/vendor/libgit2/src/merge_file.c +2 -2
  246. data/vendor/libgit2/src/mwindow.c +24 -29
  247. data/vendor/libgit2/src/mwindow.h +4 -4
  248. data/vendor/libgit2/src/net.c +184 -0
  249. data/vendor/libgit2/src/net.h +36 -0
  250. data/vendor/libgit2/src/netops.c +55 -156
  251. data/vendor/libgit2/src/netops.h +3 -23
  252. data/vendor/libgit2/src/notes.c +14 -9
  253. data/vendor/libgit2/src/object.c +120 -69
  254. data/vendor/libgit2/src/object.h +22 -9
  255. data/vendor/libgit2/src/object_api.c +8 -8
  256. data/vendor/libgit2/src/odb.c +111 -88
  257. data/vendor/libgit2/src/odb.h +8 -7
  258. data/vendor/libgit2/src/odb_loose.c +58 -47
  259. data/vendor/libgit2/src/odb_mempack.c +21 -34
  260. data/vendor/libgit2/src/odb_pack.c +17 -13
  261. data/vendor/libgit2/src/offmap.c +53 -35
  262. data/vendor/libgit2/src/offmap.h +108 -21
  263. data/vendor/libgit2/src/oid.c +12 -7
  264. data/vendor/libgit2/src/oidmap.c +49 -47
  265. data/vendor/libgit2/src/oidmap.h +101 -24
  266. data/vendor/libgit2/src/pack-objects.c +87 -86
  267. data/vendor/libgit2/src/pack-objects.h +2 -8
  268. data/vendor/libgit2/src/pack.c +94 -96
  269. data/vendor/libgit2/src/pack.h +16 -18
  270. data/vendor/libgit2/src/parse.c +17 -4
  271. data/vendor/libgit2/src/parse.h +3 -3
  272. data/vendor/libgit2/src/patch.c +3 -3
  273. data/vendor/libgit2/src/patch_generate.c +18 -18
  274. data/vendor/libgit2/src/patch_parse.c +147 -79
  275. data/vendor/libgit2/src/path.c +207 -62
  276. data/vendor/libgit2/src/path.h +14 -0
  277. data/vendor/libgit2/src/pathspec.c +18 -18
  278. data/vendor/libgit2/src/pool.c +26 -22
  279. data/vendor/libgit2/src/pool.h +7 -7
  280. data/vendor/libgit2/src/posix.c +10 -10
  281. data/vendor/libgit2/src/posix.h +12 -1
  282. data/vendor/libgit2/src/proxy.c +8 -3
  283. data/vendor/libgit2/src/push.c +35 -29
  284. data/vendor/libgit2/src/push.h +2 -1
  285. data/vendor/libgit2/src/reader.c +265 -0
  286. data/vendor/libgit2/src/reader.h +107 -0
  287. data/vendor/libgit2/src/rebase.c +97 -38
  288. data/vendor/libgit2/src/refdb.c +15 -3
  289. data/vendor/libgit2/src/refdb_fs.c +318 -222
  290. data/vendor/libgit2/src/reflog.c +13 -15
  291. data/vendor/libgit2/src/refs.c +122 -89
  292. data/vendor/libgit2/src/refs.h +5 -3
  293. data/vendor/libgit2/src/refspec.c +27 -33
  294. data/vendor/libgit2/src/regexp.c +221 -0
  295. data/vendor/libgit2/src/regexp.h +97 -0
  296. data/vendor/libgit2/src/remote.c +229 -178
  297. data/vendor/libgit2/src/remote.h +11 -2
  298. data/vendor/libgit2/src/repository.c +227 -172
  299. data/vendor/libgit2/src/repository.h +52 -40
  300. data/vendor/libgit2/src/reset.c +7 -7
  301. data/vendor/libgit2/src/revert.c +11 -6
  302. data/vendor/libgit2/src/revparse.c +46 -46
  303. data/vendor/libgit2/src/revwalk.c +89 -54
  304. data/vendor/libgit2/src/revwalk.h +20 -0
  305. data/vendor/libgit2/src/settings.c +22 -9
  306. data/vendor/libgit2/src/signature.c +15 -13
  307. data/vendor/libgit2/src/sortedcache.c +22 -36
  308. data/vendor/libgit2/src/sortedcache.h +1 -1
  309. data/vendor/libgit2/src/stash.c +56 -76
  310. data/vendor/libgit2/src/status.c +27 -21
  311. data/vendor/libgit2/src/stream.h +17 -2
  312. data/vendor/libgit2/src/streams/mbedtls.c +100 -80
  313. data/vendor/libgit2/src/streams/mbedtls.h +5 -2
  314. data/vendor/libgit2/src/streams/openssl.c +93 -81
  315. data/vendor/libgit2/src/streams/openssl.h +5 -2
  316. data/vendor/libgit2/src/streams/registry.c +118 -0
  317. data/vendor/libgit2/src/streams/registry.h +19 -0
  318. data/vendor/libgit2/src/streams/socket.c +55 -30
  319. data/vendor/libgit2/src/streams/stransport.c +57 -32
  320. data/vendor/libgit2/src/streams/stransport.h +5 -0
  321. data/vendor/libgit2/src/streams/tls.c +48 -20
  322. data/vendor/libgit2/src/streams/tls.h +12 -4
  323. data/vendor/libgit2/src/strmap.c +47 -74
  324. data/vendor/libgit2/src/strmap.h +108 -33
  325. data/vendor/libgit2/src/submodule.c +190 -169
  326. data/vendor/libgit2/src/submodule.h +1 -1
  327. data/vendor/libgit2/src/sysdir.c +25 -15
  328. data/vendor/libgit2/src/tag.c +39 -26
  329. data/vendor/libgit2/src/tag.h +2 -1
  330. data/vendor/libgit2/src/trace.c +2 -2
  331. data/vendor/libgit2/src/trace.h +2 -2
  332. data/vendor/libgit2/src/trailer.c +46 -32
  333. data/vendor/libgit2/src/transaction.c +30 -29
  334. data/vendor/libgit2/src/transport.c +3 -3
  335. data/vendor/libgit2/src/transports/auth.c +14 -10
  336. data/vendor/libgit2/src/transports/auth.h +10 -3
  337. data/vendor/libgit2/src/transports/auth_negotiate.c +31 -16
  338. data/vendor/libgit2/src/transports/auth_negotiate.h +2 -2
  339. data/vendor/libgit2/src/transports/auth_ntlm.c +223 -0
  340. data/vendor/libgit2/src/transports/auth_ntlm.h +35 -0
  341. data/vendor/libgit2/src/transports/cred.c +24 -24
  342. data/vendor/libgit2/src/transports/git.c +25 -30
  343. data/vendor/libgit2/src/transports/http.c +871 -335
  344. data/vendor/libgit2/src/transports/http.h +2 -0
  345. data/vendor/libgit2/src/transports/local.c +28 -28
  346. data/vendor/libgit2/src/transports/smart.c +64 -46
  347. data/vendor/libgit2/src/transports/smart.h +5 -6
  348. data/vendor/libgit2/src/transports/smart_pkt.c +162 -151
  349. data/vendor/libgit2/src/transports/smart_protocol.c +64 -94
  350. data/vendor/libgit2/src/transports/ssh.c +76 -65
  351. data/vendor/libgit2/src/transports/winhttp.c +328 -319
  352. data/vendor/libgit2/src/tree-cache.c +21 -14
  353. data/vendor/libgit2/src/tree.c +119 -112
  354. data/vendor/libgit2/src/tree.h +1 -0
  355. data/vendor/libgit2/src/unix/map.c +3 -3
  356. data/vendor/libgit2/src/unix/posix.h +1 -11
  357. data/vendor/libgit2/src/userdiff.h +3 -1
  358. data/vendor/libgit2/src/util.c +154 -93
  359. data/vendor/libgit2/src/util.h +19 -23
  360. data/vendor/libgit2/src/vector.c +15 -10
  361. data/vendor/libgit2/src/wildmatch.c +320 -0
  362. data/vendor/libgit2/src/wildmatch.h +23 -0
  363. data/vendor/libgit2/src/win32/dir.c +3 -3
  364. data/vendor/libgit2/src/win32/findfile.c +1 -1
  365. data/vendor/libgit2/src/win32/map.c +9 -11
  366. data/vendor/libgit2/src/win32/msvc-compat.h +6 -0
  367. data/vendor/libgit2/src/win32/path_w32.c +113 -9
  368. data/vendor/libgit2/src/win32/path_w32.h +18 -29
  369. data/vendor/libgit2/src/win32/posix.h +1 -4
  370. data/vendor/libgit2/src/win32/posix_w32.c +69 -44
  371. data/vendor/libgit2/src/win32/precompiled.h +0 -2
  372. data/vendor/libgit2/src/win32/thread.c +5 -10
  373. data/vendor/libgit2/src/win32/w32_buffer.c +9 -5
  374. data/vendor/libgit2/src/win32/w32_common.h +39 -0
  375. data/vendor/libgit2/src/win32/w32_crtdbg_stacktrace.c +2 -95
  376. data/vendor/libgit2/src/win32/w32_crtdbg_stacktrace.h +0 -2
  377. data/vendor/libgit2/src/win32/w32_stack.c +6 -11
  378. data/vendor/libgit2/src/win32/w32_stack.h +3 -3
  379. data/vendor/libgit2/src/win32/w32_util.c +27 -64
  380. data/vendor/libgit2/src/win32/w32_util.h +5 -49
  381. data/vendor/libgit2/src/worktree.c +44 -30
  382. data/vendor/libgit2/src/xdiff/xdiffi.c +5 -5
  383. data/vendor/libgit2/src/xdiff/xhistogram.c +1 -1
  384. data/vendor/libgit2/src/xdiff/xmerge.c +27 -15
  385. data/vendor/libgit2/src/xdiff/xpatience.c +3 -0
  386. data/vendor/libgit2/src/zstream.c +4 -4
  387. metadata +115 -38
  388. data/vendor/libgit2/deps/regex/CMakeLists.txt +0 -2
  389. data/vendor/libgit2/deps/regex/config.h +0 -7
  390. data/vendor/libgit2/deps/regex/regcomp.c +0 -3857
  391. data/vendor/libgit2/deps/regex/regex.c +0 -92
  392. data/vendor/libgit2/deps/regex/regex.h +0 -582
  393. data/vendor/libgit2/deps/regex/regex_internal.c +0 -1744
  394. data/vendor/libgit2/deps/regex/regex_internal.h +0 -819
  395. data/vendor/libgit2/deps/regex/regexec.c +0 -4369
  396. data/vendor/libgit2/include/git2/inttypes.h +0 -309
  397. data/vendor/libgit2/include/git2/sys/time.h +0 -31
  398. data/vendor/libgit2/libgit2.pc.in +0 -13
  399. data/vendor/libgit2/src/config_file.h +0 -73
  400. data/vendor/libgit2/src/fnmatch.c +0 -248
  401. data/vendor/libgit2/src/fnmatch.h +0 -48
  402. data/vendor/libgit2/src/hash/hash_collisiondetect.h +0 -47
  403. data/vendor/libgit2/src/hash/hash_openssl.h +0 -59
  404. data/vendor/libgit2/src/streams/curl.c +0 -385
  405. data/vendor/libgit2/src/streams/curl.h +0 -17
  406. /data/vendor/libgit2/deps/http-parser/{LICENSE-MIT → COPYING} +0 -0
  407. /data/vendor/libgit2/src/hash/{sha1dc → sha1/sha1dc}/sha1.h +0 -0
  408. /data/vendor/libgit2/src/hash/{sha1dc → sha1/sha1dc}/ubc_check.c +0 -0
  409. /data/vendor/libgit2/src/hash/{sha1dc → sha1/sha1dc}/ubc_check.h +0 -0
@@ -21,6 +21,8 @@
21
21
  */
22
22
  GIT_BEGIN_DECL
23
23
 
24
+ #define GIT_OBJECT_SIZE_MAX UINT64_MAX
25
+
24
26
  /**
25
27
  * Lookup a reference to one of the objects in a repository.
26
28
  *
@@ -30,7 +32,7 @@ GIT_BEGIN_DECL
30
32
  *
31
33
  * The 'type' parameter must match the type of the object
32
34
  * in the odb; the method will fail otherwise.
33
- * The special value 'GIT_OBJ_ANY' may be passed to let
35
+ * The special value 'GIT_OBJECT_ANY' may be passed to let
34
36
  * the method guess the object's type.
35
37
  *
36
38
  * @param object pointer to the looked-up object
@@ -43,7 +45,7 @@ GIT_EXTERN(int) git_object_lookup(
43
45
  git_object **object,
44
46
  git_repository *repo,
45
47
  const git_oid *id,
46
- git_otype type);
48
+ git_object_t type);
47
49
 
48
50
  /**
49
51
  * Lookup a reference to one of the objects in a repository,
@@ -62,7 +64,7 @@ GIT_EXTERN(int) git_object_lookup(
62
64
  *
63
65
  * The 'type' parameter must match the type of the object
64
66
  * in the odb; the method will fail otherwise.
65
- * The special value 'GIT_OBJ_ANY' may be passed to let
67
+ * The special value 'GIT_OBJECT_ANY' may be passed to let
66
68
  * the method guess the object's type.
67
69
  *
68
70
  * @param object_out pointer where to store the looked-up object
@@ -77,7 +79,7 @@ GIT_EXTERN(int) git_object_lookup_prefix(
77
79
  git_repository *repo,
78
80
  const git_oid *id,
79
81
  size_t len,
80
- git_otype type);
82
+ git_object_t type);
81
83
 
82
84
 
83
85
  /**
@@ -94,7 +96,7 @@ GIT_EXTERN(int) git_object_lookup_bypath(
94
96
  git_object **out,
95
97
  const git_object *treeish,
96
98
  const char *path,
97
- git_otype type);
99
+ git_object_t type);
98
100
 
99
101
  /**
100
102
  * Get the id (SHA1) of a repository object
@@ -124,7 +126,7 @@ GIT_EXTERN(int) git_object_short_id(git_buf *out, const git_object *obj);
124
126
  * @param obj the repository object
125
127
  * @return the object's type
126
128
  */
127
- GIT_EXTERN(git_otype) git_object_type(const git_object *obj);
129
+ GIT_EXTERN(git_object_t) git_object_type(const git_object *obj);
128
130
 
129
131
  /**
130
132
  * Get the repository that owns this object
@@ -166,38 +168,24 @@ GIT_EXTERN(void) git_object_free(git_object *object);
166
168
  * @param type object type to convert.
167
169
  * @return the corresponding string representation.
168
170
  */
169
- GIT_EXTERN(const char *) git_object_type2string(git_otype type);
171
+ GIT_EXTERN(const char *) git_object_type2string(git_object_t type);
170
172
 
171
173
  /**
172
- * Convert a string object type representation to it's git_otype.
174
+ * Convert a string object type representation to it's git_object_t.
173
175
  *
174
176
  * @param str the string to convert.
175
- * @return the corresponding git_otype.
177
+ * @return the corresponding git_object_t.
176
178
  */
177
- GIT_EXTERN(git_otype) git_object_string2type(const char *str);
179
+ GIT_EXTERN(git_object_t) git_object_string2type(const char *str);
178
180
 
179
181
  /**
180
- * Determine if the given git_otype is a valid loose object type.
182
+ * Determine if the given git_object_t is a valid loose object type.
181
183
  *
182
184
  * @param type object type to test.
183
185
  * @return true if the type represents a valid loose object type,
184
186
  * false otherwise.
185
187
  */
186
- GIT_EXTERN(int) git_object_typeisloose(git_otype type);
187
-
188
- /**
189
- * Get the size in bytes for the structure which
190
- * acts as an in-memory representation of any given
191
- * object type.
192
- *
193
- * For all the core types, this would the equivalent
194
- * of calling `sizeof(git_commit)` if the core types
195
- * were not opaque on the external API.
196
- *
197
- * @param type object type to get its size
198
- * @return size in bytes of the object
199
- */
200
- GIT_EXTERN(size_t) git_object__size(git_otype type);
188
+ GIT_EXTERN(int) git_object_typeisloose(git_object_t type);
201
189
 
202
190
  /**
203
191
  * Recursively peel an object until an object of the specified type is met.
@@ -206,7 +194,7 @@ GIT_EXTERN(size_t) git_object__size(git_otype type);
206
194
  * GIT_EINVALIDSPEC will be returned (e.g. trying to peel a blob to a
207
195
  * tree).
208
196
  *
209
- * If you pass `GIT_OBJ_ANY` as the target type, then the object will
197
+ * If you pass `GIT_OBJECT_ANY` as the target type, then the object will
210
198
  * be peeled until the type changes. A tag will be peeled until the
211
199
  * referenced object is no longer a tag, and a commit will be peeled
212
200
  * to a tree. Any other object type will return GIT_EINVALIDSPEC.
@@ -219,13 +207,13 @@ GIT_EXTERN(size_t) git_object__size(git_otype type);
219
207
  *
220
208
  * @param peeled Pointer to the peeled git_object
221
209
  * @param object The object to be processed
222
- * @param target_type The type of the requested object (a GIT_OBJ_ value)
210
+ * @param target_type The type of the requested object (a GIT_OBJECT_ value)
223
211
  * @return 0 on success, GIT_EINVALIDSPEC, GIT_EPEEL, or an error code
224
212
  */
225
213
  GIT_EXTERN(int) git_object_peel(
226
214
  git_object **peeled,
227
215
  const git_object *object,
228
- git_otype target_type);
216
+ git_object_t target_type);
229
217
 
230
218
  /**
231
219
  * Create an in-memory copy of a Git object. The copy must be
@@ -11,6 +11,7 @@
11
11
  #include "types.h"
12
12
  #include "oid.h"
13
13
  #include "oidarray.h"
14
+ #include "indexer.h"
14
15
 
15
16
  /**
16
17
  * @file git2/odb.h
@@ -24,7 +25,7 @@ GIT_BEGIN_DECL
24
25
  /**
25
26
  * Function type for callbacks from git_odb_foreach.
26
27
  */
27
- typedef int (*git_odb_foreach_cb)(const git_oid *id, void *payload);
28
+ typedef int GIT_CALLBACK(git_odb_foreach_cb)(const git_oid *id, void *payload);
28
29
 
29
30
  /**
30
31
  * Create a new object database with no backends.
@@ -146,7 +147,7 @@ GIT_EXTERN(int) git_odb_read_prefix(git_odb_object **out, git_odb *db, const git
146
147
  * - 0 if the object was read;
147
148
  * - GIT_ENOTFOUND if the object is not in the database.
148
149
  */
149
- GIT_EXTERN(int) git_odb_read_header(size_t *len_out, git_otype *type_out, git_odb *db, const git_oid *id);
150
+ GIT_EXTERN(int) git_odb_read_header(size_t *len_out, git_object_t *type_out, git_odb *db, const git_oid *id);
150
151
 
151
152
  /**
152
153
  * Determine if the given object can be found in the object database.
@@ -189,9 +190,9 @@ typedef struct git_odb_expand_id {
189
190
 
190
191
  /**
191
192
  * The (optional) type of the object to search for; leave as `0` or set
192
- * to `GIT_OBJ_ANY` to query for any object matching the ID.
193
+ * to `GIT_OBJECT_ANY` to query for any object matching the ID.
193
194
  */
194
- git_otype type;
195
+ git_object_t type;
195
196
  } git_odb_expand_id;
196
197
 
197
198
  /**
@@ -270,7 +271,7 @@ GIT_EXTERN(int) git_odb_foreach(git_odb *db, git_odb_foreach_cb cb, void *payloa
270
271
  * @param type type of the data to store
271
272
  * @return 0 or an error code
272
273
  */
273
- GIT_EXTERN(int) git_odb_write(git_oid *out, git_odb *odb, const void *data, size_t len, git_otype type);
274
+ GIT_EXTERN(int) git_odb_write(git_oid *out, git_odb *odb, const void *data, size_t len, git_object_t type);
274
275
 
275
276
  /**
276
277
  * Open a stream to write an object into the ODB
@@ -293,7 +294,7 @@ GIT_EXTERN(int) git_odb_write(git_oid *out, git_odb *odb, const void *data, size
293
294
  * @param type type of the object that will be written
294
295
  * @return 0 if the stream was created; error code otherwise
295
296
  */
296
- GIT_EXTERN(int) git_odb_open_wstream(git_odb_stream **out, git_odb *db, git_off_t size, git_otype type);
297
+ GIT_EXTERN(int) git_odb_open_wstream(git_odb_stream **out, git_odb *db, git_object_size_t size, git_object_t type);
297
298
 
298
299
  /**
299
300
  * Write to an odb stream
@@ -366,7 +367,7 @@ GIT_EXTERN(void) git_odb_stream_free(git_odb_stream *stream);
366
367
  GIT_EXTERN(int) git_odb_open_rstream(
367
368
  git_odb_stream **out,
368
369
  size_t *len,
369
- git_otype *type,
370
+ git_object_t *type,
370
371
  git_odb *db,
371
372
  const git_oid *oid);
372
373
 
@@ -391,7 +392,7 @@ GIT_EXTERN(int) git_odb_open_rstream(
391
392
  GIT_EXTERN(int) git_odb_write_pack(
392
393
  git_odb_writepack **out,
393
394
  git_odb *db,
394
- git_transfer_progress_cb progress_cb,
395
+ git_indexer_progress_cb progress_cb,
395
396
  void *progress_payload);
396
397
 
397
398
  /**
@@ -406,7 +407,7 @@ GIT_EXTERN(int) git_odb_write_pack(
406
407
  * @param type of the data to hash
407
408
  * @return 0 or an error code
408
409
  */
409
- GIT_EXTERN(int) git_odb_hash(git_oid *out, const void *data, size_t len, git_otype type);
410
+ GIT_EXTERN(int) git_odb_hash(git_oid *out, const void *data, size_t len, git_object_t type);
410
411
 
411
412
  /**
412
413
  * Read a file from disk and fill a git_oid with the object id
@@ -421,7 +422,7 @@ GIT_EXTERN(int) git_odb_hash(git_oid *out, const void *data, size_t len, git_oty
421
422
  * @param type the type of the object that will be hashed
422
423
  * @return 0 or an error code
423
424
  */
424
- GIT_EXTERN(int) git_odb_hashfile(git_oid *out, const char *path, git_otype type);
425
+ GIT_EXTERN(int) git_odb_hashfile(git_oid *out, const char *path, git_object_t type);
425
426
 
426
427
  /**
427
428
  * Create a copy of an odb_object
@@ -487,7 +488,7 @@ GIT_EXTERN(size_t) git_odb_object_size(git_odb_object *object);
487
488
  * @param object the object
488
489
  * @return the type
489
490
  */
490
- GIT_EXTERN(git_otype) git_odb_object_type(git_odb_object *object);
491
+ GIT_EXTERN(git_object_t) git_odb_object_type(git_odb_object *object);
491
492
 
492
493
  /**
493
494
  * Add a custom backend to an existing Object DB
@@ -9,6 +9,7 @@
9
9
 
10
10
  #include "common.h"
11
11
  #include "types.h"
12
+ #include "indexer.h"
12
13
 
13
14
  /**
14
15
  * @file git2/backend.h
@@ -86,18 +87,18 @@ struct git_odb_stream {
86
87
  unsigned int mode;
87
88
  void *hash_ctx;
88
89
 
89
- git_off_t declared_size;
90
- git_off_t received_bytes;
90
+ git_object_size_t declared_size;
91
+ git_object_size_t received_bytes;
91
92
 
92
93
  /**
93
94
  * Write at most `len` bytes into `buffer` and advance the stream.
94
95
  */
95
- int (*read)(git_odb_stream *stream, char *buffer, size_t len);
96
+ int GIT_CALLBACK(read)(git_odb_stream *stream, char *buffer, size_t len);
96
97
 
97
98
  /**
98
99
  * Write `len` bytes from `buffer` into the stream.
99
100
  */
100
- int (*write)(git_odb_stream *stream, const char *buffer, size_t len);
101
+ int GIT_CALLBACK(write)(git_odb_stream *stream, const char *buffer, size_t len);
101
102
 
102
103
  /**
103
104
  * Store the contents of the stream as an object with the id
@@ -109,7 +110,7 @@ struct git_odb_stream {
109
110
  * - the final number of received bytes differs from the size declared
110
111
  * with `git_odb_open_wstream()`
111
112
  */
112
- int (*finalize_write)(git_odb_stream *stream, const git_oid *oid);
113
+ int GIT_CALLBACK(finalize_write)(git_odb_stream *stream, const git_oid *oid);
113
114
 
114
115
  /**
115
116
  * Free the stream's memory.
@@ -117,16 +118,16 @@ struct git_odb_stream {
117
118
  * This method might be called without a call to `finalize_write` if
118
119
  * an error occurs or if the object is already present in the ODB.
119
120
  */
120
- void (*free)(git_odb_stream *stream);
121
+ void GIT_CALLBACK(free)(git_odb_stream *stream);
121
122
  };
122
123
 
123
124
  /** A stream to write a pack file to the ODB */
124
125
  struct git_odb_writepack {
125
126
  git_odb_backend *backend;
126
127
 
127
- int (*append)(git_odb_writepack *writepack, const void *data, size_t size, git_transfer_progress *stats);
128
- int (*commit)(git_odb_writepack *writepack, git_transfer_progress *stats);
129
- void (*free)(git_odb_writepack *writepack);
128
+ int GIT_CALLBACK(append)(git_odb_writepack *writepack, const void *data, size_t size, git_indexer_progress *stats);
129
+ int GIT_CALLBACK(commit)(git_odb_writepack *writepack, git_indexer_progress *stats);
130
+ void GIT_CALLBACK(free)(git_odb_writepack *writepack);
130
131
  };
131
132
 
132
133
  GIT_END_DECL
@@ -207,7 +207,7 @@ GIT_EXTERN(int) git_oid_strcmp(const git_oid *id, const char *str);
207
207
  *
208
208
  * @return 1 if all zeros, 0 otherwise.
209
209
  */
210
- GIT_EXTERN(int) git_oid_iszero(const git_oid *id);
210
+ GIT_EXTERN(int) git_oid_is_zero(const git_oid *id);
211
211
 
212
212
  /**
213
213
  * OID Shortener object
@@ -246,7 +246,7 @@ GIT_EXTERN(git_oid_shorten *) git_oid_shorten_new(size_t min_length);
246
246
  * memory-efficient.
247
247
  *
248
248
  * Attempting to add more than those OIDs will result in a
249
- * GITERR_INVALID error
249
+ * GIT_ERROR_INVALID error
250
250
  *
251
251
  * @param os a `git_oid_shorten` instance
252
252
  * @param text_id an OID in text form
@@ -9,6 +9,7 @@
9
9
 
10
10
  #include "common.h"
11
11
  #include "oid.h"
12
+ #include "indexer.h"
12
13
 
13
14
  /**
14
15
  * @file git2/pack.h
@@ -165,7 +166,7 @@ GIT_EXTERN(int) git_packbuilder_write(
165
166
  git_packbuilder *pb,
166
167
  const char *path,
167
168
  unsigned int mode,
168
- git_transfer_progress_cb progress_cb,
169
+ git_indexer_progress_cb progress_cb,
169
170
  void *progress_cb_payload);
170
171
 
171
172
  /**
@@ -178,7 +179,17 @@ GIT_EXTERN(int) git_packbuilder_write(
178
179
  */
179
180
  GIT_EXTERN(const git_oid *) git_packbuilder_hash(git_packbuilder *pb);
180
181
 
181
- typedef int (*git_packbuilder_foreach_cb)(void *buf, size_t size, void *payload);
182
+ /**
183
+ * Callback used to iterate over packed objects
184
+ *
185
+ * @see git_packbuilder_foreach
186
+ *
187
+ * @param buf A pointer to the object's data
188
+ * @param size The size of the underlying object
189
+ * @param payload Payload passed to git_packbuilder_foreach
190
+ * @return non-zero to terminate the iteration
191
+ */
192
+ typedef int GIT_CALLBACK(git_packbuilder_foreach_cb)(void *buf, size_t size, void *payload);
182
193
 
183
194
  /**
184
195
  * Create the new pack and pass each object to the callback
@@ -207,7 +218,7 @@ GIT_EXTERN(size_t) git_packbuilder_object_count(git_packbuilder *pb);
207
218
  GIT_EXTERN(size_t) git_packbuilder_written(git_packbuilder *pb);
208
219
 
209
220
  /** Packbuilder progress notification function */
210
- typedef int (*git_packbuilder_progress)(
221
+ typedef int GIT_CALLBACK(git_packbuilder_progress)(
211
222
  int stage,
212
223
  uint32_t current,
213
224
  uint32_t total,
@@ -8,7 +8,9 @@
8
8
  #define INCLUDE_git_proxy_h__
9
9
 
10
10
  #include "common.h"
11
- #include "transport.h"
11
+
12
+ #include "cert.h"
13
+ #include "cred.h"
12
14
 
13
15
  GIT_BEGIN_DECL
14
16
 
@@ -67,7 +69,7 @@ typedef struct {
67
69
  * connection to proceed. Returns 0 to allow the connection
68
70
  * or a negative value to indicate an error.
69
71
  */
70
- git_transport_certificate_check_cb certificate_check;
72
+ git_transport_certificate_check_cb certificate_check;
71
73
 
72
74
  /**
73
75
  * Payload to be provided to the credentials and certificate
@@ -89,7 +91,7 @@ typedef struct {
89
91
  * @param version The struct version; pass `GIT_PROXY_OPTIONS_VERSION`.
90
92
  * @return Zero on success; -1 on failure.
91
93
  */
92
- GIT_EXTERN(int) git_proxy_init_options(git_proxy_options *opts, unsigned int version);
94
+ GIT_EXTERN(int) git_proxy_options_init(git_proxy_options *opts, unsigned int version);
93
95
 
94
96
  GIT_END_DECL
95
97
 
@@ -13,6 +13,7 @@
13
13
  #include "annotated_commit.h"
14
14
  #include "merge.h"
15
15
  #include "checkout.h"
16
+ #include "commit.h"
16
17
 
17
18
  /**
18
19
  * @file git2/rebase.h
@@ -72,6 +73,21 @@ typedef struct {
72
73
  * `abort` to match git semantics.
73
74
  */
74
75
  git_checkout_options checkout_options;
76
+
77
+ /**
78
+ * If provided, this will be called with the commit content, allowing
79
+ * a signature to be added to the rebase commit. Can be skipped with
80
+ * GIT_PASSTHROUGH. If GIT_PASSTHROUGH is returned, a commit will be made
81
+ * without a signature.
82
+ * This field is only used when performing git_rebase_commit.
83
+ */
84
+ git_commit_signing_cb signing_cb;
85
+
86
+ /**
87
+ * This will be passed to each of the callbacks in this struct
88
+ * as the last parameter.
89
+ */
90
+ void *payload;
75
91
  } git_rebase_options;
76
92
 
77
93
  /**
@@ -118,7 +134,7 @@ typedef enum {
118
134
  #define GIT_REBASE_OPTIONS_VERSION 1
119
135
  #define GIT_REBASE_OPTIONS_INIT \
120
136
  { GIT_REBASE_OPTIONS_VERSION, 0, 0, NULL, GIT_MERGE_OPTIONS_INIT, \
121
- GIT_CHECKOUT_OPTIONS_INIT}
137
+ GIT_CHECKOUT_OPTIONS_INIT, NULL, NULL }
122
138
 
123
139
  /** Indicates that a rebase operation is not (yet) in progress. */
124
140
  #define GIT_REBASE_NO_OPERATION SIZE_MAX
@@ -156,7 +172,7 @@ typedef struct {
156
172
  * @param version The struct version; pass `GIT_REBASE_OPTIONS_VERSION`.
157
173
  * @return Zero on success; -1 on failure.
158
174
  */
159
- GIT_EXTERN(int) git_rebase_init_options(
175
+ GIT_EXTERN(int) git_rebase_options_init(
160
176
  git_rebase_options *opts,
161
177
  unsigned int version);
162
178
 
@@ -199,6 +215,34 @@ GIT_EXTERN(int) git_rebase_open(
199
215
  git_repository *repo,
200
216
  const git_rebase_options *opts);
201
217
 
218
+ /**
219
+ * Gets the original `HEAD` ref name for merge rebases.
220
+ *
221
+ * @return The original `HEAD` ref name
222
+ */
223
+ GIT_EXTERN(const char *) git_rebase_orig_head_name(git_rebase *rebase);
224
+
225
+ /**
226
+ * Gets the original `HEAD` id for merge rebases.
227
+ *
228
+ * @return The original `HEAD` id
229
+ */
230
+ GIT_EXTERN(const git_oid *) git_rebase_orig_head_id(git_rebase *rebase);
231
+
232
+ /**
233
+ * Gets the `onto` ref name for merge rebases.
234
+ *
235
+ * @return The `onto` ref name
236
+ */
237
+ GIT_EXTERN(const char *) git_rebase_onto_name(git_rebase *rebase);
238
+
239
+ /**
240
+ * Gets the `onto` id for merge rebases.
241
+ *
242
+ * @return The `onto` id
243
+ */
244
+ GIT_EXTERN(const git_oid *) git_rebase_onto_id(git_rebase *rebase);
245
+
202
246
  /**
203
247
  * Gets the count of rebase operations that are to be applied.
204
248
  *
@@ -263,12 +263,12 @@ GIT_EXTERN(const char *) git_reference_symbolic_target(const git_reference *ref)
263
263
  /**
264
264
  * Get the type of a reference.
265
265
  *
266
- * Either direct (GIT_REF_OID) or symbolic (GIT_REF_SYMBOLIC)
266
+ * Either direct (GIT_REFERENCE_DIRECT) or symbolic (GIT_REFERENCE_SYMBOLIC)
267
267
  *
268
268
  * @param ref The reference
269
269
  * @return the type
270
270
  */
271
- GIT_EXTERN(git_ref_t) git_reference_type(const git_reference *ref);
271
+ GIT_EXTERN(git_reference_t) git_reference_type(const git_reference *ref);
272
272
 
273
273
  /**
274
274
  * Get the full name of a reference.
@@ -422,8 +422,27 @@ GIT_EXTERN(int) git_reference_remove(git_repository *repo, const char *name);
422
422
  */
423
423
  GIT_EXTERN(int) git_reference_list(git_strarray *array, git_repository *repo);
424
424
 
425
- typedef int (*git_reference_foreach_cb)(git_reference *reference, void *payload);
426
- typedef int (*git_reference_foreach_name_cb)(const char *name, void *payload);
425
+ /**
426
+ * Callback used to iterate over references
427
+ *
428
+ * @see git_reference_foreach
429
+ *
430
+ * @param reference The reference object
431
+ * @param payload Payload passed to git_reference_foreach
432
+ * @return non-zero to terminate the iteration
433
+ */
434
+ typedef int GIT_CALLBACK(git_reference_foreach_cb)(git_reference *reference, void *payload);
435
+
436
+ /**
437
+ * Callback used to iterate over reference names
438
+ *
439
+ * @see git_reference_foreach_name
440
+ *
441
+ * @param name The reference name
442
+ * @param payload Payload passed to git_reference_foreach_name
443
+ * @return non-zero to terminate the iteration
444
+ */
445
+ typedef int GIT_CALLBACK(git_reference_foreach_name_cb)(const char *name, void *payload);
427
446
 
428
447
  /**
429
448
  * Perform a callback on each reference in the repository.
@@ -640,7 +659,7 @@ typedef enum {
640
659
  /**
641
660
  * No particular normalization.
642
661
  */
643
- GIT_REF_FORMAT_NORMAL = 0u,
662
+ GIT_REFERENCE_FORMAT_NORMAL = 0u,
644
663
 
645
664
  /**
646
665
  * Control whether one-level refnames are accepted
@@ -648,7 +667,7 @@ typedef enum {
648
667
  * components). Those are expected to be written only using
649
668
  * uppercase letters and underscore (FETCH_HEAD, ...)
650
669
  */
651
- GIT_REF_FORMAT_ALLOW_ONELEVEL = (1u << 0),
670
+ GIT_REFERENCE_FORMAT_ALLOW_ONELEVEL = (1u << 0),
652
671
 
653
672
  /**
654
673
  * Interpret the provided name as a reference pattern for a
@@ -657,15 +676,15 @@ typedef enum {
657
676
  * in place of a one full pathname component
658
677
  * (e.g., foo/<star>/bar but not foo/bar<star>).
659
678
  */
660
- GIT_REF_FORMAT_REFSPEC_PATTERN = (1u << 1),
679
+ GIT_REFERENCE_FORMAT_REFSPEC_PATTERN = (1u << 1),
661
680
 
662
681
  /**
663
682
  * Interpret the name as part of a refspec in shorthand form
664
683
  * so the `ONELEVEL` naming rules aren't enforced and 'master'
665
684
  * becomes a valid name.
666
685
  */
667
- GIT_REF_FORMAT_REFSPEC_SHORTHAND = (1u << 2),
668
- } git_reference_normalize_t;
686
+ GIT_REFERENCE_FORMAT_REFSPEC_SHORTHAND = (1u << 2),
687
+ } git_reference_format_t;
669
688
 
670
689
  /**
671
690
  * Normalize reference name and check validity.
@@ -683,7 +702,7 @@ typedef enum {
683
702
  * @param buffer_size Size of buffer_out
684
703
  * @param name Reference name to be checked.
685
704
  * @param flags Flags to constrain name validation rules - see the
686
- * GIT_REF_FORMAT constants above.
705
+ * GIT_REFERENCE_FORMAT constants above.
687
706
  * @return 0 on success, GIT_EBUFS if buffer is too small, GIT_EINVALIDSPEC
688
707
  * or an error code.
689
708
  */
@@ -699,19 +718,19 @@ GIT_EXTERN(int) git_reference_normalize_name(
699
718
  * The retrieved `peeled` object is owned by the repository
700
719
  * and should be closed with the `git_object_free` method.
701
720
  *
702
- * If you pass `GIT_OBJ_ANY` as the target type, then the object
721
+ * If you pass `GIT_OBJECT_ANY` as the target type, then the object
703
722
  * will be peeled until a non-tag object is met.
704
723
  *
705
724
  * @param out Pointer to the peeled git_object
706
725
  * @param ref The reference to be processed
707
- * @param type The type of the requested object (GIT_OBJ_COMMIT,
708
- * GIT_OBJ_TAG, GIT_OBJ_TREE, GIT_OBJ_BLOB or GIT_OBJ_ANY).
726
+ * @param type The type of the requested object (GIT_OBJECT_COMMIT,
727
+ * GIT_OBJECT_TAG, GIT_OBJECT_TREE, GIT_OBJECT_BLOB or GIT_OBJECT_ANY).
709
728
  * @return 0 on success, GIT_EAMBIGUOUS, GIT_ENOTFOUND or an error code
710
729
  */
711
730
  GIT_EXTERN(int) git_reference_peel(
712
731
  git_object **out,
713
- git_reference *ref,
714
- git_otype type);
732
+ const git_reference *ref,
733
+ git_object_t type);
715
734
 
716
735
  /**
717
736
  * Ensure the reference name is well-formed.
@@ -743,7 +762,6 @@ GIT_EXTERN(int) git_reference_is_valid_name(const char *refname);
743
762
  */
744
763
  GIT_EXTERN(const char *) git_reference_shorthand(const git_reference *ref);
745
764
 
746
-
747
765
  /** @} */
748
766
  GIT_END_DECL
749
767
  #endif