rugged 0.28.4 → 0.28.4.1

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 (350) hide show
  1. checksums.yaml +4 -4
  2. data/lib/rugged/version.rb +1 -1
  3. data/vendor/libgit2/AUTHORS +0 -1
  4. data/vendor/libgit2/CMakeLists.txt +16 -36
  5. data/vendor/libgit2/COPYING +0 -28
  6. data/vendor/libgit2/cmake/Modules/EnableWarnings.cmake +1 -5
  7. data/vendor/libgit2/cmake/Modules/FindCoreFoundation.cmake +2 -2
  8. data/vendor/libgit2/cmake/Modules/FindGSSAPI.cmake +1 -1
  9. data/vendor/libgit2/cmake/Modules/FindSecurity.cmake +2 -2
  10. data/vendor/libgit2/cmake/Modules/FindStatNsec.cmake +0 -6
  11. data/vendor/libgit2/deps/http-parser/http_parser.c +6 -11
  12. data/vendor/libgit2/deps/regex/CMakeLists.txt +2 -0
  13. data/vendor/libgit2/deps/regex/COPYING +502 -0
  14. data/vendor/libgit2/deps/regex/config.h +7 -0
  15. data/vendor/libgit2/deps/regex/regcomp.c +3857 -0
  16. data/vendor/libgit2/deps/regex/regex.c +92 -0
  17. data/vendor/libgit2/deps/regex/regex.h +582 -0
  18. data/vendor/libgit2/deps/regex/regex_internal.c +1744 -0
  19. data/vendor/libgit2/deps/regex/regex_internal.h +819 -0
  20. data/vendor/libgit2/deps/regex/regexec.c +4369 -0
  21. data/vendor/libgit2/deps/zlib/adler32.c +7 -0
  22. data/vendor/libgit2/deps/zlib/crc32.c +7 -0
  23. data/vendor/libgit2/include/git2.h +0 -2
  24. data/vendor/libgit2/include/git2/apply.h +2 -22
  25. data/vendor/libgit2/include/git2/attr.h +12 -19
  26. data/vendor/libgit2/include/git2/blame.h +2 -2
  27. data/vendor/libgit2/include/git2/blob.h +12 -44
  28. data/vendor/libgit2/include/git2/buffer.h +14 -20
  29. data/vendor/libgit2/include/git2/checkout.h +14 -46
  30. data/vendor/libgit2/include/git2/cherrypick.h +3 -3
  31. data/vendor/libgit2/include/git2/clone.h +2 -2
  32. data/vendor/libgit2/include/git2/commit.h +1 -23
  33. data/vendor/libgit2/include/git2/common.h +5 -7
  34. data/vendor/libgit2/include/git2/config.h +12 -12
  35. data/vendor/libgit2/include/git2/deprecated.h +3 -243
  36. data/vendor/libgit2/include/git2/describe.h +4 -4
  37. data/vendor/libgit2/include/git2/diff.h +14 -16
  38. data/vendor/libgit2/include/git2/filter.h +0 -8
  39. data/vendor/libgit2/include/git2/index.h +1 -2
  40. data/vendor/libgit2/include/git2/indexer.h +4 -48
  41. data/vendor/libgit2/include/git2/inttypes.h +309 -0
  42. data/vendor/libgit2/include/git2/merge.h +10 -6
  43. data/vendor/libgit2/include/git2/net.h +5 -0
  44. data/vendor/libgit2/include/git2/object.h +14 -2
  45. data/vendor/libgit2/include/git2/odb.h +2 -3
  46. data/vendor/libgit2/include/git2/odb_backend.h +4 -5
  47. data/vendor/libgit2/include/git2/oid.h +1 -1
  48. data/vendor/libgit2/include/git2/pack.h +1 -12
  49. data/vendor/libgit2/include/git2/proxy.h +3 -5
  50. data/vendor/libgit2/include/git2/rebase.h +2 -46
  51. data/vendor/libgit2/include/git2/refs.h +0 -19
  52. data/vendor/libgit2/include/git2/remote.h +12 -35
  53. data/vendor/libgit2/include/git2/repository.h +2 -24
  54. data/vendor/libgit2/include/git2/revert.h +1 -1
  55. data/vendor/libgit2/include/git2/stash.h +3 -3
  56. data/vendor/libgit2/include/git2/status.h +16 -25
  57. data/vendor/libgit2/include/git2/submodule.h +3 -20
  58. data/vendor/libgit2/include/git2/sys/alloc.h +9 -9
  59. data/vendor/libgit2/include/git2/sys/odb_backend.h +4 -48
  60. data/vendor/libgit2/include/git2/sys/refdb_backend.h +21 -57
  61. data/vendor/libgit2/include/git2/sys/repository.h +1 -5
  62. data/vendor/libgit2/include/git2/sys/time.h +31 -0
  63. data/vendor/libgit2/include/git2/sys/transport.h +2 -2
  64. data/vendor/libgit2/include/git2/tag.h +2 -11
  65. data/vendor/libgit2/include/git2/trace.h +2 -2
  66. data/vendor/libgit2/include/git2/transport.h +340 -11
  67. data/vendor/libgit2/include/git2/tree.h +1 -1
  68. data/vendor/libgit2/include/git2/types.h +89 -4
  69. data/vendor/libgit2/include/git2/version.h +2 -2
  70. data/vendor/libgit2/include/git2/worktree.h +5 -5
  71. data/vendor/libgit2/libgit2.pc.in +13 -0
  72. data/vendor/libgit2/src/CMakeLists.txt +222 -88
  73. data/vendor/libgit2/src/alloc.c +14 -2
  74. data/vendor/libgit2/src/apply.c +30 -60
  75. data/vendor/libgit2/src/attr.c +64 -70
  76. data/vendor/libgit2/src/attr_file.c +96 -189
  77. data/vendor/libgit2/src/attr_file.h +9 -9
  78. data/vendor/libgit2/src/attrcache.c +46 -44
  79. data/vendor/libgit2/src/attrcache.h +1 -2
  80. data/vendor/libgit2/src/blame.c +5 -17
  81. data/vendor/libgit2/src/blame.h +1 -1
  82. data/vendor/libgit2/src/blame_git.c +7 -21
  83. data/vendor/libgit2/src/blob.c +17 -81
  84. data/vendor/libgit2/src/blob.h +2 -2
  85. data/vendor/libgit2/src/branch.c +5 -29
  86. data/vendor/libgit2/src/buffer.c +7 -14
  87. data/vendor/libgit2/src/cache.c +33 -26
  88. data/vendor/libgit2/src/cache.h +1 -1
  89. data/vendor/libgit2/src/cc-compat.h +0 -5
  90. data/vendor/libgit2/src/checkout.c +16 -26
  91. data/vendor/libgit2/src/cherrypick.c +3 -9
  92. data/vendor/libgit2/src/clone.c +7 -29
  93. data/vendor/libgit2/src/clone.h +0 -4
  94. data/vendor/libgit2/src/commit.c +21 -69
  95. data/vendor/libgit2/src/commit.h +0 -6
  96. data/vendor/libgit2/src/commit_list.c +76 -28
  97. data/vendor/libgit2/src/commit_list.h +2 -2
  98. data/vendor/libgit2/src/common.h +75 -3
  99. data/vendor/libgit2/src/config.c +40 -31
  100. data/vendor/libgit2/src/config.h +6 -7
  101. data/vendor/libgit2/src/config_backend.h +0 -12
  102. data/vendor/libgit2/src/config_cache.c +39 -39
  103. data/vendor/libgit2/src/config_entries.c +99 -69
  104. data/vendor/libgit2/src/config_entries.h +0 -1
  105. data/vendor/libgit2/src/config_file.c +380 -337
  106. data/vendor/libgit2/src/config_mem.c +16 -12
  107. data/vendor/libgit2/src/config_parse.c +29 -49
  108. data/vendor/libgit2/src/config_parse.h +12 -13
  109. data/vendor/libgit2/src/crlf.c +14 -14
  110. data/vendor/libgit2/src/describe.c +20 -21
  111. data/vendor/libgit2/src/diff.c +58 -43
  112. data/vendor/libgit2/src/diff.h +1 -2
  113. data/vendor/libgit2/src/diff_driver.c +38 -37
  114. data/vendor/libgit2/src/diff_file.c +7 -9
  115. data/vendor/libgit2/src/diff_file.h +1 -1
  116. data/vendor/libgit2/src/diff_generate.c +85 -135
  117. data/vendor/libgit2/src/diff_generate.h +2 -2
  118. data/vendor/libgit2/src/diff_parse.c +1 -1
  119. data/vendor/libgit2/src/diff_print.c +13 -25
  120. data/vendor/libgit2/src/diff_stats.c +1 -1
  121. data/vendor/libgit2/src/diff_tform.c +4 -4
  122. data/vendor/libgit2/src/errors.c +22 -12
  123. data/vendor/libgit2/src/features.h.in +2 -9
  124. data/vendor/libgit2/src/fetch.c +2 -7
  125. data/vendor/libgit2/src/fetchhead.c +1 -1
  126. data/vendor/libgit2/src/filebuf.c +10 -6
  127. data/vendor/libgit2/src/filebuf.h +2 -2
  128. data/vendor/libgit2/src/{futils.c → fileops.c} +17 -21
  129. data/vendor/libgit2/src/{futils.h → fileops.h} +5 -5
  130. data/vendor/libgit2/src/filter.c +8 -16
  131. data/vendor/libgit2/src/fnmatch.c +248 -0
  132. data/vendor/libgit2/src/fnmatch.h +48 -0
  133. data/vendor/libgit2/src/global.c +40 -12
  134. data/vendor/libgit2/src/global.h +2 -0
  135. data/vendor/libgit2/src/hash.c +0 -61
  136. data/vendor/libgit2/src/hash.h +21 -19
  137. data/vendor/libgit2/src/hash/{sha1/collisiondetect.c → hash_collisiondetect.h} +17 -14
  138. data/vendor/libgit2/src/hash/{sha1/common_crypto.c → hash_common_crypto.h} +19 -15
  139. data/vendor/libgit2/src/hash/{sha1/generic.c → hash_generic.c} +10 -22
  140. data/vendor/libgit2/src/hash/{sha1/generic.h → hash_generic.h} +14 -4
  141. data/vendor/libgit2/src/hash/{sha1/mbedtls.c → hash_mbedtls.c} +7 -15
  142. data/vendor/libgit2/src/hash/{sha1/mbedtls.h → hash_mbedtls.h} +11 -6
  143. data/vendor/libgit2/src/hash/{sha1/openssl.c → hash_openssl.h} +18 -14
  144. data/vendor/libgit2/src/hash/{sha1/win32.c → hash_win32.c} +24 -34
  145. data/vendor/libgit2/src/hash/{sha1/win32.h → hash_win32.h} +19 -6
  146. data/vendor/libgit2/src/hash/{sha1/sha1dc → sha1dc}/sha1.c +3 -14
  147. data/vendor/libgit2/src/hash/{sha1/sha1dc → sha1dc}/sha1.h +0 -0
  148. data/vendor/libgit2/src/hash/{sha1/sha1dc → sha1dc}/ubc_check.c +0 -0
  149. data/vendor/libgit2/src/hash/{sha1/sha1dc → sha1dc}/ubc_check.h +0 -0
  150. data/vendor/libgit2/src/hashsig.c +1 -1
  151. data/vendor/libgit2/src/idxmap.c +65 -91
  152. data/vendor/libgit2/src/idxmap.h +15 -151
  153. data/vendor/libgit2/src/ignore.c +38 -32
  154. data/vendor/libgit2/src/index.c +43 -66
  155. data/vendor/libgit2/src/index.h +1 -1
  156. data/vendor/libgit2/src/indexer.c +70 -69
  157. data/vendor/libgit2/src/integer.h +4 -39
  158. data/vendor/libgit2/src/iterator.c +22 -27
  159. data/vendor/libgit2/src/map.h +1 -1
  160. data/vendor/libgit2/src/merge.c +44 -58
  161. data/vendor/libgit2/src/merge_driver.c +4 -4
  162. data/vendor/libgit2/src/merge_file.c +1 -1
  163. data/vendor/libgit2/src/mwindow.c +23 -18
  164. data/vendor/libgit2/src/mwindow.h +4 -4
  165. data/vendor/libgit2/src/netops.c +165 -55
  166. data/vendor/libgit2/src/netops.h +25 -3
  167. data/vendor/libgit2/src/notes.c +2 -2
  168. data/vendor/libgit2/src/object.c +2 -2
  169. data/vendor/libgit2/src/object.h +0 -2
  170. data/vendor/libgit2/src/odb.c +23 -41
  171. data/vendor/libgit2/src/odb.h +2 -3
  172. data/vendor/libgit2/src/odb_loose.c +10 -17
  173. data/vendor/libgit2/src/odb_mempack.c +23 -10
  174. data/vendor/libgit2/src/odb_pack.c +4 -4
  175. data/vendor/libgit2/src/offmap.c +55 -43
  176. data/vendor/libgit2/src/offmap.h +24 -102
  177. data/vendor/libgit2/src/oid.c +1 -6
  178. data/vendor/libgit2/src/oidmap.c +57 -39
  179. data/vendor/libgit2/src/oidmap.h +19 -99
  180. data/vendor/libgit2/src/pack-objects.c +32 -25
  181. data/vendor/libgit2/src/pack-objects.h +1 -1
  182. data/vendor/libgit2/src/pack.c +47 -45
  183. data/vendor/libgit2/src/pack.h +14 -12
  184. data/vendor/libgit2/src/parse.c +0 -10
  185. data/vendor/libgit2/src/parse.h +3 -3
  186. data/vendor/libgit2/src/patch.c +1 -1
  187. data/vendor/libgit2/src/patch_generate.c +2 -2
  188. data/vendor/libgit2/src/patch_parse.c +31 -124
  189. data/vendor/libgit2/src/path.c +6 -43
  190. data/vendor/libgit2/src/path.h +0 -2
  191. data/vendor/libgit2/src/pathspec.c +13 -13
  192. data/vendor/libgit2/src/pool.c +22 -26
  193. data/vendor/libgit2/src/pool.h +7 -7
  194. data/vendor/libgit2/src/posix.c +7 -7
  195. data/vendor/libgit2/src/posix.h +1 -12
  196. data/vendor/libgit2/src/proxy.c +2 -7
  197. data/vendor/libgit2/src/push.c +5 -10
  198. data/vendor/libgit2/src/reader.c +2 -2
  199. data/vendor/libgit2/src/rebase.c +7 -66
  200. data/vendor/libgit2/src/refdb.c +0 -12
  201. data/vendor/libgit2/src/refdb_fs.c +165 -214
  202. data/vendor/libgit2/src/reflog.c +13 -11
  203. data/vendor/libgit2/src/refs.c +18 -24
  204. data/vendor/libgit2/src/refspec.c +16 -9
  205. data/vendor/libgit2/src/remote.c +52 -50
  206. data/vendor/libgit2/src/remote.h +2 -2
  207. data/vendor/libgit2/src/repository.c +100 -115
  208. data/vendor/libgit2/src/repository.h +40 -49
  209. data/vendor/libgit2/src/revert.c +3 -8
  210. data/vendor/libgit2/src/revparse.c +19 -18
  211. data/vendor/libgit2/src/revwalk.c +30 -63
  212. data/vendor/libgit2/src/revwalk.h +0 -20
  213. data/vendor/libgit2/src/settings.c +0 -5
  214. data/vendor/libgit2/src/sortedcache.c +26 -12
  215. data/vendor/libgit2/src/sortedcache.h +1 -1
  216. data/vendor/libgit2/src/stash.c +65 -45
  217. data/vendor/libgit2/src/status.c +9 -15
  218. data/vendor/libgit2/src/{allocators/stdalloc.c → stdalloc.c} +4 -3
  219. data/vendor/libgit2/src/{allocators/stdalloc.h → stdalloc.h} +4 -4
  220. data/vendor/libgit2/src/streams/openssl.c +0 -20
  221. data/vendor/libgit2/src/streams/socket.c +2 -2
  222. data/vendor/libgit2/src/strmap.c +84 -37
  223. data/vendor/libgit2/src/strmap.h +33 -105
  224. data/vendor/libgit2/src/submodule.c +70 -102
  225. data/vendor/libgit2/src/submodule.h +1 -1
  226. data/vendor/libgit2/src/sysdir.c +1 -11
  227. data/vendor/libgit2/src/tag.c +2 -10
  228. data/vendor/libgit2/src/trace.c +1 -1
  229. data/vendor/libgit2/src/trace.h +2 -2
  230. data/vendor/libgit2/src/trailer.c +32 -46
  231. data/vendor/libgit2/src/transaction.c +9 -10
  232. data/vendor/libgit2/src/transports/auth.c +9 -10
  233. data/vendor/libgit2/src/transports/auth.h +4 -11
  234. data/vendor/libgit2/src/transports/auth_negotiate.c +9 -23
  235. data/vendor/libgit2/src/transports/auth_negotiate.h +2 -2
  236. data/vendor/libgit2/src/transports/cred.c +6 -6
  237. data/vendor/libgit2/src/{allocators/win32_crtdbg.h → transports/cred.h} +4 -5
  238. data/vendor/libgit2/src/transports/git.c +16 -11
  239. data/vendor/libgit2/src/transports/http.c +276 -419
  240. data/vendor/libgit2/src/transports/http.h +1 -1
  241. data/vendor/libgit2/src/transports/local.c +9 -9
  242. data/vendor/libgit2/src/transports/smart.c +17 -17
  243. data/vendor/libgit2/src/transports/smart.h +2 -2
  244. data/vendor/libgit2/src/transports/smart_protocol.c +60 -36
  245. data/vendor/libgit2/src/transports/ssh.c +36 -46
  246. data/vendor/libgit2/src/transports/winhttp.c +207 -231
  247. data/vendor/libgit2/src/tree-cache.c +7 -14
  248. data/vendor/libgit2/src/tree.c +24 -10
  249. data/vendor/libgit2/src/unix/map.c +1 -1
  250. data/vendor/libgit2/src/unix/posix.h +11 -1
  251. data/vendor/libgit2/src/userdiff.h +1 -3
  252. data/vendor/libgit2/src/util.c +53 -51
  253. data/vendor/libgit2/src/util.h +21 -16
  254. data/vendor/libgit2/src/win32/map.c +5 -3
  255. data/vendor/libgit2/src/win32/path_w32.c +2 -12
  256. data/vendor/libgit2/src/win32/path_w32.h +29 -0
  257. data/vendor/libgit2/src/win32/posix.h +4 -1
  258. data/vendor/libgit2/src/win32/posix_w32.c +5 -40
  259. data/vendor/libgit2/src/win32/precompiled.h +2 -0
  260. data/vendor/libgit2/src/win32/thread.c +10 -5
  261. data/vendor/libgit2/src/win32/w32_buffer.c +3 -7
  262. data/vendor/libgit2/src/win32/w32_crtdbg_stacktrace.c +93 -0
  263. data/vendor/libgit2/src/win32/w32_crtdbg_stacktrace.h +2 -0
  264. data/vendor/libgit2/src/win32/w32_stack.c +9 -4
  265. data/vendor/libgit2/src/win32/w32_stack.h +3 -3
  266. data/vendor/libgit2/src/win32/w32_util.c +0 -31
  267. data/vendor/libgit2/src/win32/w32_util.h +32 -6
  268. data/vendor/libgit2/src/worktree.c +22 -36
  269. data/vendor/libgit2/src/xdiff/xdiffi.c +1 -1
  270. data/vendor/libgit2/src/xdiff/xmerge.c +0 -12
  271. data/vendor/libgit2/src/xdiff/xpatience.c +0 -3
  272. metadata +34 -98
  273. data/vendor/libgit2/cmake/Modules/FindGSSFramework.cmake +0 -28
  274. data/vendor/libgit2/cmake/Modules/FindPCRE.cmake +0 -38
  275. data/vendor/libgit2/cmake/Modules/FindPCRE2.cmake +0 -37
  276. data/vendor/libgit2/cmake/Modules/PkgBuildConfig.cmake +0 -110
  277. data/vendor/libgit2/cmake/Modules/SelectGSSAPI.cmake +0 -53
  278. data/vendor/libgit2/cmake/Modules/SelectHTTPSBackend.cmake +0 -124
  279. data/vendor/libgit2/cmake/Modules/SelectHashes.cmake +0 -66
  280. data/vendor/libgit2/deps/ntlmclient/CMakeLists.txt +0 -21
  281. data/vendor/libgit2/deps/ntlmclient/compat.h +0 -33
  282. data/vendor/libgit2/deps/ntlmclient/crypt.h +0 -64
  283. data/vendor/libgit2/deps/ntlmclient/crypt_commoncrypto.c +0 -120
  284. data/vendor/libgit2/deps/ntlmclient/crypt_commoncrypto.h +0 -18
  285. data/vendor/libgit2/deps/ntlmclient/crypt_mbedtls.c +0 -145
  286. data/vendor/libgit2/deps/ntlmclient/crypt_mbedtls.h +0 -18
  287. data/vendor/libgit2/deps/ntlmclient/crypt_openssl.c +0 -130
  288. data/vendor/libgit2/deps/ntlmclient/crypt_openssl.h +0 -21
  289. data/vendor/libgit2/deps/ntlmclient/ntlm.c +0 -1420
  290. data/vendor/libgit2/deps/ntlmclient/ntlm.h +0 -174
  291. data/vendor/libgit2/deps/ntlmclient/ntlmclient.h +0 -320
  292. data/vendor/libgit2/deps/ntlmclient/unicode.h +0 -36
  293. data/vendor/libgit2/deps/ntlmclient/unicode_builtin.c +0 -445
  294. data/vendor/libgit2/deps/ntlmclient/unicode_iconv.c +0 -201
  295. data/vendor/libgit2/deps/ntlmclient/utf8.h +0 -1257
  296. data/vendor/libgit2/deps/ntlmclient/util.c +0 -21
  297. data/vendor/libgit2/deps/ntlmclient/util.h +0 -14
  298. data/vendor/libgit2/deps/pcre/CMakeLists.txt +0 -140
  299. data/vendor/libgit2/deps/pcre/COPYING +0 -5
  300. data/vendor/libgit2/deps/pcre/cmake/COPYING-CMAKE-SCRIPTS +0 -22
  301. data/vendor/libgit2/deps/pcre/cmake/FindEditline.cmake +0 -17
  302. data/vendor/libgit2/deps/pcre/cmake/FindPackageHandleStandardArgs.cmake +0 -58
  303. data/vendor/libgit2/deps/pcre/cmake/FindReadline.cmake +0 -29
  304. data/vendor/libgit2/deps/pcre/config.h.in +0 -57
  305. data/vendor/libgit2/deps/pcre/pcre.h +0 -641
  306. data/vendor/libgit2/deps/pcre/pcre_byte_order.c +0 -319
  307. data/vendor/libgit2/deps/pcre/pcre_chartables.c +0 -198
  308. data/vendor/libgit2/deps/pcre/pcre_compile.c +0 -9800
  309. data/vendor/libgit2/deps/pcre/pcre_config.c +0 -190
  310. data/vendor/libgit2/deps/pcre/pcre_dfa_exec.c +0 -3676
  311. data/vendor/libgit2/deps/pcre/pcre_exec.c +0 -7173
  312. data/vendor/libgit2/deps/pcre/pcre_fullinfo.c +0 -245
  313. data/vendor/libgit2/deps/pcre/pcre_get.c +0 -669
  314. data/vendor/libgit2/deps/pcre/pcre_globals.c +0 -86
  315. data/vendor/libgit2/deps/pcre/pcre_internal.h +0 -2787
  316. data/vendor/libgit2/deps/pcre/pcre_jit_compile.c +0 -11913
  317. data/vendor/libgit2/deps/pcre/pcre_maketables.c +0 -156
  318. data/vendor/libgit2/deps/pcre/pcre_newline.c +0 -210
  319. data/vendor/libgit2/deps/pcre/pcre_ord2utf8.c +0 -94
  320. data/vendor/libgit2/deps/pcre/pcre_printint.c +0 -834
  321. data/vendor/libgit2/deps/pcre/pcre_refcount.c +0 -92
  322. data/vendor/libgit2/deps/pcre/pcre_string_utils.c +0 -211
  323. data/vendor/libgit2/deps/pcre/pcre_study.c +0 -1686
  324. data/vendor/libgit2/deps/pcre/pcre_tables.c +0 -727
  325. data/vendor/libgit2/deps/pcre/pcre_ucd.c +0 -3644
  326. data/vendor/libgit2/deps/pcre/pcre_valid_utf8.c +0 -301
  327. data/vendor/libgit2/deps/pcre/pcre_version.c +0 -98
  328. data/vendor/libgit2/deps/pcre/pcre_xclass.c +0 -268
  329. data/vendor/libgit2/deps/pcre/pcreposix.c +0 -421
  330. data/vendor/libgit2/deps/pcre/pcreposix.h +0 -117
  331. data/vendor/libgit2/deps/pcre/ucp.h +0 -224
  332. data/vendor/libgit2/include/git2/cert.h +0 -135
  333. data/vendor/libgit2/include/git2/cred.h +0 -308
  334. data/vendor/libgit2/include/git2/sys/cred.h +0 -90
  335. data/vendor/libgit2/src/allocators/win32_crtdbg.c +0 -118
  336. data/vendor/libgit2/src/config_snapshot.c +0 -206
  337. data/vendor/libgit2/src/errors.h +0 -81
  338. data/vendor/libgit2/src/hash/sha1.h +0 -38
  339. data/vendor/libgit2/src/hash/sha1/collisiondetect.h +0 -19
  340. data/vendor/libgit2/src/hash/sha1/common_crypto.h +0 -19
  341. data/vendor/libgit2/src/hash/sha1/openssl.h +0 -19
  342. data/vendor/libgit2/src/net.c +0 -184
  343. data/vendor/libgit2/src/net.h +0 -36
  344. data/vendor/libgit2/src/regexp.c +0 -221
  345. data/vendor/libgit2/src/regexp.h +0 -97
  346. data/vendor/libgit2/src/transports/auth_ntlm.c +0 -223
  347. data/vendor/libgit2/src/transports/auth_ntlm.h +0 -35
  348. data/vendor/libgit2/src/wildmatch.c +0 -320
  349. data/vendor/libgit2/src/wildmatch.h +0 -23
  350. data/vendor/libgit2/src/win32/w32_common.h +0 -39
@@ -10,12 +10,10 @@
10
10
  #include "repository.h"
11
11
  #include "filebuf.h"
12
12
  #include "attrcache.h"
13
- #include "buf_text.h"
14
13
  #include "git2/blob.h"
15
14
  #include "git2/tree.h"
16
15
  #include "blob.h"
17
16
  #include "index.h"
18
- #include "wildmatch.h"
19
17
  #include <ctype.h>
20
18
 
21
19
  static void attr_file_free(git_attr_file *file)
@@ -105,22 +103,14 @@ int git_attr_file__load(
105
103
  git_attr_session *attr_session,
106
104
  git_attr_file_entry *entry,
107
105
  git_attr_file_source source,
108
- git_attr_file_parser parser,
109
- bool allow_macros)
106
+ git_attr_file_parser parser)
110
107
  {
111
108
  int error = 0;
112
- git_tree *tree = NULL;
113
- git_tree_entry *tree_entry = NULL;
114
109
  git_blob *blob = NULL;
115
110
  git_buf content = GIT_BUF_INIT;
116
- const char *content_str;
117
111
  git_attr_file *file;
118
112
  struct stat st;
119
113
  bool nonexistent = false;
120
- int bom_offset;
121
- git_bom_t bom;
122
- git_oid id;
123
- git_object_size_t blobsize;
124
114
 
125
115
  *out = NULL;
126
116
 
@@ -129,6 +119,9 @@ int git_attr_file__load(
129
119
  /* in-memory attribute file doesn't need data */
130
120
  break;
131
121
  case GIT_ATTR_FILE__FROM_INDEX: {
122
+ git_oid id;
123
+ git_off_t blobsize;
124
+
132
125
  if ((error = attr_file_oid_from_index(&id, repo, entry->path)) < 0 ||
133
126
  (error = git_blob_lookup(&blob, repo, &id)) < 0)
134
127
  return error;
@@ -158,25 +151,6 @@ int git_attr_file__load(
158
151
 
159
152
  break;
160
153
  }
161
- case GIT_ATTR_FILE__FROM_HEAD: {
162
- if ((error = git_repository_head_tree(&tree, repo)) < 0 ||
163
- (error = git_tree_entry_bypath(&tree_entry, tree, entry->path)) < 0 ||
164
- (error = git_blob_lookup(&blob, repo, git_tree_entry_id(tree_entry))) < 0)
165
- goto cleanup;
166
-
167
- /*
168
- * Do not assume that data straight from the ODB is NULL-terminated;
169
- * copy the contents of a file to a buffer to work on.
170
- */
171
- blobsize = git_blob_rawsize(blob);
172
-
173
- GIT_ERROR_CHECK_BLOBSIZE(blobsize);
174
- if ((error = git_buf_put(&content,
175
- git_blob_rawcontent(blob), (size_t)blobsize)) < 0)
176
- goto cleanup;
177
-
178
- break;
179
- }
180
154
  default:
181
155
  git_error_set(GIT_ERROR_INVALID, "unknown file source %d", source);
182
156
  return -1;
@@ -185,20 +159,13 @@ int git_attr_file__load(
185
159
  if ((error = git_attr_file__new(&file, entry, source)) < 0)
186
160
  goto cleanup;
187
161
 
188
- /* advance over a UTF8 BOM */
189
- content_str = git_buf_cstr(&content);
190
- bom_offset = git_buf_text_detect_bom(&bom, &content);
191
-
192
- if (bom == GIT_BOM_UTF8)
193
- content_str += bom_offset;
194
-
195
162
  /* store the key of the attr_reader; don't bother with cache
196
163
  * invalidation during the same attr reader session.
197
164
  */
198
165
  if (attr_session)
199
166
  file->session_key = attr_session->key;
200
167
 
201
- if (parser && (error = parser(repo, file, content_str, allow_macros)) < 0) {
168
+ if (parser && (error = parser(repo, file, git_buf_cstr(&content))) < 0) {
202
169
  git_attr_file__free(file);
203
170
  goto cleanup;
204
171
  }
@@ -208,8 +175,6 @@ int git_attr_file__load(
208
175
  file->nonexistent = 1;
209
176
  else if (source == GIT_ATTR_FILE__FROM_INDEX)
210
177
  git_oid_cpy(&file->cache_data.oid, git_blob_id(blob));
211
- else if (source == GIT_ATTR_FILE__FROM_HEAD)
212
- git_oid_cpy(&file->cache_data.oid, git_tree_id(tree));
213
178
  else if (source == GIT_ATTR_FILE__FROM_FILE)
214
179
  git_futils_filestamp_set_from_stat(&file->cache_data.stamp, &st);
215
180
  /* else always cacheable */
@@ -218,8 +183,6 @@ int git_attr_file__load(
218
183
 
219
184
  cleanup:
220
185
  git_blob_free(blob);
221
- git_tree_entry_free(tree_entry);
222
- git_tree_free(tree);
223
186
  git_buf_dispose(&content);
224
187
 
225
188
  return error;
@@ -260,19 +223,6 @@ int git_attr_file__out_of_date(
260
223
  return (git_oid__cmp(&file->cache_data.oid, &id) != 0);
261
224
  }
262
225
 
263
- case GIT_ATTR_FILE__FROM_HEAD: {
264
- git_tree *tree;
265
- int error;
266
-
267
- if ((error = git_repository_head_tree(&tree, repo)) < 0)
268
- return error;
269
-
270
- error = git_oid__cmp(&file->cache_data.oid, git_tree_id(tree));
271
-
272
- git_tree_free(tree);
273
- return error;
274
- }
275
-
276
226
  default:
277
227
  git_error_set(GIT_ERROR_INVALID, "invalid file type %d", file->source);
278
228
  return -1;
@@ -287,15 +237,16 @@ static bool parse_optimized_patterns(
287
237
  const char *pattern);
288
238
 
289
239
  int git_attr_file__parse_buffer(
290
- git_repository *repo, git_attr_file *attrs, const char *data, bool allow_macros)
240
+ git_repository *repo, git_attr_file *attrs, const char *data)
291
241
  {
242
+ int error = 0;
292
243
  const char *scan = data, *context = NULL;
293
244
  git_attr_rule *rule = NULL;
294
- int error = 0;
295
245
 
296
- /* If subdir file path, convert context for file paths */
297
- if (attrs->entry && git_path_root(attrs->entry->path) < 0 &&
298
- !git__suffixcmp(attrs->entry->path, "/" GIT_ATTR_FILE))
246
+ /* if subdir file path, convert context for file paths */
247
+ if (attrs->entry &&
248
+ git_path_root(attrs->entry->path) < 0 &&
249
+ !git__suffixcmp(attrs->entry->path, "/" GIT_ATTR_FILE))
299
250
  context = attrs->entry->path;
300
251
 
301
252
  if (git_mutex_lock(&attrs->lock) < 0) {
@@ -304,38 +255,38 @@ int git_attr_file__parse_buffer(
304
255
  }
305
256
 
306
257
  while (!error && *scan) {
307
- /* Allocate rule if needed, otherwise re-use previous rule */
308
- if (!rule) {
309
- rule = git__calloc(1, sizeof(*rule));
310
- GIT_ERROR_CHECK_ALLOC(rule);
311
- } else
312
- git_attr_rule__clear(rule);
313
-
314
- rule->match.flags = GIT_ATTR_FNMATCH_ALLOWNEG | GIT_ATTR_FNMATCH_ALLOWMACRO;
315
-
316
- /* Parse the next "pattern attr attr attr" line */
317
- if ((error = git_attr_fnmatch__parse(&rule->match, &attrs->pool, context, &scan)) < 0 ||
318
- (error = git_attr_assignment__parse(repo, &attrs->pool, &rule->assigns, &scan)) < 0)
319
- {
320
- if (error != GIT_ENOTFOUND)
321
- goto out;
322
- error = 0;
323
- continue;
258
+ /* allocate rule if needed */
259
+ if (!rule && !(rule = git__calloc(1, sizeof(*rule)))) {
260
+ error = -1;
261
+ break;
324
262
  }
325
263
 
326
- if (rule->match.flags & GIT_ATTR_FNMATCH_MACRO) {
327
- /* TODO: warning if macro found in file below repo root */
328
- if (!allow_macros)
329
- continue;
330
- if ((error = git_attr_cache__insert_macro(repo, rule)) < 0)
331
- goto out;
332
- } else if ((error = git_vector_insert(&attrs->rules, rule)) < 0)
333
- goto out;
264
+ rule->match.flags =
265
+ GIT_ATTR_FNMATCH_ALLOWNEG | GIT_ATTR_FNMATCH_ALLOWMACRO;
334
266
 
335
- rule = NULL;
267
+ /* parse the next "pattern attr attr attr" line */
268
+ if (!(error = git_attr_fnmatch__parse(
269
+ &rule->match, &attrs->pool, context, &scan)) &&
270
+ !(error = git_attr_assignment__parse(
271
+ repo, &attrs->pool, &rule->assigns, &scan)))
272
+ {
273
+ if (rule->match.flags & GIT_ATTR_FNMATCH_MACRO)
274
+ /* TODO: warning if macro found in file below repo root */
275
+ error = git_attr_cache__insert_macro(repo, rule);
276
+ else
277
+ error = git_vector_insert(&attrs->rules, rule);
278
+ }
279
+
280
+ /* if the rule wasn't a pattern, on to the next */
281
+ if (error < 0) {
282
+ git_attr_rule__clear(rule); /* reset rule contents */
283
+ if (error == GIT_ENOTFOUND)
284
+ error = 0;
285
+ } else {
286
+ rule = NULL; /* vector now "owns" the rule */
287
+ }
336
288
  }
337
289
 
338
- out:
339
290
  git_mutex_unlock(&attrs->lock);
340
291
  git_attr_rule__free(rule);
341
292
 
@@ -382,28 +333,33 @@ int git_attr_file__lookup_one(
382
333
 
383
334
  int git_attr_file__load_standalone(git_attr_file **out, const char *path)
384
335
  {
385
- git_buf content = GIT_BUF_INIT;
386
- git_attr_file *file = NULL;
387
336
  int error;
337
+ git_attr_file *file;
338
+ git_buf content = GIT_BUF_INIT;
388
339
 
389
- if ((error = git_futils_readbuffer(&content, path)) < 0)
390
- goto out;
340
+ error = git_attr_file__new(&file, NULL, GIT_ATTR_FILE__FROM_FILE);
341
+ if (error < 0)
342
+ return error;
391
343
 
392
- /*
393
- * Because the cache entry is allocated from the file's own pool, we
344
+ error = git_attr_cache__alloc_file_entry(
345
+ &file->entry, NULL, path, &file->pool);
346
+ if (error < 0) {
347
+ git_attr_file__free(file);
348
+ return error;
349
+ }
350
+ /* because the cache entry is allocated from the file's own pool, we
394
351
  * don't have to free it - freeing file+pool will free cache entry, too.
395
352
  */
396
353
 
397
- if ((error = git_attr_file__new(&file, NULL, GIT_ATTR_FILE__FROM_FILE)) < 0 ||
398
- (error = git_attr_file__parse_buffer(NULL, file, content.ptr, true)) < 0 ||
399
- (error = git_attr_cache__alloc_file_entry(&file->entry, NULL, path, &file->pool)) < 0)
400
- goto out;
354
+ if (!(error = git_futils_readbuffer(&content, path))) {
355
+ error = git_attr_file__parse_buffer(NULL, file, content.ptr);
356
+ git_buf_dispose(&content);
357
+ }
401
358
 
402
- *out = file;
403
- out:
404
359
  if (error < 0)
405
360
  git_attr_file__free(file);
406
- git_buf_dispose(&content);
361
+ else
362
+ *out = file;
407
363
 
408
364
  return error;
409
365
  }
@@ -434,13 +390,18 @@ bool git_attr_fnmatch__match(
434
390
  }
435
391
 
436
392
  if (match->flags & GIT_ATTR_FNMATCH_ICASE)
437
- flags |= WM_CASEFOLD;
393
+ flags |= FNM_CASEFOLD;
394
+ if (match->flags & GIT_ATTR_FNMATCH_LEADINGDIR)
395
+ flags |= FNM_LEADING_DIR;
438
396
 
439
397
  if (match->flags & GIT_ATTR_FNMATCH_FULLPATH) {
440
398
  filename = relpath;
441
- flags |= WM_PATHNAME;
399
+ flags |= FNM_PATHNAME;
442
400
  } else {
443
401
  filename = path->basename;
402
+
403
+ if (path->is_dir)
404
+ flags |= FNM_LEADING_DIR;
444
405
  }
445
406
 
446
407
  if ((match->flags & GIT_ATTR_FNMATCH_DIRECTORY) && !path->is_dir) {
@@ -455,6 +416,8 @@ bool git_attr_fnmatch__match(
455
416
  path->basename == relpath)
456
417
  return false;
457
418
 
419
+ flags |= FNM_LEADING_DIR;
420
+
458
421
  /* fail match if this is a file with same name as ignored folder */
459
422
  samename = (match->flags & GIT_ATTR_FNMATCH_ICASE) ?
460
423
  !strcasecmp(match->pattern, relpath) :
@@ -463,10 +426,10 @@ bool git_attr_fnmatch__match(
463
426
  if (samename)
464
427
  return false;
465
428
 
466
- return (wildmatch(match->pattern, relpath, flags) == WM_MATCH);
429
+ return (p_fnmatch(match->pattern, relpath, flags) != FNM_NOMATCH);
467
430
  }
468
431
 
469
- return (wildmatch(match->pattern, filename, flags) == WM_MATCH);
432
+ return (p_fnmatch(match->pattern, filename, flags) != FNM_NOMATCH);
470
433
  }
471
434
 
472
435
  bool git_attr_rule__match(
@@ -585,61 +548,6 @@ void git_attr_path__free(git_attr_path *info)
585
548
  * "cat-file.c" but not "mozilla-sha1/sha1.c".
586
549
  */
587
550
 
588
- /*
589
- * Determine the length of trailing spaces. Escaped spaces do not count as
590
- * trailing whitespace.
591
- */
592
- static size_t trailing_space_length(const char *p, size_t len)
593
- {
594
- size_t n, i;
595
- for (n = len; n; n--) {
596
- if (p[n-1] != ' ' && p[n-1] != '\t')
597
- break;
598
-
599
- /*
600
- * Count escape-characters before space. In case where it's an
601
- * even number of escape characters, then the escape char itself
602
- * is escaped and the whitespace is an unescaped whitespace.
603
- * Otherwise, the last escape char is not escaped and the
604
- * whitespace in an escaped whitespace.
605
- */
606
- i = n;
607
- while (i > 1 && p[i-2] == '\\')
608
- i--;
609
- if ((n - i) % 2)
610
- break;
611
- }
612
- return len - n;
613
- }
614
-
615
- static size_t unescape_spaces(char *str)
616
- {
617
- char *scan, *pos = str;
618
- bool escaped = false;
619
-
620
- if (!str)
621
- return 0;
622
-
623
- for (scan = str; *scan; scan++) {
624
- if (!escaped && *scan == '\\') {
625
- escaped = true;
626
- continue;
627
- }
628
-
629
- /* Only insert the escape character for escaped non-spaces */
630
- if (escaped && !git__isspace(*scan))
631
- *pos++ = '\\';
632
-
633
- *pos++ = *scan;
634
- escaped = false;
635
- }
636
-
637
- if (pos != scan)
638
- *pos = '\0';
639
-
640
- return (pos - str);
641
- }
642
-
643
551
  /*
644
552
  * This will return 0 if the spec was filled out,
645
553
  * GIT_ENOTFOUND if the fnmatch does not require matching, or
@@ -653,7 +561,6 @@ int git_attr_fnmatch__parse(
653
561
  {
654
562
  const char *pattern, *scan;
655
563
  int slash_count, allow_space;
656
- bool escaped;
657
564
 
658
565
  assert(spec && base && *base);
659
566
 
@@ -665,11 +572,8 @@ int git_attr_fnmatch__parse(
665
572
 
666
573
  pattern = *base;
667
574
 
668
- while (!allow_space && git__isspace(*pattern))
669
- pattern++;
670
-
671
- if (!*pattern || *pattern == '#' || *pattern == '\n' ||
672
- (*pattern == '\r' && *(pattern + 1) == '\n')) {
575
+ while (git__isspace(*pattern)) pattern++;
576
+ if (!*pattern || *pattern == '#') {
673
577
  *base = git__next_line(pattern);
674
578
  return GIT_ENOTFOUND;
675
579
  }
@@ -684,33 +588,29 @@ int git_attr_fnmatch__parse(
684
588
 
685
589
  if (*pattern == '!' && (spec->flags & GIT_ATTR_FNMATCH_ALLOWNEG) != 0) {
686
590
  spec->flags = spec->flags | GIT_ATTR_FNMATCH_NEGATIVE;
591
+ if ((spec->flags & GIT_ATTR_FNMATCH_NOLEADINGDIR) == 0)
592
+ spec->flags |= GIT_ATTR_FNMATCH_LEADINGDIR;
687
593
  pattern++;
688
594
  }
689
595
 
690
596
  slash_count = 0;
691
- escaped = false;
692
- /* Scan until a non-escaped whitespace. */
693
597
  for (scan = pattern; *scan != '\0'; ++scan) {
694
- char c = *scan;
695
-
696
- if (c == '\\' && !escaped) {
697
- escaped = true;
698
- continue;
699
- } else if (git__isspace(c) && !escaped) {
700
- if (!allow_space || (c != ' ' && c != '\t' && c != '\r'))
598
+ /* scan until (non-escaped) white space */
599
+ if (git__isspace(*scan) && *(scan - 1) != '\\') {
600
+ if (!allow_space || (*scan != ' ' && *scan != '\t' && *scan != '\r'))
701
601
  break;
702
- } else if (c == '/') {
602
+ }
603
+
604
+ if (*scan == '/') {
703
605
  spec->flags = spec->flags | GIT_ATTR_FNMATCH_FULLPATH;
704
606
  slash_count++;
705
-
706
- if (slash_count == 1 && pattern == scan)
607
+ if (pattern == scan)
707
608
  pattern++;
708
- } else if (git__iswildcard(c) && !escaped) {
709
- /* remember if we see an unescaped wildcard in pattern */
710
- spec->flags = spec->flags | GIT_ATTR_FNMATCH_HASWILD;
711
609
  }
712
-
713
- escaped = false;
610
+ /* remember if we see an unescaped wildcard in pattern */
611
+ else if (git__iswildcard(*scan) &&
612
+ (scan == pattern || (*(scan - 1) != '\\')))
613
+ spec->flags = spec->flags | GIT_ATTR_FNMATCH_HASWILD;
714
614
  }
715
615
 
716
616
  *base = scan;
@@ -728,10 +628,9 @@ int git_attr_fnmatch__parse(
728
628
  return GIT_ENOTFOUND;
729
629
 
730
630
  /* Remove trailing spaces. */
731
- spec->length -= trailing_space_length(pattern, spec->length);
732
-
733
- if (spec->length == 0)
734
- return GIT_ENOTFOUND;
631
+ while (pattern[spec->length - 1] == ' ' || pattern[spec->length - 1] == '\t')
632
+ if (--spec->length == 0)
633
+ return GIT_ENOTFOUND;
735
634
 
736
635
  if (pattern[spec->length - 1] == '/') {
737
636
  spec->length--;
@@ -739,6 +638,14 @@ int git_attr_fnmatch__parse(
739
638
  if (--slash_count <= 0)
740
639
  spec->flags = spec->flags & ~GIT_ATTR_FNMATCH_FULLPATH;
741
640
  }
641
+ if ((spec->flags & GIT_ATTR_FNMATCH_NOLEADINGDIR) == 0 &&
642
+ spec->length >= 2 &&
643
+ pattern[spec->length - 1] == '*' &&
644
+ pattern[spec->length - 2] == '/') {
645
+ spec->length -= 2;
646
+ spec->flags = spec->flags | GIT_ATTR_FNMATCH_LEADINGDIR;
647
+ /* leave FULLPATH match on, however */
648
+ }
742
649
 
743
650
  if (context) {
744
651
  char *slash = strrchr(context, '/');
@@ -757,8 +664,9 @@ int git_attr_fnmatch__parse(
757
664
  *base = git__next_line(pattern);
758
665
  return -1;
759
666
  } else {
760
- /* strip '\' that might have been used for internal whitespace */
761
- spec->length = unescape_spaces(spec->pattern);
667
+ /* strip '\' that might have be used for internal whitespace */
668
+ spec->length = git__unescape(spec->pattern);
669
+ /* TODO: convert remaining '\' into '/' for POSIX ??? */
762
670
  }
763
671
 
764
672
  return 0;
@@ -951,7 +859,6 @@ int git_attr_session__init(git_attr_session *session, git_repository *repo)
951
859
  {
952
860
  assert(repo);
953
861
 
954
- memset(session, 0, sizeof(*session));
955
862
  session->key = git_atomic_inc(&repo->attr_session_key);
956
863
 
957
864
  return 0;