rugged 1.7.2 → 1.9.4

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 (405) hide show
  1. checksums.yaml +4 -4
  2. data/ext/rugged/extconf.rb +4 -4
  3. data/ext/rugged/rugged.c +12 -1
  4. data/ext/rugged/rugged_blame.c +22 -6
  5. data/ext/rugged/rugged_blob.c +24 -9
  6. data/ext/rugged/rugged_branch.c +10 -7
  7. data/ext/rugged/rugged_branch_collection.c +8 -6
  8. data/ext/rugged/rugged_commit.c +7 -6
  9. data/ext/rugged/rugged_config.c +20 -11
  10. data/ext/rugged/rugged_diff.c +26 -12
  11. data/ext/rugged/rugged_diff_hunk.c +2 -1
  12. data/ext/rugged/rugged_index.c +39 -29
  13. data/ext/rugged/rugged_note.c +7 -6
  14. data/ext/rugged/rugged_object.c +3 -2
  15. data/ext/rugged/rugged_patch.c +23 -9
  16. data/ext/rugged/rugged_rebase.c +22 -10
  17. data/ext/rugged/rugged_reference.c +22 -13
  18. data/ext/rugged/rugged_reference_collection.c +9 -7
  19. data/ext/rugged/rugged_remote.c +23 -12
  20. data/ext/rugged/rugged_remote_collection.c +11 -9
  21. data/ext/rugged/rugged_repo.c +60 -45
  22. data/ext/rugged/rugged_revwalk.c +22 -12
  23. data/ext/rugged/rugged_submodule.c +23 -20
  24. data/ext/rugged/rugged_submodule_collection.c +20 -9
  25. data/ext/rugged/rugged_tag.c +6 -4
  26. data/ext/rugged/rugged_tag_collection.c +7 -5
  27. data/ext/rugged/rugged_tree.c +27 -15
  28. data/lib/rugged/version.rb +1 -1
  29. data/vendor/libgit2/AUTHORS +3 -0
  30. data/vendor/libgit2/CMakeLists.txt +23 -10
  31. data/vendor/libgit2/COPYING +195 -1
  32. data/vendor/libgit2/cmake/DefaultCFlags.cmake +4 -1
  33. data/vendor/libgit2/cmake/{FindIconv.cmake → FindIntlIconv.cmake} +6 -0
  34. data/vendor/libgit2/cmake/FindLLHTTP.cmake +39 -0
  35. data/vendor/libgit2/cmake/SelectGSSAPI.cmake +1 -1
  36. data/vendor/libgit2/cmake/SelectHTTPParser.cmake +23 -8
  37. data/vendor/libgit2/cmake/SelectHTTPSBackend.cmake +17 -8
  38. data/vendor/libgit2/cmake/SelectHashes.cmake +28 -11
  39. data/vendor/libgit2/cmake/SelectRegex.cmake +6 -1
  40. data/vendor/libgit2/cmake/SelectSSH.cmake +30 -19
  41. data/vendor/libgit2/cmake/SelectZlib.cmake +4 -0
  42. data/vendor/libgit2/deps/llhttp/CMakeLists.txt +8 -0
  43. data/vendor/libgit2/deps/llhttp/LICENSE-MIT +22 -0
  44. data/vendor/libgit2/deps/llhttp/api.c +510 -0
  45. data/vendor/libgit2/deps/llhttp/http.c +170 -0
  46. data/vendor/libgit2/deps/llhttp/llhttp.c +10168 -0
  47. data/vendor/libgit2/deps/llhttp/llhttp.h +897 -0
  48. data/vendor/libgit2/deps/ntlmclient/CMakeLists.txt +1 -1
  49. data/vendor/libgit2/deps/ntlmclient/crypt_builtin_md4.c +311 -0
  50. data/vendor/libgit2/deps/ntlmclient/crypt_commoncrypto.c +2 -1
  51. data/vendor/libgit2/deps/ntlmclient/crypt_mbedtls.c +0 -20
  52. data/vendor/libgit2/deps/ntlmclient/crypt_openssl.c +4 -4
  53. data/vendor/libgit2/deps/ntlmclient/ntlm.c +21 -21
  54. data/vendor/libgit2/deps/ntlmclient/unicode_builtin.c +5 -4
  55. data/vendor/libgit2/deps/ntlmclient/unicode_iconv.c +2 -1
  56. data/vendor/libgit2/deps/ntlmclient/utf8.h +1176 -721
  57. data/vendor/libgit2/deps/ntlmclient/util.h +11 -0
  58. data/vendor/libgit2/deps/pcre/CMakeLists.txt +3 -3
  59. data/vendor/libgit2/deps/xdiff/CMakeLists.txt +1 -1
  60. data/vendor/libgit2/deps/xdiff/xmerge.c +16 -12
  61. data/vendor/libgit2/deps/zlib/CMakeLists.txt +6 -1
  62. data/vendor/libgit2/deps/zlib/LICENSE +22 -0
  63. data/vendor/libgit2/deps/zlib/adler32.c +5 -27
  64. data/vendor/libgit2/deps/zlib/crc32.c +94 -167
  65. data/vendor/libgit2/deps/zlib/deflate.c +358 -435
  66. data/vendor/libgit2/deps/zlib/deflate.h +41 -10
  67. data/vendor/libgit2/deps/zlib/gzguts.h +13 -18
  68. data/vendor/libgit2/deps/zlib/infback.c +17 -30
  69. data/vendor/libgit2/deps/zlib/inffast.c +1 -4
  70. data/vendor/libgit2/deps/zlib/inffast.h +1 -1
  71. data/vendor/libgit2/deps/zlib/inflate.c +36 -102
  72. data/vendor/libgit2/deps/zlib/inftrees.c +6 -11
  73. data/vendor/libgit2/deps/zlib/inftrees.h +6 -6
  74. data/vendor/libgit2/deps/zlib/trees.c +287 -352
  75. data/vendor/libgit2/deps/zlib/zconf.h +23 -14
  76. data/vendor/libgit2/deps/zlib/zlib.h +202 -202
  77. data/vendor/libgit2/deps/zlib/zutil.c +18 -44
  78. data/vendor/libgit2/deps/zlib/zutil.h +13 -33
  79. data/vendor/libgit2/include/git2/annotated_commit.h +12 -5
  80. data/vendor/libgit2/include/git2/apply.h +27 -6
  81. data/vendor/libgit2/include/git2/attr.h +17 -4
  82. data/vendor/libgit2/include/git2/blame.h +133 -28
  83. data/vendor/libgit2/include/git2/blob.h +71 -28
  84. data/vendor/libgit2/include/git2/branch.h +22 -15
  85. data/vendor/libgit2/include/git2/buffer.h +6 -4
  86. data/vendor/libgit2/include/git2/cert.h +2 -1
  87. data/vendor/libgit2/include/git2/checkout.h +83 -32
  88. data/vendor/libgit2/include/git2/cherrypick.h +10 -3
  89. data/vendor/libgit2/include/git2/clone.h +25 -9
  90. data/vendor/libgit2/include/git2/commit.h +132 -3
  91. data/vendor/libgit2/include/git2/common.h +120 -63
  92. data/vendor/libgit2/include/git2/config.h +93 -23
  93. data/vendor/libgit2/include/git2/credential.h +30 -2
  94. data/vendor/libgit2/include/git2/credential_helpers.h +1 -0
  95. data/vendor/libgit2/include/git2/deprecated.h +134 -4
  96. data/vendor/libgit2/include/git2/describe.h +13 -1
  97. data/vendor/libgit2/include/git2/diff.h +38 -8
  98. data/vendor/libgit2/include/git2/email.h +9 -29
  99. data/vendor/libgit2/include/git2/errors.h +46 -73
  100. data/vendor/libgit2/include/git2/filter.h +14 -7
  101. data/vendor/libgit2/include/git2/global.h +8 -1
  102. data/vendor/libgit2/include/git2/graph.h +3 -2
  103. data/vendor/libgit2/include/git2/ignore.h +10 -0
  104. data/vendor/libgit2/include/git2/index.h +100 -15
  105. data/vendor/libgit2/include/git2/indexer.h +21 -4
  106. data/vendor/libgit2/include/git2/mailmap.h +7 -1
  107. data/vendor/libgit2/include/git2/merge.h +50 -3
  108. data/vendor/libgit2/include/git2/message.h +2 -2
  109. data/vendor/libgit2/include/git2/net.h +3 -1
  110. data/vendor/libgit2/include/git2/notes.h +9 -6
  111. data/vendor/libgit2/include/git2/object.h +9 -8
  112. data/vendor/libgit2/include/git2/odb.h +91 -49
  113. data/vendor/libgit2/include/git2/odb_backend.h +80 -52
  114. data/vendor/libgit2/include/git2/oid.h +23 -25
  115. data/vendor/libgit2/include/git2/oidarray.h +7 -1
  116. data/vendor/libgit2/include/git2/pack.h +13 -1
  117. data/vendor/libgit2/include/git2/patch.h +2 -3
  118. data/vendor/libgit2/include/git2/pathspec.h +9 -0
  119. data/vendor/libgit2/include/git2/proxy.h +12 -3
  120. data/vendor/libgit2/include/git2/rebase.h +9 -6
  121. data/vendor/libgit2/include/git2/refdb.h +2 -2
  122. data/vendor/libgit2/include/git2/reflog.h +3 -2
  123. data/vendor/libgit2/include/git2/refs.h +9 -6
  124. data/vendor/libgit2/include/git2/refspec.h +14 -4
  125. data/vendor/libgit2/include/git2/remote.h +113 -25
  126. data/vendor/libgit2/include/git2/repository.h +57 -21
  127. data/vendor/libgit2/include/git2/reset.h +16 -3
  128. data/vendor/libgit2/include/git2/revert.h +9 -4
  129. data/vendor/libgit2/include/git2/revparse.h +3 -3
  130. data/vendor/libgit2/include/git2/revwalk.h +3 -2
  131. data/vendor/libgit2/include/git2/signature.h +46 -1
  132. data/vendor/libgit2/include/git2/stash.h +17 -3
  133. data/vendor/libgit2/include/git2/status.h +10 -6
  134. data/vendor/libgit2/include/git2/stdint.h +87 -85
  135. data/vendor/libgit2/include/git2/strarray.h +2 -3
  136. data/vendor/libgit2/include/git2/submodule.h +20 -9
  137. data/vendor/libgit2/include/git2/sys/alloc.h +12 -0
  138. data/vendor/libgit2/include/git2/sys/commit.h +77 -3
  139. data/vendor/libgit2/include/git2/sys/commit_graph.h +103 -62
  140. data/vendor/libgit2/include/git2/sys/config.h +80 -4
  141. data/vendor/libgit2/include/git2/sys/credential.h +4 -3
  142. data/vendor/libgit2/include/git2/sys/diff.h +21 -1
  143. data/vendor/libgit2/include/git2/sys/email.h +7 -0
  144. data/vendor/libgit2/include/git2/sys/errors.h +76 -0
  145. data/vendor/libgit2/include/git2/sys/filter.h +66 -3
  146. data/vendor/libgit2/include/git2/sys/hashsig.h +11 -0
  147. data/vendor/libgit2/include/git2/sys/index.h +3 -2
  148. data/vendor/libgit2/include/git2/sys/mempack.h +32 -2
  149. data/vendor/libgit2/include/git2/sys/merge.h +55 -7
  150. data/vendor/libgit2/include/git2/sys/midx.h +43 -4
  151. data/vendor/libgit2/include/git2/sys/odb_backend.h +7 -3
  152. data/vendor/libgit2/include/git2/sys/openssl.h +8 -1
  153. data/vendor/libgit2/include/git2/sys/path.h +12 -1
  154. data/vendor/libgit2/include/git2/sys/refdb_backend.h +40 -36
  155. data/vendor/libgit2/include/git2/sys/refs.h +3 -2
  156. data/vendor/libgit2/include/git2/sys/remote.h +8 -1
  157. data/vendor/libgit2/include/git2/sys/repository.h +63 -3
  158. data/vendor/libgit2/include/git2/sys/stream.h +11 -2
  159. data/vendor/libgit2/include/git2/sys/transport.h +25 -4
  160. data/vendor/libgit2/include/git2/tag.h +3 -1
  161. data/vendor/libgit2/include/git2/trace.h +9 -3
  162. data/vendor/libgit2/include/git2/transaction.h +3 -2
  163. data/vendor/libgit2/include/git2/transport.h +11 -3
  164. data/vendor/libgit2/include/git2/tree.h +16 -5
  165. data/vendor/libgit2/include/git2/types.h +19 -3
  166. data/vendor/libgit2/include/git2/version.h +46 -8
  167. data/vendor/libgit2/include/git2/worktree.h +16 -6
  168. data/vendor/libgit2/src/CMakeLists.txt +6 -4
  169. data/vendor/libgit2/src/cli/CMakeLists.txt +3 -4
  170. data/vendor/libgit2/src/cli/cmd.c +1 -1
  171. data/vendor/libgit2/src/cli/cmd.h +4 -0
  172. data/vendor/libgit2/src/cli/cmd_blame.c +287 -0
  173. data/vendor/libgit2/src/cli/cmd_cat_file.c +6 -8
  174. data/vendor/libgit2/src/cli/cmd_clone.c +5 -7
  175. data/vendor/libgit2/src/cli/cmd_config.c +241 -0
  176. data/vendor/libgit2/src/cli/cmd_hash_object.c +6 -8
  177. data/vendor/libgit2/src/cli/cmd_help.c +6 -7
  178. data/vendor/libgit2/src/cli/cmd_index_pack.c +114 -0
  179. data/vendor/libgit2/src/cli/cmd_init.c +102 -0
  180. data/vendor/libgit2/src/cli/common.c +168 -0
  181. data/vendor/libgit2/src/cli/common.h +63 -0
  182. data/vendor/libgit2/src/cli/error.h +1 -1
  183. data/vendor/libgit2/src/cli/main.c +52 -24
  184. data/vendor/libgit2/src/cli/opt.c +31 -5
  185. data/vendor/libgit2/src/cli/opt.h +21 -3
  186. data/vendor/libgit2/src/cli/opt_usage.c +102 -33
  187. data/vendor/libgit2/src/cli/opt_usage.h +6 -1
  188. data/vendor/libgit2/src/cli/progress.c +51 -2
  189. data/vendor/libgit2/src/cli/progress.h +12 -0
  190. data/vendor/libgit2/src/cli/unix/sighandler.c +2 -1
  191. data/vendor/libgit2/src/cli/win32/precompiled.h +1 -1
  192. data/vendor/libgit2/src/cli/win32/sighandler.c +1 -1
  193. data/vendor/libgit2/src/libgit2/CMakeLists.txt +55 -21
  194. data/vendor/libgit2/src/libgit2/apply.c +10 -13
  195. data/vendor/libgit2/src/libgit2/attr.c +30 -13
  196. data/vendor/libgit2/src/libgit2/attr_file.c +17 -5
  197. data/vendor/libgit2/src/libgit2/attr_file.h +2 -0
  198. data/vendor/libgit2/src/libgit2/attrcache.c +69 -33
  199. data/vendor/libgit2/src/libgit2/attrcache.h +5 -9
  200. data/vendor/libgit2/src/libgit2/blame.c +130 -44
  201. data/vendor/libgit2/src/libgit2/blame.h +1 -0
  202. data/vendor/libgit2/src/libgit2/cache.c +22 -17
  203. data/vendor/libgit2/src/libgit2/cache.h +7 -9
  204. data/vendor/libgit2/src/libgit2/checkout.c +34 -24
  205. data/vendor/libgit2/src/libgit2/checkout.h +0 -2
  206. data/vendor/libgit2/src/libgit2/cherrypick.c +1 -2
  207. data/vendor/libgit2/src/libgit2/clone.c +192 -166
  208. data/vendor/libgit2/src/libgit2/clone.h +4 -1
  209. data/vendor/libgit2/src/libgit2/commit.c +93 -1
  210. data/vendor/libgit2/src/libgit2/commit_graph.c +68 -58
  211. data/vendor/libgit2/src/libgit2/commit_graph.h +1 -2
  212. data/vendor/libgit2/src/libgit2/config.c +390 -299
  213. data/vendor/libgit2/src/libgit2/config.cmake.in +3 -0
  214. data/vendor/libgit2/src/libgit2/config.h +9 -4
  215. data/vendor/libgit2/src/libgit2/config_backend.h +8 -10
  216. data/vendor/libgit2/src/libgit2/config_cache.c +4 -5
  217. data/vendor/libgit2/src/libgit2/config_file.c +101 -89
  218. data/vendor/libgit2/src/libgit2/config_list.c +285 -0
  219. data/vendor/libgit2/src/libgit2/config_list.h +32 -0
  220. data/vendor/libgit2/src/libgit2/config_mem.c +195 -40
  221. data/vendor/libgit2/src/libgit2/config_parse.c +12 -10
  222. data/vendor/libgit2/src/libgit2/config_snapshot.c +24 -31
  223. data/vendor/libgit2/src/libgit2/delta.c +5 -1
  224. data/vendor/libgit2/src/libgit2/describe.c +24 -24
  225. data/vendor/libgit2/src/libgit2/diff.c +1 -1
  226. data/vendor/libgit2/src/libgit2/diff_driver.c +13 -20
  227. data/vendor/libgit2/src/libgit2/diff_driver.h +2 -2
  228. data/vendor/libgit2/src/libgit2/diff_generate.c +3 -3
  229. data/vendor/libgit2/src/libgit2/diff_parse.c +2 -2
  230. data/vendor/libgit2/src/libgit2/diff_print.c +65 -9
  231. data/vendor/libgit2/src/libgit2/diff_stats.c +19 -12
  232. data/vendor/libgit2/src/libgit2/diff_tform.c +36 -8
  233. data/vendor/libgit2/src/libgit2/email.c +1 -0
  234. data/vendor/libgit2/src/libgit2/fetch.c +5 -3
  235. data/vendor/libgit2/src/libgit2/fetchhead.c +1 -1
  236. data/vendor/libgit2/src/libgit2/filter.c +5 -5
  237. data/vendor/libgit2/src/libgit2/git2.rc +3 -3
  238. data/vendor/libgit2/src/libgit2/grafts.c +18 -20
  239. data/vendor/libgit2/src/libgit2/grafts.h +0 -1
  240. data/vendor/libgit2/src/libgit2/graph.c +1 -1
  241. data/vendor/libgit2/src/libgit2/hashmap_oid.h +30 -0
  242. data/vendor/libgit2/src/libgit2/ignore.c +9 -5
  243. data/vendor/libgit2/src/libgit2/index.c +76 -98
  244. data/vendor/libgit2/src/libgit2/index.h +5 -2
  245. data/vendor/libgit2/src/libgit2/index_map.c +95 -0
  246. data/vendor/libgit2/src/libgit2/index_map.h +28 -0
  247. data/vendor/libgit2/src/libgit2/indexer.c +36 -40
  248. data/vendor/libgit2/src/libgit2/iterator.c +14 -8
  249. data/vendor/libgit2/src/libgit2/libgit2.c +153 -368
  250. data/vendor/libgit2/src/libgit2/mailmap.c +1 -1
  251. data/vendor/libgit2/src/libgit2/merge.c +43 -38
  252. data/vendor/libgit2/src/libgit2/merge.h +4 -0
  253. data/vendor/libgit2/src/libgit2/merge_driver.c +2 -2
  254. data/vendor/libgit2/src/libgit2/merge_file.c +43 -30
  255. data/vendor/libgit2/src/libgit2/message.c +1 -1
  256. data/vendor/libgit2/src/libgit2/midx.c +30 -18
  257. data/vendor/libgit2/src/libgit2/mwindow.c +38 -45
  258. data/vendor/libgit2/src/libgit2/mwindow.h +4 -0
  259. data/vendor/libgit2/src/libgit2/object.c +6 -5
  260. data/vendor/libgit2/src/libgit2/odb.c +7 -10
  261. data/vendor/libgit2/src/libgit2/odb_loose.c +24 -14
  262. data/vendor/libgit2/src/libgit2/odb_mempack.c +49 -17
  263. data/vendor/libgit2/src/libgit2/odb_pack.c +13 -5
  264. data/vendor/libgit2/src/libgit2/oid.c +36 -10
  265. data/vendor/libgit2/src/libgit2/oid.h +11 -0
  266. data/vendor/libgit2/src/libgit2/pack-objects.c +59 -34
  267. data/vendor/libgit2/src/libgit2/pack-objects.h +12 -4
  268. data/vendor/libgit2/src/libgit2/pack.c +33 -24
  269. data/vendor/libgit2/src/libgit2/pack.h +15 -10
  270. data/vendor/libgit2/src/libgit2/patch_parse.c +2 -2
  271. data/vendor/libgit2/src/libgit2/path.c +1 -1
  272. data/vendor/libgit2/src/libgit2/pathspec.c +1 -1
  273. data/vendor/libgit2/src/libgit2/push.c +79 -28
  274. data/vendor/libgit2/src/libgit2/push.h +1 -0
  275. data/vendor/libgit2/src/libgit2/refdb_fs.c +128 -61
  276. data/vendor/libgit2/src/libgit2/reflog.c +1 -2
  277. data/vendor/libgit2/src/libgit2/reflog.h +2 -0
  278. data/vendor/libgit2/src/libgit2/refs.c +41 -13
  279. data/vendor/libgit2/src/libgit2/refs.h +6 -1
  280. data/vendor/libgit2/src/libgit2/refspec.c +28 -1
  281. data/vendor/libgit2/src/libgit2/refspec.h +8 -0
  282. data/vendor/libgit2/src/libgit2/remote.c +125 -62
  283. data/vendor/libgit2/src/libgit2/remote.h +0 -1
  284. data/vendor/libgit2/src/libgit2/repository.c +235 -54
  285. data/vendor/libgit2/src/libgit2/repository.h +10 -6
  286. data/vendor/libgit2/src/libgit2/revert.c +1 -2
  287. data/vendor/libgit2/src/libgit2/revparse.c +2 -2
  288. data/vendor/libgit2/src/libgit2/revwalk.c +13 -10
  289. data/vendor/libgit2/src/libgit2/revwalk.h +3 -3
  290. data/vendor/libgit2/src/libgit2/settings.c +468 -0
  291. data/vendor/libgit2/src/libgit2/settings.h +6 -2
  292. data/vendor/libgit2/src/libgit2/signature.c +132 -15
  293. data/vendor/libgit2/src/libgit2/signature.h +0 -1
  294. data/vendor/libgit2/src/libgit2/status.c +1 -1
  295. data/vendor/libgit2/src/libgit2/streams/mbedtls.c +54 -60
  296. data/vendor/libgit2/src/libgit2/streams/openssl.c +32 -7
  297. data/vendor/libgit2/src/libgit2/streams/openssl.h +2 -0
  298. data/vendor/libgit2/src/libgit2/streams/openssl_dynamic.c +4 -0
  299. data/vendor/libgit2/src/libgit2/streams/openssl_dynamic.h +3 -0
  300. data/vendor/libgit2/src/libgit2/streams/socket.c +30 -0
  301. data/vendor/libgit2/src/libgit2/streams/stransport.c +39 -7
  302. data/vendor/libgit2/src/libgit2/submodule.c +118 -68
  303. data/vendor/libgit2/src/libgit2/submodule.h +6 -7
  304. data/vendor/libgit2/src/libgit2/tag.c +4 -2
  305. data/vendor/libgit2/src/libgit2/trailer.c +6 -6
  306. data/vendor/libgit2/src/libgit2/transaction.c +26 -20
  307. data/vendor/libgit2/src/libgit2/transaction.h +4 -1
  308. data/vendor/libgit2/src/libgit2/transport.c +4 -1
  309. data/vendor/libgit2/src/libgit2/transports/auth_sspi.c +2 -0
  310. data/vendor/libgit2/src/libgit2/transports/credential.c +2 -2
  311. data/vendor/libgit2/src/libgit2/transports/git.c +1 -1
  312. data/vendor/libgit2/src/libgit2/transports/http.c +1 -2
  313. data/vendor/libgit2/src/libgit2/transports/http.h +0 -10
  314. data/vendor/libgit2/src/libgit2/transports/httpclient.c +124 -81
  315. data/vendor/libgit2/src/libgit2/transports/httpparser.c +128 -0
  316. data/vendor/libgit2/src/libgit2/transports/httpparser.h +99 -0
  317. data/vendor/libgit2/src/libgit2/transports/local.c +16 -8
  318. data/vendor/libgit2/src/libgit2/transports/smart.c +25 -13
  319. data/vendor/libgit2/src/libgit2/transports/smart.h +4 -2
  320. data/vendor/libgit2/src/libgit2/transports/smart_pkt.c +5 -5
  321. data/vendor/libgit2/src/libgit2/transports/smart_protocol.c +55 -10
  322. data/vendor/libgit2/src/libgit2/transports/ssh.c +41 -1103
  323. data/vendor/libgit2/src/libgit2/transports/ssh_exec.c +386 -0
  324. data/vendor/libgit2/src/libgit2/transports/ssh_exec.h +26 -0
  325. data/vendor/libgit2/src/libgit2/transports/ssh_libssh2.c +1126 -0
  326. data/vendor/libgit2/src/libgit2/transports/ssh_libssh2.h +28 -0
  327. data/vendor/libgit2/src/libgit2/transports/winhttp.c +35 -7
  328. data/vendor/libgit2/src/libgit2/tree.c +34 -26
  329. data/vendor/libgit2/src/libgit2/tree.h +3 -2
  330. data/vendor/libgit2/src/libgit2/worktree.c +14 -17
  331. data/vendor/libgit2/src/util/CMakeLists.txt +7 -10
  332. data/vendor/libgit2/src/util/alloc.c +4 -1
  333. data/vendor/libgit2/src/util/allocators/debugalloc.c +73 -0
  334. data/vendor/libgit2/src/{cli/cli.h → util/allocators/debugalloc.h} +6 -9
  335. data/vendor/libgit2/src/util/allocators/stdalloc.c +0 -10
  336. data/vendor/libgit2/src/util/array.h +18 -17
  337. data/vendor/libgit2/src/util/cc-compat.h +2 -0
  338. data/vendor/libgit2/src/util/ctype_compat.h +70 -0
  339. data/vendor/libgit2/src/util/date.c +22 -14
  340. data/vendor/libgit2/src/util/date.h +12 -0
  341. data/vendor/libgit2/src/util/errors.c +401 -0
  342. data/vendor/libgit2/src/{libgit2 → util}/errors.h +21 -17
  343. data/vendor/libgit2/src/util/fs_path.c +81 -10
  344. data/vendor/libgit2/src/util/fs_path.h +29 -0
  345. data/vendor/libgit2/src/util/futils.c +6 -5
  346. data/vendor/libgit2/src/util/futils.h +24 -7
  347. data/vendor/libgit2/src/util/git2_features.h.in +12 -1
  348. data/vendor/libgit2/src/util/git2_util.h +6 -0
  349. data/vendor/libgit2/src/util/hash/builtin.c +14 -4
  350. data/vendor/libgit2/src/util/hash/openssl.c +148 -0
  351. data/vendor/libgit2/src/util/hash/openssl.h +17 -1
  352. data/vendor/libgit2/src/util/hash/rfc6234/sha224-256.c +8 -6
  353. data/vendor/libgit2/src/util/hash/sha.h +4 -1
  354. data/vendor/libgit2/src/util/hashmap.h +425 -0
  355. data/vendor/libgit2/src/util/hashmap_str.h +43 -0
  356. data/vendor/libgit2/src/util/integer.h +3 -1
  357. data/vendor/libgit2/src/util/net.c +17 -11
  358. data/vendor/libgit2/src/util/net.h +2 -0
  359. data/vendor/libgit2/src/util/pool.c +1 -1
  360. data/vendor/libgit2/src/util/pool.h +5 -0
  361. data/vendor/libgit2/src/util/pqueue.h +1 -1
  362. data/vendor/libgit2/src/util/process.h +223 -0
  363. data/vendor/libgit2/src/util/rand.c +1 -7
  364. data/vendor/libgit2/src/util/regexp.c +1 -1
  365. data/vendor/libgit2/src/util/runtime.c +2 -2
  366. data/vendor/libgit2/src/util/sortedcache.c +14 -13
  367. data/vendor/libgit2/src/util/sortedcache.h +3 -3
  368. data/vendor/libgit2/src/util/str.c +20 -8
  369. data/vendor/libgit2/src/util/str.h +5 -3
  370. data/vendor/libgit2/src/util/strlist.c +108 -0
  371. data/vendor/libgit2/src/util/strlist.h +36 -0
  372. data/vendor/libgit2/src/util/unix/posix.h +0 -2
  373. data/vendor/libgit2/src/util/unix/process.c +706 -0
  374. data/vendor/libgit2/src/util/unix/realpath.c +23 -5
  375. data/vendor/libgit2/src/util/util.c +18 -5
  376. data/vendor/libgit2/src/util/util.h +5 -38
  377. data/vendor/libgit2/src/util/vector.c +3 -3
  378. data/vendor/libgit2/src/util/vector.h +2 -2
  379. data/vendor/libgit2/src/util/win32/path_w32.c +81 -5
  380. data/vendor/libgit2/src/util/win32/posix_w32.c +29 -6
  381. data/vendor/libgit2/src/util/win32/process.c +522 -0
  382. metadata +60 -32
  383. data/vendor/libgit2/deps/http-parser/CMakeLists.txt +0 -6
  384. data/vendor/libgit2/deps/http-parser/COPYING +0 -23
  385. data/vendor/libgit2/deps/http-parser/http_parser.c +0 -2182
  386. data/vendor/libgit2/deps/http-parser/http_parser.h +0 -305
  387. data/vendor/libgit2/deps/zlib/COPYING +0 -27
  388. data/vendor/libgit2/include/git2/sys/reflog.h +0 -21
  389. data/vendor/libgit2/src/libgit2/config_entries.c +0 -237
  390. data/vendor/libgit2/src/libgit2/config_entries.h +0 -24
  391. data/vendor/libgit2/src/libgit2/errors.c +0 -293
  392. data/vendor/libgit2/src/libgit2/idxmap.c +0 -157
  393. data/vendor/libgit2/src/libgit2/idxmap.h +0 -177
  394. data/vendor/libgit2/src/libgit2/libgit2.h +0 -15
  395. data/vendor/libgit2/src/libgit2/offmap.c +0 -101
  396. data/vendor/libgit2/src/libgit2/offmap.h +0 -133
  397. data/vendor/libgit2/src/libgit2/oidmap.c +0 -107
  398. data/vendor/libgit2/src/libgit2/oidmap.h +0 -128
  399. data/vendor/libgit2/src/libgit2/threadstate.c +0 -97
  400. data/vendor/libgit2/src/libgit2/threadstate.h +0 -22
  401. data/vendor/libgit2/src/libgit2/transports/ssh.h +0 -14
  402. data/vendor/libgit2/src/util/khash.h +0 -615
  403. data/vendor/libgit2/src/util/strmap.c +0 -100
  404. data/vendor/libgit2/src/util/strmap.h +0 -131
  405. /data/vendor/libgit2/cmake/{FindHTTPParser.cmake → FindHTTP_Parser.cmake} +0 -0
@@ -30,8 +30,8 @@
30
30
  #include "fs_path.h"
31
31
  #include "attr.h"
32
32
  #include "pool.h"
33
- #include "strmap.h"
34
33
  #include "path.h"
34
+ #include "hashmap_str.h"
35
35
 
36
36
  /* See docs/checkout-internals.md for more information */
37
37
 
@@ -72,7 +72,7 @@ typedef struct {
72
72
  size_t total_steps;
73
73
  size_t completed_steps;
74
74
  git_checkout_perfdata perfdata;
75
- git_strmap *mkdir_map;
75
+ git_hashset_str mkdir_pathcache;
76
76
  git_attr_session attr_session;
77
77
  } checkout_data;
78
78
 
@@ -294,6 +294,9 @@ static int checkout_action_no_wd(
294
294
 
295
295
  *action = CHECKOUT_ACTION__NONE;
296
296
 
297
+ if ((data->strategy & GIT_CHECKOUT_NONE))
298
+ return 0;
299
+
297
300
  switch (delta->status) {
298
301
  case GIT_DELTA_UNMODIFIED: /* case 12 */
299
302
  error = checkout_notify(data, GIT_CHECKOUT_NOTIFY_DIRTY, delta, NULL);
@@ -302,17 +305,17 @@ static int checkout_action_no_wd(
302
305
  *action = CHECKOUT_ACTION_IF(RECREATE_MISSING, UPDATE_BLOB, NONE);
303
306
  break;
304
307
  case GIT_DELTA_ADDED: /* case 2 or 28 (and 5 but not really) */
305
- *action = CHECKOUT_ACTION_IF(SAFE, UPDATE_BLOB, NONE);
308
+ *action = CHECKOUT_ACTION__UPDATE_BLOB;
306
309
  break;
307
310
  case GIT_DELTA_MODIFIED: /* case 13 (and 35 but not really) */
308
311
  *action = CHECKOUT_ACTION_IF(RECREATE_MISSING, UPDATE_BLOB, CONFLICT);
309
312
  break;
310
313
  case GIT_DELTA_TYPECHANGE: /* case 21 (B->T) and 28 (T->B)*/
311
314
  if (delta->new_file.mode == GIT_FILEMODE_TREE)
312
- *action = CHECKOUT_ACTION_IF(SAFE, UPDATE_BLOB, NONE);
315
+ *action = CHECKOUT_ACTION__UPDATE_BLOB;
313
316
  break;
314
317
  case GIT_DELTA_DELETED: /* case 8 or 25 */
315
- *action = CHECKOUT_ACTION_IF(SAFE, REMOVE, NONE);
318
+ *action = CHECKOUT_ACTION__REMOVE;
316
319
  break;
317
320
  default: /* impossible */
318
321
  break;
@@ -494,6 +497,9 @@ static int checkout_action_with_wd(
494
497
  {
495
498
  *action = CHECKOUT_ACTION__NONE;
496
499
 
500
+ if ((data->strategy & GIT_CHECKOUT_NONE))
501
+ return 0;
502
+
497
503
  switch (delta->status) {
498
504
  case GIT_DELTA_UNMODIFIED: /* case 14/15 or 33 */
499
505
  if (checkout_is_workdir_modified(data, &delta->old_file, &delta->new_file, wd)) {
@@ -512,14 +518,14 @@ static int checkout_action_with_wd(
512
518
  if (checkout_is_workdir_modified(data, &delta->old_file, &delta->new_file, wd))
513
519
  *action = CHECKOUT_ACTION_IF(FORCE, REMOVE, CONFLICT);
514
520
  else
515
- *action = CHECKOUT_ACTION_IF(SAFE, REMOVE, NONE);
521
+ *action = CHECKOUT_ACTION__REMOVE;
516
522
  break;
517
523
  case GIT_DELTA_MODIFIED: /* case 16, 17, 18 (or 36 but not really) */
518
524
  if (wd->mode != GIT_FILEMODE_COMMIT &&
519
525
  checkout_is_workdir_modified(data, &delta->old_file, &delta->new_file, wd))
520
526
  *action = CHECKOUT_ACTION_IF(FORCE, UPDATE_BLOB, CONFLICT);
521
527
  else
522
- *action = CHECKOUT_ACTION_IF(SAFE, UPDATE_BLOB, NONE);
528
+ *action = CHECKOUT_ACTION__UPDATE_BLOB;
523
529
  break;
524
530
  case GIT_DELTA_TYPECHANGE: /* case 22, 23, 29, 30 */
525
531
  if (delta->old_file.mode == GIT_FILEMODE_TREE) {
@@ -527,13 +533,13 @@ static int checkout_action_with_wd(
527
533
  /* either deleting items in old tree will delete the wd dir,
528
534
  * or we'll get a conflict when we attempt blob update...
529
535
  */
530
- *action = CHECKOUT_ACTION_IF(SAFE, UPDATE_BLOB, NONE);
536
+ *action = CHECKOUT_ACTION__UPDATE_BLOB;
531
537
  else if (wd->mode == GIT_FILEMODE_COMMIT) {
532
538
  /* workdir is possibly a "phantom" submodule - treat as a
533
539
  * tree if the only submodule info came from the config
534
540
  */
535
541
  if (submodule_is_config_only(data, wd->path))
536
- *action = CHECKOUT_ACTION_IF(SAFE, UPDATE_BLOB, NONE);
542
+ *action = CHECKOUT_ACTION__UPDATE_BLOB;
537
543
  else
538
544
  *action = CHECKOUT_ACTION_IF(FORCE, REMOVE_AND_UPDATE, CONFLICT);
539
545
  } else
@@ -542,7 +548,7 @@ static int checkout_action_with_wd(
542
548
  else if (checkout_is_workdir_modified(data, &delta->old_file, &delta->new_file, wd))
543
549
  *action = CHECKOUT_ACTION_IF(FORCE, REMOVE_AND_UPDATE, CONFLICT);
544
550
  else
545
- *action = CHECKOUT_ACTION_IF(SAFE, REMOVE_AND_UPDATE, NONE);
551
+ *action = CHECKOUT_ACTION__REMOVE_AND_UPDATE;
546
552
 
547
553
  /* don't update if the typechange is to a tree */
548
554
  if (delta->new_file.mode == GIT_FILEMODE_TREE)
@@ -563,6 +569,9 @@ static int checkout_action_with_wd_blocker(
563
569
  {
564
570
  *action = CHECKOUT_ACTION__NONE;
565
571
 
572
+ if ((data->strategy & GIT_CHECKOUT_NONE))
573
+ return 0;
574
+
566
575
  switch (delta->status) {
567
576
  case GIT_DELTA_UNMODIFIED:
568
577
  /* should show delta as dirty / deleted */
@@ -597,6 +606,9 @@ static int checkout_action_with_wd_dir(
597
606
  {
598
607
  *action = CHECKOUT_ACTION__NONE;
599
608
 
609
+ if ((data->strategy & GIT_CHECKOUT_NONE))
610
+ return 0;
611
+
600
612
  switch (delta->status) {
601
613
  case GIT_DELTA_UNMODIFIED: /* case 19 or 24 (or 34 but not really) */
602
614
  GIT_ERROR_CHECK_ERROR(
@@ -627,7 +639,7 @@ static int checkout_action_with_wd_dir(
627
639
  * directory if is it left empty, so we can defer removing the
628
640
  * dir and it will succeed if no children are left.
629
641
  */
630
- *action = CHECKOUT_ACTION_IF(SAFE, UPDATE_BLOB, NONE);
642
+ *action = CHECKOUT_ACTION__UPDATE_BLOB;
631
643
  }
632
644
  else if (delta->new_file.mode != GIT_FILEMODE_TREE)
633
645
  /* For typechange to dir, dir is already created so no action */
@@ -1419,8 +1431,10 @@ static int checkout_mkdir(
1419
1431
  struct git_futils_mkdir_options mkdir_opts = {0};
1420
1432
  int error;
1421
1433
 
1422
- mkdir_opts.dir_map = data->mkdir_map;
1423
- mkdir_opts.pool = &data->pool;
1434
+ if (git_pool_is_initialized(&data->pool)) {
1435
+ mkdir_opts.cache_pool = &data->pool;
1436
+ mkdir_opts.cache_pathset = &data->mkdir_pathcache;
1437
+ }
1424
1438
 
1425
1439
  error = git_futils_mkdir_relative(
1426
1440
  path, base, mode, flags, &mkdir_opts);
@@ -2316,11 +2330,11 @@ static void checkout_data_clear(checkout_data *data)
2316
2330
  data->opts.baseline = NULL;
2317
2331
  }
2318
2332
 
2319
- git_vector_free(&data->removes);
2333
+ git_vector_dispose(&data->removes);
2320
2334
  git_pool_clear(&data->pool);
2321
2335
 
2322
- git_vector_free_deep(&data->remove_conflicts);
2323
- git_vector_free_deep(&data->update_conflicts);
2336
+ git_vector_dispose_deep(&data->remove_conflicts);
2337
+ git_vector_dispose_deep(&data->update_conflicts);
2324
2338
 
2325
2339
  git__free(data->pfx);
2326
2340
  data->pfx = NULL;
@@ -2331,8 +2345,7 @@ static void checkout_data_clear(checkout_data *data)
2331
2345
  git_index_free(data->index);
2332
2346
  data->index = NULL;
2333
2347
 
2334
- git_strmap_free(data->mkdir_map);
2335
- data->mkdir_map = NULL;
2348
+ git_hashset_str_dispose(&data->mkdir_pathcache);
2336
2349
 
2337
2350
  git_attr_session__free(&data->attr_session);
2338
2351
  }
@@ -2432,14 +2445,12 @@ static int checkout_data_init(
2432
2445
 
2433
2446
  /* if you are forcing, allow all safe updates, plus recreate missing */
2434
2447
  if ((data->opts.checkout_strategy & GIT_CHECKOUT_FORCE) != 0)
2435
- data->opts.checkout_strategy |= GIT_CHECKOUT_SAFE |
2436
- GIT_CHECKOUT_RECREATE_MISSING;
2448
+ data->opts.checkout_strategy |= GIT_CHECKOUT_RECREATE_MISSING;
2437
2449
 
2438
2450
  /* if the repository does not actually have an index file, then this
2439
2451
  * is an initial checkout (perhaps from clone), so we allow safe updates
2440
2452
  */
2441
- if (!data->index->on_disk &&
2442
- (data->opts.checkout_strategy & GIT_CHECKOUT_SAFE) != 0)
2453
+ if (!data->index->on_disk)
2443
2454
  data->opts.checkout_strategy |= GIT_CHECKOUT_RECREATE_MISSING;
2444
2455
 
2445
2456
  data->strategy = data->opts.checkout_strategy;
@@ -2513,8 +2524,7 @@ static int checkout_data_init(
2513
2524
  (error = git_vector_init(&data->remove_conflicts, 0, NULL)) < 0 ||
2514
2525
  (error = git_vector_init(&data->update_conflicts, 0, NULL)) < 0 ||
2515
2526
  (error = git_str_puts(&data->target_path, data->opts.target_directory)) < 0 ||
2516
- (error = git_fs_path_to_dir(&data->target_path)) < 0 ||
2517
- (error = git_strmap_new(&data->mkdir_map)) < 0)
2527
+ (error = git_fs_path_to_dir(&data->target_path)) < 0)
2518
2528
  goto cleanup;
2519
2529
 
2520
2530
  data->target_len = git_str_len(&data->target_path);
@@ -12,8 +12,6 @@
12
12
  #include "git2/checkout.h"
13
13
  #include "iterator.h"
14
14
 
15
- #define GIT_CHECKOUT__NOTIFY_CONFLICT_TREE (1u << 12)
16
-
17
15
  /**
18
16
  * Update the working directory to match the target iterator. The
19
17
  * expected baseline value can be passed in via the checkout options
@@ -73,8 +73,7 @@ static int cherrypick_normalize_opts(
73
73
  const char *their_label)
74
74
  {
75
75
  int error = 0;
76
- unsigned int default_checkout_strategy = GIT_CHECKOUT_SAFE |
77
- GIT_CHECKOUT_ALLOW_CONFLICTS;
76
+ unsigned int default_checkout_strategy = GIT_CHECKOUT_ALLOW_CONFLICTS;
78
77
 
79
78
  GIT_UNUSED(repo);
80
79