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
@@ -20,19 +20,19 @@ int git_sortedcache_new(
20
20
 
21
21
  pathlen = path ? strlen(path) : 0;
22
22
 
23
- GITERR_CHECK_ALLOC_ADD(&alloclen, sizeof(git_sortedcache), pathlen);
24
- GITERR_CHECK_ALLOC_ADD(&alloclen, alloclen, 1);
23
+ GIT_ERROR_CHECK_ALLOC_ADD(&alloclen, sizeof(git_sortedcache), pathlen);
24
+ GIT_ERROR_CHECK_ALLOC_ADD(&alloclen, alloclen, 1);
25
25
  sc = git__calloc(1, alloclen);
26
- GITERR_CHECK_ALLOC(sc);
26
+ GIT_ERROR_CHECK_ALLOC(sc);
27
27
 
28
28
  git_pool_init(&sc->pool, 1);
29
29
 
30
30
  if (git_vector_init(&sc->items, 4, item_cmp) < 0 ||
31
- git_strmap_alloc(&sc->map) < 0)
31
+ git_strmap_new(&sc->map) < 0)
32
32
  goto fail;
33
33
 
34
34
  if (git_rwlock_init(&sc->lock)) {
35
- giterr_set(GITERR_OS, "failed to initialize lock");
35
+ git_error_set(GIT_ERROR_OS, "failed to initialize lock");
36
36
  goto fail;
37
37
  }
38
38
 
@@ -167,7 +167,7 @@ int git_sortedcache_wlock(git_sortedcache *sc)
167
167
  GIT_UNUSED(sc); /* prevent warning when compiled w/o threads */
168
168
 
169
169
  if (git_rwlock_wrlock(&sc->lock) < 0) {
170
- giterr_set(GITERR_OS, "unable to acquire write lock on cache");
170
+ git_error_set(GIT_ERROR_OS, "unable to acquire write lock on cache");
171
171
  return -1;
172
172
  }
173
173
  return 0;
@@ -186,7 +186,7 @@ int git_sortedcache_rlock(git_sortedcache *sc)
186
186
  GIT_UNUSED(sc); /* prevent warning when compiled w/o threads */
187
187
 
188
188
  if (git_rwlock_rdlock(&sc->lock) < 0) {
189
- giterr_set(GITERR_OS, "unable to acquire read lock on cache");
189
+ git_error_set(GIT_ERROR_OS, "unable to acquire read lock on cache");
190
190
  return -1;
191
191
  }
192
192
  return 0;
@@ -219,14 +219,14 @@ int git_sortedcache_lockandload(git_sortedcache *sc, git_buf *buf)
219
219
  }
220
220
 
221
221
  if (p_fstat(fd, &st) < 0) {
222
- giterr_set(GITERR_OS, "failed to stat file");
222
+ git_error_set(GIT_ERROR_OS, "failed to stat file");
223
223
  error = -1;
224
224
  (void)p_close(fd);
225
225
  goto unlock;
226
226
  }
227
227
 
228
228
  if (!git__is_sizet(st.st_size)) {
229
- giterr_set(GITERR_INVALID, "unable to load file larger than size_t");
229
+ git_error_set(GIT_ERROR_INVALID, "unable to load file larger than size_t");
230
230
  error = -1;
231
231
  (void)p_close(fd);
232
232
  goto unlock;
@@ -270,24 +270,20 @@ int git_sortedcache_clear(git_sortedcache *sc, bool wlock)
270
270
  /* find and/or insert item, returning pointer to item data */
271
271
  int git_sortedcache_upsert(void **out, git_sortedcache *sc, const char *key)
272
272
  {
273
- int error = 0;
274
- khiter_t pos;
275
- void *item;
276
273
  size_t keylen, itemlen;
274
+ int error = 0;
277
275
  char *item_key;
276
+ void *item;
278
277
 
279
- pos = git_strmap_lookup_index(sc->map, key);
280
- if (git_strmap_valid_index(sc->map, pos)) {
281
- item = git_strmap_value_at(sc->map, pos);
278
+ if ((item = git_strmap_get(sc->map, key)) != NULL)
282
279
  goto done;
283
- }
284
280
 
285
281
  keylen = strlen(key);
286
282
  itemlen = sc->item_path_offset + keylen + 1;
287
283
  itemlen = (itemlen + 7) & ~7;
288
284
 
289
- if ((item = git_pool_mallocz(&sc->pool, (uint32_t)itemlen)) == NULL) {
290
- /* don't use GITERR_CHECK_ALLOC b/c of lock */
285
+ if ((item = git_pool_mallocz(&sc->pool, itemlen)) == NULL) {
286
+ /* don't use GIT_ERROR_CHECK_ALLOC b/c of lock */
291
287
  error = -1;
292
288
  goto done;
293
289
  }
@@ -299,17 +295,11 @@ int git_sortedcache_upsert(void **out, git_sortedcache *sc, const char *key)
299
295
  item_key = ((char *)item) + sc->item_path_offset;
300
296
  memcpy(item_key, key, keylen);
301
297
 
302
- pos = git_strmap_put(sc->map, item_key, &error);
303
- if (error < 0)
298
+ if ((error = git_strmap_set(sc->map, item_key, item)) < 0)
304
299
  goto done;
305
300
 
306
- if (!error)
307
- git_strmap_set_key_at(sc->map, pos, item_key);
308
- git_strmap_set_value_at(sc->map, pos, item);
309
-
310
- error = git_vector_insert(&sc->items, item);
311
- if (error < 0)
312
- git_strmap_delete_at(sc->map, pos);
301
+ if ((error = git_vector_insert(&sc->items, item)) < 0)
302
+ git_strmap_delete(sc->map, item_key);
313
303
 
314
304
  done:
315
305
  if (out)
@@ -320,10 +310,7 @@ done:
320
310
  /* lookup item by key */
321
311
  void *git_sortedcache_lookup(const git_sortedcache *sc, const char *key)
322
312
  {
323
- khiter_t pos = git_strmap_lookup_index(sc->map, key);
324
- if (git_strmap_valid_index(sc->map, pos))
325
- return git_strmap_value_at(sc->map, pos);
326
- return NULL;
313
+ return git_strmap_get(sc->map, key);
327
314
  }
328
315
 
329
316
  /* find out how many items are in the cache */
@@ -371,21 +358,20 @@ int git_sortedcache_lookup_index(
371
358
  int git_sortedcache_remove(git_sortedcache *sc, size_t pos)
372
359
  {
373
360
  char *item;
374
- khiter_t mappos;
375
361
 
376
- /* because of pool allocation, this can't actually remove the item,
362
+ /*
363
+ * Because of pool allocation, this can't actually remove the item,
377
364
  * but we can remove it from the items vector and the hash table.
378
365
  */
379
366
 
380
367
  if ((item = git_vector_get(&sc->items, pos)) == NULL) {
381
- giterr_set(GITERR_INVALID, "removing item out of range");
368
+ git_error_set(GIT_ERROR_INVALID, "removing item out of range");
382
369
  return GIT_ENOTFOUND;
383
370
  }
384
371
 
385
372
  (void)git_vector_remove(&sc->items, pos);
386
373
 
387
- mappos = git_strmap_lookup_index(sc->map, item + sc->item_path_offset);
388
- git_strmap_delete_at(sc->map, mappos);
374
+ git_strmap_delete(sc->map, item + sc->item_path_offset);
389
375
 
390
376
  if (sc->free_item)
391
377
  sc->free_item(sc->free_item_payload, item);
@@ -10,7 +10,7 @@
10
10
  #include "common.h"
11
11
 
12
12
  #include "util.h"
13
- #include "fileops.h"
13
+ #include "futils.h"
14
14
  #include "vector.h"
15
15
  #include "thread-utils.h"
16
16
  #include "pool.h"
@@ -29,7 +29,7 @@
29
29
 
30
30
  static int create_error(int error, const char *msg)
31
31
  {
32
- giterr_set(GITERR_STASH, "cannot stash changes - %s", msg);
32
+ git_error_set(GIT_ERROR_STASH, "cannot stash changes - %s", msg);
33
33
  return error;
34
34
  }
35
35
 
@@ -48,7 +48,7 @@ static int append_abbreviated_oid(git_buf *out, const git_oid *b_commit)
48
48
  char *formatted_oid;
49
49
 
50
50
  formatted_oid = git_oid_allocfmt(b_commit);
51
- GITERR_CHECK_ALLOC(formatted_oid);
51
+ GIT_ERROR_CHECK_ALLOC(formatted_oid);
52
52
 
53
53
  git_buf_put(out, formatted_oid, 7);
54
54
  git__free(formatted_oid);
@@ -59,7 +59,7 @@ static int append_abbreviated_oid(git_buf *out, const git_oid *b_commit)
59
59
  static int append_commit_description(git_buf *out, git_commit* commit)
60
60
  {
61
61
  const char *summary = git_commit_summary(commit);
62
- GITERR_CHECK_ALLOC(summary);
62
+ GIT_ERROR_CHECK_ALLOC(summary);
63
63
 
64
64
  if (append_abbreviated_oid(out, git_commit_id(commit)) < 0)
65
65
  return -1;
@@ -233,8 +233,8 @@ static int stash_update_index_from_diff(
233
233
 
234
234
  default:
235
235
  /* Unimplemented */
236
- giterr_set(
237
- GITERR_INVALID,
236
+ git_error_set(
237
+ GIT_ERROR_INVALID,
238
238
  "cannot update index. Unimplemented status (%d)",
239
239
  delta->status);
240
240
  return -1;
@@ -398,28 +398,23 @@ static int commit_worktree(
398
398
  git_commit *b_commit,
399
399
  git_commit *u_commit)
400
400
  {
401
- int error = 0;
402
- git_tree *w_tree = NULL, *i_tree = NULL;
403
- git_index *i_index = NULL;
404
- const git_commit *parents[] = { NULL, NULL, NULL };
405
- int ignorecase;
401
+ const git_commit *parents[] = { NULL, NULL, NULL };
402
+ git_index *i_index = NULL, *r_index = NULL;
403
+ git_tree *w_tree = NULL;
404
+ int error = 0, ignorecase;
406
405
 
407
406
  parents[0] = b_commit;
408
407
  parents[1] = i_commit;
409
408
  parents[2] = u_commit;
410
409
 
411
- if ((error = git_commit_tree(&i_tree, i_commit)) < 0)
412
- goto cleanup;
413
-
414
- if ((error = git_index_new(&i_index)) < 0 ||
415
- (error = git_repository__cvar(&ignorecase, repo, GIT_CVAR_IGNORECASE)) < 0)
410
+ if ((error = git_repository_index(&r_index, repo) < 0) ||
411
+ (error = git_index_new(&i_index)) < 0 ||
412
+ (error = git_index__fill(i_index, &r_index->entries) < 0) ||
413
+ (error = git_repository__configmap_lookup(&ignorecase, repo, GIT_CONFIGMAP_IGNORECASE)) < 0)
416
414
  goto cleanup;
417
415
 
418
416
  git_index__set_ignore_case(i_index, ignorecase);
419
417
 
420
- if ((error = git_index_read_tree(i_index, i_tree)) < 0)
421
- goto cleanup;
422
-
423
418
  if ((error = build_workdir_tree(&w_tree, repo, i_index, b_commit)) < 0)
424
419
  goto cleanup;
425
420
 
@@ -436,42 +431,39 @@ static int commit_worktree(
436
431
  parents);
437
432
 
438
433
  cleanup:
439
- git_tree_free(i_tree);
440
434
  git_tree_free(w_tree);
441
435
  git_index_free(i_index);
436
+ git_index_free(r_index);
442
437
  return error;
443
438
  }
444
439
 
445
- static int prepare_worktree_commit_message(
446
- git_buf* msg,
447
- const char *user_message)
440
+ static int prepare_worktree_commit_message(git_buf *out, const char *user_message)
448
441
  {
449
442
  git_buf buf = GIT_BUF_INIT;
450
- int error;
451
-
452
- if ((error = git_buf_set(&buf, git_buf_cstr(msg), git_buf_len(msg))) < 0)
453
- return error;
454
-
455
- git_buf_clear(msg);
443
+ int error = 0;
456
444
 
457
- if (!user_message)
458
- git_buf_printf(msg, "WIP on %s", git_buf_cstr(&buf));
459
- else {
445
+ if (!user_message) {
446
+ git_buf_printf(&buf, "WIP on %s", git_buf_cstr(out));
447
+ } else {
460
448
  const char *colon;
461
449
 
462
- if ((colon = strchr(git_buf_cstr(&buf), ':')) == NULL)
450
+ if ((colon = strchr(git_buf_cstr(out), ':')) == NULL)
463
451
  goto cleanup;
464
452
 
465
- git_buf_puts(msg, "On ");
466
- git_buf_put(msg, git_buf_cstr(&buf), colon - buf.ptr);
467
- git_buf_printf(msg, ": %s\n", user_message);
453
+ git_buf_puts(&buf, "On ");
454
+ git_buf_put(&buf, git_buf_cstr(out), colon - out->ptr);
455
+ git_buf_printf(&buf, ": %s\n", user_message);
468
456
  }
469
457
 
470
- error = (git_buf_oom(msg) || git_buf_oom(&buf)) ? -1 : 0;
458
+ if (git_buf_oom(&buf)) {
459
+ error = -1;
460
+ goto cleanup;
461
+ }
462
+
463
+ git_buf_swap(out, &buf);
471
464
 
472
465
  cleanup:
473
466
  git_buf_dispose(&buf);
474
-
475
467
  return error;
476
468
  }
477
469
 
@@ -502,10 +494,7 @@ static int is_dirty_cb(const char *path, unsigned int status, void *payload)
502
494
  return GIT_PASSTHROUGH;
503
495
  }
504
496
 
505
- static int ensure_there_are_changes_to_stash(
506
- git_repository *repo,
507
- bool include_untracked_files,
508
- bool include_ignored_files)
497
+ static int ensure_there_are_changes_to_stash(git_repository *repo, uint32_t flags)
509
498
  {
510
499
  int error;
511
500
  git_status_options opts = GIT_STATUS_OPTIONS_INIT;
@@ -513,11 +502,11 @@ static int ensure_there_are_changes_to_stash(
513
502
  opts.show = GIT_STATUS_SHOW_INDEX_AND_WORKDIR;
514
503
  opts.flags = GIT_STATUS_OPT_EXCLUDE_SUBMODULES;
515
504
 
516
- if (include_untracked_files)
505
+ if (flags & GIT_STASH_INCLUDE_UNTRACKED)
517
506
  opts.flags |= GIT_STATUS_OPT_INCLUDE_UNTRACKED |
518
507
  GIT_STATUS_OPT_RECURSE_UNTRACKED_DIRS;
519
508
 
520
- if (include_ignored_files)
509
+ if (flags & GIT_STASH_INCLUDE_IGNORED)
521
510
  opts.flags |= GIT_STATUS_OPT_INCLUDE_IGNORED |
522
511
  GIT_STATUS_OPT_RECURSE_IGNORED_DIRS;
523
512
 
@@ -532,20 +521,14 @@ static int ensure_there_are_changes_to_stash(
532
521
  return error;
533
522
  }
534
523
 
535
- static int reset_index_and_workdir(
536
- git_repository *repo,
537
- git_commit *commit,
538
- bool remove_untracked,
539
- bool remove_ignored)
524
+ static int reset_index_and_workdir(git_repository *repo, git_commit *commit, uint32_t flags)
540
525
  {
541
526
  git_checkout_options opts = GIT_CHECKOUT_OPTIONS_INIT;
542
527
 
543
528
  opts.checkout_strategy = GIT_CHECKOUT_FORCE;
544
-
545
- if (remove_untracked)
529
+ if (flags & GIT_STASH_INCLUDE_UNTRACKED)
546
530
  opts.checkout_strategy |= GIT_CHECKOUT_REMOVE_UNTRACKED;
547
-
548
- if (remove_ignored)
531
+ if (flags & GIT_STASH_INCLUDE_IGNORED)
549
532
  opts.checkout_strategy |= GIT_CHECKOUT_REMOVE_IGNORED;
550
533
 
551
534
  return git_checkout_tree(repo, (git_object *)commit, &opts);
@@ -571,31 +554,26 @@ int git_stash_save(
571
554
  if ((error = retrieve_base_commit_and_message(&b_commit, &msg, repo)) < 0)
572
555
  goto cleanup;
573
556
 
574
- if ((error = ensure_there_are_changes_to_stash(
575
- repo,
576
- (flags & GIT_STASH_INCLUDE_UNTRACKED) != 0,
577
- (flags & GIT_STASH_INCLUDE_IGNORED) != 0)) < 0)
557
+ if ((error = ensure_there_are_changes_to_stash(repo, flags)) < 0)
578
558
  goto cleanup;
579
559
 
580
560
  if ((error = git_repository_index(&index, repo)) < 0)
581
561
  goto cleanup;
582
562
 
583
- if ((error = commit_index(
584
- &i_commit, repo, index, stasher, git_buf_cstr(&msg), b_commit)) < 0)
563
+ if ((error = commit_index(&i_commit, repo, index, stasher,
564
+ git_buf_cstr(&msg), b_commit)) < 0)
585
565
  goto cleanup;
586
566
 
587
567
  if ((flags & (GIT_STASH_INCLUDE_UNTRACKED | GIT_STASH_INCLUDE_IGNORED)) &&
588
- (error = commit_untracked(
589
- &u_commit, repo, stasher, git_buf_cstr(&msg),
590
- i_commit, flags)) < 0)
568
+ (error = commit_untracked(&u_commit, repo, stasher,
569
+ git_buf_cstr(&msg), i_commit, flags)) < 0)
591
570
  goto cleanup;
592
571
 
593
572
  if ((error = prepare_worktree_commit_message(&msg, message)) < 0)
594
573
  goto cleanup;
595
574
 
596
- if ((error = commit_worktree(
597
- out, repo, stasher, git_buf_cstr(&msg),
598
- i_commit, b_commit, u_commit)) < 0)
575
+ if ((error = commit_worktree(out, repo, stasher, git_buf_cstr(&msg),
576
+ i_commit, b_commit, u_commit)) < 0)
599
577
  goto cleanup;
600
578
 
601
579
  git_buf_rtrim(&msg);
@@ -603,11 +581,8 @@ int git_stash_save(
603
581
  if ((error = update_reflog(out, repo, git_buf_cstr(&msg))) < 0)
604
582
  goto cleanup;
605
583
 
606
- if ((error = reset_index_and_workdir(
607
- repo,
608
- ((flags & GIT_STASH_KEEP_INDEX) != 0) ? i_commit : b_commit,
609
- (flags & GIT_STASH_INCLUDE_UNTRACKED) != 0,
610
- (flags & GIT_STASH_INCLUDE_IGNORED) != 0)) < 0)
584
+ if ((error = reset_index_and_workdir(repo, (flags & GIT_STASH_KEEP_INDEX) ? i_commit : b_commit,
585
+ flags)) < 0)
611
586
  goto cleanup;
612
587
 
613
588
  cleanup:
@@ -641,7 +616,7 @@ static int retrieve_stash_commit(
641
616
  max = git_reflog_entrycount(reflog);
642
617
  if (!max || index > max - 1) {
643
618
  error = GIT_ENOTFOUND;
644
- giterr_set(GITERR_STASH, "no stashed state at position %" PRIuZ, index);
619
+ git_error_set(GIT_ERROR_STASH, "no stashed state at position %" PRIuZ, index);
645
620
  goto cleanup;
646
621
  }
647
622
 
@@ -794,13 +769,18 @@ static void normalize_apply_options(
794
769
  opts->checkout_options.their_label = "Stashed changes";
795
770
  }
796
771
 
797
- int git_stash_apply_init_options(git_stash_apply_options *opts, unsigned int version)
772
+ int git_stash_apply_options_init(git_stash_apply_options *opts, unsigned int version)
798
773
  {
799
774
  GIT_INIT_STRUCTURE_FROM_TEMPLATE(
800
775
  opts, version, git_stash_apply_options, GIT_STASH_APPLY_OPTIONS_INIT);
801
776
  return 0;
802
777
  }
803
778
 
779
+ int git_stash_apply_init_options(git_stash_apply_options *opts, unsigned int version)
780
+ {
781
+ return git_stash_apply_options_init(opts, version);
782
+ }
783
+
804
784
  #define NOTIFY_PROGRESS(opts, progress_type) \
805
785
  do { \
806
786
  if ((opts).progress_cb && \
@@ -822,7 +802,7 @@ static int ensure_clean_index(git_repository *repo, git_index *index)
822
802
  goto done;
823
803
 
824
804
  if (git_diff_num_deltas(index_diff) > 0) {
825
- giterr_set(GITERR_STASH, "%" PRIuZ " uncommitted changes exist in the index",
805
+ git_error_set(GIT_ERROR_STASH, "%" PRIuZ " uncommitted changes exist in the index",
826
806
  git_diff_num_deltas(index_diff));
827
807
  error = GIT_EUNCOMMITTED;
828
808
  }
@@ -894,7 +874,7 @@ int git_stash_apply(
894
874
  git_index *untracked_index = NULL;
895
875
  int error;
896
876
 
897
- GITERR_CHECK_VERSION(given_opts, GIT_STASH_APPLY_OPTIONS_VERSION, "git_stash_apply_options");
877
+ GIT_ERROR_CHECK_VERSION(given_opts, GIT_STASH_APPLY_OPTIONS_VERSION, "git_stash_apply_options");
898
878
 
899
879
  normalize_apply_options(&opts, given_opts);
900
880
  checkout_strategy = opts.checkout_options.checkout_strategy;
@@ -1027,7 +1007,7 @@ int git_stash_foreach(
1027
1007
 
1028
1008
  error = git_reference_lookup(&stash, repo, GIT_REFS_STASH_FILE);
1029
1009
  if (error == GIT_ENOTFOUND) {
1030
- giterr_clear();
1010
+ git_error_clear();
1031
1011
  return 0;
1032
1012
  }
1033
1013
  if (error < 0)
@@ -1046,7 +1026,7 @@ int git_stash_foreach(
1046
1026
  payload);
1047
1027
 
1048
1028
  if (error) {
1049
- giterr_set_after_callback(error);
1029
+ git_error_set_after_callback(error);
1050
1030
  break;
1051
1031
  }
1052
1032
  }
@@ -1083,7 +1063,7 @@ int git_stash_drop(
1083
1063
 
1084
1064
  if (!max || index > max - 1) {
1085
1065
  error = GIT_ENOTFOUND;
1086
- giterr_set(GITERR_STASH, "no stashed state at position %" PRIuZ, index);
1066
+ git_error_set(GIT_ERROR_STASH, "no stashed state at position %" PRIuZ, index);
1087
1067
  goto cleanup;
1088
1068
  }
1089
1069
 
@@ -8,7 +8,7 @@
8
8
  #include "status.h"
9
9
 
10
10
  #include "git2.h"
11
- #include "fileops.h"
11
+ #include "futils.h"
12
12
  #include "hash.h"
13
13
  #include "vector.h"
14
14
  #include "tree.h"
@@ -16,6 +16,7 @@
16
16
  #include "repository.h"
17
17
  #include "ignore.h"
18
18
  #include "index.h"
19
+ #include "wildmatch.h"
19
20
 
20
21
  #include "git2/diff.h"
21
22
  #include "diff.h"
@@ -85,14 +86,14 @@ static unsigned int workdir_delta2status(
85
86
  /* if OIDs don't match, we might need to calculate them now to
86
87
  * discern between RENAMED vs RENAMED+MODIFED
87
88
  */
88
- if (git_oid_iszero(&idx2wd->old_file.id) &&
89
+ if (git_oid_is_zero(&idx2wd->old_file.id) &&
89
90
  diff->old_src == GIT_ITERATOR_TYPE_WORKDIR &&
90
91
  !git_diff__oid_for_file(
91
92
  &idx2wd->old_file.id, diff, idx2wd->old_file.path,
92
93
  idx2wd->old_file.mode, idx2wd->old_file.size))
93
94
  idx2wd->old_file.flags |= GIT_DIFF_FLAG_VALID_ID;
94
95
 
95
- if (git_oid_iszero(&idx2wd->new_file.id) &&
96
+ if (git_oid_is_zero(&idx2wd->new_file.id) &&
96
97
  diff->new_src == GIT_ITERATOR_TYPE_WORKDIR &&
97
98
  !git_diff__oid_for_file(
98
99
  &idx2wd->new_file.id, diff, idx2wd->new_file.path,
@@ -174,7 +175,7 @@ static int status_collect(
174
175
  return 0;
175
176
 
176
177
  status_entry = git__malloc(sizeof(git_status_entry));
177
- GITERR_CHECK_ALLOC(status_entry);
178
+ GIT_ERROR_CHECK_ALLOC(status_entry);
178
179
 
179
180
  status_entry->status = status_compute(status, head2idx, idx2wd);
180
181
  status_entry->head_to_index = head2idx;
@@ -240,16 +241,16 @@ static int status_validate_options(const git_status_options *opts)
240
241
  if (!opts)
241
242
  return 0;
242
243
 
243
- GITERR_CHECK_VERSION(opts, GIT_STATUS_OPTIONS_VERSION, "git_status_options");
244
+ GIT_ERROR_CHECK_VERSION(opts, GIT_STATUS_OPTIONS_VERSION, "git_status_options");
244
245
 
245
246
  if (opts->show > GIT_STATUS_SHOW_WORKDIR_ONLY) {
246
- giterr_set(GITERR_INVALID, "unknown status 'show' option");
247
+ git_error_set(GIT_ERROR_INVALID, "unknown status 'show' option");
247
248
  return -1;
248
249
  }
249
250
 
250
251
  if ((opts->flags & GIT_STATUS_OPT_NO_REFRESH) != 0 &&
251
252
  (opts->flags & GIT_STATUS_OPT_UPDATE_INDEX) != 0) {
252
- giterr_set(GITERR_INVALID, "updating index from status "
253
+ git_error_set(GIT_ERROR_INVALID, "updating index from status "
253
254
  "is not allowed when index refresh is disabled");
254
255
  return -1;
255
256
  }
@@ -280,7 +281,7 @@ int git_status_list_new(
280
281
  if ((error = git_repository__ensure_not_bare(repo, "status")) < 0 ||
281
282
  (error = git_repository_index(&index, repo)) < 0)
282
283
  return error;
283
-
284
+
284
285
  if (opts != NULL && opts->baseline != NULL) {
285
286
  head = opts->baseline;
286
287
  } else {
@@ -288,17 +289,17 @@ int git_status_list_new(
288
289
  if ((error = git_repository_head_tree(&head, repo)) < 0) {
289
290
  if (error != GIT_ENOTFOUND && error != GIT_EUNBORNBRANCH)
290
291
  goto done;
291
- giterr_clear();
292
+ git_error_clear();
292
293
  }
293
294
  }
294
295
 
295
296
  /* refresh index from disk unless prevented */
296
297
  if ((flags & GIT_STATUS_OPT_NO_REFRESH) == 0 &&
297
298
  git_index_read_safely(index) < 0)
298
- giterr_clear();
299
+ git_error_clear();
299
300
 
300
301
  status = git_status_list_alloc(index);
301
- GITERR_CHECK_ALLOC(status);
302
+ GIT_ERROR_CHECK_ALLOC(status);
302
303
 
303
304
  if (opts) {
304
305
  memcpy(&status->opts, opts, sizeof(git_status_options));
@@ -437,7 +438,7 @@ int git_status_foreach_ext(
437
438
  status_entry->index_to_workdir->old_file.path;
438
439
 
439
440
  if ((error = cb(path, status_entry->status, payload)) != 0) {
440
- giterr_set_after_callback(error);
441
+ git_error_set_after_callback(error);
441
442
  break;
442
443
  }
443
444
  }
@@ -456,7 +457,7 @@ struct status_file_info {
456
457
  char *expected;
457
458
  unsigned int count;
458
459
  unsigned int status;
459
- int fnm_flags;
460
+ int wildmatch_flags;
460
461
  int ambiguous;
461
462
  };
462
463
 
@@ -468,14 +469,14 @@ static int get_one_status(const char *path, unsigned int status, void *data)
468
469
  sfi->count++;
469
470
  sfi->status = status;
470
471
 
471
- strcomp = (sfi->fnm_flags & FNM_CASEFOLD) ? git__strcasecmp : git__strcmp;
472
+ strcomp = (sfi->wildmatch_flags & WM_CASEFOLD) ? git__strcasecmp : git__strcmp;
472
473
 
473
474
  if (sfi->count > 1 ||
474
475
  (strcomp(sfi->expected, path) != 0 &&
475
- p_fnmatch(sfi->expected, path, sfi->fnm_flags) != 0))
476
+ wildmatch(sfi->expected, path, sfi->wildmatch_flags) != 0))
476
477
  {
477
478
  sfi->ambiguous = true;
478
- return GIT_EAMBIGUOUS; /* giterr_set will be done by caller */
479
+ return GIT_EAMBIGUOUS; /* git_error_set will be done by caller */
479
480
  }
480
481
 
481
482
  return 0;
@@ -499,7 +500,7 @@ int git_status_file(
499
500
  if ((sfi.expected = git__strdup(path)) == NULL)
500
501
  return -1;
501
502
  if (index->ignore_case)
502
- sfi.fnm_flags = FNM_CASEFOLD;
503
+ sfi.wildmatch_flags = WM_CASEFOLD;
503
504
 
504
505
  opts.show = GIT_STATUS_SHOW_INDEX_AND_WORKDIR;
505
506
  opts.flags = GIT_STATUS_OPT_INCLUDE_IGNORED |
@@ -514,13 +515,13 @@ int git_status_file(
514
515
  error = git_status_foreach_ext(repo, &opts, get_one_status, &sfi);
515
516
 
516
517
  if (error < 0 && sfi.ambiguous) {
517
- giterr_set(GITERR_INVALID,
518
+ git_error_set(GIT_ERROR_INVALID,
518
519
  "ambiguous path '%s' given to git_status_file", sfi.expected);
519
520
  error = GIT_EAMBIGUOUS;
520
521
  }
521
522
 
522
523
  if (!error && !sfi.count) {
523
- giterr_set(GITERR_INVALID,
524
+ git_error_set(GIT_ERROR_INVALID,
524
525
  "attempt to get status of nonexistent file '%s'", path);
525
526
  error = GIT_ENOTFOUND;
526
527
  }
@@ -540,18 +541,23 @@ int git_status_should_ignore(
540
541
  return git_ignore_path_is_ignored(ignored, repo, path);
541
542
  }
542
543
 
543
- int git_status_init_options(git_status_options *opts, unsigned int version)
544
+ int git_status_options_init(git_status_options *opts, unsigned int version)
544
545
  {
545
546
  GIT_INIT_STRUCTURE_FROM_TEMPLATE(
546
547
  opts, version, git_status_options, GIT_STATUS_OPTIONS_INIT);
547
548
  return 0;
548
549
  }
549
550
 
551
+ int git_status_init_options(git_status_options *opts, unsigned int version)
552
+ {
553
+ return git_status_options_init(opts, version);
554
+ }
555
+
550
556
  int git_status_list_get_perfdata(
551
557
  git_diff_perfdata *out, const git_status_list *status)
552
558
  {
553
559
  assert(out);
554
- GITERR_CHECK_VERSION(out, GIT_DIFF_PERFDATA_VERSION, "git_diff_perfdata");
560
+ GIT_ERROR_CHECK_VERSION(out, GIT_DIFF_PERFDATA_VERSION, "git_diff_perfdata");
555
561
 
556
562
  out->stat_calls = 0;
557
563
  out->oid_calculations = 0;
@@ -23,7 +23,7 @@ GIT_INLINE(int) git_stream_is_encrypted(git_stream *st)
23
23
  GIT_INLINE(int) git_stream_certificate(git_cert **out, git_stream *st)
24
24
  {
25
25
  if (!st->encrypted) {
26
- giterr_set(GITERR_INVALID, "an unencrypted stream does not have a certificate");
26
+ git_error_set(GIT_ERROR_INVALID, "an unencrypted stream does not have a certificate");
27
27
  return -1;
28
28
  }
29
29
 
@@ -38,7 +38,7 @@ GIT_INLINE(int) git_stream_supports_proxy(git_stream *st)
38
38
  GIT_INLINE(int) git_stream_set_proxy(git_stream *st, const git_proxy_options *proxy_opts)
39
39
  {
40
40
  if (!st->proxy_support) {
41
- giterr_set(GITERR_INVALID, "proxy not supported on this stream");
41
+ git_error_set(GIT_ERROR_INVALID, "proxy not supported on this stream");
42
42
  return -1;
43
43
  }
44
44
 
@@ -55,6 +55,21 @@ GIT_INLINE(ssize_t) git_stream_write(git_stream *st, const char *data, size_t le
55
55
  return st->write(st, data, len, flags);
56
56
  }
57
57
 
58
+ GIT_INLINE(int) git_stream__write_full(git_stream *st, const char *data, size_t len, int flags)
59
+ {
60
+ size_t total_written = 0;
61
+
62
+ while (total_written < len) {
63
+ ssize_t written = git_stream_write(st, data + total_written, len - total_written, flags);
64
+ if (written <= 0)
65
+ return -1;
66
+
67
+ total_written += written;
68
+ }
69
+
70
+ return 0;
71
+ }
72
+
58
73
  GIT_INLINE(int) git_stream_close(git_stream *st)
59
74
  {
60
75
  return st->close(st);