rugged 1.7.2 → 1.9.0

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 (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
@@ -15,6 +15,9 @@ extern int git_clone__submodule(git_repository **out,
15
15
  const char *url, const char *local_path,
16
16
  const git_clone_options *_options);
17
17
 
18
- extern int git_clone__should_clone_local(const char *url, git_clone_local_t local);
18
+ extern int git_clone__should_clone_local(
19
+ bool *out,
20
+ const char *url,
21
+ git_clone_local_t local);
19
22
 
20
23
  #endif
@@ -1086,6 +1086,83 @@ cleanup:
1086
1086
  return error;
1087
1087
  }
1088
1088
 
1089
+ int git_commit_create_from_stage(
1090
+ git_oid *out,
1091
+ git_repository *repo,
1092
+ const char *message,
1093
+ const git_commit_create_options *given_opts)
1094
+ {
1095
+ git_commit_create_options opts = GIT_COMMIT_CREATE_OPTIONS_INIT;
1096
+ git_signature *default_signature = NULL;
1097
+ const git_signature *author, *committer;
1098
+ git_index *index = NULL;
1099
+ git_diff *diff = NULL;
1100
+ git_oid tree_id;
1101
+ git_tree *head_tree = NULL, *tree = NULL;
1102
+ git_commitarray parents = { 0 };
1103
+ int error = -1;
1104
+
1105
+ GIT_ASSERT_ARG(out && repo);
1106
+
1107
+ if (given_opts)
1108
+ memcpy(&opts, given_opts, sizeof(git_commit_create_options));
1109
+
1110
+ author = opts.author;
1111
+ committer = opts.committer;
1112
+
1113
+ if (!author || !committer) {
1114
+ if (git_signature_default(&default_signature, repo) < 0)
1115
+ goto done;
1116
+
1117
+ if (!author)
1118
+ author = default_signature;
1119
+
1120
+ if (!committer)
1121
+ committer = default_signature;
1122
+ }
1123
+
1124
+ if (git_repository_index(&index, repo) < 0)
1125
+ goto done;
1126
+
1127
+ if (!opts.allow_empty_commit) {
1128
+ error = git_repository_head_tree(&head_tree, repo);
1129
+
1130
+ if (error && error != GIT_EUNBORNBRANCH)
1131
+ goto done;
1132
+
1133
+ error = -1;
1134
+
1135
+ if (git_diff_tree_to_index(&diff, repo, head_tree, index, NULL) < 0)
1136
+ goto done;
1137
+
1138
+ if (git_diff_num_deltas(diff) == 0) {
1139
+ git_error_set(GIT_ERROR_REPOSITORY,
1140
+ "no changes are staged for commit");
1141
+ error = GIT_EUNCHANGED;
1142
+ goto done;
1143
+ }
1144
+ }
1145
+
1146
+ if (git_index_write_tree(&tree_id, index) < 0 ||
1147
+ git_tree_lookup(&tree, repo, &tree_id) < 0 ||
1148
+ git_repository_commit_parents(&parents, repo) < 0)
1149
+ goto done;
1150
+
1151
+ error = git_commit_create(out, repo, "HEAD", author, committer,
1152
+ opts.message_encoding, message,
1153
+ tree, parents.count,
1154
+ (const git_commit **)parents.commits);
1155
+
1156
+ done:
1157
+ git_commitarray_dispose(&parents);
1158
+ git_signature_free(default_signature);
1159
+ git_tree_free(tree);
1160
+ git_tree_free(head_tree);
1161
+ git_diff_free(diff);
1162
+ git_index_free(index);
1163
+ return error;
1164
+ }
1165
+
1089
1166
  int git_commit_committer_with_mailmap(
1090
1167
  git_signature **out, const git_commit *commit, const git_mailmap *mailmap)
1091
1168
  {
@@ -1097,3 +1174,18 @@ int git_commit_author_with_mailmap(
1097
1174
  {
1098
1175
  return git_mailmap_resolve_signature(out, mailmap, commit->author);
1099
1176
  }
1177
+
1178
+ void git_commitarray_dispose(git_commitarray *array)
1179
+ {
1180
+ size_t i;
1181
+
1182
+ if (array == NULL)
1183
+ return;
1184
+
1185
+ for (i = 0; i < array->count; i++)
1186
+ git_commit_free(array->commits[i]);
1187
+
1188
+ git__free((git_commit **)array->commits);
1189
+
1190
+ memset(array, 0, sizeof(*array));
1191
+ }
@@ -13,7 +13,6 @@
13
13
  #include "futils.h"
14
14
  #include "hash.h"
15
15
  #include "oidarray.h"
16
- #include "oidmap.h"
17
16
  #include "pack.h"
18
17
  #include "repository.h"
19
18
  #include "revwalk.h"
@@ -25,6 +24,7 @@
25
24
  #define COMMIT_GRAPH_SIGNATURE 0x43475048 /* "CGPH" */
26
25
  #define COMMIT_GRAPH_VERSION 1
27
26
  #define COMMIT_GRAPH_OBJECT_ID_VERSION 1
27
+
28
28
  struct git_commit_graph_header {
29
29
  uint32_t signature;
30
30
  uint8_t version;
@@ -365,15 +365,24 @@ int git_commit_graph_open(
365
365
  git_commit_graph **cgraph_out,
366
366
  const char *objects_dir
367
367
  #ifdef GIT_EXPERIMENTAL_SHA256
368
- , git_oid_t oid_type
368
+ , const git_commit_graph_open_options *opts
369
369
  #endif
370
370
  )
371
371
  {
372
- #ifndef GIT_EXPERIMENTAL_SHA256
373
- git_oid_t oid_type = GIT_OID_SHA1;
374
- #endif
372
+ git_oid_t oid_type;
375
373
  int error;
376
374
 
375
+ #ifdef GIT_EXPERIMENTAL_SHA256
376
+ GIT_ERROR_CHECK_VERSION(opts,
377
+ GIT_COMMIT_GRAPH_OPEN_OPTIONS_VERSION,
378
+ "git_commit_graph_open_options");
379
+
380
+ oid_type = opts && opts->oid_type ? opts->oid_type : GIT_OID_DEFAULT;
381
+ GIT_ASSERT_ARG(git_oid_type_is_valid(oid_type));
382
+ #else
383
+ oid_type = GIT_OID_SHA1;
384
+ #endif
385
+
377
386
  error = git_commit_graph_new(cgraph_out, objects_dir, true,
378
387
  oid_type);
379
388
 
@@ -684,21 +693,40 @@ static int packed_commit__cmp(const void *a_, const void *b_)
684
693
  return git_oid_cmp(&a->sha1, &b->sha1);
685
694
  }
686
695
 
696
+ int git_commit_graph_writer_options_init(
697
+ git_commit_graph_writer_options *opts,
698
+ unsigned int version)
699
+ {
700
+ GIT_INIT_STRUCTURE_FROM_TEMPLATE(
701
+ opts,
702
+ version,
703
+ git_commit_graph_writer_options,
704
+ GIT_COMMIT_GRAPH_WRITER_OPTIONS_INIT);
705
+ return 0;
706
+ }
707
+
687
708
  int git_commit_graph_writer_new(
688
709
  git_commit_graph_writer **out,
689
- const char *objects_info_dir
690
- #ifdef GIT_EXPERIMENTAL_SHA256
691
- , git_oid_t oid_type
692
- #endif
710
+ const char *objects_info_dir,
711
+ const git_commit_graph_writer_options *opts
693
712
  )
694
713
  {
695
714
  git_commit_graph_writer *w;
715
+ git_oid_t oid_type;
696
716
 
697
- #ifndef GIT_EXPERIMENTAL_SHA256
698
- git_oid_t oid_type = GIT_OID_SHA1;
717
+ #ifdef GIT_EXPERIMENTAL_SHA256
718
+ GIT_ERROR_CHECK_VERSION(opts,
719
+ GIT_COMMIT_GRAPH_WRITER_OPTIONS_VERSION,
720
+ "git_commit_graph_writer_options");
721
+
722
+ oid_type = opts && opts->oid_type ? opts->oid_type : GIT_OID_DEFAULT;
723
+ GIT_ASSERT_ARG(git_oid_type_is_valid(oid_type));
724
+ #else
725
+ GIT_UNUSED(opts);
726
+ oid_type = GIT_OID_SHA1;
699
727
  #endif
700
728
 
701
- GIT_ASSERT_ARG(out && objects_info_dir && oid_type);
729
+ GIT_ASSERT_ARG(out && objects_info_dir);
702
730
 
703
731
  w = git__calloc(1, sizeof(git_commit_graph_writer));
704
732
  GIT_ERROR_CHECK_ALLOC(w);
@@ -730,7 +758,7 @@ void git_commit_graph_writer_free(git_commit_graph_writer *w)
730
758
 
731
759
  git_vector_foreach (&w->commits, i, packed_commit)
732
760
  packed_commit_free(packed_commit);
733
- git_vector_free(&w->commits);
761
+ git_vector_dispose(&w->commits);
734
762
  git_str_dispose(&w->objects_info_dir);
735
763
  git__free(w);
736
764
  }
@@ -775,9 +803,9 @@ static int object_entry__cb(const git_oid *id, void *data)
775
803
  }
776
804
 
777
805
  int git_commit_graph_writer_add_index_file(
778
- git_commit_graph_writer *w,
779
- git_repository *repo,
780
- const char *idx_path)
806
+ git_commit_graph_writer *w,
807
+ git_repository *repo,
808
+ const char *idx_path)
781
809
  {
782
810
  int error;
783
811
  struct git_pack_file *p = NULL;
@@ -839,6 +867,8 @@ enum generation_number_commit_state {
839
867
  GENERATION_NUMBER_COMMIT_STATE_VISITED = 3
840
868
  };
841
869
 
870
+ GIT_HASHMAP_OID_SETUP(git_commit_graph_oidmap, struct packed_commit *);
871
+
842
872
  static int compute_generation_numbers(git_vector *commits)
843
873
  {
844
874
  git_array_t(size_t) index_stack = GIT_ARRAY_INIT;
@@ -846,17 +876,14 @@ static int compute_generation_numbers(git_vector *commits)
846
876
  size_t *parent_idx;
847
877
  enum generation_number_commit_state *commit_states = NULL;
848
878
  struct packed_commit *child_packed_commit;
849
- git_oidmap *packed_commit_map = NULL;
879
+ git_commit_graph_oidmap packed_commit_map = GIT_HASHMAP_INIT;
850
880
  int error = 0;
851
881
 
852
882
  /* First populate the parent indices fields */
853
- error = git_oidmap_new(&packed_commit_map);
854
- if (error < 0)
855
- goto cleanup;
856
883
  git_vector_foreach (commits, i, child_packed_commit) {
857
884
  child_packed_commit->index = i;
858
- error = git_oidmap_set(
859
- packed_commit_map, &child_packed_commit->sha1, child_packed_commit);
885
+ error = git_commit_graph_oidmap_put(&packed_commit_map,
886
+ &child_packed_commit->sha1, child_packed_commit);
860
887
  if (error < 0)
861
888
  goto cleanup;
862
889
  }
@@ -874,8 +901,7 @@ static int compute_generation_numbers(git_vector *commits)
874
901
  goto cleanup;
875
902
  }
876
903
  git_array_foreach (child_packed_commit->parents, parent_i, parent_id) {
877
- parent_packed_commit = git_oidmap_get(packed_commit_map, parent_id);
878
- if (!parent_packed_commit) {
904
+ if (git_commit_graph_oidmap_get(&parent_packed_commit, &packed_commit_map, parent_id) != 0) {
879
905
  git_error_set(GIT_ERROR_ODB,
880
906
  "parent commit %s not found in commit graph",
881
907
  git_oid_tostr_s(parent_id));
@@ -975,7 +1001,7 @@ static int compute_generation_numbers(git_vector *commits)
975
1001
  }
976
1002
 
977
1003
  cleanup:
978
- git_oidmap_free(packed_commit_map);
1004
+ git_commit_graph_oidmap_dispose(&packed_commit_map);
979
1005
  git__free(commit_states);
980
1006
  git_array_clear(index_stack);
981
1007
 
@@ -1029,9 +1055,12 @@ static int commit_graph_write_hash(const char *buf, size_t size, void *data)
1029
1055
  struct commit_graph_write_hash_context *ctx = data;
1030
1056
  int error;
1031
1057
 
1032
- error = git_hash_update(ctx->ctx, buf, size);
1033
- if (error < 0)
1034
- return error;
1058
+ if (ctx->ctx) {
1059
+ error = git_hash_update(ctx->ctx, buf, size);
1060
+
1061
+ if (error < 0)
1062
+ return error;
1063
+ }
1035
1064
 
1036
1065
  return ctx->write_cb(buf, size, ctx->cb_data);
1037
1066
  }
@@ -1042,9 +1071,9 @@ static void packed_commit_free_dup(void *packed_commit)
1042
1071
  }
1043
1072
 
1044
1073
  static int commit_graph_write(
1045
- git_commit_graph_writer *w,
1046
- commit_graph_write_cb write_cb,
1047
- void *cb_data)
1074
+ git_commit_graph_writer *w,
1075
+ commit_graph_write_cb write_cb,
1076
+ void *cb_data)
1048
1077
  {
1049
1078
  int error = 0;
1050
1079
  size_t i;
@@ -1227,6 +1256,9 @@ static int commit_graph_write(
1227
1256
  error = git_hash_final(checksum, &ctx);
1228
1257
  if (error < 0)
1229
1258
  goto cleanup;
1259
+
1260
+ hash_cb_data.ctx = NULL;
1261
+
1230
1262
  error = write_cb((char *)checksum, checksum_size, cb_data);
1231
1263
  if (error < 0)
1232
1264
  goto cleanup;
@@ -1245,30 +1277,13 @@ static int commit_graph_write_filebuf(const char *buf, size_t size, void *data)
1245
1277
  return git_filebuf_write(f, buf, size);
1246
1278
  }
1247
1279
 
1248
- int git_commit_graph_writer_options_init(
1249
- git_commit_graph_writer_options *opts,
1250
- unsigned int version)
1251
- {
1252
- GIT_INIT_STRUCTURE_FROM_TEMPLATE(
1253
- opts,
1254
- version,
1255
- git_commit_graph_writer_options,
1256
- GIT_COMMIT_GRAPH_WRITER_OPTIONS_INIT);
1257
- return 0;
1258
- }
1259
-
1260
- int git_commit_graph_writer_commit(
1261
- git_commit_graph_writer *w,
1262
- git_commit_graph_writer_options *opts)
1280
+ int git_commit_graph_writer_commit(git_commit_graph_writer *w)
1263
1281
  {
1264
1282
  int error;
1265
1283
  int filebuf_flags = GIT_FILEBUF_DO_NOT_BUFFER;
1266
1284
  git_str commit_graph_path = GIT_STR_INIT;
1267
1285
  git_filebuf output = GIT_FILEBUF_INIT;
1268
1286
 
1269
- /* TODO: support options and fill in defaults. */
1270
- GIT_UNUSED(opts);
1271
-
1272
1287
  error = git_str_joinpath(
1273
1288
  &commit_graph_path, git_str_cstr(&w->objects_info_dir), "commit-graph");
1274
1289
  if (error < 0)
@@ -1292,18 +1307,14 @@ int git_commit_graph_writer_commit(
1292
1307
 
1293
1308
  int git_commit_graph_writer_dump(
1294
1309
  git_buf *cgraph,
1295
- git_commit_graph_writer *w,
1296
- git_commit_graph_writer_options *opts)
1310
+ git_commit_graph_writer *w)
1297
1311
  {
1298
- GIT_BUF_WRAP_PRIVATE(cgraph, git_commit_graph__writer_dump, w, opts);
1312
+ GIT_BUF_WRAP_PRIVATE(cgraph, git_commit_graph__writer_dump, w);
1299
1313
  }
1300
1314
 
1301
1315
  int git_commit_graph__writer_dump(
1302
1316
  git_str *cgraph,
1303
- git_commit_graph_writer *w,
1304
- git_commit_graph_writer_options *opts)
1317
+ git_commit_graph_writer *w)
1305
1318
  {
1306
- /* TODO: support options. */
1307
- GIT_UNUSED(opts);
1308
1319
  return commit_graph_write(w, commit_graph_write_buf, cgraph);
1309
1320
  }
@@ -156,8 +156,7 @@ struct git_commit_graph_writer {
156
156
 
157
157
  int git_commit_graph__writer_dump(
158
158
  git_str *cgraph,
159
- git_commit_graph_writer *w,
160
- git_commit_graph_writer_options *opts);
159
+ git_commit_graph_writer *w);
161
160
 
162
161
  /*
163
162
  * Returns whether the git_commit_graph_file needs to be reloaded since the