rugged 0.27.7 → 0.27.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (409) hide show
  1. checksums.yaml +4 -4
  2. data/lib/rugged/version.rb +1 -1
  3. data/vendor/libgit2/AUTHORS +1 -0
  4. data/vendor/libgit2/CMakeLists.txt +99 -51
  5. data/vendor/libgit2/COPYING +28 -0
  6. data/vendor/libgit2/cmake/Modules/AddCFlagIfSupported.cmake +15 -1
  7. data/vendor/libgit2/cmake/Modules/CheckPrototypeDefinition.c.in +29 -0
  8. data/vendor/libgit2/cmake/Modules/CheckPrototypeDefinition.cmake +96 -0
  9. data/vendor/libgit2/cmake/Modules/EnableWarnings.cmake +9 -8
  10. data/vendor/libgit2/cmake/Modules/FindCoreFoundation.cmake +2 -2
  11. data/vendor/libgit2/cmake/Modules/FindGSSAPI.cmake +1 -1
  12. data/vendor/libgit2/cmake/Modules/FindGSSFramework.cmake +28 -0
  13. data/vendor/libgit2/cmake/Modules/FindIconv.cmake +11 -6
  14. data/vendor/libgit2/cmake/Modules/FindPCRE.cmake +38 -0
  15. data/vendor/libgit2/cmake/Modules/FindPCRE2.cmake +37 -0
  16. data/vendor/libgit2/cmake/Modules/FindSecurity.cmake +2 -2
  17. data/vendor/libgit2/cmake/Modules/FindStatNsec.cmake +6 -0
  18. data/vendor/libgit2/cmake/Modules/PkgBuildConfig.cmake +110 -0
  19. data/vendor/libgit2/cmake/Modules/SelectGSSAPI.cmake +53 -0
  20. data/vendor/libgit2/cmake/Modules/SelectHTTPSBackend.cmake +124 -0
  21. data/vendor/libgit2/cmake/Modules/SelectHashes.cmake +66 -0
  22. data/vendor/libgit2/deps/http-parser/http_parser.c +11 -6
  23. data/vendor/libgit2/deps/ntlmclient/CMakeLists.txt +21 -0
  24. data/vendor/libgit2/deps/ntlmclient/compat.h +33 -0
  25. data/vendor/libgit2/deps/ntlmclient/crypt.h +64 -0
  26. data/vendor/libgit2/deps/ntlmclient/crypt_commoncrypto.c +120 -0
  27. data/vendor/libgit2/deps/ntlmclient/crypt_commoncrypto.h +18 -0
  28. data/vendor/libgit2/deps/ntlmclient/crypt_mbedtls.c +145 -0
  29. data/vendor/libgit2/deps/ntlmclient/crypt_mbedtls.h +18 -0
  30. data/vendor/libgit2/deps/ntlmclient/crypt_openssl.c +130 -0
  31. data/vendor/libgit2/deps/ntlmclient/crypt_openssl.h +21 -0
  32. data/vendor/libgit2/deps/ntlmclient/ntlm.c +1420 -0
  33. data/vendor/libgit2/deps/ntlmclient/ntlm.h +174 -0
  34. data/vendor/libgit2/deps/ntlmclient/ntlmclient.h +320 -0
  35. data/vendor/libgit2/deps/ntlmclient/unicode.h +36 -0
  36. data/vendor/libgit2/deps/ntlmclient/unicode_builtin.c +445 -0
  37. data/vendor/libgit2/deps/ntlmclient/unicode_iconv.c +201 -0
  38. data/vendor/libgit2/deps/ntlmclient/utf8.h +1257 -0
  39. data/vendor/libgit2/deps/ntlmclient/util.c +21 -0
  40. data/vendor/libgit2/deps/ntlmclient/util.h +14 -0
  41. data/vendor/libgit2/deps/pcre/CMakeLists.txt +140 -0
  42. data/vendor/libgit2/deps/pcre/COPYING +5 -0
  43. data/vendor/libgit2/deps/pcre/cmake/COPYING-CMAKE-SCRIPTS +22 -0
  44. data/vendor/libgit2/deps/pcre/cmake/FindEditline.cmake +17 -0
  45. data/vendor/libgit2/deps/pcre/cmake/FindPackageHandleStandardArgs.cmake +58 -0
  46. data/vendor/libgit2/deps/pcre/cmake/FindReadline.cmake +29 -0
  47. data/vendor/libgit2/deps/pcre/config.h.in +57 -0
  48. data/vendor/libgit2/deps/pcre/pcre.h +641 -0
  49. data/vendor/libgit2/deps/pcre/pcre_byte_order.c +319 -0
  50. data/vendor/libgit2/deps/pcre/pcre_chartables.c +198 -0
  51. data/vendor/libgit2/deps/pcre/pcre_compile.c +9800 -0
  52. data/vendor/libgit2/deps/pcre/pcre_config.c +190 -0
  53. data/vendor/libgit2/deps/pcre/pcre_dfa_exec.c +3676 -0
  54. data/vendor/libgit2/deps/pcre/pcre_exec.c +7173 -0
  55. data/vendor/libgit2/deps/pcre/pcre_fullinfo.c +245 -0
  56. data/vendor/libgit2/deps/pcre/pcre_get.c +669 -0
  57. data/vendor/libgit2/deps/pcre/pcre_globals.c +86 -0
  58. data/vendor/libgit2/deps/pcre/pcre_internal.h +2787 -0
  59. data/vendor/libgit2/deps/pcre/pcre_jit_compile.c +11913 -0
  60. data/vendor/libgit2/deps/pcre/pcre_maketables.c +156 -0
  61. data/vendor/libgit2/deps/pcre/pcre_newline.c +210 -0
  62. data/vendor/libgit2/deps/pcre/pcre_ord2utf8.c +94 -0
  63. data/vendor/libgit2/deps/pcre/pcre_printint.c +834 -0
  64. data/vendor/libgit2/deps/pcre/pcre_refcount.c +92 -0
  65. data/vendor/libgit2/deps/pcre/pcre_string_utils.c +211 -0
  66. data/vendor/libgit2/deps/pcre/pcre_study.c +1686 -0
  67. data/vendor/libgit2/deps/pcre/pcre_tables.c +727 -0
  68. data/vendor/libgit2/deps/pcre/pcre_ucd.c +3644 -0
  69. data/vendor/libgit2/deps/pcre/pcre_valid_utf8.c +301 -0
  70. data/vendor/libgit2/deps/pcre/pcre_version.c +98 -0
  71. data/vendor/libgit2/deps/pcre/pcre_xclass.c +268 -0
  72. data/vendor/libgit2/deps/pcre/pcreposix.c +421 -0
  73. data/vendor/libgit2/deps/pcre/pcreposix.h +117 -0
  74. data/vendor/libgit2/deps/pcre/ucp.h +224 -0
  75. data/vendor/libgit2/deps/winhttp/COPYING.GPL +993 -0
  76. data/vendor/libgit2/deps/winhttp/COPYING.LGPL +502 -0
  77. data/vendor/libgit2/deps/zlib/CMakeLists.txt +1 -0
  78. data/vendor/libgit2/deps/zlib/COPYING +27 -0
  79. data/vendor/libgit2/deps/zlib/adler32.c +0 -7
  80. data/vendor/libgit2/deps/zlib/crc32.c +0 -7
  81. data/vendor/libgit2/include/git2/annotated_commit.h +9 -0
  82. data/vendor/libgit2/include/git2/apply.h +149 -0
  83. data/vendor/libgit2/include/git2/attr.h +20 -13
  84. data/vendor/libgit2/include/git2/blame.h +4 -4
  85. data/vendor/libgit2/include/git2/blob.h +44 -12
  86. data/vendor/libgit2/include/git2/buffer.h +20 -26
  87. data/vendor/libgit2/include/git2/cert.h +135 -0
  88. data/vendor/libgit2/include/git2/checkout.h +53 -21
  89. data/vendor/libgit2/include/git2/cherrypick.h +3 -3
  90. data/vendor/libgit2/include/git2/clone.h +5 -5
  91. data/vendor/libgit2/include/git2/commit.h +25 -3
  92. data/vendor/libgit2/include/git2/common.h +35 -10
  93. data/vendor/libgit2/include/git2/config.h +29 -19
  94. data/vendor/libgit2/include/git2/cred.h +308 -0
  95. data/vendor/libgit2/include/git2/deprecated.h +493 -0
  96. data/vendor/libgit2/include/git2/describe.h +4 -4
  97. data/vendor/libgit2/include/git2/diff.h +177 -135
  98. data/vendor/libgit2/include/git2/errors.h +53 -46
  99. data/vendor/libgit2/include/git2/filter.h +8 -0
  100. data/vendor/libgit2/include/git2/index.h +74 -52
  101. data/vendor/libgit2/include/git2/indexer.h +76 -6
  102. data/vendor/libgit2/include/git2/merge.h +25 -10
  103. data/vendor/libgit2/include/git2/net.h +0 -5
  104. data/vendor/libgit2/include/git2/notes.h +1 -1
  105. data/vendor/libgit2/include/git2/object.h +17 -29
  106. data/vendor/libgit2/include/git2/odb.h +12 -11
  107. data/vendor/libgit2/include/git2/odb_backend.h +10 -9
  108. data/vendor/libgit2/include/git2/oid.h +2 -2
  109. data/vendor/libgit2/include/git2/pack.h +14 -3
  110. data/vendor/libgit2/include/git2/proxy.h +5 -3
  111. data/vendor/libgit2/include/git2/rebase.h +46 -2
  112. data/vendor/libgit2/include/git2/refs.h +34 -16
  113. data/vendor/libgit2/include/git2/remote.h +111 -14
  114. data/vendor/libgit2/include/git2/repository.h +69 -34
  115. data/vendor/libgit2/include/git2/revert.h +1 -1
  116. data/vendor/libgit2/include/git2/revwalk.h +7 -7
  117. data/vendor/libgit2/include/git2/signature.h +2 -2
  118. data/vendor/libgit2/include/git2/stash.h +5 -5
  119. data/vendor/libgit2/include/git2/status.h +26 -17
  120. data/vendor/libgit2/include/git2/submodule.h +23 -6
  121. data/vendor/libgit2/include/git2/sys/alloc.h +18 -18
  122. data/vendor/libgit2/include/git2/sys/commit.h +1 -1
  123. data/vendor/libgit2/include/git2/sys/config.h +13 -13
  124. data/vendor/libgit2/include/git2/sys/cred.h +90 -0
  125. data/vendor/libgit2/include/git2/sys/filter.h +6 -6
  126. data/vendor/libgit2/include/git2/sys/merge.h +3 -3
  127. data/vendor/libgit2/include/git2/sys/odb_backend.h +66 -22
  128. data/vendor/libgit2/include/git2/sys/path.h +14 -5
  129. data/vendor/libgit2/include/git2/sys/refdb_backend.h +76 -40
  130. data/vendor/libgit2/include/git2/sys/repository.h +5 -1
  131. data/vendor/libgit2/include/git2/sys/stream.h +92 -12
  132. data/vendor/libgit2/include/git2/sys/transport.h +129 -83
  133. data/vendor/libgit2/include/git2/tag.h +13 -4
  134. data/vendor/libgit2/include/git2/trace.h +2 -2
  135. data/vendor/libgit2/include/git2/transport.h +11 -311
  136. data/vendor/libgit2/include/git2/tree.h +4 -4
  137. data/vendor/libgit2/include/git2/types.h +25 -106
  138. data/vendor/libgit2/include/git2/version.h +3 -3
  139. data/vendor/libgit2/include/git2/worktree.h +5 -5
  140. data/vendor/libgit2/include/git2.h +4 -0
  141. data/vendor/libgit2/src/CMakeLists.txt +104 -235
  142. data/vendor/libgit2/src/alloc.c +14 -18
  143. data/vendor/libgit2/src/{stdalloc.c → allocators/stdalloc.c} +7 -8
  144. data/vendor/libgit2/src/{stdalloc.h → allocators/stdalloc.h} +4 -4
  145. data/vendor/libgit2/src/allocators/win32_crtdbg.c +118 -0
  146. data/vendor/libgit2/src/{transports/cred.h → allocators/win32_crtdbg.h} +5 -4
  147. data/vendor/libgit2/src/annotated_commit.c +18 -11
  148. data/vendor/libgit2/src/apply.c +535 -28
  149. data/vendor/libgit2/src/apply.h +3 -1
  150. data/vendor/libgit2/src/array.h +2 -2
  151. data/vendor/libgit2/src/attr.c +77 -71
  152. data/vendor/libgit2/src/attr_file.c +203 -117
  153. data/vendor/libgit2/src/attr_file.h +9 -9
  154. data/vendor/libgit2/src/attrcache.c +49 -51
  155. data/vendor/libgit2/src/attrcache.h +2 -1
  156. data/vendor/libgit2/src/blame.c +38 -18
  157. data/vendor/libgit2/src/blame.h +1 -1
  158. data/vendor/libgit2/src/blame_git.c +29 -15
  159. data/vendor/libgit2/src/blob.c +123 -37
  160. data/vendor/libgit2/src/blob.h +19 -2
  161. data/vendor/libgit2/src/branch.c +47 -23
  162. data/vendor/libgit2/src/buf_text.c +7 -6
  163. data/vendor/libgit2/src/buffer.c +60 -53
  164. data/vendor/libgit2/src/cache.c +38 -45
  165. data/vendor/libgit2/src/cache.h +3 -3
  166. data/vendor/libgit2/src/cc-compat.h +20 -3
  167. data/vendor/libgit2/src/checkout.c +77 -67
  168. data/vendor/libgit2/src/cherrypick.c +12 -6
  169. data/vendor/libgit2/src/clone.c +36 -14
  170. data/vendor/libgit2/src/clone.h +4 -0
  171. data/vendor/libgit2/src/commit.c +103 -48
  172. data/vendor/libgit2/src/commit.h +7 -0
  173. data/vendor/libgit2/src/commit_list.c +36 -78
  174. data/vendor/libgit2/src/commit_list.h +2 -2
  175. data/vendor/libgit2/src/common.h +24 -90
  176. data/vendor/libgit2/src/config.c +203 -176
  177. data/vendor/libgit2/src/config.h +8 -20
  178. data/vendor/libgit2/src/config_backend.h +96 -0
  179. data/vendor/libgit2/src/config_cache.c +41 -35
  180. data/vendor/libgit2/src/config_entries.c +229 -0
  181. data/vendor/libgit2/src/config_entries.h +24 -0
  182. data/vendor/libgit2/src/config_file.c +422 -680
  183. data/vendor/libgit2/src/config_mem.c +220 -0
  184. data/vendor/libgit2/src/config_parse.c +96 -68
  185. data/vendor/libgit2/src/config_parse.h +15 -14
  186. data/vendor/libgit2/src/config_snapshot.c +206 -0
  187. data/vendor/libgit2/src/crlf.c +219 -196
  188. data/vendor/libgit2/src/delta.c +25 -18
  189. data/vendor/libgit2/src/describe.c +42 -41
  190. data/vendor/libgit2/src/diff.c +52 -67
  191. data/vendor/libgit2/src/diff.h +2 -1
  192. data/vendor/libgit2/src/diff_driver.c +44 -46
  193. data/vendor/libgit2/src/diff_file.c +16 -14
  194. data/vendor/libgit2/src/diff_file.h +1 -1
  195. data/vendor/libgit2/src/diff_generate.c +158 -103
  196. data/vendor/libgit2/src/diff_generate.h +3 -3
  197. data/vendor/libgit2/src/diff_parse.c +4 -4
  198. data/vendor/libgit2/src/diff_print.c +34 -22
  199. data/vendor/libgit2/src/diff_stats.c +22 -7
  200. data/vendor/libgit2/src/diff_tform.c +18 -16
  201. data/vendor/libgit2/src/diff_xdiff.c +3 -3
  202. data/vendor/libgit2/src/errors.c +51 -39
  203. data/vendor/libgit2/src/errors.h +81 -0
  204. data/vendor/libgit2/src/features.h.in +9 -3
  205. data/vendor/libgit2/src/fetch.c +8 -3
  206. data/vendor/libgit2/src/fetchhead.c +12 -12
  207. data/vendor/libgit2/src/filebuf.c +28 -32
  208. data/vendor/libgit2/src/filebuf.h +2 -2
  209. data/vendor/libgit2/src/filter.c +47 -33
  210. data/vendor/libgit2/src/filter.h +0 -10
  211. data/vendor/libgit2/src/{fileops.c → futils.c} +70 -63
  212. data/vendor/libgit2/src/{fileops.h → futils.h} +6 -6
  213. data/vendor/libgit2/src/global.c +35 -55
  214. data/vendor/libgit2/src/global.h +0 -2
  215. data/vendor/libgit2/src/hash/sha1/collisiondetect.c +48 -0
  216. data/vendor/libgit2/src/hash/sha1/collisiondetect.h +19 -0
  217. data/vendor/libgit2/src/hash/{hash_common_crypto.h → sha1/common_crypto.c} +17 -17
  218. data/vendor/libgit2/src/hash/sha1/common_crypto.h +19 -0
  219. data/vendor/libgit2/src/hash/{hash_generic.c → sha1/generic.c} +22 -10
  220. data/vendor/libgit2/src/hash/{hash_generic.h → sha1/generic.h} +4 -10
  221. data/vendor/libgit2/src/hash/{hash_mbedtls.c → sha1/mbedtls.c} +15 -7
  222. data/vendor/libgit2/src/hash/{hash_mbedtls.h → sha1/mbedtls.h} +6 -7
  223. data/vendor/libgit2/src/hash/sha1/openssl.c +59 -0
  224. data/vendor/libgit2/src/hash/sha1/openssl.h +19 -0
  225. data/vendor/libgit2/src/hash/{sha1dc → sha1/sha1dc}/sha1.c +14 -3
  226. data/vendor/libgit2/src/hash/{hash_win32.c → sha1/win32.c} +47 -37
  227. data/vendor/libgit2/src/hash/{hash_win32.h → sha1/win32.h} +6 -19
  228. data/vendor/libgit2/src/hash/sha1.h +38 -0
  229. data/vendor/libgit2/src/hash.c +61 -0
  230. data/vendor/libgit2/src/hash.h +20 -21
  231. data/vendor/libgit2/src/hashsig.c +5 -5
  232. data/vendor/libgit2/src/idxmap.c +107 -61
  233. data/vendor/libgit2/src/idxmap.h +153 -31
  234. data/vendor/libgit2/src/ignore.c +38 -42
  235. data/vendor/libgit2/src/index.c +264 -199
  236. data/vendor/libgit2/src/index.h +7 -1
  237. data/vendor/libgit2/src/indexer.c +338 -167
  238. data/vendor/libgit2/src/integer.h +71 -26
  239. data/vendor/libgit2/src/iterator.c +134 -62
  240. data/vendor/libgit2/src/iterator.h +15 -0
  241. data/vendor/libgit2/src/mailmap.c +8 -8
  242. data/vendor/libgit2/src/map.h +1 -1
  243. data/vendor/libgit2/src/merge.c +137 -93
  244. data/vendor/libgit2/src/merge_driver.c +11 -11
  245. data/vendor/libgit2/src/merge_file.c +2 -2
  246. data/vendor/libgit2/src/mwindow.c +24 -29
  247. data/vendor/libgit2/src/mwindow.h +4 -4
  248. data/vendor/libgit2/src/net.c +184 -0
  249. data/vendor/libgit2/src/net.h +36 -0
  250. data/vendor/libgit2/src/netops.c +55 -156
  251. data/vendor/libgit2/src/netops.h +3 -23
  252. data/vendor/libgit2/src/notes.c +14 -9
  253. data/vendor/libgit2/src/object.c +120 -69
  254. data/vendor/libgit2/src/object.h +22 -9
  255. data/vendor/libgit2/src/object_api.c +8 -8
  256. data/vendor/libgit2/src/odb.c +111 -88
  257. data/vendor/libgit2/src/odb.h +8 -7
  258. data/vendor/libgit2/src/odb_loose.c +58 -47
  259. data/vendor/libgit2/src/odb_mempack.c +21 -34
  260. data/vendor/libgit2/src/odb_pack.c +17 -13
  261. data/vendor/libgit2/src/offmap.c +53 -35
  262. data/vendor/libgit2/src/offmap.h +108 -21
  263. data/vendor/libgit2/src/oid.c +12 -7
  264. data/vendor/libgit2/src/oidmap.c +49 -47
  265. data/vendor/libgit2/src/oidmap.h +101 -24
  266. data/vendor/libgit2/src/pack-objects.c +87 -86
  267. data/vendor/libgit2/src/pack-objects.h +2 -8
  268. data/vendor/libgit2/src/pack.c +94 -96
  269. data/vendor/libgit2/src/pack.h +16 -18
  270. data/vendor/libgit2/src/parse.c +17 -4
  271. data/vendor/libgit2/src/parse.h +3 -3
  272. data/vendor/libgit2/src/patch.c +3 -3
  273. data/vendor/libgit2/src/patch_generate.c +18 -18
  274. data/vendor/libgit2/src/patch_parse.c +147 -79
  275. data/vendor/libgit2/src/path.c +207 -62
  276. data/vendor/libgit2/src/path.h +14 -0
  277. data/vendor/libgit2/src/pathspec.c +18 -18
  278. data/vendor/libgit2/src/pool.c +26 -22
  279. data/vendor/libgit2/src/pool.h +7 -7
  280. data/vendor/libgit2/src/posix.c +10 -10
  281. data/vendor/libgit2/src/posix.h +12 -1
  282. data/vendor/libgit2/src/proxy.c +8 -3
  283. data/vendor/libgit2/src/push.c +35 -29
  284. data/vendor/libgit2/src/push.h +2 -1
  285. data/vendor/libgit2/src/reader.c +265 -0
  286. data/vendor/libgit2/src/reader.h +107 -0
  287. data/vendor/libgit2/src/rebase.c +97 -38
  288. data/vendor/libgit2/src/refdb.c +15 -3
  289. data/vendor/libgit2/src/refdb_fs.c +318 -222
  290. data/vendor/libgit2/src/reflog.c +13 -15
  291. data/vendor/libgit2/src/refs.c +122 -89
  292. data/vendor/libgit2/src/refs.h +5 -3
  293. data/vendor/libgit2/src/refspec.c +27 -33
  294. data/vendor/libgit2/src/regexp.c +221 -0
  295. data/vendor/libgit2/src/regexp.h +97 -0
  296. data/vendor/libgit2/src/remote.c +229 -178
  297. data/vendor/libgit2/src/remote.h +11 -2
  298. data/vendor/libgit2/src/repository.c +227 -172
  299. data/vendor/libgit2/src/repository.h +52 -40
  300. data/vendor/libgit2/src/reset.c +7 -7
  301. data/vendor/libgit2/src/revert.c +11 -6
  302. data/vendor/libgit2/src/revparse.c +46 -46
  303. data/vendor/libgit2/src/revwalk.c +89 -54
  304. data/vendor/libgit2/src/revwalk.h +20 -0
  305. data/vendor/libgit2/src/settings.c +22 -9
  306. data/vendor/libgit2/src/signature.c +15 -13
  307. data/vendor/libgit2/src/sortedcache.c +22 -36
  308. data/vendor/libgit2/src/sortedcache.h +1 -1
  309. data/vendor/libgit2/src/stash.c +56 -76
  310. data/vendor/libgit2/src/status.c +27 -21
  311. data/vendor/libgit2/src/stream.h +17 -2
  312. data/vendor/libgit2/src/streams/mbedtls.c +100 -80
  313. data/vendor/libgit2/src/streams/mbedtls.h +5 -2
  314. data/vendor/libgit2/src/streams/openssl.c +93 -81
  315. data/vendor/libgit2/src/streams/openssl.h +5 -2
  316. data/vendor/libgit2/src/streams/registry.c +118 -0
  317. data/vendor/libgit2/src/streams/registry.h +19 -0
  318. data/vendor/libgit2/src/streams/socket.c +55 -30
  319. data/vendor/libgit2/src/streams/stransport.c +57 -32
  320. data/vendor/libgit2/src/streams/stransport.h +5 -0
  321. data/vendor/libgit2/src/streams/tls.c +48 -20
  322. data/vendor/libgit2/src/streams/tls.h +12 -4
  323. data/vendor/libgit2/src/strmap.c +47 -74
  324. data/vendor/libgit2/src/strmap.h +108 -33
  325. data/vendor/libgit2/src/submodule.c +190 -169
  326. data/vendor/libgit2/src/submodule.h +1 -1
  327. data/vendor/libgit2/src/sysdir.c +25 -15
  328. data/vendor/libgit2/src/tag.c +39 -26
  329. data/vendor/libgit2/src/tag.h +2 -1
  330. data/vendor/libgit2/src/trace.c +2 -2
  331. data/vendor/libgit2/src/trace.h +2 -2
  332. data/vendor/libgit2/src/trailer.c +46 -32
  333. data/vendor/libgit2/src/transaction.c +30 -29
  334. data/vendor/libgit2/src/transport.c +3 -3
  335. data/vendor/libgit2/src/transports/auth.c +14 -10
  336. data/vendor/libgit2/src/transports/auth.h +10 -3
  337. data/vendor/libgit2/src/transports/auth_negotiate.c +31 -16
  338. data/vendor/libgit2/src/transports/auth_negotiate.h +2 -2
  339. data/vendor/libgit2/src/transports/auth_ntlm.c +223 -0
  340. data/vendor/libgit2/src/transports/auth_ntlm.h +35 -0
  341. data/vendor/libgit2/src/transports/cred.c +24 -24
  342. data/vendor/libgit2/src/transports/git.c +25 -30
  343. data/vendor/libgit2/src/transports/http.c +871 -335
  344. data/vendor/libgit2/src/transports/http.h +2 -0
  345. data/vendor/libgit2/src/transports/local.c +28 -28
  346. data/vendor/libgit2/src/transports/smart.c +64 -46
  347. data/vendor/libgit2/src/transports/smart.h +5 -6
  348. data/vendor/libgit2/src/transports/smart_pkt.c +162 -151
  349. data/vendor/libgit2/src/transports/smart_protocol.c +64 -94
  350. data/vendor/libgit2/src/transports/ssh.c +76 -65
  351. data/vendor/libgit2/src/transports/winhttp.c +328 -319
  352. data/vendor/libgit2/src/tree-cache.c +21 -14
  353. data/vendor/libgit2/src/tree.c +119 -112
  354. data/vendor/libgit2/src/tree.h +1 -0
  355. data/vendor/libgit2/src/unix/map.c +3 -3
  356. data/vendor/libgit2/src/unix/posix.h +1 -11
  357. data/vendor/libgit2/src/userdiff.h +3 -1
  358. data/vendor/libgit2/src/util.c +154 -93
  359. data/vendor/libgit2/src/util.h +19 -23
  360. data/vendor/libgit2/src/vector.c +15 -10
  361. data/vendor/libgit2/src/wildmatch.c +320 -0
  362. data/vendor/libgit2/src/wildmatch.h +23 -0
  363. data/vendor/libgit2/src/win32/dir.c +3 -3
  364. data/vendor/libgit2/src/win32/findfile.c +1 -1
  365. data/vendor/libgit2/src/win32/map.c +9 -11
  366. data/vendor/libgit2/src/win32/msvc-compat.h +6 -0
  367. data/vendor/libgit2/src/win32/path_w32.c +113 -9
  368. data/vendor/libgit2/src/win32/path_w32.h +18 -29
  369. data/vendor/libgit2/src/win32/posix.h +1 -4
  370. data/vendor/libgit2/src/win32/posix_w32.c +69 -44
  371. data/vendor/libgit2/src/win32/precompiled.h +0 -2
  372. data/vendor/libgit2/src/win32/thread.c +5 -10
  373. data/vendor/libgit2/src/win32/w32_buffer.c +9 -5
  374. data/vendor/libgit2/src/win32/w32_common.h +39 -0
  375. data/vendor/libgit2/src/win32/w32_crtdbg_stacktrace.c +2 -95
  376. data/vendor/libgit2/src/win32/w32_crtdbg_stacktrace.h +0 -2
  377. data/vendor/libgit2/src/win32/w32_stack.c +6 -11
  378. data/vendor/libgit2/src/win32/w32_stack.h +3 -3
  379. data/vendor/libgit2/src/win32/w32_util.c +27 -64
  380. data/vendor/libgit2/src/win32/w32_util.h +5 -49
  381. data/vendor/libgit2/src/worktree.c +44 -30
  382. data/vendor/libgit2/src/xdiff/xdiffi.c +5 -5
  383. data/vendor/libgit2/src/xdiff/xhistogram.c +1 -1
  384. data/vendor/libgit2/src/xdiff/xmerge.c +27 -15
  385. data/vendor/libgit2/src/xdiff/xpatience.c +3 -0
  386. data/vendor/libgit2/src/zstream.c +4 -4
  387. metadata +115 -38
  388. data/vendor/libgit2/deps/regex/CMakeLists.txt +0 -2
  389. data/vendor/libgit2/deps/regex/config.h +0 -7
  390. data/vendor/libgit2/deps/regex/regcomp.c +0 -3857
  391. data/vendor/libgit2/deps/regex/regex.c +0 -92
  392. data/vendor/libgit2/deps/regex/regex.h +0 -582
  393. data/vendor/libgit2/deps/regex/regex_internal.c +0 -1744
  394. data/vendor/libgit2/deps/regex/regex_internal.h +0 -819
  395. data/vendor/libgit2/deps/regex/regexec.c +0 -4369
  396. data/vendor/libgit2/include/git2/inttypes.h +0 -309
  397. data/vendor/libgit2/include/git2/sys/time.h +0 -31
  398. data/vendor/libgit2/libgit2.pc.in +0 -13
  399. data/vendor/libgit2/src/config_file.h +0 -73
  400. data/vendor/libgit2/src/fnmatch.c +0 -248
  401. data/vendor/libgit2/src/fnmatch.h +0 -48
  402. data/vendor/libgit2/src/hash/hash_collisiondetect.h +0 -47
  403. data/vendor/libgit2/src/hash/hash_openssl.h +0 -59
  404. data/vendor/libgit2/src/streams/curl.c +0 -385
  405. data/vendor/libgit2/src/streams/curl.h +0 -17
  406. /data/vendor/libgit2/deps/http-parser/{LICENSE-MIT → COPYING} +0 -0
  407. /data/vendor/libgit2/src/hash/{sha1dc → sha1/sha1dc}/sha1.h +0 -0
  408. /data/vendor/libgit2/src/hash/{sha1dc → sha1/sha1dc}/ubc_check.c +0 -0
  409. /data/vendor/libgit2/src/hash/{sha1dc → sha1/sha1dc}/ubc_check.h +0 -0
@@ -21,13 +21,10 @@ git_commit_list_node *git_revwalk__commit_lookup(
21
21
  git_revwalk *walk, const git_oid *oid)
22
22
  {
23
23
  git_commit_list_node *commit;
24
- khiter_t pos;
25
- int ret;
26
24
 
27
25
  /* lookup and reserve space if not already present */
28
- pos = git_oidmap_lookup_index(walk->commits, oid);
29
- if (git_oidmap_valid_index(walk->commits, pos))
30
- return git_oidmap_value_at(walk->commits, pos);
26
+ if ((commit = git_oidmap_get(walk->commits, oid)) != NULL)
27
+ return commit;
31
28
 
32
29
  commit = git_commit_list_alloc_node(walk);
33
30
  if (commit == NULL)
@@ -35,14 +32,13 @@ git_commit_list_node *git_revwalk__commit_lookup(
35
32
 
36
33
  git_oid_cpy(&commit->oid, oid);
37
34
 
38
- pos = git_oidmap_put(walk->commits, &commit->oid, &ret);
39
- assert(ret != 0);
40
- git_oidmap_set_value_at(walk->commits, pos, commit);
35
+ if ((git_oidmap_set(walk->commits, &commit->oid, commit)) < 0)
36
+ return NULL;
41
37
 
42
38
  return commit;
43
39
  }
44
40
 
45
- static int push_commit(git_revwalk *walk, const git_oid *oid, int uninteresting, int from_glob)
41
+ int git_revwalk__push_commit(git_revwalk *walk, const git_oid *oid, const git_revwalk__push_options *opts)
46
42
  {
47
43
  git_oid commit_id;
48
44
  int error;
@@ -50,18 +46,18 @@ static int push_commit(git_revwalk *walk, const git_oid *oid, int uninteresting,
50
46
  git_commit_list_node *commit;
51
47
  git_commit_list *list;
52
48
 
53
- if ((error = git_object_lookup(&oobj, walk->repo, oid, GIT_OBJ_ANY)) < 0)
49
+ if ((error = git_object_lookup(&oobj, walk->repo, oid, GIT_OBJECT_ANY)) < 0)
54
50
  return error;
55
51
 
56
- error = git_object_peel(&obj, oobj, GIT_OBJ_COMMIT);
52
+ error = git_object_peel(&obj, oobj, GIT_OBJECT_COMMIT);
57
53
  git_object_free(oobj);
58
54
 
59
55
  if (error == GIT_ENOTFOUND || error == GIT_EINVALIDSPEC || error == GIT_EPEEL) {
60
56
  /* If this comes from e.g. push_glob("tags"), ignore this */
61
- if (from_glob)
57
+ if (opts->from_glob)
62
58
  return 0;
63
59
 
64
- giterr_set(GITERR_INVALID, "object is not a committish");
60
+ git_error_set(GIT_ERROR_INVALID, "object is not a committish");
65
61
  return -1;
66
62
  }
67
63
  if (error < 0)
@@ -78,17 +74,19 @@ static int push_commit(git_revwalk *walk, const git_oid *oid, int uninteresting,
78
74
  if (commit->uninteresting)
79
75
  return 0;
80
76
 
81
- if (uninteresting) {
77
+ if (opts->uninteresting) {
82
78
  walk->limited = 1;
83
79
  walk->did_hide = 1;
84
80
  } else {
85
81
  walk->did_push = 1;
86
82
  }
87
83
 
88
- commit->uninteresting = uninteresting;
84
+ commit->uninteresting = opts->uninteresting;
89
85
  list = walk->user_input;
90
- if (git_commit_list_insert(commit, &list) == NULL) {
91
- giterr_set_oom();
86
+ if ((opts->insert_by_date &&
87
+ git_commit_list_insert_by_date(commit, &list) == NULL) ||
88
+ git_commit_list_insert(commit, &list) == NULL) {
89
+ git_error_set_oom();
92
90
  return -1;
93
91
  }
94
92
 
@@ -99,29 +97,36 @@ static int push_commit(git_revwalk *walk, const git_oid *oid, int uninteresting,
99
97
 
100
98
  int git_revwalk_push(git_revwalk *walk, const git_oid *oid)
101
99
  {
100
+ git_revwalk__push_options opts = GIT_REVWALK__PUSH_OPTIONS_INIT;
101
+
102
102
  assert(walk && oid);
103
- return push_commit(walk, oid, 0, false);
103
+
104
+ return git_revwalk__push_commit(walk, oid, &opts);
104
105
  }
105
106
 
106
107
 
107
108
  int git_revwalk_hide(git_revwalk *walk, const git_oid *oid)
108
109
  {
110
+ git_revwalk__push_options opts = GIT_REVWALK__PUSH_OPTIONS_INIT;
109
111
  assert(walk && oid);
110
- return push_commit(walk, oid, 1, false);
112
+
113
+ opts.uninteresting = 1;
114
+ return git_revwalk__push_commit(walk, oid, &opts);
111
115
  }
112
116
 
113
- static int push_ref(git_revwalk *walk, const char *refname, int hide, int from_glob)
117
+ int git_revwalk__push_ref(git_revwalk *walk, const char *refname, const git_revwalk__push_options *opts)
114
118
  {
115
119
  git_oid oid;
116
120
 
117
121
  if (git_reference_name_to_id(&oid, walk->repo, refname) < 0)
118
122
  return -1;
119
123
 
120
- return push_commit(walk, &oid, hide, from_glob);
124
+ return git_revwalk__push_commit(walk, &oid, opts);
121
125
  }
122
126
 
123
- static int push_glob(git_revwalk *walk, const char *glob, int hide)
127
+ int git_revwalk__push_glob(git_revwalk *walk, const char *glob, const git_revwalk__push_options *given_opts)
124
128
  {
129
+ git_revwalk__push_options opts = GIT_REVWALK__PUSH_OPTIONS_INIT;
125
130
  int error = 0;
126
131
  git_buf buf = GIT_BUF_INIT;
127
132
  git_reference *ref;
@@ -130,12 +135,15 @@ static int push_glob(git_revwalk *walk, const char *glob, int hide)
130
135
 
131
136
  assert(walk && glob);
132
137
 
138
+ if (given_opts)
139
+ memcpy(&opts, given_opts, sizeof(opts));
140
+
133
141
  /* refs/ is implied if not given in the glob */
134
142
  if (git__prefixcmp(glob, GIT_REFS_DIR) != 0)
135
143
  git_buf_joinpath(&buf, GIT_REFS_DIR, glob);
136
144
  else
137
145
  git_buf_puts(&buf, glob);
138
- GITERR_CHECK_ALLOC_BUF(&buf);
146
+ GIT_ERROR_CHECK_ALLOC_BUF(&buf);
139
147
 
140
148
  /* If no '?', '*' or '[' exist, we append '/ *' to the glob */
141
149
  wildcard = strcspn(glob, "?*[");
@@ -145,8 +153,9 @@ static int push_glob(git_revwalk *walk, const char *glob, int hide)
145
153
  if ((error = git_reference_iterator_glob_new(&iter, walk->repo, buf.ptr)) < 0)
146
154
  goto out;
147
155
 
156
+ opts.from_glob = true;
148
157
  while ((error = git_reference_next(&ref, iter)) == 0) {
149
- error = push_ref(walk, git_reference_name(ref), hide, true);
158
+ error = git_revwalk__push_ref(walk, git_reference_name(ref), &opts);
150
159
  git_reference_free(ref);
151
160
  if (error < 0)
152
161
  break;
@@ -162,52 +171,74 @@ out:
162
171
 
163
172
  int git_revwalk_push_glob(git_revwalk *walk, const char *glob)
164
173
  {
174
+ git_revwalk__push_options opts = GIT_REVWALK__PUSH_OPTIONS_INIT;
165
175
  assert(walk && glob);
166
- return push_glob(walk, glob, 0);
176
+
177
+ return git_revwalk__push_glob(walk, glob, &opts);
167
178
  }
168
179
 
169
180
  int git_revwalk_hide_glob(git_revwalk *walk, const char *glob)
170
181
  {
182
+ git_revwalk__push_options opts = GIT_REVWALK__PUSH_OPTIONS_INIT;
171
183
  assert(walk && glob);
172
- return push_glob(walk, glob, 1);
184
+
185
+ opts.uninteresting = 1;
186
+ return git_revwalk__push_glob(walk, glob, &opts);
173
187
  }
174
188
 
175
189
  int git_revwalk_push_head(git_revwalk *walk)
176
190
  {
191
+ git_revwalk__push_options opts = GIT_REVWALK__PUSH_OPTIONS_INIT;
177
192
  assert(walk);
178
- return push_ref(walk, GIT_HEAD_FILE, 0, false);
193
+
194
+ return git_revwalk__push_ref(walk, GIT_HEAD_FILE, &opts);
179
195
  }
180
196
 
181
197
  int git_revwalk_hide_head(git_revwalk *walk)
182
198
  {
199
+ git_revwalk__push_options opts = GIT_REVWALK__PUSH_OPTIONS_INIT;
183
200
  assert(walk);
184
- return push_ref(walk, GIT_HEAD_FILE, 1, false);
201
+
202
+ opts.uninteresting = 1;
203
+ return git_revwalk__push_ref(walk, GIT_HEAD_FILE, &opts);
185
204
  }
186
205
 
187
206
  int git_revwalk_push_ref(git_revwalk *walk, const char *refname)
188
207
  {
208
+ git_revwalk__push_options opts = GIT_REVWALK__PUSH_OPTIONS_INIT;
189
209
  assert(walk && refname);
190
- return push_ref(walk, refname, 0, false);
210
+
211
+ return git_revwalk__push_ref(walk, refname, &opts);
191
212
  }
192
213
 
193
214
  int git_revwalk_push_range(git_revwalk *walk, const char *range)
194
215
  {
216
+ git_revwalk__push_options opts = GIT_REVWALK__PUSH_OPTIONS_INIT;
195
217
  git_revspec revspec;
196
218
  int error = 0;
197
219
 
198
220
  if ((error = git_revparse(&revspec, walk->repo, range)))
199
221
  return error;
200
222
 
223
+ if (!revspec.to) {
224
+ git_error_set(GIT_ERROR_INVALID, "invalid revspec: range not provided");
225
+ error = GIT_EINVALIDSPEC;
226
+ goto out;
227
+ }
228
+
201
229
  if (revspec.flags & GIT_REVPARSE_MERGE_BASE) {
202
230
  /* TODO: support "<commit>...<commit>" */
203
- giterr_set(GITERR_INVALID, "symmetric differences not implemented in revwalk");
204
- return GIT_EINVALIDSPEC;
231
+ git_error_set(GIT_ERROR_INVALID, "symmetric differences not implemented in revwalk");
232
+ error = GIT_EINVALIDSPEC;
233
+ goto out;
205
234
  }
206
235
 
207
- if ((error = push_commit(walk, git_object_id(revspec.from), 1, false)))
236
+ opts.uninteresting = 1;
237
+ if ((error = git_revwalk__push_commit(walk, git_object_id(revspec.from), &opts)))
208
238
  goto out;
209
239
 
210
- error = push_commit(walk, git_object_id(revspec.to), 0, false);
240
+ opts.uninteresting = 0;
241
+ error = git_revwalk__push_commit(walk, git_object_id(revspec.to), &opts);
211
242
 
212
243
  out:
213
244
  git_object_free(revspec.from);
@@ -217,8 +248,10 @@ out:
217
248
 
218
249
  int git_revwalk_hide_ref(git_revwalk *walk, const char *refname)
219
250
  {
251
+ git_revwalk__push_options opts = GIT_REVWALK__PUSH_OPTIONS_INIT;
220
252
  assert(walk && refname);
221
- return push_ref(walk, refname, 1, false);
253
+ opts.uninteresting = 1;
254
+ return git_revwalk__push_ref(walk, refname, &opts);
222
255
  }
223
256
 
224
257
  static int revwalk_enqueue_timesort(git_revwalk *walk, git_commit_list_node *commit)
@@ -243,7 +276,7 @@ static int revwalk_next_timesort(git_commit_list_node **object_out, git_revwalk
243
276
  }
244
277
  }
245
278
 
246
- giterr_clear();
279
+ git_error_clear();
247
280
  return GIT_ITEROVER;
248
281
  }
249
282
 
@@ -388,10 +421,16 @@ static int still_interesting(git_commit_list *list, int64_t time, int slop)
388
421
  if (!list)
389
422
  return 0;
390
423
 
424
+ /*
425
+ * If the destination list has commits with an earlier date than our
426
+ * source, we want to reset the slop counter as we're not done.
427
+ */
428
+ if (time <= list->item->time)
429
+ return SLOP;
430
+
391
431
  for (; list; list = list->next) {
392
432
  /*
393
- * If the destination list has commits with an earlier date than
394
- * our source or if it still contains interesting commits we
433
+ * If the destination list still contains interesting commits we
395
434
  * want to continue looking.
396
435
  */
397
436
  if (!list->item->uninteresting || list->item->time > time)
@@ -405,7 +444,7 @@ static int still_interesting(git_commit_list *list, int64_t time, int slop)
405
444
  static int limit_list(git_commit_list **out, git_revwalk *walk, git_commit_list *commits)
406
445
  {
407
446
  int error, slop = SLOP;
408
- int64_t time = ~0ll;
447
+ int64_t time = INT64_MAX;
409
448
  git_commit_list *list = commits;
410
449
  git_commit_list *newlist = NULL;
411
450
  git_commit_list **p = &newlist;
@@ -426,8 +465,8 @@ static int limit_list(git_commit_list **out, git_revwalk *walk, git_commit_list
426
465
  break;
427
466
  }
428
467
 
429
- if (!commit->uninteresting && walk->hide_cb && walk->hide_cb(&commit->oid, walk->hide_cb_payload))
430
- continue;
468
+ if (walk->hide_cb && walk->hide_cb(&commit->oid, walk->hide_cb_payload))
469
+ continue;
431
470
 
432
471
  time = commit->time;
433
472
  p = &git_commit_list_insert(commit, p)->next;
@@ -445,7 +484,7 @@ static int get_revision(git_commit_list_node **out, git_revwalk *walk, git_commi
445
484
 
446
485
  commit = git_commit_list_pop(list);
447
486
  if (!commit) {
448
- giterr_clear();
487
+ git_error_clear();
449
488
  return GIT_ITEROVER;
450
489
  }
451
490
 
@@ -550,13 +589,13 @@ cleanup:
550
589
 
551
590
  static int prepare_walk(git_revwalk *walk)
552
591
  {
553
- int error;
592
+ int error = 0;
554
593
  git_commit_list *list, *commits = NULL;
555
594
  git_commit_list_node *next;
556
595
 
557
596
  /* If there were no pushes, we know that the walk is already over */
558
597
  if (!walk->did_push) {
559
- giterr_clear();
598
+ git_error_clear();
560
599
  return GIT_ITEROVER;
561
600
  }
562
601
 
@@ -618,10 +657,10 @@ static int prepare_walk(git_revwalk *walk)
618
657
  int git_revwalk_new(git_revwalk **revwalk_out, git_repository *repo)
619
658
  {
620
659
  git_revwalk *walk = git__calloc(1, sizeof(git_revwalk));
621
- GITERR_CHECK_ALLOC(walk);
660
+ GIT_ERROR_CHECK_ALLOC(walk);
622
661
 
623
- walk->commits = git_oidmap_alloc();
624
- GITERR_CHECK_ALLOC(walk->commits);
662
+ if (git_oidmap_new(&walk->commits) < 0)
663
+ return -1;
625
664
 
626
665
  if (git_pqueue_init(&walk->iterator_time, 0, 8, git_commit_list_time_cmp) < 0)
627
666
  return -1;
@@ -703,7 +742,7 @@ int git_revwalk_next(git_oid *oid, git_revwalk *walk)
703
742
 
704
743
  if (error == GIT_ITEROVER) {
705
744
  git_revwalk_reset(walk);
706
- giterr_clear();
745
+ git_error_clear();
707
746
  return GIT_ITEROVER;
708
747
  }
709
748
 
@@ -750,15 +789,11 @@ int git_revwalk_add_hide_cb(
750
789
  if (walk->walking)
751
790
  git_revwalk_reset(walk);
752
791
 
753
- if (walk->hide_cb) {
754
- /* There is already a callback added */
755
- giterr_set(GITERR_INVALID, "there is already a callback added to hide commits in revwalk");
756
- return -1;
757
- }
758
-
759
792
  walk->hide_cb = hide_cb;
760
793
  walk->hide_cb_payload = payload;
761
- walk->limited = 1;
794
+
795
+ if (hide_cb)
796
+ walk->limited = 1;
762
797
 
763
798
  return 0;
764
799
  }
@@ -50,4 +50,24 @@ struct git_revwalk {
50
50
 
51
51
  git_commit_list_node *git_revwalk__commit_lookup(git_revwalk *walk, const git_oid *oid);
52
52
 
53
+ typedef struct {
54
+ int uninteresting;
55
+ int from_glob;
56
+ int insert_by_date;
57
+ } git_revwalk__push_options;
58
+
59
+ #define GIT_REVWALK__PUSH_OPTIONS_INIT { 0 }
60
+
61
+ int git_revwalk__push_commit(git_revwalk *walk,
62
+ const git_oid *oid,
63
+ const git_revwalk__push_options *opts);
64
+
65
+ int git_revwalk__push_ref(git_revwalk *walk,
66
+ const char *refname,
67
+ const git_revwalk__push_options *opts);
68
+
69
+ int git_revwalk__push_glob(git_revwalk *walk,
70
+ const char *glob,
71
+ const git_revwalk__push_options *given_opts);
72
+
53
73
  #endif
@@ -56,6 +56,8 @@ int git_libgit2_features(void)
56
56
  /* Declarations for tuneable settings */
57
57
  extern size_t git_mwindow__window_size;
58
58
  extern size_t git_mwindow__mapped_limit;
59
+ extern size_t git_indexer__max_objects;
60
+ extern bool git_disable_pack_keep_file_checks;
59
61
 
60
62
  static int config_level_to_sysdir(int config_level)
61
63
  {
@@ -75,8 +77,8 @@ static int config_level_to_sysdir(int config_level)
75
77
  val = GIT_SYSDIR_PROGRAMDATA;
76
78
  break;
77
79
  default:
78
- giterr_set(
79
- GITERR_INVALID, "invalid config path selector %d", config_level);
80
+ git_error_set(
81
+ GIT_ERROR_INVALID, "invalid config path selector %d", config_level);
80
82
  }
81
83
 
82
84
  return val;
@@ -139,7 +141,7 @@ int git_libgit2_opts(int key, ...)
139
141
 
140
142
  case GIT_OPT_SET_CACHE_OBJECT_LIMIT:
141
143
  {
142
- git_otype type = (git_otype)va_arg(ap, int);
144
+ git_object_t type = (git_object_t)va_arg(ap, int);
143
145
  size_t size = va_arg(ap, size_t);
144
146
  error = git_cache_set_max_object_size(type, size);
145
147
  break;
@@ -192,7 +194,7 @@ int git_libgit2_opts(int key, ...)
192
194
  error = git_mbedtls__set_cert_location(path, 1);
193
195
  }
194
196
  #else
195
- giterr_set(GITERR_SSL, "TLS backend doesn't support certificate locations");
197
+ git_error_set(GIT_ERROR_SSL, "TLS backend doesn't support certificate locations");
196
198
  error = -1;
197
199
  #endif
198
200
  break;
@@ -200,7 +202,7 @@ int git_libgit2_opts(int key, ...)
200
202
  git__free(git__user_agent);
201
203
  git__user_agent = git__strdup(va_arg(ap, const char *));
202
204
  if (!git__user_agent) {
203
- giterr_set_oom();
205
+ git_error_set_oom();
204
206
  error = -1;
205
207
  }
206
208
 
@@ -220,12 +222,12 @@ int git_libgit2_opts(int key, ...)
220
222
  git__free(git__ssl_ciphers);
221
223
  git__ssl_ciphers = git__strdup(va_arg(ap, const char *));
222
224
  if (!git__ssl_ciphers) {
223
- giterr_set_oom();
225
+ git_error_set_oom();
224
226
  error = -1;
225
227
  }
226
228
  }
227
229
  #else
228
- giterr_set(GITERR_SSL, "TLS backend doesn't support custom ciphers");
230
+ git_error_set(GIT_ERROR_SSL, "TLS backend doesn't support custom ciphers");
229
231
  error = -1;
230
232
  #endif
231
233
  break;
@@ -270,8 +272,20 @@ int git_libgit2_opts(int key, ...)
270
272
  git_index__enforce_unsaved_safety = (va_arg(ap, int) != 0);
271
273
  break;
272
274
 
275
+ case GIT_OPT_SET_PACK_MAX_OBJECTS:
276
+ git_indexer__max_objects = va_arg(ap, size_t);
277
+ break;
278
+
279
+ case GIT_OPT_GET_PACK_MAX_OBJECTS:
280
+ *(va_arg(ap, size_t *)) = git_indexer__max_objects;
281
+ break;
282
+
283
+ case GIT_OPT_DISABLE_PACK_KEEP_FILE_CHECKS:
284
+ git_disable_pack_keep_file_checks = (va_arg(ap, int) != 0);
285
+ break;
286
+
273
287
  default:
274
- giterr_set(GITERR_INVALID, "invalid option key");
288
+ git_error_set(GIT_ERROR_INVALID, "invalid option key");
275
289
  error = -1;
276
290
  }
277
291
 
@@ -279,4 +293,3 @@ int git_libgit2_opts(int key, ...)
279
293
 
280
294
  return error;
281
295
  }
282
-
@@ -25,7 +25,7 @@ void git_signature_free(git_signature *sig)
25
25
 
26
26
  static int signature_error(const char *msg)
27
27
  {
28
- giterr_set(GITERR_INVALID, "failed to parse signature - %s", msg);
28
+ git_error_set(GIT_ERROR_INVALID, "failed to parse signature - %s", msg);
29
29
  return -1;
30
30
  }
31
31
 
@@ -76,12 +76,12 @@ int git_signature_new(git_signature **sig_out, const char *name, const char *ema
76
76
  }
77
77
 
78
78
  p = git__calloc(1, sizeof(git_signature));
79
- GITERR_CHECK_ALLOC(p);
79
+ GIT_ERROR_CHECK_ALLOC(p);
80
80
 
81
81
  p->name = extract_trimmed(name, strlen(name));
82
- GITERR_CHECK_ALLOC(p->name);
82
+ GIT_ERROR_CHECK_ALLOC(p->name);
83
83
  p->email = extract_trimmed(email, strlen(email));
84
- GITERR_CHECK_ALLOC(p->email);
84
+ GIT_ERROR_CHECK_ALLOC(p->email);
85
85
 
86
86
  if (p->name[0] == '\0' || p->email[0] == '\0') {
87
87
  git_signature_free(p);
@@ -104,13 +104,13 @@ int git_signature_dup(git_signature **dest, const git_signature *source)
104
104
  return 0;
105
105
 
106
106
  signature = git__calloc(1, sizeof(git_signature));
107
- GITERR_CHECK_ALLOC(signature);
107
+ GIT_ERROR_CHECK_ALLOC(signature);
108
108
 
109
109
  signature->name = git__strdup(source->name);
110
- GITERR_CHECK_ALLOC(signature->name);
110
+ GIT_ERROR_CHECK_ALLOC(signature->name);
111
111
 
112
112
  signature->email = git__strdup(source->email);
113
- GITERR_CHECK_ALLOC(signature->email);
113
+ GIT_ERROR_CHECK_ALLOC(signature->email);
114
114
 
115
115
  signature->when.time = source->when.time;
116
116
  signature->when.offset = source->when.offset;
@@ -129,13 +129,13 @@ int git_signature__pdup(git_signature **dest, const git_signature *source, git_p
129
129
  return 0;
130
130
 
131
131
  signature = git_pool_mallocz(pool, sizeof(git_signature));
132
- GITERR_CHECK_ALLOC(signature);
132
+ GIT_ERROR_CHECK_ALLOC(signature);
133
133
 
134
134
  signature->name = git_pool_strdup(pool, source->name);
135
- GITERR_CHECK_ALLOC(signature->name);
135
+ GIT_ERROR_CHECK_ALLOC(signature->name);
136
136
 
137
137
  signature->email = git_pool_strdup(pool, source->email);
138
- GITERR_CHECK_ALLOC(signature->email);
138
+ GIT_ERROR_CHECK_ALLOC(signature->email);
139
139
 
140
140
  signature->when.time = source->when.time;
141
141
  signature->when.offset = source->when.offset;
@@ -231,7 +231,8 @@ int git_signature__parse(git_signature *sig, const char **buffer_out,
231
231
  const char *time_start = email_end + 2;
232
232
  const char *time_end;
233
233
 
234
- if (git__strtol64(&sig->when.time, time_start, &time_end, 10) < 0) {
234
+ if (git__strntol64(&sig->when.time, time_start,
235
+ buffer_end - time_start, &time_end, 10) < 0) {
235
236
  git__free(sig->name);
236
237
  git__free(sig->email);
237
238
  sig->name = sig->email = NULL;
@@ -246,7 +247,8 @@ int git_signature__parse(git_signature *sig, const char **buffer_out,
246
247
  tz_start = time_end + 1;
247
248
 
248
249
  if ((tz_start[0] != '-' && tz_start[0] != '+') ||
249
- git__strtol32(&offset, tz_start + 1, &tz_end, 10) < 0) {
250
+ git__strntol32(&offset, tz_start + 1,
251
+ buffer_end - tz_start - 1, &tz_end, 10) < 0) {
250
252
  /* malformed timezone, just assume it's zero */
251
253
  offset = 0;
252
254
  }
@@ -282,7 +284,7 @@ int git_signature_from_buffer(git_signature **out, const char *buf)
282
284
  *out = NULL;
283
285
 
284
286
  sig = git__calloc(1, sizeof(git_signature));
285
- GITERR_CHECK_ALLOC(sig);
287
+ GIT_ERROR_CHECK_ALLOC(sig);
286
288
 
287
289
  buf_end = buf + strlen(buf);
288
290
  error = git_signature__parse(sig, &buf, buf_end, NULL, '\0');