rugged 1.7.2 → 1.9.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (361) 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 +23 -10
  5. data/vendor/libgit2/COPYING +195 -1
  6. data/vendor/libgit2/cmake/{FindIconv.cmake → FindIntlIconv.cmake} +6 -0
  7. data/vendor/libgit2/cmake/FindLLHTTP.cmake +39 -0
  8. data/vendor/libgit2/cmake/SelectGSSAPI.cmake +1 -1
  9. data/vendor/libgit2/cmake/SelectHTTPParser.cmake +23 -8
  10. data/vendor/libgit2/cmake/SelectHTTPSBackend.cmake +17 -8
  11. data/vendor/libgit2/cmake/SelectHashes.cmake +28 -11
  12. data/vendor/libgit2/cmake/SelectRegex.cmake +6 -1
  13. data/vendor/libgit2/cmake/SelectSSH.cmake +22 -17
  14. data/vendor/libgit2/cmake/SelectZlib.cmake +4 -0
  15. data/vendor/libgit2/deps/llhttp/CMakeLists.txt +8 -0
  16. data/vendor/libgit2/deps/llhttp/LICENSE-MIT +22 -0
  17. data/vendor/libgit2/deps/llhttp/api.c +510 -0
  18. data/vendor/libgit2/deps/llhttp/http.c +170 -0
  19. data/vendor/libgit2/deps/llhttp/llhttp.c +10168 -0
  20. data/vendor/libgit2/deps/llhttp/llhttp.h +897 -0
  21. data/vendor/libgit2/deps/ntlmclient/CMakeLists.txt +1 -1
  22. data/vendor/libgit2/deps/ntlmclient/crypt_builtin_md4.c +311 -0
  23. data/vendor/libgit2/deps/ntlmclient/crypt_commoncrypto.c +2 -1
  24. data/vendor/libgit2/deps/ntlmclient/crypt_mbedtls.c +0 -20
  25. data/vendor/libgit2/deps/ntlmclient/crypt_openssl.c +4 -4
  26. data/vendor/libgit2/deps/ntlmclient/ntlm.c +21 -21
  27. data/vendor/libgit2/deps/ntlmclient/unicode_builtin.c +5 -4
  28. data/vendor/libgit2/deps/ntlmclient/unicode_iconv.c +2 -1
  29. data/vendor/libgit2/deps/ntlmclient/utf8.h +1176 -721
  30. data/vendor/libgit2/deps/ntlmclient/util.h +11 -0
  31. data/vendor/libgit2/deps/pcre/CMakeLists.txt +1 -0
  32. data/vendor/libgit2/deps/xdiff/xmerge.c +2 -2
  33. data/vendor/libgit2/deps/zlib/CMakeLists.txt +6 -1
  34. data/vendor/libgit2/deps/zlib/LICENSE +22 -0
  35. data/vendor/libgit2/deps/zlib/adler32.c +5 -27
  36. data/vendor/libgit2/deps/zlib/crc32.c +94 -167
  37. data/vendor/libgit2/deps/zlib/deflate.c +358 -435
  38. data/vendor/libgit2/deps/zlib/deflate.h +41 -10
  39. data/vendor/libgit2/deps/zlib/gzguts.h +13 -18
  40. data/vendor/libgit2/deps/zlib/infback.c +17 -30
  41. data/vendor/libgit2/deps/zlib/inffast.c +1 -4
  42. data/vendor/libgit2/deps/zlib/inffast.h +1 -1
  43. data/vendor/libgit2/deps/zlib/inflate.c +36 -102
  44. data/vendor/libgit2/deps/zlib/inftrees.c +6 -11
  45. data/vendor/libgit2/deps/zlib/inftrees.h +6 -6
  46. data/vendor/libgit2/deps/zlib/trees.c +287 -352
  47. data/vendor/libgit2/deps/zlib/zconf.h +23 -14
  48. data/vendor/libgit2/deps/zlib/zlib.h +202 -202
  49. data/vendor/libgit2/deps/zlib/zutil.c +18 -44
  50. data/vendor/libgit2/deps/zlib/zutil.h +13 -33
  51. data/vendor/libgit2/include/git2/annotated_commit.h +12 -5
  52. data/vendor/libgit2/include/git2/apply.h +27 -6
  53. data/vendor/libgit2/include/git2/attr.h +17 -4
  54. data/vendor/libgit2/include/git2/blame.h +133 -28
  55. data/vendor/libgit2/include/git2/blob.h +71 -28
  56. data/vendor/libgit2/include/git2/branch.h +22 -15
  57. data/vendor/libgit2/include/git2/buffer.h +6 -4
  58. data/vendor/libgit2/include/git2/cert.h +2 -1
  59. data/vendor/libgit2/include/git2/checkout.h +83 -32
  60. data/vendor/libgit2/include/git2/cherrypick.h +10 -3
  61. data/vendor/libgit2/include/git2/clone.h +25 -9
  62. data/vendor/libgit2/include/git2/commit.h +132 -3
  63. data/vendor/libgit2/include/git2/common.h +120 -63
  64. data/vendor/libgit2/include/git2/config.h +93 -23
  65. data/vendor/libgit2/include/git2/credential.h +30 -2
  66. data/vendor/libgit2/include/git2/credential_helpers.h +1 -0
  67. data/vendor/libgit2/include/git2/deprecated.h +133 -3
  68. data/vendor/libgit2/include/git2/describe.h +13 -1
  69. data/vendor/libgit2/include/git2/diff.h +38 -8
  70. data/vendor/libgit2/include/git2/email.h +9 -29
  71. data/vendor/libgit2/include/git2/errors.h +46 -73
  72. data/vendor/libgit2/include/git2/filter.h +14 -7
  73. data/vendor/libgit2/include/git2/global.h +8 -1
  74. data/vendor/libgit2/include/git2/graph.h +3 -2
  75. data/vendor/libgit2/include/git2/ignore.h +10 -0
  76. data/vendor/libgit2/include/git2/index.h +99 -14
  77. data/vendor/libgit2/include/git2/indexer.h +21 -4
  78. data/vendor/libgit2/include/git2/mailmap.h +7 -1
  79. data/vendor/libgit2/include/git2/merge.h +46 -1
  80. data/vendor/libgit2/include/git2/message.h +2 -2
  81. data/vendor/libgit2/include/git2/net.h +3 -1
  82. data/vendor/libgit2/include/git2/notes.h +9 -6
  83. data/vendor/libgit2/include/git2/object.h +9 -8
  84. data/vendor/libgit2/include/git2/odb.h +91 -49
  85. data/vendor/libgit2/include/git2/odb_backend.h +80 -52
  86. data/vendor/libgit2/include/git2/oid.h +23 -24
  87. data/vendor/libgit2/include/git2/oidarray.h +7 -1
  88. data/vendor/libgit2/include/git2/pack.h +13 -1
  89. data/vendor/libgit2/include/git2/patch.h +2 -3
  90. data/vendor/libgit2/include/git2/pathspec.h +9 -0
  91. data/vendor/libgit2/include/git2/proxy.h +10 -0
  92. data/vendor/libgit2/include/git2/rebase.h +9 -6
  93. data/vendor/libgit2/include/git2/refdb.h +2 -2
  94. data/vendor/libgit2/include/git2/reflog.h +3 -2
  95. data/vendor/libgit2/include/git2/refs.h +9 -6
  96. data/vendor/libgit2/include/git2/refspec.h +14 -4
  97. data/vendor/libgit2/include/git2/remote.h +94 -18
  98. data/vendor/libgit2/include/git2/repository.h +57 -21
  99. data/vendor/libgit2/include/git2/reset.h +16 -3
  100. data/vendor/libgit2/include/git2/revert.h +9 -4
  101. data/vendor/libgit2/include/git2/revparse.h +3 -3
  102. data/vendor/libgit2/include/git2/revwalk.h +3 -2
  103. data/vendor/libgit2/include/git2/signature.h +46 -1
  104. data/vendor/libgit2/include/git2/stash.h +17 -3
  105. data/vendor/libgit2/include/git2/status.h +10 -6
  106. data/vendor/libgit2/include/git2/stdint.h +87 -85
  107. data/vendor/libgit2/include/git2/strarray.h +2 -3
  108. data/vendor/libgit2/include/git2/submodule.h +20 -9
  109. data/vendor/libgit2/include/git2/sys/alloc.h +12 -0
  110. data/vendor/libgit2/include/git2/sys/commit.h +77 -3
  111. data/vendor/libgit2/include/git2/sys/commit_graph.h +103 -62
  112. data/vendor/libgit2/include/git2/sys/config.h +80 -4
  113. data/vendor/libgit2/include/git2/sys/credential.h +4 -3
  114. data/vendor/libgit2/include/git2/sys/diff.h +21 -1
  115. data/vendor/libgit2/include/git2/sys/email.h +7 -0
  116. data/vendor/libgit2/include/git2/sys/errors.h +76 -0
  117. data/vendor/libgit2/include/git2/sys/filter.h +66 -3
  118. data/vendor/libgit2/include/git2/sys/hashsig.h +11 -0
  119. data/vendor/libgit2/include/git2/sys/index.h +3 -2
  120. data/vendor/libgit2/include/git2/sys/mempack.h +32 -2
  121. data/vendor/libgit2/include/git2/sys/merge.h +55 -7
  122. data/vendor/libgit2/include/git2/sys/midx.h +43 -4
  123. data/vendor/libgit2/include/git2/sys/odb_backend.h +7 -3
  124. data/vendor/libgit2/include/git2/sys/openssl.h +8 -1
  125. data/vendor/libgit2/include/git2/sys/path.h +12 -1
  126. data/vendor/libgit2/include/git2/sys/refdb_backend.h +40 -36
  127. data/vendor/libgit2/include/git2/sys/refs.h +3 -2
  128. data/vendor/libgit2/include/git2/sys/remote.h +8 -1
  129. data/vendor/libgit2/include/git2/sys/repository.h +63 -3
  130. data/vendor/libgit2/include/git2/sys/stream.h +11 -2
  131. data/vendor/libgit2/include/git2/sys/transport.h +24 -3
  132. data/vendor/libgit2/include/git2/tag.h +3 -1
  133. data/vendor/libgit2/include/git2/trace.h +9 -3
  134. data/vendor/libgit2/include/git2/transaction.h +3 -2
  135. data/vendor/libgit2/include/git2/transport.h +11 -3
  136. data/vendor/libgit2/include/git2/tree.h +16 -5
  137. data/vendor/libgit2/include/git2/types.h +19 -3
  138. data/vendor/libgit2/include/git2/version.h +44 -8
  139. data/vendor/libgit2/include/git2/worktree.h +16 -6
  140. data/vendor/libgit2/src/CMakeLists.txt +6 -4
  141. data/vendor/libgit2/src/cli/CMakeLists.txt +2 -2
  142. data/vendor/libgit2/src/cli/cmd.c +1 -1
  143. data/vendor/libgit2/src/cli/cmd.h +4 -0
  144. data/vendor/libgit2/src/cli/cmd_blame.c +287 -0
  145. data/vendor/libgit2/src/cli/cmd_cat_file.c +6 -8
  146. data/vendor/libgit2/src/cli/cmd_clone.c +5 -7
  147. data/vendor/libgit2/src/cli/cmd_config.c +241 -0
  148. data/vendor/libgit2/src/cli/cmd_hash_object.c +6 -8
  149. data/vendor/libgit2/src/cli/cmd_help.c +6 -7
  150. data/vendor/libgit2/src/cli/cmd_index_pack.c +114 -0
  151. data/vendor/libgit2/src/cli/cmd_init.c +102 -0
  152. data/vendor/libgit2/src/cli/common.c +168 -0
  153. data/vendor/libgit2/src/cli/common.h +63 -0
  154. data/vendor/libgit2/src/cli/error.h +1 -1
  155. data/vendor/libgit2/src/cli/main.c +52 -24
  156. data/vendor/libgit2/src/cli/opt.c +29 -3
  157. data/vendor/libgit2/src/cli/opt.h +21 -3
  158. data/vendor/libgit2/src/cli/opt_usage.c +102 -33
  159. data/vendor/libgit2/src/cli/opt_usage.h +6 -1
  160. data/vendor/libgit2/src/cli/progress.c +51 -2
  161. data/vendor/libgit2/src/cli/progress.h +12 -0
  162. data/vendor/libgit2/src/cli/unix/sighandler.c +2 -1
  163. data/vendor/libgit2/src/cli/win32/precompiled.h +1 -1
  164. data/vendor/libgit2/src/cli/win32/sighandler.c +1 -1
  165. data/vendor/libgit2/src/libgit2/CMakeLists.txt +26 -8
  166. data/vendor/libgit2/src/libgit2/apply.c +10 -13
  167. data/vendor/libgit2/src/libgit2/attr.c +30 -13
  168. data/vendor/libgit2/src/libgit2/attr_file.c +7 -2
  169. data/vendor/libgit2/src/libgit2/attr_file.h +2 -0
  170. data/vendor/libgit2/src/libgit2/attrcache.c +69 -33
  171. data/vendor/libgit2/src/libgit2/attrcache.h +5 -9
  172. data/vendor/libgit2/src/libgit2/blame.c +130 -44
  173. data/vendor/libgit2/src/libgit2/blame.h +1 -0
  174. data/vendor/libgit2/src/libgit2/cache.c +22 -17
  175. data/vendor/libgit2/src/libgit2/cache.h +7 -9
  176. data/vendor/libgit2/src/libgit2/checkout.c +34 -24
  177. data/vendor/libgit2/src/libgit2/checkout.h +0 -2
  178. data/vendor/libgit2/src/libgit2/cherrypick.c +1 -2
  179. data/vendor/libgit2/src/libgit2/clone.c +186 -166
  180. data/vendor/libgit2/src/libgit2/clone.h +4 -1
  181. data/vendor/libgit2/src/libgit2/commit.c +92 -0
  182. data/vendor/libgit2/src/libgit2/commit_graph.c +67 -56
  183. data/vendor/libgit2/src/libgit2/commit_graph.h +1 -2
  184. data/vendor/libgit2/src/libgit2/config.c +389 -298
  185. data/vendor/libgit2/src/libgit2/config.cmake.in +3 -0
  186. data/vendor/libgit2/src/libgit2/config.h +9 -4
  187. data/vendor/libgit2/src/libgit2/config_backend.h +8 -10
  188. data/vendor/libgit2/src/libgit2/config_cache.c +4 -5
  189. data/vendor/libgit2/src/libgit2/config_file.c +99 -88
  190. data/vendor/libgit2/src/libgit2/config_list.c +285 -0
  191. data/vendor/libgit2/src/libgit2/config_list.h +32 -0
  192. data/vendor/libgit2/src/libgit2/config_mem.c +194 -40
  193. data/vendor/libgit2/src/libgit2/config_parse.c +10 -9
  194. data/vendor/libgit2/src/libgit2/config_snapshot.c +24 -31
  195. data/vendor/libgit2/src/libgit2/describe.c +24 -24
  196. data/vendor/libgit2/src/libgit2/diff.c +1 -1
  197. data/vendor/libgit2/src/libgit2/diff_driver.c +12 -19
  198. data/vendor/libgit2/src/libgit2/diff_driver.h +2 -2
  199. data/vendor/libgit2/src/libgit2/diff_generate.c +3 -3
  200. data/vendor/libgit2/src/libgit2/diff_parse.c +2 -2
  201. data/vendor/libgit2/src/libgit2/diff_print.c +65 -9
  202. data/vendor/libgit2/src/libgit2/diff_tform.c +36 -8
  203. data/vendor/libgit2/src/libgit2/email.c +1 -0
  204. data/vendor/libgit2/src/libgit2/fetch.c +5 -3
  205. data/vendor/libgit2/src/libgit2/filter.c +5 -5
  206. data/vendor/libgit2/src/libgit2/git2.rc +3 -3
  207. data/vendor/libgit2/src/libgit2/grafts.c +18 -20
  208. data/vendor/libgit2/src/libgit2/grafts.h +0 -1
  209. data/vendor/libgit2/src/libgit2/graph.c +1 -1
  210. data/vendor/libgit2/src/libgit2/hashmap_oid.h +30 -0
  211. data/vendor/libgit2/src/libgit2/ignore.c +9 -5
  212. data/vendor/libgit2/src/libgit2/index.c +68 -90
  213. data/vendor/libgit2/src/libgit2/index.h +2 -2
  214. data/vendor/libgit2/src/libgit2/index_map.c +95 -0
  215. data/vendor/libgit2/src/libgit2/index_map.h +28 -0
  216. data/vendor/libgit2/src/libgit2/indexer.c +34 -38
  217. data/vendor/libgit2/src/libgit2/iterator.c +14 -8
  218. data/vendor/libgit2/src/libgit2/libgit2.c +153 -368
  219. data/vendor/libgit2/src/libgit2/mailmap.c +1 -1
  220. data/vendor/libgit2/src/libgit2/merge.c +42 -37
  221. data/vendor/libgit2/src/libgit2/merge_driver.c +2 -2
  222. data/vendor/libgit2/src/libgit2/midx.c +28 -15
  223. data/vendor/libgit2/src/libgit2/mwindow.c +38 -45
  224. data/vendor/libgit2/src/libgit2/mwindow.h +4 -0
  225. data/vendor/libgit2/src/libgit2/object.c +6 -5
  226. data/vendor/libgit2/src/libgit2/odb.c +5 -4
  227. data/vendor/libgit2/src/libgit2/odb_mempack.c +49 -17
  228. data/vendor/libgit2/src/libgit2/odb_pack.c +13 -5
  229. data/vendor/libgit2/src/libgit2/oid.c +32 -5
  230. data/vendor/libgit2/src/libgit2/oid.h +11 -0
  231. data/vendor/libgit2/src/libgit2/pack-objects.c +58 -31
  232. data/vendor/libgit2/src/libgit2/pack-objects.h +12 -4
  233. data/vendor/libgit2/src/libgit2/pack.c +30 -24
  234. data/vendor/libgit2/src/libgit2/pack.h +15 -10
  235. data/vendor/libgit2/src/libgit2/patch_parse.c +2 -2
  236. data/vendor/libgit2/src/libgit2/path.c +1 -1
  237. data/vendor/libgit2/src/libgit2/pathspec.c +1 -1
  238. data/vendor/libgit2/src/libgit2/push.c +79 -28
  239. data/vendor/libgit2/src/libgit2/push.h +1 -0
  240. data/vendor/libgit2/src/libgit2/refdb_fs.c +128 -61
  241. data/vendor/libgit2/src/libgit2/reflog.c +1 -2
  242. data/vendor/libgit2/src/libgit2/reflog.h +2 -0
  243. data/vendor/libgit2/src/libgit2/refs.c +26 -7
  244. data/vendor/libgit2/src/libgit2/refs.h +6 -1
  245. data/vendor/libgit2/src/libgit2/refspec.c +28 -1
  246. data/vendor/libgit2/src/libgit2/refspec.h +8 -0
  247. data/vendor/libgit2/src/libgit2/remote.c +121 -61
  248. data/vendor/libgit2/src/libgit2/repository.c +231 -51
  249. data/vendor/libgit2/src/libgit2/repository.h +10 -6
  250. data/vendor/libgit2/src/libgit2/revert.c +1 -2
  251. data/vendor/libgit2/src/libgit2/revparse.c +2 -2
  252. data/vendor/libgit2/src/libgit2/revwalk.c +13 -10
  253. data/vendor/libgit2/src/libgit2/revwalk.h +3 -3
  254. data/vendor/libgit2/src/libgit2/settings.c +468 -0
  255. data/vendor/libgit2/src/libgit2/settings.h +6 -2
  256. data/vendor/libgit2/src/libgit2/signature.c +132 -15
  257. data/vendor/libgit2/src/libgit2/signature.h +0 -1
  258. data/vendor/libgit2/src/libgit2/status.c +1 -1
  259. data/vendor/libgit2/src/libgit2/streams/mbedtls.c +54 -60
  260. data/vendor/libgit2/src/libgit2/streams/openssl.c +32 -7
  261. data/vendor/libgit2/src/libgit2/streams/openssl.h +2 -0
  262. data/vendor/libgit2/src/libgit2/streams/openssl_dynamic.c +4 -0
  263. data/vendor/libgit2/src/libgit2/streams/openssl_dynamic.h +3 -0
  264. data/vendor/libgit2/src/libgit2/streams/stransport.c +39 -7
  265. data/vendor/libgit2/src/libgit2/submodule.c +106 -63
  266. data/vendor/libgit2/src/libgit2/submodule.h +6 -7
  267. data/vendor/libgit2/src/libgit2/tag.c +1 -1
  268. data/vendor/libgit2/src/libgit2/trailer.c +6 -6
  269. data/vendor/libgit2/src/libgit2/transaction.c +26 -20
  270. data/vendor/libgit2/src/libgit2/transaction.h +4 -1
  271. data/vendor/libgit2/src/libgit2/transport.c +4 -1
  272. data/vendor/libgit2/src/libgit2/transports/credential.c +1 -1
  273. data/vendor/libgit2/src/libgit2/transports/http.c +1 -2
  274. data/vendor/libgit2/src/libgit2/transports/http.h +0 -10
  275. data/vendor/libgit2/src/libgit2/transports/httpclient.c +112 -72
  276. data/vendor/libgit2/src/libgit2/transports/httpparser.c +128 -0
  277. data/vendor/libgit2/src/libgit2/transports/httpparser.h +99 -0
  278. data/vendor/libgit2/src/libgit2/transports/local.c +8 -7
  279. data/vendor/libgit2/src/libgit2/transports/smart.c +20 -8
  280. data/vendor/libgit2/src/libgit2/transports/smart.h +4 -2
  281. data/vendor/libgit2/src/libgit2/transports/smart_pkt.c +2 -2
  282. data/vendor/libgit2/src/libgit2/transports/smart_protocol.c +55 -10
  283. data/vendor/libgit2/src/libgit2/transports/ssh.c +41 -1103
  284. data/vendor/libgit2/src/libgit2/transports/ssh_exec.c +347 -0
  285. data/vendor/libgit2/src/libgit2/transports/ssh_exec.h +26 -0
  286. data/vendor/libgit2/src/libgit2/transports/ssh_libssh2.c +1126 -0
  287. data/vendor/libgit2/src/libgit2/transports/ssh_libssh2.h +28 -0
  288. data/vendor/libgit2/src/libgit2/transports/winhttp.c +35 -7
  289. data/vendor/libgit2/src/libgit2/tree.c +34 -26
  290. data/vendor/libgit2/src/libgit2/tree.h +3 -2
  291. data/vendor/libgit2/src/libgit2/worktree.c +14 -17
  292. data/vendor/libgit2/src/util/CMakeLists.txt +4 -6
  293. data/vendor/libgit2/src/util/alloc.c +4 -1
  294. data/vendor/libgit2/src/util/allocators/debugalloc.c +73 -0
  295. data/vendor/libgit2/src/{cli/cli.h → util/allocators/debugalloc.h} +6 -9
  296. data/vendor/libgit2/src/util/allocators/stdalloc.c +0 -10
  297. data/vendor/libgit2/src/util/array.h +18 -17
  298. data/vendor/libgit2/src/util/cc-compat.h +2 -0
  299. data/vendor/libgit2/src/util/ctype_compat.h +70 -0
  300. data/vendor/libgit2/src/util/date.c +22 -14
  301. data/vendor/libgit2/src/util/date.h +12 -0
  302. data/vendor/libgit2/src/util/errors.c +401 -0
  303. data/vendor/libgit2/src/{libgit2 → util}/errors.h +21 -17
  304. data/vendor/libgit2/src/util/fs_path.c +15 -4
  305. data/vendor/libgit2/src/util/fs_path.h +23 -0
  306. data/vendor/libgit2/src/util/futils.c +6 -5
  307. data/vendor/libgit2/src/util/futils.h +13 -4
  308. data/vendor/libgit2/src/util/git2_features.h.in +12 -1
  309. data/vendor/libgit2/src/util/git2_util.h +6 -0
  310. data/vendor/libgit2/src/util/hash/openssl.c +152 -0
  311. data/vendor/libgit2/src/util/hash/openssl.h +17 -1
  312. data/vendor/libgit2/src/util/hash/sha.h +4 -1
  313. data/vendor/libgit2/src/util/hashmap.h +424 -0
  314. data/vendor/libgit2/src/util/hashmap_str.h +43 -0
  315. data/vendor/libgit2/src/util/integer.h +3 -1
  316. data/vendor/libgit2/src/util/net.c +13 -7
  317. data/vendor/libgit2/src/util/net.h +2 -0
  318. data/vendor/libgit2/src/util/pool.c +1 -1
  319. data/vendor/libgit2/src/util/pool.h +5 -0
  320. data/vendor/libgit2/src/util/pqueue.h +1 -1
  321. data/vendor/libgit2/src/util/process.h +222 -0
  322. data/vendor/libgit2/src/util/rand.c +1 -7
  323. data/vendor/libgit2/src/util/regexp.c +1 -1
  324. data/vendor/libgit2/src/util/sortedcache.c +14 -13
  325. data/vendor/libgit2/src/util/sortedcache.h +3 -3
  326. data/vendor/libgit2/src/util/str.c +2 -2
  327. data/vendor/libgit2/src/util/strlist.c +108 -0
  328. data/vendor/libgit2/src/util/strlist.h +36 -0
  329. data/vendor/libgit2/src/util/unix/posix.h +0 -2
  330. data/vendor/libgit2/src/util/unix/process.c +629 -0
  331. data/vendor/libgit2/src/util/unix/realpath.c +23 -5
  332. data/vendor/libgit2/src/util/util.c +2 -2
  333. data/vendor/libgit2/src/util/util.h +4 -38
  334. data/vendor/libgit2/src/util/vector.c +3 -3
  335. data/vendor/libgit2/src/util/vector.h +2 -2
  336. data/vendor/libgit2/src/util/win32/posix_w32.c +29 -6
  337. data/vendor/libgit2/src/util/win32/process.c +506 -0
  338. metadata +45 -28
  339. data/vendor/libgit2/deps/http-parser/CMakeLists.txt +0 -6
  340. data/vendor/libgit2/deps/http-parser/COPYING +0 -23
  341. data/vendor/libgit2/deps/http-parser/http_parser.c +0 -2182
  342. data/vendor/libgit2/deps/http-parser/http_parser.h +0 -305
  343. data/vendor/libgit2/deps/zlib/COPYING +0 -27
  344. data/vendor/libgit2/include/git2/sys/reflog.h +0 -21
  345. data/vendor/libgit2/src/libgit2/config_entries.c +0 -237
  346. data/vendor/libgit2/src/libgit2/config_entries.h +0 -24
  347. data/vendor/libgit2/src/libgit2/errors.c +0 -293
  348. data/vendor/libgit2/src/libgit2/idxmap.c +0 -157
  349. data/vendor/libgit2/src/libgit2/idxmap.h +0 -177
  350. data/vendor/libgit2/src/libgit2/libgit2.h +0 -15
  351. data/vendor/libgit2/src/libgit2/offmap.c +0 -101
  352. data/vendor/libgit2/src/libgit2/offmap.h +0 -133
  353. data/vendor/libgit2/src/libgit2/oidmap.c +0 -107
  354. data/vendor/libgit2/src/libgit2/oidmap.h +0 -128
  355. data/vendor/libgit2/src/libgit2/threadstate.c +0 -97
  356. data/vendor/libgit2/src/libgit2/threadstate.h +0 -22
  357. data/vendor/libgit2/src/libgit2/transports/ssh.h +0 -14
  358. data/vendor/libgit2/src/util/khash.h +0 -615
  359. data/vendor/libgit2/src/util/strmap.c +0 -100
  360. data/vendor/libgit2/src/util/strmap.h +0 -131
  361. /data/vendor/libgit2/cmake/{FindHTTPParser.cmake → FindHTTP_Parser.cmake} +0 -0
@@ -0,0 +1,222 @@
1
+ /*
2
+ * Copyright (C) the libgit2 contributors. All rights reserved.
3
+ *
4
+ * This file is part of libgit2, distributed under the GNU GPL v2 with
5
+ * a Linking Exception. For full terms see the included COPYING file.
6
+ */
7
+
8
+ #ifndef INCLUDE_process_h__
9
+ #define INCLUDE_process_h__
10
+
11
+ typedef struct git_process git_process;
12
+
13
+ typedef struct {
14
+ unsigned int capture_in : 1,
15
+ capture_out : 1,
16
+ capture_err : 1,
17
+ exclude_env : 1;
18
+
19
+ char *cwd;
20
+ } git_process_options;
21
+
22
+ typedef enum {
23
+ GIT_PROCESS_STATUS_NONE,
24
+ GIT_PROCESS_STATUS_NORMAL,
25
+ GIT_PROCESS_STATUS_ERROR
26
+ } git_process_result_status;
27
+
28
+ #define GIT_PROCESS_RESULT_INIT { GIT_PROCESS_STATUS_NONE }
29
+
30
+ typedef struct {
31
+ git_process_result_status status;
32
+ int exitcode;
33
+ int signal;
34
+ } git_process_result;
35
+
36
+ #define GIT_PROCESS_OPTIONS_INIT { 0 }
37
+
38
+ #ifdef GIT_WIN32
39
+ # define p_pid_t DWORD
40
+ #else
41
+ # define p_pid_t pid_t
42
+ #endif
43
+
44
+ /**
45
+ * Create a new process. The command to run should be specified as the
46
+ * element of the `arg` array, execv-style. This should be the full path
47
+ * to the command to run, the PATH is not obeyed.
48
+ *
49
+ * This function will add the given environment variables (in `env`)
50
+ * to the current environment. Operations on environment variables
51
+ * are not thread safe, so you may not modify the environment during
52
+ * this call. You can avoid this by setting `exclude_env` in the
53
+ * options and providing the entire environment yourself.
54
+ *
55
+ * @param out location to store the process
56
+ * @param args the command (with arguments) to run
57
+ * @param args_len the length of the args array
58
+ * @param env environment variables to add (or NULL)
59
+ * @param env_len the length of the env len
60
+ * @param opts the options for creating the process
61
+ * @return 0 or an error code
62
+ */
63
+ extern int git_process_new(
64
+ git_process **out,
65
+ const char **args,
66
+ size_t args_len,
67
+ const char **env,
68
+ size_t env_len,
69
+ git_process_options *opts);
70
+
71
+ /**
72
+ * Create a new process. The command to run should be specified as the
73
+ * `cmdline` option - which is the full text of the command line as it
74
+ * would be specified or run by a user. The command to run will be
75
+ * looked up in the PATH.
76
+ *
77
+ * On Unix, this will be executed by the system's shell (`/bin/sh`)
78
+ * and may contain _Bourne-style_ shell quoting rules. On Windows,
79
+ * this will be passed to `CreateProcess`, and similarly, may
80
+ * contain _Windows-style_ shell quoting rules.
81
+ *
82
+ * This function will add the given environment variables (in `env`)
83
+ * to the current environment. Operations on environment variables
84
+ * are not thread safe, so you may not modify the environment during
85
+ * this call. You can avoid this by setting `exclude_env` in the
86
+ * options and providing the entire environment yourself.
87
+ */
88
+ extern int git_process_new_from_cmdline(
89
+ git_process **out,
90
+ const char *cmdline,
91
+ const char **env,
92
+ size_t env_len,
93
+ git_process_options *opts);
94
+
95
+ #ifdef GIT_WIN32
96
+
97
+ extern int git_process__appname(
98
+ git_str *out,
99
+ const char *cmdline);
100
+
101
+ /* Windows path parsing is tricky; this helper function is for testing. */
102
+ extern int git_process__cmdline(
103
+ git_str *out,
104
+ const char **in,
105
+ size_t in_len);
106
+
107
+ #endif
108
+
109
+ /*
110
+ * Whether the given string looks like a command line option (starts
111
+ * with a dash). This is useful for examining strings that will become
112
+ * cmdline arguments to ensure that they are not erroneously treated
113
+ * as an option. For example, arguments to `ssh`.
114
+ */
115
+ GIT_INLINE(bool) git_process__is_cmdline_option(const char *str)
116
+ {
117
+ return (str && str[0] == '-');
118
+ }
119
+
120
+ /**
121
+ * Start the process.
122
+ *
123
+ * @param process the process to start
124
+ * @return 0 or an error code
125
+ */
126
+ extern int git_process_start(git_process *process);
127
+
128
+ /**
129
+ * Returns the process id of the process.
130
+ *
131
+ * @param out pointer to a pid_t to store the process id
132
+ * @param process the process to query
133
+ * @return 0 or an error code
134
+ */
135
+ extern int git_process_id(p_pid_t *out, git_process *process);
136
+
137
+ /**
138
+ * Read from the process's stdout. The process must have been created with
139
+ * `capture_out` set to true.
140
+ *
141
+ * @param process the process to read from
142
+ * @param buf the buf to read into
143
+ * @param count maximum number of bytes to read
144
+ * @return number of bytes read or an error code
145
+ */
146
+ extern ssize_t git_process_read(git_process *process, void *buf, size_t count);
147
+
148
+ /**
149
+ * Read from the process's stderr. The process must have been created with
150
+ * `capture_err` set to true.
151
+ *
152
+ * @param process the process to read from
153
+ * @param buf the buf to read into
154
+ * @param count maximum number of bytes to read
155
+ * @return number of bytes read or an error code
156
+ */
157
+ extern ssize_t git_process_read_err(git_process *process, void *buf, size_t count);
158
+
159
+ /**
160
+ * Write to the process's stdin. The process must have been created with
161
+ * `capture_in` set to true.
162
+ *
163
+ * @param process the process to write to
164
+ * @param buf the buf to write
165
+ * @param count maximum number of bytes to write
166
+ * @return number of bytes written or an error code
167
+ */
168
+ extern ssize_t git_process_write(git_process *process, const void *buf, size_t count);
169
+
170
+ /**
171
+ * Wait for the process to finish.
172
+ *
173
+ * @param result the result of the process or NULL
174
+ * @param process the process to wait on
175
+ */
176
+ extern int git_process_wait(git_process_result *result, git_process *process);
177
+
178
+ /**
179
+ * Close the input pipe from the child.
180
+ *
181
+ * @param process the process to close the pipe on
182
+ */
183
+ extern int git_process_close_in(git_process *process);
184
+
185
+ /**
186
+ * Close the output pipe from the child.
187
+ *
188
+ * @param process the process to close the pipe on
189
+ */
190
+ extern int git_process_close_out(git_process *process);
191
+
192
+ /**
193
+ * Close the error pipe from the child.
194
+ *
195
+ * @param process the process to close the pipe on
196
+ */
197
+ extern int git_process_close_err(git_process *process);
198
+
199
+ /**
200
+ * Close all resources that are used by the process. This does not
201
+ * wait for the process to complete.
202
+ *
203
+ * @parma process the process to close
204
+ */
205
+ extern int git_process_close(git_process *process);
206
+
207
+ /**
208
+ * Place a human-readable error message in the given git buffer.
209
+ *
210
+ * @param msg the buffer to store the message
211
+ * @param result the process result that produced an error
212
+ */
213
+ extern int git_process_result_msg(git_str *msg, git_process_result *result);
214
+
215
+ /**
216
+ * Free a process structure
217
+ *
218
+ * @param process the process to free
219
+ */
220
+ extern void git_process_free(git_process *process);
221
+
222
+ #endif
@@ -10,10 +10,6 @@ See <http://creativecommons.org/publicdomain/zero/1.0/>. */
10
10
  #include "rand.h"
11
11
  #include "runtime.h"
12
12
 
13
- #if defined(GIT_RAND_GETENTROPY)
14
- # include <sys/random.h>
15
- #endif
16
-
17
13
  #if defined(GIT_WIN32)
18
14
  # include <wincrypt.h>
19
15
  #endif
@@ -80,10 +76,10 @@ GIT_INLINE(int) getseed(uint64_t *seed)
80
76
  GIT_INLINE(int) getseed(uint64_t *seed)
81
77
  {
82
78
  struct timeval tv;
83
- double loadavg[3];
84
79
  int fd;
85
80
 
86
81
  # if defined(GIT_RAND_GETLOADAVG)
82
+ double loadavg[3];
87
83
  bits convert;
88
84
  # endif
89
85
 
@@ -129,8 +125,6 @@ GIT_INLINE(int) getseed(uint64_t *seed)
129
125
  convert.f = loadavg[0]; *seed ^= (convert.d >> 36);
130
126
  convert.f = loadavg[1]; *seed ^= (convert.d);
131
127
  convert.f = loadavg[2]; *seed ^= (convert.d >> 16);
132
- # else
133
- GIT_UNUSED(loadavg[0]);
134
128
  # endif
135
129
 
136
130
  *seed ^= git_time_monotonic();
@@ -125,7 +125,7 @@ int git_regexp_search(const git_regexp *r, const char *string, size_t nmatches,
125
125
 
126
126
  if ((data = pcre2_match_data_create(nmatches, NULL)) == NULL) {
127
127
  git_error_set_oom();
128
- goto out;
128
+ return -1;
129
129
  }
130
130
 
131
131
  if ((error = pcre2_match(*r, (const unsigned char *) string, strlen(string),
@@ -6,6 +6,7 @@
6
6
  */
7
7
 
8
8
  #include "sortedcache.h"
9
+ #include "hashmap.h"
9
10
 
10
11
  int git_sortedcache_new(
11
12
  git_sortedcache **out,
@@ -26,8 +27,7 @@ int git_sortedcache_new(
26
27
  GIT_ERROR_CHECK_ALLOC(sc);
27
28
 
28
29
  if (git_pool_init(&sc->pool, 1) < 0 ||
29
- git_vector_init(&sc->items, 4, item_cmp) < 0 ||
30
- git_strmap_new(&sc->map) < 0)
30
+ git_vector_init(&sc->items, 4, item_cmp) < 0)
31
31
  goto fail;
32
32
 
33
33
  if (git_rwlock_init(&sc->lock)) {
@@ -46,8 +46,7 @@ int git_sortedcache_new(
46
46
  return 0;
47
47
 
48
48
  fail:
49
- git_strmap_free(sc->map);
50
- git_vector_free(&sc->items);
49
+ git_vector_dispose(&sc->items);
51
50
  git_pool_clear(&sc->pool);
52
51
  git__free(sc);
53
52
  return -1;
@@ -65,7 +64,7 @@ const char *git_sortedcache_path(git_sortedcache *sc)
65
64
 
66
65
  static void sortedcache_clear(git_sortedcache *sc)
67
66
  {
68
- git_strmap_clear(sc->map);
67
+ git_hashmap_str_clear(&sc->map);
69
68
 
70
69
  if (sc->free_item) {
71
70
  size_t i;
@@ -88,8 +87,8 @@ static void sortedcache_free(git_sortedcache *sc)
88
87
  return;
89
88
 
90
89
  sortedcache_clear(sc);
91
- git_vector_free(&sc->items);
92
- git_strmap_free(sc->map);
90
+ git_vector_dispose(&sc->items);
91
+ git_hashmap_str_dispose(&sc->map);
93
92
 
94
93
  git_sortedcache_wunlock(sc);
95
94
 
@@ -274,7 +273,7 @@ int git_sortedcache_upsert(void **out, git_sortedcache *sc, const char *key)
274
273
  char *item_key;
275
274
  void *item;
276
275
 
277
- if ((item = git_strmap_get(sc->map, key)) != NULL)
276
+ if (git_hashmap_str_get(&item, &sc->map, key) == 0)
278
277
  goto done;
279
278
 
280
279
  keylen = strlen(key);
@@ -294,11 +293,11 @@ int git_sortedcache_upsert(void **out, git_sortedcache *sc, const char *key)
294
293
  item_key = ((char *)item) + sc->item_path_offset;
295
294
  memcpy(item_key, key, keylen);
296
295
 
297
- if ((error = git_strmap_set(sc->map, item_key, item)) < 0)
296
+ if ((error = git_hashmap_str_put(&sc->map, item_key, item)) < 0)
298
297
  goto done;
299
298
 
300
299
  if ((error = git_vector_insert(&sc->items, item)) < 0)
301
- git_strmap_delete(sc->map, item_key);
300
+ git_hashmap_str_remove(&sc->map, item_key);
302
301
 
303
302
  done:
304
303
  if (out)
@@ -307,9 +306,11 @@ done:
307
306
  }
308
307
 
309
308
  /* lookup item by key */
310
- void *git_sortedcache_lookup(const git_sortedcache *sc, const char *key)
309
+ void *git_sortedcache_lookup(git_sortedcache *sc, const char *key)
311
310
  {
312
- return git_strmap_get(sc->map, key);
311
+ void *value;
312
+
313
+ return git_hashmap_str_get(&value, &sc->map, key) == 0 ? value : NULL;
313
314
  }
314
315
 
315
316
  /* find out how many items are in the cache */
@@ -370,7 +371,7 @@ int git_sortedcache_remove(git_sortedcache *sc, size_t pos)
370
371
 
371
372
  (void)git_vector_remove(&sc->items, pos);
372
373
 
373
- git_strmap_delete(sc->map, item + sc->item_path_offset);
374
+ git_hashmap_str_remove(&sc->map, item + sc->item_path_offset);
374
375
 
375
376
  if (sc->free_item)
376
377
  sc->free_item(sc->free_item_payload, item);
@@ -14,7 +14,7 @@
14
14
  #include "vector.h"
15
15
  #include "thread.h"
16
16
  #include "pool.h"
17
- #include "strmap.h"
17
+ #include "hashmap_str.h"
18
18
 
19
19
  #include <stddef.h>
20
20
 
@@ -36,7 +36,7 @@ typedef struct {
36
36
  void *free_item_payload;
37
37
  git_pool pool;
38
38
  git_vector items;
39
- git_strmap *map;
39
+ git_hashmap_str map;
40
40
  git_futils_filestamp stamp;
41
41
  char path[GIT_FLEX_ARRAY];
42
42
  } git_sortedcache;
@@ -163,7 +163,7 @@ GIT_WARN_UNUSED_RESULT int git_sortedcache_rlock(git_sortedcache *sc);
163
163
  void git_sortedcache_runlock(git_sortedcache *sc);
164
164
 
165
165
  /* Lookup item by key - returns NULL if not found */
166
- void *git_sortedcache_lookup(const git_sortedcache *sc, const char *key);
166
+ void *git_sortedcache_lookup(git_sortedcache *sc, const char *key);
167
167
 
168
168
  /* Get how many items are in the cache
169
169
  *
@@ -485,8 +485,8 @@ int git_str_decode_percent(
485
485
  for (str_pos = 0; str_pos < str_len; buf->size++, str_pos++) {
486
486
  if (str[str_pos] == '%' &&
487
487
  str_len > str_pos + 2 &&
488
- isxdigit(str[str_pos + 1]) &&
489
- isxdigit(str[str_pos + 2])) {
488
+ git__isxdigit(str[str_pos + 1]) &&
489
+ git__isxdigit(str[str_pos + 2])) {
490
490
  buf->ptr[buf->size] = (HEX_DECODE(str[str_pos + 1]) << 4) +
491
491
  HEX_DECODE(str[str_pos + 2]);
492
492
  str_pos += 2;
@@ -0,0 +1,108 @@
1
+ /*
2
+ * Copyright (C) the libgit2 contributors. All rights reserved.
3
+ *
4
+ * This file is part of libgit2, distributed under the GNU GPL v2 with
5
+ * a Linking Exception. For full terms see the included COPYING file.
6
+ */
7
+
8
+ #include <stdio.h>
9
+
10
+ #include "git2_util.h"
11
+ #include "vector.h"
12
+ #include "strlist.h"
13
+
14
+ int git_strlist_copy(char ***out, const char **in, size_t len)
15
+ {
16
+ char **dup;
17
+ size_t i;
18
+
19
+ dup = git__calloc(len, sizeof(char *));
20
+ GIT_ERROR_CHECK_ALLOC(dup);
21
+
22
+ for (i = 0; i < len; i++) {
23
+ dup[i] = git__strdup(in[i]);
24
+ GIT_ERROR_CHECK_ALLOC(dup[i]);
25
+ }
26
+
27
+ *out = dup;
28
+ return 0;
29
+ }
30
+
31
+ int git_strlist_copy_with_null(char ***out, const char **in, size_t len)
32
+ {
33
+ char **dup;
34
+ size_t new_len, i;
35
+
36
+ GIT_ERROR_CHECK_ALLOC_ADD(&new_len, len, 1);
37
+
38
+ dup = git__calloc(new_len, sizeof(char *));
39
+ GIT_ERROR_CHECK_ALLOC(dup);
40
+
41
+ for (i = 0; i < len; i++) {
42
+ dup[i] = git__strdup(in[i]);
43
+ GIT_ERROR_CHECK_ALLOC(dup[i]);
44
+ }
45
+
46
+ *out = dup;
47
+ return 0;
48
+ }
49
+
50
+ bool git_strlist_contains_prefix(
51
+ const char **strings,
52
+ size_t len,
53
+ const char *str,
54
+ size_t n)
55
+ {
56
+ size_t i;
57
+
58
+ for (i = 0; i < len; i++) {
59
+ if (strncmp(strings[i], str, n) == 0)
60
+ return true;
61
+ }
62
+
63
+ return false;
64
+ }
65
+
66
+ bool git_strlist_contains_key(
67
+ const char **strings,
68
+ size_t len,
69
+ const char *key,
70
+ char delimiter)
71
+ {
72
+ const char *c;
73
+
74
+ for (c = key; *c; c++) {
75
+ if (*c == delimiter)
76
+ break;
77
+ }
78
+
79
+ return *c ?
80
+ git_strlist_contains_prefix(strings, len, key, (c - key)) :
81
+ false;
82
+ }
83
+
84
+ void git_strlist_free(char **strings, size_t len)
85
+ {
86
+ size_t i;
87
+
88
+ if (!strings)
89
+ return;
90
+
91
+ for (i = 0; i < len; i++)
92
+ git__free(strings[i]);
93
+
94
+ git__free(strings);
95
+ }
96
+
97
+ void git_strlist_free_with_null(char **strings)
98
+ {
99
+ char **s;
100
+
101
+ if (!strings)
102
+ return;
103
+
104
+ for (s = strings; *s; s++)
105
+ git__free(*s);
106
+
107
+ git__free(strings);
108
+ }
@@ -0,0 +1,36 @@
1
+ /*
2
+ * Copyright (C) the libgit2 contributors. All rights reserved.
3
+ *
4
+ * This file is part of libgit2, distributed under the GNU GPL v2 with
5
+ * a Linking Exception. For full terms see the included COPYING file.
6
+ */
7
+
8
+ #ifndef INCLUDE_runtime_h__
9
+ #define INCLUDE_runtime_h__
10
+
11
+ #include "git2_util.h"
12
+
13
+ extern int git_strlist_copy(char ***out, const char **in, size_t len);
14
+
15
+ extern int git_strlist_copy_with_null(
16
+ char ***out,
17
+ const char **in,
18
+ size_t len);
19
+
20
+ extern bool git_strlist_contains_prefix(
21
+ const char **strings,
22
+ size_t len,
23
+ const char *str,
24
+ size_t n);
25
+
26
+ extern bool git_strlist_contains_key(
27
+ const char **strings,
28
+ size_t len,
29
+ const char *key,
30
+ char delimiter);
31
+
32
+ extern void git_strlist_free(char **strings, size_t len);
33
+
34
+ extern void git_strlist_free_with_null(char **strings);
35
+
36
+ #endif
@@ -54,8 +54,6 @@ GIT_INLINE(int) p_fsync(int fd)
54
54
  #define p_send(s,b,l,f) send(s,b,l,f)
55
55
  #define p_inet_pton(a, b, c) inet_pton(a, b, c)
56
56
 
57
- #define p_strcasecmp(s1, s2) strcasecmp(s1, s2)
58
- #define p_strncasecmp(s1, s2, c) strncasecmp(s1, s2, c)
59
57
  #define p_vsnprintf(b, c, f, a) vsnprintf(b, c, f, a)
60
58
  #define p_snprintf snprintf
61
59
  #define p_chdir(p) chdir(p)