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
@@ -10,7 +10,7 @@
10
10
  #include <zlib.h>
11
11
  #include "git2/object.h"
12
12
  #include "git2/sys/odb_backend.h"
13
- #include "fileops.h"
13
+ #include "futils.h"
14
14
  #include "hash.h"
15
15
  #include "odb.h"
16
16
  #include "delta.h"
@@ -25,7 +25,7 @@
25
25
  #define MAX_HEADER_LEN 64
26
26
 
27
27
  typedef struct { /* object header data */
28
- git_otype type; /* object type */
28
+ git_object_t type; /* object type */
29
29
  size_t size; /* object size */
30
30
  } obj_hdr;
31
31
 
@@ -81,8 +81,8 @@ static int object_file_name(
81
81
  size_t alloclen;
82
82
 
83
83
  /* expand length for object root + 40 hex sha1 chars + 2 * '/' + '\0' */
84
- GITERR_CHECK_ALLOC_ADD(&alloclen, be->objects_dirlen, GIT_OID_HEXSZ);
85
- GITERR_CHECK_ALLOC_ADD(&alloclen, alloclen, 3);
84
+ GIT_ERROR_CHECK_ALLOC_ADD(&alloclen, be->objects_dirlen, GIT_OID_HEXSZ);
85
+ GIT_ERROR_CHECK_ALLOC_ADD(&alloclen, alloclen, 3);
86
86
  if (git_buf_grow(name, alloclen) < 0)
87
87
  return -1;
88
88
 
@@ -138,7 +138,7 @@ static int parse_header_packlike(
138
138
  return 0;
139
139
 
140
140
  on_error:
141
- giterr_set(GITERR_OBJECT, "failed to parse loose object: invalid header");
141
+ git_error_set(GIT_ERROR_OBJECT, "failed to parse loose object: invalid header");
142
142
  return -1;
143
143
  }
144
144
 
@@ -179,11 +179,11 @@ static int parse_header(
179
179
  goto on_error;
180
180
 
181
181
  if ((uint64_t)size > SIZE_MAX) {
182
- giterr_set(GITERR_OBJECT, "object is larger than available memory");
182
+ git_error_set(GIT_ERROR_OBJECT, "object is larger than available memory");
183
183
  return -1;
184
184
  }
185
185
 
186
- out->size = size;
186
+ out->size = (size_t)size;
187
187
 
188
188
  if (GIT_ADD_SIZET_OVERFLOW(out_len, i, 1))
189
189
  goto on_error;
@@ -191,7 +191,7 @@ static int parse_header(
191
191
  return 0;
192
192
 
193
193
  on_error:
194
- giterr_set(GITERR_OBJECT, "failed to parse loose object: invalid header");
194
+ git_error_set(GIT_ERROR_OBJECT, "failed to parse loose object: invalid header");
195
195
  return -1;
196
196
  }
197
197
 
@@ -241,7 +241,7 @@ static int read_loose_packlike(git_rawobj *out, git_buf *obj)
241
241
  goto done;
242
242
 
243
243
  if (!git_object_typeisloose(hdr.type) || head_len > obj_len) {
244
- giterr_set(GITERR_ODB, "failed to inflate loose object");
244
+ git_error_set(GIT_ERROR_ODB, "failed to inflate loose object");
245
245
  error = -1;
246
246
  goto done;
247
247
  }
@@ -294,7 +294,7 @@ static int read_loose_standard(git_rawobj *out, git_buf *obj)
294
294
  goto done;
295
295
 
296
296
  if (!git_object_typeisloose(hdr.type)) {
297
- giterr_set(GITERR_ODB, "failed to inflate disk object");
297
+ git_error_set(GIT_ERROR_ODB, "failed to inflate disk object");
298
298
  error = -1;
299
299
  goto done;
300
300
  }
@@ -320,7 +320,7 @@ static int read_loose_standard(git_rawobj *out, git_buf *obj)
320
320
  goto done;
321
321
 
322
322
  if (!git_zstream_done(&zstream)) {
323
- giterr_set(GITERR_ZLIB, "failed to finish zlib inflation: stream aborted prematurely");
323
+ git_error_set(GIT_ERROR_ZLIB, "failed to finish zlib inflation: stream aborted prematurely");
324
324
  error = -1;
325
325
  goto done;
326
326
  }
@@ -351,7 +351,7 @@ static int read_loose(git_rawobj *out, git_buf *loc)
351
351
 
352
352
  out->data = NULL;
353
353
  out->len = 0;
354
- out->type = GIT_OBJ_BAD;
354
+ out->type = GIT_OBJECT_INVALID;
355
355
 
356
356
  if ((error = git_futils_readbuffer(&obj, loc->ptr)) < 0)
357
357
  goto done;
@@ -408,7 +408,8 @@ done:
408
408
  static int read_header_loose(git_rawobj *out, git_buf *loc)
409
409
  {
410
410
  unsigned char obj[1024];
411
- int fd, obj_len, error;
411
+ ssize_t obj_len;
412
+ int fd, error;
412
413
 
413
414
  assert(out && loc);
414
415
 
@@ -417,17 +418,21 @@ static int read_header_loose(git_rawobj *out, git_buf *loc)
417
418
 
418
419
  out->data = NULL;
419
420
 
420
- if ((error = fd = git_futils_open_ro(loc->ptr)) < 0 ||
421
- (error = obj_len = p_read(fd, obj, sizeof(obj))) < 0)
421
+ if ((error = fd = git_futils_open_ro(loc->ptr)) < 0)
422
422
  goto done;
423
423
 
424
+ if ((obj_len = p_read(fd, obj, sizeof(obj))) < 0) {
425
+ error = (int)obj_len;
426
+ goto done;
427
+ }
428
+
424
429
  if (!is_zlib_compressed_data(obj, (size_t)obj_len))
425
430
  error = read_header_loose_packlike(out, obj, (size_t)obj_len);
426
431
  else
427
432
  error = read_header_loose_standard(out, obj, (size_t)obj_len);
428
433
 
429
434
  if (!error && !git_object_typeisloose(out->type)) {
430
- giterr_set(GITERR_ZLIB, "failed to read loose object header");
435
+ git_error_set(GIT_ERROR_ZLIB, "failed to read loose object header");
431
436
  error = -1;
432
437
  goto done;
433
438
  }
@@ -496,8 +501,8 @@ static int locate_object_short_oid(
496
501
  int error;
497
502
 
498
503
  /* prealloc memory for OBJ_DIR/xx/xx..38x..xx */
499
- GITERR_CHECK_ALLOC_ADD(&alloc_len, dir_len, GIT_OID_HEXSZ);
500
- GITERR_CHECK_ALLOC_ADD(&alloc_len, alloc_len, 3);
504
+ GIT_ERROR_CHECK_ALLOC_ADD(&alloc_len, dir_len, GIT_OID_HEXSZ);
505
+ GIT_ERROR_CHECK_ALLOC_ADD(&alloc_len, alloc_len, 3);
501
506
  if (git_buf_grow(object_location, alloc_len) < 0)
502
507
  return -1;
503
508
 
@@ -543,8 +548,8 @@ static int locate_object_short_oid(
543
548
  return error;
544
549
 
545
550
  /* Update the location according to the oid obtained */
546
- GITERR_CHECK_ALLOC_ADD(&alloc_len, dir_len, GIT_OID_HEXSZ);
547
- GITERR_CHECK_ALLOC_ADD(&alloc_len, alloc_len, 2);
551
+ GIT_ERROR_CHECK_ALLOC_ADD(&alloc_len, dir_len, GIT_OID_HEXSZ);
552
+ GIT_ERROR_CHECK_ALLOC_ADD(&alloc_len, alloc_len, 2);
548
553
 
549
554
  git_buf_truncate(object_location, dir_len);
550
555
  if (git_buf_grow(object_location, alloc_len) < 0)
@@ -574,7 +579,7 @@ static int locate_object_short_oid(
574
579
  *
575
580
  ***********************************************************/
576
581
 
577
- static int loose_backend__read_header(size_t *len_p, git_otype *type_p, git_odb_backend *backend, const git_oid *oid)
582
+ static int loose_backend__read_header(size_t *len_p, git_object_t *type_p, git_odb_backend *backend, const git_oid *oid)
578
583
  {
579
584
  git_buf object_path = GIT_BUF_INIT;
580
585
  git_rawobj raw;
@@ -583,7 +588,7 @@ static int loose_backend__read_header(size_t *len_p, git_otype *type_p, git_odb_
583
588
  assert(backend && oid);
584
589
 
585
590
  raw.len = 0;
586
- raw.type = GIT_OBJ_BAD;
591
+ raw.type = GIT_OBJECT_INVALID;
587
592
 
588
593
  if (locate_object(&object_path, (loose_backend *)backend, oid) < 0) {
589
594
  error = git_odb__error_notfound("no matching loose object",
@@ -598,7 +603,7 @@ static int loose_backend__read_header(size_t *len_p, git_otype *type_p, git_odb_
598
603
  return error;
599
604
  }
600
605
 
601
- static int loose_backend__read(void **buffer_p, size_t *len_p, git_otype *type_p, git_odb_backend *backend, const git_oid *oid)
606
+ static int loose_backend__read(void **buffer_p, size_t *len_p, git_object_t *type_p, git_odb_backend *backend, const git_oid *oid)
602
607
  {
603
608
  git_buf object_path = GIT_BUF_INIT;
604
609
  git_rawobj raw;
@@ -624,7 +629,7 @@ static int loose_backend__read_prefix(
624
629
  git_oid *out_oid,
625
630
  void **buffer_p,
626
631
  size_t *len_p,
627
- git_otype *type_p,
632
+ git_object_t *type_p,
628
633
  git_odb_backend *backend,
629
634
  const git_oid *short_oid,
630
635
  size_t len)
@@ -731,7 +736,7 @@ static int foreach_object_dir_cb(void *_state, git_buf *path)
731
736
  if (filename_to_oid(&oid, path->ptr + state->dir_len) < 0)
732
737
  return 0;
733
738
 
734
- return giterr_set_after_callback_function(
739
+ return git_error_set_after_callback_function(
735
740
  state->cb(&oid, state->data), "git_odb_foreach");
736
741
  }
737
742
 
@@ -819,7 +824,7 @@ static int filebuf_flags(loose_backend *backend)
819
824
  return flags;
820
825
  }
821
826
 
822
- static int loose_backend__writestream(git_odb_stream **stream_out, git_odb_backend *_backend, git_off_t length, git_otype type)
827
+ static int loose_backend__writestream(git_odb_stream **stream_out, git_odb_backend *_backend, git_object_size_t length, git_object_t type)
823
828
  {
824
829
  loose_backend *backend;
825
830
  loose_writestream *stream = NULL;
@@ -828,7 +833,7 @@ static int loose_backend__writestream(git_odb_stream **stream_out, git_odb_backe
828
833
  size_t hdrlen;
829
834
  int error;
830
835
 
831
- assert(_backend && length >= 0);
836
+ assert(_backend);
832
837
 
833
838
  backend = (loose_backend *)_backend;
834
839
  *stream_out = NULL;
@@ -838,7 +843,7 @@ static int loose_backend__writestream(git_odb_stream **stream_out, git_odb_backe
838
843
  return error;
839
844
 
840
845
  stream = git__calloc(1, sizeof(loose_writestream));
841
- GITERR_CHECK_ALLOC(stream);
846
+ GIT_ERROR_CHECK_ALLOC(stream);
842
847
 
843
848
  stream->stream.backend = _backend;
844
849
  stream->stream.read = NULL; /* read only */
@@ -871,6 +876,8 @@ static int loose_backend__readstream_read(
871
876
  size_t start_remain = stream->start_len - stream->start_read;
872
877
  int total = 0, error;
873
878
 
879
+ buffer_len = min(buffer_len, INT_MAX);
880
+
874
881
  /*
875
882
  * if we read more than just the header in the initial read, play
876
883
  * that back for the caller.
@@ -882,20 +889,20 @@ static int loose_backend__readstream_read(
882
889
  buffer += chunk;
883
890
  stream->start_read += chunk;
884
891
 
885
- total += chunk;
892
+ total += (int)chunk;
886
893
  buffer_len -= chunk;
887
894
  }
888
895
 
889
896
  if (buffer_len) {
890
- size_t chunk = min(buffer_len, INT_MAX);
897
+ size_t chunk = buffer_len;
891
898
 
892
899
  if ((error = git_zstream_get_output(buffer, &chunk, &stream->zstream)) < 0)
893
900
  return error;
894
901
 
895
- total += chunk;
902
+ total += (int)chunk;
896
903
  }
897
904
 
898
- return total;
905
+ return (int)total;
899
906
  }
900
907
 
901
908
  static void loose_backend__readstream_free(git_odb_stream *_stream)
@@ -926,7 +933,7 @@ static int loose_backend__readstream_packlike(
926
933
  return error;
927
934
 
928
935
  if (!git_object_typeisloose(hdr->type)) {
929
- giterr_set(GITERR_ODB, "failed to inflate loose object");
936
+ git_error_set(GIT_ERROR_ODB, "failed to inflate loose object");
930
937
  return -1;
931
938
  }
932
939
 
@@ -958,7 +965,7 @@ static int loose_backend__readstream_standard(
958
965
  return error;
959
966
 
960
967
  if (!git_object_typeisloose(hdr->type)) {
961
- giterr_set(GITERR_ODB, "failed to inflate disk object");
968
+ git_error_set(GIT_ERROR_ODB, "failed to inflate disk object");
962
969
  return -1;
963
970
  }
964
971
 
@@ -973,7 +980,7 @@ static int loose_backend__readstream_standard(
973
980
  static int loose_backend__readstream(
974
981
  git_odb_stream **stream_out,
975
982
  size_t *len_out,
976
- git_otype *type_out,
983
+ git_object_t *type_out,
977
984
  git_odb_backend *_backend,
978
985
  const git_oid *oid)
979
986
  {
@@ -989,7 +996,7 @@ static int loose_backend__readstream(
989
996
  backend = (loose_backend *)_backend;
990
997
  *stream_out = NULL;
991
998
  *len_out = 0;
992
- *type_out = GIT_OBJ_BAD;
999
+ *type_out = GIT_OBJECT_INVALID;
993
1000
 
994
1001
  if (locate_object(&object_path, backend, oid) < 0) {
995
1002
  error = git_odb__error_notfound("no matching loose object",
@@ -998,10 +1005,10 @@ static int loose_backend__readstream(
998
1005
  }
999
1006
 
1000
1007
  stream = git__calloc(1, sizeof(loose_readstream));
1001
- GITERR_CHECK_ALLOC(stream);
1008
+ GIT_ERROR_CHECK_ALLOC(stream);
1002
1009
 
1003
1010
  hash_ctx = git__malloc(sizeof(git_hash_ctx));
1004
- GITERR_CHECK_ALLOC(hash_ctx);
1011
+ GIT_ERROR_CHECK_ALLOC(hash_ctx);
1005
1012
 
1006
1013
  if ((error = git_hash_ctx_init(hash_ctx)) < 0 ||
1007
1014
  (error = git_futils_mmap_ro_file(&stream->map, object_path.ptr)) < 0 ||
@@ -1028,18 +1035,22 @@ static int loose_backend__readstream(
1028
1035
 
1029
1036
  done:
1030
1037
  if (error < 0) {
1031
- git_futils_mmap_free(&stream->map);
1032
- git_zstream_free(&stream->zstream);
1033
- git_hash_ctx_cleanup(hash_ctx);
1034
- git__free(hash_ctx);
1035
- git__free(stream);
1038
+ if (stream) {
1039
+ git_futils_mmap_free(&stream->map);
1040
+ git_zstream_free(&stream->zstream);
1041
+ git__free(stream);
1042
+ }
1043
+ if (hash_ctx) {
1044
+ git_hash_ctx_cleanup(hash_ctx);
1045
+ git__free(hash_ctx);
1046
+ }
1036
1047
  }
1037
1048
 
1038
1049
  git_buf_dispose(&object_path);
1039
1050
  return error;
1040
1051
  }
1041
1052
 
1042
- static int loose_backend__write(git_odb_backend *_backend, const git_oid *oid, const void *data, size_t len, git_otype type)
1053
+ static int loose_backend__write(git_odb_backend *_backend, const git_oid *oid, const void *data, size_t len, git_object_t type)
1043
1054
  {
1044
1055
  int error = 0;
1045
1056
  git_buf final_path = GIT_BUF_INIT;
@@ -1119,10 +1130,10 @@ int git_odb_backend_loose(
1119
1130
 
1120
1131
  objects_dirlen = strlen(objects_dir);
1121
1132
 
1122
- GITERR_CHECK_ALLOC_ADD(&alloclen, sizeof(loose_backend), objects_dirlen);
1123
- GITERR_CHECK_ALLOC_ADD(&alloclen, alloclen, 2);
1133
+ GIT_ERROR_CHECK_ALLOC_ADD(&alloclen, sizeof(loose_backend), objects_dirlen);
1134
+ GIT_ERROR_CHECK_ALLOC_ADD(&alloclen, alloclen, 2);
1124
1135
  backend = git__calloc(1, alloclen);
1125
- GITERR_CHECK_ALLOC(backend);
1136
+ GIT_ERROR_CHECK_ALLOC(backend);
1126
1137
 
1127
1138
  backend->parent.version = GIT_ODB_BACKEND_VERSION;
1128
1139
  backend->objects_dirlen = objects_dirlen;
@@ -10,7 +10,7 @@
10
10
  #include "git2/object.h"
11
11
  #include "git2/sys/odb_backend.h"
12
12
  #include "git2/sys/mempack.h"
13
- #include "fileops.h"
13
+ #include "futils.h"
14
14
  #include "hash.h"
15
15
  #include "odb.h"
16
16
  #include "array.h"
@@ -23,7 +23,7 @@
23
23
  struct memobject {
24
24
  git_oid oid;
25
25
  size_t len;
26
- git_otype type;
26
+ git_object_t type;
27
27
  char data[GIT_FLEX_ARRAY];
28
28
  };
29
29
 
@@ -33,36 +33,30 @@ struct memory_packer_db {
33
33
  git_array_t(struct memobject *) commits;
34
34
  };
35
35
 
36
- static int impl__write(git_odb_backend *_backend, const git_oid *oid, const void *data, size_t len, git_otype type)
36
+ static int impl__write(git_odb_backend *_backend, const git_oid *oid, const void *data, size_t len, git_object_t type)
37
37
  {
38
38
  struct memory_packer_db *db = (struct memory_packer_db *)_backend;
39
- struct memobject *obj = NULL;
40
- khiter_t pos;
39
+ struct memobject *obj = NULL;
41
40
  size_t alloc_len;
42
- int rval;
43
-
44
- pos = git_oidmap_put(db->objects, oid, &rval);
45
- if (rval < 0)
46
- return -1;
47
41
 
48
- if (rval == 0)
42
+ if (git_oidmap_exists(db->objects, oid))
49
43
  return 0;
50
44
 
51
- GITERR_CHECK_ALLOC_ADD(&alloc_len, sizeof(struct memobject), len);
45
+ GIT_ERROR_CHECK_ALLOC_ADD(&alloc_len, sizeof(struct memobject), len);
52
46
  obj = git__malloc(alloc_len);
53
- GITERR_CHECK_ALLOC(obj);
47
+ GIT_ERROR_CHECK_ALLOC(obj);
54
48
 
55
49
  memcpy(obj->data, data, len);
56
50
  git_oid_cpy(&obj->oid, oid);
57
51
  obj->len = len;
58
52
  obj->type = type;
59
53
 
60
- git_oidmap_set_key_at(db->objects, pos, &obj->oid);
61
- git_oidmap_set_value_at(db->objects, pos, obj);
54
+ if (git_oidmap_set(db->objects, &obj->oid, obj) < 0)
55
+ return -1;
62
56
 
63
- if (type == GIT_OBJ_COMMIT) {
57
+ if (type == GIT_OBJECT_COMMIT) {
64
58
  struct memobject **store = git_array_alloc(db->commits);
65
- GITERR_CHECK_ALLOC(store);
59
+ GIT_ERROR_CHECK_ALLOC(store);
66
60
  *store = obj;
67
61
  }
68
62
 
@@ -76,39 +70,31 @@ static int impl__exists(git_odb_backend *backend, const git_oid *oid)
76
70
  return git_oidmap_exists(db->objects, oid);
77
71
  }
78
72
 
79
- static int impl__read(void **buffer_p, size_t *len_p, git_otype *type_p, git_odb_backend *backend, const git_oid *oid)
73
+ static int impl__read(void **buffer_p, size_t *len_p, git_object_t *type_p, git_odb_backend *backend, const git_oid *oid)
80
74
  {
81
75
  struct memory_packer_db *db = (struct memory_packer_db *)backend;
82
- struct memobject *obj = NULL;
83
- khiter_t pos;
76
+ struct memobject *obj;
84
77
 
85
- pos = git_oidmap_lookup_index(db->objects, oid);
86
- if (!git_oidmap_valid_index(db->objects, pos))
78
+ if ((obj = git_oidmap_get(db->objects, oid)) == NULL)
87
79
  return GIT_ENOTFOUND;
88
80
 
89
- obj = git_oidmap_value_at(db->objects, pos);
90
-
91
81
  *len_p = obj->len;
92
82
  *type_p = obj->type;
93
83
  *buffer_p = git__malloc(obj->len);
94
- GITERR_CHECK_ALLOC(*buffer_p);
84
+ GIT_ERROR_CHECK_ALLOC(*buffer_p);
95
85
 
96
86
  memcpy(*buffer_p, obj->data, obj->len);
97
87
  return 0;
98
88
  }
99
89
 
100
- static int impl__read_header(size_t *len_p, git_otype *type_p, git_odb_backend *backend, const git_oid *oid)
90
+ static int impl__read_header(size_t *len_p, git_object_t *type_p, git_odb_backend *backend, const git_oid *oid)
101
91
  {
102
92
  struct memory_packer_db *db = (struct memory_packer_db *)backend;
103
- struct memobject *obj = NULL;
104
- khiter_t pos;
93
+ struct memobject *obj;
105
94
 
106
- pos = git_oidmap_lookup_index(db->objects, oid);
107
- if (!git_oidmap_valid_index(db->objects, pos))
95
+ if ((obj = git_oidmap_get(db->objects, oid)) == NULL)
108
96
  return GIT_ENOTFOUND;
109
97
 
110
- obj = git_oidmap_value_at(db->objects, pos);
111
-
112
98
  *len_p = obj->len;
113
99
  *type_p = obj->type;
114
100
  return 0;
@@ -169,9 +155,10 @@ int git_mempack_new(git_odb_backend **out)
169
155
  assert(out);
170
156
 
171
157
  db = git__calloc(1, sizeof(struct memory_packer_db));
172
- GITERR_CHECK_ALLOC(db);
158
+ GIT_ERROR_CHECK_ALLOC(db);
173
159
 
174
- db->objects = git_oidmap_alloc();
160
+ if (git_oidmap_new(&db->objects) < 0)
161
+ return -1;
175
162
 
176
163
  db->parent.version = GIT_ODB_BACKEND_VERSION;
177
164
  db->parent.read = &impl__read;
@@ -11,7 +11,7 @@
11
11
  #include "git2/repository.h"
12
12
  #include "git2/indexer.h"
13
13
  #include "git2/sys/odb_backend.h"
14
- #include "fileops.h"
14
+ #include "futils.h"
15
15
  #include "hash.h"
16
16
  #include "odb.h"
17
17
  #include "delta.h"
@@ -210,7 +210,7 @@ static int packfile_load__cb(void *data, git_buf *path)
210
210
  for (i = 0; i < backend->packs.length; ++i) {
211
211
  struct git_pack_file *p = git_vector_get(&backend->packs, i);
212
212
 
213
- if (memcmp(p->pack_name, path_str, cmp_len) == 0)
213
+ if (strncmp(p->pack_name, path_str, cmp_len) == 0)
214
214
  return 0;
215
215
  }
216
216
 
@@ -218,7 +218,7 @@ static int packfile_load__cb(void *data, git_buf *path)
218
218
 
219
219
  /* ignore missing .pack file as git does */
220
220
  if (error == GIT_ENOTFOUND) {
221
- giterr_clear();
221
+ git_error_clear();
222
222
  return 0;
223
223
  }
224
224
 
@@ -353,7 +353,7 @@ static int pack_backend__refresh(git_odb_backend *backend_)
353
353
  }
354
354
 
355
355
  static int pack_backend__read_header(
356
- size_t *len_p, git_otype *type_p,
356
+ size_t *len_p, git_object_t *type_p,
357
357
  struct git_odb_backend *backend, const git_oid *oid)
358
358
  {
359
359
  struct git_pack_entry e;
@@ -390,7 +390,7 @@ static int pack_backend__freshen(
390
390
  }
391
391
 
392
392
  static int pack_backend__read(
393
- void **buffer_p, size_t *len_p, git_otype *type_p,
393
+ void **buffer_p, size_t *len_p, git_object_t *type_p,
394
394
  git_odb_backend *backend, const git_oid *oid)
395
395
  {
396
396
  struct git_pack_entry e;
@@ -412,7 +412,7 @@ static int pack_backend__read_prefix(
412
412
  git_oid *out_oid,
413
413
  void **buffer_p,
414
414
  size_t *len_p,
415
- git_otype *type_p,
415
+ git_object_t *type_p,
416
416
  git_odb_backend *backend,
417
417
  const git_oid *short_oid,
418
418
  size_t len)
@@ -478,14 +478,14 @@ static int pack_backend__foreach(git_odb_backend *_backend, git_odb_foreach_cb c
478
478
  return error;
479
479
 
480
480
  git_vector_foreach(&backend->packs, i, p) {
481
- if ((error = git_pack_foreach_entry(p, cb, data)) < 0)
481
+ if ((error = git_pack_foreach_entry(p, cb, data)) != 0)
482
482
  return error;
483
483
  }
484
484
 
485
485
  return 0;
486
486
  }
487
487
 
488
- static int pack_backend__writepack_append(struct git_odb_writepack *_writepack, const void *data, size_t size, git_transfer_progress *stats)
488
+ static int pack_backend__writepack_append(struct git_odb_writepack *_writepack, const void *data, size_t size, git_indexer_progress *stats)
489
489
  {
490
490
  struct pack_writepack *writepack = (struct pack_writepack *)_writepack;
491
491
 
@@ -494,7 +494,7 @@ static int pack_backend__writepack_append(struct git_odb_writepack *_writepack,
494
494
  return git_indexer_append(writepack->indexer, data, size, stats);
495
495
  }
496
496
 
497
- static int pack_backend__writepack_commit(struct git_odb_writepack *_writepack, git_transfer_progress *stats)
497
+ static int pack_backend__writepack_commit(struct git_odb_writepack *_writepack, git_indexer_progress *stats)
498
498
  {
499
499
  struct pack_writepack *writepack = (struct pack_writepack *)_writepack;
500
500
 
@@ -516,9 +516,10 @@ static void pack_backend__writepack_free(struct git_odb_writepack *_writepack)
516
516
  static int pack_backend__writepack(struct git_odb_writepack **out,
517
517
  git_odb_backend *_backend,
518
518
  git_odb *odb,
519
- git_transfer_progress_cb progress_cb,
519
+ git_indexer_progress_cb progress_cb,
520
520
  void *progress_payload)
521
521
  {
522
+ git_indexer_options opts = GIT_INDEXER_OPTIONS_INIT;
522
523
  struct pack_backend *backend;
523
524
  struct pack_writepack *writepack;
524
525
 
@@ -526,13 +527,16 @@ static int pack_backend__writepack(struct git_odb_writepack **out,
526
527
 
527
528
  *out = NULL;
528
529
 
530
+ opts.progress_cb = progress_cb;
531
+ opts.progress_cb_payload = progress_payload;
532
+
529
533
  backend = (struct pack_backend *)_backend;
530
534
 
531
535
  writepack = git__calloc(1, sizeof(struct pack_writepack));
532
- GITERR_CHECK_ALLOC(writepack);
536
+ GIT_ERROR_CHECK_ALLOC(writepack);
533
537
 
534
538
  if (git_indexer_new(&writepack->indexer,
535
- backend->pack_folder, 0, odb, progress_cb, progress_payload) < 0) {
539
+ backend->pack_folder, 0, odb, &opts) < 0) {
536
540
  git__free(writepack);
537
541
  return -1;
538
542
  }
@@ -569,7 +573,7 @@ static void pack_backend__free(git_odb_backend *_backend)
569
573
  static int pack_backend__alloc(struct pack_backend **out, size_t initial_size)
570
574
  {
571
575
  struct pack_backend *backend = git__calloc(1, sizeof(struct pack_backend));
572
- GITERR_CHECK_ALLOC(backend);
576
+ GIT_ERROR_CHECK_ALLOC(backend);
573
577
 
574
578
  if (git_vector_init(&backend->packs, initial_size, packfile_sort__cb) < 0) {
575
579
  git__free(backend);