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
@@ -67,7 +67,7 @@ GIT_BEGIN_DECL
67
67
  * To emulate `git checkout -f`, use `GIT_CHECKOUT_FORCE`.
68
68
  *
69
69
  *
70
- * There are some additional flags to modified the behavior of checkout:
70
+ * There are some additional flags to modify the behavior of checkout:
71
71
  *
72
72
  * - GIT_CHECKOUT_ALLOW_CONFLICTS makes SAFE mode apply safe file updates
73
73
  * even if there are conflicts (instead of cancelling the checkout).
@@ -106,10 +106,22 @@ GIT_BEGIN_DECL
106
106
  typedef enum {
107
107
  GIT_CHECKOUT_NONE = 0, /**< default is a dry run, no actual updates */
108
108
 
109
- /** Allow safe updates that cannot overwrite uncommitted data */
109
+ /**
110
+ * Allow safe updates that cannot overwrite uncommitted data.
111
+ * If the uncommitted changes don't conflict with the checked out files,
112
+ * the checkout will still proceed, leaving the changes intact.
113
+ *
114
+ * Mutually exclusive with GIT_CHECKOUT_FORCE.
115
+ * GIT_CHECKOUT_FORCE takes precedence over GIT_CHECKOUT_SAFE.
116
+ */
110
117
  GIT_CHECKOUT_SAFE = (1u << 0),
111
118
 
112
- /** Allow all updates to force working directory to look like index */
119
+ /**
120
+ * Allow all updates to force working directory to look like index.
121
+ *
122
+ * Mutually exclusive with GIT_CHECKOUT_SAFE.
123
+ * GIT_CHECKOUT_FORCE takes precedence over GIT_CHECKOUT_SAFE.
124
+ */
113
125
  GIT_CHECKOUT_FORCE = (1u << 1),
114
126
 
115
127
 
@@ -213,6 +225,7 @@ typedef enum {
213
225
  GIT_CHECKOUT_NOTIFY_ALL = 0x0FFFFu
214
226
  } git_checkout_notify_t;
215
227
 
228
+ /** Checkout performance-reporting structure */
216
229
  typedef struct {
217
230
  size_t mkdir_calls;
218
231
  size_t stat_calls;
@@ -220,7 +233,7 @@ typedef struct {
220
233
  } git_checkout_perfdata;
221
234
 
222
235
  /** Checkout notification callback function */
223
- typedef int (*git_checkout_notify_cb)(
236
+ typedef int GIT_CALLBACK(git_checkout_notify_cb)(
224
237
  git_checkout_notify_t why,
225
238
  const char *path,
226
239
  const git_diff_file *baseline,
@@ -229,14 +242,14 @@ typedef int (*git_checkout_notify_cb)(
229
242
  void *payload);
230
243
 
231
244
  /** Checkout progress notification function */
232
- typedef void (*git_checkout_progress_cb)(
245
+ typedef void GIT_CALLBACK(git_checkout_progress_cb)(
233
246
  const char *path,
234
247
  size_t completed_steps,
235
248
  size_t total_steps,
236
249
  void *payload);
237
250
 
238
251
  /** Checkout perfdata notification function */
239
- typedef void (*git_checkout_perfdata_cb)(
252
+ typedef void GIT_CALLBACK(git_checkout_perfdata_cb)(
240
253
  const git_checkout_perfdata *perfdata,
241
254
  void *payload);
242
255
 
@@ -244,11 +257,11 @@ typedef void (*git_checkout_perfdata_cb)(
244
257
  * Checkout options structure
245
258
  *
246
259
  * Initialize with `GIT_CHECKOUT_OPTIONS_INIT`. Alternatively, you can
247
- * use `git_checkout_init_options`.
260
+ * use `git_checkout_options_init`.
248
261
  *
249
262
  */
250
263
  typedef struct git_checkout_options {
251
- unsigned int version;
264
+ unsigned int version; /**< The version */
252
265
 
253
266
  unsigned int checkout_strategy; /**< default will be a safe checkout */
254
267
 
@@ -258,29 +271,46 @@ typedef struct git_checkout_options {
258
271
  int file_open_flags; /**< default is O_CREAT | O_TRUNC | O_WRONLY */
259
272
 
260
273
  unsigned int notify_flags; /**< see `git_checkout_notify_t` above */
274
+
275
+ /**
276
+ * Optional callback to get notifications on specific file states.
277
+ * @see git_checkout_notify_t
278
+ */
261
279
  git_checkout_notify_cb notify_cb;
280
+
281
+ /** Payload passed to notify_cb */
262
282
  void *notify_payload;
263
283
 
264
284
  /** Optional callback to notify the consumer of checkout progress. */
265
285
  git_checkout_progress_cb progress_cb;
286
+
287
+ /** Payload passed to progress_cb */
266
288
  void *progress_payload;
267
289
 
268
- /** When not zeroed out, array of fnmatch patterns specifying which
269
- * paths should be taken into account, otherwise all files. Use
270
- * GIT_CHECKOUT_DISABLE_PATHSPEC_MATCH to treat as simple list.
290
+ /**
291
+ * A list of wildmatch patterns or paths.
292
+ *
293
+ * By default, all paths are processed. If you pass an array of wildmatch
294
+ * patterns, those will be used to filter which paths should be taken into
295
+ * account.
296
+ *
297
+ * Use GIT_CHECKOUT_DISABLE_PATHSPEC_MATCH to treat as a simple list.
271
298
  */
272
299
  git_strarray paths;
273
300
 
274
- /** The expected content of the working directory; defaults to HEAD.
275
- * If the working directory does not match this baseline information,
276
- * that will produce a checkout conflict.
301
+ /**
302
+ * The expected content of the working directory; defaults to HEAD.
303
+ *
304
+ * If the working directory does not match this baseline information,
305
+ * that will produce a checkout conflict.
277
306
  */
278
307
  git_tree *baseline;
279
308
 
280
- /** Like `baseline` above, though expressed as an index. This
281
- * option overrides `baseline`.
309
+ /**
310
+ * Like `baseline` above, though expressed as an index. This
311
+ * option overrides `baseline`.
282
312
  */
283
- git_index *baseline_index; /**< expected content of workdir, expressed as an index. */
313
+ git_index *baseline_index;
284
314
 
285
315
  const char *target_directory; /**< alternative checkout path to workdir */
286
316
 
@@ -290,6 +320,8 @@ typedef struct git_checkout_options {
290
320
 
291
321
  /** Optional callback to notify the consumer of performance data. */
292
322
  git_checkout_perfdata_cb perfdata_cb;
323
+
324
+ /** Payload passed to perfdata_cb */
293
325
  void *perfdata_payload;
294
326
  } git_checkout_options;
295
327
 
@@ -306,7 +338,7 @@ typedef struct git_checkout_options {
306
338
  * @param version The struct version; pass `GIT_CHECKOUT_OPTIONS_VERSION`.
307
339
  * @return Zero on success; -1 on failure.
308
340
  */
309
- GIT_EXTERN(int) git_checkout_init_options(
341
+ GIT_EXTERN(int) git_checkout_options_init(
310
342
  git_checkout_options *opts,
311
343
  unsigned int version);
312
344
 
@@ -325,7 +357,7 @@ GIT_EXTERN(int) git_checkout_init_options(
325
357
  * @param opts specifies checkout options (may be NULL)
326
358
  * @return 0 on success, GIT_EUNBORNBRANCH if HEAD points to a non
327
359
  * existing branch, non-zero value returned by `notify_cb`, or
328
- * other error code < 0 (use giterr_last for error details)
360
+ * other error code < 0 (use git_error_last for error details)
329
361
  */
330
362
  GIT_EXTERN(int) git_checkout_head(
331
363
  git_repository *repo,
@@ -338,7 +370,7 @@ GIT_EXTERN(int) git_checkout_head(
338
370
  * @param index index to be checked out (or NULL to use repository index)
339
371
  * @param opts specifies checkout options (may be NULL)
340
372
  * @return 0 on success, non-zero return value from `notify_cb`, or error
341
- * code < 0 (use giterr_last for error details)
373
+ * code < 0 (use git_error_last for error details)
342
374
  */
343
375
  GIT_EXTERN(int) git_checkout_index(
344
376
  git_repository *repo,
@@ -354,7 +386,7 @@ GIT_EXTERN(int) git_checkout_index(
354
386
  * the working directory (or NULL to use HEAD)
355
387
  * @param opts specifies checkout options (may be NULL)
356
388
  * @return 0 on success, non-zero return value from `notify_cb`, or error
357
- * code < 0 (use giterr_last for error details)
389
+ * code < 0 (use git_error_last for error details)
358
390
  */
359
391
  GIT_EXTERN(int) git_checkout_tree(
360
392
  git_repository *repo,
@@ -46,7 +46,7 @@ typedef struct {
46
46
  * @param version The struct version; pass `GIT_CHERRYPICK_OPTIONS_VERSION`.
47
47
  * @return Zero on success; -1 on failure.
48
48
  */
49
- GIT_EXTERN(int) git_cherrypick_init_options(
49
+ GIT_EXTERN(int) git_cherrypick_options_init(
50
50
  git_cherrypick_options *opts,
51
51
  unsigned int version);
52
52
 
@@ -59,8 +59,8 @@ GIT_EXTERN(int) git_cherrypick_init_options(
59
59
  * @param out pointer to store the index result in
60
60
  * @param repo the repository that contains the given commits
61
61
  * @param cherrypick_commit the commit to cherry-pick
62
- * @param our_commit the commit to revert against (eg, HEAD)
63
- * @param mainline the parent of the revert commit, if it is a merge
62
+ * @param our_commit the commit to cherry-pick against (eg, HEAD)
63
+ * @param mainline the parent of the `cherrypick_commit`, if it is a merge
64
64
  * @param merge_options the merge options (or null for defaults)
65
65
  * @return zero on success, -1 on failure.
66
66
  */
@@ -66,7 +66,7 @@ typedef enum {
66
66
  * @param payload an opaque payload
67
67
  * @return 0, GIT_EINVALIDSPEC, GIT_EEXISTS or an error code
68
68
  */
69
- typedef int (*git_remote_create_cb)(
69
+ typedef int GIT_CALLBACK(git_remote_create_cb)(
70
70
  git_remote **out,
71
71
  git_repository *repo,
72
72
  const char *name,
@@ -87,7 +87,7 @@ typedef int (*git_remote_create_cb)(
87
87
  * @param payload payload specified by the options
88
88
  * @return 0, or a negative value to indicate error
89
89
  */
90
- typedef int (*git_repository_create_cb)(
90
+ typedef int GIT_CALLBACK(git_repository_create_cb)(
91
91
  git_repository **out,
92
92
  const char *path,
93
93
  int bare,
@@ -97,7 +97,7 @@ typedef int (*git_repository_create_cb)(
97
97
  * Clone options structure
98
98
  *
99
99
  * Initialize with `GIT_CLONE_OPTIONS_INIT`. Alternatively, you can
100
- * use `git_clone_init_options`.
100
+ * use `git_clone_options_init`.
101
101
  *
102
102
  */
103
103
  typedef struct git_clone_options {
@@ -178,7 +178,7 @@ typedef struct git_clone_options {
178
178
  * @param version The struct version; pass `GIT_CLONE_OPTIONS_VERSION`.
179
179
  * @return Zero on success; -1 on failure.
180
180
  */
181
- GIT_EXTERN(int) git_clone_init_options(
181
+ GIT_EXTERN(int) git_clone_options_init(
182
182
  git_clone_options *opts,
183
183
  unsigned int version);
184
184
 
@@ -196,7 +196,7 @@ GIT_EXTERN(int) git_clone_init_options(
196
196
  * function works as though GIT_OPTIONS_INIT were passed.
197
197
  * @return 0 on success, any non-zero return value from a callback
198
198
  * function, or a negative value to indicate an error (use
199
- * `giterr_last` for a detailed error message)
199
+ * `git_error_last` for a detailed error message)
200
200
  */
201
201
  GIT_EXTERN(int) git_clone(
202
202
  git_repository **out,
@@ -296,8 +296,8 @@ GIT_EXTERN(int) git_commit_header_field(git_buf *out, const git_commit *commit,
296
296
  * Extract the signature from a commit
297
297
  *
298
298
  * If the id is not for a commit, the error class will be
299
- * `GITERR_INVALID`. If the commit does not have a signature, the
300
- * error class will be `GITERR_OBJECT`.
299
+ * `GIT_ERROR_INVALID`. If the commit does not have a signature, the
300
+ * error class will be `GIT_ERROR_OBJECT`.
301
301
  *
302
302
  * @param signature the signature block; existing content will be
303
303
  * overwritten
@@ -480,7 +480,8 @@ GIT_EXTERN(int) git_commit_create_buffer(
480
480
  *
481
481
  * @param out the resulting commit id
482
482
  * @param commit_content the content of the unsigned commit object
483
- * @param signature the signature to add to the commit
483
+ * @param signature the signature to add to the commit. Leave `NULL`
484
+ * to create a commit without adding a signature field.
484
485
  * @param signature_field which header field should contain this
485
486
  * signature. Leave `NULL` for the default of "gpgsig"
486
487
  * @return 0 or an error code
@@ -501,6 +502,27 @@ GIT_EXTERN(int) git_commit_create_with_signature(
501
502
  */
502
503
  GIT_EXTERN(int) git_commit_dup(git_commit **out, git_commit *source);
503
504
 
505
+ /**
506
+ * Commit signing callback.
507
+ *
508
+ * The callback will be called with the commit content, giving a user an
509
+ * opportunity to sign the commit content. The signature_field
510
+ * buf may be left empty to specify the default field "gpgsig".
511
+ *
512
+ * Signatures can take the form of any string, and can be created on an arbitrary
513
+ * header field. Signatures are most commonly used for verifying authorship of a
514
+ * commit using GPG or a similar cryptographically secure signing algorithm.
515
+ * See https://git-scm.com/book/en/v2/Git-Tools-Signing-Your-Work for more
516
+ * details.
517
+ *
518
+ * When the callback:
519
+ * - returns GIT_PASSTHROUGH, no signature will be added to the commit.
520
+ * - returns < 0, commit creation will be aborted.
521
+ * - returns GIT_OK, the signature parameter is expected to be filled.
522
+ */
523
+ typedef int (*git_commit_signing_cb)(
524
+ git_buf *signature, git_buf *signature_field, const char *commit_content, void *payload);
525
+
504
526
  /** @} */
505
527
  GIT_END_DECL
506
528
  #endif
@@ -21,10 +21,7 @@
21
21
  #endif
22
22
 
23
23
  #if defined(_MSC_VER) && _MSC_VER < 1800
24
- GIT_BEGIN_DECL
25
- # include "inttypes.h"
26
- GIT_END_DECL
27
- /** This check is needed for importing this file in an iOS/OS X framework throws an error in Xcode otherwise.*/
24
+ # include <stdint.h>
28
25
  #elif !defined(__CLANG_INTTYPES_H)
29
26
  # include <inttypes.h>
30
27
  #endif
@@ -43,15 +40,23 @@ typedef size_t size_t;
43
40
  __attribute__((visibility("default"))) \
44
41
  type
45
42
  #elif defined(_MSC_VER)
46
- # define GIT_EXTERN(type) __declspec(dllexport) type
43
+ # define GIT_EXTERN(type) __declspec(dllexport) type __cdecl
47
44
  #else
48
45
  # define GIT_EXTERN(type) extern type
49
46
  #endif
50
47
 
48
+ /** Declare a callback function for application use. */
49
+ #if defined(_MSC_VER)
50
+ # define GIT_CALLBACK(name) (__cdecl *name)
51
+ #else
52
+ # define GIT_CALLBACK(name) (*name)
53
+ #endif
54
+
51
55
  /** Declare a function as deprecated. */
52
56
  #if defined(__GNUC__)
53
57
  # define GIT_DEPRECATED(func) \
54
58
  __attribute__((deprecated)) \
59
+ __attribute__((used)) \
55
60
  func
56
61
  #elif defined(_MSC_VER)
57
62
  # define GIT_DEPRECATED(func) __declspec(deprecated) func
@@ -195,7 +200,10 @@ typedef enum {
195
200
  GIT_OPT_SET_WINDOWS_SHAREMODE,
196
201
  GIT_OPT_ENABLE_STRICT_HASH_VERIFICATION,
197
202
  GIT_OPT_SET_ALLOCATOR,
198
- GIT_OPT_ENABLE_UNSAVED_INDEX_SAFETY
203
+ GIT_OPT_ENABLE_UNSAVED_INDEX_SAFETY,
204
+ GIT_OPT_GET_PACK_MAX_OBJECTS,
205
+ GIT_OPT_SET_PACK_MAX_OBJECTS,
206
+ GIT_OPT_DISABLE_PACK_KEEP_FILE_CHECKS
199
207
  } git_libgit2_opt_t;
200
208
 
201
209
  /**
@@ -241,13 +249,13 @@ typedef enum {
241
249
  * > `GIT_CONFIG_LEVEL_GLOBAL`, `GIT_CONFIG_LEVEL_XDG`, or
242
250
  * > `GIT_CONFIG_LEVEL_PROGRAMDATA`.
243
251
  *
244
- * * opts(GIT_OPT_SET_CACHE_OBJECT_LIMIT, git_otype type, size_t size)
252
+ * * opts(GIT_OPT_SET_CACHE_OBJECT_LIMIT, git_object_t type, size_t size)
245
253
  *
246
254
  * > Set the maximum data size for the given type of object to be
247
255
  * > considered eligible for caching in memory. Setting to value to
248
256
  * > zero means that that type of object will not be cached.
249
- * > Defaults to 0 for GIT_OBJ_BLOB (i.e. won't cache blobs) and 4k
250
- * > for GIT_OBJ_COMMIT, GIT_OBJ_TREE, and GIT_OBJ_TAG.
257
+ * > Defaults to 0 for GIT_OBJECT_BLOB (i.e. won't cache blobs) and 4k
258
+ * > for GIT_OBJECT_COMMIT, GIT_OBJECT_TREE, and GIT_OBJECT_TAG.
251
259
  *
252
260
  * * opts(GIT_OPT_SET_CACHE_MAX_SIZE, ssize_t max_storage_bytes)
253
261
  *
@@ -362,7 +370,8 @@ typedef enum {
362
370
  *
363
371
  * > Set the memory allocator to a different memory allocator. This
364
372
  * > allocator will then be used to make all memory allocations for
365
- * > libgit2 operations.
373
+ * > libgit2 operations. If the given `allocator` is NULL, then the
374
+ * > system default will be restored.
366
375
  *
367
376
  * opts(GIT_OPT_ENABLE_UNSAVED_INDEX_SAFETY, int enabled)
368
377
  *
@@ -372,6 +381,22 @@ typedef enum {
372
381
  * > fail. (Using the FORCE flag to checkout will still overwrite
373
382
  * > these changes.)
374
383
  *
384
+ * opts(GIT_OPT_GET_PACK_MAX_OBJECTS, size_t *out)
385
+ *
386
+ * > Get the maximum number of objects libgit2 will allow in a pack
387
+ * > file when downloading a pack file from a remote. This can be
388
+ * > used to limit maximum memory usage when fetching from an untrusted
389
+ * > remote.
390
+ *
391
+ * opts(GIT_OPT_SET_PACK_MAX_OBJECTS, size_t objects)
392
+ *
393
+ * > Set the maximum number of objects libgit2 will allow in a pack
394
+ * > file when downloading a pack file from a remote.
395
+ *
396
+ * opts(GIT_OPT_DISABLE_PACK_KEEP_FILE_CHECKS, int enabled)
397
+ * > This will cause .keep file existence checks to be skipped when
398
+ * > accessing packfiles, which can help performance with remote filesystems.
399
+ *
375
400
  * @param option Option key
376
401
  * @param ... value to set the option
377
402
  * @return 0 on success, <0 on failure
@@ -66,7 +66,7 @@ typedef struct git_config_entry {
66
66
  const char *value; /**< String value of the entry */
67
67
  unsigned int include_depth; /**< Depth of includes where this variable was found */
68
68
  git_config_level_t level; /**< Which config file this was found in */
69
- void (*free)(struct git_config_entry *entry); /**< Free function for this entry */
69
+ void GIT_CALLBACK(free)(struct git_config_entry *entry); /**< Free function for this entry */
70
70
  void *payload; /**< Opaque value for the free function. Do not read or write */
71
71
  } git_config_entry;
72
72
 
@@ -75,27 +75,37 @@ typedef struct git_config_entry {
75
75
  */
76
76
  GIT_EXTERN(void) git_config_entry_free(git_config_entry *);
77
77
 
78
- typedef int (*git_config_foreach_cb)(const git_config_entry *, void *);
78
+ /**
79
+ * A config enumeration callback
80
+ *
81
+ * @param entry the entry currently being enumerated
82
+ * @param payload a user-specified pointer
83
+ */
84
+ typedef int GIT_CALLBACK(git_config_foreach_cb)(const git_config_entry *entry, void *payload);
85
+
86
+ /**
87
+ * An opaque structure for a configuration iterator
88
+ */
79
89
  typedef struct git_config_iterator git_config_iterator;
80
90
 
81
91
  /**
82
92
  * Config var type
83
93
  */
84
94
  typedef enum {
85
- GIT_CVAR_FALSE = 0,
86
- GIT_CVAR_TRUE = 1,
87
- GIT_CVAR_INT32,
88
- GIT_CVAR_STRING
89
- } git_cvar_t;
95
+ GIT_CONFIGMAP_FALSE = 0,
96
+ GIT_CONFIGMAP_TRUE = 1,
97
+ GIT_CONFIGMAP_INT32,
98
+ GIT_CONFIGMAP_STRING
99
+ } git_configmap_t;
90
100
 
91
101
  /**
92
102
  * Mapping from config variables to values.
93
103
  */
94
104
  typedef struct {
95
- git_cvar_t cvar_type;
105
+ git_configmap_t type;
96
106
  const char *str_match;
97
107
  int map_value;
98
- } git_cvar_map;
108
+ } git_configmap;
99
109
 
100
110
  /**
101
111
  * Locate the path to the global configuration file
@@ -252,7 +262,7 @@ GIT_EXTERN(int) git_config_open_level(
252
262
  * Open the global/XDG configuration file according to git's rules
253
263
  *
254
264
  * Git allows you to store your global configuration at
255
- * `$HOME/.config` or `$XDG_CONFIG_HOME/git/config`. For backwards
265
+ * `$HOME/.gitconfig` or `$XDG_CONFIG_HOME/git/config`. For backwards
256
266
  * compatability, the XDG file shouldn't be used unless the use has
257
267
  * created it explicitly. With this function you'll open the correct
258
268
  * one to write to.
@@ -581,7 +591,7 @@ GIT_EXTERN(int) git_config_iterator_glob_new(git_config_iterator **out, const gi
581
591
  /**
582
592
  * Perform an operation on each config variable matching a regular expression.
583
593
  *
584
- * This behaviors like `git_config_foreach` with an additional filter of a
594
+ * This behaves like `git_config_foreach` with an additional filter of a
585
595
  * regular expression that filters which config keys are passed to the
586
596
  * callback.
587
597
  *
@@ -613,7 +623,7 @@ GIT_EXTERN(int) git_config_foreach_match(
613
623
  *
614
624
  * A mapping array looks as follows:
615
625
  *
616
- * git_cvar_map autocrlf_mapping[] = {
626
+ * git_configmap autocrlf_mapping[] = {
617
627
  * {GIT_CVAR_FALSE, NULL, GIT_AUTO_CRLF_FALSE},
618
628
  * {GIT_CVAR_TRUE, NULL, GIT_AUTO_CRLF_TRUE},
619
629
  * {GIT_CVAR_STRING, "input", GIT_AUTO_CRLF_INPUT},
@@ -634,7 +644,7 @@ GIT_EXTERN(int) git_config_foreach_match(
634
644
  * @param out place to store the result of the mapping
635
645
  * @param cfg config file to get the variables from
636
646
  * @param name name of the config variable to lookup
637
- * @param maps array of `git_cvar_map` objects specifying the possible mappings
647
+ * @param maps array of `git_configmap` objects specifying the possible mappings
638
648
  * @param map_n number of mapping objects in `maps`
639
649
  * @return 0 on success, error code otherwise
640
650
  */
@@ -642,20 +652,20 @@ GIT_EXTERN(int) git_config_get_mapped(
642
652
  int *out,
643
653
  const git_config *cfg,
644
654
  const char *name,
645
- const git_cvar_map *maps,
655
+ const git_configmap *maps,
646
656
  size_t map_n);
647
657
 
648
658
  /**
649
659
  * Maps a string value to an integer constant
650
660
  *
651
661
  * @param out place to store the result of the parsing
652
- * @param maps array of `git_cvar_map` objects specifying the possible mappings
662
+ * @param maps array of `git_configmap` objects specifying the possible mappings
653
663
  * @param map_n number of mapping objects in `maps`
654
664
  * @param value value to parse
655
665
  */
656
666
  GIT_EXTERN(int) git_config_lookup_map_value(
657
667
  int *out,
658
- const git_cvar_map *maps,
668
+ const git_configmap *maps,
659
669
  size_t map_n,
660
670
  const char *value);
661
671
 
@@ -711,11 +721,11 @@ GIT_EXTERN(int) git_config_parse_int64(int64_t *out, const char *value);
711
721
  GIT_EXTERN(int) git_config_parse_path(git_buf *out, const char *value);
712
722
 
713
723
  /**
714
- * Perform an operation on each config variable in given config backend
724
+ * Perform an operation on each config variable in a given config backend,
715
725
  * matching a regular expression.
716
726
  *
717
- * This behaviors like `git_config_foreach_match` except instead of all config
718
- * entries it just enumerates through the given backend entry.
727
+ * This behaves like `git_config_foreach_match` except that only config
728
+ * entries from the given backend entry are enumerated.
719
729
  *
720
730
  * The regular expression is applied case-sensitively on the normalized form of
721
731
  * the variable name: the section and variable parts are lower-cased. The