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
@@ -113,7 +113,7 @@ int git_fetch_negotiate(git_remote *remote, const git_fetch_options *opts)
113
113
  remote->need_pack = 0;
114
114
 
115
115
  if (filter_wants(remote, opts) < 0) {
116
- giterr_set(GITERR_NET, "failed to filter the reference list for wants");
116
+ git_error_set(GIT_ERROR_NET, "failed to filter the reference list for wants");
117
117
  return -1;
118
118
  }
119
119
 
@@ -134,7 +134,7 @@ int git_fetch_negotiate(git_remote *remote, const git_fetch_options *opts)
134
134
  int git_fetch_download_pack(git_remote *remote, const git_remote_callbacks *callbacks)
135
135
  {
136
136
  git_transport *t = remote->transport;
137
- git_transfer_progress_cb progress = NULL;
137
+ git_indexer_progress_cb progress = NULL;
138
138
  void *payload = NULL;
139
139
 
140
140
  if (!remote->need_pack)
@@ -148,9 +148,14 @@ int git_fetch_download_pack(git_remote *remote, const git_remote_callbacks *call
148
148
  return t->download_pack(t, remote->repo, &remote->stats, progress, payload);
149
149
  }
150
150
 
151
- int git_fetch_init_options(git_fetch_options *opts, unsigned int version)
151
+ int git_fetch_options_init(git_fetch_options *opts, unsigned int version)
152
152
  {
153
153
  GIT_INIT_STRUCTURE_FROM_TEMPLATE(
154
154
  opts, version, git_fetch_options, GIT_FETCH_OPTIONS_INIT);
155
155
  return 0;
156
156
  }
157
+
158
+ int git_fetch_init_options(git_fetch_options *opts, unsigned int version)
159
+ {
160
+ return git_fetch_options_init(opts, version);
161
+ }
@@ -11,7 +11,7 @@
11
11
  #include "git2/oid.h"
12
12
 
13
13
  #include "buffer.h"
14
- #include "fileops.h"
14
+ #include "futils.h"
15
15
  #include "filebuf.h"
16
16
  #include "refs.h"
17
17
  #include "repository.h"
@@ -50,7 +50,7 @@ int git_fetchhead_ref_create(
50
50
  *out = NULL;
51
51
 
52
52
  fetchhead_ref = git__malloc(sizeof(git_fetchhead_ref));
53
- GITERR_CHECK_ALLOC(fetchhead_ref);
53
+ GIT_ERROR_CHECK_ALLOC(fetchhead_ref);
54
54
 
55
55
  memset(fetchhead_ref, 0x0, sizeof(git_fetchhead_ref));
56
56
 
@@ -148,7 +148,7 @@ static int fetchhead_ref_parse(
148
148
  *remote_url = NULL;
149
149
 
150
150
  if (!*line) {
151
- giterr_set(GITERR_FETCHHEAD,
151
+ git_error_set(GIT_ERROR_FETCHHEAD,
152
152
  "empty line in FETCH_HEAD line %"PRIuZ, line_num);
153
153
  return -1;
154
154
  }
@@ -162,16 +162,16 @@ static int fetchhead_ref_parse(
162
162
  }
163
163
 
164
164
  if (strlen(oid_str) != GIT_OID_HEXSZ) {
165
- giterr_set(GITERR_FETCHHEAD,
165
+ git_error_set(GIT_ERROR_FETCHHEAD,
166
166
  "invalid object ID in FETCH_HEAD line %"PRIuZ, line_num);
167
167
  return -1;
168
168
  }
169
169
 
170
170
  if (git_oid_fromstr(oid, oid_str) < 0) {
171
- const git_error *oid_err = giterr_last();
171
+ const git_error *oid_err = git_error_last();
172
172
  const char *err_msg = oid_err ? oid_err->message : "invalid object ID";
173
173
 
174
- giterr_set(GITERR_FETCHHEAD, "%s in FETCH_HEAD line %"PRIuZ,
174
+ git_error_set(GIT_ERROR_FETCHHEAD, "%s in FETCH_HEAD line %"PRIuZ,
175
175
  err_msg, line_num);
176
176
  return -1;
177
177
  }
@@ -179,7 +179,7 @@ static int fetchhead_ref_parse(
179
179
  /* Parse new data from newer git clients */
180
180
  if (*line) {
181
181
  if ((is_merge_str = git__strsep(&line, "\t")) == NULL) {
182
- giterr_set(GITERR_FETCHHEAD,
182
+ git_error_set(GIT_ERROR_FETCHHEAD,
183
183
  "invalid description data in FETCH_HEAD line %"PRIuZ, line_num);
184
184
  return -1;
185
185
  }
@@ -189,13 +189,13 @@ static int fetchhead_ref_parse(
189
189
  else if (strcmp(is_merge_str, "not-for-merge") == 0)
190
190
  *is_merge = 0;
191
191
  else {
192
- giterr_set(GITERR_FETCHHEAD,
192
+ git_error_set(GIT_ERROR_FETCHHEAD,
193
193
  "invalid for-merge entry in FETCH_HEAD line %"PRIuZ, line_num);
194
194
  return -1;
195
195
  }
196
196
 
197
197
  if ((desc = line) == NULL) {
198
- giterr_set(GITERR_FETCHHEAD,
198
+ git_error_set(GIT_ERROR_FETCHHEAD,
199
199
  "invalid description in FETCH_HEAD line %"PRIuZ, line_num);
200
200
  return -1;
201
201
  }
@@ -212,7 +212,7 @@ static int fetchhead_ref_parse(
212
212
  if (name) {
213
213
  if ((desc = strstr(name, "' ")) == NULL ||
214
214
  git__prefixcmp(desc, "' of ") != 0) {
215
- giterr_set(GITERR_FETCHHEAD,
215
+ git_error_set(GIT_ERROR_FETCHHEAD,
216
216
  "invalid description in FETCH_HEAD line %"PRIuZ, line_num);
217
217
  return -1;
218
218
  }
@@ -271,13 +271,13 @@ int git_repository_fetchhead_foreach(git_repository *repo,
271
271
 
272
272
  error = cb(ref_name, remote_url, &oid, is_merge, payload);
273
273
  if (error) {
274
- giterr_set_after_callback(error);
274
+ git_error_set_after_callback(error);
275
275
  goto done;
276
276
  }
277
277
  }
278
278
 
279
279
  if (*buffer) {
280
- giterr_set(GITERR_FETCHHEAD, "no EOL at line %"PRIuZ, line_num+1);
280
+ git_error_set(GIT_ERROR_FETCHHEAD, "no EOL at line %"PRIuZ, line_num+1);
281
281
  error = -1;
282
282
  goto done;
283
283
  }
@@ -7,7 +7,7 @@
7
7
 
8
8
  #include "filebuf.h"
9
9
 
10
- #include "fileops.h"
10
+ #include "futils.h"
11
11
 
12
12
  static const size_t WRITE_BUFFER_SIZE = (4096 * 2);
13
13
 
@@ -24,15 +24,15 @@ static int verify_last_error(git_filebuf *file)
24
24
  {
25
25
  switch (file->last_error) {
26
26
  case BUFERR_WRITE:
27
- giterr_set(GITERR_OS, "failed to write out file");
27
+ git_error_set(GIT_ERROR_OS, "failed to write out file");
28
28
  return -1;
29
29
 
30
30
  case BUFERR_MEM:
31
- giterr_set_oom();
31
+ git_error_set_oom();
32
32
  return -1;
33
33
 
34
34
  case BUFERR_ZLIB:
35
- giterr_set(GITERR_ZLIB,
35
+ git_error_set(GIT_ERROR_ZLIB,
36
36
  "Buffer error when writing out ZLib data");
37
37
  return -1;
38
38
 
@@ -44,18 +44,14 @@ static int verify_last_error(git_filebuf *file)
44
44
  static int lock_file(git_filebuf *file, int flags, mode_t mode)
45
45
  {
46
46
  if (git_path_exists(file->path_lock) == true) {
47
- if (flags & GIT_FILEBUF_FORCE)
48
- p_unlink(file->path_lock);
49
- else {
50
- giterr_clear(); /* actual OS error code just confuses */
51
- giterr_set(GITERR_OS,
52
- "failed to lock file '%s' for writing", file->path_lock);
53
- return GIT_ELOCKED;
54
- }
47
+ git_error_clear(); /* actual OS error code just confuses */
48
+ git_error_set(GIT_ERROR_OS,
49
+ "failed to lock file '%s' for writing", file->path_lock);
50
+ return GIT_ELOCKED;
55
51
  }
56
52
 
57
53
  /* create path to the file buffer is required */
58
- if (flags & GIT_FILEBUF_FORCE) {
54
+ if (flags & GIT_FILEBUF_CREATE_LEADING_DIRS) {
59
55
  /* XXX: Should dirmode here be configurable? Or is 0777 always fine? */
60
56
  file->fd = git_futils_creat_locked_withpath(file->path_lock, 0777, mode);
61
57
  } else {
@@ -75,7 +71,7 @@ static int lock_file(git_filebuf *file, int flags, mode_t mode)
75
71
 
76
72
  source = p_open(file->path_original, O_RDONLY);
77
73
  if (source < 0) {
78
- giterr_set(GITERR_OS,
74
+ git_error_set(GIT_ERROR_OS,
79
75
  "failed to open file '%s' for reading",
80
76
  file->path_original);
81
77
  return -1;
@@ -91,10 +87,10 @@ static int lock_file(git_filebuf *file, int flags, mode_t mode)
91
87
  p_close(source);
92
88
 
93
89
  if (read_bytes < 0) {
94
- giterr_set(GITERR_OS, "failed to read file '%s'", file->path_original);
90
+ git_error_set(GIT_ERROR_OS, "failed to read file '%s'", file->path_original);
95
91
  return -1;
96
92
  } else if (error < 0) {
97
- giterr_set(GITERR_OS, "failed to write file '%s'", file->path_lock);
93
+ git_error_set(GIT_ERROR_OS, "failed to write file '%s'", file->path_lock);
98
94
  return -1;
99
95
  }
100
96
  }
@@ -218,7 +214,7 @@ static int resolve_symlink(git_buf *out, const char *path)
218
214
  }
219
215
 
220
216
  if (error < 0) {
221
- giterr_set(GITERR_OS, "failed to stat '%s'", curpath.ptr);
217
+ git_error_set(GIT_ERROR_OS, "failed to stat '%s'", curpath.ptr);
222
218
  error = -1;
223
219
  goto cleanup;
224
220
  }
@@ -230,13 +226,13 @@ static int resolve_symlink(git_buf *out, const char *path)
230
226
 
231
227
  ret = p_readlink(curpath.ptr, target.ptr, GIT_PATH_MAX);
232
228
  if (ret < 0) {
233
- giterr_set(GITERR_OS, "failed to read symlink '%s'", curpath.ptr);
229
+ git_error_set(GIT_ERROR_OS, "failed to read symlink '%s'", curpath.ptr);
234
230
  error = -1;
235
231
  goto cleanup;
236
232
  }
237
233
 
238
234
  if (ret == GIT_PATH_MAX) {
239
- giterr_set(GITERR_INVALID, "symlink target too long");
235
+ git_error_set(GIT_ERROR_INVALID, "symlink target too long");
240
236
  error = -1;
241
237
  goto cleanup;
242
238
  }
@@ -263,7 +259,7 @@ static int resolve_symlink(git_buf *out, const char *path)
263
259
  }
264
260
  }
265
261
 
266
- giterr_set(GITERR_INVALID, "maximum symlink depth reached");
262
+ git_error_set(GIT_ERROR_INVALID, "maximum symlink depth reached");
267
263
  error = -1;
268
264
 
269
265
  cleanup:
@@ -303,7 +299,7 @@ int git_filebuf_open_withsize(git_filebuf *file, const char *path, int flags, mo
303
299
  /* Allocate the main cache buffer */
304
300
  if (!file->do_not_buffer) {
305
301
  file->buffer = git__malloc(file->buf_size);
306
- GITERR_CHECK_ALLOC(file->buffer);
302
+ GIT_ERROR_CHECK_ALLOC(file->buffer);
307
303
  }
308
304
 
309
305
  /* If we are hashing on-write, allocate a new hash context */
@@ -320,13 +316,13 @@ int git_filebuf_open_withsize(git_filebuf *file, const char *path, int flags, mo
320
316
  if (compression != 0) {
321
317
  /* Initialize the ZLib stream */
322
318
  if (deflateInit(&file->zs, compression) != Z_OK) {
323
- giterr_set(GITERR_ZLIB, "failed to initialize zlib");
319
+ git_error_set(GIT_ERROR_ZLIB, "failed to initialize zlib");
324
320
  goto cleanup;
325
321
  }
326
322
 
327
323
  /* Allocate the Zlib cache buffer */
328
324
  file->z_buf = git__malloc(file->buf_size);
329
- GITERR_CHECK_ALLOC(file->z_buf);
325
+ GIT_ERROR_CHECK_ALLOC(file->z_buf);
330
326
 
331
327
  /* Never flush */
332
328
  file->flush_mode = Z_NO_FLUSH;
@@ -352,7 +348,7 @@ int git_filebuf_open_withsize(git_filebuf *file, const char *path, int flags, mo
352
348
  /* No original path */
353
349
  file->path_original = NULL;
354
350
  file->path_lock = git_buf_detach(&tmp_path);
355
- GITERR_CHECK_ALLOC(file->path_lock);
351
+ GIT_ERROR_CHECK_ALLOC(file->path_lock);
356
352
  } else {
357
353
  git_buf resolved_path = GIT_BUF_INIT;
358
354
 
@@ -364,15 +360,15 @@ int git_filebuf_open_withsize(git_filebuf *file, const char *path, int flags, mo
364
360
  file->path_original = git_buf_detach(&resolved_path);
365
361
 
366
362
  /* create the locking path by appending ".lock" to the original */
367
- GITERR_CHECK_ALLOC_ADD(&alloc_len, path_len, GIT_FILELOCK_EXTLENGTH);
363
+ GIT_ERROR_CHECK_ALLOC_ADD(&alloc_len, path_len, GIT_FILELOCK_EXTLENGTH);
368
364
  file->path_lock = git__malloc(alloc_len);
369
- GITERR_CHECK_ALLOC(file->path_lock);
365
+ GIT_ERROR_CHECK_ALLOC(file->path_lock);
370
366
 
371
367
  memcpy(file->path_lock, file->path_original, path_len);
372
368
  memcpy(file->path_lock + path_len, GIT_FILELOCK_EXTENSION, GIT_FILELOCK_EXTLENGTH);
373
369
 
374
370
  if (git_path_isdir(file->path_original)) {
375
- giterr_set(GITERR_FILESYSTEM, "path '%s' is a directory", file->path_original);
371
+ git_error_set(GIT_ERROR_FILESYSTEM, "path '%s' is a directory", file->path_original);
376
372
  error = GIT_EDIRECTORY;
377
373
  goto cleanup;
378
374
  }
@@ -411,7 +407,7 @@ int git_filebuf_commit_at(git_filebuf *file, const char *path)
411
407
  {
412
408
  git__free(file->path_original);
413
409
  file->path_original = git__strdup(path);
414
- GITERR_CHECK_ALLOC(file->path_original);
410
+ GIT_ERROR_CHECK_ALLOC(file->path_original);
415
411
 
416
412
  return git_filebuf_commit(file);
417
413
  }
@@ -430,19 +426,19 @@ int git_filebuf_commit(git_filebuf *file)
430
426
  file->fd_is_open = false;
431
427
 
432
428
  if (file->do_fsync && p_fsync(file->fd) < 0) {
433
- giterr_set(GITERR_OS, "failed to fsync '%s'", file->path_lock);
429
+ git_error_set(GIT_ERROR_OS, "failed to fsync '%s'", file->path_lock);
434
430
  goto on_error;
435
431
  }
436
432
 
437
433
  if (p_close(file->fd) < 0) {
438
- giterr_set(GITERR_OS, "failed to close file at '%s'", file->path_lock);
434
+ git_error_set(GIT_ERROR_OS, "failed to close file at '%s'", file->path_lock);
439
435
  goto on_error;
440
436
  }
441
437
 
442
438
  file->fd = -1;
443
439
 
444
440
  if (p_rename(file->path_lock, file->path_original) < 0) {
445
- giterr_set(GITERR_OS, "failed to rename lockfile to '%s'", file->path_original);
441
+ git_error_set(GIT_ERROR_OS, "failed to rename lockfile to '%s'", file->path_original);
446
442
  goto on_error;
447
443
  }
448
444
 
@@ -583,7 +579,7 @@ int git_filebuf_stats(time_t *mtime, size_t *size, git_filebuf *file)
583
579
  res = p_stat(file->path_original, &st);
584
580
 
585
581
  if (res < 0) {
586
- giterr_set(GITERR_OS, "could not get stat info for '%s'",
582
+ git_error_set(GIT_ERROR_OS, "could not get stat info for '%s'",
587
583
  file->path_original);
588
584
  return res;
589
585
  }
@@ -9,7 +9,7 @@
9
9
 
10
10
  #include "common.h"
11
11
 
12
- #include "fileops.h"
12
+ #include "futils.h"
13
13
  #include "hash.h"
14
14
  #include <zlib.h>
15
15
 
@@ -19,7 +19,7 @@
19
19
 
20
20
  #define GIT_FILEBUF_HASH_CONTENTS (1 << 0)
21
21
  #define GIT_FILEBUF_APPEND (1 << 2)
22
- #define GIT_FILEBUF_FORCE (1 << 3)
22
+ #define GIT_FILEBUF_CREATE_LEADING_DIRS (1 << 3)
23
23
  #define GIT_FILEBUF_TEMPORARY (1 << 4)
24
24
  #define GIT_FILEBUF_DO_NOT_BUFFER (1 << 5)
25
25
  #define GIT_FILEBUF_FSYNC (1 << 6)
@@ -8,7 +8,7 @@
8
8
  #include "filter.h"
9
9
 
10
10
  #include "common.h"
11
- #include "fileops.h"
11
+ #include "futils.h"
12
12
  #include "hash.h"
13
13
  #include "repository.h"
14
14
  #include "global.h"
@@ -157,15 +157,15 @@ static int filter_registry_insert(
157
157
  if (filter_def_scan_attrs(&attrs, &nattr, &nmatch, filter->attributes) < 0)
158
158
  return -1;
159
159
 
160
- GITERR_CHECK_ALLOC_MULTIPLY(&alloc_len, nattr, 2);
161
- GITERR_CHECK_ALLOC_MULTIPLY(&alloc_len, alloc_len, sizeof(char *));
162
- GITERR_CHECK_ALLOC_ADD(&alloc_len, alloc_len, sizeof(git_filter_def));
160
+ GIT_ERROR_CHECK_ALLOC_MULTIPLY(&alloc_len, nattr, 2);
161
+ GIT_ERROR_CHECK_ALLOC_MULTIPLY(&alloc_len, alloc_len, sizeof(char *));
162
+ GIT_ERROR_CHECK_ALLOC_ADD(&alloc_len, alloc_len, sizeof(git_filter_def));
163
163
 
164
164
  fdef = git__calloc(1, alloc_len);
165
- GITERR_CHECK_ALLOC(fdef);
165
+ GIT_ERROR_CHECK_ALLOC(fdef);
166
166
 
167
167
  fdef->filter_name = git__strdup(name);
168
- GITERR_CHECK_ALLOC(fdef->filter_name);
168
+ GIT_ERROR_CHECK_ALLOC(fdef->filter_name);
169
169
 
170
170
  fdef->filter = filter;
171
171
  fdef->priority = priority;
@@ -269,13 +269,13 @@ int git_filter_register(
269
269
  assert(name && filter);
270
270
 
271
271
  if (git_rwlock_wrlock(&filter_registry.lock) < 0) {
272
- giterr_set(GITERR_OS, "failed to lock filter registry");
272
+ git_error_set(GIT_ERROR_OS, "failed to lock filter registry");
273
273
  return -1;
274
274
  }
275
275
 
276
276
  if (!filter_registry_find(NULL, name)) {
277
- giterr_set(
278
- GITERR_FILTER, "attempt to reregister existing filter '%s'", name);
277
+ git_error_set(
278
+ GIT_ERROR_FILTER, "attempt to reregister existing filter '%s'", name);
279
279
  error = GIT_EEXISTS;
280
280
  goto done;
281
281
  }
@@ -297,17 +297,17 @@ int git_filter_unregister(const char *name)
297
297
 
298
298
  /* cannot unregister default filters */
299
299
  if (!strcmp(GIT_FILTER_CRLF, name) || !strcmp(GIT_FILTER_IDENT, name)) {
300
- giterr_set(GITERR_FILTER, "cannot unregister filter '%s'", name);
300
+ git_error_set(GIT_ERROR_FILTER, "cannot unregister filter '%s'", name);
301
301
  return -1;
302
302
  }
303
303
 
304
304
  if (git_rwlock_wrlock(&filter_registry.lock) < 0) {
305
- giterr_set(GITERR_OS, "failed to lock filter registry");
305
+ git_error_set(GIT_ERROR_OS, "failed to lock filter registry");
306
306
  return -1;
307
307
  }
308
308
 
309
309
  if ((fdef = filter_registry_lookup(&pos, name)) == NULL) {
310
- giterr_set(GITERR_FILTER, "cannot find filter '%s' to unregister", name);
310
+ git_error_set(GIT_ERROR_FILTER, "cannot find filter '%s' to unregister", name);
311
311
  error = GIT_ENOTFOUND;
312
312
  goto done;
313
313
  }
@@ -348,7 +348,7 @@ git_filter *git_filter_lookup(const char *name)
348
348
  git_filter *filter = NULL;
349
349
 
350
350
  if (git_rwlock_rdlock(&filter_registry.lock) < 0) {
351
- giterr_set(GITERR_OS, "failed to lock filter registry");
351
+ git_error_set(GIT_ERROR_OS, "failed to lock filter registry");
352
352
  return NULL;
353
353
  }
354
354
 
@@ -385,7 +385,7 @@ uint16_t git_filter_source_filemode(const git_filter_source *src)
385
385
 
386
386
  const git_oid *git_filter_source_id(const git_filter_source *src)
387
387
  {
388
- return git_oid_iszero(&src->oid) ? NULL : &src->oid;
388
+ return git_oid_is_zero(&src->oid) ? NULL : &src->oid;
389
389
  }
390
390
 
391
391
  git_filter_mode_t git_filter_source_mode(const git_filter_source *src)
@@ -404,11 +404,11 @@ static int filter_list_new(
404
404
  git_filter_list *fl = NULL;
405
405
  size_t pathlen = src->path ? strlen(src->path) : 0, alloclen;
406
406
 
407
- GITERR_CHECK_ALLOC_ADD(&alloclen, sizeof(git_filter_list), pathlen);
408
- GITERR_CHECK_ALLOC_ADD(&alloclen, alloclen, 1);
407
+ GIT_ERROR_CHECK_ALLOC_ADD(&alloclen, sizeof(git_filter_list), pathlen);
408
+ GIT_ERROR_CHECK_ALLOC_ADD(&alloclen, alloclen, 1);
409
409
 
410
410
  fl = git__calloc(1, alloclen);
411
- GITERR_CHECK_ALLOC(fl);
411
+ GIT_ERROR_CHECK_ALLOC(fl);
412
412
 
413
413
  if (src->path)
414
414
  memcpy(fl->path, src->path, pathlen);
@@ -428,24 +428,32 @@ static int filter_list_check_attributes(
428
428
  git_filter_def *fdef,
429
429
  const git_filter_source *src)
430
430
  {
431
- int error;
432
- size_t i;
433
431
  const char **strs = git__calloc(fdef->nattrs, sizeof(const char *));
434
- GITERR_CHECK_ALLOC(strs);
432
+ uint32_t flags = 0;
433
+ size_t i;
434
+ int error;
435
+
436
+ GIT_ERROR_CHECK_ALLOC(strs);
437
+
438
+ if ((src->flags & GIT_FILTER_NO_SYSTEM_ATTRIBUTES) != 0)
439
+ flags |= GIT_ATTR_CHECK_NO_SYSTEM;
440
+
441
+ if ((src->flags & GIT_FILTER_ATTRIBUTES_FROM_HEAD) != 0)
442
+ flags |= GIT_ATTR_CHECK_INCLUDE_HEAD;
435
443
 
436
444
  error = git_attr_get_many_with_session(
437
- strs, repo, attr_session, 0, src->path, fdef->nattrs, fdef->attrs);
445
+ strs, repo, attr_session, flags, src->path, fdef->nattrs, fdef->attrs);
438
446
 
439
447
  /* if no values were found but no matches are needed, it's okay! */
440
448
  if (error == GIT_ENOTFOUND && !fdef->nmatches) {
441
- giterr_clear();
449
+ git_error_clear();
442
450
  git__free((void *)strs);
443
451
  return 0;
444
452
  }
445
453
 
446
454
  for (i = 0; !error && i < fdef->nattrs; ++i) {
447
455
  const char *want = fdef->attrs[fdef->nattrs + i];
448
- git_attr_t want_type, found_type;
456
+ git_attr_value_t want_type, found_type;
449
457
 
450
458
  if (!want)
451
459
  continue;
@@ -455,7 +463,7 @@ static int filter_list_check_attributes(
455
463
 
456
464
  if (want_type != found_type)
457
465
  error = GIT_ENOTFOUND;
458
- else if (want_type == GIT_ATTR_VALUE_T &&
466
+ else if (want_type == GIT_ATTR_VALUE_STRING &&
459
467
  strcmp(want, strs[i]) &&
460
468
  strcmp(want, "*"))
461
469
  error = GIT_ENOTFOUND;
@@ -499,7 +507,7 @@ int git_filter_list__load_ext(
499
507
  git_filter_def *fdef;
500
508
 
501
509
  if (git_rwlock_rdlock(&filter_registry.lock) < 0) {
502
- giterr_set(GITERR_OS, "failed to lock filter registry");
510
+ git_error_set(GIT_ERROR_OS, "failed to lock filter registry");
503
511
  return -1;
504
512
  }
505
513
 
@@ -551,7 +559,7 @@ int git_filter_list__load_ext(
551
559
  }
552
560
 
553
561
  fe = git_array_alloc(fl->filters);
554
- GITERR_CHECK_ALLOC(fe);
562
+ GIT_ERROR_CHECK_ALLOC(fe);
555
563
 
556
564
  fe->filter = fdef->filter;
557
565
  fe->filter_name = fdef->filter_name;
@@ -634,7 +642,7 @@ int git_filter_list_push(
634
642
  assert(fl && filter);
635
643
 
636
644
  if (git_rwlock_rdlock(&filter_registry.lock) < 0) {
637
- giterr_set(GITERR_OS, "failed to lock filter registry");
645
+ git_error_set(GIT_ERROR_OS, "failed to lock filter registry");
638
646
  return -1;
639
647
  }
640
648
 
@@ -646,7 +654,7 @@ int git_filter_list_push(
646
654
  git_rwlock_rdunlock(&filter_registry.lock);
647
655
 
648
656
  if (fdef == NULL) {
649
- giterr_set(GITERR_FILTER, "cannot use an unregistered filter");
657
+ git_error_set(GIT_ERROR_FILTER, "cannot use an unregistered filter");
650
658
  return -1;
651
659
  }
652
660
 
@@ -654,7 +662,7 @@ int git_filter_list_push(
654
662
  return error;
655
663
 
656
664
  fe = git_array_alloc(fl->filters);
657
- GITERR_CHECK_ALLOC(fe);
665
+ GIT_ERROR_CHECK_ALLOC(fe);
658
666
  fe->filter = filter;
659
667
  fe->payload = payload;
660
668
 
@@ -756,10 +764,10 @@ int git_filter_list_apply_to_file(
756
764
 
757
765
  static int buf_from_blob(git_buf *out, git_blob *blob)
758
766
  {
759
- git_off_t rawsize = git_blob_rawsize(blob);
767
+ git_object_size_t rawsize = git_blob_rawsize(blob);
760
768
 
761
769
  if (!git__is_sizet(rawsize)) {
762
- giterr_set(GITERR_OS, "blob is too large to filter");
770
+ git_error_set(GIT_ERROR_OS, "blob is too large to filter");
763
771
  return -1;
764
772
  }
765
773
 
@@ -809,6 +817,7 @@ static int proxy_stream_close(git_writestream *s)
809
817
  {
810
818
  struct proxy_stream *proxy_stream = (struct proxy_stream *)s;
811
819
  git_buf *writebuf;
820
+ git_error_state error_state = {0};
812
821
  int error;
813
822
 
814
823
  assert(proxy_stream);
@@ -826,6 +835,11 @@ static int proxy_stream_close(git_writestream *s)
826
835
  git_buf_sanitize(proxy_stream->output);
827
836
  writebuf = proxy_stream->output;
828
837
  } else {
838
+ /* close stream before erroring out taking care
839
+ * to preserve the original error */
840
+ git_error_state_capture(&error_state, error);
841
+ proxy_stream->target->close(proxy_stream->target);
842
+ git_error_state_restore(&error_state);
829
843
  return error;
830
844
  }
831
845
 
@@ -855,7 +869,7 @@ static int proxy_stream_init(
855
869
  git_writestream *target)
856
870
  {
857
871
  struct proxy_stream *proxy_stream = git__calloc(1, sizeof(struct proxy_stream));
858
- GITERR_CHECK_ALLOC(proxy_stream);
872
+ GIT_ERROR_CHECK_ALLOC(proxy_stream);
859
873
 
860
874
  proxy_stream->parent.write = proxy_stream_write;
861
875
  proxy_stream->parent.close = proxy_stream_close;
@@ -968,7 +982,7 @@ int git_filter_list_stream_file(
968
982
  }
969
983
 
970
984
  if (readlen < 0)
971
- error = readlen;
985
+ error = -1;
972
986
 
973
987
  done:
974
988
  if (initialized)
@@ -15,16 +15,6 @@
15
15
  /* Amount of file to examine for NUL byte when checking binary-ness */
16
16
  #define GIT_FILTER_BYTES_TO_CHECK_NUL 8000
17
17
 
18
- /* Possible CRLF values */
19
- typedef enum {
20
- GIT_CRLF_GUESS = -1,
21
- GIT_CRLF_BINARY = 0,
22
- GIT_CRLF_TEXT,
23
- GIT_CRLF_INPUT,
24
- GIT_CRLF_CRLF,
25
- GIT_CRLF_AUTO,
26
- } git_crlf_t;
27
-
28
18
  typedef struct {
29
19
  git_attr_session *attr_session;
30
20
  git_buf *temp_buf;