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
@@ -11,20 +11,23 @@
11
11
  #include "delta.h"
12
12
  #include "sha1_lookup.h"
13
13
  #include "mwindow.h"
14
- #include "fileops.h"
14
+ #include "futils.h"
15
15
  #include "oid.h"
16
16
 
17
17
  #include <zlib.h>
18
18
 
19
+ /* Option to bypass checking existence of '.keep' files */
20
+ bool git_disable_pack_keep_file_checks = false;
21
+
19
22
  static int packfile_open(struct git_pack_file *p);
20
- static git_off_t nth_packed_object_offset(const struct git_pack_file *p, uint32_t n);
23
+ static off64_t nth_packed_object_offset(const struct git_pack_file *p, uint32_t n);
21
24
  static int packfile_unpack_compressed(
22
25
  git_rawobj *obj,
23
26
  struct git_pack_file *p,
24
27
  git_mwindow **w_curs,
25
- git_off_t *curpos,
28
+ off64_t *curpos,
26
29
  size_t size,
27
- git_otype type);
30
+ git_object_t type);
28
31
 
29
32
  /* Can find the offset of an object given
30
33
  * a prefix of an identifier.
@@ -34,7 +37,7 @@ static int packfile_unpack_compressed(
34
37
  * GIT_OID_MINPREFIXLEN and GIT_OID_HEXSZ.
35
38
  */
36
39
  static int pack_entry_find_offset(
37
- git_off_t *offset_out,
40
+ off64_t *offset_out,
38
41
  git_oid *found_oid,
39
42
  struct git_pack_file *p,
40
43
  const git_oid *short_oid,
@@ -42,7 +45,7 @@ static int pack_entry_find_offset(
42
45
 
43
46
  static int packfile_error(const char *message)
44
47
  {
45
- giterr_set(GITERR_ODB, "invalid pack file - %s", message);
48
+ git_error_set(GIT_ERROR_ODB, "invalid pack file - %s", message);
46
49
  return -1;
47
50
  }
48
51
 
@@ -89,13 +92,13 @@ static void cache_free(git_pack_cache *cache)
89
92
 
90
93
  static int cache_init(git_pack_cache *cache)
91
94
  {
92
- cache->entries = git_offmap_alloc();
93
- GITERR_CHECK_ALLOC(cache->entries);
95
+ if (git_offmap_new(&cache->entries) < 0)
96
+ return -1;
94
97
 
95
98
  cache->memory_limit = GIT_PACK_CACHE_MEMORY_LIMIT;
96
99
 
97
100
  if (git_mutex_init(&cache->lock)) {
98
- giterr_set(GITERR_OS, "failed to initialize pack cache mutex");
101
+ git_error_set(GIT_ERROR_OS, "failed to initialize pack cache mutex");
99
102
 
100
103
  git__free(cache->entries);
101
104
  cache->entries = NULL;
@@ -106,17 +109,14 @@ static int cache_init(git_pack_cache *cache)
106
109
  return 0;
107
110
  }
108
111
 
109
- static git_pack_cache_entry *cache_get(git_pack_cache *cache, git_off_t offset)
112
+ static git_pack_cache_entry *cache_get(git_pack_cache *cache, off64_t offset)
110
113
  {
111
- khiter_t k;
112
- git_pack_cache_entry *entry = NULL;
114
+ git_pack_cache_entry *entry;
113
115
 
114
116
  if (git_mutex_lock(&cache->lock) < 0)
115
117
  return NULL;
116
118
 
117
- k = git_offmap_lookup_index(cache->entries, offset);
118
- if (git_offmap_valid_index(cache->entries, k)) { /* found it */
119
- entry = git_offmap_value_at(cache->entries, k);
119
+ if ((entry = git_offmap_get(cache->entries, offset)) != NULL) {
120
120
  git_atomic_inc(&entry->refcount);
121
121
  entry->last_usage = cache->use_ctr++;
122
122
  }
@@ -128,7 +128,7 @@ static git_pack_cache_entry *cache_get(git_pack_cache *cache, git_off_t offset)
128
128
  /* Run with the cache lock held */
129
129
  static void free_lowest_entry(git_pack_cache *cache)
130
130
  {
131
- git_off_t offset;
131
+ off64_t offset;
132
132
  git_pack_cache_entry *entry;
133
133
 
134
134
  git_offmap_foreach(cache->entries, offset, entry, {
@@ -144,11 +144,10 @@ static int cache_add(
144
144
  git_pack_cache_entry **cached_out,
145
145
  git_pack_cache *cache,
146
146
  git_rawobj *base,
147
- git_off_t offset)
147
+ off64_t offset)
148
148
  {
149
149
  git_pack_cache_entry *entry;
150
- int error, exists = 0;
151
- khiter_t k;
150
+ int exists;
152
151
 
153
152
  if (base->len > GIT_PACK_CACHE_SIZE_LIMIT)
154
153
  return -1;
@@ -156,7 +155,7 @@ static int cache_add(
156
155
  entry = new_cache_object(base);
157
156
  if (entry) {
158
157
  if (git_mutex_lock(&cache->lock) < 0) {
159
- giterr_set(GITERR_OS, "failed to lock cache");
158
+ git_error_set(GIT_ERROR_OS, "failed to lock cache");
160
159
  git__free(entry);
161
160
  return -1;
162
161
  }
@@ -166,9 +165,7 @@ static int cache_add(
166
165
  while (cache->memory_used + base->len > cache->memory_limit)
167
166
  free_lowest_entry(cache);
168
167
 
169
- k = git_offmap_put(cache->entries, offset, &error);
170
- assert(error != 0);
171
- git_offmap_set_value_at(cache->entries, k, entry);
168
+ git_offmap_set(cache->entries, offset, entry);
172
169
  cache->memory_used += entry->raw.len;
173
170
 
174
171
  *cached_out = entry;
@@ -217,7 +214,7 @@ static int pack_index_check(const char *path, struct git_pack_file *p)
217
214
 
218
215
  if (p_fstat(fd, &st) < 0) {
219
216
  p_close(fd);
220
- giterr_set(GITERR_OS, "unable to stat pack index '%s'", path);
217
+ git_error_set(GIT_ERROR_OS, "unable to stat pack index '%s'", path);
221
218
  return -1;
222
219
  }
223
220
 
@@ -226,7 +223,7 @@ static int pack_index_check(const char *path, struct git_pack_file *p)
226
223
  (idx_size = (size_t)st.st_size) < 4 * 256 + 20 + 20)
227
224
  {
228
225
  p_close(fd);
229
- giterr_set(GITERR_ODB, "invalid pack index '%s'", path);
226
+ git_error_set(GIT_ERROR_ODB, "invalid pack index '%s'", path);
230
227
  return -1;
231
228
  }
232
229
 
@@ -348,7 +345,7 @@ static int pack_index_open(struct git_pack_file *p)
348
345
  static unsigned char *pack_window_open(
349
346
  struct git_pack_file *p,
350
347
  git_mwindow **w_cursor,
351
- git_off_t offset,
348
+ off64_t offset,
352
349
  unsigned int *left)
353
350
  {
354
351
  if (p->mwf.fd == -1 && packfile_open(p) < 0)
@@ -378,12 +375,12 @@ static unsigned char *pack_window_open(
378
375
  * - each byte afterwards: low seven bits are size continuation,
379
376
  * with the high bit being "size continues"
380
377
  */
381
- size_t git_packfile__object_header(unsigned char *hdr, size_t size, git_otype type)
378
+ size_t git_packfile__object_header(unsigned char *hdr, size_t size, git_object_t type)
382
379
  {
383
380
  unsigned char *hdr_base;
384
381
  unsigned char c;
385
382
 
386
- assert(type >= GIT_OBJ_COMMIT && type <= GIT_OBJ_REF_DELTA);
383
+ assert(type >= GIT_OBJECT_COMMIT && type <= GIT_OBJECT_REF_DELTA);
387
384
 
388
385
  /* TODO: add support for chunked objects; see git.git 6c0d19b1 */
389
386
 
@@ -405,7 +402,7 @@ size_t git_packfile__object_header(unsigned char *hdr, size_t size, git_otype ty
405
402
  static int packfile_unpack_header1(
406
403
  unsigned long *usedp,
407
404
  size_t *sizep,
408
- git_otype *type,
405
+ git_object_t *type,
409
406
  const unsigned char *buf,
410
407
  unsigned long len)
411
408
  {
@@ -419,13 +416,13 @@ static int packfile_unpack_header1(
419
416
  shift = 4;
420
417
  while (c & 0x80) {
421
418
  if (len <= used) {
422
- giterr_set(GITERR_ODB, "buffer too small");
419
+ git_error_set(GIT_ERROR_ODB, "buffer too small");
423
420
  return GIT_EBUFS;
424
421
  }
425
422
 
426
423
  if (bitsizeof(long) <= shift) {
427
424
  *usedp = 0;
428
- giterr_set(GITERR_ODB, "packfile corrupted");
425
+ git_error_set(GIT_ERROR_ODB, "packfile corrupted");
429
426
  return -1;
430
427
  }
431
428
 
@@ -441,10 +438,10 @@ static int packfile_unpack_header1(
441
438
 
442
439
  int git_packfile_unpack_header(
443
440
  size_t *size_p,
444
- git_otype *type_p,
441
+ git_object_t *type_p,
445
442
  git_mwindow_file *mwf,
446
443
  git_mwindow **w_curs,
447
- git_off_t *curpos)
444
+ off64_t *curpos)
448
445
  {
449
446
  unsigned char *base;
450
447
  unsigned int left;
@@ -475,22 +472,22 @@ int git_packfile_unpack_header(
475
472
 
476
473
  int git_packfile_resolve_header(
477
474
  size_t *size_p,
478
- git_otype *type_p,
475
+ git_object_t *type_p,
479
476
  struct git_pack_file *p,
480
- git_off_t offset)
477
+ off64_t offset)
481
478
  {
482
479
  git_mwindow *w_curs = NULL;
483
- git_off_t curpos = offset;
480
+ off64_t curpos = offset;
484
481
  size_t size;
485
- git_otype type;
486
- git_off_t base_offset;
482
+ git_object_t type;
483
+ off64_t base_offset;
487
484
  int error;
488
485
 
489
486
  error = git_packfile_unpack_header(&size, &type, &p->mwf, &w_curs, &curpos);
490
487
  if (error < 0)
491
488
  return error;
492
489
 
493
- if (type == GIT_OBJ_OFS_DELTA || type == GIT_OBJ_REF_DELTA) {
490
+ if (type == GIT_OBJECT_OFS_DELTA || type == GIT_OBJECT_REF_DELTA) {
494
491
  size_t base_size;
495
492
  git_packfile_stream stream;
496
493
 
@@ -507,12 +504,12 @@ int git_packfile_resolve_header(
507
504
  base_offset = 0;
508
505
  }
509
506
 
510
- while (type == GIT_OBJ_OFS_DELTA || type == GIT_OBJ_REF_DELTA) {
507
+ while (type == GIT_OBJECT_OFS_DELTA || type == GIT_OBJECT_REF_DELTA) {
511
508
  curpos = base_offset;
512
509
  error = git_packfile_unpack_header(&size, &type, &p->mwf, &w_curs, &curpos);
513
510
  if (error < 0)
514
511
  return error;
515
- if (type != GIT_OBJ_OFS_DELTA && type != GIT_OBJ_REF_DELTA)
512
+ if (type != GIT_OBJECT_OFS_DELTA && type != GIT_OBJECT_REF_DELTA)
516
513
  break;
517
514
  base_offset = get_delta_base(p, &w_curs, &curpos, type, base_offset);
518
515
  git_mwindow_close(&w_curs);
@@ -531,16 +528,16 @@ int git_packfile_resolve_header(
531
528
  * cache, we stop calculating there.
532
529
  */
533
530
  static int pack_dependency_chain(git_dependency_chain *chain_out,
534
- git_pack_cache_entry **cached_out, git_off_t *cached_off,
531
+ git_pack_cache_entry **cached_out, off64_t *cached_off,
535
532
  struct pack_chain_elem *small_stack, size_t *stack_sz,
536
- struct git_pack_file *p, git_off_t obj_offset)
533
+ struct git_pack_file *p, off64_t obj_offset)
537
534
  {
538
535
  git_dependency_chain chain = GIT_ARRAY_INIT;
539
536
  git_mwindow *w_curs = NULL;
540
- git_off_t curpos = obj_offset, base_offset;
537
+ off64_t curpos = obj_offset, base_offset;
541
538
  int error = 0, use_heap = 0;
542
539
  size_t size, elem_pos;
543
- git_otype type;
540
+ git_object_t type;
544
541
 
545
542
  elem_pos = 0;
546
543
  while (true) {
@@ -557,7 +554,7 @@ static int pack_dependency_chain(git_dependency_chain *chain_out,
557
554
  /* if we run out of space on the small stack, use the array */
558
555
  if (elem_pos == SMALL_STACK_SIZE) {
559
556
  git_array_init_to_size(chain, elem_pos);
560
- GITERR_CHECK_ARRAY(chain);
557
+ GIT_ERROR_CHECK_ARRAY(chain);
561
558
  memcpy(chain.ptr, small_stack, elem_pos * sizeof(struct pack_chain_elem));
562
559
  chain.size = elem_pos;
563
560
  use_heap = 1;
@@ -586,7 +583,7 @@ static int pack_dependency_chain(git_dependency_chain *chain_out,
586
583
  elem->type = type;
587
584
  elem->base_key = obj_offset;
588
585
 
589
- if (type != GIT_OBJ_OFS_DELTA && type != GIT_OBJ_REF_DELTA)
586
+ if (type != GIT_OBJECT_OFS_DELTA && type != GIT_OBJECT_REF_DELTA)
590
587
  break;
591
588
 
592
589
  base_offset = get_delta_base(p, &w_curs, &curpos, type, obj_offset);
@@ -609,7 +606,7 @@ static int pack_dependency_chain(git_dependency_chain *chain_out,
609
606
  elem_pos++;
610
607
  }
611
608
 
612
-
609
+
613
610
  *stack_sz = elem_pos + 1;
614
611
  *chain_out = chain;
615
612
  return error;
@@ -622,17 +619,17 @@ on_error:
622
619
  int git_packfile_unpack(
623
620
  git_rawobj *obj,
624
621
  struct git_pack_file *p,
625
- git_off_t *obj_offset)
622
+ off64_t *obj_offset)
626
623
  {
627
624
  git_mwindow *w_curs = NULL;
628
- git_off_t curpos = *obj_offset;
625
+ off64_t curpos = *obj_offset;
629
626
  int error, free_base = 0;
630
627
  git_dependency_chain chain = GIT_ARRAY_INIT;
631
628
  struct pack_chain_elem *elem = NULL, *stack;
632
629
  git_pack_cache_entry *cached = NULL;
633
630
  struct pack_chain_elem small_stack[SMALL_STACK_SIZE];
634
631
  size_t stack_size = 0, elem_pos, alloclen;
635
- git_otype base_type;
632
+ git_object_t base_type;
636
633
 
637
634
  /*
638
635
  * TODO: optionally check the CRC on the packfile
@@ -644,7 +641,7 @@ int git_packfile_unpack(
644
641
 
645
642
  obj->data = NULL;
646
643
  obj->len = 0;
647
- obj->type = GIT_OBJ_BAD;
644
+ obj->type = GIT_OBJECT_INVALID;
648
645
 
649
646
  /* let's point to the right stack */
650
647
  stack = chain.ptr ? chain.ptr : small_stack;
@@ -660,10 +657,10 @@ int git_packfile_unpack(
660
657
  }
661
658
 
662
659
  switch (base_type) {
663
- case GIT_OBJ_COMMIT:
664
- case GIT_OBJ_TREE:
665
- case GIT_OBJ_BLOB:
666
- case GIT_OBJ_TAG:
660
+ case GIT_OBJECT_COMMIT:
661
+ case GIT_OBJECT_TREE:
662
+ case GIT_OBJECT_BLOB:
663
+ case GIT_OBJECT_TAG:
667
664
  if (!cached) {
668
665
  curpos = elem->offset;
669
666
  error = packfile_unpack_compressed(obj, p, &w_curs, &curpos, elem->size, elem->type);
@@ -673,8 +670,8 @@ int git_packfile_unpack(
673
670
  if (error < 0)
674
671
  goto cleanup;
675
672
  break;
676
- case GIT_OBJ_OFS_DELTA:
677
- case GIT_OBJ_REF_DELTA:
673
+ case GIT_OBJECT_OFS_DELTA:
674
+ case GIT_OBJECT_REF_DELTA:
678
675
  error = packfile_error("dependency chain ends in a delta");
679
676
  goto cleanup;
680
677
  default:
@@ -691,9 +688,9 @@ int git_packfile_unpack(
691
688
  if (cached && stack_size == 1) {
692
689
  void *data = obj->data;
693
690
 
694
- GITERR_CHECK_ALLOC_ADD(&alloclen, obj->len, 1);
691
+ GIT_ERROR_CHECK_ALLOC_ADD(&alloclen, obj->len, 1);
695
692
  obj->data = git__malloc(alloclen);
696
- GITERR_CHECK_ALLOC(obj->data);
693
+ GIT_ERROR_CHECK_ALLOC(obj->data);
697
694
 
698
695
  memcpy(obj->data, data, obj->len + 1);
699
696
  git_atomic_dec(&cached->refcount);
@@ -726,7 +723,7 @@ int git_packfile_unpack(
726
723
  base = *obj;
727
724
  obj->data = NULL;
728
725
  obj->len = 0;
729
- obj->type = GIT_OBJ_BAD;
726
+ obj->type = GIT_OBJECT_INVALID;
730
727
 
731
728
  error = git_delta_apply(&obj->data, &obj->len, base.data, base.len, delta.data, delta.len);
732
729
  obj->type = base_type;
@@ -780,7 +777,7 @@ static void use_git_free(void *opaq, void *ptr)
780
777
  git__free(ptr);
781
778
  }
782
779
 
783
- int git_packfile_stream_open(git_packfile_stream *obj, struct git_pack_file *p, git_off_t curpos)
780
+ int git_packfile_stream_open(git_packfile_stream *obj, struct git_pack_file *p, off64_t curpos)
784
781
  {
785
782
  int st;
786
783
 
@@ -793,7 +790,7 @@ int git_packfile_stream_open(git_packfile_stream *obj, struct git_pack_file *p,
793
790
  obj->zstream.next_out = Z_NULL;
794
791
  st = inflateInit(&obj->zstream);
795
792
  if (st != Z_OK) {
796
- giterr_set(GITERR_ZLIB, "failed to init packfile stream");
793
+ git_error_set(GIT_ERROR_ZLIB, "failed to init packfile stream");
797
794
  return -1;
798
795
  }
799
796
 
@@ -824,7 +821,7 @@ ssize_t git_packfile_stream_read(git_packfile_stream *obj, void *buffer, size_t
824
821
  written = len - obj->zstream.avail_out;
825
822
 
826
823
  if (st != Z_OK && st != Z_STREAM_END) {
827
- giterr_set(GITERR_ZLIB, "error reading from the zlib stream");
824
+ git_error_set(GIT_ERROR_ZLIB, "error reading from the zlib stream");
828
825
  return -1;
829
826
  }
830
827
 
@@ -849,18 +846,18 @@ static int packfile_unpack_compressed(
849
846
  git_rawobj *obj,
850
847
  struct git_pack_file *p,
851
848
  git_mwindow **w_curs,
852
- git_off_t *curpos,
849
+ off64_t *curpos,
853
850
  size_t size,
854
- git_otype type)
851
+ git_object_t type)
855
852
  {
856
853
  size_t buf_size;
857
854
  int st;
858
855
  z_stream stream;
859
856
  unsigned char *buffer, *in;
860
857
 
861
- GITERR_CHECK_ALLOC_ADD(&buf_size, size, 1);
858
+ GIT_ERROR_CHECK_ALLOC_ADD(&buf_size, size, 1);
862
859
  buffer = git__calloc(1, buf_size);
863
- GITERR_CHECK_ALLOC(buffer);
860
+ GIT_ERROR_CHECK_ALLOC(buffer);
864
861
 
865
862
  memset(&stream, 0, sizeof(stream));
866
863
  stream.next_out = buffer;
@@ -871,7 +868,7 @@ static int packfile_unpack_compressed(
871
868
  st = inflateInit(&stream);
872
869
  if (st != Z_OK) {
873
870
  git__free(buffer);
874
- giterr_set(GITERR_ZLIB, "failed to init zlib stream on unpack");
871
+ git_error_set(GIT_ERROR_ZLIB, "failed to init zlib stream on unpack");
875
872
 
876
873
  return -1;
877
874
  }
@@ -898,7 +895,7 @@ static int packfile_unpack_compressed(
898
895
 
899
896
  if ((st != Z_STREAM_END) || stream.total_out != size) {
900
897
  git__free(buffer);
901
- giterr_set(GITERR_ZLIB, "error inflating zlib stream");
898
+ git_error_set(GIT_ERROR_ZLIB, "error inflating zlib stream");
902
899
  return -1;
903
900
  }
904
901
 
@@ -912,16 +909,16 @@ static int packfile_unpack_compressed(
912
909
  * curpos is where the data starts, delta_obj_offset is the where the
913
910
  * header starts
914
911
  */
915
- git_off_t get_delta_base(
912
+ off64_t get_delta_base(
916
913
  struct git_pack_file *p,
917
914
  git_mwindow **w_curs,
918
- git_off_t *curpos,
919
- git_otype type,
920
- git_off_t delta_obj_offset)
915
+ off64_t *curpos,
916
+ git_object_t type,
917
+ off64_t delta_obj_offset)
921
918
  {
922
919
  unsigned int left = 0;
923
920
  unsigned char *base_info;
924
- git_off_t base_offset;
921
+ off64_t base_offset;
925
922
  git_oid unused;
926
923
 
927
924
  base_info = pack_window_open(p, w_curs, *curpos, &left);
@@ -934,7 +931,7 @@ git_off_t get_delta_base(
934
931
  * that is assured. An OFS_DELTA longer than the hash size
935
932
  * is stupid, as then a REF_DELTA would be smaller to store.
936
933
  */
937
- if (type == GIT_OBJ_OFS_DELTA) {
934
+ if (type == GIT_OBJECT_OFS_DELTA) {
938
935
  unsigned used = 0;
939
936
  unsigned char c = base_info[used++];
940
937
  size_t unsigned_base_offset = c & 127;
@@ -951,17 +948,16 @@ git_off_t get_delta_base(
951
948
  return 0; /* out of bound */
952
949
  base_offset = delta_obj_offset - unsigned_base_offset;
953
950
  *curpos += used;
954
- } else if (type == GIT_OBJ_REF_DELTA) {
951
+ } else if (type == GIT_OBJECT_REF_DELTA) {
955
952
  /* If we have the cooperative cache, search in it first */
956
953
  if (p->has_cache) {
957
- khiter_t k;
954
+ struct git_pack_entry *entry;
958
955
  git_oid oid;
959
956
 
960
957
  git_oid_fromraw(&oid, base_info);
961
- k = git_oidmap_lookup_index(p->idx_cache, &oid);
962
- if (git_oidmap_valid_index(p->idx_cache, k)) {
958
+ if ((entry = git_oidmap_get(p->idx_cache, &oid)) != NULL) {
963
959
  *curpos += 20;
964
- return ((struct git_pack_entry *)git_oidmap_value_at(p->idx_cache, k))->offset;
960
+ return entry->offset;
965
961
  } else {
966
962
  /* If we're building an index, don't try to find the pack
967
963
  * entry; we just haven't seen it yet. We'll make
@@ -1049,7 +1045,7 @@ static int packfile_open(struct git_pack_file *p)
1049
1045
  if (!p->mwf.size) {
1050
1046
  if (!S_ISREG(st.st_mode))
1051
1047
  goto cleanup;
1052
- p->mwf.size = (git_off_t)st.st_size;
1048
+ p->mwf.size = (off64_t)st.st_size;
1053
1049
  } else if (p->mwf.size != st.st_size)
1054
1050
  goto cleanup;
1055
1051
 
@@ -1087,7 +1083,7 @@ static int packfile_open(struct git_pack_file *p)
1087
1083
  return 0;
1088
1084
 
1089
1085
  cleanup:
1090
- giterr_set(GITERR_OS, "invalid packfile '%s'", p->pack_name);
1086
+ git_error_set(GIT_ERROR_OS, "invalid packfile '%s'", p->pack_name);
1091
1087
 
1092
1088
  if (p->mwf.fd >= 0)
1093
1089
  p_close(p->mwf.fd);
@@ -1126,11 +1122,11 @@ int git_packfile_alloc(struct git_pack_file **pack_out, const char *path)
1126
1122
  if (path_len < strlen(".idx"))
1127
1123
  return git_odb__error_notfound("invalid packfile path", NULL, 0);
1128
1124
 
1129
- GITERR_CHECK_ALLOC_ADD(&alloc_len, sizeof(*p), path_len);
1130
- GITERR_CHECK_ALLOC_ADD(&alloc_len, alloc_len, 2);
1125
+ GIT_ERROR_CHECK_ALLOC_ADD(&alloc_len, sizeof(*p), path_len);
1126
+ GIT_ERROR_CHECK_ALLOC_ADD(&alloc_len, alloc_len, 2);
1131
1127
 
1132
1128
  p = git__calloc(1, alloc_len);
1133
- GITERR_CHECK_ALLOC(p);
1129
+ GIT_ERROR_CHECK_ALLOC(p);
1134
1130
 
1135
1131
  memcpy(p->pack_name, path, path_len + 1);
1136
1132
 
@@ -1141,9 +1137,11 @@ int git_packfile_alloc(struct git_pack_file **pack_out, const char *path)
1141
1137
  if (git__suffixcmp(path, ".idx") == 0) {
1142
1138
  size_t root_len = path_len - strlen(".idx");
1143
1139
 
1144
- memcpy(p->pack_name + root_len, ".keep", sizeof(".keep"));
1145
- if (git_path_exists(p->pack_name) == true)
1146
- p->pack_keep = 1;
1140
+ if (!git_disable_pack_keep_file_checks) {
1141
+ memcpy(p->pack_name + root_len, ".keep", sizeof(".keep"));
1142
+ if (git_path_exists(p->pack_name) == true)
1143
+ p->pack_keep = 1;
1144
+ }
1147
1145
 
1148
1146
  memcpy(p->pack_name + root_len, ".pack", sizeof(".pack"));
1149
1147
  }
@@ -1163,7 +1161,7 @@ int git_packfile_alloc(struct git_pack_file **pack_out, const char *path)
1163
1161
  p->index_version = -1;
1164
1162
 
1165
1163
  if (git_mutex_init(&p->lock)) {
1166
- giterr_set(GITERR_OS, "failed to initialize packfile mutex");
1164
+ git_error_set(GIT_ERROR_OS, "failed to initialize packfile mutex");
1167
1165
  git__free(p);
1168
1166
  return -1;
1169
1167
  }
@@ -1184,7 +1182,7 @@ int git_packfile_alloc(struct git_pack_file **pack_out, const char *path)
1184
1182
  *
1185
1183
  ***********************************************************/
1186
1184
 
1187
- static git_off_t nth_packed_object_offset(const struct git_pack_file *p, uint32_t n)
1185
+ static off64_t nth_packed_object_offset(const struct git_pack_file *p, uint32_t n)
1188
1186
  {
1189
1187
  const unsigned char *index = p->index_map.data;
1190
1188
  const unsigned char *end = index + p->index_map.len;
@@ -1266,13 +1264,13 @@ int git_pack_foreach_entry(
1266
1264
 
1267
1265
  for (i = 0; i < p->num_objects; i++)
1268
1266
  if ((error = cb(p->oids[i], data)) != 0)
1269
- return giterr_set_after_callback(error);
1267
+ return git_error_set_after_callback(error);
1270
1268
 
1271
1269
  return error;
1272
1270
  }
1273
1271
 
1274
1272
  static int pack_entry_find_offset(
1275
- git_off_t *offset_out,
1273
+ off64_t *offset_out,
1276
1274
  git_oid *found_oid,
1277
1275
  struct git_pack_file *p,
1278
1276
  const git_oid *short_oid,
@@ -1282,7 +1280,7 @@ static int pack_entry_find_offset(
1282
1280
  const unsigned char *index;
1283
1281
  unsigned hi, lo, stride;
1284
1282
  int pos, found = 0;
1285
- git_off_t offset;
1283
+ off64_t offset;
1286
1284
  const unsigned char *current = 0;
1287
1285
 
1288
1286
  *offset_out = 0;
@@ -1352,7 +1350,7 @@ static int pack_entry_find_offset(
1352
1350
  return git_odb__error_ambiguous("found multiple offsets for pack entry");
1353
1351
 
1354
1352
  if ((offset = nth_packed_object_offset(p, pos)) < 0) {
1355
- giterr_set(GITERR_ODB, "packfile index is corrupt");
1353
+ git_error_set(GIT_ERROR_ODB, "packfile index is corrupt");
1356
1354
  return -1;
1357
1355
  }
1358
1356
 
@@ -1377,7 +1375,7 @@ int git_pack_entry_find(
1377
1375
  const git_oid *short_oid,
1378
1376
  size_t len)
1379
1377
  {
1380
- git_off_t offset;
1378
+ off64_t offset;
1381
1379
  git_oid found_oid;
1382
1380
  int error;
1383
1381
 
@@ -17,6 +17,7 @@
17
17
  #include "map.h"
18
18
  #include "mwindow.h"
19
19
  #include "odb.h"
20
+ #include "offmap.h"
20
21
  #include "oidmap.h"
21
22
  #include "array.h"
22
23
 
@@ -63,17 +64,14 @@ typedef struct git_pack_cache_entry {
63
64
  } git_pack_cache_entry;
64
65
 
65
66
  struct pack_chain_elem {
66
- git_off_t base_key;
67
- git_off_t offset;
67
+ off64_t base_key;
68
+ off64_t offset;
68
69
  size_t size;
69
- git_otype type;
70
+ git_object_t type;
70
71
  };
71
72
 
72
73
  typedef git_array_t(struct pack_chain_elem) git_dependency_chain;
73
74
 
74
- #include "offmap.h"
75
- #include "oidmap.h"
76
-
77
75
  #define GIT_PACK_CACHE_MEMORY_LIMIT 16 * 1024 * 1024
78
76
  #define GIT_PACK_CACHE_SIZE_LIMIT 1024 * 1024 /* don't bother caching anything over 1MB */
79
77
 
@@ -110,45 +108,45 @@ struct git_pack_file {
110
108
  };
111
109
 
112
110
  struct git_pack_entry {
113
- git_off_t offset;
111
+ off64_t offset;
114
112
  git_oid sha1;
115
113
  struct git_pack_file *p;
116
114
  };
117
115
 
118
116
  typedef struct git_packfile_stream {
119
- git_off_t curpos;
117
+ off64_t curpos;
120
118
  int done;
121
119
  z_stream zstream;
122
120
  struct git_pack_file *p;
123
121
  git_mwindow *mw;
124
122
  } git_packfile_stream;
125
123
 
126
- size_t git_packfile__object_header(unsigned char *hdr, size_t size, git_otype type);
124
+ size_t git_packfile__object_header(unsigned char *hdr, size_t size, git_object_t type);
127
125
 
128
126
  int git_packfile__name(char **out, const char *path);
129
127
 
130
128
  int git_packfile_unpack_header(
131
129
  size_t *size_p,
132
- git_otype *type_p,
130
+ git_object_t *type_p,
133
131
  git_mwindow_file *mwf,
134
132
  git_mwindow **w_curs,
135
- git_off_t *curpos);
133
+ off64_t *curpos);
136
134
 
137
135
  int git_packfile_resolve_header(
138
136
  size_t *size_p,
139
- git_otype *type_p,
137
+ git_object_t *type_p,
140
138
  struct git_pack_file *p,
141
- git_off_t offset);
139
+ off64_t offset);
142
140
 
143
- int git_packfile_unpack(git_rawobj *obj, struct git_pack_file *p, git_off_t *obj_offset);
141
+ int git_packfile_unpack(git_rawobj *obj, struct git_pack_file *p, off64_t *obj_offset);
144
142
 
145
- int git_packfile_stream_open(git_packfile_stream *obj, struct git_pack_file *p, git_off_t curpos);
143
+ int git_packfile_stream_open(git_packfile_stream *obj, struct git_pack_file *p, off64_t curpos);
146
144
  ssize_t git_packfile_stream_read(git_packfile_stream *obj, void *buffer, size_t len);
147
145
  void git_packfile_stream_dispose(git_packfile_stream *obj);
148
146
 
149
- git_off_t get_delta_base(struct git_pack_file *p, git_mwindow **w_curs,
150
- git_off_t *curpos, git_otype type,
151
- git_off_t delta_obj_offset);
147
+ off64_t get_delta_base(struct git_pack_file *p, git_mwindow **w_curs,
148
+ off64_t *curpos, git_object_t type,
149
+ off64_t delta_obj_offset);
152
150
 
153
151
  void git_packfile_close(struct git_pack_file *p, bool unlink_packfile);
154
152
  void git_packfile_free(struct git_pack_file *p);