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
@@ -37,34 +37,34 @@ extern bool git_repository__fsync_gitdir;
37
37
 
38
38
  /** Cvar cache identifiers */
39
39
  typedef enum {
40
- GIT_CVAR_AUTO_CRLF = 0, /* core.autocrlf */
41
- GIT_CVAR_EOL, /* core.eol */
42
- GIT_CVAR_SYMLINKS, /* core.symlinks */
43
- GIT_CVAR_IGNORECASE, /* core.ignorecase */
44
- GIT_CVAR_FILEMODE, /* core.filemode */
45
- GIT_CVAR_IGNORESTAT, /* core.ignorestat */
46
- GIT_CVAR_TRUSTCTIME, /* core.trustctime */
47
- GIT_CVAR_ABBREV, /* core.abbrev */
48
- GIT_CVAR_PRECOMPOSE, /* core.precomposeunicode */
49
- GIT_CVAR_SAFE_CRLF, /* core.safecrlf */
50
- GIT_CVAR_LOGALLREFUPDATES, /* core.logallrefupdates */
51
- GIT_CVAR_PROTECTHFS, /* core.protectHFS */
52
- GIT_CVAR_PROTECTNTFS, /* core.protectNTFS */
53
- GIT_CVAR_FSYNCOBJECTFILES, /* core.fsyncObjectFiles */
54
- GIT_CVAR_CACHE_MAX
55
- } git_cvar_cached;
40
+ GIT_CONFIGMAP_AUTO_CRLF = 0, /* core.autocrlf */
41
+ GIT_CONFIGMAP_EOL, /* core.eol */
42
+ GIT_CONFIGMAP_SYMLINKS, /* core.symlinks */
43
+ GIT_CONFIGMAP_IGNORECASE, /* core.ignorecase */
44
+ GIT_CONFIGMAP_FILEMODE, /* core.filemode */
45
+ GIT_CONFIGMAP_IGNORESTAT, /* core.ignorestat */
46
+ GIT_CONFIGMAP_TRUSTCTIME, /* core.trustctime */
47
+ GIT_CONFIGMAP_ABBREV, /* core.abbrev */
48
+ GIT_CONFIGMAP_PRECOMPOSE, /* core.precomposeunicode */
49
+ GIT_CONFIGMAP_SAFE_CRLF, /* core.safecrlf */
50
+ GIT_CONFIGMAP_LOGALLREFUPDATES, /* core.logallrefupdates */
51
+ GIT_CONFIGMAP_PROTECTHFS, /* core.protectHFS */
52
+ GIT_CONFIGMAP_PROTECTNTFS, /* core.protectNTFS */
53
+ GIT_CONFIGMAP_FSYNCOBJECTFILES, /* core.fsyncObjectFiles */
54
+ GIT_CONFIGMAP_CACHE_MAX
55
+ } git_configmap_item;
56
56
 
57
57
  /**
58
- * CVAR value enumerations
58
+ * Configuration map value enumerations
59
59
  *
60
- * These are the values that are actually stored in the cvar cache, instead
61
- * of their string equivalents. These values are internal and symbolic;
62
- * make sure that none of them is set to `-1`, since that is the unique
63
- * identifier for "not cached"
60
+ * These are the values that are actually stored in the configmap cache,
61
+ * instead of their string equivalents. These values are internal and
62
+ * symbolic; make sure that none of them is set to `-1`, since that is
63
+ * the unique identifier for "not cached"
64
64
  */
65
65
  typedef enum {
66
66
  /* The value hasn't been loaded from the cache yet */
67
- GIT_CVAR_NOT_CACHED = -1,
67
+ GIT_CONFIGMAP_NOT_CACHED = -1,
68
68
 
69
69
  /* core.safecrlf: false, 'fail', 'warn' */
70
70
  GIT_SAFE_CRLF_FALSE = 0,
@@ -89,31 +89,34 @@ typedef enum {
89
89
  GIT_EOL_DEFAULT = GIT_EOL_NATIVE,
90
90
 
91
91
  /* core.symlinks: bool */
92
- GIT_SYMLINKS_DEFAULT = GIT_CVAR_TRUE,
92
+ GIT_SYMLINKS_DEFAULT = GIT_CONFIGMAP_TRUE,
93
93
  /* core.ignorecase */
94
- GIT_IGNORECASE_DEFAULT = GIT_CVAR_FALSE,
94
+ GIT_IGNORECASE_DEFAULT = GIT_CONFIGMAP_FALSE,
95
95
  /* core.filemode */
96
- GIT_FILEMODE_DEFAULT = GIT_CVAR_TRUE,
96
+ GIT_FILEMODE_DEFAULT = GIT_CONFIGMAP_TRUE,
97
97
  /* core.ignorestat */
98
- GIT_IGNORESTAT_DEFAULT = GIT_CVAR_FALSE,
98
+ GIT_IGNORESTAT_DEFAULT = GIT_CONFIGMAP_FALSE,
99
99
  /* core.trustctime */
100
- GIT_TRUSTCTIME_DEFAULT = GIT_CVAR_TRUE,
100
+ GIT_TRUSTCTIME_DEFAULT = GIT_CONFIGMAP_TRUE,
101
101
  /* core.abbrev */
102
102
  GIT_ABBREV_DEFAULT = 7,
103
103
  /* core.precomposeunicode */
104
- GIT_PRECOMPOSE_DEFAULT = GIT_CVAR_FALSE,
104
+ GIT_PRECOMPOSE_DEFAULT = GIT_CONFIGMAP_FALSE,
105
105
  /* core.safecrlf */
106
- GIT_SAFE_CRLF_DEFAULT = GIT_CVAR_FALSE,
106
+ GIT_SAFE_CRLF_DEFAULT = GIT_CONFIGMAP_FALSE,
107
107
  /* core.logallrefupdates */
108
+ GIT_LOGALLREFUPDATES_FALSE = GIT_CONFIGMAP_FALSE,
109
+ GIT_LOGALLREFUPDATES_TRUE = GIT_CONFIGMAP_TRUE,
108
110
  GIT_LOGALLREFUPDATES_UNSET = 2,
111
+ GIT_LOGALLREFUPDATES_ALWAYS = 3,
109
112
  GIT_LOGALLREFUPDATES_DEFAULT = GIT_LOGALLREFUPDATES_UNSET,
110
113
  /* core.protectHFS */
111
- GIT_PROTECTHFS_DEFAULT = GIT_CVAR_FALSE,
114
+ GIT_PROTECTHFS_DEFAULT = GIT_CONFIGMAP_FALSE,
112
115
  /* core.protectNTFS */
113
- GIT_PROTECTNTFS_DEFAULT = GIT_CVAR_FALSE,
116
+ GIT_PROTECTNTFS_DEFAULT = GIT_CONFIGMAP_TRUE,
114
117
  /* core.fsyncObjectFiles */
115
- GIT_FSYNCOBJECTFILES_DEFAULT = GIT_CVAR_FALSE,
116
- } git_cvar_value;
118
+ GIT_FSYNCOBJECTFILES_DEFAULT = GIT_CONFIGMAP_FALSE,
119
+ } git_configmap_value;
117
120
 
118
121
  /* internal repository init flags */
119
122
  enum {
@@ -151,7 +154,7 @@ struct git_repository {
151
154
 
152
155
  git_atomic attr_session_key;
153
156
 
154
- git_cvar_value cvar_cache[GIT_CVAR_CACHE_MAX];
157
+ git_configmap_value configmap_cache[GIT_CONFIGMAP_CACHE_MAX];
155
158
  git_strmap *submodule_cache;
156
159
  };
157
160
 
@@ -173,6 +176,13 @@ int git_repository_create_head(const char *git_dir, const char *ref_name);
173
176
  */
174
177
  typedef int (*git_repository_foreach_head_cb)(git_repository *repo, const char *path, void *payload);
175
178
 
179
+ enum {
180
+ /* Skip enumeration of the main repository HEAD */
181
+ GIT_REPOSITORY_FOREACH_HEAD_SKIP_REPO = (1u << 0),
182
+ /* Skip enumeration of worktree HEADs */
183
+ GIT_REPOSITORY_FOREACH_HEAD_SKIP_WORKTREES = (1u << 1),
184
+ };
185
+
176
186
  /*
177
187
  * Iterate over repository and all worktree HEADs.
178
188
  *
@@ -181,7 +191,9 @@ typedef int (*git_repository_foreach_head_cb)(git_repository *repo, const char *
181
191
  * executed with the given payload. The return value equals the
182
192
  * return value of the last executed callback function.
183
193
  */
184
- int git_repository_foreach_head(git_repository *repo, git_repository_foreach_head_cb cb, void *payload);
194
+ int git_repository_foreach_head(git_repository *repo,
195
+ git_repository_foreach_head_cb cb,
196
+ int flags, void *payload);
185
197
 
186
198
  /*
187
199
  * Weak pointers to repository internals.
@@ -196,13 +208,13 @@ int git_repository_refdb__weakptr(git_refdb **out, git_repository *repo);
196
208
  int git_repository_index__weakptr(git_index **out, git_repository *repo);
197
209
 
198
210
  /*
199
- * CVAR cache
211
+ * Configuration map cache
200
212
  *
201
213
  * Efficient access to the most used config variables of a repository.
202
214
  * The cache is cleared every time the config backend is replaced.
203
215
  */
204
- int git_repository__cvar(int *out, git_repository *repo, git_cvar_cached cvar);
205
- void git_repository__cvar_cache_clear(git_repository *repo);
216
+ int git_repository__configmap_lookup(int *out, git_repository *repo, git_configmap_item item);
217
+ void git_repository__configmap_lookup_cache_clear(git_repository *repo);
206
218
 
207
219
  GIT_INLINE(int) git_repository__ensure_not_bare(
208
220
  git_repository *repo,
@@ -211,8 +223,8 @@ GIT_INLINE(int) git_repository__ensure_not_bare(
211
223
  if (!git_repository_is_bare(repo))
212
224
  return 0;
213
225
 
214
- giterr_set(
215
- GITERR_REPOSITORY,
226
+ git_error_set(
227
+ GIT_ERROR_REPOSITORY,
216
228
  "cannot %s. This operation is not allowed against bare repositories.",
217
229
  operation_name);
218
230
 
@@ -42,12 +42,12 @@ int git_reset_default(
42
42
 
43
43
  if (target) {
44
44
  if (git_object_owner(target) != repo) {
45
- giterr_set(GITERR_OBJECT,
45
+ git_error_set(GIT_ERROR_OBJECT,
46
46
  "%s_default - The given target does not belong to this repository.", ERROR_MSG);
47
47
  return -1;
48
48
  }
49
49
 
50
- if ((error = git_object_peel(&commit, target, GIT_OBJ_COMMIT)) < 0 ||
50
+ if ((error = git_object_peel(&commit, target, GIT_OBJECT_COMMIT)) < 0 ||
51
51
  (error = git_commit_tree(&tree, (git_commit *)commit)) < 0)
52
52
  goto cleanup;
53
53
  }
@@ -70,7 +70,7 @@ int git_reset_default(
70
70
  error = git_index_conflict_remove(index, delta->old_file.path);
71
71
  if (error < 0) {
72
72
  if (delta->status == GIT_DELTA_ADDED && error == GIT_ENOTFOUND)
73
- giterr_clear();
73
+ git_error_clear();
74
74
  else
75
75
  goto cleanup;
76
76
  }
@@ -119,7 +119,7 @@ static int reset(
119
119
  opts = *checkout_opts;
120
120
 
121
121
  if (git_object_owner(target) != repo) {
122
- giterr_set(GITERR_OBJECT,
122
+ git_error_set(GIT_ERROR_OBJECT,
123
123
  "%s - The given target does not belong to this repository.", ERROR_MSG);
124
124
  return -1;
125
125
  }
@@ -129,7 +129,7 @@ static int reset(
129
129
  reset_type == GIT_RESET_MIXED ? "reset mixed" : "reset hard")) < 0)
130
130
  return error;
131
131
 
132
- if ((error = git_object_peel(&commit, target, GIT_OBJ_COMMIT)) < 0 ||
132
+ if ((error = git_object_peel(&commit, target, GIT_OBJECT_COMMIT)) < 0 ||
133
133
  (error = git_repository_index(&index, repo)) < 0 ||
134
134
  (error = git_commit_tree(&tree, (git_commit *)commit)) < 0)
135
135
  goto cleanup;
@@ -138,7 +138,7 @@ static int reset(
138
138
  (git_repository_state(repo) == GIT_REPOSITORY_STATE_MERGE ||
139
139
  git_index_has_conflicts(index)))
140
140
  {
141
- giterr_set(GITERR_OBJECT, "%s (soft) in the middle of a merge", ERROR_MSG);
141
+ git_error_set(GIT_ERROR_OBJECT, "%s (soft) in the middle of a merge", ERROR_MSG);
142
142
  error = GIT_EUNMERGED;
143
143
  goto cleanup;
144
144
  }
@@ -167,7 +167,7 @@ static int reset(
167
167
  goto cleanup;
168
168
 
169
169
  if ((error = git_repository_state_cleanup(repo)) < 0) {
170
- giterr_set(GITERR_INDEX, "%s - failed to clean up merge data", ERROR_MSG);
170
+ git_error_set(GIT_ERROR_INDEX, "%s - failed to clean up merge data", ERROR_MSG);
171
171
  goto cleanup;
172
172
  }
173
173
  }
@@ -29,7 +29,7 @@ static int write_revert_head(
29
29
  int error = 0;
30
30
 
31
31
  if ((error = git_buf_joinpath(&file_path, repo->gitdir, GIT_REVERT_HEAD_FILE)) >= 0 &&
32
- (error = git_filebuf_open(&file, file_path.ptr, GIT_FILEBUF_FORCE, GIT_REVERT_FILE_MODE)) >= 0 &&
32
+ (error = git_filebuf_open(&file, file_path.ptr, GIT_FILEBUF_CREATE_LEADING_DIRS, GIT_REVERT_FILE_MODE)) >= 0 &&
33
33
  (error = git_filebuf_printf(&file, "%s\n", commit_oidstr)) >= 0)
34
34
  error = git_filebuf_commit(&file);
35
35
 
@@ -51,7 +51,7 @@ static int write_merge_msg(
51
51
  int error = 0;
52
52
 
53
53
  if ((error = git_buf_joinpath(&file_path, repo->gitdir, GIT_MERGE_MSG_FILE)) < 0 ||
54
- (error = git_filebuf_open(&file, file_path.ptr, GIT_FILEBUF_FORCE, GIT_REVERT_FILE_MODE)) < 0 ||
54
+ (error = git_filebuf_open(&file, file_path.ptr, GIT_FILEBUF_CREATE_LEADING_DIRS, GIT_REVERT_FILE_MODE)) < 0 ||
55
55
  (error = git_filebuf_printf(&file, "Revert \"%s\"\n\nThis reverts commit %s.\n",
56
56
  commit_msgline, commit_oidstr)) < 0)
57
57
  goto cleanup;
@@ -112,7 +112,7 @@ static int revert_seterr(git_commit *commit, const char *fmt)
112
112
  git_oid_fmt(commit_oidstr, git_commit_id(commit));
113
113
  commit_oidstr[GIT_OID_HEXSZ] = '\0';
114
114
 
115
- giterr_set(GITERR_REVERT, fmt, commit_oidstr);
115
+ git_error_set(GIT_ERROR_REVERT, fmt, commit_oidstr);
116
116
 
117
117
  return -1;
118
118
  }
@@ -182,7 +182,7 @@ int git_revert(
182
182
 
183
183
  assert(repo && commit);
184
184
 
185
- GITERR_CHECK_VERSION(given_opts, GIT_REVERT_OPTIONS_VERSION, "git_revert_options");
185
+ GIT_ERROR_CHECK_VERSION(given_opts, GIT_REVERT_OPTIONS_VERSION, "git_revert_options");
186
186
 
187
187
  if ((error = git_repository__ensure_not_bare(repo, "revert")) < 0)
188
188
  return error;
@@ -201,7 +201,7 @@ int git_revert(
201
201
  (error = write_revert_head(repo, commit_oidstr)) < 0 ||
202
202
  (error = write_merge_msg(repo, commit_oidstr, commit_msg)) < 0 ||
203
203
  (error = git_repository_head(&our_ref, repo)) < 0 ||
204
- (error = git_reference_peel((git_object **)&our_commit, our_ref, GIT_OBJ_COMMIT)) < 0 ||
204
+ (error = git_reference_peel((git_object **)&our_commit, our_ref, GIT_OBJECT_COMMIT)) < 0 ||
205
205
  (error = git_revert_commit(&index, repo, commit, our_commit, opts.mainline, &opts.merge_opts)) < 0 ||
206
206
  (error = git_merge__check_result(repo, index)) < 0 ||
207
207
  (error = git_merge__append_conflicts_to_merge_msg(repo, index)) < 0 ||
@@ -224,9 +224,14 @@ done:
224
224
  return error;
225
225
  }
226
226
 
227
- int git_revert_init_options(git_revert_options *opts, unsigned int version)
227
+ int git_revert_options_init(git_revert_options *opts, unsigned int version)
228
228
  {
229
229
  GIT_INIT_STRUCTURE_FROM_TEMPLATE(
230
230
  opts, version, git_revert_options, GIT_REVERT_OPTIONS_INIT);
231
231
  return 0;
232
232
  }
233
+
234
+ int git_revert_init_options(git_revert_options *opts, unsigned int version)
235
+ {
236
+ return git_revert_options_init(opts, version);
237
+ }
@@ -7,11 +7,10 @@
7
7
 
8
8
  #include "common.h"
9
9
 
10
- #include <assert.h>
11
-
12
10
  #include "buffer.h"
13
11
  #include "tree.h"
14
12
  #include "refdb.h"
13
+ #include "regexp.h"
15
14
 
16
15
  #include "git2.h"
17
16
 
@@ -22,7 +21,7 @@ static int maybe_sha_or_abbrev(git_object** out, git_repository *repo, const cha
22
21
  if (git_oid_fromstrn(&oid, spec, speclen) < 0)
23
22
  return GIT_ENOTFOUND;
24
23
 
25
- return git_object_lookup_prefix(out, repo, &oid, speclen, GIT_OBJ_ANY);
24
+ return git_object_lookup_prefix(out, repo, &oid, speclen, GIT_OBJECT_ANY);
26
25
  }
27
26
 
28
27
  static int maybe_sha(git_object** out, git_repository *repo, const char *spec)
@@ -42,22 +41,20 @@ static int maybe_abbrev(git_object** out, git_repository *repo, const char *spec
42
41
  return maybe_sha_or_abbrev(out, repo, spec, speclen);
43
42
  }
44
43
 
45
- static int build_regex(regex_t *regex, const char *pattern)
44
+ static int build_regex(git_regexp *regex, const char *pattern)
46
45
  {
47
46
  int error;
48
47
 
49
48
  if (*pattern == '\0') {
50
- giterr_set(GITERR_REGEX, "empty pattern");
49
+ git_error_set(GIT_ERROR_REGEX, "empty pattern");
51
50
  return GIT_EINVALIDSPEC;
52
51
  }
53
52
 
54
- error = p_regcomp(regex, pattern, REG_EXTENDED);
53
+ error = git_regexp_compile(regex, pattern, 0);
55
54
  if (!error)
56
55
  return 0;
57
56
 
58
- error = giterr_set_regex(regex, error);
59
-
60
- regfree(regex);
57
+ git_regexp_dispose(regex);
61
58
 
62
59
  return error;
63
60
  }
@@ -66,7 +63,7 @@ static int maybe_describe(git_object**out, git_repository *repo, const char *spe
66
63
  {
67
64
  const char *substr;
68
65
  int error;
69
- regex_t regex;
66
+ git_regexp regex;
70
67
 
71
68
  substr = strstr(spec, "-g");
72
69
 
@@ -76,8 +73,8 @@ static int maybe_describe(git_object**out, git_repository *repo, const char *spe
76
73
  if (build_regex(&regex, ".+-[0-9]+-g[0-9a-fA-F]+") < 0)
77
74
  return -1;
78
75
 
79
- error = regexec(&regex, spec, 0, NULL, 0);
80
- regfree(&regex);
76
+ error = git_regexp_match(&regex, spec);
77
+ git_regexp_dispose(&regex);
81
78
 
82
79
  if (error)
83
80
  return GIT_ENOTFOUND;
@@ -101,7 +98,7 @@ static int revparse_lookup_object(
101
98
  if (!error) {
102
99
 
103
100
  error = git_object_lookup(
104
- object_out, repo, git_reference_target(ref), GIT_OBJ_ANY);
101
+ object_out, repo, git_reference_target(ref), GIT_OBJECT_ANY);
105
102
 
106
103
  if (!error)
107
104
  *reference_out = ref;
@@ -119,7 +116,7 @@ static int revparse_lookup_object(
119
116
  if ((error = maybe_describe(object_out, repo, spec)) != GIT_ENOTFOUND)
120
117
  return error;
121
118
 
122
- giterr_set(GITERR_REFERENCE, "revspec '%s' not found", spec);
119
+ git_error_set(GIT_ERROR_REFERENCE, "revspec '%s' not found", spec);
123
120
  return GIT_ENOTFOUND;
124
121
  }
125
122
 
@@ -128,7 +125,8 @@ static int try_parse_numeric(int *n, const char *curly_braces_content)
128
125
  int32_t content;
129
126
  const char *end_ptr;
130
127
 
131
- if (git__strtol32(&content, curly_braces_content, &end_ptr, 10) < 0)
128
+ if (git__strntol32(&content, curly_braces_content, strlen(curly_braces_content),
129
+ &end_ptr, 10) < 0)
132
130
  return -1;
133
131
 
134
132
  if (*end_ptr != '\0')
@@ -142,12 +140,11 @@ static int retrieve_previously_checked_out_branch_or_revision(git_object **out,
142
140
  {
143
141
  git_reference *ref = NULL;
144
142
  git_reflog *reflog = NULL;
145
- regex_t preg;
143
+ git_regexp preg;
146
144
  int error = -1;
147
145
  size_t i, numentries, cur;
148
146
  const git_reflog_entry *entry;
149
147
  const char *msg;
150
- regmatch_t regexmatches[2];
151
148
  git_buf buf = GIT_BUF_INIT;
152
149
 
153
150
  cur = position;
@@ -167,12 +164,14 @@ static int retrieve_previously_checked_out_branch_or_revision(git_object **out,
167
164
  numentries = git_reflog_entrycount(reflog);
168
165
 
169
166
  for (i = 0; i < numentries; i++) {
167
+ git_regmatch regexmatches[2];
168
+
170
169
  entry = git_reflog_entry_byindex(reflog, i);
171
170
  msg = git_reflog_entry_message(entry);
172
171
  if (!msg)
173
172
  continue;
174
173
 
175
- if (regexec(&preg, msg, 2, regexmatches, 0))
174
+ if (git_regexp_search(&preg, msg, 2, regexmatches) < 0)
176
175
  continue;
177
176
 
178
177
  cur--;
@@ -180,7 +179,8 @@ static int retrieve_previously_checked_out_branch_or_revision(git_object **out,
180
179
  if (cur > 0)
181
180
  continue;
182
181
 
183
- git_buf_put(&buf, msg+regexmatches[1].rm_so, regexmatches[1].rm_eo - regexmatches[1].rm_so);
182
+ if ((git_buf_put(&buf, msg+regexmatches[1].start, regexmatches[1].end - regexmatches[1].start)) < 0)
183
+ goto cleanup;
184
184
 
185
185
  if ((error = git_reference_dwim(base_ref, repo, git_buf_cstr(&buf))) == 0)
186
186
  goto cleanup;
@@ -198,7 +198,7 @@ static int retrieve_previously_checked_out_branch_or_revision(git_object **out,
198
198
  cleanup:
199
199
  git_reference_free(ref);
200
200
  git_buf_dispose(&buf);
201
- regfree(&preg);
201
+ git_regexp_dispose(&preg);
202
202
  git_reflog_free(reflog);
203
203
  return error;
204
204
  }
@@ -244,8 +244,8 @@ static int retrieve_oid_from_reflog(git_oid *oid, git_reference *ref, size_t ide
244
244
  return 0;
245
245
 
246
246
  notfound:
247
- giterr_set(
248
- GITERR_REFERENCE,
247
+ git_error_set(
248
+ GIT_ERROR_REFERENCE,
249
249
  "reflog for '%s' has only %"PRIuZ" entries, asked for %"PRIuZ,
250
250
  git_reference_name(ref), numentries, identifier);
251
251
 
@@ -268,14 +268,14 @@ static int retrieve_revobject_from_reflog(git_object **out, git_reference **base
268
268
  }
269
269
 
270
270
  if (position == 0) {
271
- error = git_object_lookup(out, repo, git_reference_target(ref), GIT_OBJ_ANY);
271
+ error = git_object_lookup(out, repo, git_reference_target(ref), GIT_OBJECT_ANY);
272
272
  goto cleanup;
273
273
  }
274
274
 
275
275
  if ((error = retrieve_oid_from_reflog(&oid, ref, position)) < 0)
276
276
  goto cleanup;
277
277
 
278
- error = git_object_lookup(out, repo, &oid, GIT_OBJ_ANY);
278
+ error = git_object_lookup(out, repo, &oid, GIT_OBJECT_ANY);
279
279
 
280
280
  cleanup:
281
281
  git_reference_free(ref);
@@ -354,26 +354,26 @@ cleanup:
354
354
  return error;
355
355
  }
356
356
 
357
- static git_otype parse_obj_type(const char *str)
357
+ static git_object_t parse_obj_type(const char *str)
358
358
  {
359
359
  if (!strcmp(str, "commit"))
360
- return GIT_OBJ_COMMIT;
360
+ return GIT_OBJECT_COMMIT;
361
361
 
362
362
  if (!strcmp(str, "tree"))
363
- return GIT_OBJ_TREE;
363
+ return GIT_OBJECT_TREE;
364
364
 
365
365
  if (!strcmp(str, "blob"))
366
- return GIT_OBJ_BLOB;
366
+ return GIT_OBJECT_BLOB;
367
367
 
368
368
  if (!strcmp(str, "tag"))
369
- return GIT_OBJ_TAG;
369
+ return GIT_OBJECT_TAG;
370
370
 
371
- return GIT_OBJ_BAD;
371
+ return GIT_OBJECT_INVALID;
372
372
  }
373
373
 
374
374
  static int dereference_to_non_tag(git_object **out, git_object *obj)
375
375
  {
376
- if (git_object_type(obj) == GIT_OBJ_TAG)
376
+ if (git_object_type(obj) == GIT_OBJECT_TAG)
377
377
  return git_tag_peel(out, (git_tag *)obj);
378
378
 
379
379
  return git_object_dup(out, obj);
@@ -384,7 +384,7 @@ static int handle_caret_parent_syntax(git_object **out, git_object *obj, int n)
384
384
  git_object *temp_commit = NULL;
385
385
  int error;
386
386
 
387
- if ((error = git_object_peel(&temp_commit, obj, GIT_OBJ_COMMIT)) < 0)
387
+ if ((error = git_object_peel(&temp_commit, obj, GIT_OBJECT_COMMIT)) < 0)
388
388
  return (error == GIT_EAMBIGUOUS || error == GIT_ENOTFOUND) ?
389
389
  GIT_EINVALIDSPEC : error;
390
390
 
@@ -404,7 +404,7 @@ static int handle_linear_syntax(git_object **out, git_object *obj, int n)
404
404
  git_object *temp_commit = NULL;
405
405
  int error;
406
406
 
407
- if ((error = git_object_peel(&temp_commit, obj, GIT_OBJ_COMMIT)) < 0)
407
+ if ((error = git_object_peel(&temp_commit, obj, GIT_OBJECT_COMMIT)) < 0)
408
408
  return (error == GIT_EAMBIGUOUS || error == GIT_ENOTFOUND) ?
409
409
  GIT_EINVALIDSPEC : error;
410
410
 
@@ -423,7 +423,7 @@ static int handle_colon_syntax(
423
423
  int error = -1;
424
424
  git_tree_entry *entry = NULL;
425
425
 
426
- if ((error = git_object_peel(&tree, obj, GIT_OBJ_TREE)) < 0)
426
+ if ((error = git_object_peel(&tree, obj, GIT_OBJECT_TREE)) < 0)
427
427
  return error == GIT_ENOTFOUND ? GIT_EINVALIDSPEC : error;
428
428
 
429
429
  if (*path == '\0') {
@@ -447,7 +447,7 @@ cleanup:
447
447
  return error;
448
448
  }
449
449
 
450
- static int walk_and_search(git_object **out, git_revwalk *walk, regex_t *regex)
450
+ static int walk_and_search(git_object **out, git_revwalk *walk, git_regexp *regex)
451
451
  {
452
452
  int error;
453
453
  git_oid oid;
@@ -455,11 +455,11 @@ static int walk_and_search(git_object **out, git_revwalk *walk, regex_t *regex)
455
455
 
456
456
  while (!(error = git_revwalk_next(&oid, walk))) {
457
457
 
458
- error = git_object_lookup(&obj, git_revwalk_repository(walk), &oid, GIT_OBJ_COMMIT);
458
+ error = git_object_lookup(&obj, git_revwalk_repository(walk), &oid, GIT_OBJECT_COMMIT);
459
459
  if ((error < 0) && (error != GIT_ENOTFOUND))
460
460
  return -1;
461
461
 
462
- if (!regexec(regex, git_commit_message((git_commit*)obj), 0, NULL, 0)) {
462
+ if (!git_regexp_match(regex, git_commit_message((git_commit*)obj))) {
463
463
  *out = obj;
464
464
  return 0;
465
465
  }
@@ -475,7 +475,7 @@ static int walk_and_search(git_object **out, git_revwalk *walk, regex_t *regex)
475
475
 
476
476
  static int handle_grep_syntax(git_object **out, git_repository *repo, const git_oid *spec_oid, const char *pattern)
477
477
  {
478
- regex_t preg;
478
+ git_regexp preg;
479
479
  git_revwalk *walk = NULL;
480
480
  int error;
481
481
 
@@ -496,7 +496,7 @@ static int handle_grep_syntax(git_object **out, git_repository *repo, const git_
496
496
  error = walk_and_search(out, walk, &preg);
497
497
 
498
498
  cleanup:
499
- regfree(&preg);
499
+ git_regexp_dispose(&preg);
500
500
  git_revwalk_free(walk);
501
501
 
502
502
  return error;
@@ -504,7 +504,7 @@ cleanup:
504
504
 
505
505
  static int handle_caret_curly_syntax(git_object **out, git_object *obj, const char *curly_braces_content)
506
506
  {
507
- git_otype expected_type;
507
+ git_object_t expected_type;
508
508
 
509
509
  if (*curly_braces_content == '\0')
510
510
  return dereference_to_non_tag(out, obj);
@@ -514,7 +514,7 @@ static int handle_caret_curly_syntax(git_object **out, git_object *obj, const ch
514
514
 
515
515
  expected_type = parse_obj_type(curly_braces_content);
516
516
 
517
- if (expected_type == GIT_OBJ_BAD)
517
+ if (expected_type == GIT_OBJECT_INVALID)
518
518
  return GIT_EINVALIDSPEC;
519
519
 
520
520
  return git_object_peel(out, obj, expected_type);
@@ -578,7 +578,7 @@ static int extract_how_many(int *n, const char *spec, size_t *pos)
578
578
  } while (spec[(*pos)] == kind && kind == '~');
579
579
 
580
580
  if (git__isdigit(spec[*pos])) {
581
- if (git__strtol32(&parsed, spec + *pos, &end_ptr, 10) < 0)
581
+ if (git__strntol32(&parsed, spec + *pos, strlen(spec + *pos), &end_ptr, 10) < 0)
582
582
  return GIT_EINVALIDSPEC;
583
583
 
584
584
  accumulated += (parsed - 1);
@@ -600,7 +600,7 @@ static int object_from_reference(git_object **object, git_reference *reference)
600
600
  if (git_reference_resolve(&resolved, reference) < 0)
601
601
  return -1;
602
602
 
603
- error = git_object_lookup(object, reference->db->repo, git_reference_target(resolved), GIT_OBJ_ANY);
603
+ error = git_object_lookup(object, reference->db->repo, git_reference_target(resolved), GIT_OBJECT_ANY);
604
604
  git_reference_free(resolved);
605
605
 
606
606
  return error;
@@ -758,7 +758,7 @@ int revparse__ext(
758
758
  * TODO: support merge-stage path lookup (":2:Makefile")
759
759
  * and plain index blob lookup (:i-am/a/blob)
760
760
  */
761
- giterr_set(GITERR_INVALID, "unimplemented");
761
+ git_error_set(GIT_ERROR_INVALID, "unimplemented");
762
762
  error = GIT_ERROR;
763
763
  goto cleanup;
764
764
  }
@@ -813,7 +813,7 @@ int revparse__ext(
813
813
  cleanup:
814
814
  if (error) {
815
815
  if (error == GIT_EINVALIDSPEC)
816
- giterr_set(GITERR_INVALID,
816
+ git_error_set(GIT_ERROR_INVALID,
817
817
  "failed to parse revision specifier - Invalid pattern '%s'", spec);
818
818
 
819
819
  git_object_free(base_rev);
@@ -897,7 +897,7 @@ int git_revparse(
897
897
  * allowed.
898
898
  */
899
899
  if (!git__strcmp(spec, "..")) {
900
- giterr_set(GITERR_INVALID, "Invalid pattern '..'");
900
+ git_error_set(GIT_ERROR_INVALID, "Invalid pattern '..'");
901
901
  return GIT_EINVALIDSPEC;
902
902
  }
903
903