rugged 0.27.7 → 0.27.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (409) hide show
  1. checksums.yaml +4 -4
  2. data/lib/rugged/version.rb +1 -1
  3. data/vendor/libgit2/AUTHORS +1 -0
  4. data/vendor/libgit2/CMakeLists.txt +99 -51
  5. data/vendor/libgit2/COPYING +28 -0
  6. data/vendor/libgit2/cmake/Modules/AddCFlagIfSupported.cmake +15 -1
  7. data/vendor/libgit2/cmake/Modules/CheckPrototypeDefinition.c.in +29 -0
  8. data/vendor/libgit2/cmake/Modules/CheckPrototypeDefinition.cmake +96 -0
  9. data/vendor/libgit2/cmake/Modules/EnableWarnings.cmake +9 -8
  10. data/vendor/libgit2/cmake/Modules/FindCoreFoundation.cmake +2 -2
  11. data/vendor/libgit2/cmake/Modules/FindGSSAPI.cmake +1 -1
  12. data/vendor/libgit2/cmake/Modules/FindGSSFramework.cmake +28 -0
  13. data/vendor/libgit2/cmake/Modules/FindIconv.cmake +11 -6
  14. data/vendor/libgit2/cmake/Modules/FindPCRE.cmake +38 -0
  15. data/vendor/libgit2/cmake/Modules/FindPCRE2.cmake +37 -0
  16. data/vendor/libgit2/cmake/Modules/FindSecurity.cmake +2 -2
  17. data/vendor/libgit2/cmake/Modules/FindStatNsec.cmake +6 -0
  18. data/vendor/libgit2/cmake/Modules/PkgBuildConfig.cmake +110 -0
  19. data/vendor/libgit2/cmake/Modules/SelectGSSAPI.cmake +53 -0
  20. data/vendor/libgit2/cmake/Modules/SelectHTTPSBackend.cmake +124 -0
  21. data/vendor/libgit2/cmake/Modules/SelectHashes.cmake +66 -0
  22. data/vendor/libgit2/deps/http-parser/http_parser.c +11 -6
  23. data/vendor/libgit2/deps/ntlmclient/CMakeLists.txt +21 -0
  24. data/vendor/libgit2/deps/ntlmclient/compat.h +33 -0
  25. data/vendor/libgit2/deps/ntlmclient/crypt.h +64 -0
  26. data/vendor/libgit2/deps/ntlmclient/crypt_commoncrypto.c +120 -0
  27. data/vendor/libgit2/deps/ntlmclient/crypt_commoncrypto.h +18 -0
  28. data/vendor/libgit2/deps/ntlmclient/crypt_mbedtls.c +145 -0
  29. data/vendor/libgit2/deps/ntlmclient/crypt_mbedtls.h +18 -0
  30. data/vendor/libgit2/deps/ntlmclient/crypt_openssl.c +130 -0
  31. data/vendor/libgit2/deps/ntlmclient/crypt_openssl.h +21 -0
  32. data/vendor/libgit2/deps/ntlmclient/ntlm.c +1420 -0
  33. data/vendor/libgit2/deps/ntlmclient/ntlm.h +174 -0
  34. data/vendor/libgit2/deps/ntlmclient/ntlmclient.h +320 -0
  35. data/vendor/libgit2/deps/ntlmclient/unicode.h +36 -0
  36. data/vendor/libgit2/deps/ntlmclient/unicode_builtin.c +445 -0
  37. data/vendor/libgit2/deps/ntlmclient/unicode_iconv.c +201 -0
  38. data/vendor/libgit2/deps/ntlmclient/utf8.h +1257 -0
  39. data/vendor/libgit2/deps/ntlmclient/util.c +21 -0
  40. data/vendor/libgit2/deps/ntlmclient/util.h +14 -0
  41. data/vendor/libgit2/deps/pcre/CMakeLists.txt +140 -0
  42. data/vendor/libgit2/deps/pcre/COPYING +5 -0
  43. data/vendor/libgit2/deps/pcre/cmake/COPYING-CMAKE-SCRIPTS +22 -0
  44. data/vendor/libgit2/deps/pcre/cmake/FindEditline.cmake +17 -0
  45. data/vendor/libgit2/deps/pcre/cmake/FindPackageHandleStandardArgs.cmake +58 -0
  46. data/vendor/libgit2/deps/pcre/cmake/FindReadline.cmake +29 -0
  47. data/vendor/libgit2/deps/pcre/config.h.in +57 -0
  48. data/vendor/libgit2/deps/pcre/pcre.h +641 -0
  49. data/vendor/libgit2/deps/pcre/pcre_byte_order.c +319 -0
  50. data/vendor/libgit2/deps/pcre/pcre_chartables.c +198 -0
  51. data/vendor/libgit2/deps/pcre/pcre_compile.c +9800 -0
  52. data/vendor/libgit2/deps/pcre/pcre_config.c +190 -0
  53. data/vendor/libgit2/deps/pcre/pcre_dfa_exec.c +3676 -0
  54. data/vendor/libgit2/deps/pcre/pcre_exec.c +7173 -0
  55. data/vendor/libgit2/deps/pcre/pcre_fullinfo.c +245 -0
  56. data/vendor/libgit2/deps/pcre/pcre_get.c +669 -0
  57. data/vendor/libgit2/deps/pcre/pcre_globals.c +86 -0
  58. data/vendor/libgit2/deps/pcre/pcre_internal.h +2787 -0
  59. data/vendor/libgit2/deps/pcre/pcre_jit_compile.c +11913 -0
  60. data/vendor/libgit2/deps/pcre/pcre_maketables.c +156 -0
  61. data/vendor/libgit2/deps/pcre/pcre_newline.c +210 -0
  62. data/vendor/libgit2/deps/pcre/pcre_ord2utf8.c +94 -0
  63. data/vendor/libgit2/deps/pcre/pcre_printint.c +834 -0
  64. data/vendor/libgit2/deps/pcre/pcre_refcount.c +92 -0
  65. data/vendor/libgit2/deps/pcre/pcre_string_utils.c +211 -0
  66. data/vendor/libgit2/deps/pcre/pcre_study.c +1686 -0
  67. data/vendor/libgit2/deps/pcre/pcre_tables.c +727 -0
  68. data/vendor/libgit2/deps/pcre/pcre_ucd.c +3644 -0
  69. data/vendor/libgit2/deps/pcre/pcre_valid_utf8.c +301 -0
  70. data/vendor/libgit2/deps/pcre/pcre_version.c +98 -0
  71. data/vendor/libgit2/deps/pcre/pcre_xclass.c +268 -0
  72. data/vendor/libgit2/deps/pcre/pcreposix.c +421 -0
  73. data/vendor/libgit2/deps/pcre/pcreposix.h +117 -0
  74. data/vendor/libgit2/deps/pcre/ucp.h +224 -0
  75. data/vendor/libgit2/deps/winhttp/COPYING.GPL +993 -0
  76. data/vendor/libgit2/deps/winhttp/COPYING.LGPL +502 -0
  77. data/vendor/libgit2/deps/zlib/CMakeLists.txt +1 -0
  78. data/vendor/libgit2/deps/zlib/COPYING +27 -0
  79. data/vendor/libgit2/deps/zlib/adler32.c +0 -7
  80. data/vendor/libgit2/deps/zlib/crc32.c +0 -7
  81. data/vendor/libgit2/include/git2/annotated_commit.h +9 -0
  82. data/vendor/libgit2/include/git2/apply.h +149 -0
  83. data/vendor/libgit2/include/git2/attr.h +20 -13
  84. data/vendor/libgit2/include/git2/blame.h +4 -4
  85. data/vendor/libgit2/include/git2/blob.h +44 -12
  86. data/vendor/libgit2/include/git2/buffer.h +20 -26
  87. data/vendor/libgit2/include/git2/cert.h +135 -0
  88. data/vendor/libgit2/include/git2/checkout.h +53 -21
  89. data/vendor/libgit2/include/git2/cherrypick.h +3 -3
  90. data/vendor/libgit2/include/git2/clone.h +5 -5
  91. data/vendor/libgit2/include/git2/commit.h +25 -3
  92. data/vendor/libgit2/include/git2/common.h +35 -10
  93. data/vendor/libgit2/include/git2/config.h +29 -19
  94. data/vendor/libgit2/include/git2/cred.h +308 -0
  95. data/vendor/libgit2/include/git2/deprecated.h +493 -0
  96. data/vendor/libgit2/include/git2/describe.h +4 -4
  97. data/vendor/libgit2/include/git2/diff.h +177 -135
  98. data/vendor/libgit2/include/git2/errors.h +53 -46
  99. data/vendor/libgit2/include/git2/filter.h +8 -0
  100. data/vendor/libgit2/include/git2/index.h +74 -52
  101. data/vendor/libgit2/include/git2/indexer.h +76 -6
  102. data/vendor/libgit2/include/git2/merge.h +25 -10
  103. data/vendor/libgit2/include/git2/net.h +0 -5
  104. data/vendor/libgit2/include/git2/notes.h +1 -1
  105. data/vendor/libgit2/include/git2/object.h +17 -29
  106. data/vendor/libgit2/include/git2/odb.h +12 -11
  107. data/vendor/libgit2/include/git2/odb_backend.h +10 -9
  108. data/vendor/libgit2/include/git2/oid.h +2 -2
  109. data/vendor/libgit2/include/git2/pack.h +14 -3
  110. data/vendor/libgit2/include/git2/proxy.h +5 -3
  111. data/vendor/libgit2/include/git2/rebase.h +46 -2
  112. data/vendor/libgit2/include/git2/refs.h +34 -16
  113. data/vendor/libgit2/include/git2/remote.h +111 -14
  114. data/vendor/libgit2/include/git2/repository.h +69 -34
  115. data/vendor/libgit2/include/git2/revert.h +1 -1
  116. data/vendor/libgit2/include/git2/revwalk.h +7 -7
  117. data/vendor/libgit2/include/git2/signature.h +2 -2
  118. data/vendor/libgit2/include/git2/stash.h +5 -5
  119. data/vendor/libgit2/include/git2/status.h +26 -17
  120. data/vendor/libgit2/include/git2/submodule.h +23 -6
  121. data/vendor/libgit2/include/git2/sys/alloc.h +18 -18
  122. data/vendor/libgit2/include/git2/sys/commit.h +1 -1
  123. data/vendor/libgit2/include/git2/sys/config.h +13 -13
  124. data/vendor/libgit2/include/git2/sys/cred.h +90 -0
  125. data/vendor/libgit2/include/git2/sys/filter.h +6 -6
  126. data/vendor/libgit2/include/git2/sys/merge.h +3 -3
  127. data/vendor/libgit2/include/git2/sys/odb_backend.h +66 -22
  128. data/vendor/libgit2/include/git2/sys/path.h +14 -5
  129. data/vendor/libgit2/include/git2/sys/refdb_backend.h +76 -40
  130. data/vendor/libgit2/include/git2/sys/repository.h +5 -1
  131. data/vendor/libgit2/include/git2/sys/stream.h +92 -12
  132. data/vendor/libgit2/include/git2/sys/transport.h +129 -83
  133. data/vendor/libgit2/include/git2/tag.h +13 -4
  134. data/vendor/libgit2/include/git2/trace.h +2 -2
  135. data/vendor/libgit2/include/git2/transport.h +11 -311
  136. data/vendor/libgit2/include/git2/tree.h +4 -4
  137. data/vendor/libgit2/include/git2/types.h +25 -106
  138. data/vendor/libgit2/include/git2/version.h +3 -3
  139. data/vendor/libgit2/include/git2/worktree.h +5 -5
  140. data/vendor/libgit2/include/git2.h +4 -0
  141. data/vendor/libgit2/src/CMakeLists.txt +104 -235
  142. data/vendor/libgit2/src/alloc.c +14 -18
  143. data/vendor/libgit2/src/{stdalloc.c → allocators/stdalloc.c} +7 -8
  144. data/vendor/libgit2/src/{stdalloc.h → allocators/stdalloc.h} +4 -4
  145. data/vendor/libgit2/src/allocators/win32_crtdbg.c +118 -0
  146. data/vendor/libgit2/src/{transports/cred.h → allocators/win32_crtdbg.h} +5 -4
  147. data/vendor/libgit2/src/annotated_commit.c +18 -11
  148. data/vendor/libgit2/src/apply.c +535 -28
  149. data/vendor/libgit2/src/apply.h +3 -1
  150. data/vendor/libgit2/src/array.h +2 -2
  151. data/vendor/libgit2/src/attr.c +77 -71
  152. data/vendor/libgit2/src/attr_file.c +203 -117
  153. data/vendor/libgit2/src/attr_file.h +9 -9
  154. data/vendor/libgit2/src/attrcache.c +49 -51
  155. data/vendor/libgit2/src/attrcache.h +2 -1
  156. data/vendor/libgit2/src/blame.c +38 -18
  157. data/vendor/libgit2/src/blame.h +1 -1
  158. data/vendor/libgit2/src/blame_git.c +29 -15
  159. data/vendor/libgit2/src/blob.c +123 -37
  160. data/vendor/libgit2/src/blob.h +19 -2
  161. data/vendor/libgit2/src/branch.c +47 -23
  162. data/vendor/libgit2/src/buf_text.c +7 -6
  163. data/vendor/libgit2/src/buffer.c +60 -53
  164. data/vendor/libgit2/src/cache.c +38 -45
  165. data/vendor/libgit2/src/cache.h +3 -3
  166. data/vendor/libgit2/src/cc-compat.h +20 -3
  167. data/vendor/libgit2/src/checkout.c +77 -67
  168. data/vendor/libgit2/src/cherrypick.c +12 -6
  169. data/vendor/libgit2/src/clone.c +36 -14
  170. data/vendor/libgit2/src/clone.h +4 -0
  171. data/vendor/libgit2/src/commit.c +103 -48
  172. data/vendor/libgit2/src/commit.h +7 -0
  173. data/vendor/libgit2/src/commit_list.c +36 -78
  174. data/vendor/libgit2/src/commit_list.h +2 -2
  175. data/vendor/libgit2/src/common.h +24 -90
  176. data/vendor/libgit2/src/config.c +203 -176
  177. data/vendor/libgit2/src/config.h +8 -20
  178. data/vendor/libgit2/src/config_backend.h +96 -0
  179. data/vendor/libgit2/src/config_cache.c +41 -35
  180. data/vendor/libgit2/src/config_entries.c +229 -0
  181. data/vendor/libgit2/src/config_entries.h +24 -0
  182. data/vendor/libgit2/src/config_file.c +422 -680
  183. data/vendor/libgit2/src/config_mem.c +220 -0
  184. data/vendor/libgit2/src/config_parse.c +96 -68
  185. data/vendor/libgit2/src/config_parse.h +15 -14
  186. data/vendor/libgit2/src/config_snapshot.c +206 -0
  187. data/vendor/libgit2/src/crlf.c +219 -196
  188. data/vendor/libgit2/src/delta.c +25 -18
  189. data/vendor/libgit2/src/describe.c +42 -41
  190. data/vendor/libgit2/src/diff.c +52 -67
  191. data/vendor/libgit2/src/diff.h +2 -1
  192. data/vendor/libgit2/src/diff_driver.c +44 -46
  193. data/vendor/libgit2/src/diff_file.c +16 -14
  194. data/vendor/libgit2/src/diff_file.h +1 -1
  195. data/vendor/libgit2/src/diff_generate.c +158 -103
  196. data/vendor/libgit2/src/diff_generate.h +3 -3
  197. data/vendor/libgit2/src/diff_parse.c +4 -4
  198. data/vendor/libgit2/src/diff_print.c +34 -22
  199. data/vendor/libgit2/src/diff_stats.c +22 -7
  200. data/vendor/libgit2/src/diff_tform.c +18 -16
  201. data/vendor/libgit2/src/diff_xdiff.c +3 -3
  202. data/vendor/libgit2/src/errors.c +51 -39
  203. data/vendor/libgit2/src/errors.h +81 -0
  204. data/vendor/libgit2/src/features.h.in +9 -3
  205. data/vendor/libgit2/src/fetch.c +8 -3
  206. data/vendor/libgit2/src/fetchhead.c +12 -12
  207. data/vendor/libgit2/src/filebuf.c +28 -32
  208. data/vendor/libgit2/src/filebuf.h +2 -2
  209. data/vendor/libgit2/src/filter.c +47 -33
  210. data/vendor/libgit2/src/filter.h +0 -10
  211. data/vendor/libgit2/src/{fileops.c → futils.c} +70 -63
  212. data/vendor/libgit2/src/{fileops.h → futils.h} +6 -6
  213. data/vendor/libgit2/src/global.c +35 -55
  214. data/vendor/libgit2/src/global.h +0 -2
  215. data/vendor/libgit2/src/hash/sha1/collisiondetect.c +48 -0
  216. data/vendor/libgit2/src/hash/sha1/collisiondetect.h +19 -0
  217. data/vendor/libgit2/src/hash/{hash_common_crypto.h → sha1/common_crypto.c} +17 -17
  218. data/vendor/libgit2/src/hash/sha1/common_crypto.h +19 -0
  219. data/vendor/libgit2/src/hash/{hash_generic.c → sha1/generic.c} +22 -10
  220. data/vendor/libgit2/src/hash/{hash_generic.h → sha1/generic.h} +4 -10
  221. data/vendor/libgit2/src/hash/{hash_mbedtls.c → sha1/mbedtls.c} +15 -7
  222. data/vendor/libgit2/src/hash/{hash_mbedtls.h → sha1/mbedtls.h} +6 -7
  223. data/vendor/libgit2/src/hash/sha1/openssl.c +59 -0
  224. data/vendor/libgit2/src/hash/sha1/openssl.h +19 -0
  225. data/vendor/libgit2/src/hash/{sha1dc → sha1/sha1dc}/sha1.c +14 -3
  226. data/vendor/libgit2/src/hash/{hash_win32.c → sha1/win32.c} +47 -37
  227. data/vendor/libgit2/src/hash/{hash_win32.h → sha1/win32.h} +6 -19
  228. data/vendor/libgit2/src/hash/sha1.h +38 -0
  229. data/vendor/libgit2/src/hash.c +61 -0
  230. data/vendor/libgit2/src/hash.h +20 -21
  231. data/vendor/libgit2/src/hashsig.c +5 -5
  232. data/vendor/libgit2/src/idxmap.c +107 -61
  233. data/vendor/libgit2/src/idxmap.h +153 -31
  234. data/vendor/libgit2/src/ignore.c +38 -42
  235. data/vendor/libgit2/src/index.c +264 -199
  236. data/vendor/libgit2/src/index.h +7 -1
  237. data/vendor/libgit2/src/indexer.c +338 -167
  238. data/vendor/libgit2/src/integer.h +71 -26
  239. data/vendor/libgit2/src/iterator.c +134 -62
  240. data/vendor/libgit2/src/iterator.h +15 -0
  241. data/vendor/libgit2/src/mailmap.c +8 -8
  242. data/vendor/libgit2/src/map.h +1 -1
  243. data/vendor/libgit2/src/merge.c +137 -93
  244. data/vendor/libgit2/src/merge_driver.c +11 -11
  245. data/vendor/libgit2/src/merge_file.c +2 -2
  246. data/vendor/libgit2/src/mwindow.c +24 -29
  247. data/vendor/libgit2/src/mwindow.h +4 -4
  248. data/vendor/libgit2/src/net.c +184 -0
  249. data/vendor/libgit2/src/net.h +36 -0
  250. data/vendor/libgit2/src/netops.c +55 -156
  251. data/vendor/libgit2/src/netops.h +3 -23
  252. data/vendor/libgit2/src/notes.c +14 -9
  253. data/vendor/libgit2/src/object.c +120 -69
  254. data/vendor/libgit2/src/object.h +22 -9
  255. data/vendor/libgit2/src/object_api.c +8 -8
  256. data/vendor/libgit2/src/odb.c +111 -88
  257. data/vendor/libgit2/src/odb.h +8 -7
  258. data/vendor/libgit2/src/odb_loose.c +58 -47
  259. data/vendor/libgit2/src/odb_mempack.c +21 -34
  260. data/vendor/libgit2/src/odb_pack.c +17 -13
  261. data/vendor/libgit2/src/offmap.c +53 -35
  262. data/vendor/libgit2/src/offmap.h +108 -21
  263. data/vendor/libgit2/src/oid.c +12 -7
  264. data/vendor/libgit2/src/oidmap.c +49 -47
  265. data/vendor/libgit2/src/oidmap.h +101 -24
  266. data/vendor/libgit2/src/pack-objects.c +87 -86
  267. data/vendor/libgit2/src/pack-objects.h +2 -8
  268. data/vendor/libgit2/src/pack.c +94 -96
  269. data/vendor/libgit2/src/pack.h +16 -18
  270. data/vendor/libgit2/src/parse.c +17 -4
  271. data/vendor/libgit2/src/parse.h +3 -3
  272. data/vendor/libgit2/src/patch.c +3 -3
  273. data/vendor/libgit2/src/patch_generate.c +18 -18
  274. data/vendor/libgit2/src/patch_parse.c +147 -79
  275. data/vendor/libgit2/src/path.c +207 -62
  276. data/vendor/libgit2/src/path.h +14 -0
  277. data/vendor/libgit2/src/pathspec.c +18 -18
  278. data/vendor/libgit2/src/pool.c +26 -22
  279. data/vendor/libgit2/src/pool.h +7 -7
  280. data/vendor/libgit2/src/posix.c +10 -10
  281. data/vendor/libgit2/src/posix.h +12 -1
  282. data/vendor/libgit2/src/proxy.c +8 -3
  283. data/vendor/libgit2/src/push.c +35 -29
  284. data/vendor/libgit2/src/push.h +2 -1
  285. data/vendor/libgit2/src/reader.c +265 -0
  286. data/vendor/libgit2/src/reader.h +107 -0
  287. data/vendor/libgit2/src/rebase.c +97 -38
  288. data/vendor/libgit2/src/refdb.c +15 -3
  289. data/vendor/libgit2/src/refdb_fs.c +318 -222
  290. data/vendor/libgit2/src/reflog.c +13 -15
  291. data/vendor/libgit2/src/refs.c +122 -89
  292. data/vendor/libgit2/src/refs.h +5 -3
  293. data/vendor/libgit2/src/refspec.c +27 -33
  294. data/vendor/libgit2/src/regexp.c +221 -0
  295. data/vendor/libgit2/src/regexp.h +97 -0
  296. data/vendor/libgit2/src/remote.c +229 -178
  297. data/vendor/libgit2/src/remote.h +11 -2
  298. data/vendor/libgit2/src/repository.c +227 -172
  299. data/vendor/libgit2/src/repository.h +52 -40
  300. data/vendor/libgit2/src/reset.c +7 -7
  301. data/vendor/libgit2/src/revert.c +11 -6
  302. data/vendor/libgit2/src/revparse.c +46 -46
  303. data/vendor/libgit2/src/revwalk.c +89 -54
  304. data/vendor/libgit2/src/revwalk.h +20 -0
  305. data/vendor/libgit2/src/settings.c +22 -9
  306. data/vendor/libgit2/src/signature.c +15 -13
  307. data/vendor/libgit2/src/sortedcache.c +22 -36
  308. data/vendor/libgit2/src/sortedcache.h +1 -1
  309. data/vendor/libgit2/src/stash.c +56 -76
  310. data/vendor/libgit2/src/status.c +27 -21
  311. data/vendor/libgit2/src/stream.h +17 -2
  312. data/vendor/libgit2/src/streams/mbedtls.c +100 -80
  313. data/vendor/libgit2/src/streams/mbedtls.h +5 -2
  314. data/vendor/libgit2/src/streams/openssl.c +93 -81
  315. data/vendor/libgit2/src/streams/openssl.h +5 -2
  316. data/vendor/libgit2/src/streams/registry.c +118 -0
  317. data/vendor/libgit2/src/streams/registry.h +19 -0
  318. data/vendor/libgit2/src/streams/socket.c +55 -30
  319. data/vendor/libgit2/src/streams/stransport.c +57 -32
  320. data/vendor/libgit2/src/streams/stransport.h +5 -0
  321. data/vendor/libgit2/src/streams/tls.c +48 -20
  322. data/vendor/libgit2/src/streams/tls.h +12 -4
  323. data/vendor/libgit2/src/strmap.c +47 -74
  324. data/vendor/libgit2/src/strmap.h +108 -33
  325. data/vendor/libgit2/src/submodule.c +190 -169
  326. data/vendor/libgit2/src/submodule.h +1 -1
  327. data/vendor/libgit2/src/sysdir.c +25 -15
  328. data/vendor/libgit2/src/tag.c +39 -26
  329. data/vendor/libgit2/src/tag.h +2 -1
  330. data/vendor/libgit2/src/trace.c +2 -2
  331. data/vendor/libgit2/src/trace.h +2 -2
  332. data/vendor/libgit2/src/trailer.c +46 -32
  333. data/vendor/libgit2/src/transaction.c +30 -29
  334. data/vendor/libgit2/src/transport.c +3 -3
  335. data/vendor/libgit2/src/transports/auth.c +14 -10
  336. data/vendor/libgit2/src/transports/auth.h +10 -3
  337. data/vendor/libgit2/src/transports/auth_negotiate.c +31 -16
  338. data/vendor/libgit2/src/transports/auth_negotiate.h +2 -2
  339. data/vendor/libgit2/src/transports/auth_ntlm.c +223 -0
  340. data/vendor/libgit2/src/transports/auth_ntlm.h +35 -0
  341. data/vendor/libgit2/src/transports/cred.c +24 -24
  342. data/vendor/libgit2/src/transports/git.c +25 -30
  343. data/vendor/libgit2/src/transports/http.c +871 -335
  344. data/vendor/libgit2/src/transports/http.h +2 -0
  345. data/vendor/libgit2/src/transports/local.c +28 -28
  346. data/vendor/libgit2/src/transports/smart.c +64 -46
  347. data/vendor/libgit2/src/transports/smart.h +5 -6
  348. data/vendor/libgit2/src/transports/smart_pkt.c +162 -151
  349. data/vendor/libgit2/src/transports/smart_protocol.c +64 -94
  350. data/vendor/libgit2/src/transports/ssh.c +76 -65
  351. data/vendor/libgit2/src/transports/winhttp.c +328 -319
  352. data/vendor/libgit2/src/tree-cache.c +21 -14
  353. data/vendor/libgit2/src/tree.c +119 -112
  354. data/vendor/libgit2/src/tree.h +1 -0
  355. data/vendor/libgit2/src/unix/map.c +3 -3
  356. data/vendor/libgit2/src/unix/posix.h +1 -11
  357. data/vendor/libgit2/src/userdiff.h +3 -1
  358. data/vendor/libgit2/src/util.c +154 -93
  359. data/vendor/libgit2/src/util.h +19 -23
  360. data/vendor/libgit2/src/vector.c +15 -10
  361. data/vendor/libgit2/src/wildmatch.c +320 -0
  362. data/vendor/libgit2/src/wildmatch.h +23 -0
  363. data/vendor/libgit2/src/win32/dir.c +3 -3
  364. data/vendor/libgit2/src/win32/findfile.c +1 -1
  365. data/vendor/libgit2/src/win32/map.c +9 -11
  366. data/vendor/libgit2/src/win32/msvc-compat.h +6 -0
  367. data/vendor/libgit2/src/win32/path_w32.c +113 -9
  368. data/vendor/libgit2/src/win32/path_w32.h +18 -29
  369. data/vendor/libgit2/src/win32/posix.h +1 -4
  370. data/vendor/libgit2/src/win32/posix_w32.c +69 -44
  371. data/vendor/libgit2/src/win32/precompiled.h +0 -2
  372. data/vendor/libgit2/src/win32/thread.c +5 -10
  373. data/vendor/libgit2/src/win32/w32_buffer.c +9 -5
  374. data/vendor/libgit2/src/win32/w32_common.h +39 -0
  375. data/vendor/libgit2/src/win32/w32_crtdbg_stacktrace.c +2 -95
  376. data/vendor/libgit2/src/win32/w32_crtdbg_stacktrace.h +0 -2
  377. data/vendor/libgit2/src/win32/w32_stack.c +6 -11
  378. data/vendor/libgit2/src/win32/w32_stack.h +3 -3
  379. data/vendor/libgit2/src/win32/w32_util.c +27 -64
  380. data/vendor/libgit2/src/win32/w32_util.h +5 -49
  381. data/vendor/libgit2/src/worktree.c +44 -30
  382. data/vendor/libgit2/src/xdiff/xdiffi.c +5 -5
  383. data/vendor/libgit2/src/xdiff/xhistogram.c +1 -1
  384. data/vendor/libgit2/src/xdiff/xmerge.c +27 -15
  385. data/vendor/libgit2/src/xdiff/xpatience.c +3 -0
  386. data/vendor/libgit2/src/zstream.c +4 -4
  387. metadata +115 -38
  388. data/vendor/libgit2/deps/regex/CMakeLists.txt +0 -2
  389. data/vendor/libgit2/deps/regex/config.h +0 -7
  390. data/vendor/libgit2/deps/regex/regcomp.c +0 -3857
  391. data/vendor/libgit2/deps/regex/regex.c +0 -92
  392. data/vendor/libgit2/deps/regex/regex.h +0 -582
  393. data/vendor/libgit2/deps/regex/regex_internal.c +0 -1744
  394. data/vendor/libgit2/deps/regex/regex_internal.h +0 -819
  395. data/vendor/libgit2/deps/regex/regexec.c +0 -4369
  396. data/vendor/libgit2/include/git2/inttypes.h +0 -309
  397. data/vendor/libgit2/include/git2/sys/time.h +0 -31
  398. data/vendor/libgit2/libgit2.pc.in +0 -13
  399. data/vendor/libgit2/src/config_file.h +0 -73
  400. data/vendor/libgit2/src/fnmatch.c +0 -248
  401. data/vendor/libgit2/src/fnmatch.h +0 -48
  402. data/vendor/libgit2/src/hash/hash_collisiondetect.h +0 -47
  403. data/vendor/libgit2/src/hash/hash_openssl.h +0 -59
  404. data/vendor/libgit2/src/streams/curl.c +0 -385
  405. data/vendor/libgit2/src/streams/curl.h +0 -17
  406. /data/vendor/libgit2/deps/http-parser/{LICENSE-MIT → COPYING} +0 -0
  407. /data/vendor/libgit2/src/hash/{sha1dc → sha1/sha1dc}/sha1.h +0 -0
  408. /data/vendor/libgit2/src/hash/{sha1dc → sha1/sha1dc}/ubc_check.c +0 -0
  409. /data/vendor/libgit2/src/hash/{sha1dc → sha1/sha1dc}/ubc_check.h +0 -0
@@ -10,7 +10,7 @@
10
10
  #include "diff.h"
11
11
  #include "diff_file.h"
12
12
  #include "patch_generate.h"
13
- #include "fileops.h"
13
+ #include "futils.h"
14
14
  #include "zstream.h"
15
15
  #include "blob.h"
16
16
  #include "delta.h"
@@ -48,7 +48,7 @@ static int diff_print_info_init__common(
48
48
  if (!pi->id_strlen) {
49
49
  if (!repo)
50
50
  pi->id_strlen = GIT_ABBREV_DEFAULT;
51
- else if (git_repository__cvar(&pi->id_strlen, repo, GIT_CVAR_ABBREV) < 0)
51
+ else if (git_repository__configmap_lookup(&pi->id_strlen, repo, GIT_CONFIGMAP_ABBREV) < 0)
52
52
  return -1;
53
53
  }
54
54
 
@@ -224,7 +224,7 @@ static int diff_print_one_raw(
224
224
  delta->new_file.id_abbrev;
225
225
 
226
226
  if (pi->id_strlen > id_abbrev) {
227
- giterr_set(GITERR_PATCH,
227
+ git_error_set(GIT_ERROR_PATCH,
228
228
  "the patch input contains %d id characters (cannot print %d)",
229
229
  id_abbrev, pi->id_strlen);
230
230
  return -1;
@@ -269,13 +269,14 @@ static int diff_print_modes(
269
269
  }
270
270
 
271
271
  static int diff_print_oid_range(
272
- git_buf *out, const git_diff_delta *delta, int id_strlen)
272
+ git_buf *out, const git_diff_delta *delta, int id_strlen,
273
+ bool print_index)
273
274
  {
274
275
  char start_oid[GIT_OID_HEXSZ+1], end_oid[GIT_OID_HEXSZ+1];
275
276
 
276
277
  if (delta->old_file.mode &&
277
278
  id_strlen > delta->old_file.id_abbrev) {
278
- giterr_set(GITERR_PATCH,
279
+ git_error_set(GIT_ERROR_PATCH,
279
280
  "the patch input contains %d id characters (cannot print %d)",
280
281
  delta->old_file.id_abbrev, id_strlen);
281
282
  return -1;
@@ -283,7 +284,7 @@ static int diff_print_oid_range(
283
284
 
284
285
  if ((delta->new_file.mode &&
285
286
  id_strlen > delta->new_file.id_abbrev)) {
286
- giterr_set(GITERR_PATCH,
287
+ git_error_set(GIT_ERROR_PATCH,
287
288
  "the patch input contains %d id characters (cannot print %d)",
288
289
  delta->new_file.id_abbrev, id_strlen);
289
290
  return -1;
@@ -293,8 +294,9 @@ static int diff_print_oid_range(
293
294
  git_oid_tostr(end_oid, id_strlen + 1, &delta->new_file.id);
294
295
 
295
296
  if (delta->old_file.mode == delta->new_file.mode) {
296
- git_buf_printf(out, "index %s..%s %o\n",
297
- start_oid, end_oid, delta->old_file.mode);
297
+ if (print_index)
298
+ git_buf_printf(out, "index %s..%s %o\n",
299
+ start_oid, end_oid, delta->old_file.mode);
298
300
  } else {
299
301
  if (delta->old_file.mode == 0)
300
302
  git_buf_printf(out, "new file mode %o\n", delta->new_file.mode);
@@ -303,7 +305,8 @@ static int diff_print_oid_range(
303
305
  else
304
306
  diff_print_modes(out, delta);
305
307
 
306
- git_buf_printf(out, "index %s..%s\n", start_oid, end_oid);
308
+ if (print_index)
309
+ git_buf_printf(out, "index %s..%s\n", start_oid, end_oid);
307
310
  }
308
311
 
309
312
  return git_buf_oom(out) ? -1 : 0;
@@ -325,10 +328,10 @@ static int diff_delta_format_with_paths(
325
328
  const char *oldpath,
326
329
  const char *newpath)
327
330
  {
328
- if (git_oid_iszero(&delta->old_file.id))
331
+ if (git_oid_is_zero(&delta->old_file.id))
329
332
  oldpath = "/dev/null";
330
333
 
331
- if (git_oid_iszero(&delta->new_file.id))
334
+ if (git_oid_is_zero(&delta->new_file.id))
332
335
  newpath = "/dev/null";
333
336
 
334
337
  return git_buf_printf(out, template, oldpath, newpath);
@@ -343,7 +346,7 @@ int diff_delta_format_similarity_header(
343
346
  int error = 0;
344
347
 
345
348
  if (delta->similarity > 100) {
346
- giterr_set(GITERR_PATCH, "invalid similarity %d", delta->similarity);
349
+ git_error_set(GIT_ERROR_PATCH, "invalid similarity %d", delta->similarity);
347
350
  error = -1;
348
351
  goto done;
349
352
  }
@@ -381,8 +384,8 @@ done:
381
384
 
382
385
  static bool delta_is_unchanged(const git_diff_delta *delta)
383
386
  {
384
- if (git_oid_iszero(&delta->old_file.id) &&
385
- git_oid_iszero(&delta->new_file.id))
387
+ if (git_oid_is_zero(&delta->old_file.id) &&
388
+ git_oid_is_zero(&delta->new_file.id))
386
389
  return true;
387
390
 
388
391
  if (delta->old_file.mode == GIT_FILEMODE_COMMIT ||
@@ -400,7 +403,8 @@ int git_diff_delta__format_file_header(
400
403
  const git_diff_delta *delta,
401
404
  const char *oldpfx,
402
405
  const char *newpfx,
403
- int id_strlen)
406
+ int id_strlen,
407
+ bool print_index)
404
408
  {
405
409
  git_buf old_path = GIT_BUF_INIT, new_path = GIT_BUF_INIT;
406
410
  bool unchanged = delta_is_unchanged(delta);
@@ -431,7 +435,8 @@ int git_diff_delta__format_file_header(
431
435
  }
432
436
 
433
437
  if (!unchanged) {
434
- if ((error = diff_print_oid_range(out, delta, id_strlen)) < 0)
438
+ if ((error = diff_print_oid_range(out, delta,
439
+ id_strlen, print_index)) < 0)
435
440
  goto done;
436
441
 
437
442
  if ((delta->flags & GIT_DIFF_FLAG_BINARY) == 0)
@@ -540,7 +545,7 @@ static int diff_print_patch_file_binary(
540
545
  binary->old_file.datalen, binary->old_file.inflatedlen)) < 0) {
541
546
 
542
547
  if (error == GIT_EBUFS) {
543
- giterr_clear();
548
+ git_error_clear();
544
549
  git_buf_truncate(pi->buf, pre_binary_size);
545
550
 
546
551
  return diff_print_patch_file_binary_noshow(
@@ -566,6 +571,7 @@ static int diff_print_patch_file(
566
571
  (pi->flags & GIT_DIFF_FORCE_BINARY);
567
572
  bool show_binary = !!(pi->flags & GIT_DIFF_SHOW_BINARY);
568
573
  int id_strlen = pi->id_strlen;
574
+ bool print_index = (pi->format != GIT_DIFF_FORMAT_PATCH_ID);
569
575
 
570
576
  if (binary && show_binary)
571
577
  id_strlen = delta->old_file.id_abbrev ? delta->old_file.id_abbrev :
@@ -582,7 +588,8 @@ static int diff_print_patch_file(
582
588
  return 0;
583
589
 
584
590
  if ((error = git_diff_delta__format_file_header(
585
- pi->buf, delta, oldpfx, newpfx, id_strlen)) < 0)
591
+ pi->buf, delta, oldpfx, newpfx,
592
+ id_strlen, print_index)) < 0)
586
593
  return error;
587
594
 
588
595
  pi->line.origin = GIT_DIFF_LINE_FILE_HDR;
@@ -670,6 +677,11 @@ int git_diff_print(
670
677
  print_hunk = diff_print_patch_hunk;
671
678
  print_line = diff_print_patch_line;
672
679
  break;
680
+ case GIT_DIFF_FORMAT_PATCH_ID:
681
+ print_file = diff_print_patch_file;
682
+ print_binary = diff_print_patch_binary;
683
+ print_line = diff_print_patch_line;
684
+ break;
673
685
  case GIT_DIFF_FORMAT_PATCH_HEADER:
674
686
  print_file = diff_print_patch_file;
675
687
  break;
@@ -683,7 +695,7 @@ int git_diff_print(
683
695
  print_file = diff_print_one_name_status;
684
696
  break;
685
697
  default:
686
- giterr_set(GITERR_INVALID, "unknown diff output format (%d)", format);
698
+ git_error_set(GIT_ERROR_INVALID, "unknown diff output format (%d)", format);
687
699
  return -1;
688
700
  }
689
701
 
@@ -693,7 +705,7 @@ int git_diff_print(
693
705
  diff, print_file, print_binary, print_hunk, print_line, &pi);
694
706
 
695
707
  if (error) /* make sure error message is set */
696
- giterr_set_after_callback_function(error, "git_diff_print");
708
+ git_error_set_after_callback_function(error, "git_diff_print");
697
709
  }
698
710
 
699
711
  git_buf_dispose(&buf);
@@ -711,7 +723,7 @@ int git_diff_print_callback__to_buf(
711
723
  GIT_UNUSED(delta); GIT_UNUSED(hunk);
712
724
 
713
725
  if (!output) {
714
- giterr_set(GITERR_INVALID, "buffer pointer must be provided");
726
+ git_error_set(GIT_ERROR_INVALID, "buffer pointer must be provided");
715
727
  return -1;
716
728
  }
717
729
 
@@ -773,7 +785,7 @@ int git_patch_print(
773
785
  &pi);
774
786
 
775
787
  if (error) /* make sure error message is set */
776
- giterr_set_after_callback_function(error, "git_patch_print");
788
+ git_error_set_after_callback_function(error, "git_patch_print");
777
789
  }
778
790
 
779
791
  git_buf_dispose(&temp);
@@ -54,22 +54,37 @@ int git_diff_file_stats__full_to_buf(
54
54
  size_t width)
55
55
  {
56
56
  const char *old_path = NULL, *new_path = NULL;
57
- size_t padding, old_size, new_size;
57
+ size_t padding;
58
+ git_object_size_t old_size, new_size;
58
59
 
59
60
  old_path = delta->old_file.path;
60
61
  new_path = delta->new_file.path;
61
62
  old_size = delta->old_file.size;
62
63
  new_size = delta->new_file.size;
63
64
 
64
- if (git_buf_printf(out, " %s", old_path) < 0)
65
- goto on_error;
66
-
67
65
  if (strcmp(old_path, new_path) != 0) {
66
+ size_t common_dirlen;
67
+ int error;
68
+
68
69
  padding = stats->max_name - strlen(old_path) - strlen(new_path);
69
70
 
70
- if (git_buf_printf(out, DIFF_RENAME_FILE_SEPARATOR "%s", new_path) < 0)
71
+ if ((common_dirlen = git_path_common_dirlen(old_path, new_path)) &&
72
+ common_dirlen <= INT_MAX) {
73
+ error = git_buf_printf(out, " %.*s{%s"DIFF_RENAME_FILE_SEPARATOR"%s}",
74
+ (int) common_dirlen, old_path,
75
+ old_path + common_dirlen,
76
+ new_path + common_dirlen);
77
+ } else {
78
+ error = git_buf_printf(out, " %s" DIFF_RENAME_FILE_SEPARATOR "%s",
79
+ old_path, new_path);
80
+ }
81
+
82
+ if (error < 0)
71
83
  goto on_error;
72
84
  } else {
85
+ if (git_buf_printf(out, " %s", old_path) < 0)
86
+ goto on_error;
87
+
73
88
  padding = stats->max_name - strlen(old_path);
74
89
 
75
90
  if (stats->renames > 0)
@@ -82,7 +97,7 @@ int git_diff_file_stats__full_to_buf(
82
97
 
83
98
  if (delta->flags & GIT_DIFF_FLAG_BINARY) {
84
99
  if (git_buf_printf(out,
85
- "Bin %" PRIuZ " -> %" PRIuZ " bytes", old_size, new_size) < 0)
100
+ "Bin %" PRId64 " -> %" PRId64 " bytes", old_size, new_size) < 0)
86
101
  goto on_error;
87
102
  }
88
103
  else {
@@ -170,7 +185,7 @@ int git_diff_get_stats(
170
185
  assert(out && diff);
171
186
 
172
187
  stats = git__calloc(1, sizeof(git_diff_stats));
173
- GITERR_CHECK_ALLOC(stats);
188
+ GIT_ERROR_CHECK_ALLOC(stats);
174
189
 
175
190
  deltas = git_diff_num_deltas(diff);
176
191
 
@@ -14,7 +14,7 @@
14
14
  #include "diff.h"
15
15
  #include "diff_generate.h"
16
16
  #include "path.h"
17
- #include "fileops.h"
17
+ #include "futils.h"
18
18
  #include "config.h"
19
19
 
20
20
  git_diff_delta *git_diff__delta_dup(
@@ -131,7 +131,7 @@ int git_diff__merge(
131
131
 
132
132
  if (ignore_case != ((from->opts.flags & GIT_DIFF_IGNORE_CASE) != 0) ||
133
133
  reversed != ((from->opts.flags & GIT_DIFF_REVERSE) != 0)) {
134
- giterr_set(GITERR_INVALID,
134
+ git_error_set(GIT_ERROR_INVALID,
135
135
  "attempt to merge diffs created with conflicting options");
136
136
  return -1;
137
137
  }
@@ -251,7 +251,7 @@ static int normalize_find_opts(
251
251
  git_config *cfg = NULL;
252
252
  git_hashsig_option_t hashsig_opts;
253
253
 
254
- GITERR_CHECK_VERSION(given, GIT_DIFF_FIND_OPTIONS_VERSION, "git_diff_find_options");
254
+ GIT_ERROR_CHECK_VERSION(given, GIT_DIFF_FIND_OPTIONS_VERSION, "git_diff_find_options");
255
255
 
256
256
  if (diff->repo != NULL &&
257
257
  git_repository_config__weakptr(&cfg, diff->repo) < 0)
@@ -332,7 +332,7 @@ static int normalize_find_opts(
332
332
  /* assign the internal metric with whitespace flag as payload */
333
333
  if (!opts->metric) {
334
334
  opts->metric = git__malloc(sizeof(git_diff_similarity_metric));
335
- GITERR_CHECK_ALLOC(opts->metric);
335
+ GIT_ERROR_CHECK_ALLOC(opts->metric);
336
336
 
337
337
  opts->metric->file_signature = git_diff_find_similar__hashsig_for_file;
338
338
  opts->metric->buffer_signature = git_diff_find_similar__hashsig_for_buf;
@@ -357,7 +357,7 @@ static int insert_delete_side_of_split(
357
357
  {
358
358
  /* make new record for DELETED side of split */
359
359
  git_diff_delta *deleted = git_diff__delta_dup(delta, &diff->pool);
360
- GITERR_CHECK_ALLOC(deleted);
360
+ GIT_ERROR_CHECK_ALLOC(deleted);
361
361
 
362
362
  deleted->status = GIT_DELTA_DELETED;
363
363
  deleted->nfiles = 1;
@@ -496,13 +496,13 @@ static int similarity_sig(
496
496
  if (info->odb_obj != NULL)
497
497
  error = git_object__from_odb_object(
498
498
  (git_object **)&info->blob, info->repo,
499
- info->odb_obj, GIT_OBJ_BLOB);
499
+ info->odb_obj, GIT_OBJECT_BLOB);
500
500
  else
501
501
  error = git_blob_lookup(&info->blob, info->repo, &file->id);
502
502
 
503
503
  if (error < 0) {
504
504
  /* if lookup fails, just skip this item in similarity calc */
505
- giterr_clear();
505
+ git_error_clear();
506
506
  } else {
507
507
  size_t sz;
508
508
 
@@ -510,7 +510,7 @@ static int similarity_sig(
510
510
  if (file->size != git_blob_rawsize(info->blob))
511
511
  file->size = git_blob_rawsize(info->blob);
512
512
 
513
- sz = (size_t)(git__is_sizet(file->size) ? file->size : -1);
513
+ sz = git__is_sizet(file->size) ? (size_t)file->size : (size_t)-1;
514
514
 
515
515
  error = opts->metric->buffer_signature(
516
516
  &cache[info->idx], info->file,
@@ -560,13 +560,13 @@ static int similarity_measure(
560
560
 
561
561
  /* if exact match is requested, force calculation of missing OIDs now */
562
562
  if (exact_match) {
563
- if (git_oid_iszero(&a_file->id) &&
563
+ if (git_oid_is_zero(&a_file->id) &&
564
564
  diff->old_src == GIT_ITERATOR_TYPE_WORKDIR &&
565
565
  !git_diff__oid_for_file(&a_file->id,
566
566
  diff, a_file->path, a_file->mode, a_file->size))
567
567
  a_file->flags |= GIT_DIFF_FLAG_VALID_ID;
568
568
 
569
- if (git_oid_iszero(&b_file->id) &&
569
+ if (git_oid_is_zero(&b_file->id) &&
570
570
  diff->new_src == GIT_ITERATOR_TYPE_WORKDIR &&
571
571
  !git_diff__oid_for_file(&b_file->id,
572
572
  diff, b_file->path, b_file->mode, b_file->size))
@@ -816,22 +816,24 @@ int git_diff_find_similar(
816
816
  diff_find_match *best_match;
817
817
  git_diff_file swap;
818
818
 
819
+ assert(diff);
820
+
819
821
  if ((error = normalize_find_opts(diff, &opts, given_opts)) < 0)
820
822
  return error;
821
823
 
822
824
  num_deltas = diff->deltas.length;
823
825
 
824
826
  /* TODO: maybe abort if deltas.length > rename_limit ??? */
825
- if (!git__is_uint32(num_deltas))
827
+ if (!num_deltas || !git__is_uint32(num_deltas))
826
828
  goto cleanup;
827
829
 
828
830
  /* No flags set; nothing to do */
829
831
  if ((opts.flags & GIT_DIFF_FIND_ALL) == 0)
830
832
  goto cleanup;
831
833
 
832
- GITERR_CHECK_ALLOC_MULTIPLY(&sigcache_size, num_deltas, 2);
834
+ GIT_ERROR_CHECK_ALLOC_MULTIPLY(&sigcache_size, num_deltas, 2);
833
835
  sigcache = git__calloc(sigcache_size, sizeof(void *));
834
- GITERR_CHECK_ALLOC(sigcache);
836
+ GIT_ERROR_CHECK_ALLOC(sigcache);
835
837
 
836
838
  /* Label rename sources and targets
837
839
  *
@@ -854,13 +856,13 @@ int git_diff_find_similar(
854
856
  goto cleanup;
855
857
 
856
858
  src2tgt = git__calloc(num_deltas, sizeof(diff_find_match));
857
- GITERR_CHECK_ALLOC(src2tgt);
859
+ GIT_ERROR_CHECK_ALLOC(src2tgt);
858
860
  tgt2src = git__calloc(num_deltas, sizeof(diff_find_match));
859
- GITERR_CHECK_ALLOC(tgt2src);
861
+ GIT_ERROR_CHECK_ALLOC(tgt2src);
860
862
 
861
863
  if (FLAG_SET(&opts, GIT_DIFF_FIND_COPIES)) {
862
864
  tgt2src_copy = git__calloc(num_deltas, sizeof(diff_find_match));
863
- GITERR_CHECK_ALLOC(tgt2src_copy);
865
+ GIT_ERROR_CHECK_ALLOC(tgt2src_copy);
864
866
  }
865
867
 
866
868
  /*
@@ -52,7 +52,7 @@ static int git_xdiff_parse_hunk(git_diff_hunk *hunk, const char *header)
52
52
  return 0;
53
53
 
54
54
  fail:
55
- giterr_set(GITERR_INVALID, "malformed hunk header from xdiff");
55
+ git_error_set(GIT_ERROR_INVALID, "malformed hunk header from xdiff");
56
56
  return -1;
57
57
  }
58
58
 
@@ -101,7 +101,7 @@ static int diff_update_lines(
101
101
  info->new_lineno += (int)line->num_lines;
102
102
  break;
103
103
  default:
104
- giterr_set(GITERR_INVALID, "unknown diff line origin %02x",
104
+ git_error_set(GIT_ERROR_INVALID, "unknown diff line origin %02x",
105
105
  (unsigned int)line->origin);
106
106
  return -1;
107
107
  }
@@ -224,7 +224,7 @@ static int git_xdiff(git_patch_generated_output *output, git_patch_generated *pa
224
224
 
225
225
  if (info.xd_old_data.size > GIT_XDIFF_MAX_SIZE ||
226
226
  info.xd_new_data.size > GIT_XDIFF_MAX_SIZE) {
227
- giterr_set(GITERR_INVALID, "files too large for diff");
227
+ git_error_set(GIT_ERROR_INVALID, "files too large for diff");
228
228
  return -1;
229
229
  }
230
230
 
@@ -17,7 +17,7 @@
17
17
 
18
18
  static git_error g_git_oom_error = {
19
19
  "Out of memory",
20
- GITERR_NOMEMORY
20
+ GIT_ERROR_NOMEMORY
21
21
  };
22
22
 
23
23
  static void set_error_from_buffer(int error_class)
@@ -44,31 +44,36 @@ static void set_error(int error_class, char *string)
44
44
  set_error_from_buffer(error_class);
45
45
  }
46
46
 
47
- void giterr_set_oom(void)
47
+ void git_error_set_oom(void)
48
48
  {
49
49
  GIT_GLOBAL->last_error = &g_git_oom_error;
50
50
  }
51
51
 
52
- void giterr_set(int error_class, const char *string, ...)
52
+ void git_error_set(int error_class, const char *fmt, ...)
53
+ {
54
+ va_list ap;
55
+
56
+ va_start(ap, fmt);
57
+ git_error_vset(error_class, fmt, ap);
58
+ va_end(ap);
59
+ }
60
+
61
+ void git_error_vset(int error_class, const char *fmt, va_list ap)
53
62
  {
54
- va_list arglist;
55
63
  #ifdef GIT_WIN32
56
- DWORD win32_error_code = (error_class == GITERR_OS) ? GetLastError() : 0;
64
+ DWORD win32_error_code = (error_class == GIT_ERROR_OS) ? GetLastError() : 0;
57
65
  #endif
58
- int error_code = (error_class == GITERR_OS) ? errno : 0;
66
+ int error_code = (error_class == GIT_ERROR_OS) ? errno : 0;
59
67
  git_buf *buf = &GIT_GLOBAL->error_buf;
60
68
 
61
69
  git_buf_clear(buf);
62
- if (string) {
63
- va_start(arglist, string);
64
- git_buf_vprintf(buf, string, arglist);
65
- va_end(arglist);
66
-
67
- if (error_class == GITERR_OS)
70
+ if (fmt) {
71
+ git_buf_vprintf(buf, fmt, ap);
72
+ if (error_class == GIT_ERROR_OS)
68
73
  git_buf_PUTS(buf, ": ");
69
74
  }
70
75
 
71
- if (error_class == GITERR_OS) {
76
+ if (error_class == GIT_ERROR_OS) {
72
77
  #ifdef GIT_WIN32
73
78
  char * win32_error = git_win32_get_error_message(win32_error_code);
74
79
  if (win32_error) {
@@ -90,7 +95,7 @@ void giterr_set(int error_class, const char *string, ...)
90
95
  set_error_from_buffer(error_class);
91
96
  }
92
97
 
93
- void giterr_set_str(int error_class, const char *string)
98
+ void git_error_set_str(int error_class, const char *string)
94
99
  {
95
100
  git_buf *buf = &GIT_GLOBAL->error_buf;
96
101
 
@@ -105,22 +110,7 @@ void giterr_set_str(int error_class, const char *string)
105
110
  set_error_from_buffer(error_class);
106
111
  }
107
112
 
108
- int giterr_set_regex(const regex_t *regex, int error_code)
109
- {
110
- char error_buf[1024];
111
-
112
- assert(error_code);
113
-
114
- regerror(error_code, regex, error_buf, sizeof(error_buf));
115
- giterr_set_str(GITERR_REGEX, error_buf);
116
-
117
- if (error_code == REG_NOMATCH)
118
- return GIT_ENOTFOUND;
119
-
120
- return GIT_EINVALIDSPEC;
121
- }
122
-
123
- void giterr_clear(void)
113
+ void git_error_clear(void)
124
114
  {
125
115
  if (GIT_GLOBAL->last_error != NULL) {
126
116
  set_error(0, NULL);
@@ -133,12 +123,12 @@ void giterr_clear(void)
133
123
  #endif
134
124
  }
135
125
 
136
- const git_error *giterr_last(void)
126
+ const git_error *git_error_last(void)
137
127
  {
138
128
  return GIT_GLOBAL->last_error;
139
129
  }
140
130
 
141
- int giterr_state_capture(git_error_state *state, int error_code)
131
+ int git_error_state_capture(git_error_state *state, int error_code)
142
132
  {
143
133
  git_error *error = GIT_GLOBAL->last_error;
144
134
  git_buf *error_buf = &GIT_GLOBAL->error_buf;
@@ -160,19 +150,19 @@ int giterr_state_capture(git_error_state *state, int error_code)
160
150
  state->error_msg.message = git_buf_detach(error_buf);
161
151
  }
162
152
 
163
- giterr_clear();
153
+ git_error_clear();
164
154
  return error_code;
165
155
  }
166
156
 
167
- int giterr_state_restore(git_error_state *state)
157
+ int git_error_state_restore(git_error_state *state)
168
158
  {
169
159
  int ret = 0;
170
160
 
171
- giterr_clear();
161
+ git_error_clear();
172
162
 
173
163
  if (state && state->error_msg.message) {
174
164
  if (state->oom)
175
- giterr_set_oom();
165
+ git_error_set_oom();
176
166
  else
177
167
  set_error(state->error_msg.klass, state->error_msg.message);
178
168
 
@@ -183,7 +173,7 @@ int giterr_state_restore(git_error_state *state)
183
173
  return ret;
184
174
  }
185
175
 
186
- void giterr_state_free(git_error_state *state)
176
+ void git_error_state_free(git_error_state *state)
187
177
  {
188
178
  if (!state)
189
179
  return;
@@ -194,7 +184,7 @@ void giterr_state_free(git_error_state *state)
194
184
  memset(state, 0, sizeof(git_error_state));
195
185
  }
196
186
 
197
- int giterr_system_last(void)
187
+ int git_error_system_last(void)
198
188
  {
199
189
  #ifdef GIT_WIN32
200
190
  return GetLastError();
@@ -203,7 +193,7 @@ int giterr_system_last(void)
203
193
  #endif
204
194
  }
205
195
 
206
- void giterr_system_set(int code)
196
+ void git_error_system_set(int code)
207
197
  {
208
198
  #ifdef GIT_WIN32
209
199
  SetLastError(code);
@@ -211,3 +201,25 @@ void giterr_system_set(int code)
211
201
  errno = code;
212
202
  #endif
213
203
  }
204
+
205
+ /* Deprecated error values and functions */
206
+
207
+ const git_error *giterr_last(void)
208
+ {
209
+ return git_error_last();
210
+ }
211
+
212
+ void giterr_clear(void)
213
+ {
214
+ git_error_clear();
215
+ }
216
+
217
+ void giterr_set_str(int error_class, const char *string)
218
+ {
219
+ git_error_set_str(error_class, string);
220
+ }
221
+
222
+ void giterr_set_oom(void)
223
+ {
224
+ git_error_set_oom();
225
+ }
@@ -0,0 +1,81 @@
1
+ /*
2
+ * Copyright (C) the libgit2 contributors. All rights reserved.
3
+ *
4
+ * This file is part of libgit2, distributed under the GNU GPL v2 with
5
+ * a Linking Exception. For full terms see the included COPYING file.
6
+ */
7
+
8
+ #ifndef INCLUDE_errors_h__
9
+ #define INCLUDE_errors_h__
10
+
11
+ #include "common.h"
12
+
13
+ /*
14
+ * Set the error message for this thread, formatting as needed.
15
+ */
16
+ void git_error_set(int error_class, const char *fmt, ...) GIT_FORMAT_PRINTF(2, 3);
17
+ void git_error_vset(int error_class, const char *fmt, va_list ap);
18
+
19
+ /**
20
+ * Set error message for user callback if needed.
21
+ *
22
+ * If the error code in non-zero and no error message is set, this
23
+ * sets a generic error message.
24
+ *
25
+ * @return This always returns the `error_code` parameter.
26
+ */
27
+ GIT_INLINE(int) git_error_set_after_callback_function(
28
+ int error_code, const char *action)
29
+ {
30
+ if (error_code) {
31
+ const git_error *e = git_error_last();
32
+ if (!e || !e->message)
33
+ git_error_set(e ? e->klass : GIT_ERROR_CALLBACK,
34
+ "%s callback returned %d", action, error_code);
35
+ }
36
+ return error_code;
37
+ }
38
+
39
+ #ifdef GIT_WIN32
40
+ #define git_error_set_after_callback(code) \
41
+ git_error_set_after_callback_function((code), __FUNCTION__)
42
+ #else
43
+ #define git_error_set_after_callback(code) \
44
+ git_error_set_after_callback_function((code), __func__)
45
+ #endif
46
+
47
+ /**
48
+ * Gets the system error code for this thread.
49
+ */
50
+ int git_error_system_last(void);
51
+
52
+ /**
53
+ * Sets the system error code for this thread.
54
+ */
55
+ void git_error_system_set(int code);
56
+
57
+ /**
58
+ * Structure to preserve libgit2 error state
59
+ */
60
+ typedef struct {
61
+ int error_code;
62
+ unsigned int oom : 1;
63
+ git_error error_msg;
64
+ } git_error_state;
65
+
66
+ /**
67
+ * Capture current error state to restore later, returning error code.
68
+ * If `error_code` is zero, this does not clear the current error state.
69
+ * You must either restore this error state, or free it.
70
+ */
71
+ extern int git_error_state_capture(git_error_state *state, int error_code);
72
+
73
+ /**
74
+ * Restore error state to a previous value, returning saved error code.
75
+ */
76
+ extern int git_error_state_restore(git_error_state *state);
77
+
78
+ /** Free an error state. */
79
+ extern void git_error_state_free(git_error_state *state);
80
+
81
+ #endif
@@ -15,15 +15,21 @@
15
15
  #cmakedefine GIT_USE_STAT_MTIMESPEC 1
16
16
  #cmakedefine GIT_USE_STAT_MTIME_NSEC 1
17
17
  #cmakedefine GIT_USE_FUTIMENS 1
18
- #cmakedefine GIT_USE_REGCOMP_L 1
18
+
19
+ #cmakedefine GIT_REGEX_REGCOMP_L
20
+ #cmakedefine GIT_REGEX_REGCOMP
21
+ #cmakedefine GIT_REGEX_PCRE
22
+ #cmakedefine GIT_REGEX_PCRE2
23
+ #cmakedefine GIT_REGEX_BUILTIN 1
19
24
 
20
25
  #cmakedefine GIT_SSH 1
21
26
  #cmakedefine GIT_SSH_MEMORY_CREDENTIALS 1
22
27
 
28
+ #cmakedefine GIT_NTLM 1
23
29
  #cmakedefine GIT_GSSAPI 1
24
- #cmakedefine GIT_WINHTTP 1
25
- #cmakedefine GIT_CURL 1
30
+ #cmakedefine GIT_GSSFRAMEWORK 1
26
31
 
32
+ #cmakedefine GIT_WINHTTP 1
27
33
  #cmakedefine GIT_HTTPS 1
28
34
  #cmakedefine GIT_OPENSSL 1
29
35
  #cmakedefine GIT_SECURE_TRANSPORT 1