rugged 1.3.1 → 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 (656) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +34 -2
  3. data/ext/rugged/extconf.rb +6 -3
  4. data/ext/rugged/rugged.c +16 -0
  5. data/ext/rugged/rugged.h +4 -0
  6. data/ext/rugged/rugged_allocator.c +0 -54
  7. data/ext/rugged/rugged_blame.c +2 -0
  8. data/ext/rugged/rugged_blob.c +3 -0
  9. data/ext/rugged/rugged_commit.c +1 -0
  10. data/ext/rugged/rugged_config.c +9 -2
  11. data/ext/rugged/rugged_diff.c +1 -0
  12. data/ext/rugged/rugged_index.c +2 -0
  13. data/ext/rugged/rugged_patch.c +1 -0
  14. data/ext/rugged/rugged_rebase.c +1 -0
  15. data/ext/rugged/rugged_reference.c +1 -0
  16. data/ext/rugged/rugged_remote.c +28 -10
  17. data/ext/rugged/rugged_repo.c +7 -9
  18. data/ext/rugged/rugged_revwalk.c +5 -1
  19. data/ext/rugged/rugged_settings.c +5 -0
  20. data/ext/rugged/rugged_submodule.c +1 -0
  21. data/ext/rugged/rugged_tag.c +1 -0
  22. data/ext/rugged/rugged_tree.c +4 -0
  23. data/lib/rugged/index.rb +1 -1
  24. data/lib/rugged/tree.rb +5 -1
  25. data/lib/rugged/version.rb +1 -1
  26. data/vendor/libgit2/AUTHORS +1 -0
  27. data/vendor/libgit2/CMakeLists.txt +141 -289
  28. data/vendor/libgit2/COPYING +301 -20
  29. data/vendor/libgit2/cmake/AddCFlagIfSupported.cmake +21 -21
  30. data/vendor/libgit2/cmake/AddClarTest.cmake +7 -0
  31. data/vendor/libgit2/cmake/CheckPrototypeDefinitionSafe.cmake +16 -0
  32. data/vendor/libgit2/cmake/DefaultCFlags.cmake +154 -0
  33. data/vendor/libgit2/cmake/EnableWarnings.cmake +13 -13
  34. data/vendor/libgit2/cmake/ExperimentalFeatures.cmake +23 -0
  35. data/vendor/libgit2/cmake/FindCoreFoundation.cmake +13 -13
  36. data/vendor/libgit2/cmake/FindGSSAPI.cmake +171 -287
  37. data/vendor/libgit2/cmake/FindGSSFramework.cmake +13 -13
  38. data/vendor/libgit2/cmake/FindHTTP_Parser.cmake +17 -17
  39. data/vendor/libgit2/cmake/FindIntlIconv.cmake +51 -0
  40. data/vendor/libgit2/cmake/FindLLHTTP.cmake +39 -0
  41. data/vendor/libgit2/cmake/FindLibSSH2.cmake +5 -5
  42. data/vendor/libgit2/cmake/FindPCRE.cmake +12 -13
  43. data/vendor/libgit2/cmake/FindPCRE2.cmake +12 -12
  44. data/vendor/libgit2/cmake/FindPkgLibraries.cmake +19 -19
  45. data/vendor/libgit2/cmake/FindSecurity.cmake +14 -14
  46. data/vendor/libgit2/cmake/FindStatNsec.cmake +12 -18
  47. data/vendor/libgit2/cmake/Findfutimens.cmake +8 -8
  48. data/vendor/libgit2/cmake/FindmbedTLS.cmake +63 -70
  49. data/vendor/libgit2/cmake/IdeSplitSources.cmake +18 -18
  50. data/vendor/libgit2/cmake/PkgBuildConfig.cmake +60 -60
  51. data/vendor/libgit2/cmake/SanitizeBool.cmake +20 -20
  52. data/vendor/libgit2/cmake/SelectGSSAPI.cmake +37 -37
  53. data/vendor/libgit2/cmake/SelectHTTPParser.cmake +34 -0
  54. data/vendor/libgit2/cmake/SelectHTTPSBackend.cmake +129 -101
  55. data/vendor/libgit2/cmake/SelectHashes.cmake +113 -54
  56. data/vendor/libgit2/cmake/SelectRegex.cmake +56 -0
  57. data/vendor/libgit2/cmake/SelectSSH.cmake +46 -0
  58. data/vendor/libgit2/cmake/SelectXdiff.cmake +9 -0
  59. data/vendor/libgit2/cmake/SelectZlib.cmake +38 -0
  60. data/vendor/libgit2/deps/chromium-zlib/CMakeLists.txt +6 -6
  61. data/vendor/libgit2/deps/llhttp/CMakeLists.txt +8 -0
  62. data/vendor/libgit2/deps/llhttp/LICENSE-MIT +22 -0
  63. data/vendor/libgit2/deps/llhttp/api.c +510 -0
  64. data/vendor/libgit2/deps/llhttp/http.c +170 -0
  65. data/vendor/libgit2/deps/llhttp/llhttp.c +10168 -0
  66. data/vendor/libgit2/deps/llhttp/llhttp.h +897 -0
  67. data/vendor/libgit2/deps/ntlmclient/CMakeLists.txt +33 -31
  68. data/vendor/libgit2/deps/ntlmclient/crypt_builtin_md4.c +311 -0
  69. data/vendor/libgit2/deps/ntlmclient/crypt_commoncrypto.c +2 -1
  70. data/vendor/libgit2/deps/ntlmclient/crypt_mbedtls.c +0 -20
  71. data/vendor/libgit2/deps/ntlmclient/crypt_openssl.c +7 -5
  72. data/vendor/libgit2/deps/ntlmclient/ntlm.c +25 -25
  73. data/vendor/libgit2/deps/ntlmclient/ntlm.h +4 -4
  74. data/vendor/libgit2/deps/ntlmclient/ntlmclient.h +2 -2
  75. data/vendor/libgit2/deps/ntlmclient/unicode_builtin.c +5 -4
  76. data/vendor/libgit2/deps/ntlmclient/unicode_iconv.c +2 -1
  77. data/vendor/libgit2/deps/ntlmclient/utf8.h +1176 -721
  78. data/vendor/libgit2/deps/ntlmclient/util.h +11 -0
  79. data/vendor/libgit2/deps/pcre/CMakeLists.txt +89 -88
  80. data/vendor/libgit2/deps/pcre/LICENCE +5 -5
  81. data/vendor/libgit2/deps/pcre/pcre.h +2 -2
  82. data/vendor/libgit2/deps/pcre/pcre_compile.c +6 -3
  83. data/vendor/libgit2/deps/pcre/pcre_exec.c +2 -2
  84. data/vendor/libgit2/deps/winhttp/CMakeLists.txt +14 -16
  85. data/vendor/libgit2/deps/xdiff/CMakeLists.txt +28 -0
  86. data/vendor/libgit2/deps/xdiff/git-xdiff.h +56 -0
  87. data/vendor/libgit2/{src → deps}/xdiff/xdiff.h +15 -15
  88. data/vendor/libgit2/{src → deps}/xdiff/xdiffi.c +152 -125
  89. data/vendor/libgit2/{src → deps}/xdiff/xdiffi.h +2 -4
  90. data/vendor/libgit2/{src → deps}/xdiff/xemit.c +26 -10
  91. data/vendor/libgit2/{src → deps}/xdiff/xhistogram.c +92 -94
  92. data/vendor/libgit2/{src → deps}/xdiff/xinclude.h +1 -12
  93. data/vendor/libgit2/{src → deps}/xdiff/xmacros.h +18 -1
  94. data/vendor/libgit2/{src → deps}/xdiff/xmerge.c +126 -137
  95. data/vendor/libgit2/{src → deps}/xdiff/xpatience.c +26 -46
  96. data/vendor/libgit2/{src → deps}/xdiff/xprepare.c +24 -46
  97. data/vendor/libgit2/{src → deps}/xdiff/xutils.c +36 -8
  98. data/vendor/libgit2/{src → deps}/xdiff/xutils.h +2 -1
  99. data/vendor/libgit2/deps/zlib/CMakeLists.txt +6 -1
  100. data/vendor/libgit2/deps/zlib/LICENSE +22 -0
  101. data/vendor/libgit2/deps/zlib/adler32.c +7 -22
  102. data/vendor/libgit2/deps/zlib/crc32.c +931 -317
  103. data/vendor/libgit2/deps/zlib/crc32.h +9441 -436
  104. data/vendor/libgit2/deps/zlib/deflate.c +428 -453
  105. data/vendor/libgit2/deps/zlib/deflate.h +51 -23
  106. data/vendor/libgit2/deps/zlib/gzguts.h +15 -19
  107. data/vendor/libgit2/deps/zlib/infback.c +19 -31
  108. data/vendor/libgit2/deps/zlib/inffast.c +15 -18
  109. data/vendor/libgit2/deps/zlib/inffast.h +1 -1
  110. data/vendor/libgit2/deps/zlib/inflate.c +75 -110
  111. data/vendor/libgit2/deps/zlib/inflate.h +3 -2
  112. data/vendor/libgit2/deps/zlib/inftrees.c +6 -11
  113. data/vendor/libgit2/deps/zlib/inftrees.h +6 -6
  114. data/vendor/libgit2/deps/zlib/trees.c +294 -380
  115. data/vendor/libgit2/deps/zlib/zconf.h +23 -14
  116. data/vendor/libgit2/deps/zlib/zlib.h +310 -284
  117. data/vendor/libgit2/deps/zlib/zutil.c +20 -46
  118. data/vendor/libgit2/deps/zlib/zutil.h +24 -41
  119. data/vendor/libgit2/include/git2/annotated_commit.h +12 -5
  120. data/vendor/libgit2/include/git2/apply.h +43 -8
  121. data/vendor/libgit2/include/git2/attr.h +28 -6
  122. data/vendor/libgit2/include/git2/blame.h +137 -29
  123. data/vendor/libgit2/include/git2/blob.h +85 -29
  124. data/vendor/libgit2/include/git2/branch.h +25 -16
  125. data/vendor/libgit2/include/git2/buffer.h +24 -82
  126. data/vendor/libgit2/include/git2/cert.h +4 -3
  127. data/vendor/libgit2/include/git2/checkout.h +88 -34
  128. data/vendor/libgit2/include/git2/cherrypick.h +10 -3
  129. data/vendor/libgit2/include/git2/clone.h +28 -12
  130. data/vendor/libgit2/include/git2/commit.h +134 -3
  131. data/vendor/libgit2/include/git2/common.h +172 -59
  132. data/vendor/libgit2/include/git2/config.h +118 -32
  133. data/vendor/libgit2/include/git2/credential.h +32 -3
  134. data/vendor/libgit2/include/git2/credential_helpers.h +2 -0
  135. data/vendor/libgit2/include/git2/deprecated.h +141 -3
  136. data/vendor/libgit2/include/git2/describe.h +20 -3
  137. data/vendor/libgit2/include/git2/diff.h +95 -19
  138. data/vendor/libgit2/include/git2/email.h +10 -30
  139. data/vendor/libgit2/include/git2/errors.h +51 -61
  140. data/vendor/libgit2/include/git2/experimental.h +20 -0
  141. data/vendor/libgit2/include/git2/filter.h +21 -9
  142. data/vendor/libgit2/include/git2/global.h +8 -1
  143. data/vendor/libgit2/include/git2/graph.h +4 -2
  144. data/vendor/libgit2/include/git2/ignore.h +11 -1
  145. data/vendor/libgit2/include/git2/index.h +111 -11
  146. data/vendor/libgit2/include/git2/indexer.h +67 -2
  147. data/vendor/libgit2/include/git2/mailmap.h +7 -1
  148. data/vendor/libgit2/include/git2/merge.h +70 -5
  149. data/vendor/libgit2/include/git2/message.h +4 -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 +57 -7
  153. data/vendor/libgit2/include/git2/odb.h +156 -33
  154. data/vendor/libgit2/include/git2/odb_backend.h +132 -16
  155. data/vendor/libgit2/include/git2/oid.h +116 -17
  156. data/vendor/libgit2/include/git2/oidarray.h +7 -1
  157. data/vendor/libgit2/include/git2/pack.h +37 -9
  158. data/vendor/libgit2/include/git2/patch.h +10 -3
  159. data/vendor/libgit2/include/git2/pathspec.h +10 -1
  160. data/vendor/libgit2/include/git2/proxy.h +11 -1
  161. data/vendor/libgit2/include/git2/rebase.h +18 -7
  162. data/vendor/libgit2/include/git2/refdb.h +5 -2
  163. data/vendor/libgit2/include/git2/reflog.h +4 -3
  164. data/vendor/libgit2/include/git2/refs.h +11 -8
  165. data/vendor/libgit2/include/git2/refspec.h +14 -4
  166. data/vendor/libgit2/include/git2/remote.h +295 -54
  167. data/vendor/libgit2/include/git2/repository.h +95 -25
  168. data/vendor/libgit2/include/git2/reset.h +18 -5
  169. data/vendor/libgit2/include/git2/revert.h +9 -4
  170. data/vendor/libgit2/include/git2/revparse.h +4 -4
  171. data/vendor/libgit2/include/git2/revwalk.h +7 -3
  172. data/vendor/libgit2/include/git2/signature.h +47 -2
  173. data/vendor/libgit2/include/git2/stash.h +78 -10
  174. data/vendor/libgit2/include/git2/status.h +24 -11
  175. data/vendor/libgit2/include/git2/stdint.h +87 -85
  176. data/vendor/libgit2/include/git2/strarray.h +2 -16
  177. data/vendor/libgit2/include/git2/submodule.h +27 -11
  178. data/vendor/libgit2/include/git2/sys/alloc.h +12 -34
  179. data/vendor/libgit2/include/git2/sys/commit.h +77 -3
  180. data/vendor/libgit2/include/git2/sys/commit_graph.h +110 -59
  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 +47 -4
  192. data/vendor/libgit2/include/git2/sys/odb_backend.h +10 -9
  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 +53 -0
  198. data/vendor/libgit2/include/git2/sys/repository.h +63 -3
  199. data/vendor/libgit2/include/git2/sys/stream.h +26 -3
  200. data/vendor/libgit2/include/git2/sys/transport.h +87 -41
  201. data/vendor/libgit2/include/git2/tag.h +4 -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 +20 -8
  206. data/vendor/libgit2/include/git2/types.h +26 -10
  207. data/vendor/libgit2/include/git2/version.h +63 -6
  208. data/vendor/libgit2/include/git2/worktree.h +30 -8
  209. data/vendor/libgit2/include/git2.h +1 -0
  210. data/vendor/libgit2/src/CMakeLists.txt +203 -420
  211. data/vendor/libgit2/src/README.md +12 -0
  212. data/vendor/libgit2/src/cli/CMakeLists.txt +56 -0
  213. data/vendor/libgit2/src/cli/README.md +26 -0
  214. data/vendor/libgit2/src/{branch.h → cli/cmd.c} +10 -8
  215. data/vendor/libgit2/src/cli/cmd.h +37 -0
  216. data/vendor/libgit2/src/cli/cmd_blame.c +287 -0
  217. data/vendor/libgit2/src/cli/cmd_cat_file.c +202 -0
  218. data/vendor/libgit2/src/cli/cmd_clone.c +190 -0
  219. data/vendor/libgit2/src/cli/cmd_config.c +241 -0
  220. data/vendor/libgit2/src/cli/cmd_hash_object.c +152 -0
  221. data/vendor/libgit2/src/cli/cmd_help.c +85 -0
  222. data/vendor/libgit2/src/cli/cmd_index_pack.c +114 -0
  223. data/vendor/libgit2/src/cli/cmd_init.c +102 -0
  224. data/vendor/libgit2/src/cli/common.c +168 -0
  225. data/vendor/libgit2/src/cli/common.h +63 -0
  226. data/vendor/libgit2/src/cli/error.h +51 -0
  227. data/vendor/libgit2/src/cli/main.c +134 -0
  228. data/vendor/libgit2/src/cli/opt.c +695 -0
  229. data/vendor/libgit2/src/cli/opt.h +367 -0
  230. data/vendor/libgit2/src/cli/opt_usage.c +263 -0
  231. data/vendor/libgit2/src/cli/opt_usage.h +40 -0
  232. data/vendor/libgit2/src/cli/progress.c +395 -0
  233. data/vendor/libgit2/src/cli/progress.h +129 -0
  234. data/vendor/libgit2/src/cli/sighandler.h +20 -0
  235. data/vendor/libgit2/src/cli/unix/sighandler.c +37 -0
  236. data/vendor/libgit2/src/cli/win32/precompiled.h +3 -0
  237. data/vendor/libgit2/src/cli/win32/sighandler.c +37 -0
  238. data/vendor/libgit2/src/libgit2/CMakeLists.txt +140 -0
  239. data/vendor/libgit2/src/{annotated_commit.c → libgit2/annotated_commit.c} +2 -2
  240. data/vendor/libgit2/src/{annotated_commit.h → libgit2/annotated_commit.h} +2 -2
  241. data/vendor/libgit2/src/{apply.c → libgit2/apply.c} +32 -34
  242. data/vendor/libgit2/src/{apply.h → libgit2/apply.h} +2 -2
  243. data/vendor/libgit2/src/{attr.c → libgit2/attr.c} +48 -31
  244. data/vendor/libgit2/src/{attr_file.c → libgit2/attr_file.c} +25 -20
  245. data/vendor/libgit2/src/{attr_file.h → libgit2/attr_file.h} +6 -4
  246. data/vendor/libgit2/src/{attrcache.c → libgit2/attrcache.c} +87 -46
  247. data/vendor/libgit2/src/{attrcache.h → libgit2/attrcache.h} +5 -9
  248. data/vendor/libgit2/src/{blame.c → libgit2/blame.c} +152 -57
  249. data/vendor/libgit2/src/{blame.h → libgit2/blame.h} +1 -0
  250. data/vendor/libgit2/src/{blame_git.c → libgit2/blame_git.c} +1 -2
  251. data/vendor/libgit2/src/{blob.c → libgit2/blob.c} +38 -29
  252. data/vendor/libgit2/src/{blob.h → libgit2/blob.h} +3 -3
  253. data/vendor/libgit2/src/{branch.c → libgit2/branch.c} +164 -118
  254. data/vendor/libgit2/src/libgit2/branch.h +31 -0
  255. data/vendor/libgit2/src/libgit2/buf.c +126 -0
  256. data/vendor/libgit2/src/libgit2/buf.h +50 -0
  257. data/vendor/libgit2/src/{cache.c → libgit2/cache.c} +22 -17
  258. data/vendor/libgit2/src/{cache.h → libgit2/cache.h} +7 -9
  259. data/vendor/libgit2/src/{checkout.c → libgit2/checkout.c} +107 -91
  260. data/vendor/libgit2/src/{checkout.h → libgit2/checkout.h} +0 -2
  261. data/vendor/libgit2/src/{cherrypick.c → libgit2/cherrypick.c} +14 -15
  262. data/vendor/libgit2/src/{clone.c → libgit2/clone.c} +254 -203
  263. data/vendor/libgit2/src/{clone.h → libgit2/clone.h} +4 -1
  264. data/vendor/libgit2/src/{commit.c → libgit2/commit.c} +296 -77
  265. data/vendor/libgit2/src/libgit2/commit.h +87 -0
  266. data/vendor/libgit2/src/{commit_graph.c → libgit2/commit_graph.c} +246 -135
  267. data/vendor/libgit2/src/{commit_graph.h → libgit2/commit_graph.h} +33 -8
  268. data/vendor/libgit2/src/{commit_list.c → libgit2/commit_list.c} +17 -7
  269. data/vendor/libgit2/src/{commit_list.h → libgit2/commit_list.h} +1 -0
  270. data/vendor/libgit2/src/libgit2/common.h +55 -0
  271. data/vendor/libgit2/src/{config.c → libgit2/config.c} +490 -360
  272. data/vendor/libgit2/src/libgit2/config.cmake.in +3 -0
  273. data/vendor/libgit2/src/{config.h → libgit2/config.h} +24 -6
  274. data/vendor/libgit2/src/{config_backend.h → libgit2/config_backend.h} +8 -10
  275. data/vendor/libgit2/src/{config_cache.c → libgit2/config_cache.c} +4 -5
  276. data/vendor/libgit2/src/{config_file.c → libgit2/config_file.c} +212 -183
  277. data/vendor/libgit2/src/libgit2/config_list.c +285 -0
  278. data/vendor/libgit2/src/libgit2/config_list.h +32 -0
  279. data/vendor/libgit2/src/libgit2/config_mem.c +374 -0
  280. data/vendor/libgit2/src/{config_parse.c → libgit2/config_parse.c} +37 -32
  281. data/vendor/libgit2/src/{config_snapshot.c → libgit2/config_snapshot.c} +24 -31
  282. data/vendor/libgit2/src/{crlf.c → libgit2/crlf.c} +24 -21
  283. data/vendor/libgit2/src/{describe.c → libgit2/describe.c} +62 -51
  284. data/vendor/libgit2/src/{diff.c → libgit2/diff.c} +44 -14
  285. data/vendor/libgit2/src/{diff.h → libgit2/diff.h} +8 -10
  286. data/vendor/libgit2/src/{diff_driver.c → libgit2/diff_driver.c} +46 -55
  287. data/vendor/libgit2/src/{diff_driver.h → libgit2/diff_driver.h} +5 -5
  288. data/vendor/libgit2/src/{diff_file.c → libgit2/diff_file.c} +45 -27
  289. data/vendor/libgit2/src/{diff_generate.c → libgit2/diff_generate.c} +70 -20
  290. data/vendor/libgit2/src/{diff_generate.h → libgit2/diff_generate.h} +5 -3
  291. data/vendor/libgit2/src/{diff_parse.c → libgit2/diff_parse.c} +22 -6
  292. data/vendor/libgit2/src/{diff_print.c → libgit2/diff_print.c} +192 -105
  293. data/vendor/libgit2/src/{diff_stats.c → libgit2/diff_stats.c} +40 -29
  294. data/vendor/libgit2/src/libgit2/diff_stats.h +18 -0
  295. data/vendor/libgit2/src/{diff_tform.c → libgit2/diff_tform.c} +49 -16
  296. data/vendor/libgit2/src/{diff_xdiff.c → libgit2/diff_xdiff.c} +4 -8
  297. data/vendor/libgit2/src/{diff_xdiff.h → libgit2/diff_xdiff.h} +1 -1
  298. data/vendor/libgit2/src/{email.c → libgit2/email.c} +58 -40
  299. data/vendor/libgit2/src/{email.h → libgit2/email.h} +1 -1
  300. data/vendor/libgit2/src/{transports/ssh.h → libgit2/experimental.h.in} +3 -4
  301. data/vendor/libgit2/src/{fetch.c → libgit2/fetch.c} +105 -30
  302. data/vendor/libgit2/src/{fetch.h → libgit2/fetch.h} +1 -3
  303. data/vendor/libgit2/src/{fetchhead.c → libgit2/fetchhead.c} +30 -28
  304. data/vendor/libgit2/src/{filter.c → libgit2/filter.c} +132 -58
  305. data/vendor/libgit2/src/{filter.h → libgit2/filter.h} +26 -5
  306. data/vendor/libgit2/src/{win32 → libgit2}/git2.rc +3 -3
  307. data/vendor/libgit2/src/libgit2/grafts.c +270 -0
  308. data/vendor/libgit2/src/libgit2/grafts.h +35 -0
  309. data/vendor/libgit2/src/{graph.c → libgit2/graph.c} +1 -1
  310. data/vendor/libgit2/src/libgit2/hashmap_oid.h +30 -0
  311. data/vendor/libgit2/src/{ident.c → libgit2/ident.c} +20 -20
  312. data/vendor/libgit2/src/{ignore.c → libgit2/ignore.c} +44 -39
  313. data/vendor/libgit2/src/{ignore.h → libgit2/ignore.h} +2 -2
  314. data/vendor/libgit2/src/{index.c → libgit2/index.c} +460 -276
  315. data/vendor/libgit2/src/{index.h → libgit2/index.h} +21 -5
  316. data/vendor/libgit2/src/libgit2/index_map.c +95 -0
  317. data/vendor/libgit2/src/libgit2/index_map.h +28 -0
  318. data/vendor/libgit2/src/{indexer.c → libgit2/indexer.c} +208 -124
  319. data/vendor/libgit2/src/{iterator.c → libgit2/iterator.c} +102 -71
  320. data/vendor/libgit2/src/{iterator.h → libgit2/iterator.h} +8 -5
  321. data/vendor/libgit2/src/libgit2/libgit2.c +268 -0
  322. data/vendor/libgit2/src/{mailmap.c → libgit2/mailmap.c} +39 -37
  323. data/vendor/libgit2/src/{merge.c → libgit2/merge.c} +83 -73
  324. data/vendor/libgit2/src/{merge.h → libgit2/merge.h} +1 -14
  325. data/vendor/libgit2/src/{merge_driver.c → libgit2/merge_driver.c} +4 -4
  326. data/vendor/libgit2/src/{merge_file.c → libgit2/merge_file.c} +13 -5
  327. data/vendor/libgit2/src/{message.c → libgit2/message.c} +21 -10
  328. data/vendor/libgit2/src/{midx.c → libgit2/midx.c} +174 -112
  329. data/vendor/libgit2/src/{midx.h → libgit2/midx.h} +17 -6
  330. data/vendor/libgit2/src/{mwindow.c → libgit2/mwindow.c} +53 -57
  331. data/vendor/libgit2/src/{mwindow.h → libgit2/mwindow.h} +9 -2
  332. data/vendor/libgit2/src/{notes.c → libgit2/notes.c} +29 -37
  333. data/vendor/libgit2/src/{object.c → libgit2/object.c} +166 -35
  334. data/vendor/libgit2/src/{object.h → libgit2/object.h} +17 -2
  335. data/vendor/libgit2/src/{odb.c → libgit2/odb.c} +261 -88
  336. data/vendor/libgit2/src/{odb.h → libgit2/odb.h} +44 -5
  337. data/vendor/libgit2/src/{odb_loose.c → libgit2/odb_loose.c} +192 -134
  338. data/vendor/libgit2/src/{odb_mempack.c → libgit2/odb_mempack.c} +67 -22
  339. data/vendor/libgit2/src/{odb_pack.c → libgit2/odb_pack.c} +162 -89
  340. data/vendor/libgit2/src/{oid.c → libgit2/oid.c} +171 -92
  341. data/vendor/libgit2/src/libgit2/oid.h +284 -0
  342. data/vendor/libgit2/src/libgit2/oidarray.c +89 -0
  343. data/vendor/libgit2/src/{oidarray.h → libgit2/oidarray.h} +5 -1
  344. data/vendor/libgit2/src/{pack-objects.c → libgit2/pack-objects.c} +126 -66
  345. data/vendor/libgit2/src/{pack-objects.h → libgit2/pack-objects.h} +28 -12
  346. data/vendor/libgit2/src/{pack.c → libgit2/pack.c} +146 -111
  347. data/vendor/libgit2/src/{pack.h → libgit2/pack.h} +45 -25
  348. data/vendor/libgit2/src/{parse.c → libgit2/parse.c} +8 -4
  349. data/vendor/libgit2/src/{parse.h → libgit2/parse.h} +1 -1
  350. data/vendor/libgit2/src/{patch.c → libgit2/patch.c} +3 -3
  351. data/vendor/libgit2/src/{patch.h → libgit2/patch.h} +8 -1
  352. data/vendor/libgit2/src/{patch_generate.c → libgit2/patch_generate.c} +51 -16
  353. data/vendor/libgit2/src/{patch_generate.h → libgit2/patch_generate.h} +5 -5
  354. data/vendor/libgit2/src/{patch_parse.c → libgit2/patch_parse.c} +42 -34
  355. data/vendor/libgit2/src/libgit2/path.c +375 -0
  356. data/vendor/libgit2/src/libgit2/path.h +68 -0
  357. data/vendor/libgit2/src/{pathspec.c → libgit2/pathspec.c} +7 -7
  358. data/vendor/libgit2/src/{pathspec.h → libgit2/pathspec.h} +2 -2
  359. data/vendor/libgit2/src/{proxy.c → libgit2/proxy.c} +4 -1
  360. data/vendor/libgit2/src/{proxy.h → libgit2/proxy.h} +1 -1
  361. data/vendor/libgit2/src/{push.c → libgit2/push.c} +116 -60
  362. data/vendor/libgit2/src/{push.h → libgit2/push.h} +5 -16
  363. data/vendor/libgit2/src/{reader.c → libgit2/reader.c} +9 -9
  364. data/vendor/libgit2/src/{reader.h → libgit2/reader.h} +2 -2
  365. data/vendor/libgit2/src/{rebase.c → libgit2/rebase.c} +147 -147
  366. data/vendor/libgit2/src/{refdb_fs.c → libgit2/refdb_fs.c} +639 -254
  367. data/vendor/libgit2/src/{reflog.c → libgit2/reflog.c} +8 -7
  368. data/vendor/libgit2/src/{reflog.h → libgit2/reflog.h} +3 -2
  369. data/vendor/libgit2/src/{refs.c → libgit2/refs.c} +67 -39
  370. data/vendor/libgit2/src/{refs.h → libgit2/refs.h} +8 -3
  371. data/vendor/libgit2/src/{refspec.c → libgit2/refspec.c} +60 -38
  372. data/vendor/libgit2/src/{refspec.h → libgit2/refspec.h} +13 -2
  373. data/vendor/libgit2/src/{remote.c → libgit2/remote.c} +821 -454
  374. data/vendor/libgit2/src/libgit2/remote.h +101 -0
  375. data/vendor/libgit2/src/{repository.c → libgit2/repository.c} +1377 -594
  376. data/vendor/libgit2/src/{repository.h → libgit2/repository.h} +43 -12
  377. data/vendor/libgit2/src/{reset.c → libgit2/reset.c} +8 -5
  378. data/vendor/libgit2/src/{revert.c → libgit2/revert.c} +18 -22
  379. data/vendor/libgit2/src/{revparse.c → libgit2/revparse.c} +76 -44
  380. data/vendor/libgit2/src/{revwalk.c → libgit2/revwalk.c} +48 -19
  381. data/vendor/libgit2/src/{revwalk.h → libgit2/revwalk.h} +3 -3
  382. data/vendor/libgit2/src/{libgit2.c → libgit2/settings.c} +162 -95
  383. data/vendor/libgit2/src/{settings.h → libgit2/settings.h} +6 -2
  384. data/vendor/libgit2/src/{signature.c → libgit2/signature.c} +144 -21
  385. data/vendor/libgit2/src/{signature.h → libgit2/signature.h} +1 -2
  386. data/vendor/libgit2/src/{stash.c → libgit2/stash.c} +243 -68
  387. data/vendor/libgit2/src/{status.c → libgit2/status.c} +5 -2
  388. data/vendor/libgit2/src/{strarray.c → libgit2/strarray.c} +1 -0
  389. data/vendor/libgit2/src/libgit2/strarray.h +25 -0
  390. data/vendor/libgit2/src/{streams → libgit2/streams}/mbedtls.c +62 -67
  391. data/vendor/libgit2/src/{streams → libgit2/streams}/openssl.c +41 -24
  392. data/vendor/libgit2/src/{streams → libgit2/streams}/openssl.h +2 -0
  393. data/vendor/libgit2/src/{streams → libgit2/streams}/openssl_dynamic.c +11 -3
  394. data/vendor/libgit2/src/{streams → libgit2/streams}/openssl_dynamic.h +6 -3
  395. data/vendor/libgit2/src/libgit2/streams/schannel.c +715 -0
  396. data/vendor/libgit2/src/libgit2/streams/schannel.h +28 -0
  397. data/vendor/libgit2/src/libgit2/streams/socket.c +428 -0
  398. data/vendor/libgit2/src/{streams → libgit2/streams}/socket.h +3 -1
  399. data/vendor/libgit2/src/{streams → libgit2/streams}/stransport.c +79 -19
  400. data/vendor/libgit2/src/{streams → libgit2/streams}/tls.c +5 -0
  401. data/vendor/libgit2/src/{submodule.c → libgit2/submodule.c} +279 -220
  402. data/vendor/libgit2/src/{submodule.h → libgit2/submodule.h} +10 -11
  403. data/vendor/libgit2/src/libgit2/sysdir.c +650 -0
  404. data/vendor/libgit2/src/{sysdir.h → libgit2/sysdir.h} +55 -18
  405. data/vendor/libgit2/src/{tag.c → libgit2/tag.c} +74 -43
  406. data/vendor/libgit2/src/{tag.h → libgit2/tag.h} +2 -2
  407. data/vendor/libgit2/src/{trace.c → libgit2/trace.c} +1 -14
  408. data/vendor/libgit2/src/{trace.h → libgit2/trace.h} +5 -22
  409. data/vendor/libgit2/src/{trailer.c → libgit2/trailer.c} +7 -7
  410. data/vendor/libgit2/src/{transaction.c → libgit2/transaction.c} +27 -21
  411. data/vendor/libgit2/src/{transaction.h → libgit2/transaction.h} +4 -1
  412. data/vendor/libgit2/src/{transport.c → libgit2/transport.c} +14 -11
  413. data/vendor/libgit2/src/{transports → libgit2/transports}/auth.c +7 -9
  414. data/vendor/libgit2/src/{transports → libgit2/transports}/auth.h +3 -5
  415. data/vendor/libgit2/src/{transports/auth_negotiate.c → libgit2/transports/auth_gssapi.c} +44 -45
  416. data/vendor/libgit2/src/{transports → libgit2/transports}/auth_negotiate.h +1 -1
  417. data/vendor/libgit2/src/{transports → libgit2/transports}/auth_ntlm.h +1 -2
  418. data/vendor/libgit2/src/{transports/auth_ntlm.c → libgit2/transports/auth_ntlmclient.c} +22 -22
  419. data/vendor/libgit2/src/libgit2/transports/auth_sspi.c +341 -0
  420. data/vendor/libgit2/src/{transports → libgit2/transports}/credential.c +1 -1
  421. data/vendor/libgit2/src/{transports → libgit2/transports}/git.c +16 -19
  422. data/vendor/libgit2/src/{transports → libgit2/transports}/http.c +49 -24
  423. data/vendor/libgit2/src/{transports → libgit2/transports}/http.h +0 -11
  424. data/vendor/libgit2/src/{transports → libgit2/transports}/httpclient.c +188 -134
  425. data/vendor/libgit2/src/{transports → libgit2/transports}/httpclient.h +10 -0
  426. data/vendor/libgit2/src/libgit2/transports/httpparser.c +128 -0
  427. data/vendor/libgit2/src/libgit2/transports/httpparser.h +99 -0
  428. data/vendor/libgit2/src/{transports → libgit2/transports}/local.c +159 -127
  429. data/vendor/libgit2/src/{transports → libgit2/transports}/smart.c +142 -165
  430. data/vendor/libgit2/src/{transports → libgit2/transports}/smart.h +56 -36
  431. data/vendor/libgit2/src/{transports → libgit2/transports}/smart_pkt.c +307 -74
  432. data/vendor/libgit2/src/{transports → libgit2/transports}/smart_protocol.c +297 -97
  433. data/vendor/libgit2/src/libgit2/transports/ssh.c +85 -0
  434. data/vendor/libgit2/src/libgit2/transports/ssh_exec.c +347 -0
  435. data/vendor/libgit2/src/libgit2/transports/ssh_exec.h +26 -0
  436. data/vendor/libgit2/src/{transports/ssh.c → libgit2/transports/ssh_libssh2.c} +414 -268
  437. data/vendor/libgit2/src/libgit2/transports/ssh_libssh2.h +28 -0
  438. data/vendor/libgit2/src/{transports → libgit2/transports}/winhttp.c +101 -75
  439. data/vendor/libgit2/src/{tree-cache.c → libgit2/tree-cache.c} +30 -20
  440. data/vendor/libgit2/src/{tree-cache.h → libgit2/tree-cache.h} +7 -5
  441. data/vendor/libgit2/src/{tree.c → libgit2/tree.c} +128 -110
  442. data/vendor/libgit2/src/{tree.h → libgit2/tree.h} +7 -6
  443. data/vendor/libgit2/src/{worktree.c → libgit2/worktree.c} +160 -121
  444. data/vendor/libgit2/src/{worktree.h → libgit2/worktree.h} +1 -1
  445. data/vendor/libgit2/src/util/CMakeLists.txt +77 -0
  446. data/vendor/libgit2/src/{alloc.c → util/alloc.c} +69 -7
  447. data/vendor/libgit2/src/util/alloc.h +65 -0
  448. data/vendor/libgit2/src/util/allocators/debugalloc.c +73 -0
  449. data/vendor/libgit2/src/util/allocators/debugalloc.h +17 -0
  450. data/vendor/libgit2/src/util/allocators/failalloc.c +32 -0
  451. data/vendor/libgit2/src/util/allocators/failalloc.h +17 -0
  452. data/vendor/libgit2/src/util/allocators/stdalloc.c +37 -0
  453. data/vendor/libgit2/src/{allocators → util/allocators}/stdalloc.h +1 -1
  454. data/vendor/libgit2/src/util/allocators/win32_leakcheck.c +50 -0
  455. data/vendor/libgit2/src/{allocators → util/allocators}/win32_leakcheck.h +1 -1
  456. data/vendor/libgit2/src/{array.h → util/array.h} +25 -19
  457. data/vendor/libgit2/src/{assert_safe.h → util/assert_safe.h} +16 -0
  458. data/vendor/libgit2/src/{cc-compat.h → util/cc-compat.h} +5 -1
  459. data/vendor/libgit2/src/util/ctype_compat.h +70 -0
  460. data/vendor/libgit2/src/{date.c → util/date.c} +35 -33
  461. data/vendor/libgit2/src/util/date.h +45 -0
  462. data/vendor/libgit2/src/util/errors.c +401 -0
  463. data/vendor/libgit2/src/{errors.h → util/errors.h} +22 -19
  464. data/vendor/libgit2/src/{filebuf.c → util/filebuf.c} +35 -30
  465. data/vendor/libgit2/src/{filebuf.h → util/filebuf.h} +21 -8
  466. data/vendor/libgit2/src/{path.c → util/fs_path.c} +591 -615
  467. data/vendor/libgit2/src/{path.h → util/fs_path.h} +257 -181
  468. data/vendor/libgit2/src/{futils.c → util/futils.c} +144 -95
  469. data/vendor/libgit2/src/{futils.h → util/futils.h} +40 -18
  470. data/vendor/libgit2/src/{features.h.in → util/git2_features.h.in} +33 -2
  471. data/vendor/libgit2/src/{common.h → util/git2_util.h} +26 -59
  472. data/vendor/libgit2/src/util/hash/builtin.c +53 -0
  473. data/vendor/libgit2/src/{hash/sha1/openssl.h → util/hash/builtin.h} +6 -6
  474. data/vendor/libgit2/src/{hash/sha1 → util/hash}/collisiondetect.c +3 -3
  475. data/vendor/libgit2/src/{hash/sha1 → util/hash}/collisiondetect.h +3 -3
  476. data/vendor/libgit2/src/util/hash/common_crypto.c +112 -0
  477. data/vendor/libgit2/src/{hash/sha1 → util/hash}/common_crypto.h +11 -3
  478. data/vendor/libgit2/src/util/hash/mbedtls.c +92 -0
  479. data/vendor/libgit2/src/{hash/sha1 → util/hash}/mbedtls.h +14 -4
  480. data/vendor/libgit2/src/util/hash/openssl.c +347 -0
  481. data/vendor/libgit2/src/util/hash/openssl.h +61 -0
  482. data/vendor/libgit2/src/util/hash/rfc6234/sha.h +243 -0
  483. data/vendor/libgit2/src/util/hash/rfc6234/sha224-256.c +601 -0
  484. data/vendor/libgit2/src/util/hash/sha.h +73 -0
  485. data/vendor/libgit2/src/{hash/sha1 → util/hash}/sha1dc/sha1.c +1 -1
  486. data/vendor/libgit2/src/util/hash/win32.c +549 -0
  487. data/vendor/libgit2/src/util/hash/win32.h +60 -0
  488. data/vendor/libgit2/src/util/hash.c +158 -0
  489. data/vendor/libgit2/src/util/hash.h +61 -0
  490. data/vendor/libgit2/src/util/hashmap.h +424 -0
  491. data/vendor/libgit2/src/util/hashmap_str.h +43 -0
  492. data/vendor/libgit2/src/{integer.h → util/integer.h} +3 -1
  493. data/vendor/libgit2/src/{map.h → util/map.h} +1 -1
  494. data/vendor/libgit2/src/util/net.c +1160 -0
  495. data/vendor/libgit2/src/{net.h → util/net.h} +45 -4
  496. data/vendor/libgit2/src/{pool.c → util/pool.c} +1 -1
  497. data/vendor/libgit2/src/{pool.h → util/pool.h} +6 -1
  498. data/vendor/libgit2/src/{posix.c → util/posix.c} +57 -3
  499. data/vendor/libgit2/src/{posix.h → util/posix.h} +26 -1
  500. data/vendor/libgit2/src/{pqueue.h → util/pqueue.h} +3 -3
  501. data/vendor/libgit2/src/util/process.h +222 -0
  502. data/vendor/libgit2/src/util/rand.c +230 -0
  503. data/vendor/libgit2/src/util/rand.h +37 -0
  504. data/vendor/libgit2/src/{regexp.c → util/regexp.c} +5 -5
  505. data/vendor/libgit2/src/{regexp.h → util/regexp.h} +1 -1
  506. data/vendor/libgit2/src/{runtime.c → util/runtime.c} +1 -1
  507. data/vendor/libgit2/src/{runtime.h → util/runtime.h} +1 -1
  508. data/vendor/libgit2/src/{sortedcache.c → util/sortedcache.c} +15 -14
  509. data/vendor/libgit2/src/{sortedcache.h → util/sortedcache.h} +5 -5
  510. data/vendor/libgit2/src/util/staticstr.h +66 -0
  511. data/vendor/libgit2/src/{buffer.c → util/str.c} +159 -153
  512. data/vendor/libgit2/src/util/str.h +357 -0
  513. data/vendor/libgit2/src/util/strlist.c +108 -0
  514. data/vendor/libgit2/src/util/strlist.h +36 -0
  515. data/vendor/libgit2/src/{thread.c → util/thread.c} +1 -1
  516. data/vendor/libgit2/src/{thread.h → util/thread.h} +23 -22
  517. data/vendor/libgit2/src/{tsort.c → util/tsort.c} +1 -1
  518. data/vendor/libgit2/src/{unix → util/unix}/map.c +1 -3
  519. data/vendor/libgit2/src/{unix → util/unix}/posix.h +1 -6
  520. data/vendor/libgit2/src/util/unix/process.c +629 -0
  521. data/vendor/libgit2/src/{unix → util/unix}/realpath.c +24 -8
  522. data/vendor/libgit2/src/{utf8.c → util/utf8.c} +1 -1
  523. data/vendor/libgit2/src/{utf8.h → util/utf8.h} +1 -1
  524. data/vendor/libgit2/src/{util.c → util/util.c} +24 -19
  525. data/vendor/libgit2/src/{util.h → util/util.h} +30 -81
  526. data/vendor/libgit2/src/{varint.h → util/varint.h} +1 -1
  527. data/vendor/libgit2/src/{vector.c → util/vector.c} +3 -3
  528. data/vendor/libgit2/src/{vector.h → util/vector.h} +4 -4
  529. data/vendor/libgit2/src/{wildmatch.h → util/wildmatch.h} +1 -1
  530. data/vendor/libgit2/src/{win32 → util/win32}/dir.h +1 -1
  531. data/vendor/libgit2/src/{win32 → util/win32}/error.c +1 -1
  532. data/vendor/libgit2/src/{win32 → util/win32}/error.h +1 -1
  533. data/vendor/libgit2/src/{win32 → util/win32}/map.c +1 -1
  534. data/vendor/libgit2/src/{win32 → util/win32}/path_w32.c +148 -17
  535. data/vendor/libgit2/src/{win32 → util/win32}/path_w32.h +3 -1
  536. data/vendor/libgit2/src/{win32 → util/win32}/posix.h +1 -2
  537. data/vendor/libgit2/src/{win32 → util/win32}/posix_w32.c +42 -35
  538. data/vendor/libgit2/src/util/win32/precompiled.c +1 -0
  539. data/vendor/libgit2/src/{win32 → util/win32}/precompiled.h +1 -1
  540. data/vendor/libgit2/src/util/win32/process.c +506 -0
  541. data/vendor/libgit2/src/{win32 → util/win32}/thread.h +1 -1
  542. data/vendor/libgit2/src/util/win32/utf-conv.c +144 -0
  543. data/vendor/libgit2/src/util/win32/utf-conv.h +127 -0
  544. data/vendor/libgit2/src/{win32 → util/win32}/w32_buffer.c +2 -3
  545. data/vendor/libgit2/src/{win32 → util/win32}/w32_buffer.h +3 -4
  546. data/vendor/libgit2/src/{win32 → util/win32}/w32_leakcheck.c +1 -1
  547. data/vendor/libgit2/src/{win32 → util/win32}/w32_leakcheck.h +1 -1
  548. data/vendor/libgit2/src/{win32 → util/win32}/w32_util.c +1 -1
  549. data/vendor/libgit2/src/{win32 → util/win32}/w32_util.h +1 -1
  550. data/vendor/libgit2/src/{zstream.c → util/zstream.c} +5 -5
  551. data/vendor/libgit2/src/{zstream.h → util/zstream.h} +5 -5
  552. metadata +431 -362
  553. data/vendor/libgit2/cmake/FindIconv.cmake +0 -45
  554. data/vendor/libgit2/deps/http-parser/CMakeLists.txt +0 -6
  555. data/vendor/libgit2/deps/http-parser/COPYING +0 -23
  556. data/vendor/libgit2/deps/http-parser/http_parser.c +0 -2182
  557. data/vendor/libgit2/deps/http-parser/http_parser.h +0 -305
  558. data/vendor/libgit2/deps/zlib/COPYING +0 -27
  559. data/vendor/libgit2/include/git2/sys/reflog.h +0 -21
  560. data/vendor/libgit2/src/alloc.h +0 -40
  561. data/vendor/libgit2/src/allocators/failalloc.c +0 -92
  562. data/vendor/libgit2/src/allocators/failalloc.h +0 -23
  563. data/vendor/libgit2/src/allocators/stdalloc.c +0 -150
  564. data/vendor/libgit2/src/allocators/win32_leakcheck.c +0 -118
  565. data/vendor/libgit2/src/buffer.h +0 -374
  566. data/vendor/libgit2/src/commit.h +0 -46
  567. data/vendor/libgit2/src/config_entries.c +0 -237
  568. data/vendor/libgit2/src/config_entries.h +0 -24
  569. data/vendor/libgit2/src/config_mem.c +0 -220
  570. data/vendor/libgit2/src/errors.c +0 -238
  571. data/vendor/libgit2/src/hash/sha1/common_crypto.c +0 -57
  572. data/vendor/libgit2/src/hash/sha1/generic.c +0 -300
  573. data/vendor/libgit2/src/hash/sha1/generic.h +0 -19
  574. data/vendor/libgit2/src/hash/sha1/mbedtls.c +0 -46
  575. data/vendor/libgit2/src/hash/sha1/openssl.c +0 -59
  576. data/vendor/libgit2/src/hash/sha1/win32.c +0 -333
  577. data/vendor/libgit2/src/hash/sha1/win32.h +0 -128
  578. data/vendor/libgit2/src/hash/sha1.h +0 -38
  579. data/vendor/libgit2/src/hash.c +0 -110
  580. data/vendor/libgit2/src/hash.h +0 -46
  581. data/vendor/libgit2/src/idxmap.c +0 -157
  582. data/vendor/libgit2/src/idxmap.h +0 -177
  583. data/vendor/libgit2/src/khash.h +0 -615
  584. data/vendor/libgit2/src/libgit2.h +0 -15
  585. data/vendor/libgit2/src/message.h +0 -17
  586. data/vendor/libgit2/src/net.c +0 -540
  587. data/vendor/libgit2/src/netops.c +0 -125
  588. data/vendor/libgit2/src/netops.h +0 -68
  589. data/vendor/libgit2/src/offmap.c +0 -101
  590. data/vendor/libgit2/src/offmap.h +0 -133
  591. data/vendor/libgit2/src/oid.h +0 -51
  592. data/vendor/libgit2/src/oidarray.c +0 -43
  593. data/vendor/libgit2/src/oidmap.c +0 -107
  594. data/vendor/libgit2/src/oidmap.h +0 -128
  595. data/vendor/libgit2/src/remote.h +0 -55
  596. data/vendor/libgit2/src/streams/socket.c +0 -239
  597. data/vendor/libgit2/src/strmap.c +0 -100
  598. data/vendor/libgit2/src/strmap.h +0 -131
  599. data/vendor/libgit2/src/sysdir.c +0 -347
  600. data/vendor/libgit2/src/threadstate.c +0 -84
  601. data/vendor/libgit2/src/threadstate.h +0 -24
  602. data/vendor/libgit2/src/win32/findfile.c +0 -230
  603. data/vendor/libgit2/src/win32/findfile.h +0 -19
  604. data/vendor/libgit2/src/win32/utf-conv.c +0 -146
  605. data/vendor/libgit2/src/win32/utf-conv.h +0 -60
  606. /data/vendor/libgit2/{src → deps}/xdiff/xemit.h +0 -0
  607. /data/vendor/libgit2/{src → deps}/xdiff/xprepare.h +0 -0
  608. /data/vendor/libgit2/{src → deps}/xdiff/xtypes.h +0 -0
  609. /data/vendor/libgit2/src/{win32 → cli/win32}/precompiled.c +0 -0
  610. /data/vendor/libgit2/src/{attr.h → libgit2/attr.h} +0 -0
  611. /data/vendor/libgit2/src/{blame_git.h → libgit2/blame_git.h} +0 -0
  612. /data/vendor/libgit2/src/{config_parse.h → libgit2/config_parse.h} +0 -0
  613. /data/vendor/libgit2/src/{delta.c → libgit2/delta.c} +0 -0
  614. /data/vendor/libgit2/src/{delta.h → libgit2/delta.h} +0 -0
  615. /data/vendor/libgit2/src/{diff_file.h → libgit2/diff_file.h} +0 -0
  616. /data/vendor/libgit2/src/{diff_parse.h → libgit2/diff_parse.h} +0 -0
  617. /data/vendor/libgit2/src/{diff_tform.h → libgit2/diff_tform.h} +0 -0
  618. /data/vendor/libgit2/src/{fetchhead.h → libgit2/fetchhead.h} +0 -0
  619. /data/vendor/libgit2/src/{hashsig.c → libgit2/hashsig.c} +0 -0
  620. /data/vendor/libgit2/src/{indexer.h → libgit2/indexer.h} +0 -0
  621. /data/vendor/libgit2/src/{mailmap.h → libgit2/mailmap.h} +0 -0
  622. /data/vendor/libgit2/src/{merge_driver.h → libgit2/merge_driver.h} +0 -0
  623. /data/vendor/libgit2/src/{notes.h → libgit2/notes.h} +0 -0
  624. /data/vendor/libgit2/src/{object_api.c → libgit2/object_api.c} +0 -0
  625. /data/vendor/libgit2/src/{patch_parse.h → libgit2/patch_parse.h} +0 -0
  626. /data/vendor/libgit2/src/{refdb.c → libgit2/refdb.c} +0 -0
  627. /data/vendor/libgit2/src/{refdb.h → libgit2/refdb.h} +0 -0
  628. /data/vendor/libgit2/src/{repo_template.h → libgit2/repo_template.h} +0 -0
  629. /data/vendor/libgit2/src/{status.h → libgit2/status.h} +0 -0
  630. /data/vendor/libgit2/src/{stream.h → libgit2/stream.h} +0 -0
  631. /data/vendor/libgit2/src/{streams → libgit2/streams}/mbedtls.h +0 -0
  632. /data/vendor/libgit2/src/{streams → libgit2/streams}/openssl_legacy.c +0 -0
  633. /data/vendor/libgit2/src/{streams → libgit2/streams}/openssl_legacy.h +0 -0
  634. /data/vendor/libgit2/src/{streams → libgit2/streams}/registry.c +0 -0
  635. /data/vendor/libgit2/src/{streams → libgit2/streams}/registry.h +0 -0
  636. /data/vendor/libgit2/src/{streams → libgit2/streams}/stransport.h +0 -0
  637. /data/vendor/libgit2/src/{streams → libgit2/streams}/tls.h +0 -0
  638. /data/vendor/libgit2/src/{transports → libgit2/transports}/credential_helpers.c +0 -0
  639. /data/vendor/libgit2/src/{userdiff.h → libgit2/userdiff.h} +0 -0
  640. /data/vendor/libgit2/src/{bitvec.h → util/bitvec.h} +0 -0
  641. /data/vendor/libgit2/src/{hash/sha1 → util/hash}/sha1dc/sha1.h +0 -0
  642. /data/vendor/libgit2/src/{hash/sha1 → util/hash}/sha1dc/ubc_check.c +0 -0
  643. /data/vendor/libgit2/src/{hash/sha1 → util/hash}/sha1dc/ubc_check.h +0 -0
  644. /data/vendor/libgit2/src/{pqueue.c → util/pqueue.c} +0 -0
  645. /data/vendor/libgit2/src/{strnlen.h → util/strnlen.h} +0 -0
  646. /data/vendor/libgit2/src/{unix → util/unix}/pthread.h +0 -0
  647. /data/vendor/libgit2/src/{varint.c → util/varint.c} +0 -0
  648. /data/vendor/libgit2/src/{wildmatch.c → util/wildmatch.c} +0 -0
  649. /data/vendor/libgit2/src/{win32 → util/win32}/dir.c +0 -0
  650. /data/vendor/libgit2/src/{win32 → util/win32}/mingw-compat.h +0 -0
  651. /data/vendor/libgit2/src/{win32 → util/win32}/msvc-compat.h +0 -0
  652. /data/vendor/libgit2/src/{win32 → util/win32}/reparse.h +0 -0
  653. /data/vendor/libgit2/src/{win32 → util/win32}/thread.c +0 -0
  654. /data/vendor/libgit2/src/{win32 → util/win32}/version.h +0 -0
  655. /data/vendor/libgit2/src/{win32 → util/win32}/w32_common.h +0 -0
  656. /data/vendor/libgit2/src/{win32 → util/win32}/win32-compat.h +0 -0
@@ -1,48 +1,48 @@
1
- INCLUDE(SanitizeBool)
1
+ include(SanitizeBool)
2
2
 
3
3
  # We try to find any packages our backends might use
4
- FIND_PACKAGE(GSSAPI)
5
- IF (CMAKE_SYSTEM_NAME MATCHES "Darwin")
6
- INCLUDE(FindGSSFramework)
7
- ENDIF()
4
+ find_package(GSSAPI)
5
+ if(CMAKE_SYSTEM_NAME MATCHES "Darwin" OR CMAKE_SYSTEM_NAME MATCHES "iOS")
6
+ include(FindGSSFramework)
7
+ endif()
8
8
 
9
- IF(USE_GSSAPI)
9
+ if(USE_GSSAPI)
10
10
  # Auto-select GSS backend
11
- SanitizeBool(USE_GSSAPI)
12
- IF (USE_GSSAPI STREQUAL ON)
13
- IF (GSSFRAMEWORK_FOUND)
14
- SET(USE_GSSAPI "GSS.framework")
15
- ELSEIF(GSSAPI_FOUND)
16
- SET(USE_GSSAPI "gssapi")
17
- ELSE()
18
- MESSAGE(FATAL_ERROR "Unable to autodetect a usable GSS backend."
11
+ sanitizebool(USE_GSSAPI)
12
+ if(USE_GSSAPI STREQUAL ON)
13
+ if(GSSFRAMEWORK_FOUND)
14
+ set(USE_GSSAPI "GSS.framework")
15
+ elseif(GSSAPI_FOUND)
16
+ set(USE_GSSAPI "gssapi")
17
+ else()
18
+ message(FATAL_ERROR "Unable to autodetect a usable GSS backend."
19
19
  "Please pass the backend name explicitly (-DUSE_GSS=backend)")
20
- ENDIF()
21
- ENDIF()
20
+ endif()
21
+ endif()
22
22
 
23
23
  # Check that we can find what's required for the selected backend
24
- IF (USE_GSSAPI STREQUAL "GSS.framework")
25
- IF (NOT GSSFRAMEWORK_FOUND)
26
- MESSAGE(FATAL_ERROR "Asked for GSS.framework backend, but it wasn't found")
27
- ENDIF()
24
+ if(USE_GSSAPI STREQUAL "GSS.framework")
25
+ if(NOT GSSFRAMEWORK_FOUND)
26
+ message(FATAL_ERROR "Asked for GSS.framework backend, but it wasn't found")
27
+ endif()
28
28
 
29
- LIST(APPEND LIBGIT2_LIBS ${GSSFRAMEWORK_LIBRARIES})
29
+ list(APPEND LIBGIT2_SYSTEM_LIBS ${GSSFRAMEWORK_LIBRARIES})
30
30
 
31
- SET(GIT_GSSFRAMEWORK 1)
32
- ADD_FEATURE_INFO(SPNEGO GIT_GSSFRAMEWORK "SPNEGO authentication support (${USE_GSSAPI})")
33
- ELSEIF (USE_GSSAPI STREQUAL "gssapi")
34
- IF (NOT GSSAPI_FOUND)
35
- MESSAGE(FATAL_ERROR "Asked for gssapi GSS backend, but it wasn't found")
36
- ENDIF()
31
+ set(GIT_GSSFRAMEWORK 1)
32
+ add_feature_info(GSSAPI GIT_GSSFRAMEWORK "GSSAPI support for SPNEGO authentication (${USE_GSSAPI})")
33
+ elseif(USE_GSSAPI STREQUAL "gssapi")
34
+ if(NOT GSSAPI_FOUND)
35
+ message(FATAL_ERROR "Asked for gssapi GSS backend, but it wasn't found")
36
+ endif()
37
37
 
38
- LIST(APPEND LIBGIT2_LIBS ${GSSAPI_LIBRARIES})
38
+ list(APPEND LIBGIT2_SYSTEM_LIBS ${GSSAPI_LIBRARIES})
39
39
 
40
- SET(GIT_GSSAPI 1)
41
- ADD_FEATURE_INFO(SPNEGO GIT_GSSAPI "SPNEGO authentication support (${USE_GSSAPI})")
42
- ELSE()
43
- MESSAGE(FATAL_ERROR "Asked for backend ${USE_GSSAPI} but it wasn't found")
44
- ENDIF()
45
- ELSE()
46
- SET(GIT_GSSAPI 0)
47
- ADD_FEATURE_INFO(SPNEGO NO "SPNEGO authentication support")
48
- ENDIF()
40
+ set(GIT_GSSAPI 1)
41
+ add_feature_info(GSSAPI GIT_GSSAPI "GSSAPI support for SPNEGO authentication (${USE_GSSAPI})")
42
+ else()
43
+ message(FATAL_ERROR "Asked for backend ${USE_GSSAPI} but it wasn't found")
44
+ endif()
45
+ else()
46
+ set(GIT_GSSAPI 0)
47
+ add_feature_info(GSSAPI NO "GSSAPI support for SPNEGO authentication")
48
+ endif()
@@ -0,0 +1,34 @@
1
+ # Optional external dependency: http-parser
2
+ if(USE_HTTP_PARSER STREQUAL "http-parser" OR USE_HTTP_PARSER STREQUAL "system")
3
+ find_package(HTTP_Parser)
4
+
5
+ if(HTTP_PARSER_FOUND AND HTTP_PARSER_VERSION_MAJOR EQUAL 2)
6
+ list(APPEND LIBGIT2_SYSTEM_INCLUDES ${HTTP_PARSER_INCLUDE_DIRS})
7
+ list(APPEND LIBGIT2_SYSTEM_LIBS ${HTTP_PARSER_LIBRARIES})
8
+ list(APPEND LIBGIT2_PC_LIBS "-lhttp_parser")
9
+ set(GIT_HTTPPARSER_HTTPPARSER 1)
10
+ add_feature_info(http-parser ON "using http-parser (system)")
11
+ else()
12
+ message(FATAL_ERROR "http-parser support was requested but not found")
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")
32
+ else()
33
+ message(FATAL_ERROR "unknown http-parser: ${USE_HTTP_PARSER}")
34
+ endif()
@@ -1,124 +1,152 @@
1
- INCLUDE(SanitizeBool)
1
+ include(SanitizeBool)
2
2
 
3
3
  # We try to find any packages our backends might use
4
- FIND_PACKAGE(OpenSSL)
5
- FIND_PACKAGE(mbedTLS)
6
- IF (CMAKE_SYSTEM_NAME MATCHES "Darwin")
7
- FIND_PACKAGE(Security)
8
- FIND_PACKAGE(CoreFoundation)
9
- ENDIF()
4
+ find_package(OpenSSL)
5
+ find_package(mbedTLS)
6
+ if(CMAKE_SYSTEM_NAME MATCHES "Darwin" OR CMAKE_SYSTEM_NAME MATCHES "iOS")
7
+ find_package(Security)
8
+ find_package(CoreFoundation)
9
+ endif()
10
10
 
11
- IF(USE_HTTPS)
11
+ if(USE_HTTPS STREQUAL "")
12
+ set(USE_HTTPS ON)
13
+ endif()
14
+
15
+ sanitizebool(USE_HTTPS)
16
+
17
+ if(USE_HTTPS)
12
18
  # Auto-select TLS backend
13
- SanitizeBool(USE_HTTPS)
14
- IF (USE_HTTPS STREQUAL ON)
15
- IF (SECURITY_FOUND)
16
- IF (SECURITY_HAS_SSLCREATECONTEXT)
17
- SET(USE_HTTPS "SecureTransport")
18
- ELSE()
19
- MESSAGE(STATUS "Security framework is too old, falling back to OpenSSL")
20
- SET(USE_HTTPS "OpenSSL")
21
- ENDIF()
22
- ELSEIF (WINHTTP)
23
- SET(USE_HTTPS "WinHTTP")
24
- ELSEIF(OPENSSL_FOUND)
25
- SET(USE_HTTPS "OpenSSL")
26
- ELSEIF(MBEDTLS_FOUND)
27
- SET(USE_HTTPS "mbedTLS")
28
- ELSE()
29
- MESSAGE(FATAL_ERROR "Unable to autodetect a usable HTTPS backend."
19
+ if(USE_HTTPS STREQUAL ON)
20
+ if(SECURITY_FOUND)
21
+ if(SECURITY_HAS_SSLCREATECONTEXT)
22
+ set(USE_HTTPS "SecureTransport")
23
+ else()
24
+ message(STATUS "Security framework is too old, falling back to OpenSSL")
25
+ set(USE_HTTPS "OpenSSL")
26
+ endif()
27
+ elseif(WIN32)
28
+ set(USE_HTTPS "WinHTTP")
29
+ elseif(OPENSSL_FOUND)
30
+ set(USE_HTTPS "OpenSSL")
31
+ elseif(MBEDTLS_FOUND)
32
+ set(USE_HTTPS "mbedTLS")
33
+ else()
34
+ message(FATAL_ERROR "Unable to autodetect a usable HTTPS backend."
30
35
  "Please pass the backend name explicitly (-DUSE_HTTPS=backend)")
31
- ENDIF()
32
- ENDIF()
36
+ endif()
37
+ endif()
33
38
 
34
39
  # Check that we can find what's required for the selected backend
35
- IF (USE_HTTPS STREQUAL "SecureTransport")
36
- IF (NOT COREFOUNDATION_FOUND)
37
- MESSAGE(FATAL_ERROR "Cannot use SecureTransport backend, CoreFoundation.framework not found")
38
- ENDIF()
39
- IF (NOT SECURITY_FOUND)
40
- MESSAGE(FATAL_ERROR "Cannot use SecureTransport backend, Security.framework not found")
41
- ENDIF()
42
- IF (NOT SECURITY_HAS_SSLCREATECONTEXT)
43
- MESSAGE(FATAL_ERROR "Cannot use SecureTransport backend, SSLCreateContext not supported")
44
- ENDIF()
40
+ if(USE_HTTPS STREQUAL "SecureTransport")
41
+ if(NOT COREFOUNDATION_FOUND)
42
+ message(FATAL_ERROR "Cannot use SecureTransport backend, CoreFoundation.framework not found")
43
+ endif()
44
+ if(NOT SECURITY_FOUND)
45
+ message(FATAL_ERROR "Cannot use SecureTransport backend, Security.framework not found")
46
+ endif()
47
+ if(NOT SECURITY_HAS_SSLCREATECONTEXT)
48
+ message(FATAL_ERROR "Cannot use SecureTransport backend, SSLCreateContext not supported")
49
+ endif()
45
50
 
46
- SET(GIT_SECURE_TRANSPORT 1)
47
- LIST(APPEND LIBGIT2_SYSTEM_INCLUDES ${SECURITY_INCLUDE_DIR})
48
- LIST(APPEND LIBGIT2_LIBS ${COREFOUNDATION_LDFLAGS} ${SECURITY_LDFLAGS})
49
- LIST(APPEND LIBGIT2_PC_LIBS ${COREFOUNDATION_LDFLAGS} ${SECURITY_LDFLAGS})
50
- ELSEIF (USE_HTTPS STREQUAL "OpenSSL")
51
- IF (NOT OPENSSL_FOUND)
52
- MESSAGE(FATAL_ERROR "Asked for OpenSSL TLS backend, but it wasn't found")
53
- ENDIF()
51
+ set(GIT_SECURE_TRANSPORT 1)
52
+ list(APPEND LIBGIT2_SYSTEM_INCLUDES ${SECURITY_INCLUDE_DIR})
53
+ list(APPEND LIBGIT2_SYSTEM_LIBS ${COREFOUNDATION_LDFLAGS} ${SECURITY_LDFLAGS})
54
+ list(APPEND LIBGIT2_PC_LIBS ${COREFOUNDATION_LDFLAGS} ${SECURITY_LDFLAGS})
55
+ elseif(USE_HTTPS STREQUAL "OpenSSL")
56
+ if(NOT OPENSSL_FOUND)
57
+ message(FATAL_ERROR "Asked for OpenSSL TLS backend, but it wasn't found")
58
+ endif()
54
59
 
55
- SET(GIT_OPENSSL 1)
56
- LIST(APPEND LIBGIT2_SYSTEM_INCLUDES ${OPENSSL_INCLUDE_DIR})
57
- LIST(APPEND LIBGIT2_LIBS ${OPENSSL_LIBRARIES})
58
- LIST(APPEND LIBGIT2_PC_LIBS ${OPENSSL_LDFLAGS})
59
- LIST(APPEND LIBGIT2_PC_REQUIRES "openssl")
60
- ELSEIF(USE_HTTPS STREQUAL "mbedTLS")
61
- IF (NOT MBEDTLS_FOUND)
62
- MESSAGE(FATAL_ERROR "Asked for mbedTLS backend, but it wasn't found")
63
- ENDIF()
60
+ set(GIT_OPENSSL 1)
61
+ list(APPEND LIBGIT2_SYSTEM_INCLUDES ${OPENSSL_INCLUDE_DIR})
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()
67
+ list(APPEND LIBGIT2_PC_LIBS ${OPENSSL_LDFLAGS})
68
+ list(APPEND LIBGIT2_PC_REQUIRES "openssl")
69
+ elseif(USE_HTTPS STREQUAL "mbedTLS")
70
+ if(NOT MBEDTLS_FOUND)
71
+ message(FATAL_ERROR "Asked for mbedTLS backend, but it wasn't found")
72
+ endif()
64
73
 
65
- IF(NOT CERT_LOCATION)
66
- MESSAGE(STATUS "Auto-detecting default certificates location")
67
- IF(CMAKE_SYSTEM_NAME MATCHES Darwin)
74
+ if(NOT CERT_LOCATION)
75
+ message(STATUS "Auto-detecting default certificates location")
76
+ if(EXISTS "/usr/local/opt/openssl/bin/openssl")
68
77
  # Check for an Homebrew installation
69
- SET(OPENSSL_CMD "/usr/local/opt/openssl/bin/openssl")
70
- ELSE()
71
- SET(OPENSSL_CMD "openssl")
72
- ENDIF()
73
- EXECUTE_PROCESS(COMMAND ${OPENSSL_CMD} version -d OUTPUT_VARIABLE OPENSSL_DIR OUTPUT_STRIP_TRAILING_WHITESPACE)
74
- IF(OPENSSL_DIR)
75
- STRING(REGEX REPLACE "^OPENSSLDIR: \"(.*)\"$" "\\1/" OPENSSL_DIR ${OPENSSL_DIR})
78
+ set(OPENSSL_CMD "/usr/local/opt/openssl/bin/openssl")
79
+ else()
80
+ set(OPENSSL_CMD "openssl")
81
+ endif()
82
+ execute_process(COMMAND ${OPENSSL_CMD} version -d OUTPUT_VARIABLE OPENSSL_DIR OUTPUT_STRIP_TRAILING_WHITESPACE)
83
+ if(OPENSSL_DIR)
84
+ string(REGEX REPLACE "^OPENSSLDIR: \"(.*)\"$" "\\1/" OPENSSL_DIR ${OPENSSL_DIR})
76
85
 
77
- SET(OPENSSL_CA_LOCATIONS
86
+ set(OPENSSL_CA_LOCATIONS
78
87
  "ca-bundle.pem" # OpenSUSE Leap 42.1
79
88
  "cert.pem" # Ubuntu 14.04, FreeBSD
80
89
  "certs/ca-certificates.crt" # Ubuntu 16.04
81
90
  "certs/ca.pem" # Debian 7
82
91
  )
83
- FOREACH(SUFFIX IN LISTS OPENSSL_CA_LOCATIONS)
84
- SET(LOC "${OPENSSL_DIR}${SUFFIX}")
85
- IF(NOT CERT_LOCATION AND EXISTS "${OPENSSL_DIR}${SUFFIX}")
86
- SET(CERT_LOCATION ${LOC})
87
- ENDIF()
88
- ENDFOREACH()
89
- ELSE()
90
- MESSAGE(FATAL_ERROR "Unable to find OpenSSL executable. Please provide default certificate location via CERT_LOCATION")
91
- ENDIF()
92
- ENDIF()
92
+ foreach(SUFFIX IN LISTS OPENSSL_CA_LOCATIONS)
93
+ set(LOC "${OPENSSL_DIR}${SUFFIX}")
94
+ if(NOT CERT_LOCATION AND EXISTS "${OPENSSL_DIR}${SUFFIX}")
95
+ set(CERT_LOCATION ${LOC})
96
+ endif()
97
+ endforeach()
98
+ else()
99
+ message(FATAL_ERROR "Unable to find OpenSSL executable. Please provide default certificate location via CERT_LOCATION")
100
+ endif()
101
+ endif()
93
102
 
94
- IF(CERT_LOCATION)
95
- IF(NOT EXISTS ${CERT_LOCATION})
96
- MESSAGE(FATAL_ERROR "Cannot use CERT_LOCATION=${CERT_LOCATION} as it doesn't exist")
97
- ENDIF()
98
- ADD_FEATURE_INFO(CERT_LOCATION ON "using certificates from ${CERT_LOCATION}")
99
- ADD_DEFINITIONS(-DGIT_DEFAULT_CERT_LOCATION="${CERT_LOCATION}")
100
- ENDIF()
103
+ if(CERT_LOCATION)
104
+ if(NOT EXISTS ${CERT_LOCATION})
105
+ message(FATAL_ERROR "Cannot use CERT_LOCATION=${CERT_LOCATION} as it doesn't exist")
106
+ endif()
107
+ add_feature_info(CERT_LOCATION ON "using certificates from ${CERT_LOCATION}")
108
+ add_definitions(-DGIT_DEFAULT_CERT_LOCATION="${CERT_LOCATION}")
109
+ endif()
101
110
 
102
- SET(GIT_MBEDTLS 1)
103
- LIST(APPEND LIBGIT2_SYSTEM_INCLUDES ${MBEDTLS_INCLUDE_DIR})
104
- LIST(APPEND LIBGIT2_LIBS ${MBEDTLS_LIBRARIES})
111
+ set(GIT_MBEDTLS 1)
112
+ list(APPEND LIBGIT2_SYSTEM_INCLUDES ${MBEDTLS_INCLUDE_DIR})
113
+ list(APPEND LIBGIT2_SYSTEM_LIBS ${MBEDTLS_LIBRARIES})
105
114
  # mbedTLS has no pkgconfig file, hence we can't require it
106
115
  # https://github.com/ARMmbed/mbedtls/issues/228
107
116
  # For now, pass its link flags as our own
108
- LIST(APPEND LIBGIT2_PC_LIBS ${MBEDTLS_LIBRARIES})
109
- ELSEIF (USE_HTTPS STREQUAL "WinHTTP")
110
- # WinHTTP setup was handled in the WinHTTP-specific block above
111
- ELSEIF (USE_HTTPS STREQUAL "OpenSSL-Dynamic")
112
- SET(GIT_OPENSSL 1)
113
- SET(GIT_OPENSSL_DYNAMIC 1)
114
- LIST(APPEND LIBGIT2_LIBS dl)
115
- ELSE()
116
- MESSAGE(FATAL_ERROR "Asked for backend ${USE_HTTPS} but it wasn't found")
117
- ENDIF()
117
+ list(APPEND LIBGIT2_PC_LIBS ${MBEDTLS_LIBRARIES})
118
+ elseif(USE_HTTPS STREQUAL "Schannel")
119
+ set(GIT_SCHANNEL 1)
120
+
121
+ list(APPEND LIBGIT2_SYSTEM_LIBS "rpcrt4" "crypt32" "ole32")
122
+ list(APPEND LIBGIT2_PC_LIBS "-lrpcrt4" "-lcrypt32" "-lole32")
123
+ elseif(USE_HTTPS STREQUAL "WinHTTP")
124
+ set(GIT_WINHTTP 1)
125
+
126
+ # Since MinGW does not come with headers or an import library for winhttp,
127
+ # we have to include a private header and generate our own import library
128
+ if(MINGW)
129
+ add_subdirectory("${PROJECT_SOURCE_DIR}/deps/winhttp" "${PROJECT_BINARY_DIR}/deps/winhttp")
130
+ list(APPEND LIBGIT2_SYSTEM_LIBS winhttp)
131
+ list(APPEND LIBGIT2_DEPENDENCY_INCLUDES "${PROJECT_SOURCE_DIR}/deps/winhttp")
132
+ else()
133
+ list(APPEND LIBGIT2_SYSTEM_LIBS "winhttp")
134
+ list(APPEND LIBGIT2_PC_LIBS "-lwinhttp")
135
+ endif()
136
+
137
+ list(APPEND LIBGIT2_SYSTEM_LIBS "rpcrt4" "crypt32" "ole32")
138
+ list(APPEND LIBGIT2_PC_LIBS "-lrpcrt4" "-lcrypt32" "-lole32")
139
+ elseif(USE_HTTPS STREQUAL "OpenSSL-Dynamic")
140
+ set(GIT_OPENSSL 1)
141
+ set(GIT_OPENSSL_DYNAMIC 1)
142
+ list(APPEND LIBGIT2_SYSTEM_LIBS dl)
143
+ else()
144
+ message(FATAL_ERROR "unknown HTTPS backend: ${USE_HTTPS}")
145
+ endif()
118
146
 
119
- SET(GIT_HTTPS 1)
120
- ADD_FEATURE_INFO(HTTPS GIT_HTTPS "using ${USE_HTTPS}")
121
- ELSE()
122
- SET(GIT_HTTPS 0)
123
- ADD_FEATURE_INFO(HTTPS NO "")
124
- ENDIF()
147
+ set(GIT_HTTPS 1)
148
+ add_feature_info(HTTPS GIT_HTTPS "using ${USE_HTTPS}")
149
+ else()
150
+ set(GIT_HTTPS 0)
151
+ add_feature_info(HTTPS NO "HTTPS support is disabled")
152
+ endif()
@@ -1,62 +1,121 @@
1
1
  # Select a hash backend
2
2
 
3
- INCLUDE(SanitizeBool)
3
+ include(SanitizeBool)
4
4
 
5
- # USE_SHA1=CollisionDetection(ON)/HTTPS/Generic/OFF
5
+ sanitizebool(USE_SHA1)
6
+ sanitizebool(USE_SHA256)
6
7
 
7
- SanitizeBool(USE_SHA1)
8
- IF(USE_SHA1 STREQUAL ON)
8
+ # sha1
9
+
10
+ if(USE_SHA1 STREQUAL "" OR USE_SHA1 STREQUAL ON)
9
11
  SET(USE_SHA1 "CollisionDetection")
10
- ELSEIF(USE_SHA1 STREQUAL "HTTPS")
11
- IF(USE_HTTPS STREQUAL "SecureTransport")
12
- SET(USE_SHA1 "CommonCrypto")
13
- ELSEIF(USE_HTTPS STREQUAL "WinHTTP")
14
- SET(USE_SHA1 "Win32")
15
- ELSEIF(USE_HTTPS)
16
- SET(USE_SHA1 ${USE_HTTPS})
17
- ELSE()
18
- SET(USE_SHA1 "CollisionDetection")
19
- ENDIF()
20
- ENDIF()
21
-
22
- IF(USE_SHA1 STREQUAL "CollisionDetection")
23
- SET(GIT_SHA1_COLLISIONDETECT 1)
24
- ADD_DEFINITIONS(-DSHA1DC_NO_STANDARD_INCLUDES=1)
25
- ADD_DEFINITIONS(-DSHA1DC_CUSTOM_INCLUDE_SHA1_C=\"common.h\")
26
- ADD_DEFINITIONS(-DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C=\"common.h\")
27
- FILE(GLOB SRC_SHA1 hash/sha1/collisiondetect.* hash/sha1/sha1dc/*)
28
- ELSEIF(USE_SHA1 STREQUAL "OpenSSL")
29
- # OPENSSL_FOUND should already be set, we're checking USE_HTTPS
30
-
31
- SET(GIT_SHA1_OPENSSL 1)
32
- IF(CMAKE_SYSTEM_NAME MATCHES "FreeBSD")
33
- LIST(APPEND LIBGIT2_PC_LIBS "-lssl")
34
- ELSE()
35
- LIST(APPEND LIBGIT2_PC_REQUIRES "openssl")
36
- ENDIF()
37
- FILE(GLOB SRC_SHA1 hash/sha1/openssl.*)
38
- ELSEIF(USE_SHA1 STREQUAL "CommonCrypto")
39
- SET(GIT_SHA1_COMMON_CRYPTO 1)
40
- FILE(GLOB SRC_SHA1 hash/sha1/common_crypto.*)
41
- ELSEIF(USE_SHA1 STREQUAL "mbedTLS")
42
- SET(GIT_SHA1_MBEDTLS 1)
43
- FILE(GLOB SRC_SHA1 hash/sha1/mbedtls.*)
44
- LIST(APPEND LIBGIT2_SYSTEM_INCLUDES ${MBEDTLS_INCLUDE_DIR})
45
- LIST(APPEND LIBGIT2_LIBS ${MBEDTLS_LIBRARIES})
12
+ elseif(USE_SHA1 STREQUAL "HTTPS")
13
+ if(USE_HTTPS STREQUAL "SecureTransport")
14
+ set(USE_SHA1 "CommonCrypto")
15
+ elseif(USE_HTTPS STREQUAL "Schannel")
16
+ set(USE_SHA1 "Win32")
17
+ elseif(USE_HTTPS STREQUAL "WinHTTP")
18
+ set(USE_SHA1 "Win32")
19
+ elseif(USE_HTTPS)
20
+ set(USE_SHA1 ${USE_HTTPS})
21
+ else()
22
+ message(FATAL_ERROR "asked for HTTPS SHA1 backend but HTTPS is not enabled")
23
+ endif()
24
+ endif()
25
+
26
+ if(USE_SHA1 STREQUAL "CollisionDetection")
27
+ set(GIT_SHA1_COLLISIONDETECT 1)
28
+ elseif(USE_SHA1 STREQUAL "OpenSSL")
29
+ set(GIT_SHA1_OPENSSL 1)
30
+ elseif(USE_SHA1 STREQUAL "OpenSSL-FIPS")
31
+ set(GIT_SHA1_OPENSSL_FIPS 1)
32
+ elseif(USE_SHA1 STREQUAL "OpenSSL-Dynamic")
33
+ set(GIT_SHA1_OPENSSL 1)
34
+ set(GIT_SHA1_OPENSSL_DYNAMIC 1)
35
+ list(APPEND LIBGIT2_SYSTEM_LIBS dl)
36
+ elseif(USE_SHA1 STREQUAL "CommonCrypto")
37
+ set(GIT_SHA1_COMMON_CRYPTO 1)
38
+ elseif(USE_SHA1 STREQUAL "mbedTLS")
39
+ set(GIT_SHA1_MBEDTLS 1)
40
+ elseif(USE_SHA1 STREQUAL "Win32")
41
+ set(GIT_SHA1_WIN32 1)
42
+ else()
43
+ message(FATAL_ERROR "asked for unknown SHA1 backend: ${USE_SHA1}")
44
+ endif()
45
+
46
+ # sha256
47
+
48
+ if(USE_SHA256 STREQUAL "" OR USE_SHA256 STREQUAL ON)
49
+ if(USE_HTTPS)
50
+ SET(USE_SHA256 "HTTPS")
51
+ else()
52
+ SET(USE_SHA256 "builtin")
53
+ endif()
54
+ endif()
55
+
56
+ if(USE_SHA256 STREQUAL "Builtin")
57
+ set(USE_SHA256 "builtin")
58
+ endif()
59
+
60
+ if(USE_SHA256 STREQUAL "HTTPS")
61
+ if(USE_HTTPS STREQUAL "SecureTransport")
62
+ set(USE_SHA256 "CommonCrypto")
63
+ elseif(USE_HTTPS STREQUAL "Schannel")
64
+ set(USE_SHA256 "Win32")
65
+ elseif(USE_HTTPS STREQUAL "WinHTTP")
66
+ set(USE_SHA256 "Win32")
67
+ elseif(USE_HTTPS)
68
+ set(USE_SHA256 ${USE_HTTPS})
69
+ endif()
70
+ endif()
71
+
72
+ if(USE_SHA256 STREQUAL "builtin")
73
+ set(GIT_SHA256_BUILTIN 1)
74
+ elseif(USE_SHA256 STREQUAL "OpenSSL")
75
+ set(GIT_SHA256_OPENSSL 1)
76
+ elseif(USE_SHA256 STREQUAL "OpenSSL-FIPS")
77
+ set(GIT_SHA256_OPENSSL_FIPS 1)
78
+ elseif(USE_SHA256 STREQUAL "OpenSSL-Dynamic")
79
+ set(GIT_SHA256_OPENSSL 1)
80
+ set(GIT_SHA256_OPENSSL_DYNAMIC 1)
81
+ list(APPEND LIBGIT2_SYSTEM_LIBS dl)
82
+ elseif(USE_SHA256 STREQUAL "CommonCrypto")
83
+ set(GIT_SHA256_COMMON_CRYPTO 1)
84
+ elseif(USE_SHA256 STREQUAL "mbedTLS")
85
+ set(GIT_SHA256_MBEDTLS 1)
86
+ elseif(USE_SHA256 STREQUAL "Win32")
87
+ set(GIT_SHA256_WIN32 1)
88
+ else()
89
+ message(FATAL_ERROR "asked for unknown SHA256 backend: ${USE_SHA256}")
90
+ endif()
91
+
92
+ # add library requirements
93
+ if(USE_SHA1 STREQUAL "OpenSSL" OR USE_SHA256 STREQUAL "OpenSSL" OR
94
+ USE_SHA1 STREQUAL "OpenSSL-FIPS" OR USE_SHA256 STREQUAL "OpenSSL-FIPS")
95
+ if(CMAKE_SYSTEM_NAME MATCHES "FreeBSD")
96
+ list(APPEND LIBGIT2_PC_LIBS "-lssl")
97
+ else()
98
+ list(APPEND LIBGIT2_PC_REQUIRES "openssl")
99
+ endif()
100
+ endif()
101
+
102
+ if(USE_SHA1 STREQUAL "mbedTLS" OR USE_SHA256 STREQUAL "mbedTLS")
103
+ list(APPEND LIBGIT2_SYSTEM_INCLUDES ${MBEDTLS_INCLUDE_DIR})
104
+ list(APPEND LIBGIT2_SYSTEM_LIBS ${MBEDTLS_LIBRARIES})
46
105
  # mbedTLS has no pkgconfig file, hence we can't require it
47
106
  # https://github.com/ARMmbed/mbedtls/issues/228
48
107
  # For now, pass its link flags as our own
49
- LIST(APPEND LIBGIT2_PC_LIBS ${MBEDTLS_LIBRARIES})
50
- ELSEIF(USE_SHA1 STREQUAL "Win32")
51
- SET(GIT_SHA1_WIN32 1)
52
- FILE(GLOB SRC_SHA1 hash/sha1/win32.*)
53
- ELSEIF(USE_SHA1 STREQUAL "Generic")
54
- FILE(GLOB SRC_SHA1 hash/sha1/generic.*)
55
- ELSE()
56
- MESSAGE(FATAL_ERROR "Asked for unknown SHA1 backend: ${USE_SHA1}")
57
- ENDIF()
58
-
59
- list(APPEND SRC_SHA1 "hash/sha1.h")
60
- list(SORT SRC_SHA1)
61
-
62
- ADD_FEATURE_INFO(SHA ON "using ${USE_SHA1}")
108
+ list(APPEND LIBGIT2_PC_LIBS ${MBEDTLS_LIBRARIES})
109
+ endif()
110
+
111
+ # notify feature enablement
112
+
113
+ add_feature_info(SHA1 ON "using ${USE_SHA1}")
114
+ add_feature_info(SHA256 ON "using ${USE_SHA256}")
115
+
116
+ # warn for users who do not use sha1dc
117
+
118
+ if(NOT "${USE_SHA1}" STREQUAL "CollisionDetection")
119
+ list(APPEND WARNINGS "SHA1 support is set to ${USE_SHA1} which is not recommended - git's hash algorithm is sha1dc, it is *not* SHA1. Using SHA1 may leave you and your users susceptible to SHAttered-style attacks.")
120
+ set(WARNINGS ${WARNINGS} PARENT_SCOPE)
121
+ endif()
@@ -0,0 +1,56 @@
1
+ # Specify regular expression implementation
2
+ find_package(PCRE)
3
+
4
+ if(REGEX_BACKEND STREQUAL "")
5
+ check_symbol_exists(regcomp_l "regex.h;xlocale.h" HAVE_REGCOMP_L)
6
+
7
+ if(HAVE_REGCOMP_L)
8
+ # 'regcomp_l' has been explicitly marked unavailable on iOS_SDK
9
+ if(CMAKE_SYSTEM_NAME MATCHES "iOS")
10
+ set(REGEX_BACKEND "regcomp")
11
+ else()
12
+ set(REGEX_BACKEND "regcomp_l")
13
+ endif()
14
+ elseif(PCRE_FOUND)
15
+ set(REGEX_BACKEND "pcre")
16
+ else()
17
+ set(REGEX_BACKEND "builtin")
18
+ endif()
19
+ endif()
20
+
21
+ if(REGEX_BACKEND STREQUAL "regcomp_l")
22
+ add_feature_info(regex ON "using system regcomp_l")
23
+ set(GIT_REGEX_REGCOMP_L 1)
24
+ elseif(REGEX_BACKEND STREQUAL "pcre2")
25
+ find_package(PCRE2)
26
+
27
+ if(NOT PCRE2_FOUND)
28
+ MESSAGE(FATAL_ERROR "PCRE2 support was requested but not found")
29
+ endif()
30
+
31
+ add_feature_info(regex ON "using system PCRE2")
32
+ set(GIT_REGEX_PCRE2 1)
33
+
34
+ list(APPEND LIBGIT2_SYSTEM_INCLUDES ${PCRE2_INCLUDE_DIRS})
35
+ list(APPEND LIBGIT2_SYSTEM_LIBS ${PCRE2_LIBRARIES})
36
+ list(APPEND LIBGIT2_PC_REQUIRES "libpcre2-8")
37
+ elseif(REGEX_BACKEND STREQUAL "pcre")
38
+ add_feature_info(regex ON "using system PCRE")
39
+ set(GIT_REGEX_PCRE 1)
40
+
41
+ list(APPEND LIBGIT2_SYSTEM_INCLUDES ${PCRE_INCLUDE_DIRS})
42
+ list(APPEND LIBGIT2_SYSTEM_LIBS ${PCRE_LIBRARIES})
43
+ list(APPEND LIBGIT2_PC_REQUIRES "libpcre")
44
+ elseif(REGEX_BACKEND STREQUAL "regcomp")
45
+ add_feature_info(regex ON "using system regcomp")
46
+ set(GIT_REGEX_REGCOMP 1)
47
+ elseif(REGEX_BACKEND STREQUAL "builtin")
48
+ add_feature_info(regex ON "using bundled PCRE")
49
+ set(GIT_REGEX_BUILTIN 1)
50
+
51
+ add_subdirectory("${PROJECT_SOURCE_DIR}/deps/pcre" "${PROJECT_BINARY_DIR}/deps/pcre")
52
+ list(APPEND LIBGIT2_DEPENDENCY_INCLUDES "${PROJECT_SOURCE_DIR}/deps/pcre")
53
+ list(APPEND LIBGIT2_DEPENDENCY_OBJECTS $<TARGET_OBJECTS:pcre>)
54
+ else()
55
+ message(FATAL_ERROR "The REGEX_BACKEND option provided is not supported")
56
+ endif()
@@ -0,0 +1,46 @@
1
+ if(USE_SSH STREQUAL "exec")
2
+ set(GIT_SSH 1)
3
+ set(GIT_SSH_EXEC 1)
4
+
5
+ add_feature_info(SSH ON "using OpenSSH exec support")
6
+ elseif(USE_SSH STREQUAL ON OR USE_SSH STREQUAL "libssh2")
7
+ find_pkglibraries(LIBSSH2 libssh2)
8
+
9
+ if(NOT LIBSSH2_FOUND)
10
+ find_package(LibSSH2)
11
+ set(LIBSSH2_INCLUDE_DIRS ${LIBSSH2_INCLUDE_DIR})
12
+ get_filename_component(LIBSSH2_LIBRARY_DIRS "${LIBSSH2_LIBRARY}" DIRECTORY)
13
+ set(LIBSSH2_LIBRARIES ${LIBSSH2_LIBRARY})
14
+ set(LIBSSH2_LDFLAGS "-lssh2")
15
+ endif()
16
+
17
+ if(NOT LIBSSH2_FOUND)
18
+ message(FATAL_ERROR "LIBSSH2 not found. Set CMAKE_PREFIX_PATH if it is installed outside of the default search path.")
19
+ endif()
20
+
21
+ list(APPEND LIBGIT2_SYSTEM_INCLUDES ${LIBSSH2_INCLUDE_DIRS})
22
+ list(APPEND LIBGIT2_SYSTEM_LIBS ${LIBSSH2_LIBRARIES})
23
+ list(APPEND LIBGIT2_PC_LIBS ${LIBSSH2_LDFLAGS})
24
+
25
+ check_library_exists("${LIBSSH2_LIBRARIES}" libssh2_userauth_publickey_frommemory "${LIBSSH2_LIBRARY_DIRS}" HAVE_LIBSSH2_MEMORY_CREDENTIALS)
26
+ if(HAVE_LIBSSH2_MEMORY_CREDENTIALS)
27
+ set(GIT_SSH_LIBSSH2_MEMORY_CREDENTIALS 1)
28
+ endif()
29
+
30
+ if(WIN32 AND EMBED_SSH_PATH)
31
+ file(GLOB SSH_SRC "${EMBED_SSH_PATH}/src/*.c")
32
+ list(SORT SSH_SRC)
33
+ list(APPEND LIBGIT2_DEPENDENCY_OBJECTS ${SSH_SRC})
34
+
35
+ list(APPEND LIBGIT2_DEPENDENCY_INCLUDES "${EMBED_SSH_PATH}/include")
36
+ file(WRITE "${EMBED_SSH_PATH}/src/libssh2_config.h" "#define HAVE_WINCNG\n#define LIBSSH2_WINCNG\n#include \"../win32/libssh2_config.h\"")
37
+ endif()
38
+
39
+ set(GIT_SSH 1)
40
+ set(GIT_SSH_LIBSSH2 1)
41
+ add_feature_info(SSH ON "using libssh2")
42
+ elseif(USE_SSH STREQUAL OFF OR USE_SSH STREQUAL "")
43
+ add_feature_info(SSH OFF "SSH transport support")
44
+ else()
45
+ message(FATAL_ERROR "unknown SSH option: ${USE_HTTP_PARSER}")
46
+ endif()