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
@@ -16,6 +16,7 @@
16
16
  #include "index.h"
17
17
  #include "bitvec.h"
18
18
  #include "diff.h"
19
+ #include "wildmatch.h"
19
20
 
20
21
  /* what is the common non-wildcard prefix for all items in the pathspec */
21
22
  char *git_pathspec_prefix(const git_strarray *pathspec)
@@ -84,8 +85,7 @@ int git_pathspec__vinit(
84
85
  if (!match)
85
86
  return -1;
86
87
 
87
- match->flags = GIT_ATTR_FNMATCH_ALLOWSPACE |
88
- GIT_ATTR_FNMATCH_ALLOWNEG | GIT_ATTR_FNMATCH_NOLEADINGDIR;
88
+ match->flags = GIT_ATTR_FNMATCH_ALLOWSPACE | GIT_ATTR_FNMATCH_ALLOWNEG;
89
89
 
90
90
  ret = git_attr_fnmatch__parse(match, strpool, NULL, &pattern);
91
91
  if (ret == GIT_ENOTFOUND) {
@@ -110,7 +110,7 @@ void git_pathspec__vfree(git_vector *vspec)
110
110
  }
111
111
 
112
112
  struct pathspec_match_context {
113
- int fnmatch_flags;
113
+ int wildmatch_flags;
114
114
  int (*strcomp)(const char *, const char *);
115
115
  int (*strncomp)(const char *, const char *, size_t);
116
116
  };
@@ -121,11 +121,11 @@ static void pathspec_match_context_init(
121
121
  bool casefold)
122
122
  {
123
123
  if (disable_fnmatch)
124
- ctxt->fnmatch_flags = -1;
124
+ ctxt->wildmatch_flags = -1;
125
125
  else if (casefold)
126
- ctxt->fnmatch_flags = FNM_CASEFOLD;
126
+ ctxt->wildmatch_flags = WM_CASEFOLD;
127
127
  else
128
- ctxt->fnmatch_flags = 0;
128
+ ctxt->wildmatch_flags = 0;
129
129
 
130
130
  if (casefold) {
131
131
  ctxt->strcomp = git__strcasecmp;
@@ -141,16 +141,16 @@ static int pathspec_match_one(
141
141
  struct pathspec_match_context *ctxt,
142
142
  const char *path)
143
143
  {
144
- int result = (match->flags & GIT_ATTR_FNMATCH_MATCH_ALL) ? 0 : FNM_NOMATCH;
144
+ int result = (match->flags & GIT_ATTR_FNMATCH_MATCH_ALL) ? 0 : WM_NOMATCH;
145
145
 
146
- if (result == FNM_NOMATCH)
147
- result = ctxt->strcomp(match->pattern, path) ? FNM_NOMATCH : 0;
146
+ if (result == WM_NOMATCH)
147
+ result = ctxt->strcomp(match->pattern, path) ? WM_NOMATCH : 0;
148
148
 
149
- if (ctxt->fnmatch_flags >= 0 && result == FNM_NOMATCH)
150
- result = p_fnmatch(match->pattern, path, ctxt->fnmatch_flags);
149
+ if (ctxt->wildmatch_flags >= 0 && result == WM_NOMATCH)
150
+ result = wildmatch(match->pattern, path, ctxt->wildmatch_flags);
151
151
 
152
152
  /* if we didn't match, look for exact dirname prefix match */
153
- if (result == FNM_NOMATCH &&
153
+ if (result == WM_NOMATCH &&
154
154
  (match->flags & GIT_ATTR_FNMATCH_HASWILD) == 0 &&
155
155
  ctxt->strncomp(path, match->pattern, match->length) == 0 &&
156
156
  path[match->length] == '/')
@@ -159,7 +159,7 @@ static int pathspec_match_one(
159
159
  /* if we didn't match and this is a negative match, check for exact
160
160
  * match of filename with leading '!'
161
161
  */
162
- if (result == FNM_NOMATCH &&
162
+ if (result == WM_NOMATCH &&
163
163
  (match->flags & GIT_ATTR_FNMATCH_NEGATIVE) != 0 &&
164
164
  *path == '!' &&
165
165
  ctxt->strncomp(path + 1, match->pattern, match->length) == 0 &&
@@ -258,7 +258,7 @@ int git_pathspec_new(git_pathspec **out, const git_strarray *pathspec)
258
258
  {
259
259
  int error = 0;
260
260
  git_pathspec *ps = git__malloc(sizeof(git_pathspec));
261
- GITERR_CHECK_ALLOC(ps);
261
+ GIT_ERROR_CHECK_ALLOC(ps);
262
262
 
263
263
  if ((error = git_pathspec__init(ps, pathspec)) < 0) {
264
264
  git__free(ps);
@@ -416,7 +416,7 @@ static int pathspec_match_from_iterator(
416
416
 
417
417
  if (out) {
418
418
  *out = m = pathspec_match_alloc(ps, PATHSPEC_DATATYPE_STRINGS);
419
- GITERR_CHECK_ALLOC(m);
419
+ GIT_ERROR_CHECK_ALLOC(m);
420
420
  }
421
421
 
422
422
  if ((error = git_iterator_reset_range(iter, ps->prefix, ps->prefix)) < 0)
@@ -488,7 +488,7 @@ static int pathspec_match_from_iterator(
488
488
 
489
489
  /* if every pattern failed to match, then we have failed */
490
490
  if ((flags & GIT_PATHSPEC_NO_MATCH_ERROR) != 0 && !found_files) {
491
- giterr_set(GITERR_INVALID, "no matching files were found");
491
+ git_error_set(GIT_ERROR_INVALID, "no matching files were found");
492
492
  error = GIT_ENOTFOUND;
493
493
  }
494
494
 
@@ -604,7 +604,7 @@ int git_pathspec_match_diff(
604
604
 
605
605
  if (out) {
606
606
  *out = m = pathspec_match_alloc(ps, PATHSPEC_DATATYPE_DIFF);
607
- GITERR_CHECK_ALLOC(m);
607
+ GIT_ERROR_CHECK_ALLOC(m);
608
608
  }
609
609
 
610
610
  pathspec_match_context_init(
@@ -659,7 +659,7 @@ int git_pathspec_match_diff(
659
659
 
660
660
  /* if every pattern failed to match, then we have failed */
661
661
  if ((flags & GIT_PATHSPEC_NO_MATCH_ERROR) != 0 && !found_deltas) {
662
- giterr_set(GITERR_INVALID, "no matching deltas were found");
662
+ git_error_set(GIT_ERROR_INVALID, "no matching deltas were found");
663
663
  error = GIT_ENOTFOUND;
664
664
  }
665
665
 
@@ -14,30 +14,30 @@
14
14
 
15
15
  struct git_pool_page {
16
16
  git_pool_page *next;
17
- uint32_t size;
18
- uint32_t avail;
17
+ size_t size;
18
+ size_t avail;
19
19
  GIT_ALIGN(char data[GIT_FLEX_ARRAY], 8);
20
20
  };
21
21
 
22
- static void *pool_alloc_page(git_pool *pool, uint32_t size);
22
+ static void *pool_alloc_page(git_pool *pool, size_t size);
23
23
 
24
- uint32_t git_pool__system_page_size(void)
24
+ size_t git_pool__system_page_size(void)
25
25
  {
26
- static uint32_t size = 0;
26
+ static size_t size = 0;
27
27
 
28
28
  if (!size) {
29
29
  size_t page_size;
30
30
  if (git__page_size(&page_size) < 0)
31
31
  page_size = 4096;
32
32
  /* allow space for malloc overhead */
33
- size = page_size - (2 * sizeof(void *)) - sizeof(git_pool_page);
33
+ size = (page_size - (2 * sizeof(void *)) - sizeof(git_pool_page));
34
34
  }
35
35
 
36
36
  return size;
37
37
  }
38
38
 
39
39
  #ifndef GIT_DEBUG_POOL
40
- void git_pool_init(git_pool *pool, uint32_t item_size)
40
+ void git_pool_init(git_pool *pool, size_t item_size)
41
41
  {
42
42
  assert(pool);
43
43
  assert(item_size >= 1);
@@ -59,10 +59,10 @@ void git_pool_clear(git_pool *pool)
59
59
  pool->pages = NULL;
60
60
  }
61
61
 
62
- static void *pool_alloc_page(git_pool *pool, uint32_t size)
62
+ static void *pool_alloc_page(git_pool *pool, size_t size)
63
63
  {
64
64
  git_pool_page *page;
65
- const uint32_t new_page_size = (size <= pool->page_size) ? pool->page_size : size;
65
+ const size_t new_page_size = (size <= pool->page_size) ? pool->page_size : size;
66
66
  size_t alloc_size;
67
67
 
68
68
  if (GIT_ADD_SIZET_OVERFLOW(&alloc_size, new_page_size, sizeof(git_pool_page)) ||
@@ -78,7 +78,7 @@ static void *pool_alloc_page(git_pool *pool, uint32_t size)
78
78
  return page->data;
79
79
  }
80
80
 
81
- static void *pool_alloc(git_pool *pool, uint32_t size)
81
+ static void *pool_alloc(git_pool *pool, size_t size)
82
82
  {
83
83
  git_pool_page *page = pool->pages;
84
84
  void *ptr = NULL;
@@ -125,7 +125,7 @@ static int git_pool__ptr_cmp(const void * a, const void * b)
125
125
  }
126
126
  }
127
127
 
128
- void git_pool_init(git_pool *pool, uint32_t item_size)
128
+ void git_pool_init(git_pool *pool, size_t item_size)
129
129
  {
130
130
  assert(pool);
131
131
  assert(item_size >= 1);
@@ -141,7 +141,7 @@ void git_pool_clear(git_pool *pool)
141
141
  git_vector_free_deep(&pool->allocations);
142
142
  }
143
143
 
144
- static void *pool_alloc(git_pool *pool, uint32_t size) {
144
+ static void *pool_alloc(git_pool *pool, size_t size) {
145
145
  void *ptr = NULL;
146
146
  if((ptr = git__malloc(size)) == NULL) {
147
147
  return NULL;
@@ -169,26 +169,26 @@ void git_pool_swap(git_pool *a, git_pool *b)
169
169
  memcpy(b, &temp, sizeof(temp));
170
170
  }
171
171
 
172
- static uint32_t alloc_size(git_pool *pool, uint32_t count)
172
+ static size_t alloc_size(git_pool *pool, size_t count)
173
173
  {
174
- const uint32_t align = sizeof(void *) - 1;
174
+ const size_t align = sizeof(void *) - 1;
175
175
 
176
176
  if (pool->item_size > 1) {
177
- const uint32_t item_size = (pool->item_size + align) & ~align;
177
+ const size_t item_size = (pool->item_size + align) & ~align;
178
178
  return item_size * count;
179
179
  }
180
180
 
181
181
  return (count + align) & ~align;
182
182
  }
183
183
 
184
- void *git_pool_malloc(git_pool *pool, uint32_t items)
184
+ void *git_pool_malloc(git_pool *pool, size_t items)
185
185
  {
186
186
  return pool_alloc(pool, alloc_size(pool, items));
187
187
  }
188
188
 
189
- void *git_pool_mallocz(git_pool *pool, uint32_t items)
189
+ void *git_pool_mallocz(git_pool *pool, size_t items)
190
190
  {
191
- const uint32_t size = alloc_size(pool, items);
191
+ const size_t size = alloc_size(pool, items);
192
192
  void *ptr = pool_alloc(pool, size);
193
193
  if (ptr)
194
194
  memset(ptr, 0x0, size);
@@ -201,10 +201,10 @@ char *git_pool_strndup(git_pool *pool, const char *str, size_t n)
201
201
 
202
202
  assert(pool && str && pool->item_size == sizeof(char));
203
203
 
204
- if ((uint32_t)(n + 1) < n)
204
+ if (n == SIZE_MAX)
205
205
  return NULL;
206
206
 
207
- if ((ptr = git_pool_malloc(pool, (uint32_t)(n + 1))) != NULL) {
207
+ if ((ptr = git_pool_malloc(pool, (n + 1))) != NULL) {
208
208
  memcpy(ptr, str, n);
209
209
  ptr[n] = '\0';
210
210
  }
@@ -226,14 +226,18 @@ char *git_pool_strdup_safe(git_pool *pool, const char *str)
226
226
  char *git_pool_strcat(git_pool *pool, const char *a, const char *b)
227
227
  {
228
228
  void *ptr;
229
- size_t len_a, len_b;
229
+ size_t len_a, len_b, total;
230
230
 
231
231
  assert(pool && pool->item_size == sizeof(char));
232
232
 
233
233
  len_a = a ? strlen(a) : 0;
234
234
  len_b = b ? strlen(b) : 0;
235
235
 
236
- if ((ptr = git_pool_malloc(pool, (uint32_t)(len_a + len_b + 1))) != NULL) {
236
+ if (GIT_ADD_SIZET_OVERFLOW(&total, len_a, len_b) ||
237
+ GIT_ADD_SIZET_OVERFLOW(&total, total, 1))
238
+ return NULL;
239
+
240
+ if ((ptr = git_pool_malloc(pool, total)) != NULL) {
237
241
  if (len_a)
238
242
  memcpy(ptr, a, len_a);
239
243
  if (len_b)
@@ -32,8 +32,8 @@ typedef struct git_pool_page git_pool_page;
32
32
  */
33
33
  typedef struct {
34
34
  git_pool_page *pages; /* allocated pages */
35
- uint32_t item_size; /* size of single alloc unit in bytes */
36
- uint32_t page_size; /* size of page in bytes */
35
+ size_t item_size; /* size of single alloc unit in bytes */
36
+ size_t page_size; /* size of page in bytes */
37
37
  } git_pool;
38
38
 
39
39
  #define GIT_POOL_INIT { NULL, 0, 0 }
@@ -57,8 +57,8 @@ typedef struct {
57
57
  */
58
58
  typedef struct {
59
59
  git_vector allocations;
60
- uint32_t item_size;
61
- uint32_t page_size;
60
+ size_t item_size;
61
+ size_t page_size;
62
62
  } git_pool;
63
63
 
64
64
  #define GIT_POOL_INIT { GIT_VECTOR_INIT, 0, 0 }
@@ -81,7 +81,7 @@ typedef struct {
81
81
  * Of course, you can use this in other ways, but those are the
82
82
  * two most common patterns.
83
83
  */
84
- extern void git_pool_init(git_pool *pool, uint32_t item_size);
84
+ extern void git_pool_init(git_pool *pool, size_t item_size);
85
85
 
86
86
  /**
87
87
  * Free all items in pool
@@ -96,8 +96,8 @@ extern void git_pool_swap(git_pool *a, git_pool *b);
96
96
  /**
97
97
  * Allocate space for one or more items from a pool.
98
98
  */
99
- extern void *git_pool_malloc(git_pool *pool, uint32_t items);
100
- extern void *git_pool_mallocz(git_pool *pool, uint32_t items);
99
+ extern void *git_pool_malloc(git_pool *pool, size_t items);
100
+ extern void *git_pool_mallocz(git_pool *pool, size_t items);
101
101
 
102
102
  /**
103
103
  * Allocate space and duplicate string data into it.
@@ -28,11 +28,11 @@ int p_getaddrinfo(
28
28
 
29
29
  GIT_UNUSED(hints);
30
30
 
31
- if ((ainfo = malloc(sizeof(struct addrinfo))) == NULL)
31
+ if ((ainfo = git__malloc(sizeof(struct addrinfo))) == NULL)
32
32
  return -1;
33
33
 
34
34
  if ((ainfo->ai_hostent = gethostbyname(host)) == NULL) {
35
- free(ainfo);
35
+ git__free(ainfo);
36
36
  return -2;
37
37
  }
38
38
 
@@ -65,7 +65,7 @@ int p_getaddrinfo(
65
65
  ai = ainfo;
66
66
 
67
67
  for (p = 1; ainfo->ai_hostent->h_addr_list[p] != NULL; p++) {
68
- if (!(ai->ai_next = malloc(sizeof(struct addrinfo)))) {
68
+ if (!(ai->ai_next = git__malloc(sizeof(struct addrinfo)))) {
69
69
  p_freeaddrinfo(ainfo);
70
70
  return -1;
71
71
  }
@@ -89,7 +89,7 @@ void p_freeaddrinfo(struct addrinfo *info)
89
89
 
90
90
  while(p != NULL) {
91
91
  next = p->ai_next;
92
- free(p);
92
+ git__free(p);
93
93
  p = next;
94
94
  }
95
95
  }
@@ -235,7 +235,7 @@ int git__mmap_alignment(size_t *alignment)
235
235
  }
236
236
 
237
237
 
238
- int p_mmap(git_map *out, size_t len, int prot, int flags, int fd, git_off_t offset)
238
+ int p_mmap(git_map *out, size_t len, int prot, int flags, int fd, off64_t offset)
239
239
  {
240
240
  GIT_MMAP_VALIDATE(out, len, prot, flags);
241
241
 
@@ -243,17 +243,17 @@ int p_mmap(git_map *out, size_t len, int prot, int flags, int fd, git_off_t offs
243
243
  out->len = 0;
244
244
 
245
245
  if ((prot & GIT_PROT_WRITE) && ((flags & GIT_MAP_TYPE) == GIT_MAP_SHARED)) {
246
- giterr_set(GITERR_OS, "trying to map shared-writeable");
246
+ git_error_set(GIT_ERROR_OS, "trying to map shared-writeable");
247
247
  return -1;
248
248
  }
249
249
 
250
- out->data = malloc(len);
251
- GITERR_CHECK_ALLOC(out->data);
250
+ out->data = git__malloc(len);
251
+ GIT_ERROR_CHECK_ALLOC(out->data);
252
252
 
253
253
  if (!git__is_ssizet(len) ||
254
254
  (p_lseek(fd, offset, SEEK_SET) < 0) ||
255
255
  (p_read(fd, out->data, len) != (ssize_t)len)) {
256
- giterr_set(GITERR_OS, "mmap emulation failed");
256
+ git_error_set(GIT_ERROR_OS, "mmap emulation failed");
257
257
  return -1;
258
258
  }
259
259
 
@@ -264,7 +264,7 @@ int p_mmap(git_map *out, size_t len, int prot, int flags, int fd, git_off_t offs
264
264
  int p_munmap(git_map *map)
265
265
  {
266
266
  assert(map != NULL);
267
- free(map->data);
267
+ git__free(map->data);
268
268
 
269
269
  return 0;
270
270
  }
@@ -11,7 +11,6 @@
11
11
 
12
12
  #include <fcntl.h>
13
13
  #include <time.h>
14
- #include "fnmatch.h"
15
14
 
16
15
  /* stat: file mode type testing macros */
17
16
  #ifndef S_IFGITLINK
@@ -90,6 +89,18 @@
90
89
  #define EAFNOSUPPORT (INT_MAX-1)
91
90
  #endif
92
91
 
92
+ /* Provide a 64-bit size for offsets. */
93
+
94
+ #if defined(_MSC_VER)
95
+ typedef __int64 off64_t;
96
+ #elif defined(__HAIKU__)
97
+ typedef __haiku_std_int64 off64_t;
98
+ #elif defined(__APPLE__)
99
+ typedef __int64_t off64_t;
100
+ #else
101
+ typedef int64_t off64_t;
102
+ #endif
103
+
93
104
  typedef int git_file;
94
105
 
95
106
  /**
@@ -9,24 +9,29 @@
9
9
 
10
10
  #include "git2/proxy.h"
11
11
 
12
- int git_proxy_init_options(git_proxy_options *opts, unsigned int version)
12
+ int git_proxy_options_init(git_proxy_options *opts, unsigned int version)
13
13
  {
14
14
  GIT_INIT_STRUCTURE_FROM_TEMPLATE(
15
15
  opts, version, git_proxy_options, GIT_PROXY_OPTIONS_INIT);
16
16
  return 0;
17
17
  }
18
18
 
19
+ int git_proxy_init_options(git_proxy_options *opts, unsigned int version)
20
+ {
21
+ return git_proxy_options_init(opts, version);
22
+ }
23
+
19
24
  int git_proxy_options_dup(git_proxy_options *tgt, const git_proxy_options *src)
20
25
  {
21
26
  if (!src) {
22
- git_proxy_init_options(tgt, GIT_PROXY_OPTIONS_VERSION);
27
+ git_proxy_options_init(tgt, GIT_PROXY_OPTIONS_VERSION);
23
28
  return 0;
24
29
  }
25
30
 
26
31
  memcpy(tgt, src, sizeof(git_proxy_options));
27
32
  if (src->url) {
28
33
  tgt->url = git__strdup(src->url);
29
- GITERR_CHECK_ALLOC(tgt->url);
34
+ GIT_ERROR_CHECK_ALLOC(tgt->url);
30
35
  }
31
36
 
32
37
  return 0;
@@ -36,7 +36,7 @@ int git_push_new(git_push **out, git_remote *remote)
36
36
  *out = NULL;
37
37
 
38
38
  p = git__calloc(1, sizeof(*p));
39
- GITERR_CHECK_ALLOC(p);
39
+ GIT_ERROR_CHECK_ALLOC(p);
40
40
 
41
41
  p->repo = remote->repo;
42
42
  p->remote = remote;
@@ -70,10 +70,11 @@ int git_push_set_options(git_push *push, const git_push_options *opts)
70
70
  if (!push || !opts)
71
71
  return -1;
72
72
 
73
- GITERR_CHECK_VERSION(opts, GIT_PUSH_OPTIONS_VERSION, "git_push_options");
73
+ GIT_ERROR_CHECK_VERSION(opts, GIT_PUSH_OPTIONS_VERSION, "git_push_options");
74
74
 
75
75
  push->pb_parallelism = opts->pb_parallelism;
76
- push->custom_headers = &opts->custom_headers;
76
+ push->connection.custom_headers = &opts->custom_headers;
77
+ push->connection.proxy = &opts->proxy_opts;
77
78
 
78
79
  return 0;
79
80
  }
@@ -90,7 +91,7 @@ static void free_refspec(push_spec *spec)
90
91
  static int check_rref(char *ref)
91
92
  {
92
93
  if (git__prefixcmp(ref, "refs/")) {
93
- giterr_set(GITERR_INVALID, "not a valid reference '%s'", ref);
94
+ git_error_set(GIT_ERROR_INVALID, "not a valid reference '%s'", ref);
94
95
  return -1;
95
96
  }
96
97
 
@@ -108,10 +109,10 @@ static int check_lref(git_push *push, char *ref)
108
109
  return 0;
109
110
 
110
111
  if (error == GIT_ENOTFOUND)
111
- giterr_set(GITERR_REFERENCE,
112
+ git_error_set(GIT_ERROR_REFERENCE,
112
113
  "src refspec '%s' does not match any existing object", ref);
113
114
  else
114
- giterr_set(GITERR_INVALID, "not a valid reference '%s'", ref);
115
+ git_error_set(GIT_ERROR_INVALID, "not a valid reference '%s'", ref);
115
116
  return -1;
116
117
  }
117
118
 
@@ -122,10 +123,10 @@ static int parse_refspec(git_push *push, push_spec **spec, const char *str)
122
123
  *spec = NULL;
123
124
 
124
125
  s = git__calloc(1, sizeof(*s));
125
- GITERR_CHECK_ALLOC(s);
126
+ GIT_ERROR_CHECK_ALLOC(s);
126
127
 
127
128
  if (git_refspec__parse(&s->refspec, str, false) < 0) {
128
- giterr_set(GITERR_INVALID, "invalid refspec %s", str);
129
+ git_error_set(GIT_ERROR_INVALID, "invalid refspec %s", str);
129
130
  goto on_error;
130
131
  }
131
132
 
@@ -195,7 +196,7 @@ int git_push_update_tips(git_push *push, const git_remote_callbacks *callbacks)
195
196
  continue;
196
197
 
197
198
  /* Update the remote ref */
198
- if (git_oid_iszero(&push_spec->loid)) {
199
+ if (git_oid_is_zero(&push_spec->loid)) {
199
200
  error = git_reference_lookup(&remote_ref, push->remote->repo, git_buf_cstr(&remote_ref_name));
200
201
 
201
202
  if (error >= 0) {
@@ -212,7 +213,7 @@ int git_push_update_tips(git_push *push, const git_remote_callbacks *callbacks)
212
213
  if (error != GIT_ENOTFOUND)
213
214
  goto on_error;
214
215
 
215
- giterr_clear();
216
+ git_error_clear();
216
217
  fire_callback = 0;
217
218
  }
218
219
 
@@ -241,10 +242,10 @@ static int enqueue_tag(git_object **out, git_push *push, git_oid *id)
241
242
  git_object *obj = NULL, *target = NULL;
242
243
  int error;
243
244
 
244
- if ((error = git_object_lookup(&obj, push->repo, id, GIT_OBJ_TAG)) < 0)
245
+ if ((error = git_object_lookup(&obj, push->repo, id, GIT_OBJECT_TAG)) < 0)
245
246
  return error;
246
247
 
247
- while (git_object_type(obj) == GIT_OBJ_TAG) {
248
+ while (git_object_type(obj) == GIT_OBJECT_TAG) {
248
249
  if ((error = git_packbuilder_insert(push->pb, git_object_id(obj), NULL)) < 0)
249
250
  break;
250
251
 
@@ -277,10 +278,10 @@ static int queue_objects(git_push *push)
277
278
  git_revwalk_sorting(rw, GIT_SORT_TIME);
278
279
 
279
280
  git_vector_foreach(&push->specs, i, spec) {
280
- git_otype type;
281
+ git_object_t type;
281
282
  size_t size;
282
283
 
283
- if (git_oid_iszero(&spec->loid))
284
+ if (git_oid_is_zero(&spec->loid))
284
285
  /*
285
286
  * Delete reference on remote side;
286
287
  * nothing to do here.
@@ -293,13 +294,13 @@ static int queue_objects(git_push *push)
293
294
  if (git_odb_read_header(&size, &type, push->repo->_odb, &spec->loid) < 0)
294
295
  goto on_error;
295
296
 
296
- if (type == GIT_OBJ_TAG) {
297
+ if (type == GIT_OBJECT_TAG) {
297
298
  git_object *target;
298
299
 
299
300
  if ((error = enqueue_tag(&target, push, &spec->loid)) < 0)
300
301
  goto on_error;
301
302
 
302
- if (git_object_type(target) == GIT_OBJ_COMMIT) {
303
+ if (git_object_type(target) == GIT_OBJECT_COMMIT) {
303
304
  if (git_revwalk_push(rw, git_object_id(target)) < 0) {
304
305
  git_object_free(target);
305
306
  goto on_error;
@@ -318,11 +319,11 @@ static int queue_objects(git_push *push)
318
319
  if (!spec->refspec.force) {
319
320
  git_oid base;
320
321
 
321
- if (git_oid_iszero(&spec->roid))
322
+ if (git_oid_is_zero(&spec->roid))
322
323
  continue;
323
324
 
324
325
  if (!git_odb_exists(push->repo->_odb, &spec->roid)) {
325
- giterr_set(GITERR_REFERENCE,
326
+ git_error_set(GIT_ERROR_REFERENCE,
326
327
  "cannot push because a reference that you are trying to update on the remote contains commits that are not present locally.");
327
328
  error = GIT_ENONFASTFORWARD;
328
329
  goto on_error;
@@ -333,7 +334,7 @@ static int queue_objects(git_push *push)
333
334
 
334
335
  if (error == GIT_ENOTFOUND ||
335
336
  (!error && !git_oid_equal(&base, &spec->roid))) {
336
- giterr_set(GITERR_REFERENCE,
337
+ git_error_set(GIT_ERROR_REFERENCE,
337
338
  "cannot push non-fastforwardable reference");
338
339
  error = GIT_ENONFASTFORWARD;
339
340
  goto on_error;
@@ -345,7 +346,7 @@ static int queue_objects(git_push *push)
345
346
  }
346
347
 
347
348
  git_vector_foreach(&push->remote->refs, i, head) {
348
- if (git_oid_iszero(&head->oid))
349
+ if (git_oid_is_zero(&head->oid))
349
350
  continue;
350
351
 
351
352
  /* TODO */
@@ -362,13 +363,13 @@ on_error:
362
363
  static int add_update(git_push *push, push_spec *spec)
363
364
  {
364
365
  git_push_update *u = git__calloc(1, sizeof(git_push_update));
365
- GITERR_CHECK_ALLOC(u);
366
+ GIT_ERROR_CHECK_ALLOC(u);
366
367
 
367
368
  u->src_refname = git__strdup(spec->refspec.src);
368
- GITERR_CHECK_ALLOC(u->src_refname);
369
+ GIT_ERROR_CHECK_ALLOC(u->src_refname);
369
370
 
370
371
  u->dst_refname = git__strdup(spec->refspec.dst);
371
- GITERR_CHECK_ALLOC(u->dst_refname);
372
+ GIT_ERROR_CHECK_ALLOC(u->dst_refname);
372
373
 
373
374
  git_oid_cpy(&u->src, &spec->roid);
374
375
  git_oid_cpy(&u->dst, &spec->loid);
@@ -389,7 +390,7 @@ static int calculate_work(git_push *push)
389
390
  /* This is a create or update. Local ref must exist. */
390
391
  if (git_reference_name_to_id(
391
392
  &spec->loid, push->repo, spec->refspec.src) < 0) {
392
- giterr_set(GITERR_REFERENCE, "no such reference '%s'", spec->refspec.src);
393
+ git_error_set(GIT_ERROR_REFERENCE, "no such reference '%s'", spec->refspec.src);
393
394
  return -1;
394
395
  }
395
396
  }
@@ -415,7 +416,7 @@ static int do_push(git_push *push, const git_remote_callbacks *callbacks)
415
416
  git_transport *transport = push->remote->transport;
416
417
 
417
418
  if (!transport->push) {
418
- giterr_set(GITERR_NET, "remote transport doesn't support push");
419
+ git_error_set(GIT_ERROR_NET, "remote transport doesn't support push");
419
420
  error = -1;
420
421
  goto on_error;
421
422
  }
@@ -475,7 +476,7 @@ int git_push_finish(git_push *push, const git_remote_callbacks *callbacks)
475
476
  int error;
476
477
 
477
478
  if (!git_remote_connected(push->remote) &&
478
- (error = git_remote_connect(push->remote, GIT_DIRECTION_PUSH, callbacks, NULL, push->custom_headers)) < 0)
479
+ (error = git_remote__connect(push->remote, GIT_DIRECTION_PUSH, callbacks, &push->connection)) < 0)
479
480
  return error;
480
481
 
481
482
  if ((error = filter_refs(push->remote)) < 0 ||
@@ -484,7 +485,7 @@ int git_push_finish(git_push *push, const git_remote_callbacks *callbacks)
484
485
 
485
486
  if (!push->unpack_ok) {
486
487
  error = -1;
487
- giterr_set(GITERR_NET, "unpacking the sent packfile failed on the remote");
488
+ git_error_set(GIT_ERROR_NET, "unpacking the sent packfile failed on the remote");
488
489
  }
489
490
 
490
491
  return error;
@@ -500,7 +501,7 @@ int git_push_status_foreach(git_push *push,
500
501
  git_vector_foreach(&push->status, i, status) {
501
502
  int error = cb(status->ref, status->msg, data);
502
503
  if (error)
503
- return giterr_set_after_callback(error);
504
+ return git_error_set_after_callback(error);
504
505
  }
505
506
 
506
507
  return 0;
@@ -546,9 +547,14 @@ void git_push_free(git_push *push)
546
547
  git__free(push);
547
548
  }
548
549
 
549
- int git_push_init_options(git_push_options *opts, unsigned int version)
550
+ int git_push_options_init(git_push_options *opts, unsigned int version)
550
551
  {
551
552
  GIT_INIT_STRUCTURE_FROM_TEMPLATE(
552
553
  opts, version, git_push_options, GIT_PUSH_OPTIONS_INIT);
553
554
  return 0;
554
555
  }
556
+
557
+ int git_push_init_options(git_push_options *opts, unsigned int version)
558
+ {
559
+ return git_push_options_init(opts, version);
560
+ }
@@ -11,6 +11,7 @@
11
11
 
12
12
  #include "git2.h"
13
13
  #include "refspec.h"
14
+ #include "remote.h"
14
15
 
15
16
  typedef struct push_spec {
16
17
  struct git_refspec refspec;
@@ -40,7 +41,7 @@ struct git_push {
40
41
 
41
42
  /* options */
42
43
  unsigned pb_parallelism;
43
- const git_strarray *custom_headers;
44
+ git_remote_connection_opts connection;
44
45
  };
45
46
 
46
47
  /**