rugged 0.28.4.1 → 1.0.1

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 (391) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -2
  3. data/ext/rugged/extconf.rb +3 -1
  4. data/ext/rugged/rugged.c +35 -31
  5. data/ext/rugged/rugged.h +13 -0
  6. data/ext/rugged/rugged_blob.c +11 -9
  7. data/ext/rugged/rugged_commit.c +17 -15
  8. data/ext/rugged/rugged_config.c +1 -1
  9. data/ext/rugged/rugged_diff.c +4 -26
  10. data/ext/rugged/rugged_index.c +4 -2
  11. data/ext/rugged/rugged_note.c +5 -3
  12. data/ext/rugged/rugged_object.c +57 -10
  13. data/ext/rugged/rugged_rebase.c +3 -1
  14. data/ext/rugged/rugged_remote.c +32 -8
  15. data/ext/rugged/rugged_repo.c +232 -17
  16. data/ext/rugged/rugged_tag.c +8 -6
  17. data/ext/rugged/rugged_tree.c +18 -16
  18. data/lib/rugged/commit.rb +1 -2
  19. data/lib/rugged/repository.rb +5 -6
  20. data/lib/rugged/submodule_collection.rb +4 -4
  21. data/lib/rugged/version.rb +1 -1
  22. data/vendor/libgit2/AUTHORS +1 -0
  23. data/vendor/libgit2/CMakeLists.txt +39 -19
  24. data/vendor/libgit2/COPYING +28 -0
  25. data/vendor/libgit2/cmake/Modules/EnableWarnings.cmake +5 -1
  26. data/vendor/libgit2/cmake/Modules/FindCoreFoundation.cmake +2 -2
  27. data/vendor/libgit2/cmake/Modules/FindGSSAPI.cmake +1 -1
  28. data/vendor/libgit2/cmake/Modules/FindGSSFramework.cmake +28 -0
  29. data/vendor/libgit2/cmake/Modules/FindPCRE.cmake +38 -0
  30. data/vendor/libgit2/cmake/Modules/FindPCRE2.cmake +37 -0
  31. data/vendor/libgit2/cmake/Modules/FindSecurity.cmake +2 -2
  32. data/vendor/libgit2/cmake/Modules/FindStatNsec.cmake +6 -0
  33. data/vendor/libgit2/cmake/Modules/PkgBuildConfig.cmake +77 -0
  34. data/vendor/libgit2/cmake/Modules/SanitizeBool.cmake +20 -0
  35. data/vendor/libgit2/cmake/Modules/SelectGSSAPI.cmake +56 -0
  36. data/vendor/libgit2/cmake/Modules/SelectHTTPSBackend.cmake +127 -0
  37. data/vendor/libgit2/cmake/Modules/SelectHashes.cmake +69 -0
  38. data/vendor/libgit2/deps/http-parser/http_parser.c +11 -6
  39. data/vendor/libgit2/deps/ntlmclient/CMakeLists.txt +23 -0
  40. data/vendor/libgit2/deps/ntlmclient/compat.h +55 -0
  41. data/vendor/libgit2/deps/ntlmclient/crypt.h +64 -0
  42. data/vendor/libgit2/deps/ntlmclient/crypt_commoncrypto.c +120 -0
  43. data/vendor/libgit2/deps/ntlmclient/crypt_commoncrypto.h +18 -0
  44. data/vendor/libgit2/deps/ntlmclient/crypt_mbedtls.c +145 -0
  45. data/vendor/libgit2/deps/ntlmclient/crypt_mbedtls.h +18 -0
  46. data/vendor/libgit2/deps/ntlmclient/crypt_openssl.c +130 -0
  47. data/vendor/libgit2/deps/ntlmclient/crypt_openssl.h +21 -0
  48. data/vendor/libgit2/deps/ntlmclient/ntlm.c +1422 -0
  49. data/vendor/libgit2/deps/ntlmclient/ntlm.h +174 -0
  50. data/vendor/libgit2/deps/ntlmclient/ntlmclient.h +320 -0
  51. data/vendor/libgit2/deps/ntlmclient/unicode.h +36 -0
  52. data/vendor/libgit2/deps/ntlmclient/unicode_builtin.c +445 -0
  53. data/vendor/libgit2/deps/ntlmclient/unicode_iconv.c +201 -0
  54. data/vendor/libgit2/deps/ntlmclient/utf8.h +1257 -0
  55. data/vendor/libgit2/deps/ntlmclient/util.c +21 -0
  56. data/vendor/libgit2/deps/ntlmclient/util.h +14 -0
  57. data/vendor/libgit2/deps/pcre/CMakeLists.txt +140 -0
  58. data/vendor/libgit2/deps/pcre/COPYING +5 -0
  59. data/vendor/libgit2/deps/pcre/cmake/COPYING-CMAKE-SCRIPTS +22 -0
  60. data/vendor/libgit2/deps/pcre/cmake/FindEditline.cmake +17 -0
  61. data/vendor/libgit2/deps/pcre/cmake/FindPackageHandleStandardArgs.cmake +58 -0
  62. data/vendor/libgit2/deps/pcre/cmake/FindReadline.cmake +29 -0
  63. data/vendor/libgit2/deps/pcre/config.h.in +57 -0
  64. data/vendor/libgit2/deps/pcre/pcre.h +641 -0
  65. data/vendor/libgit2/deps/pcre/pcre_byte_order.c +319 -0
  66. data/vendor/libgit2/deps/pcre/pcre_chartables.c +198 -0
  67. data/vendor/libgit2/deps/pcre/pcre_compile.c +9800 -0
  68. data/vendor/libgit2/deps/pcre/pcre_config.c +190 -0
  69. data/vendor/libgit2/deps/pcre/pcre_dfa_exec.c +3676 -0
  70. data/vendor/libgit2/deps/pcre/pcre_exec.c +7173 -0
  71. data/vendor/libgit2/deps/pcre/pcre_fullinfo.c +245 -0
  72. data/vendor/libgit2/deps/pcre/pcre_get.c +669 -0
  73. data/vendor/libgit2/deps/pcre/pcre_globals.c +86 -0
  74. data/vendor/libgit2/deps/pcre/pcre_internal.h +2787 -0
  75. data/vendor/libgit2/deps/pcre/pcre_jit_compile.c +11913 -0
  76. data/vendor/libgit2/deps/pcre/pcre_maketables.c +156 -0
  77. data/vendor/libgit2/deps/pcre/pcre_newline.c +210 -0
  78. data/vendor/libgit2/deps/pcre/pcre_ord2utf8.c +94 -0
  79. data/vendor/libgit2/deps/pcre/pcre_printint.c +834 -0
  80. data/vendor/libgit2/deps/pcre/pcre_refcount.c +92 -0
  81. data/vendor/libgit2/deps/pcre/pcre_string_utils.c +211 -0
  82. data/vendor/libgit2/deps/pcre/pcre_study.c +1686 -0
  83. data/vendor/libgit2/deps/pcre/pcre_tables.c +727 -0
  84. data/vendor/libgit2/deps/pcre/pcre_ucd.c +3644 -0
  85. data/vendor/libgit2/deps/pcre/pcre_valid_utf8.c +301 -0
  86. data/vendor/libgit2/deps/pcre/pcre_version.c +98 -0
  87. data/vendor/libgit2/deps/pcre/pcre_xclass.c +268 -0
  88. data/vendor/libgit2/deps/pcre/pcreposix.c +421 -0
  89. data/vendor/libgit2/deps/pcre/pcreposix.h +117 -0
  90. data/vendor/libgit2/deps/pcre/ucp.h +224 -0
  91. data/vendor/libgit2/deps/zlib/adler32.c +0 -7
  92. data/vendor/libgit2/deps/zlib/crc32.c +0 -7
  93. data/vendor/libgit2/include/git2.h +2 -0
  94. data/vendor/libgit2/include/git2/apply.h +22 -2
  95. data/vendor/libgit2/include/git2/attr.h +23 -13
  96. data/vendor/libgit2/include/git2/blame.h +2 -2
  97. data/vendor/libgit2/include/git2/blob.h +44 -12
  98. data/vendor/libgit2/include/git2/branch.h +74 -57
  99. data/vendor/libgit2/include/git2/buffer.h +20 -14
  100. data/vendor/libgit2/include/git2/cert.h +135 -0
  101. data/vendor/libgit2/include/git2/checkout.h +46 -14
  102. data/vendor/libgit2/include/git2/cherrypick.h +3 -3
  103. data/vendor/libgit2/include/git2/clone.h +2 -2
  104. data/vendor/libgit2/include/git2/commit.h +23 -1
  105. data/vendor/libgit2/include/git2/common.h +15 -6
  106. data/vendor/libgit2/include/git2/config.h +12 -12
  107. data/vendor/libgit2/include/git2/cred_helpers.h +4 -42
  108. data/vendor/libgit2/include/git2/credential.h +314 -0
  109. data/vendor/libgit2/include/git2/credential_helpers.h +52 -0
  110. data/vendor/libgit2/include/git2/deprecated.h +321 -3
  111. data/vendor/libgit2/include/git2/describe.h +4 -4
  112. data/vendor/libgit2/include/git2/diff.h +16 -14
  113. data/vendor/libgit2/include/git2/errors.h +4 -2
  114. data/vendor/libgit2/include/git2/filter.h +8 -0
  115. data/vendor/libgit2/include/git2/index.h +2 -1
  116. data/vendor/libgit2/include/git2/indexer.h +48 -4
  117. data/vendor/libgit2/include/git2/merge.h +6 -10
  118. data/vendor/libgit2/include/git2/net.h +0 -5
  119. data/vendor/libgit2/include/git2/object.h +2 -14
  120. data/vendor/libgit2/include/git2/odb.h +3 -2
  121. data/vendor/libgit2/include/git2/odb_backend.h +5 -4
  122. data/vendor/libgit2/include/git2/oid.h +11 -6
  123. data/vendor/libgit2/include/git2/pack.h +12 -1
  124. data/vendor/libgit2/include/git2/proxy.h +6 -4
  125. data/vendor/libgit2/include/git2/rebase.h +46 -2
  126. data/vendor/libgit2/include/git2/refs.h +19 -0
  127. data/vendor/libgit2/include/git2/remote.h +40 -15
  128. data/vendor/libgit2/include/git2/repository.h +29 -6
  129. data/vendor/libgit2/include/git2/revert.h +1 -1
  130. data/vendor/libgit2/include/git2/revwalk.h +7 -3
  131. data/vendor/libgit2/include/git2/stash.h +4 -4
  132. data/vendor/libgit2/include/git2/status.h +25 -16
  133. data/vendor/libgit2/include/git2/submodule.h +20 -3
  134. data/vendor/libgit2/include/git2/sys/alloc.h +9 -9
  135. data/vendor/libgit2/include/git2/sys/cred.h +15 -0
  136. data/vendor/libgit2/include/git2/sys/credential.h +90 -0
  137. data/vendor/libgit2/include/git2/sys/index.h +4 -2
  138. data/vendor/libgit2/include/git2/sys/mempack.h +2 -1
  139. data/vendor/libgit2/include/git2/sys/merge.h +1 -1
  140. data/vendor/libgit2/include/git2/sys/odb_backend.h +48 -4
  141. data/vendor/libgit2/include/git2/sys/refdb_backend.h +164 -21
  142. data/vendor/libgit2/include/git2/sys/repository.h +17 -6
  143. data/vendor/libgit2/include/git2/sys/transport.h +4 -4
  144. data/vendor/libgit2/include/git2/tag.h +11 -2
  145. data/vendor/libgit2/include/git2/trace.h +2 -2
  146. data/vendor/libgit2/include/git2/transport.h +11 -340
  147. data/vendor/libgit2/include/git2/tree.h +5 -3
  148. data/vendor/libgit2/include/git2/types.h +4 -89
  149. data/vendor/libgit2/include/git2/version.h +5 -5
  150. data/vendor/libgit2/include/git2/worktree.h +5 -5
  151. data/vendor/libgit2/src/CMakeLists.txt +99 -236
  152. data/vendor/libgit2/src/alloc.c +2 -14
  153. data/vendor/libgit2/src/{stdalloc.c → allocators/stdalloc.c} +3 -4
  154. data/vendor/libgit2/src/{stdalloc.h → allocators/stdalloc.h} +4 -4
  155. data/vendor/libgit2/src/allocators/win32_crtdbg.c +118 -0
  156. data/vendor/libgit2/src/{transports/cred.h → allocators/win32_crtdbg.h} +5 -4
  157. data/vendor/libgit2/src/apply.c +60 -30
  158. data/vendor/libgit2/src/attr.c +70 -64
  159. data/vendor/libgit2/src/attr_file.c +189 -96
  160. data/vendor/libgit2/src/attr_file.h +9 -9
  161. data/vendor/libgit2/src/attrcache.c +48 -48
  162. data/vendor/libgit2/src/attrcache.h +2 -1
  163. data/vendor/libgit2/src/blame.c +17 -5
  164. data/vendor/libgit2/src/blame.h +1 -1
  165. data/vendor/libgit2/src/blame_git.c +21 -7
  166. data/vendor/libgit2/src/blob.c +81 -17
  167. data/vendor/libgit2/src/blob.h +2 -2
  168. data/vendor/libgit2/src/branch.c +60 -32
  169. data/vendor/libgit2/src/buffer.c +19 -7
  170. data/vendor/libgit2/src/buffer.h +1 -0
  171. data/vendor/libgit2/src/cache.c +33 -36
  172. data/vendor/libgit2/src/cache.h +1 -1
  173. data/vendor/libgit2/src/cc-compat.h +5 -0
  174. data/vendor/libgit2/src/checkout.c +26 -16
  175. data/vendor/libgit2/src/cherrypick.c +9 -3
  176. data/vendor/libgit2/src/clone.c +29 -7
  177. data/vendor/libgit2/src/clone.h +4 -0
  178. data/vendor/libgit2/src/commit.c +70 -22
  179. data/vendor/libgit2/src/commit.h +6 -0
  180. data/vendor/libgit2/src/commit_list.c +28 -76
  181. data/vendor/libgit2/src/commit_list.h +2 -2
  182. data/vendor/libgit2/src/common.h +3 -75
  183. data/vendor/libgit2/src/config.c +31 -40
  184. data/vendor/libgit2/src/config.h +7 -6
  185. data/vendor/libgit2/src/config_backend.h +12 -0
  186. data/vendor/libgit2/src/config_cache.c +39 -39
  187. data/vendor/libgit2/src/config_entries.c +69 -99
  188. data/vendor/libgit2/src/config_entries.h +1 -0
  189. data/vendor/libgit2/src/config_file.c +346 -380
  190. data/vendor/libgit2/src/config_mem.c +12 -16
  191. data/vendor/libgit2/src/config_parse.c +49 -29
  192. data/vendor/libgit2/src/config_parse.h +13 -12
  193. data/vendor/libgit2/src/config_snapshot.c +206 -0
  194. data/vendor/libgit2/src/crlf.c +14 -14
  195. data/vendor/libgit2/src/describe.c +21 -20
  196. data/vendor/libgit2/src/diff.c +43 -58
  197. data/vendor/libgit2/src/diff.h +4 -3
  198. data/vendor/libgit2/src/diff_driver.c +37 -38
  199. data/vendor/libgit2/src/diff_file.c +12 -10
  200. data/vendor/libgit2/src/diff_file.h +2 -2
  201. data/vendor/libgit2/src/diff_generate.c +148 -98
  202. data/vendor/libgit2/src/diff_generate.h +2 -2
  203. data/vendor/libgit2/src/diff_parse.c +1 -1
  204. data/vendor/libgit2/src/diff_print.c +25 -13
  205. data/vendor/libgit2/src/diff_stats.c +1 -1
  206. data/vendor/libgit2/src/diff_tform.c +11 -11
  207. data/vendor/libgit2/src/errors.c +21 -25
  208. data/vendor/libgit2/src/errors.h +81 -0
  209. data/vendor/libgit2/src/features.h.in +9 -2
  210. data/vendor/libgit2/src/fetch.c +7 -2
  211. data/vendor/libgit2/src/fetchhead.c +36 -4
  212. data/vendor/libgit2/src/filebuf.c +6 -10
  213. data/vendor/libgit2/src/filebuf.h +2 -2
  214. data/vendor/libgit2/src/filter.c +16 -8
  215. data/vendor/libgit2/src/{fileops.c → futils.c} +21 -17
  216. data/vendor/libgit2/src/{fileops.h → futils.h} +5 -5
  217. data/vendor/libgit2/src/global.c +12 -40
  218. data/vendor/libgit2/src/global.h +0 -2
  219. data/vendor/libgit2/src/hash.c +61 -0
  220. data/vendor/libgit2/src/hash.h +19 -21
  221. data/vendor/libgit2/src/hash/sha1.h +38 -0
  222. data/vendor/libgit2/src/hash/{hash_collisiondetect.h → sha1/collisiondetect.c} +14 -17
  223. data/vendor/libgit2/src/{sha1_lookup.h → hash/sha1/collisiondetect.h} +8 -8
  224. data/vendor/libgit2/src/hash/{hash_common_crypto.h → sha1/common_crypto.c} +15 -19
  225. data/vendor/libgit2/src/hash/sha1/common_crypto.h +19 -0
  226. data/vendor/libgit2/src/hash/{hash_generic.c → sha1/generic.c} +22 -10
  227. data/vendor/libgit2/src/hash/{hash_generic.h → sha1/generic.h} +4 -14
  228. data/vendor/libgit2/src/hash/{hash_mbedtls.c → sha1/mbedtls.c} +15 -7
  229. data/vendor/libgit2/src/hash/{hash_mbedtls.h → sha1/mbedtls.h} +6 -11
  230. data/vendor/libgit2/src/hash/{hash_openssl.h → sha1/openssl.c} +14 -18
  231. data/vendor/libgit2/src/hash/sha1/openssl.h +19 -0
  232. data/vendor/libgit2/src/hash/{sha1dc → sha1/sha1dc}/sha1.c +14 -3
  233. data/vendor/libgit2/src/hash/{sha1dc → sha1/sha1dc}/sha1.h +0 -0
  234. data/vendor/libgit2/src/hash/{sha1dc → sha1/sha1dc}/ubc_check.c +0 -0
  235. data/vendor/libgit2/src/hash/{sha1dc → sha1/sha1dc}/ubc_check.h +0 -0
  236. data/vendor/libgit2/src/hash/{hash_win32.c → sha1/win32.c} +34 -24
  237. data/vendor/libgit2/src/hash/{hash_win32.h → sha1/win32.h} +6 -19
  238. data/vendor/libgit2/src/hashsig.c +1 -1
  239. data/vendor/libgit2/src/idxmap.c +91 -65
  240. data/vendor/libgit2/src/idxmap.h +151 -15
  241. data/vendor/libgit2/src/ignore.c +32 -38
  242. data/vendor/libgit2/src/index.c +105 -83
  243. data/vendor/libgit2/src/index.h +1 -1
  244. data/vendor/libgit2/src/indexer.c +71 -72
  245. data/vendor/libgit2/src/integer.h +39 -4
  246. data/vendor/libgit2/src/iterator.c +40 -35
  247. data/vendor/libgit2/src/iterator.h +8 -8
  248. data/vendor/libgit2/src/map.h +1 -1
  249. data/vendor/libgit2/src/merge.c +78 -51
  250. data/vendor/libgit2/src/merge.h +2 -2
  251. data/vendor/libgit2/src/merge_driver.c +5 -5
  252. data/vendor/libgit2/src/merge_file.c +1 -1
  253. data/vendor/libgit2/src/mwindow.c +18 -23
  254. data/vendor/libgit2/src/mwindow.h +4 -4
  255. data/vendor/libgit2/src/net.c +411 -0
  256. data/vendor/libgit2/src/net.h +57 -0
  257. data/vendor/libgit2/src/netops.c +6 -193
  258. data/vendor/libgit2/src/netops.h +1 -34
  259. data/vendor/libgit2/src/notes.c +8 -5
  260. data/vendor/libgit2/src/object.c +3 -3
  261. data/vendor/libgit2/src/object.h +2 -0
  262. data/vendor/libgit2/src/odb.c +41 -23
  263. data/vendor/libgit2/src/odb.h +3 -2
  264. data/vendor/libgit2/src/odb_loose.c +17 -10
  265. data/vendor/libgit2/src/odb_mempack.c +13 -24
  266. data/vendor/libgit2/src/odb_pack.c +4 -5
  267. data/vendor/libgit2/src/offmap.c +43 -55
  268. data/vendor/libgit2/src/offmap.h +102 -24
  269. data/vendor/libgit2/src/oid.c +19 -8
  270. data/vendor/libgit2/src/oidmap.c +39 -57
  271. data/vendor/libgit2/src/oidmap.h +99 -19
  272. data/vendor/libgit2/src/pack-objects.c +28 -33
  273. data/vendor/libgit2/src/pack-objects.h +1 -1
  274. data/vendor/libgit2/src/pack.c +117 -129
  275. data/vendor/libgit2/src/pack.h +15 -18
  276. data/vendor/libgit2/src/parse.c +10 -0
  277. data/vendor/libgit2/src/parse.h +3 -3
  278. data/vendor/libgit2/src/patch.c +1 -1
  279. data/vendor/libgit2/src/patch_generate.c +2 -2
  280. data/vendor/libgit2/src/patch_parse.c +130 -33
  281. data/vendor/libgit2/src/path.c +43 -6
  282. data/vendor/libgit2/src/path.h +2 -0
  283. data/vendor/libgit2/src/pathspec.c +14 -14
  284. data/vendor/libgit2/src/pool.c +26 -22
  285. data/vendor/libgit2/src/pool.h +7 -7
  286. data/vendor/libgit2/src/posix.c +7 -7
  287. data/vendor/libgit2/src/posix.h +12 -1
  288. data/vendor/libgit2/src/proxy.c +7 -2
  289. data/vendor/libgit2/src/push.c +13 -7
  290. data/vendor/libgit2/src/reader.c +2 -2
  291. data/vendor/libgit2/src/rebase.c +87 -28
  292. data/vendor/libgit2/src/refdb.c +12 -0
  293. data/vendor/libgit2/src/refdb_fs.c +219 -167
  294. data/vendor/libgit2/src/reflog.c +11 -13
  295. data/vendor/libgit2/src/refs.c +39 -23
  296. data/vendor/libgit2/src/refs.h +8 -1
  297. data/vendor/libgit2/src/refspec.c +9 -16
  298. data/vendor/libgit2/src/regexp.c +221 -0
  299. data/vendor/libgit2/src/regexp.h +97 -0
  300. data/vendor/libgit2/src/remote.c +57 -55
  301. data/vendor/libgit2/src/remote.h +2 -2
  302. data/vendor/libgit2/src/repository.c +187 -154
  303. data/vendor/libgit2/src/repository.h +49 -40
  304. data/vendor/libgit2/src/revert.c +8 -3
  305. data/vendor/libgit2/src/revparse.c +18 -19
  306. data/vendor/libgit2/src/revwalk.c +72 -34
  307. data/vendor/libgit2/src/revwalk.h +20 -0
  308. data/vendor/libgit2/src/settings.c +13 -1
  309. data/vendor/libgit2/src/sortedcache.c +12 -26
  310. data/vendor/libgit2/src/sortedcache.h +1 -1
  311. data/vendor/libgit2/src/stash.c +47 -67
  312. data/vendor/libgit2/src/status.c +17 -11
  313. data/vendor/libgit2/src/streams/openssl.c +54 -2
  314. data/vendor/libgit2/src/streams/socket.c +2 -2
  315. data/vendor/libgit2/src/strmap.c +37 -84
  316. data/vendor/libgit2/src/strmap.h +105 -33
  317. data/vendor/libgit2/src/submodule.c +151 -126
  318. data/vendor/libgit2/src/submodule.h +1 -1
  319. data/vendor/libgit2/src/sysdir.c +11 -1
  320. data/vendor/libgit2/src/tag.c +10 -2
  321. data/vendor/libgit2/src/trace.c +1 -1
  322. data/vendor/libgit2/src/trace.h +3 -3
  323. data/vendor/libgit2/src/trailer.c +46 -32
  324. data/vendor/libgit2/src/transaction.c +10 -9
  325. data/vendor/libgit2/src/transports/auth.c +16 -15
  326. data/vendor/libgit2/src/transports/auth.h +18 -11
  327. data/vendor/libgit2/src/transports/auth_negotiate.c +64 -33
  328. data/vendor/libgit2/src/transports/auth_negotiate.h +2 -2
  329. data/vendor/libgit2/src/transports/auth_ntlm.c +223 -0
  330. data/vendor/libgit2/src/transports/auth_ntlm.h +38 -0
  331. data/vendor/libgit2/src/transports/credential.c +476 -0
  332. data/vendor/libgit2/src/transports/{cred_helpers.c → credential_helpers.c} +21 -8
  333. data/vendor/libgit2/src/transports/git.c +11 -16
  334. data/vendor/libgit2/src/transports/http.c +488 -1248
  335. data/vendor/libgit2/src/transports/http.h +4 -1
  336. data/vendor/libgit2/src/transports/httpclient.c +1549 -0
  337. data/vendor/libgit2/src/transports/httpclient.h +190 -0
  338. data/vendor/libgit2/src/transports/local.c +10 -10
  339. data/vendor/libgit2/src/transports/smart.c +19 -19
  340. data/vendor/libgit2/src/transports/smart.h +3 -3
  341. data/vendor/libgit2/src/transports/smart_pkt.c +1 -1
  342. data/vendor/libgit2/src/transports/smart_protocol.c +40 -64
  343. data/vendor/libgit2/src/transports/ssh.c +77 -59
  344. data/vendor/libgit2/src/transports/winhttp.c +272 -242
  345. data/vendor/libgit2/src/tree-cache.c +14 -7
  346. data/vendor/libgit2/src/tree.c +16 -26
  347. data/vendor/libgit2/src/unix/map.c +1 -1
  348. data/vendor/libgit2/src/unix/posix.h +2 -12
  349. data/vendor/libgit2/src/userdiff.h +3 -1
  350. data/vendor/libgit2/src/util.c +51 -53
  351. data/vendor/libgit2/src/util.h +16 -21
  352. data/vendor/libgit2/src/wildmatch.c +320 -0
  353. data/vendor/libgit2/src/wildmatch.h +23 -0
  354. data/vendor/libgit2/src/win32/map.c +3 -5
  355. data/vendor/libgit2/src/win32/path_w32.c +40 -3
  356. data/vendor/libgit2/src/win32/path_w32.h +15 -29
  357. data/vendor/libgit2/src/win32/posix.h +1 -4
  358. data/vendor/libgit2/src/win32/posix_w32.c +47 -5
  359. data/vendor/libgit2/src/win32/precompiled.h +0 -2
  360. data/vendor/libgit2/src/win32/thread.c +5 -10
  361. data/vendor/libgit2/src/win32/w32_buffer.c +7 -3
  362. data/vendor/libgit2/src/win32/w32_common.h +39 -0
  363. data/vendor/libgit2/src/win32/w32_crtdbg_stacktrace.c +0 -93
  364. data/vendor/libgit2/src/win32/w32_crtdbg_stacktrace.h +0 -2
  365. data/vendor/libgit2/src/win32/w32_stack.c +4 -9
  366. data/vendor/libgit2/src/win32/w32_stack.h +3 -3
  367. data/vendor/libgit2/src/win32/w32_util.c +31 -0
  368. data/vendor/libgit2/src/win32/w32_util.h +6 -32
  369. data/vendor/libgit2/src/worktree.c +79 -49
  370. data/vendor/libgit2/src/xdiff/xdiffi.c +1 -1
  371. data/vendor/libgit2/src/xdiff/xmerge.c +12 -0
  372. data/vendor/libgit2/src/xdiff/xpatience.c +3 -0
  373. data/vendor/libgit2/src/zstream.c +5 -0
  374. data/vendor/libgit2/src/zstream.h +1 -0
  375. metadata +108 -41
  376. data/vendor/libgit2/deps/regex/CMakeLists.txt +0 -2
  377. data/vendor/libgit2/deps/regex/COPYING +0 -502
  378. data/vendor/libgit2/deps/regex/config.h +0 -7
  379. data/vendor/libgit2/deps/regex/regcomp.c +0 -3857
  380. data/vendor/libgit2/deps/regex/regex.c +0 -92
  381. data/vendor/libgit2/deps/regex/regex.h +0 -582
  382. data/vendor/libgit2/deps/regex/regex_internal.c +0 -1744
  383. data/vendor/libgit2/deps/regex/regex_internal.h +0 -819
  384. data/vendor/libgit2/deps/regex/regexec.c +0 -4369
  385. data/vendor/libgit2/include/git2/inttypes.h +0 -309
  386. data/vendor/libgit2/include/git2/sys/time.h +0 -31
  387. data/vendor/libgit2/libgit2.pc.in +0 -13
  388. data/vendor/libgit2/src/fnmatch.c +0 -248
  389. data/vendor/libgit2/src/fnmatch.h +0 -48
  390. data/vendor/libgit2/src/sha1_lookup.c +0 -35
  391. data/vendor/libgit2/src/transports/cred.c +0 -390
@@ -30,7 +30,7 @@
30
30
  typedef struct git_pobject {
31
31
  git_oid id;
32
32
  git_object_t type;
33
- git_off_t offset;
33
+ off64_t offset;
34
34
 
35
35
  size_t size;
36
36
 
@@ -7,22 +7,22 @@
7
7
 
8
8
  #include "pack.h"
9
9
 
10
- #include "odb.h"
11
10
  #include "delta.h"
12
- #include "sha1_lookup.h"
11
+ #include "futils.h"
13
12
  #include "mwindow.h"
14
- #include "fileops.h"
13
+ #include "odb.h"
15
14
  #include "oid.h"
16
15
 
17
- #include <zlib.h>
16
+ /* Option to bypass checking existence of '.keep' files */
17
+ bool git_disable_pack_keep_file_checks = false;
18
18
 
19
19
  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);
20
+ static off64_t nth_packed_object_offset(const struct git_pack_file *p, uint32_t n);
21
21
  static int packfile_unpack_compressed(
22
22
  git_rawobj *obj,
23
23
  struct git_pack_file *p,
24
24
  git_mwindow **w_curs,
25
- git_off_t *curpos,
25
+ off64_t *curpos,
26
26
  size_t size,
27
27
  git_object_t type);
28
28
 
@@ -34,7 +34,7 @@ static int packfile_unpack_compressed(
34
34
  * GIT_OID_MINPREFIXLEN and GIT_OID_HEXSZ.
35
35
  */
36
36
  static int pack_entry_find_offset(
37
- git_off_t *offset_out,
37
+ off64_t *offset_out,
38
38
  git_oid *found_oid,
39
39
  struct git_pack_file *p,
40
40
  const git_oid *short_oid,
@@ -89,8 +89,8 @@ static void cache_free(git_pack_cache *cache)
89
89
 
90
90
  static int cache_init(git_pack_cache *cache)
91
91
  {
92
- cache->entries = git_offmap_alloc();
93
- GIT_ERROR_CHECK_ALLOC(cache->entries);
92
+ if (git_offmap_new(&cache->entries) < 0)
93
+ return -1;
94
94
 
95
95
  cache->memory_limit = GIT_PACK_CACHE_MEMORY_LIMIT;
96
96
 
@@ -106,17 +106,14 @@ static int cache_init(git_pack_cache *cache)
106
106
  return 0;
107
107
  }
108
108
 
109
- static git_pack_cache_entry *cache_get(git_pack_cache *cache, git_off_t offset)
109
+ static git_pack_cache_entry *cache_get(git_pack_cache *cache, off64_t offset)
110
110
  {
111
- git_pack_cache_entry *entry = NULL;
112
- size_t k;
111
+ git_pack_cache_entry *entry;
113
112
 
114
113
  if (git_mutex_lock(&cache->lock) < 0)
115
114
  return NULL;
116
115
 
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);
116
+ if ((entry = git_offmap_get(cache->entries, offset)) != NULL) {
120
117
  git_atomic_inc(&entry->refcount);
121
118
  entry->last_usage = cache->use_ctr++;
122
119
  }
@@ -128,7 +125,7 @@ static git_pack_cache_entry *cache_get(git_pack_cache *cache, git_off_t offset)
128
125
  /* Run with the cache lock held */
129
126
  static void free_lowest_entry(git_pack_cache *cache)
130
127
  {
131
- git_off_t offset;
128
+ off64_t offset;
132
129
  git_pack_cache_entry *entry;
133
130
 
134
131
  git_offmap_foreach(cache->entries, offset, entry, {
@@ -144,11 +141,10 @@ static int cache_add(
144
141
  git_pack_cache_entry **cached_out,
145
142
  git_pack_cache *cache,
146
143
  git_rawobj *base,
147
- git_off_t offset)
144
+ off64_t offset)
148
145
  {
149
146
  git_pack_cache_entry *entry;
150
- int error, exists = 0;
151
- size_t k;
147
+ int exists;
152
148
 
153
149
  if (base->len > GIT_PACK_CACHE_SIZE_LIMIT)
154
150
  return -1;
@@ -166,9 +162,7 @@ static int cache_add(
166
162
  while (cache->memory_used + base->len > cache->memory_limit)
167
163
  free_lowest_entry(cache);
168
164
 
169
- k = git_offmap_put(cache->entries, offset, &error);
170
- assert(error != 0);
171
- git_offmap_set_value_at(cache->entries, k, entry);
165
+ git_offmap_set(cache->entries, offset, entry);
172
166
  cache->memory_used += entry->raw.len;
173
167
 
174
168
  *cached_out = entry;
@@ -348,7 +342,7 @@ static int pack_index_open(struct git_pack_file *p)
348
342
  static unsigned char *pack_window_open(
349
343
  struct git_pack_file *p,
350
344
  git_mwindow **w_cursor,
351
- git_off_t offset,
345
+ off64_t offset,
352
346
  unsigned int *left)
353
347
  {
354
348
  if (p->mwf.fd == -1 && packfile_open(p) < 0)
@@ -444,7 +438,7 @@ int git_packfile_unpack_header(
444
438
  git_object_t *type_p,
445
439
  git_mwindow_file *mwf,
446
440
  git_mwindow **w_curs,
447
- git_off_t *curpos)
441
+ off64_t *curpos)
448
442
  {
449
443
  unsigned char *base;
450
444
  unsigned int left;
@@ -477,13 +471,13 @@ int git_packfile_resolve_header(
477
471
  size_t *size_p,
478
472
  git_object_t *type_p,
479
473
  struct git_pack_file *p,
480
- git_off_t offset)
474
+ off64_t offset)
481
475
  {
482
476
  git_mwindow *w_curs = NULL;
483
- git_off_t curpos = offset;
477
+ off64_t curpos = offset;
484
478
  size_t size;
485
479
  git_object_t type;
486
- git_off_t base_offset;
480
+ off64_t base_offset;
487
481
  int error;
488
482
 
489
483
  error = git_packfile_unpack_header(&size, &type, &p->mwf, &w_curs, &curpos);
@@ -531,13 +525,13 @@ int git_packfile_resolve_header(
531
525
  * cache, we stop calculating there.
532
526
  */
533
527
  static int pack_dependency_chain(git_dependency_chain *chain_out,
534
- git_pack_cache_entry **cached_out, git_off_t *cached_off,
528
+ git_pack_cache_entry **cached_out, off64_t *cached_off,
535
529
  struct pack_chain_elem *small_stack, size_t *stack_sz,
536
- struct git_pack_file *p, git_off_t obj_offset)
530
+ struct git_pack_file *p, off64_t obj_offset)
537
531
  {
538
532
  git_dependency_chain chain = GIT_ARRAY_INIT;
539
533
  git_mwindow *w_curs = NULL;
540
- git_off_t curpos = obj_offset, base_offset;
534
+ off64_t curpos = obj_offset, base_offset;
541
535
  int error = 0, use_heap = 0;
542
536
  size_t size, elem_pos;
543
537
  git_object_t type;
@@ -622,10 +616,10 @@ on_error:
622
616
  int git_packfile_unpack(
623
617
  git_rawobj *obj,
624
618
  struct git_pack_file *p,
625
- git_off_t *obj_offset)
619
+ off64_t *obj_offset)
626
620
  {
627
621
  git_mwindow *w_curs = NULL;
628
- git_off_t curpos = *obj_offset;
622
+ off64_t curpos = *obj_offset;
629
623
  int error, free_base = 0;
630
624
  git_dependency_chain chain = GIT_ARRAY_INIT;
631
625
  struct pack_chain_elem *elem = NULL, *stack;
@@ -768,31 +762,13 @@ cleanup:
768
762
  return error;
769
763
  }
770
764
 
771
- static void *use_git_alloc(void *opaq, unsigned int count, unsigned int size)
765
+ int git_packfile_stream_open(git_packfile_stream *obj, struct git_pack_file *p, off64_t curpos)
772
766
  {
773
- GIT_UNUSED(opaq);
774
- return git__calloc(count, size);
775
- }
776
-
777
- static void use_git_free(void *opaq, void *ptr)
778
- {
779
- GIT_UNUSED(opaq);
780
- git__free(ptr);
781
- }
782
-
783
- int git_packfile_stream_open(git_packfile_stream *obj, struct git_pack_file *p, git_off_t curpos)
784
- {
785
- int st;
786
-
787
767
  memset(obj, 0, sizeof(git_packfile_stream));
788
768
  obj->curpos = curpos;
789
769
  obj->p = p;
790
- obj->zstream.zalloc = use_git_alloc;
791
- obj->zstream.zfree = use_git_free;
792
- obj->zstream.next_in = Z_NULL;
793
- obj->zstream.next_out = Z_NULL;
794
- st = inflateInit(&obj->zstream);
795
- if (st != Z_OK) {
770
+
771
+ if (git_zstream_init(&obj->zstream, GIT_ZSTREAM_INFLATE) < 0) {
796
772
  git_error_set(GIT_ERROR_ZLIB, "failed to init packfile stream");
797
773
  return -1;
798
774
  }
@@ -802,126 +778,116 @@ int git_packfile_stream_open(git_packfile_stream *obj, struct git_pack_file *p,
802
778
 
803
779
  ssize_t git_packfile_stream_read(git_packfile_stream *obj, void *buffer, size_t len)
804
780
  {
781
+ unsigned int window_len;
805
782
  unsigned char *in;
806
- size_t written;
807
- int st;
783
+ int error;
808
784
 
809
785
  if (obj->done)
810
786
  return 0;
811
787
 
812
- in = pack_window_open(obj->p, &obj->mw, obj->curpos, &obj->zstream.avail_in);
813
- if (in == NULL)
788
+ if ((in = pack_window_open(obj->p, &obj->mw, obj->curpos, &window_len)) == NULL)
814
789
  return GIT_EBUFS;
815
790
 
816
- obj->zstream.next_out = buffer;
817
- obj->zstream.avail_out = (unsigned int)len;
818
- obj->zstream.next_in = in;
819
-
820
- st = inflate(&obj->zstream, Z_SYNC_FLUSH);
821
- git_mwindow_close(&obj->mw);
822
-
823
- obj->curpos += obj->zstream.next_in - in;
824
- written = len - obj->zstream.avail_out;
825
-
826
- if (st != Z_OK && st != Z_STREAM_END) {
791
+ if ((error = git_zstream_set_input(&obj->zstream, in, window_len)) < 0 ||
792
+ (error = git_zstream_get_output_chunk(buffer, &len, &obj->zstream)) < 0) {
793
+ git_mwindow_close(&obj->mw);
827
794
  git_error_set(GIT_ERROR_ZLIB, "error reading from the zlib stream");
828
795
  return -1;
829
796
  }
830
797
 
831
- if (st == Z_STREAM_END)
832
- obj->done = 1;
798
+ git_mwindow_close(&obj->mw);
833
799
 
800
+ obj->curpos += window_len - obj->zstream.in_len;
801
+
802
+ if (git_zstream_eos(&obj->zstream))
803
+ obj->done = 1;
834
804
 
835
805
  /* If we didn't write anything out but we're not done, we need more data */
836
- if (!written && st != Z_STREAM_END)
806
+ if (!len && !git_zstream_eos(&obj->zstream))
837
807
  return GIT_EBUFS;
838
808
 
839
- return written;
809
+ return len;
840
810
 
841
811
  }
842
812
 
843
813
  void git_packfile_stream_dispose(git_packfile_stream *obj)
844
814
  {
845
- inflateEnd(&obj->zstream);
815
+ git_zstream_free(&obj->zstream);
846
816
  }
847
817
 
848
818
  static int packfile_unpack_compressed(
849
819
  git_rawobj *obj,
850
820
  struct git_pack_file *p,
851
- git_mwindow **w_curs,
852
- git_off_t *curpos,
821
+ git_mwindow **mwindow,
822
+ off64_t *position,
853
823
  size_t size,
854
824
  git_object_t type)
855
825
  {
856
- size_t buf_size;
857
- int st;
858
- z_stream stream;
859
- unsigned char *buffer, *in;
860
-
861
- GIT_ERROR_CHECK_ALLOC_ADD(&buf_size, size, 1);
862
- buffer = git__calloc(1, buf_size);
863
- GIT_ERROR_CHECK_ALLOC(buffer);
864
-
865
- memset(&stream, 0, sizeof(stream));
866
- stream.next_out = buffer;
867
- stream.avail_out = (uInt)buf_size;
868
- stream.zalloc = use_git_alloc;
869
- stream.zfree = use_git_free;
870
-
871
- st = inflateInit(&stream);
872
- if (st != Z_OK) {
873
- git__free(buffer);
874
- git_error_set(GIT_ERROR_ZLIB, "failed to init zlib stream on unpack");
826
+ git_zstream zstream = GIT_ZSTREAM_INIT;
827
+ size_t buffer_len, total = 0;
828
+ char *data = NULL;
829
+ int error;
875
830
 
876
- return -1;
831
+ GIT_ERROR_CHECK_ALLOC_ADD(&buffer_len, size, 1);
832
+ data = git__calloc(1, buffer_len);
833
+ GIT_ERROR_CHECK_ALLOC(data);
834
+
835
+ if ((error = git_zstream_init(&zstream, GIT_ZSTREAM_INFLATE)) < 0) {
836
+ git_error_set(GIT_ERROR_ZLIB, "failed to init zlib stream on unpack");
837
+ goto out;
877
838
  }
878
839
 
879
840
  do {
880
- in = pack_window_open(p, w_curs, *curpos, &stream.avail_in);
881
- stream.next_in = in;
882
- st = inflate(&stream, Z_FINISH);
883
- git_mwindow_close(w_curs);
841
+ size_t bytes = buffer_len - total;
842
+ unsigned int window_len;
843
+ unsigned char *in;
884
844
 
885
- if (!stream.avail_out)
886
- break; /* the payload is larger than it should be */
845
+ in = pack_window_open(p, mwindow, *position, &window_len);
887
846
 
888
- if (st == Z_BUF_ERROR && in == NULL) {
889
- inflateEnd(&stream);
890
- git__free(buffer);
891
- return GIT_EBUFS;
847
+ if ((error = git_zstream_set_input(&zstream, in, window_len)) < 0 ||
848
+ (error = git_zstream_get_output_chunk(data + total, &bytes, &zstream)) < 0) {
849
+ git_mwindow_close(mwindow);
850
+ goto out;
892
851
  }
893
852
 
894
- *curpos += stream.next_in - in;
895
- } while (st == Z_OK || st == Z_BUF_ERROR);
853
+ git_mwindow_close(mwindow);
896
854
 
897
- inflateEnd(&stream);
855
+ *position += window_len - zstream.in_len;
856
+ total += bytes;
857
+ } while (total < size);
898
858
 
899
- if ((st != Z_STREAM_END) || stream.total_out != size) {
900
- git__free(buffer);
859
+ if (total != size || !git_zstream_eos(&zstream)) {
901
860
  git_error_set(GIT_ERROR_ZLIB, "error inflating zlib stream");
902
- return -1;
861
+ error = -1;
862
+ goto out;
903
863
  }
904
864
 
905
865
  obj->type = type;
906
866
  obj->len = size;
907
- obj->data = buffer;
908
- return 0;
867
+ obj->data = data;
868
+
869
+ out:
870
+ git_zstream_free(&zstream);
871
+ if (error)
872
+ git__free(data);
873
+
874
+ return error;
909
875
  }
910
876
 
911
877
  /*
912
878
  * curpos is where the data starts, delta_obj_offset is the where the
913
879
  * header starts
914
880
  */
915
- git_off_t get_delta_base(
881
+ off64_t get_delta_base(
916
882
  struct git_pack_file *p,
917
883
  git_mwindow **w_curs,
918
- git_off_t *curpos,
884
+ off64_t *curpos,
919
885
  git_object_t type,
920
- git_off_t delta_obj_offset)
886
+ off64_t delta_obj_offset)
921
887
  {
922
888
  unsigned int left = 0;
923
889
  unsigned char *base_info;
924
- git_off_t base_offset;
890
+ off64_t base_offset;
925
891
  git_oid unused;
926
892
 
927
893
  base_info = pack_window_open(p, w_curs, *curpos, &left);
@@ -954,14 +920,13 @@ git_off_t get_delta_base(
954
920
  } else if (type == GIT_OBJECT_REF_DELTA) {
955
921
  /* If we have the cooperative cache, search in it first */
956
922
  if (p->has_cache) {
923
+ struct git_pack_entry *entry;
957
924
  git_oid oid;
958
- size_t k;
959
925
 
960
926
  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)) {
927
+ if ((entry = git_oidmap_get(p->idx_cache, &oid)) != NULL) {
963
928
  *curpos += 20;
964
- return ((struct git_pack_entry *)git_oidmap_value_at(p->idx_cache, k))->offset;
929
+ return entry->offset;
965
930
  } else {
966
931
  /* If we're building an index, don't try to find the pack
967
932
  * entry; we just haven't seen it yet. We'll make
@@ -1049,7 +1014,7 @@ static int packfile_open(struct git_pack_file *p)
1049
1014
  if (!p->mwf.size) {
1050
1015
  if (!S_ISREG(st.st_mode))
1051
1016
  goto cleanup;
1052
- p->mwf.size = (git_off_t)st.st_size;
1017
+ p->mwf.size = (off64_t)st.st_size;
1053
1018
  } else if (p->mwf.size != st.st_size)
1054
1019
  goto cleanup;
1055
1020
 
@@ -1141,9 +1106,11 @@ int git_packfile_alloc(struct git_pack_file **pack_out, const char *path)
1141
1106
  if (git__suffixcmp(path, ".idx") == 0) {
1142
1107
  size_t root_len = path_len - strlen(".idx");
1143
1108
 
1144
- memcpy(p->pack_name + root_len, ".keep", sizeof(".keep"));
1145
- if (git_path_exists(p->pack_name) == true)
1146
- p->pack_keep = 1;
1109
+ if (!git_disable_pack_keep_file_checks) {
1110
+ memcpy(p->pack_name + root_len, ".keep", sizeof(".keep"));
1111
+ if (git_path_exists(p->pack_name) == true)
1112
+ p->pack_keep = 1;
1113
+ }
1147
1114
 
1148
1115
  memcpy(p->pack_name + root_len, ".pack", sizeof(".pack"));
1149
1116
  }
@@ -1184,7 +1151,7 @@ int git_packfile_alloc(struct git_pack_file **pack_out, const char *path)
1184
1151
  *
1185
1152
  ***********************************************************/
1186
1153
 
1187
- static git_off_t nth_packed_object_offset(const struct git_pack_file *p, uint32_t n)
1154
+ static off64_t nth_packed_object_offset(const struct git_pack_file *p, uint32_t n)
1188
1155
  {
1189
1156
  const unsigned char *index = p->index_map.data;
1190
1157
  const unsigned char *end = index + p->index_map.len;
@@ -1271,8 +1238,29 @@ int git_pack_foreach_entry(
1271
1238
  return error;
1272
1239
  }
1273
1240
 
1241
+ static int sha1_position(const void *table, size_t stride, unsigned lo,
1242
+ unsigned hi, const unsigned char *key)
1243
+ {
1244
+ const unsigned char *base = table;
1245
+
1246
+ while (lo < hi) {
1247
+ unsigned mi = (lo + hi) / 2;
1248
+ int cmp = git_oid__hashcmp(base + mi * stride, key);
1249
+
1250
+ if (!cmp)
1251
+ return mi;
1252
+
1253
+ if (cmp > 0)
1254
+ hi = mi;
1255
+ else
1256
+ lo = mi+1;
1257
+ }
1258
+
1259
+ return -((int)lo)-1;
1260
+ }
1261
+
1274
1262
  static int pack_entry_find_offset(
1275
- git_off_t *offset_out,
1263
+ off64_t *offset_out,
1276
1264
  git_oid *found_oid,
1277
1265
  struct git_pack_file *p,
1278
1266
  const git_oid *short_oid,
@@ -1282,7 +1270,7 @@ static int pack_entry_find_offset(
1282
1270
  const unsigned char *index;
1283
1271
  unsigned hi, lo, stride;
1284
1272
  int pos, found = 0;
1285
- git_off_t offset;
1273
+ off64_t offset;
1286
1274
  const unsigned char *current = 0;
1287
1275
 
1288
1276
  *offset_out = 0;
@@ -1377,7 +1365,7 @@ int git_pack_entry_find(
1377
1365
  const git_oid *short_oid,
1378
1366
  size_t len)
1379
1367
  {
1380
- git_off_t offset;
1368
+ off64_t offset;
1381
1369
  git_oid found_oid;
1382
1370
  int error;
1383
1371