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
@@ -19,18 +19,18 @@ const char *git_attr__true = "[internal]__TRUE__";
19
19
  const char *git_attr__false = "[internal]__FALSE__";
20
20
  const char *git_attr__unset = "[internal]__UNSET__";
21
21
 
22
- git_attr_t git_attr_value(const char *attr)
22
+ git_attr_value_t git_attr_value(const char *attr)
23
23
  {
24
24
  if (attr == NULL || attr == git_attr__unset)
25
- return GIT_ATTR_UNSPECIFIED_T;
25
+ return GIT_ATTR_VALUE_UNSPECIFIED;
26
26
 
27
27
  if (attr == git_attr__true)
28
- return GIT_ATTR_TRUE_T;
28
+ return GIT_ATTR_VALUE_TRUE;
29
29
 
30
30
  if (attr == git_attr__false)
31
- return GIT_ATTR_FALSE_T;
31
+ return GIT_ATTR_VALUE_FALSE;
32
32
 
33
- return GIT_ATTR_VALUE_T;
33
+ return GIT_ATTR_VALUE_STRING;
34
34
  }
35
35
 
36
36
  static int collect_attr_files(
@@ -135,7 +135,7 @@ int git_attr_get_many_with_session(
135
135
  goto cleanup;
136
136
 
137
137
  info = git__calloc(num_attr, sizeof(attr_get_many_info));
138
- GITERR_CHECK_ALLOC(info);
138
+ GIT_ERROR_CHECK_ALLOC(info);
139
139
 
140
140
  git_vector_foreach(&files, i, file) {
141
141
 
@@ -215,7 +215,7 @@ int git_attr_foreach(
215
215
  return -1;
216
216
 
217
217
  if ((error = collect_attr_files(repo, NULL, flags, pathname, &files)) < 0 ||
218
- (error = git_strmap_alloc(&seen)) < 0)
218
+ (error = git_strmap_new(&seen)) < 0)
219
219
  goto cleanup;
220
220
 
221
221
  git_vector_foreach(&files, i, file) {
@@ -227,13 +227,12 @@ int git_attr_foreach(
227
227
  if (git_strmap_exists(seen, assign->name))
228
228
  continue;
229
229
 
230
- git_strmap_insert(seen, assign->name, assign, &error);
231
- if (error < 0)
230
+ if ((error = git_strmap_set(seen, assign->name, assign)) < 0)
232
231
  goto cleanup;
233
232
 
234
233
  error = callback(assign->name, assign->value, payload);
235
234
  if (error) {
236
- giterr_set_after_callback(error);
235
+ git_error_set_after_callback(error);
237
236
  goto cleanup;
238
237
  }
239
238
  }
@@ -253,15 +252,16 @@ static int preload_attr_file(
253
252
  git_attr_session *attr_session,
254
253
  git_attr_file_source source,
255
254
  const char *base,
256
- const char *file)
255
+ const char *file,
256
+ bool allow_macros)
257
257
  {
258
258
  int error;
259
259
  git_attr_file *preload = NULL;
260
260
 
261
261
  if (!file)
262
262
  return 0;
263
- if (!(error = git_attr_cache__get(
264
- &preload, repo, attr_session, source, base, file, git_attr_file__parse_buffer)))
263
+ if (!(error = git_attr_cache__get(&preload, repo, attr_session, source, base, file,
264
+ git_attr_file__parse_buffer, allow_macros)))
265
265
  git_attr_file__free(preload);
266
266
 
267
267
  return error;
@@ -277,7 +277,7 @@ static int system_attr_file(
277
277
  error = git_sysdir_find_system_file(out, GIT_ATTR_FILE_SYSTEM);
278
278
 
279
279
  if (error == GIT_ENOTFOUND)
280
- giterr_clear();
280
+ git_error_clear();
281
281
 
282
282
  return error;
283
283
  }
@@ -286,7 +286,7 @@ static int system_attr_file(
286
286
  error = git_sysdir_find_system_file(&attr_session->sysdir, GIT_ATTR_FILE_SYSTEM);
287
287
 
288
288
  if (error == GIT_ENOTFOUND)
289
- giterr_clear();
289
+ git_error_clear();
290
290
  else if (error)
291
291
  return error;
292
292
 
@@ -305,12 +305,15 @@ static int system_attr_file(
305
305
  return 0;
306
306
  }
307
307
 
308
- static int attr_setup(git_repository *repo, git_attr_session *attr_session)
308
+ static int attr_setup(
309
+ git_repository *repo,
310
+ git_attr_session *attr_session,
311
+ uint32_t flags)
309
312
  {
310
- int error = 0;
311
- const char *workdir = git_repository_workdir(repo);
312
- git_index *idx = NULL;
313
313
  git_buf path = GIT_BUF_INIT;
314
+ git_index *idx = NULL;
315
+ const char *workdir;
316
+ int error = 0;
314
317
 
315
318
  if (attr_session && attr_session->init_setup)
316
319
  return 0;
@@ -318,41 +321,43 @@ static int attr_setup(git_repository *repo, git_attr_session *attr_session)
318
321
  if ((error = git_attr_cache__init(repo)) < 0)
319
322
  return error;
320
323
 
321
- /* preload attribute files that could contain macros so the
322
- * definitions will be available for later file parsing
324
+ /*
325
+ * Preload attribute files that could contain macros so the
326
+ * definitions will be available for later file parsing.
323
327
  */
324
328
 
325
- error = system_attr_file(&path, attr_session);
326
-
327
- if (error == 0)
328
- error = preload_attr_file(
329
- repo, attr_session, GIT_ATTR_FILE__FROM_FILE, NULL, path.ptr);
330
-
331
- if (error != GIT_ENOTFOUND)
332
- goto out;
333
-
334
- if ((error = preload_attr_file(
335
- repo, attr_session, GIT_ATTR_FILE__FROM_FILE,
336
- NULL, git_repository_attr_cache(repo)->cfg_attr_file)) < 0)
337
- goto out;
329
+ if ((error = system_attr_file(&path, attr_session)) < 0 ||
330
+ (error = preload_attr_file(repo, attr_session, GIT_ATTR_FILE__FROM_FILE,
331
+ NULL, path.ptr, true)) < 0) {
332
+ if (error != GIT_ENOTFOUND)
333
+ goto out;
334
+ }
338
335
 
339
- if ((error = git_repository_item_path(&path,
340
- repo, GIT_REPOSITORY_ITEM_INFO)) < 0)
336
+ if ((error = preload_attr_file(repo, attr_session, GIT_ATTR_FILE__FROM_FILE,
337
+ NULL, git_repository_attr_cache(repo)->cfg_attr_file, true)) < 0)
341
338
  goto out;
342
339
 
343
- if ((error = preload_attr_file(
344
- repo, attr_session, GIT_ATTR_FILE__FROM_FILE,
345
- path.ptr, GIT_ATTR_FILE_INREPO)) < 0)
346
- goto out;
340
+ git_buf_clear(&path); /* git_repository_item_path expects an empty buffer, because it uses git_buf_set */
341
+ if ((error = git_repository_item_path(&path, repo, GIT_REPOSITORY_ITEM_INFO)) < 0 ||
342
+ (error = preload_attr_file(repo, attr_session, GIT_ATTR_FILE__FROM_FILE,
343
+ path.ptr, GIT_ATTR_FILE_INREPO, true)) < 0) {
344
+ if (error != GIT_ENOTFOUND)
345
+ goto out;
346
+ }
347
347
 
348
- if (workdir != NULL &&
349
- (error = preload_attr_file(
350
- repo, attr_session, GIT_ATTR_FILE__FROM_FILE, workdir, GIT_ATTR_FILE)) < 0)
351
- goto out;
348
+ if ((workdir = git_repository_workdir(repo)) != NULL &&
349
+ (error = preload_attr_file(repo, attr_session, GIT_ATTR_FILE__FROM_FILE,
350
+ workdir, GIT_ATTR_FILE, true)) < 0)
351
+ goto out;
352
352
 
353
353
  if ((error = git_repository_index__weakptr(&idx, repo)) < 0 ||
354
- (error = preload_attr_file(
355
- repo, attr_session, GIT_ATTR_FILE__FROM_INDEX, NULL, GIT_ATTR_FILE)) < 0)
354
+ (error = preload_attr_file(repo, attr_session, GIT_ATTR_FILE__FROM_INDEX,
355
+ NULL, GIT_ATTR_FILE, true)) < 0)
356
+ goto out;
357
+
358
+ if ((flags & GIT_ATTR_CHECK_INCLUDE_HEAD) != 0 &&
359
+ (error = preload_attr_file(repo, attr_session, GIT_ATTR_FILE__FROM_HEAD,
360
+ NULL, GIT_ATTR_FILE, true)) < 0)
356
361
  goto out;
357
362
 
358
363
  if (attr_session)
@@ -377,12 +382,12 @@ int git_attr_add_macro(
377
382
  return error;
378
383
 
379
384
  macro = git__calloc(1, sizeof(git_attr_rule));
380
- GITERR_CHECK_ALLOC(macro);
385
+ GIT_ERROR_CHECK_ALLOC(macro);
381
386
 
382
387
  pool = &git_repository_attr_cache(repo)->pool;
383
388
 
384
389
  macro->match.pattern = git_pool_strdup(pool, name);
385
- GITERR_CHECK_ALLOC(macro->match.pattern);
390
+ GIT_ERROR_CHECK_ALLOC(macro->match.pattern);
386
391
 
387
392
  macro->match.length = strlen(macro->match.pattern);
388
393
  macro->match.flags = GIT_ATTR_FNMATCH_MACRO;
@@ -431,6 +436,9 @@ static int attr_decide_sources(
431
436
  break;
432
437
  }
433
438
 
439
+ if ((flags & GIT_ATTR_CHECK_INCLUDE_HEAD) != 0)
440
+ srcs[count++] = GIT_ATTR_FILE__FROM_HEAD;
441
+
434
442
  return count;
435
443
  }
436
444
 
@@ -440,13 +448,14 @@ static int push_attr_file(
440
448
  git_vector *list,
441
449
  git_attr_file_source source,
442
450
  const char *base,
443
- const char *filename)
451
+ const char *filename,
452
+ bool allow_macros)
444
453
  {
445
454
  int error = 0;
446
455
  git_attr_file *file = NULL;
447
456
 
448
457
  error = git_attr_cache__get(&file, repo, attr_session,
449
- source, base, filename, git_attr_file__parse_buffer);
458
+ source, base, filename, git_attr_file__parse_buffer, allow_macros);
450
459
 
451
460
  if (error < 0)
452
461
  return error;
@@ -461,16 +470,18 @@ static int push_attr_file(
461
470
 
462
471
  static int push_one_attr(void *ref, const char *path)
463
472
  {
464
- int error = 0, n_src, i;
465
473
  attr_walk_up_info *info = (attr_walk_up_info *)ref;
466
- git_attr_file_source src[2];
474
+ git_attr_file_source src[GIT_ATTR_FILE_NUM_SOURCES];
475
+ int error = 0, n_src, i;
476
+ bool allow_macros;
467
477
 
468
478
  n_src = attr_decide_sources(
469
479
  info->flags, info->workdir != NULL, info->index != NULL, src);
480
+ allow_macros = info->workdir ? !strcmp(info->workdir, path) : false;
470
481
 
471
482
  for (i = 0; !error && i < n_src; ++i)
472
- error = push_attr_file(info->repo, info->attr_session,
473
- info->files, src[i], path, GIT_ATTR_FILE);
483
+ error = push_attr_file(info->repo, info->attr_session, info->files,
484
+ src[i], path, GIT_ATTR_FILE, allow_macros);
474
485
 
475
486
  return error;
476
487
  }
@@ -499,7 +510,7 @@ static int collect_attr_files(
499
510
  const char *workdir = git_repository_workdir(repo);
500
511
  attr_walk_up_info info = { NULL };
501
512
 
502
- if ((error = attr_setup(repo, attr_session)) < 0)
513
+ if ((error = attr_setup(repo, attr_session, flags)) < 0)
503
514
  return error;
504
515
 
505
516
  /* Resolve path in a non-bare repo */
@@ -517,22 +528,19 @@ static int collect_attr_files(
517
528
  * - $GIT_PREFIX/etc/gitattributes
518
529
  */
519
530
 
520
- error = git_repository_item_path(&attrfile, repo, GIT_REPOSITORY_ITEM_INFO);
521
- if (error < 0)
522
- goto cleanup;
523
-
524
- error = push_attr_file(
525
- repo, attr_session, files, GIT_ATTR_FILE__FROM_FILE,
526
- attrfile.ptr, GIT_ATTR_FILE_INREPO);
527
- if (error < 0)
528
- goto cleanup;
531
+ if ((error = git_repository_item_path(&attrfile, repo, GIT_REPOSITORY_ITEM_INFO)) < 0 ||
532
+ (error = push_attr_file(repo, attr_session, files, GIT_ATTR_FILE__FROM_FILE,
533
+ attrfile.ptr, GIT_ATTR_FILE_INREPO, true)) < 0) {
534
+ if (error != GIT_ENOTFOUND)
535
+ goto cleanup;
536
+ }
529
537
 
530
538
  info.repo = repo;
531
539
  info.attr_session = attr_session;
532
540
  info.flags = flags;
533
541
  info.workdir = workdir;
534
542
  if (git_repository_index__weakptr(&info.index, repo) < 0)
535
- giterr_clear(); /* no error even if there is no index */
543
+ git_error_clear(); /* no error even if there is no index */
536
544
  info.files = files;
537
545
 
538
546
  if (!strcmp(dir.ptr, "."))
@@ -544,9 +552,8 @@ static int collect_attr_files(
544
552
  goto cleanup;
545
553
 
546
554
  if (git_repository_attr_cache(repo)->cfg_attr_file != NULL) {
547
- error = push_attr_file(
548
- repo, attr_session, files, GIT_ATTR_FILE__FROM_FILE,
549
- NULL, git_repository_attr_cache(repo)->cfg_attr_file);
555
+ error = push_attr_file(repo, attr_session, files, GIT_ATTR_FILE__FROM_FILE,
556
+ NULL, git_repository_attr_cache(repo)->cfg_attr_file, true);
550
557
  if (error < 0)
551
558
  goto cleanup;
552
559
  }
@@ -555,9 +562,8 @@ static int collect_attr_files(
555
562
  error = system_attr_file(&dir, attr_session);
556
563
 
557
564
  if (!error)
558
- error = push_attr_file(
559
- repo, attr_session, files, GIT_ATTR_FILE__FROM_FILE,
560
- NULL, dir.ptr);
565
+ error = push_attr_file(repo, attr_session, files, GIT_ATTR_FILE__FROM_FILE,
566
+ NULL, dir.ptr, true);
561
567
  else if (error == GIT_ENOTFOUND)
562
568
  error = 0;
563
569
  }