rugged 1.7.2 → 1.9.6

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 (477) 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 +278 -12
  32. data/vendor/libgit2/cmake/DefaultCFlags.cmake +8 -3
  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 +14 -4
  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/pcre2/CMakeLists.txt +110 -0
  59. data/vendor/libgit2/deps/pcre2/LICENCE.md +104 -0
  60. data/vendor/libgit2/deps/pcre2/config.h.in +54 -0
  61. data/vendor/libgit2/deps/pcre2/pcre2.h +1079 -0
  62. data/vendor/libgit2/deps/pcre2/pcre2_auto_possess.c +1416 -0
  63. data/vendor/libgit2/deps/{pcre/pcre_chartables.c → pcre2/pcre2_chartables.c} +41 -47
  64. data/vendor/libgit2/deps/{pcre/pcre_ord2utf8.c → pcre2/pcre2_chkdint.c} +36 -36
  65. data/vendor/libgit2/deps/pcre2/pcre2_compile.c +11345 -0
  66. data/vendor/libgit2/deps/pcre2/pcre2_compile.h +356 -0
  67. data/vendor/libgit2/deps/pcre2/pcre2_compile_cgroup.c +632 -0
  68. data/vendor/libgit2/deps/pcre2/pcre2_compile_class.c +2777 -0
  69. data/vendor/libgit2/deps/pcre2/pcre2_config.c +250 -0
  70. data/vendor/libgit2/deps/pcre2/pcre2_context.c +557 -0
  71. data/vendor/libgit2/deps/pcre2/pcre2_convert.c +1263 -0
  72. data/vendor/libgit2/deps/{pcre/pcre_dfa_exec.c → pcre2/pcre2_dfa_match.c} +1402 -943
  73. data/vendor/libgit2/deps/pcre2/pcre2_error.c +384 -0
  74. data/vendor/libgit2/deps/pcre2/pcre2_extuni.c +159 -0
  75. data/vendor/libgit2/deps/pcre2/pcre2_find_bracket.c +217 -0
  76. data/vendor/libgit2/deps/pcre2/pcre2_fuzzsupport.c +844 -0
  77. data/vendor/libgit2/deps/pcre2/pcre2_internal.h +2353 -0
  78. data/vendor/libgit2/deps/pcre2/pcre2_intmodedep.h +1044 -0
  79. data/vendor/libgit2/deps/pcre2/pcre2_maketables.c +177 -0
  80. data/vendor/libgit2/deps/pcre2/pcre2_match.c +8244 -0
  81. data/vendor/libgit2/deps/pcre2/pcre2_match_data.c +184 -0
  82. data/vendor/libgit2/deps/pcre2/pcre2_match_next.c +171 -0
  83. data/vendor/libgit2/deps/{pcre/pcre_newline.c → pcre2/pcre2_newline.c} +92 -63
  84. data/vendor/libgit2/deps/{pcre/pcre_refcount.c → pcre2/pcre2_ord2utf.c} +64 -38
  85. data/vendor/libgit2/deps/pcre2/pcre2_pattern_info.c +430 -0
  86. data/vendor/libgit2/deps/pcre2/pcre2_printint_inc.h +1098 -0
  87. data/vendor/libgit2/deps/pcre2/pcre2_script_run.c +344 -0
  88. data/vendor/libgit2/deps/pcre2/pcre2_serialize.c +284 -0
  89. data/vendor/libgit2/deps/pcre2/pcre2_string_utils.c +199 -0
  90. data/vendor/libgit2/deps/pcre2/pcre2_study.c +2087 -0
  91. data/vendor/libgit2/deps/pcre2/pcre2_substitute.c +1761 -0
  92. data/vendor/libgit2/deps/pcre2/pcre2_substring.c +553 -0
  93. data/vendor/libgit2/deps/pcre2/pcre2_tables.c +310 -0
  94. data/vendor/libgit2/deps/pcre2/pcre2_ucd.c +5805 -0
  95. data/vendor/libgit2/deps/pcre2/pcre2_ucp.h +408 -0
  96. data/vendor/libgit2/deps/pcre2/pcre2_ucptables_inc.h +1596 -0
  97. data/vendor/libgit2/deps/pcre2/pcre2_util.h +179 -0
  98. data/vendor/libgit2/deps/pcre2/pcre2_valid_utf.c +397 -0
  99. data/vendor/libgit2/deps/pcre2/pcre2_xclass.c +547 -0
  100. data/vendor/libgit2/deps/xdiff/CMakeLists.txt +1 -1
  101. data/vendor/libgit2/deps/xdiff/xmerge.c +16 -12
  102. data/vendor/libgit2/deps/zlib/CMakeLists.txt +6 -1
  103. data/vendor/libgit2/deps/zlib/LICENSE +22 -0
  104. data/vendor/libgit2/deps/zlib/adler32.c +5 -27
  105. data/vendor/libgit2/deps/zlib/crc32.c +94 -167
  106. data/vendor/libgit2/deps/zlib/deflate.c +358 -435
  107. data/vendor/libgit2/deps/zlib/deflate.h +41 -10
  108. data/vendor/libgit2/deps/zlib/gzguts.h +13 -18
  109. data/vendor/libgit2/deps/zlib/infback.c +17 -30
  110. data/vendor/libgit2/deps/zlib/inffast.c +1 -4
  111. data/vendor/libgit2/deps/zlib/inffast.h +1 -1
  112. data/vendor/libgit2/deps/zlib/inflate.c +36 -102
  113. data/vendor/libgit2/deps/zlib/inftrees.c +6 -11
  114. data/vendor/libgit2/deps/zlib/inftrees.h +6 -6
  115. data/vendor/libgit2/deps/zlib/trees.c +287 -352
  116. data/vendor/libgit2/deps/zlib/zconf.h +23 -14
  117. data/vendor/libgit2/deps/zlib/zlib.h +202 -202
  118. data/vendor/libgit2/deps/zlib/zutil.c +18 -44
  119. data/vendor/libgit2/deps/zlib/zutil.h +13 -33
  120. data/vendor/libgit2/include/git2/annotated_commit.h +12 -5
  121. data/vendor/libgit2/include/git2/apply.h +27 -6
  122. data/vendor/libgit2/include/git2/attr.h +17 -4
  123. data/vendor/libgit2/include/git2/blame.h +133 -28
  124. data/vendor/libgit2/include/git2/blob.h +71 -28
  125. data/vendor/libgit2/include/git2/branch.h +22 -15
  126. data/vendor/libgit2/include/git2/buffer.h +6 -4
  127. data/vendor/libgit2/include/git2/cert.h +2 -1
  128. data/vendor/libgit2/include/git2/checkout.h +83 -32
  129. data/vendor/libgit2/include/git2/cherrypick.h +10 -3
  130. data/vendor/libgit2/include/git2/clone.h +25 -9
  131. data/vendor/libgit2/include/git2/commit.h +132 -3
  132. data/vendor/libgit2/include/git2/common.h +132 -63
  133. data/vendor/libgit2/include/git2/config.h +93 -23
  134. data/vendor/libgit2/include/git2/credential.h +30 -2
  135. data/vendor/libgit2/include/git2/credential_helpers.h +1 -0
  136. data/vendor/libgit2/include/git2/deprecated.h +134 -4
  137. data/vendor/libgit2/include/git2/describe.h +13 -1
  138. data/vendor/libgit2/include/git2/diff.h +38 -8
  139. data/vendor/libgit2/include/git2/email.h +9 -29
  140. data/vendor/libgit2/include/git2/errors.h +46 -73
  141. data/vendor/libgit2/include/git2/filter.h +14 -7
  142. data/vendor/libgit2/include/git2/global.h +8 -1
  143. data/vendor/libgit2/include/git2/graph.h +3 -2
  144. data/vendor/libgit2/include/git2/ignore.h +10 -0
  145. data/vendor/libgit2/include/git2/index.h +100 -15
  146. data/vendor/libgit2/include/git2/indexer.h +21 -4
  147. data/vendor/libgit2/include/git2/mailmap.h +7 -1
  148. data/vendor/libgit2/include/git2/merge.h +50 -3
  149. data/vendor/libgit2/include/git2/message.h +2 -2
  150. data/vendor/libgit2/include/git2/net.h +3 -1
  151. data/vendor/libgit2/include/git2/notes.h +9 -6
  152. data/vendor/libgit2/include/git2/object.h +9 -8
  153. data/vendor/libgit2/include/git2/odb.h +91 -49
  154. data/vendor/libgit2/include/git2/odb_backend.h +80 -52
  155. data/vendor/libgit2/include/git2/oid.h +23 -25
  156. data/vendor/libgit2/include/git2/oidarray.h +7 -1
  157. data/vendor/libgit2/include/git2/pack.h +13 -1
  158. data/vendor/libgit2/include/git2/patch.h +2 -3
  159. data/vendor/libgit2/include/git2/pathspec.h +9 -0
  160. data/vendor/libgit2/include/git2/proxy.h +12 -3
  161. data/vendor/libgit2/include/git2/rebase.h +9 -6
  162. data/vendor/libgit2/include/git2/refdb.h +2 -2
  163. data/vendor/libgit2/include/git2/reflog.h +3 -2
  164. data/vendor/libgit2/include/git2/refs.h +9 -6
  165. data/vendor/libgit2/include/git2/refspec.h +14 -4
  166. data/vendor/libgit2/include/git2/remote.h +113 -25
  167. data/vendor/libgit2/include/git2/repository.h +57 -21
  168. data/vendor/libgit2/include/git2/reset.h +16 -3
  169. data/vendor/libgit2/include/git2/revert.h +9 -4
  170. data/vendor/libgit2/include/git2/revparse.h +3 -3
  171. data/vendor/libgit2/include/git2/revwalk.h +3 -2
  172. data/vendor/libgit2/include/git2/signature.h +46 -1
  173. data/vendor/libgit2/include/git2/stash.h +17 -3
  174. data/vendor/libgit2/include/git2/status.h +10 -6
  175. data/vendor/libgit2/include/git2/stdint.h +87 -85
  176. data/vendor/libgit2/include/git2/strarray.h +2 -3
  177. data/vendor/libgit2/include/git2/submodule.h +20 -9
  178. data/vendor/libgit2/include/git2/sys/alloc.h +12 -0
  179. data/vendor/libgit2/include/git2/sys/commit.h +77 -3
  180. data/vendor/libgit2/include/git2/sys/commit_graph.h +103 -62
  181. data/vendor/libgit2/include/git2/sys/config.h +80 -4
  182. data/vendor/libgit2/include/git2/sys/credential.h +4 -3
  183. data/vendor/libgit2/include/git2/sys/diff.h +21 -1
  184. data/vendor/libgit2/include/git2/sys/email.h +7 -0
  185. data/vendor/libgit2/include/git2/sys/errors.h +76 -0
  186. data/vendor/libgit2/include/git2/sys/filter.h +66 -3
  187. data/vendor/libgit2/include/git2/sys/hashsig.h +11 -0
  188. data/vendor/libgit2/include/git2/sys/index.h +3 -2
  189. data/vendor/libgit2/include/git2/sys/mempack.h +32 -2
  190. data/vendor/libgit2/include/git2/sys/merge.h +55 -7
  191. data/vendor/libgit2/include/git2/sys/midx.h +43 -4
  192. data/vendor/libgit2/include/git2/sys/odb_backend.h +7 -3
  193. data/vendor/libgit2/include/git2/sys/openssl.h +8 -1
  194. data/vendor/libgit2/include/git2/sys/path.h +12 -1
  195. data/vendor/libgit2/include/git2/sys/refdb_backend.h +40 -36
  196. data/vendor/libgit2/include/git2/sys/refs.h +3 -2
  197. data/vendor/libgit2/include/git2/sys/remote.h +8 -1
  198. data/vendor/libgit2/include/git2/sys/repository.h +63 -3
  199. data/vendor/libgit2/include/git2/sys/stream.h +11 -2
  200. data/vendor/libgit2/include/git2/sys/transport.h +25 -4
  201. data/vendor/libgit2/include/git2/tag.h +3 -1
  202. data/vendor/libgit2/include/git2/trace.h +9 -3
  203. data/vendor/libgit2/include/git2/transaction.h +3 -2
  204. data/vendor/libgit2/include/git2/transport.h +11 -3
  205. data/vendor/libgit2/include/git2/tree.h +16 -5
  206. data/vendor/libgit2/include/git2/types.h +19 -3
  207. data/vendor/libgit2/include/git2/version.h +46 -8
  208. data/vendor/libgit2/include/git2/worktree.h +16 -6
  209. data/vendor/libgit2/src/CMakeLists.txt +6 -4
  210. data/vendor/libgit2/src/cli/CMakeLists.txt +3 -4
  211. data/vendor/libgit2/src/cli/cmd.c +1 -1
  212. data/vendor/libgit2/src/cli/cmd.h +4 -0
  213. data/vendor/libgit2/src/cli/cmd_blame.c +287 -0
  214. data/vendor/libgit2/src/cli/cmd_cat_file.c +6 -8
  215. data/vendor/libgit2/src/cli/cmd_clone.c +5 -7
  216. data/vendor/libgit2/src/cli/cmd_config.c +241 -0
  217. data/vendor/libgit2/src/cli/cmd_hash_object.c +6 -8
  218. data/vendor/libgit2/src/cli/cmd_help.c +6 -7
  219. data/vendor/libgit2/src/cli/cmd_index_pack.c +114 -0
  220. data/vendor/libgit2/src/cli/cmd_init.c +102 -0
  221. data/vendor/libgit2/src/cli/common.c +168 -0
  222. data/vendor/libgit2/src/cli/common.h +63 -0
  223. data/vendor/libgit2/src/cli/error.h +1 -1
  224. data/vendor/libgit2/src/cli/main.c +52 -24
  225. data/vendor/libgit2/src/cli/opt.c +31 -5
  226. data/vendor/libgit2/src/cli/opt.h +21 -3
  227. data/vendor/libgit2/src/cli/opt_usage.c +102 -33
  228. data/vendor/libgit2/src/cli/opt_usage.h +6 -1
  229. data/vendor/libgit2/src/cli/progress.c +51 -2
  230. data/vendor/libgit2/src/cli/progress.h +12 -0
  231. data/vendor/libgit2/src/cli/unix/sighandler.c +2 -1
  232. data/vendor/libgit2/src/cli/win32/precompiled.h +1 -1
  233. data/vendor/libgit2/src/cli/win32/sighandler.c +1 -1
  234. data/vendor/libgit2/src/libgit2/CMakeLists.txt +55 -21
  235. data/vendor/libgit2/src/libgit2/apply.c +10 -13
  236. data/vendor/libgit2/src/libgit2/attr.c +30 -13
  237. data/vendor/libgit2/src/libgit2/attr_file.c +17 -5
  238. data/vendor/libgit2/src/libgit2/attr_file.h +2 -0
  239. data/vendor/libgit2/src/libgit2/attrcache.c +69 -33
  240. data/vendor/libgit2/src/libgit2/attrcache.h +5 -9
  241. data/vendor/libgit2/src/libgit2/blame.c +135 -43
  242. data/vendor/libgit2/src/libgit2/blame.h +1 -0
  243. data/vendor/libgit2/src/libgit2/cache.c +22 -17
  244. data/vendor/libgit2/src/libgit2/cache.h +7 -9
  245. data/vendor/libgit2/src/libgit2/checkout.c +34 -24
  246. data/vendor/libgit2/src/libgit2/checkout.h +0 -2
  247. data/vendor/libgit2/src/libgit2/cherrypick.c +1 -2
  248. data/vendor/libgit2/src/libgit2/clone.c +192 -166
  249. data/vendor/libgit2/src/libgit2/clone.h +4 -1
  250. data/vendor/libgit2/src/libgit2/commit.c +93 -1
  251. data/vendor/libgit2/src/libgit2/commit_graph.c +68 -58
  252. data/vendor/libgit2/src/libgit2/commit_graph.h +1 -2
  253. data/vendor/libgit2/src/libgit2/config.c +390 -299
  254. data/vendor/libgit2/src/libgit2/config.cmake.in +3 -0
  255. data/vendor/libgit2/src/libgit2/config.h +9 -4
  256. data/vendor/libgit2/src/libgit2/config_backend.h +8 -10
  257. data/vendor/libgit2/src/libgit2/config_cache.c +4 -5
  258. data/vendor/libgit2/src/libgit2/config_file.c +101 -89
  259. data/vendor/libgit2/src/libgit2/config_list.c +285 -0
  260. data/vendor/libgit2/src/libgit2/config_list.h +32 -0
  261. data/vendor/libgit2/src/libgit2/config_mem.c +195 -40
  262. data/vendor/libgit2/src/libgit2/config_parse.c +12 -10
  263. data/vendor/libgit2/src/libgit2/config_snapshot.c +24 -31
  264. data/vendor/libgit2/src/libgit2/delta.c +13 -1
  265. data/vendor/libgit2/src/libgit2/describe.c +24 -24
  266. data/vendor/libgit2/src/libgit2/diff.c +1 -1
  267. data/vendor/libgit2/src/libgit2/diff_driver.c +13 -20
  268. data/vendor/libgit2/src/libgit2/diff_driver.h +2 -2
  269. data/vendor/libgit2/src/libgit2/diff_generate.c +3 -3
  270. data/vendor/libgit2/src/libgit2/diff_parse.c +2 -2
  271. data/vendor/libgit2/src/libgit2/diff_print.c +65 -9
  272. data/vendor/libgit2/src/libgit2/diff_stats.c +19 -12
  273. data/vendor/libgit2/src/libgit2/diff_tform.c +36 -8
  274. data/vendor/libgit2/src/libgit2/email.c +1 -0
  275. data/vendor/libgit2/src/libgit2/fetch.c +5 -3
  276. data/vendor/libgit2/src/libgit2/fetchhead.c +1 -1
  277. data/vendor/libgit2/src/libgit2/filter.c +5 -5
  278. data/vendor/libgit2/src/libgit2/git2.rc +3 -3
  279. data/vendor/libgit2/src/libgit2/grafts.c +18 -20
  280. data/vendor/libgit2/src/libgit2/grafts.h +0 -1
  281. data/vendor/libgit2/src/libgit2/graph.c +1 -1
  282. data/vendor/libgit2/src/libgit2/hashmap_oid.h +30 -0
  283. data/vendor/libgit2/src/libgit2/ignore.c +9 -5
  284. data/vendor/libgit2/src/libgit2/index.c +76 -98
  285. data/vendor/libgit2/src/libgit2/index.h +5 -2
  286. data/vendor/libgit2/src/libgit2/index_map.c +95 -0
  287. data/vendor/libgit2/src/libgit2/index_map.h +28 -0
  288. data/vendor/libgit2/src/libgit2/indexer.c +38 -41
  289. data/vendor/libgit2/src/libgit2/iterator.c +14 -8
  290. data/vendor/libgit2/src/libgit2/libgit2.c +153 -368
  291. data/vendor/libgit2/src/libgit2/mailmap.c +1 -1
  292. data/vendor/libgit2/src/libgit2/merge.c +43 -38
  293. data/vendor/libgit2/src/libgit2/merge.h +4 -0
  294. data/vendor/libgit2/src/libgit2/merge_driver.c +2 -2
  295. data/vendor/libgit2/src/libgit2/merge_file.c +43 -30
  296. data/vendor/libgit2/src/libgit2/message.c +1 -1
  297. data/vendor/libgit2/src/libgit2/midx.c +30 -18
  298. data/vendor/libgit2/src/libgit2/mwindow.c +38 -45
  299. data/vendor/libgit2/src/libgit2/mwindow.h +4 -0
  300. data/vendor/libgit2/src/libgit2/object.c +6 -5
  301. data/vendor/libgit2/src/libgit2/odb.c +7 -10
  302. data/vendor/libgit2/src/libgit2/odb_loose.c +24 -14
  303. data/vendor/libgit2/src/libgit2/odb_mempack.c +49 -17
  304. data/vendor/libgit2/src/libgit2/odb_pack.c +13 -5
  305. data/vendor/libgit2/src/libgit2/oid.c +36 -10
  306. data/vendor/libgit2/src/libgit2/oid.h +11 -0
  307. data/vendor/libgit2/src/libgit2/pack-objects.c +59 -34
  308. data/vendor/libgit2/src/libgit2/pack-objects.h +12 -4
  309. data/vendor/libgit2/src/libgit2/pack.c +33 -24
  310. data/vendor/libgit2/src/libgit2/pack.h +15 -10
  311. data/vendor/libgit2/src/libgit2/patch_parse.c +2 -2
  312. data/vendor/libgit2/src/libgit2/path.c +1 -1
  313. data/vendor/libgit2/src/libgit2/pathspec.c +1 -1
  314. data/vendor/libgit2/src/libgit2/push.c +79 -28
  315. data/vendor/libgit2/src/libgit2/push.h +1 -0
  316. data/vendor/libgit2/src/libgit2/refdb_fs.c +128 -61
  317. data/vendor/libgit2/src/libgit2/reflog.c +1 -2
  318. data/vendor/libgit2/src/libgit2/reflog.h +2 -0
  319. data/vendor/libgit2/src/libgit2/refs.c +41 -13
  320. data/vendor/libgit2/src/libgit2/refs.h +6 -1
  321. data/vendor/libgit2/src/libgit2/refspec.c +28 -1
  322. data/vendor/libgit2/src/libgit2/refspec.h +8 -0
  323. data/vendor/libgit2/src/libgit2/remote.c +125 -62
  324. data/vendor/libgit2/src/libgit2/remote.h +0 -1
  325. data/vendor/libgit2/src/libgit2/repository.c +235 -54
  326. data/vendor/libgit2/src/libgit2/repository.h +10 -6
  327. data/vendor/libgit2/src/libgit2/revert.c +1 -2
  328. data/vendor/libgit2/src/libgit2/revparse.c +2 -2
  329. data/vendor/libgit2/src/libgit2/revwalk.c +13 -10
  330. data/vendor/libgit2/src/libgit2/revwalk.h +3 -3
  331. data/vendor/libgit2/src/libgit2/settings.c +477 -0
  332. data/vendor/libgit2/src/libgit2/settings.h +6 -2
  333. data/vendor/libgit2/src/libgit2/signature.c +132 -15
  334. data/vendor/libgit2/src/libgit2/signature.h +0 -1
  335. data/vendor/libgit2/src/libgit2/status.c +1 -1
  336. data/vendor/libgit2/src/libgit2/streams/mbedtls.c +54 -60
  337. data/vendor/libgit2/src/libgit2/streams/openssl.c +36 -8
  338. data/vendor/libgit2/src/libgit2/streams/openssl.h +2 -0
  339. data/vendor/libgit2/src/libgit2/streams/openssl_dynamic.c +4 -0
  340. data/vendor/libgit2/src/libgit2/streams/openssl_dynamic.h +3 -0
  341. data/vendor/libgit2/src/libgit2/streams/socket.c +30 -0
  342. data/vendor/libgit2/src/libgit2/streams/stransport.c +39 -7
  343. data/vendor/libgit2/src/libgit2/submodule.c +195 -80
  344. data/vendor/libgit2/src/libgit2/submodule.h +6 -7
  345. data/vendor/libgit2/src/libgit2/tag.c +4 -2
  346. data/vendor/libgit2/src/libgit2/trailer.c +6 -6
  347. data/vendor/libgit2/src/libgit2/transaction.c +26 -20
  348. data/vendor/libgit2/src/libgit2/transaction.h +4 -1
  349. data/vendor/libgit2/src/libgit2/transport.c +4 -1
  350. data/vendor/libgit2/src/libgit2/transports/auth_sspi.c +2 -0
  351. data/vendor/libgit2/src/libgit2/transports/credential.c +2 -2
  352. data/vendor/libgit2/src/libgit2/transports/git.c +1 -1
  353. data/vendor/libgit2/src/libgit2/transports/http.c +5 -6
  354. data/vendor/libgit2/src/libgit2/transports/http.h +0 -10
  355. data/vendor/libgit2/src/libgit2/transports/httpclient.c +124 -81
  356. data/vendor/libgit2/src/libgit2/transports/httpparser.c +128 -0
  357. data/vendor/libgit2/src/libgit2/transports/httpparser.h +99 -0
  358. data/vendor/libgit2/src/libgit2/transports/local.c +16 -8
  359. data/vendor/libgit2/src/libgit2/transports/smart.c +25 -13
  360. data/vendor/libgit2/src/libgit2/transports/smart.h +4 -2
  361. data/vendor/libgit2/src/libgit2/transports/smart_pkt.c +7 -6
  362. data/vendor/libgit2/src/libgit2/transports/smart_protocol.c +55 -10
  363. data/vendor/libgit2/src/libgit2/transports/ssh.c +41 -1103
  364. data/vendor/libgit2/src/libgit2/transports/ssh_exec.c +386 -0
  365. data/vendor/libgit2/src/libgit2/transports/ssh_exec.h +26 -0
  366. data/vendor/libgit2/src/libgit2/transports/ssh_libssh2.c +1132 -0
  367. data/vendor/libgit2/src/libgit2/transports/ssh_libssh2.h +28 -0
  368. data/vendor/libgit2/src/libgit2/transports/winhttp.c +35 -7
  369. data/vendor/libgit2/src/libgit2/tree.c +34 -26
  370. data/vendor/libgit2/src/libgit2/tree.h +3 -2
  371. data/vendor/libgit2/src/libgit2/worktree.c +14 -17
  372. data/vendor/libgit2/src/util/CMakeLists.txt +7 -10
  373. data/vendor/libgit2/src/util/alloc.c +4 -1
  374. data/vendor/libgit2/src/util/allocators/debugalloc.c +73 -0
  375. data/vendor/libgit2/src/{cli/cli.h → util/allocators/debugalloc.h} +6 -9
  376. data/vendor/libgit2/src/util/allocators/stdalloc.c +0 -10
  377. data/vendor/libgit2/src/util/array.h +18 -17
  378. data/vendor/libgit2/src/util/cc-compat.h +2 -0
  379. data/vendor/libgit2/src/util/ctype_compat.h +70 -0
  380. data/vendor/libgit2/src/util/date.c +22 -14
  381. data/vendor/libgit2/src/util/date.h +12 -0
  382. data/vendor/libgit2/src/util/errors.c +401 -0
  383. data/vendor/libgit2/src/{libgit2 → util}/errors.h +21 -17
  384. data/vendor/libgit2/src/util/fs_path.c +81 -10
  385. data/vendor/libgit2/src/util/fs_path.h +39 -10
  386. data/vendor/libgit2/src/util/futils.c +6 -5
  387. data/vendor/libgit2/src/util/futils.h +24 -7
  388. data/vendor/libgit2/src/util/git2_features.h.in +12 -1
  389. data/vendor/libgit2/src/util/git2_util.h +6 -0
  390. data/vendor/libgit2/src/util/hash/builtin.c +14 -4
  391. data/vendor/libgit2/src/util/hash/openssl.c +148 -0
  392. data/vendor/libgit2/src/util/hash/openssl.h +17 -1
  393. data/vendor/libgit2/src/util/hash/rfc6234/sha224-256.c +8 -6
  394. data/vendor/libgit2/src/util/hash/sha.h +4 -1
  395. data/vendor/libgit2/src/util/hashmap.h +425 -0
  396. data/vendor/libgit2/src/util/hashmap_str.h +43 -0
  397. data/vendor/libgit2/src/util/integer.h +3 -1
  398. data/vendor/libgit2/src/util/net.c +17 -11
  399. data/vendor/libgit2/src/util/net.h +2 -0
  400. data/vendor/libgit2/src/util/pool.c +1 -1
  401. data/vendor/libgit2/src/util/pool.h +5 -0
  402. data/vendor/libgit2/src/util/pqueue.h +1 -1
  403. data/vendor/libgit2/src/util/process.h +223 -0
  404. data/vendor/libgit2/src/util/rand.c +1 -7
  405. data/vendor/libgit2/src/util/regexp.c +28 -13
  406. data/vendor/libgit2/src/util/regexp.h +7 -2
  407. data/vendor/libgit2/src/util/runtime.c +2 -2
  408. data/vendor/libgit2/src/util/sortedcache.c +14 -13
  409. data/vendor/libgit2/src/util/sortedcache.h +3 -3
  410. data/vendor/libgit2/src/util/str.c +20 -8
  411. data/vendor/libgit2/src/util/str.h +5 -3
  412. data/vendor/libgit2/src/util/strlist.c +108 -0
  413. data/vendor/libgit2/src/util/strlist.h +36 -0
  414. data/vendor/libgit2/src/util/unix/posix.h +0 -2
  415. data/vendor/libgit2/src/util/unix/process.c +706 -0
  416. data/vendor/libgit2/src/util/unix/realpath.c +23 -5
  417. data/vendor/libgit2/src/util/util.c +18 -5
  418. data/vendor/libgit2/src/util/util.h +5 -38
  419. data/vendor/libgit2/src/util/vector.c +3 -3
  420. data/vendor/libgit2/src/util/vector.h +2 -2
  421. data/vendor/libgit2/src/util/win32/path_w32.c +81 -5
  422. data/vendor/libgit2/src/util/win32/posix_w32.c +29 -6
  423. data/vendor/libgit2/src/util/win32/process.c +522 -0
  424. metadata +102 -67
  425. data/vendor/libgit2/deps/http-parser/CMakeLists.txt +0 -6
  426. data/vendor/libgit2/deps/http-parser/COPYING +0 -23
  427. data/vendor/libgit2/deps/http-parser/http_parser.c +0 -2182
  428. data/vendor/libgit2/deps/http-parser/http_parser.h +0 -305
  429. data/vendor/libgit2/deps/pcre/CMakeLists.txt +0 -140
  430. data/vendor/libgit2/deps/pcre/COPYING +0 -5
  431. data/vendor/libgit2/deps/pcre/LICENCE +0 -93
  432. data/vendor/libgit2/deps/pcre/cmake/COPYING-CMAKE-SCRIPTS +0 -22
  433. data/vendor/libgit2/deps/pcre/cmake/FindEditline.cmake +0 -17
  434. data/vendor/libgit2/deps/pcre/cmake/FindPackageHandleStandardArgs.cmake +0 -58
  435. data/vendor/libgit2/deps/pcre/cmake/FindReadline.cmake +0 -29
  436. data/vendor/libgit2/deps/pcre/config.h.in +0 -57
  437. data/vendor/libgit2/deps/pcre/pcre.h +0 -641
  438. data/vendor/libgit2/deps/pcre/pcre_byte_order.c +0 -319
  439. data/vendor/libgit2/deps/pcre/pcre_compile.c +0 -9815
  440. data/vendor/libgit2/deps/pcre/pcre_config.c +0 -190
  441. data/vendor/libgit2/deps/pcre/pcre_exec.c +0 -7173
  442. data/vendor/libgit2/deps/pcre/pcre_fullinfo.c +0 -245
  443. data/vendor/libgit2/deps/pcre/pcre_get.c +0 -669
  444. data/vendor/libgit2/deps/pcre/pcre_globals.c +0 -86
  445. data/vendor/libgit2/deps/pcre/pcre_internal.h +0 -2787
  446. data/vendor/libgit2/deps/pcre/pcre_jit_compile.c +0 -11913
  447. data/vendor/libgit2/deps/pcre/pcre_maketables.c +0 -156
  448. data/vendor/libgit2/deps/pcre/pcre_printint.c +0 -834
  449. data/vendor/libgit2/deps/pcre/pcre_string_utils.c +0 -211
  450. data/vendor/libgit2/deps/pcre/pcre_study.c +0 -1686
  451. data/vendor/libgit2/deps/pcre/pcre_tables.c +0 -727
  452. data/vendor/libgit2/deps/pcre/pcre_ucd.c +0 -3644
  453. data/vendor/libgit2/deps/pcre/pcre_valid_utf8.c +0 -301
  454. data/vendor/libgit2/deps/pcre/pcre_version.c +0 -98
  455. data/vendor/libgit2/deps/pcre/pcre_xclass.c +0 -268
  456. data/vendor/libgit2/deps/pcre/pcreposix.c +0 -420
  457. data/vendor/libgit2/deps/pcre/pcreposix.h +0 -117
  458. data/vendor/libgit2/deps/pcre/ucp.h +0 -224
  459. data/vendor/libgit2/deps/zlib/COPYING +0 -27
  460. data/vendor/libgit2/include/git2/sys/reflog.h +0 -21
  461. data/vendor/libgit2/src/libgit2/config_entries.c +0 -237
  462. data/vendor/libgit2/src/libgit2/config_entries.h +0 -24
  463. data/vendor/libgit2/src/libgit2/errors.c +0 -293
  464. data/vendor/libgit2/src/libgit2/idxmap.c +0 -157
  465. data/vendor/libgit2/src/libgit2/idxmap.h +0 -177
  466. data/vendor/libgit2/src/libgit2/libgit2.h +0 -15
  467. data/vendor/libgit2/src/libgit2/offmap.c +0 -101
  468. data/vendor/libgit2/src/libgit2/offmap.h +0 -133
  469. data/vendor/libgit2/src/libgit2/oidmap.c +0 -107
  470. data/vendor/libgit2/src/libgit2/oidmap.h +0 -128
  471. data/vendor/libgit2/src/libgit2/threadstate.c +0 -97
  472. data/vendor/libgit2/src/libgit2/threadstate.h +0 -22
  473. data/vendor/libgit2/src/libgit2/transports/ssh.h +0 -14
  474. data/vendor/libgit2/src/util/khash.h +0 -615
  475. data/vendor/libgit2/src/util/strmap.c +0 -100
  476. data/vendor/libgit2/src/util/strmap.h +0 -131
  477. /data/vendor/libgit2/cmake/{FindHTTPParser.cmake → FindHTTP_Parser.cmake} +0 -0
@@ -6,7 +6,7 @@
6
6
 
7
7
  cmake_minimum_required(VERSION 3.5.1)
8
8
 
9
- project(libgit2 VERSION "1.7.2" LANGUAGES C)
9
+ project(libgit2 VERSION "1.9.6" LANGUAGES C)
10
10
 
11
11
  # Add find modules to the path
12
12
  set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${PROJECT_SOURCE_DIR}/cmake")
@@ -30,14 +30,14 @@ option(USE_THREADS "Use threads for parallel processing when possibl
30
30
  option(USE_NSEC "Support nanosecond precision file mtimes and ctimes" ON)
31
31
 
32
32
  # Backend selection
33
- option(USE_SSH "Link with libssh2 to enable SSH support" OFF)
34
- option(USE_HTTPS "Enable HTTPS support. Can be set to a specific backend" ON)
35
- option(USE_SHA1 "Enable SHA1. Can be set to CollisionDetection(ON)/HTTPS" ON)
36
- option(USE_SHA256 "Enable SHA256. Can be set to HTTPS/Builtin" ON)
37
- option(USE_GSSAPI "Link with libgssapi for SPNEGO auth" OFF)
38
- set(USE_HTTP_PARSER "" CACHE STRING "Specifies the HTTP Parser implementation; either system or builtin.")
33
+ set(USE_SSH "" CACHE STRING "Enables SSH support and optionally selects provider. One of ON, OFF, or a specific provider: libssh2 or exec. (Defaults to OFF.)")
34
+ set(USE_HTTPS "" CACHE STRING "Enable HTTPS support and optionally selects the provider. One of ON, OFF, or a specific provider: OpenSSL, OpenSSL-FIPS, OpenSSL-Dynamic, mbedTLS, SecureTransport, Schannel, or WinHTTP. (Defaults to ON.)")
35
+ set(USE_SHA1 "" CACHE STRING "Selects SHA1 provider. One of CollisionDetection, HTTPS, or a specific provider. (Defaults to CollisionDetection.)")
36
+ set(USE_SHA256 "" CACHE STRING "Selects SHA256 provider. One of Builtin, HTTPS, or a specific provider. (Defaults to HTTPS.)")
37
+ option(USE_GSSAPI "Enable SPNEGO authentication using GSSAPI" OFF)
38
+ set(USE_HTTP_PARSER "" CACHE STRING "Selects HTTP Parser support: http-parser, llhttp, or builtin. (Defaults to builtin.)")
39
39
  # set(USE_XDIFF "" CACHE STRING "Specifies the xdiff implementation; either system or builtin.")
40
- set(REGEX_BACKEND "" CACHE STRING "Regular expression implementation. One of regcomp_l, pcre2, pcre, regcomp, or builtin.")
40
+ set(REGEX_BACKEND "" CACHE STRING "Selects regex provider. One of regcomp_l, pcre2, pcre, regcomp, or builtin.")
41
41
  option(USE_BUNDLED_ZLIB "Use the bundled version of zlib. Can be set to one of Bundled(ON)/Chromium. The Chromium option requires a x86_64 processor with SSE4.2 and CLMUL" OFF)
42
42
 
43
43
  # Debugging options
@@ -53,11 +53,18 @@ option(SONAME "Set the (SO)VERSION of the target"
53
53
  option(DEPRECATE_HARD "Do not include deprecated functions in the library" OFF)
54
54
 
55
55
  # Compilation options
56
+ # Default to c99 on Android Studio for compatibility; c90 everywhere else
57
+ if("${CMAKE_SYSTEM_NAME}" STREQUAL "Android")
58
+ set(CMAKE_C_STANDARD "99" CACHE STRING "The C standard to compile against")
59
+ else()
60
+ set(CMAKE_C_STANDARD "90" CACHE STRING "The C standard to compile against")
61
+ endif()
62
+ option(CMAKE_C_EXTENSIONS "Whether compiler extensions are supported" OFF)
56
63
  option(ENABLE_WERROR "Enable compilation with -Werror" OFF)
57
64
 
58
65
  if(UNIX)
59
66
  # NTLM client requires crypto libraries from the system HTTPS stack
60
- if(NOT USE_HTTPS)
67
+ if(USE_HTTPS STREQUAL "OFF")
61
68
  option(USE_NTLMCLIENT "Enable NTLM support on Unix." OFF)
62
69
  else()
63
70
  option(USE_NTLMCLIENT "Enable NTLM support on Unix." ON)
@@ -90,6 +97,7 @@ endif()
90
97
 
91
98
  # Modules
92
99
 
100
+ include(FeatureSummary)
93
101
  include(CheckLibraryExists)
94
102
  include(CheckFunctionExists)
95
103
  include(CheckSymbolExists)
@@ -102,7 +110,6 @@ include(FindStatNsec)
102
110
  include(Findfutimens)
103
111
  include(GNUInstallDirs)
104
112
  include(IdeSplitSources)
105
- include(FeatureSummary)
106
113
  include(EnableWarnings)
107
114
  include(DefaultCFlags)
108
115
  include(ExperimentalFeatures)
@@ -143,3 +150,9 @@ endif()
143
150
 
144
151
  feature_summary(WHAT ENABLED_FEATURES DESCRIPTION "Enabled features:")
145
152
  feature_summary(WHAT DISABLED_FEATURES DESCRIPTION "Disabled features:")
153
+
154
+ # warn for not using sha1dc
155
+
156
+ foreach(WARNING ${WARNINGS})
157
+ message(WARNING ${WARNING})
158
+ endforeach()
@@ -365,7 +365,7 @@ Public License instead of this License.
365
365
 
366
366
  The bundled ZLib code is licensed under the ZLib license:
367
367
 
368
- Copyright (C) 1995-2010 Jean-loup Gailly and Mark Adler
368
+ (C) 1995-2022 Jean-loup Gailly and Mark Adler
369
369
 
370
370
  This software is provided 'as-is', without any express or implied
371
371
  warranty. In no event will the authors be held liable for any damages
@@ -406,23 +406,85 @@ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
406
406
 
407
407
  ----------------------------------------------------------------------
408
408
 
409
- The bundled PCRE implementation (deps/pcre/) is licensed under the BSD
410
- license.
409
+ The bundled PCRE implementation (deps/pcre2/) is licensed under the
410
+ PCRE2 Licence.
411
+
412
+ PCRE2 is a library of functions to support regular expressions whose syntax
413
+ and semantics are as close as possible to those of the Perl 5 language.
414
+
415
+ Releases 10.00 and above of PCRE2 are distributed under the terms of the "BSD"
416
+ licence, as specified below, with one exemption for certain binary
417
+ redistributions. The documentation for PCRE2, supplied in the "doc" directory,
418
+ is distributed under the same terms as the software itself. The data in the
419
+ testdata directory is not copyrighted and is in the public domain.
420
+
421
+ The basic library functions are written in C and are freestanding. Also
422
+ included in the distribution is a just-in-time compiler that can be used to
423
+ optimize pattern matching. This is an optional feature that can be omitted when
424
+ the library is built. The just-in-time compiler is separately licensed under the
425
+ "2-clause BSD" licence.
426
+
427
+
428
+ COPYRIGHT
429
+ ---------
430
+
431
+ ### The basic library functions
432
+
433
+ Written by: Philip Hazel
434
+ Email local part: Philip.Hazel
435
+ Email domain: gmail.com
436
+
437
+ Retired from University of Cambridge Computing Service,
438
+ Cambridge, England.
439
+
440
+ Copyright (c) 1997-2007 University of Cambridge
441
+ Copyright (c) 2007-2024 Philip Hazel
442
+ All rights reserved.
443
+
444
+ ### PCRE2 Just-In-Time compilation support
445
+
446
+ Written by: Zoltan Herczeg
447
+ Email local part: hzmester
448
+ Email domain: freemail.hu
449
+
450
+ Copyright (c) 2010-2024 Zoltan Herczeg
451
+ All rights reserved.
452
+
453
+ ### Stack-less Just-In-Time compiler
454
+
455
+ Written by: Zoltan Herczeg
456
+ Email local part: hzmester
457
+ Email domain: freemail.hu
458
+
459
+ Copyright (c) 2009-2024 Zoltan Herczeg
460
+ All rights reserved.
461
+
462
+ The code in the `deps/sljit` directory has its own LICENSE file.
463
+
464
+ ### All other contributions
465
+
466
+ Many other contributors have participated in the authorship of PCRE2. As PCRE2
467
+ has never required a Contributor Licensing Agreement, or other copyright
468
+ assignment agreement, all contributions have copyright retained by each
469
+ original contributor or their employer.
470
+
471
+
472
+ THE "BSD" LICENCE
473
+ -----------------
411
474
 
412
475
  Redistribution and use in source and binary forms, with or without
413
476
  modification, are permitted provided that the following conditions are met:
414
477
 
415
- * Redistributions of source code must retain the above copyright notice,
416
- this list of conditions and the following disclaimer.
478
+ * Redistributions of source code must retain the above copyright notices,
479
+ this list of conditions and the following disclaimer.
417
480
 
418
- * Redistributions in binary form must reproduce the above copyright
419
- notice, this list of conditions and the following disclaimer in the
420
- documentation and/or other materials provided with the distribution.
481
+ * Redistributions in binary form must reproduce the above copyright
482
+ notices, this list of conditions and the following disclaimer in the
483
+ documentation and/or other materials provided with the distribution.
421
484
 
422
- * Neither the name of the University of Cambridge nor the name of Google
423
- Inc. nor the names of their contributors may be used to endorse or
424
- promote products derived from this software without specific prior
425
- written permission.
485
+ * Neither the name of the University of Cambridge nor the names of any
486
+ contributors may be used to endorse or promote products derived from this
487
+ software without specific prior written permission.
426
488
 
427
489
  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
428
490
  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
@@ -436,6 +498,16 @@ CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
436
498
  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
437
499
  POSSIBILITY OF SUCH DAMAGE.
438
500
 
501
+
502
+ EXEMPTION FOR BINARY LIBRARY-LIKE PACKAGES
503
+ ------------------------------------------
504
+
505
+ The second condition in the BSD licence (covering binary redistributions) does
506
+ not apply all the way down a chain of software. If binary package A includes
507
+ PCRE2, it must respect the condition, but if package B is software that
508
+ includes package A, the condition is not imposed on package B unless it uses
509
+ PCRE2 independently.
510
+
439
511
  ----------------------------------------------------------------------
440
512
 
441
513
  The bundled winhttp definition files (deps/winhttp/) are licensed under
@@ -1214,3 +1286,197 @@ AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
1214
1286
  OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
1215
1287
  OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
1216
1288
  SUCH DAMAGE.
1289
+
1290
+ ----------------------------------------------------------------------
1291
+
1292
+ The bundled ntlmclient code is licensed under the MIT license:
1293
+
1294
+ Copyright (c) Edward Thomson. All rights reserved.
1295
+
1296
+ Permission is hereby granted, free of charge, to any person obtaining a
1297
+ copy of this software and associated documentation files (the "Software"),
1298
+ to deal in the Software without restriction, including without limitation
1299
+ the rights to use, copy, modify, merge, publish, distribute, sublicense,
1300
+ and/or sell copies of the Software, and to permit persons to whom the
1301
+ Software is furnished to do so, subject to the following conditions:
1302
+
1303
+ The above copyright notice and this permission notice shall be included
1304
+ in all copies or substantial portions of the Software.
1305
+
1306
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
1307
+ OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1308
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
1309
+ THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
1310
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
1311
+ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
1312
+ DEALINGS IN THE SOFTWARE.
1313
+
1314
+ ----------------------------------------------------------------------
1315
+
1316
+ Portions of this software derived from Team Explorer Everywhere:
1317
+
1318
+ Copyright (c) Microsoft Corporation
1319
+
1320
+ All rights reserved.
1321
+
1322
+ Permission is hereby granted, free of charge, to any person obtaining a
1323
+ copy of this software and associated documentation files (the "Software"),
1324
+ to deal in the Software without restriction, including without limitation
1325
+ the rights to use, copy, modify, merge, publish, distribute, sublicense,
1326
+ and/or sell copies of the Software, and to permit persons to whom the
1327
+ Software is furnished to do so, subject to the following conditions:
1328
+
1329
+ The above copyright notice and this permission notice shall be included
1330
+ in all copies or substantial portions of the Software.
1331
+
1332
+ THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS
1333
+ OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1334
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
1335
+ THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
1336
+ OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
1337
+ ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
1338
+ OTHER DEALINGS IN THE SOFTWARE.
1339
+
1340
+ ---------------------------------------------------------------------------
1341
+
1342
+ Portions of this software derived from the LLVM Compiler Infrastructure:
1343
+
1344
+ Copyright (c) 2003-2016 University of Illinois at Urbana-Champaign.
1345
+ All rights reserved.
1346
+
1347
+ Developed by:
1348
+
1349
+ LLVM Team
1350
+
1351
+ University of Illinois at Urbana-Champaign
1352
+
1353
+ http://llvm.org
1354
+
1355
+ Permission is hereby granted, free of charge, to any person obtaining a copy of
1356
+ this software and associated documentation files (the "Software"), to deal with
1357
+ the Software without restriction, including without limitation the rights to
1358
+ use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
1359
+ of the Software, and to permit persons to whom the Software is furnished to do
1360
+ so, subject to the following conditions:
1361
+
1362
+ * Redistributions of source code must retain the above copyright notice,
1363
+ this list of conditions and the following disclaimers.
1364
+
1365
+ * Redistributions in binary form must reproduce the above copyright notice,
1366
+ this list of conditions and the following disclaimers in the
1367
+ documentation and/or other materials provided with the distribution.
1368
+
1369
+ * Neither the names of the LLVM Team, University of Illinois at
1370
+ Urbana-Champaign, nor the names of its contributors may be used to
1371
+ endorse or promote products derived from this Software without specific
1372
+ prior written permission.
1373
+
1374
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1375
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
1376
+ FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
1377
+ CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
1378
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
1379
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE
1380
+ SOFTWARE.
1381
+
1382
+ ---------------------------------------------------------------------------
1383
+
1384
+ Portions of this software derived from Unicode, Inc:
1385
+
1386
+ Copyright 2001-2004 Unicode, Inc.
1387
+
1388
+ Disclaimer
1389
+
1390
+ This source code is provided as is by Unicode, Inc. No claims are
1391
+ made as to fitness for any particular purpose. No warranties of any
1392
+ kind are expressed or implied. The recipient agrees to determine
1393
+ applicability of information provided. If this file has been
1394
+ purchased on magnetic or optical media from Unicode, Inc., the
1395
+ sole remedy for any claim will be exchange of defective media
1396
+ within 90 days of receipt.
1397
+
1398
+ Limitations on Rights to Redistribute This Code
1399
+
1400
+ Unicode, Inc. hereby grants the right to freely use the information
1401
+ supplied in this file in the creation of products supporting the
1402
+ Unicode Standard, and to make copies of this file in any form
1403
+ for internal or external distribution as long as this notice
1404
+ remains attached.
1405
+
1406
+ ---------------------------------------------------------------------------
1407
+
1408
+ Portions of this software derived from sheredom/utf8.h:
1409
+
1410
+ This is free and unencumbered software released into the public domain.
1411
+
1412
+ Anyone is free to copy, modify, publish, use, compile, sell, or
1413
+ distribute this software, either in source code form or as a compiled
1414
+ binary, for any purpose, commercial or non-commercial, and by any
1415
+ means.
1416
+
1417
+ In jurisdictions that recognize copyright laws, the author or authors
1418
+ of this software dedicate any and all copyright interest in the
1419
+ software to the public domain. We make this dedication for the benefit
1420
+ of the public at large and to the detriment of our heirs and
1421
+ successors. We intend this dedication to be an overt act of
1422
+ relinquishment in perpetuity of all present and future rights to this
1423
+ software under copyright law.
1424
+
1425
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
1426
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
1427
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
1428
+ IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
1429
+ OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
1430
+ ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
1431
+ OTHER DEALINGS IN THE SOFTWARE.
1432
+
1433
+ For more information, please refer to <http://unlicense.org/>
1434
+
1435
+ ---------------------------------------------------------------------------
1436
+
1437
+ Portions of this software derived from RFC 1320:
1438
+
1439
+ Copyright (C) 1990-2, RSA Data Security, Inc. All rights reserved.
1440
+
1441
+ License to copy and use this software is granted provided that it
1442
+ is identified as the "RSA Data Security, Inc. MD4 Message-Digest
1443
+ Algorithm" in all material mentioning or referencing this software
1444
+ or this function.
1445
+
1446
+ License is also granted to make and use derivative works provided
1447
+ that such works are identified as "derived from the RSA Data
1448
+ Security, Inc. MD4 Message-Digest Algorithm" in all material
1449
+ mentioning or referencing the derived work.
1450
+
1451
+ RSA Data Security, Inc. makes no representations concerning either
1452
+ the merchantability of this software or the suitability of this
1453
+ software for any particular purpose. It is provided "as is"
1454
+ without express or implied warranty of any kind.
1455
+
1456
+ These notices must be retained in any copies of any part of this
1457
+ documentation and/or software.
1458
+
1459
+ ----------------------------------------------------------------------
1460
+
1461
+ The bundled llhttp dependency is licensed under the MIT license:
1462
+
1463
+ Copyright Fedor Indutny, 2018.
1464
+
1465
+ Permission is hereby granted, free of charge, to any person obtaining a
1466
+ copy of this software and associated documentation files (the
1467
+ "Software"), to deal in the Software without restriction, including
1468
+ without limitation the rights to use, copy, modify, merge, publish,
1469
+ distribute, sublicense, and/or sell copies of the Software, and to permit
1470
+ persons to whom the Software is furnished to do so, subject to the
1471
+ following conditions:
1472
+
1473
+ The above copyright notice and this permission notice shall be included
1474
+ in all copies or substantial portions of the Software.
1475
+
1476
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
1477
+ OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
1478
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
1479
+ NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
1480
+ DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
1481
+ OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
1482
+ USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -13,6 +13,9 @@ if(MSVC)
13
13
  # /Gd - explicitly set cdecl calling convention
14
14
  set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /Gd")
15
15
 
16
+ # Remove warnings about operands that use different enum types.
17
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /wd5287")
18
+
16
19
  if(NOT (MSVC_VERSION LESS 1900))
17
20
  # /guard:cf - Enable Control Flow Guard
18
21
  set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /guard:cf")
@@ -56,7 +59,7 @@ if(MSVC)
56
59
  set(CMAKE_C_FLAGS_MINSIZEREL "/DNDEBUG /O1 /Oy /GL /Gy ${CRT_FLAG_RELEASE}")
57
60
 
58
61
  # /IGNORE:4221 - Ignore empty compilation units
59
- set(CMAKE_STATIC_LINKER_FLAGS "/IGNORE:4221")
62
+ set(CMAKE_STATIC_LINKER_FLAGS "${CMAKE_STATIC_LINKER_FLAGS} /IGNORE:4221")
60
63
 
61
64
  # /DYNAMICBASE - Address space load randomization (ASLR)
62
65
  # /NXCOMPAT - Data execution prevention (DEP)
@@ -109,9 +112,11 @@ else()
109
112
 
110
113
  if(MINGW OR MSYS) # MinGW and MSYS always do PIC and complain if we tell them to
111
114
  string(REGEX REPLACE "-fPIC" "" CMAKE_SHARED_LIBRARY_C_FLAGS "${CMAKE_SHARED_LIBRARY_C_FLAGS}")
112
- elseif(BUILD_SHARED_LIBS)
113
- add_c_flag_IF_SUPPORTED(-fvisibility=hidden)
115
+ else()
116
+ add_c_flag_if_supported(-fvisibility=hidden)
117
+ endif()
114
118
 
119
+ if(BUILD_SHARED_LIBS)
115
120
  set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC")
116
121
  endif()
117
122
 
@@ -15,6 +15,12 @@ find_path(ICONV_INCLUDE_DIR iconv.h)
15
15
  check_function_exists(iconv_open libc_has_iconv)
16
16
  find_library(iconv_lib NAMES iconv libiconv libiconv-2 c)
17
17
 
18
+ # workaround the iOS issue where iconv is provided by libc
19
+ # We set it to false to force it add -liconv to the linker flags
20
+ if(CMAKE_SYSTEM_NAME MATCHES "iOS")
21
+ set(libc_has_iconv FALSE)
22
+ endif()
23
+
18
24
  if(ICONV_INCLUDE_DIR AND libc_has_iconv)
19
25
  set(ICONV_FOUND TRUE)
20
26
  set(ICONV_LIBRARIES "")
@@ -0,0 +1,39 @@
1
+ # - Try to find llhttp
2
+ #
3
+ # Defines the following variables:
4
+ #
5
+ # LLHTTP_FOUND - system has llhttp
6
+ # LLHTTP_INCLUDE_DIR - the llhttp include directory
7
+ # LLHTTP_LIBRARIES - Link these to use llhttp
8
+ # LLHTTP_VERSION_MAJOR - major version
9
+ # LLHTTP_VERSION_MINOR - minor version
10
+ # LLHTTP_VERSION_STRING - the version of llhttp found
11
+
12
+ # Find the header and library
13
+ find_path(LLHTTP_INCLUDE_DIR NAMES llhttp.h)
14
+ find_library(LLHTTP_LIBRARY NAMES llhttp libllhttp)
15
+
16
+ # Found the header, read version
17
+ if(LLHTTP_INCLUDE_DIR AND EXISTS "${LLHTTP_INCLUDE_DIR}/llhttp.h")
18
+ file(READ "${LLHTTP_INCLUDE_DIR}/llhttp.h" LLHTTP_H)
19
+ if(LLHTTP_H)
20
+ string(REGEX REPLACE ".*#define[\t ]+LLHTTP_VERSION_MAJOR[\t ]+([0-9]+).*" "\\1" LLHTTP_VERSION_MAJOR "${LLHTTP_H}")
21
+ string(REGEX REPLACE ".*#define[\t ]+LLHTTP_VERSION_MINOR[\t ]+([0-9]+).*" "\\1" LLHTTP_VERSION_MINOR "${LLHTTP_H}")
22
+ set(LLHTTP_VERSION_STRING "${LLHTTP_VERSION_MAJOR}.${LLHTTP_VERSION_MINOR}")
23
+ endif()
24
+ unset(LLHTTP_H)
25
+ endif()
26
+
27
+ # Handle the QUIETLY and REQUIRED arguments and set LLHTTP_FOUND
28
+ # to TRUE if all listed variables are TRUE
29
+ include(FindPackageHandleStandardArgs)
30
+ find_package_handle_standard_args(LLHTTP REQUIRED_VARS LLHTTP_INCLUDE_DIR LLHTTP_LIBRARY)
31
+
32
+ # Hide advanced variables
33
+ mark_as_advanced(LLHTTP_INCLUDE_DIR LLHTTP_LIBRARY)
34
+
35
+ # Set standard variables
36
+ if(LLHTTP_FOUND)
37
+ set(LLHTTP_LIBRARIES ${LLHTTP_LIBRARY})
38
+ set(LLHTTP_INCLUDE_DIRS ${LLHTTP_INCLUDE_DIR})
39
+ endif()
@@ -2,7 +2,7 @@ include(SanitizeBool)
2
2
 
3
3
  # We try to find any packages our backends might use
4
4
  find_package(GSSAPI)
5
- if(CMAKE_SYSTEM_NAME MATCHES "Darwin")
5
+ if(CMAKE_SYSTEM_NAME MATCHES "Darwin" OR CMAKE_SYSTEM_NAME MATCHES "iOS")
6
6
  include(FindGSSFramework)
7
7
  endif()
8
8
 
@@ -1,19 +1,34 @@
1
1
  # Optional external dependency: http-parser
2
- if(USE_HTTP_PARSER STREQUAL "system")
3
- find_package(HTTPParser)
2
+ if(USE_HTTP_PARSER STREQUAL "http-parser" OR USE_HTTP_PARSER STREQUAL "system")
3
+ find_package(HTTP_Parser)
4
4
 
5
5
  if(HTTP_PARSER_FOUND AND HTTP_PARSER_VERSION_MAJOR EQUAL 2)
6
6
  list(APPEND LIBGIT2_SYSTEM_INCLUDES ${HTTP_PARSER_INCLUDE_DIRS})
7
7
  list(APPEND LIBGIT2_SYSTEM_LIBS ${HTTP_PARSER_LIBRARIES})
8
8
  list(APPEND LIBGIT2_PC_LIBS "-lhttp_parser")
9
- add_feature_info(http-parser ON "http-parser support (system)")
9
+ set(GIT_HTTPPARSER_HTTPPARSER 1)
10
+ add_feature_info(http-parser ON "using http-parser (system)")
10
11
  else()
11
12
  message(FATAL_ERROR "http-parser support was requested but not found")
12
13
  endif()
14
+ elseif(USE_HTTP_PARSER STREQUAL "llhttp")
15
+ find_package(LLHTTP)
16
+
17
+ if(LLHTTP_FOUND AND LLHTTP_VERSION_MAJOR EQUAL 9)
18
+ list(APPEND LIBGIT2_SYSTEM_INCLUDES ${LLHTTP_INCLUDE_DIRS})
19
+ list(APPEND LIBGIT2_SYSTEM_LIBS ${LLHTTP_LIBRARIES})
20
+ list(APPEND LIBGIT2_PC_LIBS "-lllhttp")
21
+ set(GIT_HTTPPARSER_LLHTTP 1)
22
+ add_feature_info(http-parser ON "using llhttp (system)")
23
+ else()
24
+ message(FATAL_ERROR "llhttp support was requested but not found")
25
+ endif()
26
+ elseif(USE_HTTP_PARSER STREQUAL "" OR USE_HTTP_PARSER STREQUAL "builtin")
27
+ add_subdirectory("${PROJECT_SOURCE_DIR}/deps/llhttp" "${PROJECT_BINARY_DIR}/deps/llhttp")
28
+ list(APPEND LIBGIT2_DEPENDENCY_INCLUDES "${PROJECT_SOURCE_DIR}/deps/llhttp")
29
+ list(APPEND LIBGIT2_DEPENDENCY_OBJECTS "$<TARGET_OBJECTS:llhttp>")
30
+ set(GIT_HTTPPARSER_BUILTIN 1)
31
+ add_feature_info(http-parser ON "using bundled parser")
13
32
  else()
14
- message(STATUS "http-parser version 2 was not found or disabled; using bundled 3rd-party sources.")
15
- add_subdirectory("${PROJECT_SOURCE_DIR}/deps/http-parser" "${PROJECT_BINARY_DIR}/deps/http-parser")
16
- list(APPEND LIBGIT2_DEPENDENCY_INCLUDES "${PROJECT_SOURCE_DIR}/deps/http-parser")
17
- list(APPEND LIBGIT2_DEPENDENCY_OBJECTS "$<TARGET_OBJECTS:http-parser>")
18
- add_feature_info(http-parser ON "http-parser support (bundled)")
33
+ message(FATAL_ERROR "unknown http-parser: ${USE_HTTP_PARSER}")
19
34
  endif()
@@ -3,14 +3,19 @@ include(SanitizeBool)
3
3
  # We try to find any packages our backends might use
4
4
  find_package(OpenSSL)
5
5
  find_package(mbedTLS)
6
- if(CMAKE_SYSTEM_NAME MATCHES "Darwin")
6
+ if(CMAKE_SYSTEM_NAME MATCHES "Darwin" OR CMAKE_SYSTEM_NAME MATCHES "iOS")
7
7
  find_package(Security)
8
8
  find_package(CoreFoundation)
9
9
  endif()
10
10
 
11
+ if(USE_HTTPS STREQUAL "")
12
+ set(USE_HTTPS ON)
13
+ endif()
14
+
15
+ sanitizebool(USE_HTTPS)
16
+
11
17
  if(USE_HTTPS)
12
18
  # Auto-select TLS backend
13
- sanitizebool(USE_HTTPS)
14
19
  if(USE_HTTPS STREQUAL ON)
15
20
  if(SECURITY_FOUND)
16
21
  if(SECURITY_HAS_SSLCREATECONTEXT)
@@ -55,6 +60,10 @@ if(USE_HTTPS)
55
60
  set(GIT_OPENSSL 1)
56
61
  list(APPEND LIBGIT2_SYSTEM_INCLUDES ${OPENSSL_INCLUDE_DIR})
57
62
  list(APPEND LIBGIT2_SYSTEM_LIBS ${OPENSSL_LIBRARIES})
63
+ # Static OpenSSL (lib crypto.a) requires libdl, include it explicitly
64
+ if(LINK_WITH_STATIC_LIBRARIES STREQUAL ON)
65
+ list(APPEND LIBGIT2_SYSTEM_LIBS ${CMAKE_DL_LIBS})
66
+ endif()
58
67
  list(APPEND LIBGIT2_PC_LIBS ${OPENSSL_LDFLAGS})
59
68
  list(APPEND LIBGIT2_PC_REQUIRES "openssl")
60
69
  elseif(USE_HTTPS STREQUAL "mbedTLS")
@@ -109,8 +118,8 @@ if(USE_HTTPS)
109
118
  elseif(USE_HTTPS STREQUAL "Schannel")
110
119
  set(GIT_SCHANNEL 1)
111
120
 
112
- list(APPEND LIBGIT2_SYSTEM_LIBS "rpcrt4" "crypt32" "ole32" "secur32")
113
- list(APPEND LIBGIT2_PC_LIBS "-lrpcrt4" "-lcrypt32" "-lole32" "-lsecur32")
121
+ list(APPEND LIBGIT2_SYSTEM_LIBS "rpcrt4" "crypt32" "ole32")
122
+ list(APPEND LIBGIT2_PC_LIBS "-lrpcrt4" "-lcrypt32" "-lole32")
114
123
  elseif(USE_HTTPS STREQUAL "WinHTTP")
115
124
  set(GIT_WINHTTP 1)
116
125
 
@@ -125,19 +134,19 @@ if(USE_HTTPS)
125
134
  list(APPEND LIBGIT2_PC_LIBS "-lwinhttp")
126
135
  endif()
127
136
 
128
- list(APPEND LIBGIT2_SYSTEM_LIBS "rpcrt4" "crypt32" "ole32" "secur32")
129
- list(APPEND LIBGIT2_PC_LIBS "-lrpcrt4" "-lcrypt32" "-lole32" "-lsecur32")
137
+ list(APPEND LIBGIT2_SYSTEM_LIBS "rpcrt4" "crypt32" "ole32")
138
+ list(APPEND LIBGIT2_PC_LIBS "-lrpcrt4" "-lcrypt32" "-lole32")
130
139
  elseif(USE_HTTPS STREQUAL "OpenSSL-Dynamic")
131
140
  set(GIT_OPENSSL 1)
132
141
  set(GIT_OPENSSL_DYNAMIC 1)
133
142
  list(APPEND LIBGIT2_SYSTEM_LIBS dl)
134
143
  else()
135
- message(FATAL_ERROR "Asked for backend ${USE_HTTPS} but it wasn't found")
144
+ message(FATAL_ERROR "unknown HTTPS backend: ${USE_HTTPS}")
136
145
  endif()
137
146
 
138
147
  set(GIT_HTTPS 1)
139
148
  add_feature_info(HTTPS GIT_HTTPS "using ${USE_HTTPS}")
140
149
  else()
141
150
  set(GIT_HTTPS 0)
142
- add_feature_info(HTTPS NO "")
151
+ add_feature_info(HTTPS NO "HTTPS support is disabled")
143
152
  endif()