rugged 0.28.5 → 1.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (411) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -2
  3. data/ext/rugged/extconf.rb +3 -1
  4. data/ext/rugged/rugged.c +35 -31
  5. data/ext/rugged/rugged.h +13 -0
  6. data/ext/rugged/rugged_blob.c +11 -9
  7. data/ext/rugged/rugged_commit.c +18 -16
  8. data/ext/rugged/rugged_config.c +1 -1
  9. data/ext/rugged/rugged_diff.c +4 -26
  10. data/ext/rugged/rugged_index.c +4 -2
  11. data/ext/rugged/rugged_note.c +5 -3
  12. data/ext/rugged/rugged_object.c +57 -10
  13. data/ext/rugged/rugged_rebase.c +3 -1
  14. data/ext/rugged/rugged_remote.c +32 -8
  15. data/ext/rugged/rugged_repo.c +232 -17
  16. data/ext/rugged/rugged_tag.c +8 -6
  17. data/ext/rugged/rugged_tree.c +18 -16
  18. data/lib/rugged/commit.rb +17 -4
  19. data/lib/rugged/repository.rb +5 -6
  20. data/lib/rugged/submodule_collection.rb +4 -4
  21. data/lib/rugged/version.rb +1 -1
  22. data/vendor/libgit2/CMakeLists.txt +57 -75
  23. data/vendor/libgit2/COPYING +28 -0
  24. data/vendor/libgit2/cmake/{Modules/AddCFlagIfSupported.cmake → AddCFlagIfSupported.cmake} +0 -0
  25. data/vendor/libgit2/cmake/{Modules/EnableWarnings.cmake → EnableWarnings.cmake} +5 -1
  26. data/vendor/libgit2/cmake/{Modules/FindCoreFoundation.cmake → FindCoreFoundation.cmake} +2 -2
  27. data/vendor/libgit2/cmake/{Modules/FindGSSAPI.cmake → FindGSSAPI.cmake} +1 -1
  28. data/vendor/libgit2/cmake/FindGSSFramework.cmake +28 -0
  29. data/vendor/libgit2/cmake/{Modules/FindHTTP_Parser.cmake → FindHTTP_Parser.cmake} +0 -0
  30. data/vendor/libgit2/cmake/{Modules/FindIconv.cmake → FindIconv.cmake} +0 -0
  31. data/vendor/libgit2/cmake/FindPCRE.cmake +38 -0
  32. data/vendor/libgit2/cmake/FindPCRE2.cmake +37 -0
  33. data/vendor/libgit2/cmake/{Modules/FindPkgLibraries.cmake → FindPkgLibraries.cmake} +0 -0
  34. data/vendor/libgit2/cmake/{Modules/FindSecurity.cmake → FindSecurity.cmake} +2 -2
  35. data/vendor/libgit2/cmake/{Modules/FindStatNsec.cmake → FindStatNsec.cmake} +6 -0
  36. data/vendor/libgit2/cmake/{Modules/FindmbedTLS.cmake → FindmbedTLS.cmake} +0 -0
  37. data/vendor/libgit2/cmake/{Modules/IdeSplitSources.cmake → IdeSplitSources.cmake} +0 -0
  38. data/vendor/libgit2/cmake/PkgBuildConfig.cmake +77 -0
  39. data/vendor/libgit2/cmake/SanitizeBool.cmake +20 -0
  40. data/vendor/libgit2/cmake/SelectGSSAPI.cmake +48 -0
  41. data/vendor/libgit2/cmake/SelectHTTPSBackend.cmake +120 -0
  42. data/vendor/libgit2/cmake/SelectHashes.cmake +61 -0
  43. data/vendor/libgit2/deps/http-parser/CMakeLists.txt +4 -3
  44. data/vendor/libgit2/deps/http-parser/http_parser.c +11 -6
  45. data/vendor/libgit2/deps/ntlmclient/CMakeLists.txt +25 -0
  46. data/vendor/libgit2/deps/ntlmclient/compat.h +28 -0
  47. data/vendor/libgit2/deps/ntlmclient/crypt.h +64 -0
  48. data/vendor/libgit2/deps/ntlmclient/crypt_commoncrypto.c +120 -0
  49. data/vendor/libgit2/deps/ntlmclient/crypt_commoncrypto.h +18 -0
  50. data/vendor/libgit2/deps/ntlmclient/crypt_mbedtls.c +145 -0
  51. data/vendor/libgit2/deps/ntlmclient/crypt_mbedtls.h +18 -0
  52. data/vendor/libgit2/deps/ntlmclient/crypt_openssl.c +130 -0
  53. data/vendor/libgit2/deps/ntlmclient/crypt_openssl.h +21 -0
  54. data/vendor/libgit2/deps/ntlmclient/ntlm.c +1419 -0
  55. data/vendor/libgit2/deps/ntlmclient/ntlm.h +174 -0
  56. data/vendor/libgit2/deps/ntlmclient/ntlmclient.h +320 -0
  57. data/vendor/libgit2/deps/ntlmclient/unicode.h +36 -0
  58. data/vendor/libgit2/deps/ntlmclient/unicode_builtin.c +445 -0
  59. data/vendor/libgit2/deps/ntlmclient/unicode_iconv.c +201 -0
  60. data/vendor/libgit2/deps/ntlmclient/utf8.h +1257 -0
  61. data/vendor/libgit2/deps/ntlmclient/util.c +35 -0
  62. data/vendor/libgit2/deps/ntlmclient/util.h +15 -0
  63. data/vendor/libgit2/deps/pcre/CMakeLists.txt +140 -0
  64. data/vendor/libgit2/deps/pcre/COPYING +5 -0
  65. data/vendor/libgit2/deps/pcre/LICENCE +93 -0
  66. data/vendor/libgit2/deps/pcre/cmake/COPYING-CMAKE-SCRIPTS +22 -0
  67. data/vendor/libgit2/deps/pcre/cmake/FindEditline.cmake +17 -0
  68. data/vendor/libgit2/deps/pcre/cmake/FindPackageHandleStandardArgs.cmake +58 -0
  69. data/vendor/libgit2/deps/pcre/cmake/FindReadline.cmake +29 -0
  70. data/vendor/libgit2/deps/pcre/config.h.in +57 -0
  71. data/vendor/libgit2/deps/pcre/pcre.h +641 -0
  72. data/vendor/libgit2/deps/pcre/pcre_byte_order.c +319 -0
  73. data/vendor/libgit2/deps/pcre/pcre_chartables.c +198 -0
  74. data/vendor/libgit2/deps/pcre/pcre_compile.c +9812 -0
  75. data/vendor/libgit2/deps/pcre/pcre_config.c +190 -0
  76. data/vendor/libgit2/deps/pcre/pcre_dfa_exec.c +3676 -0
  77. data/vendor/libgit2/deps/pcre/pcre_exec.c +7173 -0
  78. data/vendor/libgit2/deps/pcre/pcre_fullinfo.c +245 -0
  79. data/vendor/libgit2/deps/pcre/pcre_get.c +669 -0
  80. data/vendor/libgit2/deps/pcre/pcre_globals.c +86 -0
  81. data/vendor/libgit2/deps/pcre/pcre_internal.h +2787 -0
  82. data/vendor/libgit2/deps/pcre/pcre_jit_compile.c +11913 -0
  83. data/vendor/libgit2/deps/pcre/pcre_maketables.c +156 -0
  84. data/vendor/libgit2/deps/pcre/pcre_newline.c +210 -0
  85. data/vendor/libgit2/deps/pcre/pcre_ord2utf8.c +94 -0
  86. data/vendor/libgit2/deps/pcre/pcre_printint.c +834 -0
  87. data/vendor/libgit2/deps/pcre/pcre_refcount.c +92 -0
  88. data/vendor/libgit2/deps/pcre/pcre_string_utils.c +211 -0
  89. data/vendor/libgit2/deps/pcre/pcre_study.c +1686 -0
  90. data/vendor/libgit2/deps/pcre/pcre_tables.c +727 -0
  91. data/vendor/libgit2/deps/pcre/pcre_ucd.c +3644 -0
  92. data/vendor/libgit2/deps/pcre/pcre_valid_utf8.c +301 -0
  93. data/vendor/libgit2/deps/pcre/pcre_version.c +98 -0
  94. data/vendor/libgit2/deps/pcre/pcre_xclass.c +268 -0
  95. data/vendor/libgit2/deps/pcre/pcreposix.c +420 -0
  96. data/vendor/libgit2/deps/pcre/pcreposix.h +117 -0
  97. data/vendor/libgit2/deps/pcre/ucp.h +224 -0
  98. data/vendor/libgit2/deps/zlib/CMakeLists.txt +6 -5
  99. data/vendor/libgit2/deps/zlib/adler32.c +0 -7
  100. data/vendor/libgit2/deps/zlib/crc32.c +0 -7
  101. data/vendor/libgit2/deps/zlib/deflate.c +1 -0
  102. data/vendor/libgit2/include/git2.h +2 -0
  103. data/vendor/libgit2/include/git2/annotated_commit.h +1 -1
  104. data/vendor/libgit2/include/git2/apply.h +24 -2
  105. data/vendor/libgit2/include/git2/attr.h +23 -13
  106. data/vendor/libgit2/include/git2/blame.h +4 -2
  107. data/vendor/libgit2/include/git2/blob.h +61 -13
  108. data/vendor/libgit2/include/git2/branch.h +74 -57
  109. data/vendor/libgit2/include/git2/buffer.h +20 -14
  110. data/vendor/libgit2/include/git2/cert.h +135 -0
  111. data/vendor/libgit2/include/git2/checkout.h +46 -14
  112. data/vendor/libgit2/include/git2/cherrypick.h +3 -3
  113. data/vendor/libgit2/include/git2/clone.h +2 -2
  114. data/vendor/libgit2/include/git2/commit.h +23 -1
  115. data/vendor/libgit2/include/git2/common.h +34 -8
  116. data/vendor/libgit2/include/git2/config.h +13 -13
  117. data/vendor/libgit2/include/git2/cred_helpers.h +4 -42
  118. data/vendor/libgit2/include/git2/credential.h +314 -0
  119. data/vendor/libgit2/include/git2/credential_helpers.h +52 -0
  120. data/vendor/libgit2/include/git2/deprecated.h +362 -4
  121. data/vendor/libgit2/include/git2/describe.h +4 -4
  122. data/vendor/libgit2/include/git2/diff.h +17 -15
  123. data/vendor/libgit2/include/git2/errors.h +5 -2
  124. data/vendor/libgit2/include/git2/filter.h +8 -0
  125. data/vendor/libgit2/include/git2/index.h +5 -5
  126. data/vendor/libgit2/include/git2/indexer.h +49 -4
  127. data/vendor/libgit2/include/git2/merge.h +6 -10
  128. data/vendor/libgit2/include/git2/net.h +0 -5
  129. data/vendor/libgit2/include/git2/object.h +2 -14
  130. data/vendor/libgit2/include/git2/odb.h +18 -22
  131. data/vendor/libgit2/include/git2/odb_backend.h +5 -4
  132. data/vendor/libgit2/include/git2/oid.h +11 -6
  133. data/vendor/libgit2/include/git2/pack.h +13 -2
  134. data/vendor/libgit2/include/git2/proxy.h +6 -4
  135. data/vendor/libgit2/include/git2/rebase.h +46 -2
  136. data/vendor/libgit2/include/git2/refs.h +22 -3
  137. data/vendor/libgit2/include/git2/remote.h +40 -15
  138. data/vendor/libgit2/include/git2/repository.h +124 -58
  139. data/vendor/libgit2/include/git2/revert.h +1 -1
  140. data/vendor/libgit2/include/git2/revwalk.h +7 -3
  141. data/vendor/libgit2/include/git2/stash.h +4 -4
  142. data/vendor/libgit2/include/git2/status.h +25 -16
  143. data/vendor/libgit2/include/git2/strarray.h +6 -10
  144. data/vendor/libgit2/include/git2/submodule.h +20 -3
  145. data/vendor/libgit2/include/git2/sys/alloc.h +9 -9
  146. data/vendor/libgit2/include/git2/sys/cred.h +15 -0
  147. data/vendor/libgit2/include/git2/sys/credential.h +90 -0
  148. data/vendor/libgit2/include/git2/sys/index.h +4 -2
  149. data/vendor/libgit2/include/git2/sys/mempack.h +2 -1
  150. data/vendor/libgit2/include/git2/sys/merge.h +1 -1
  151. data/vendor/libgit2/include/git2/sys/odb_backend.h +48 -4
  152. data/vendor/libgit2/include/git2/sys/refdb_backend.h +164 -21
  153. data/vendor/libgit2/include/git2/sys/repository.h +17 -6
  154. data/vendor/libgit2/include/git2/sys/transport.h +4 -4
  155. data/vendor/libgit2/include/git2/tag.h +11 -2
  156. data/vendor/libgit2/include/git2/trace.h +2 -2
  157. data/vendor/libgit2/include/git2/transport.h +11 -340
  158. data/vendor/libgit2/include/git2/tree.h +7 -3
  159. data/vendor/libgit2/include/git2/types.h +4 -89
  160. data/vendor/libgit2/include/git2/version.h +5 -5
  161. data/vendor/libgit2/include/git2/worktree.h +5 -5
  162. data/vendor/libgit2/src/CMakeLists.txt +147 -272
  163. data/vendor/libgit2/src/alloc.c +2 -14
  164. data/vendor/libgit2/src/{stdalloc.c → allocators/stdalloc.c} +3 -4
  165. data/vendor/libgit2/src/{stdalloc.h → allocators/stdalloc.h} +4 -4
  166. data/vendor/libgit2/src/allocators/win32_crtdbg.c +118 -0
  167. data/vendor/libgit2/src/{transports/cred.h → allocators/win32_crtdbg.h} +5 -4
  168. data/vendor/libgit2/src/apply.c +36 -16
  169. data/vendor/libgit2/src/assert_safe.h +58 -0
  170. data/vendor/libgit2/src/attr.c +70 -64
  171. data/vendor/libgit2/src/attr_file.c +197 -99
  172. data/vendor/libgit2/src/attr_file.h +9 -9
  173. data/vendor/libgit2/src/attrcache.c +48 -49
  174. data/vendor/libgit2/src/attrcache.h +2 -1
  175. data/vendor/libgit2/src/blame.c +34 -15
  176. data/vendor/libgit2/src/blame.h +1 -1
  177. data/vendor/libgit2/src/blame_git.c +27 -10
  178. data/vendor/libgit2/src/blob.c +92 -17
  179. data/vendor/libgit2/src/blob.h +2 -2
  180. data/vendor/libgit2/src/branch.c +68 -42
  181. data/vendor/libgit2/src/buffer.c +11 -3
  182. data/vendor/libgit2/src/buffer.h +1 -0
  183. data/vendor/libgit2/src/cache.c +34 -58
  184. data/vendor/libgit2/src/cache.h +1 -1
  185. data/vendor/libgit2/src/cc-compat.h +5 -0
  186. data/vendor/libgit2/src/checkout.c +73 -86
  187. data/vendor/libgit2/src/cherrypick.c +9 -1
  188. data/vendor/libgit2/src/clone.c +130 -27
  189. data/vendor/libgit2/src/clone.h +4 -0
  190. data/vendor/libgit2/src/commit.c +70 -22
  191. data/vendor/libgit2/src/commit.h +6 -0
  192. data/vendor/libgit2/src/commit_list.c +28 -76
  193. data/vendor/libgit2/src/commit_list.h +2 -2
  194. data/vendor/libgit2/src/common.h +4 -75
  195. data/vendor/libgit2/src/config.c +34 -47
  196. data/vendor/libgit2/src/config.h +7 -6
  197. data/vendor/libgit2/src/config_backend.h +12 -0
  198. data/vendor/libgit2/src/config_cache.c +42 -39
  199. data/vendor/libgit2/src/config_entries.c +76 -98
  200. data/vendor/libgit2/src/config_entries.h +1 -0
  201. data/vendor/libgit2/src/config_file.c +346 -380
  202. data/vendor/libgit2/src/config_mem.c +12 -16
  203. data/vendor/libgit2/src/config_parse.c +50 -30
  204. data/vendor/libgit2/src/config_parse.h +13 -12
  205. data/vendor/libgit2/src/config_snapshot.c +207 -0
  206. data/vendor/libgit2/src/crlf.c +14 -14
  207. data/vendor/libgit2/src/describe.c +26 -21
  208. data/vendor/libgit2/src/diff.c +53 -75
  209. data/vendor/libgit2/src/diff.h +4 -3
  210. data/vendor/libgit2/src/diff_driver.c +37 -38
  211. data/vendor/libgit2/src/diff_file.c +15 -11
  212. data/vendor/libgit2/src/diff_file.h +2 -2
  213. data/vendor/libgit2/src/diff_generate.c +36 -37
  214. data/vendor/libgit2/src/diff_generate.h +2 -2
  215. data/vendor/libgit2/src/diff_parse.c +3 -4
  216. data/vendor/libgit2/src/diff_print.c +86 -71
  217. data/vendor/libgit2/src/diff_stats.c +13 -12
  218. data/vendor/libgit2/src/diff_tform.c +15 -16
  219. data/vendor/libgit2/src/errors.c +23 -25
  220. data/vendor/libgit2/src/errors.h +81 -0
  221. data/vendor/libgit2/src/features.h.in +9 -2
  222. data/vendor/libgit2/src/fetch.c +9 -2
  223. data/vendor/libgit2/src/fetchhead.c +9 -9
  224. data/vendor/libgit2/src/filebuf.c +1 -1
  225. data/vendor/libgit2/src/filebuf.h +1 -1
  226. data/vendor/libgit2/src/filter.c +19 -11
  227. data/vendor/libgit2/src/{fileops.c → futils.c} +23 -20
  228. data/vendor/libgit2/src/{fileops.h → futils.h} +8 -8
  229. data/vendor/libgit2/src/global.c +3 -1
  230. data/vendor/libgit2/src/hash.c +61 -0
  231. data/vendor/libgit2/src/hash.h +19 -21
  232. data/vendor/libgit2/src/hash/sha1.h +38 -0
  233. data/vendor/libgit2/src/hash/{hash_collisiondetect.h → sha1/collisiondetect.c} +14 -17
  234. data/vendor/libgit2/src/{sha1_lookup.h → hash/sha1/collisiondetect.h} +8 -8
  235. data/vendor/libgit2/src/hash/{hash_common_crypto.h → sha1/common_crypto.c} +15 -19
  236. data/vendor/libgit2/src/hash/sha1/common_crypto.h +19 -0
  237. data/vendor/libgit2/src/hash/{hash_generic.c → sha1/generic.c} +22 -10
  238. data/vendor/libgit2/src/hash/{hash_generic.h → sha1/generic.h} +4 -14
  239. data/vendor/libgit2/src/hash/{hash_mbedtls.c → sha1/mbedtls.c} +15 -7
  240. data/vendor/libgit2/src/hash/{hash_mbedtls.h → sha1/mbedtls.h} +6 -11
  241. data/vendor/libgit2/src/hash/{hash_openssl.h → sha1/openssl.c} +14 -18
  242. data/vendor/libgit2/src/{refdb_fs.h → hash/sha1/openssl.h} +8 -8
  243. data/vendor/libgit2/src/hash/{sha1dc → sha1/sha1dc}/sha1.c +14 -3
  244. data/vendor/libgit2/src/hash/{sha1dc → sha1/sha1dc}/sha1.h +0 -0
  245. data/vendor/libgit2/src/hash/{sha1dc → sha1/sha1dc}/ubc_check.c +0 -0
  246. data/vendor/libgit2/src/hash/{sha1dc → sha1/sha1dc}/ubc_check.h +0 -0
  247. data/vendor/libgit2/src/hash/{hash_win32.c → sha1/win32.c} +34 -24
  248. data/vendor/libgit2/src/hash/{hash_win32.h → sha1/win32.h} +6 -19
  249. data/vendor/libgit2/src/hashsig.c +1 -1
  250. data/vendor/libgit2/src/idxmap.c +73 -69
  251. data/vendor/libgit2/src/idxmap.h +151 -15
  252. data/vendor/libgit2/src/ignore.c +26 -35
  253. data/vendor/libgit2/src/index.c +123 -95
  254. data/vendor/libgit2/src/index.h +1 -1
  255. data/vendor/libgit2/src/indexer.c +99 -78
  256. data/vendor/libgit2/src/integer.h +26 -4
  257. data/vendor/libgit2/src/iterator.c +36 -32
  258. data/vendor/libgit2/src/iterator.h +8 -8
  259. data/vendor/libgit2/src/map.h +1 -1
  260. data/vendor/libgit2/src/merge.c +93 -57
  261. data/vendor/libgit2/src/merge.h +2 -2
  262. data/vendor/libgit2/src/merge_driver.c +5 -5
  263. data/vendor/libgit2/src/merge_file.c +5 -7
  264. data/vendor/libgit2/src/midx.c +418 -0
  265. data/vendor/libgit2/src/midx.h +83 -0
  266. data/vendor/libgit2/src/mwindow.c +144 -74
  267. data/vendor/libgit2/src/mwindow.h +4 -4
  268. data/vendor/libgit2/src/net.c +416 -0
  269. data/vendor/libgit2/src/net.h +57 -0
  270. data/vendor/libgit2/src/netops.c +6 -222
  271. data/vendor/libgit2/src/netops.h +1 -37
  272. data/vendor/libgit2/src/notes.c +8 -5
  273. data/vendor/libgit2/src/object.c +5 -4
  274. data/vendor/libgit2/src/object.h +2 -0
  275. data/vendor/libgit2/src/odb.c +54 -32
  276. data/vendor/libgit2/src/odb.h +3 -2
  277. data/vendor/libgit2/src/odb_loose.c +20 -13
  278. data/vendor/libgit2/src/odb_mempack.c +15 -24
  279. data/vendor/libgit2/src/odb_pack.c +4 -5
  280. data/vendor/libgit2/src/offmap.c +43 -55
  281. data/vendor/libgit2/src/offmap.h +102 -24
  282. data/vendor/libgit2/src/oid.c +21 -8
  283. data/vendor/libgit2/src/oidmap.c +39 -57
  284. data/vendor/libgit2/src/oidmap.h +99 -19
  285. data/vendor/libgit2/src/pack-objects.c +55 -52
  286. data/vendor/libgit2/src/pack-objects.h +1 -1
  287. data/vendor/libgit2/src/pack.c +160 -149
  288. data/vendor/libgit2/src/pack.h +32 -18
  289. data/vendor/libgit2/src/parse.c +10 -0
  290. data/vendor/libgit2/src/parse.h +3 -3
  291. data/vendor/libgit2/src/patch.c +1 -1
  292. data/vendor/libgit2/src/patch_generate.c +2 -4
  293. data/vendor/libgit2/src/patch_parse.c +34 -11
  294. data/vendor/libgit2/src/path.c +47 -10
  295. data/vendor/libgit2/src/path.h +2 -0
  296. data/vendor/libgit2/src/pathspec.c +18 -17
  297. data/vendor/libgit2/src/pool.c +42 -32
  298. data/vendor/libgit2/src/pool.h +15 -7
  299. data/vendor/libgit2/src/posix.c +39 -16
  300. data/vendor/libgit2/src/posix.h +21 -1
  301. data/vendor/libgit2/src/proxy.c +9 -2
  302. data/vendor/libgit2/src/push.c +15 -7
  303. data/vendor/libgit2/src/reader.c +2 -2
  304. data/vendor/libgit2/src/rebase.c +89 -28
  305. data/vendor/libgit2/src/refdb.c +147 -0
  306. data/vendor/libgit2/src/refdb.h +69 -0
  307. data/vendor/libgit2/src/refdb_fs.c +230 -241
  308. data/vendor/libgit2/src/reflog.c +13 -19
  309. data/vendor/libgit2/src/refs.c +113 -217
  310. data/vendor/libgit2/src/refs.h +10 -21
  311. data/vendor/libgit2/src/refspec.c +57 -48
  312. data/vendor/libgit2/src/regexp.c +221 -0
  313. data/vendor/libgit2/src/regexp.h +97 -0
  314. data/vendor/libgit2/src/remote.c +102 -79
  315. data/vendor/libgit2/src/remote.h +2 -2
  316. data/vendor/libgit2/src/repository.c +322 -203
  317. data/vendor/libgit2/src/repository.h +49 -57
  318. data/vendor/libgit2/src/revert.c +8 -1
  319. data/vendor/libgit2/src/revparse.c +23 -23
  320. data/vendor/libgit2/src/revwalk.c +73 -37
  321. data/vendor/libgit2/src/revwalk.h +20 -0
  322. data/vendor/libgit2/src/settings.c +22 -1
  323. data/vendor/libgit2/src/sortedcache.c +14 -29
  324. data/vendor/libgit2/src/sortedcache.h +1 -1
  325. data/vendor/libgit2/src/stash.c +49 -67
  326. data/vendor/libgit2/src/status.c +19 -11
  327. data/vendor/libgit2/src/strarray.c +63 -0
  328. data/vendor/libgit2/src/streams/openssl.c +66 -8
  329. data/vendor/libgit2/src/streams/registry.c +5 -3
  330. data/vendor/libgit2/src/streams/socket.c +2 -2
  331. data/vendor/libgit2/src/strmap.c +37 -84
  332. data/vendor/libgit2/src/strmap.h +105 -33
  333. data/vendor/libgit2/src/submodule.c +157 -130
  334. data/vendor/libgit2/src/submodule.h +1 -1
  335. data/vendor/libgit2/src/sysdir.c +4 -20
  336. data/vendor/libgit2/src/sysdir.h +0 -11
  337. data/vendor/libgit2/src/tag.c +12 -2
  338. data/vendor/libgit2/src/thread-utils.h +163 -40
  339. data/vendor/libgit2/src/trace.c +1 -1
  340. data/vendor/libgit2/src/trace.h +3 -3
  341. data/vendor/libgit2/src/trailer.c +46 -32
  342. data/vendor/libgit2/src/transaction.c +5 -9
  343. data/vendor/libgit2/src/transports/auth.c +16 -15
  344. data/vendor/libgit2/src/transports/auth.h +18 -11
  345. data/vendor/libgit2/src/transports/auth_negotiate.c +64 -33
  346. data/vendor/libgit2/src/transports/auth_negotiate.h +2 -2
  347. data/vendor/libgit2/src/transports/auth_ntlm.c +223 -0
  348. data/vendor/libgit2/src/transports/auth_ntlm.h +38 -0
  349. data/vendor/libgit2/src/transports/credential.c +478 -0
  350. data/vendor/libgit2/src/transports/{cred_helpers.c → credential_helpers.c} +23 -8
  351. data/vendor/libgit2/src/transports/git.c +11 -16
  352. data/vendor/libgit2/src/transports/http.c +488 -1248
  353. data/vendor/libgit2/src/transports/http.h +4 -1
  354. data/vendor/libgit2/src/transports/httpclient.c +1552 -0
  355. data/vendor/libgit2/src/transports/httpclient.h +190 -0
  356. data/vendor/libgit2/src/transports/local.c +12 -12
  357. data/vendor/libgit2/src/transports/smart.c +21 -21
  358. data/vendor/libgit2/src/transports/smart.h +3 -3
  359. data/vendor/libgit2/src/transports/smart_protocol.c +40 -64
  360. data/vendor/libgit2/src/transports/ssh.c +77 -59
  361. data/vendor/libgit2/src/transports/winhttp.c +368 -285
  362. data/vendor/libgit2/src/tree-cache.c +14 -7
  363. data/vendor/libgit2/src/tree.c +16 -26
  364. data/vendor/libgit2/src/unix/map.c +1 -1
  365. data/vendor/libgit2/src/unix/posix.h +16 -11
  366. data/vendor/libgit2/src/userdiff.h +3 -1
  367. data/vendor/libgit2/src/util.c +75 -110
  368. data/vendor/libgit2/src/util.h +18 -23
  369. data/vendor/libgit2/src/wildmatch.c +320 -0
  370. data/vendor/libgit2/src/wildmatch.h +23 -0
  371. data/vendor/libgit2/src/win32/git2.rc +18 -3
  372. data/vendor/libgit2/src/win32/map.c +3 -5
  373. data/vendor/libgit2/src/win32/path_w32.c +42 -5
  374. data/vendor/libgit2/src/win32/path_w32.h +15 -29
  375. data/vendor/libgit2/src/win32/posix.h +1 -4
  376. data/vendor/libgit2/src/win32/posix_w32.c +117 -5
  377. data/vendor/libgit2/src/win32/precompiled.h +0 -2
  378. data/vendor/libgit2/src/win32/thread.c +5 -5
  379. data/vendor/libgit2/src/win32/w32_buffer.c +7 -3
  380. data/vendor/libgit2/src/win32/w32_common.h +39 -0
  381. data/vendor/libgit2/src/win32/w32_crtdbg_stacktrace.c +0 -93
  382. data/vendor/libgit2/src/win32/w32_crtdbg_stacktrace.h +0 -2
  383. data/vendor/libgit2/src/win32/w32_stack.c +4 -9
  384. data/vendor/libgit2/src/win32/w32_stack.h +3 -3
  385. data/vendor/libgit2/src/win32/w32_util.c +31 -0
  386. data/vendor/libgit2/src/win32/w32_util.h +6 -32
  387. data/vendor/libgit2/src/worktree.c +91 -50
  388. data/vendor/libgit2/src/xdiff/xdiffi.c +1 -1
  389. data/vendor/libgit2/src/xdiff/xmerge.c +12 -0
  390. data/vendor/libgit2/src/xdiff/xpatience.c +3 -0
  391. data/vendor/libgit2/src/zstream.c +5 -0
  392. data/vendor/libgit2/src/zstream.h +1 -0
  393. metadata +123 -53
  394. data/vendor/libgit2/cmake/Modules/CheckPrototypeDefinition.c.in +0 -29
  395. data/vendor/libgit2/cmake/Modules/CheckPrototypeDefinition.cmake +0 -96
  396. data/vendor/libgit2/deps/regex/CMakeLists.txt +0 -2
  397. data/vendor/libgit2/deps/regex/COPYING +0 -502
  398. data/vendor/libgit2/deps/regex/config.h +0 -7
  399. data/vendor/libgit2/deps/regex/regcomp.c +0 -3857
  400. data/vendor/libgit2/deps/regex/regex.c +0 -92
  401. data/vendor/libgit2/deps/regex/regex.h +0 -582
  402. data/vendor/libgit2/deps/regex/regex_internal.c +0 -1744
  403. data/vendor/libgit2/deps/regex/regex_internal.h +0 -819
  404. data/vendor/libgit2/deps/regex/regexec.c +0 -4369
  405. data/vendor/libgit2/include/git2/inttypes.h +0 -309
  406. data/vendor/libgit2/include/git2/sys/time.h +0 -31
  407. data/vendor/libgit2/libgit2.pc.in +0 -13
  408. data/vendor/libgit2/src/fnmatch.c +0 -248
  409. data/vendor/libgit2/src/fnmatch.h +0 -48
  410. data/vendor/libgit2/src/sha1_lookup.c +0 -35
  411. data/vendor/libgit2/src/transports/cred.c +0 -390
@@ -991,3 +991,31 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
991
991
  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
992
992
  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
993
993
  SOFTWARE.
994
+
995
+ ----------------------------------------------------------------------
996
+
997
+ The bundled wildmatch code is licensed under the BSD license:
998
+
999
+ Copyright Rich Salz.
1000
+ All rights reserved.
1001
+
1002
+ Redistribution and use in any form are permitted provided that the
1003
+ following restrictions are are met:
1004
+
1005
+ 1. Source distributions must retain this entire copyright notice
1006
+ and comment.
1007
+ 2. Binary distributions must include the acknowledgement ``This
1008
+ product includes software developed by Rich Salz'' in the
1009
+ documentation or other materials provided with the
1010
+ distribution. This must not be represented as an endorsement
1011
+ or promotion without specific prior written permission.
1012
+ 3. The origin of this software must not be misrepresented, either
1013
+ by explicit claim or by omission. Credits must appear in the
1014
+ source and documentation.
1015
+ 4. Altered versions must be plainly marked as such in the source
1016
+ and documentation and must not be misrepresented as being the
1017
+ original software.
1018
+
1019
+ THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
1020
+ WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
1021
+ MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
@@ -7,5 +7,9 @@ MACRO(DISABLE_WARNINGS flag)
7
7
  ENDMACRO()
8
8
 
9
9
  IF(ENABLE_WERROR)
10
- ADD_C_FLAG_IF_SUPPORTED(-Werror)
10
+ IF(MSVC)
11
+ ADD_COMPILE_OPTIONS(-WX)
12
+ ELSE()
13
+ ADD_C_FLAG_IF_SUPPORTED(-Werror)
14
+ ENDIF()
11
15
  ENDIF()
@@ -10,14 +10,14 @@ FIND_PATH(COREFOUNDATION_INCLUDE_DIR NAMES CoreFoundation.h)
10
10
  FIND_LIBRARY(COREFOUNDATION_LIBRARIES NAMES CoreFoundation)
11
11
  IF (COREFOUNDATION_INCLUDE_DIR AND COREFOUNDATION_LIBRARIES)
12
12
  IF (NOT CoreFoundation_FIND_QUIETLY)
13
- MESSAGE("-- Found CoreFoundation ${COREFOUNDATION_LIBRARIES}")
13
+ MESSAGE(STATUS "Found CoreFoundation ${COREFOUNDATION_LIBRARIES}")
14
14
  ENDIF()
15
15
  SET(COREFOUNDATION_FOUND TRUE)
16
16
  SET(COREFOUNDATION_LDFLAGS "-framework CoreFoundation")
17
17
  ENDIF ()
18
18
 
19
19
  IF (CoreFoundation_FIND_REQUIRED AND NOT COREFOUNDATION_FOUND)
20
- MESSAGE(FATAL "-- CoreFoundation not found")
20
+ MESSAGE(FATAL_ERROR "CoreFoundation not found")
21
21
  ENDIF()
22
22
 
23
23
  MARK_AS_ADVANCED(
@@ -6,7 +6,7 @@
6
6
  #
7
7
  # Read-Only variables:
8
8
  # GSSAPI_FLAVOR_MIT - set to TURE if MIT Kerberos has been found
9
- # GSSAPI_FLAVOR_HEIMDAL - set to TRUE if Heimdal Keberos has been found
9
+ # GSSAPI_FLAVOR_HEIMDAL - set to TRUE if Heimdal Kerberos has been found
10
10
  # GSSAPI_FOUND - system has GSSAPI
11
11
  # GSSAPI_INCLUDE_DIR - the GSSAPI include directory
12
12
  # GSSAPI_LIBRARIES - Link these to use GSSAPI
@@ -0,0 +1,28 @@
1
+ # Find GSS.framework
2
+ # This will define :
3
+ #
4
+ # GSSFRAMEWORK_FOUND
5
+ # GSSFRAMEWORK_INCLUDE_DIR
6
+ # GSSFRAMEWORK_LIBRARIES
7
+ # GSSFRAMEWORK_LDFLAGS
8
+ #
9
+
10
+ FIND_PATH(GSSFRAMEWORK_INCLUDE_DIR NAMES GSS.h)
11
+ FIND_LIBRARY(GSSFRAMEWORK_LIBRARIES NAMES GSS)
12
+ IF (GSSFRAMEWORK_INCLUDE_DIR AND GSSFRAMEWORK_LIBRARIES)
13
+ IF (NOT CoreFoundation_FIND_QUIETLY)
14
+ MESSAGE(STATUS "Found GSS.framework ${GSSFRAMEWORK_LIBRARIES}")
15
+ ENDIF()
16
+ SET(GSSFRAMEWORK_FOUND TRUE)
17
+ SET(GSSFRAMEWORK_LDFLAGS "-framework GSS")
18
+ ENDIF ()
19
+
20
+ IF (GSS_FIND_REQUIRED AND NOT GSSFRAMEWORK_FOUND)
21
+ MESSAGE(FATAL_ERROR "CoreFoundation not found")
22
+ ENDIF()
23
+
24
+ MARK_AS_ADVANCED(
25
+ GSSFRAMEWORK_INCLUDE_DIR
26
+ GSSFRAMEWORK_LIBRARIES
27
+ GSSFRAMEWORK_LDFLAGS
28
+ )
@@ -0,0 +1,38 @@
1
+ # Copyright (C) 2007-2009 LuaDist.
2
+ # Created by Peter Kapec <kapecp@gmail.com>
3
+ # Redistribution and use of this file is allowed according to the terms of the MIT license.
4
+ # For details see the COPYRIGHT file distributed with LuaDist.
5
+ # Note:
6
+ # Searching headers and libraries is very simple and is NOT as powerful as scripts
7
+ # distributed with CMake, because LuaDist defines directories to search for.
8
+ # Everyone is encouraged to contact the author with improvements. Maybe this file
9
+ # becomes part of CMake distribution sometimes.
10
+
11
+ # - Find pcre
12
+ # Find the native PCRE headers and libraries.
13
+ #
14
+ # PCRE_INCLUDE_DIRS - where to find pcre.h, etc.
15
+ # PCRE_LIBRARIES - List of libraries when using pcre.
16
+ # PCRE_FOUND - True if pcre found.
17
+
18
+ # Look for the header file.
19
+ FIND_PATH(PCRE_INCLUDE_DIR NAMES pcreposix.h)
20
+
21
+ # Look for the library.
22
+ FIND_LIBRARY(PCRE_LIBRARY NAMES pcre)
23
+ FIND_LIBRARY(PCRE_POSIX_LIBRARY NAMES pcreposix)
24
+
25
+ # Handle the QUIETLY and REQUIRED arguments and set PCRE_FOUND to TRUE if all listed variables are TRUE.
26
+ INCLUDE(FindPackageHandleStandardArgs)
27
+ FIND_PACKAGE_HANDLE_STANDARD_ARGS(PCRE DEFAULT_MSG PCRE_LIBRARY PCRE_POSIX_LIBRARY PCRE_INCLUDE_DIR)
28
+
29
+ # Copy the results to the output variables.
30
+ IF(PCRE_FOUND)
31
+ SET(PCRE_LIBRARIES ${PCRE_LIBRARY} ${PCRE_POSIX_LIBRARY})
32
+ SET(PCRE_INCLUDE_DIRS ${PCRE_INCLUDE_DIR})
33
+ ELSE(PCRE_FOUND)
34
+ SET(PCRE_LIBRARIES)
35
+ SET(PCRE_INCLUDE_DIRS)
36
+ ENDIF(PCRE_FOUND)
37
+
38
+ MARK_AS_ADVANCED(PCRE_INCLUDE_DIRS PCRE_LIBRARIES)
@@ -0,0 +1,37 @@
1
+ # Copyright (C) 2007-2009 LuaDist.
2
+ # Created by Peter Kapec <kapecp@gmail.com>
3
+ # Redistribution and use of this file is allowed according to the terms of the MIT license.
4
+ # For details see the COPYRIGHT file distributed with LuaDist.
5
+ # Note:
6
+ # Searching headers and libraries is very simple and is NOT as powerful as scripts
7
+ # distributed with CMake, because LuaDist defines directories to search for.
8
+ # Everyone is encouraged to contact the author with improvements. Maybe this file
9
+ # becomes part of CMake distribution sometimes.
10
+
11
+ # - Find pcre
12
+ # Find the native PCRE2 headers and libraries.
13
+ #
14
+ # PCRE2_INCLUDE_DIRS - where to find pcre.h, etc.
15
+ # PCRE2_LIBRARIES - List of libraries when using pcre.
16
+ # PCRE2_FOUND - True if pcre found.
17
+
18
+ # Look for the header file.
19
+ FIND_PATH(PCRE2_INCLUDE_DIR NAMES pcre2posix.h)
20
+
21
+ # Look for the library.
22
+ FIND_LIBRARY(PCRE2_LIBRARY NAMES pcre2-8)
23
+
24
+ # Handle the QUIETLY and REQUIRED arguments and set PCRE2_FOUND to TRUE if all listed variables are TRUE.
25
+ INCLUDE(FindPackageHandleStandardArgs)
26
+ FIND_PACKAGE_HANDLE_STANDARD_ARGS(PCRE2 DEFAULT_MSG PCRE2_LIBRARY PCRE2_INCLUDE_DIR)
27
+
28
+ # Copy the results to the output variables.
29
+ IF(PCRE2_FOUND)
30
+ SET(PCRE2_LIBRARIES ${PCRE2_LIBRARY})
31
+ SET(PCRE2_INCLUDE_DIRS ${PCRE2_INCLUDE_DIR})
32
+ ELSE(PCRE2_FOUND)
33
+ SET(PCRE2_LIBRARIES)
34
+ SET(PCRE2_INCLUDE_DIRS)
35
+ ENDIF(PCRE2_FOUND)
36
+
37
+ MARK_AS_ADVANCED(PCRE2_INCLUDE_DIRS PCRE2_LIBRARIES)
@@ -11,7 +11,7 @@ FIND_PATH(SECURITY_INCLUDE_DIR NAMES Security/Security.h)
11
11
  FIND_LIBRARY(SECURITY_LIBRARIES NAMES Security)
12
12
  IF (SECURITY_INCLUDE_DIR AND SECURITY_LIBRARIES)
13
13
  IF (NOT Security_FIND_QUIETLY)
14
- MESSAGE("-- Found Security ${SECURITY_LIBRARIES}")
14
+ MESSAGE(STATUS "Found Security ${SECURITY_LIBRARIES}")
15
15
  ENDIF()
16
16
  SET(SECURITY_FOUND TRUE)
17
17
  SET(SECURITY_LDFLAGS "-framework Security")
@@ -19,7 +19,7 @@ IF (SECURITY_INCLUDE_DIR AND SECURITY_LIBRARIES)
19
19
  ENDIF ()
20
20
 
21
21
  IF (Security_FIND_REQUIRED AND NOT SECURITY_FOUND)
22
- MESSAGE(FATAL "-- Security not found")
22
+ MESSAGE(FATAL_ERROR "Security not found")
23
23
  ENDIF()
24
24
 
25
25
  MARK_AS_ADVANCED(
@@ -1,3 +1,5 @@
1
+ INCLUDE(FeatureSummary)
2
+
1
3
  CHECK_STRUCT_HAS_MEMBER ("struct stat" st_mtim "sys/types.h;sys/stat.h"
2
4
  HAVE_STRUCT_STAT_ST_MTIM LANGUAGE C)
3
5
  CHECK_STRUCT_HAS_MEMBER ("struct stat" st_mtimespec "sys/types.h;sys/stat.h"
@@ -17,4 +19,8 @@ ENDIF()
17
19
 
18
20
  IF (HAVE_STRUCT_STAT_NSEC OR WIN32)
19
21
  OPTION( USE_NSEC "Care about sub-second file mtimes and ctimes" ON )
22
+ ELSE()
23
+ SET(USE_NSEC OFF)
20
24
  ENDIF()
25
+
26
+ ADD_FEATURE_INFO(nanoseconds USE_NSEC "whether to use sub-second file mtimes and ctimes")
@@ -0,0 +1,77 @@
1
+ # pkg-config file generation
2
+ #
3
+
4
+ function(pkg_build_config)
5
+ set(options)
6
+ set(oneValueArgs NAME DESCRIPTION VERSION FILENAME LIBS_SELF)
7
+ set(multiValueArgs LIBS PRIVATE_LIBS REQUIRES CFLAGS)
8
+
9
+ cmake_parse_arguments(PKGCONFIG "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
10
+
11
+ if (NOT DEFINED PKGCONFIG_FILENAME AND DEFINED PKGCONFIG_NAME)
12
+ set(PKGCONFIG_FILENAME ${PKGCONFIG_NAME})
13
+ endif()
14
+ if (NOT DEFINED PKGCONFIG_FILENAME)
15
+ message(FATAL_ERROR "Missing FILENAME argument")
16
+ endif()
17
+ set(PKGCONFIG_FILE "${PROJECT_BINARY_DIR}/${PKGCONFIG_FILENAME}.pc")
18
+
19
+ if (NOT DEFINED PKGCONFIG_DESCRIPTION)
20
+ message(FATAL_ERROR "Missing DESCRIPTION argument")
21
+ endif()
22
+
23
+ if (NOT DEFINED PKGCONFIG_VERSION)
24
+ message(FATAL_ERROR "Missing VERSION argument")
25
+ endif()
26
+
27
+ # Write .pc "header"
28
+ file(WRITE "${PKGCONFIG_FILE}"
29
+ "prefix=\"${CMAKE_INSTALL_PREFIX}\"\n"
30
+ "libdir=\"${CMAKE_INSTALL_FULL_LIBDIR}\"\n"
31
+ "includedir=\"${CMAKE_INSTALL_FULL_INCLUDEDIR}\"\n"
32
+ "\n"
33
+ "Name: ${PKGCONFIG_NAME}\n"
34
+ "Description: ${PKGCONFIG_DESCRIPTION}\n"
35
+ "Version: ${PKGCONFIG_VERSION}\n"
36
+ )
37
+
38
+ # Prepare Libs
39
+ if(NOT DEFINED PKGCONFIG_LIBS_SELF)
40
+ set(PKGCONFIG_LIBS_SELF "${PKGCONFIG_FILE}")
41
+ endif()
42
+
43
+ if(NOT DEFINED PKGCONFIG_LIBS)
44
+ set(PKGCONFIG_LIBS "-l${PKGCONFIG_LIBS_SELF}")
45
+ else()
46
+ list(INSERT PKGCONFIG_LIBS 0 "-l${PKGCONFIG_LIBS_SELF}")
47
+ endif()
48
+
49
+ list(REMOVE_DUPLICATES PKGCONFIG_LIBS)
50
+ string(REPLACE ";" " " PKGCONFIG_LIBS "${PKGCONFIG_LIBS}")
51
+ file(APPEND "${PKGCONFIG_FILE}" "Libs: -L\${libdir} ${PKGCONFIG_LIBS}\n")
52
+
53
+ # Prepare Libs.private
54
+ if(DEFINED PKGCONFIG_PRIVATE_LIBS)
55
+ list(REMOVE_DUPLICATES PKGCONFIG_PRIVATE_LIBS)
56
+ string(REPLACE ";" " " PKGCONFIG_PRIVATE_LIBS "${PKGCONFIG_PRIVATE_LIBS}")
57
+ file(APPEND "${PKGCONFIG_FILE}" "Libs.private: ${PKGCONFIG_PRIVATE_LIBS}\n")
58
+ endif()
59
+
60
+ # Prepare Requires.private
61
+ if(DEFINED PKGCONFIG_REQUIRES)
62
+ list(REMOVE_DUPLICATES PKGCONFIG_REQUIRES)
63
+ string(REPLACE ";" " " PKGCONFIG_REQUIRES "${PKGCONFIG_REQUIRES}")
64
+ file(APPEND "${PKGCONFIG_FILE}" "Requires.private: ${PKGCONFIG_REQUIRES}\n")
65
+ endif()
66
+
67
+ # Prepare Cflags
68
+ if(DEFINED PKGCONFIG_CFLAGS)
69
+ string(REPLACE ";" " " PKGCONFIG_CFLAGS "${PKGCONFIG_CFLAGS}")
70
+ else()
71
+ set(PKGCONFIG_CFLAGS "")
72
+ endif()
73
+ file(APPEND "${PKGCONFIG_FILE}" "Cflags: -I\${includedir} ${PKGCONFIG_CFLAGS}\n")
74
+
75
+ # Install .pc file
76
+ install(FILES "${PKGCONFIG_FILE}" DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig")
77
+ endfunction()
@@ -0,0 +1,20 @@
1
+ FUNCTION(SanitizeBool VAR)
2
+ STRING(TOLOWER "${${VAR}}" VALUE)
3
+ IF(VALUE STREQUAL "on")
4
+ SET(${VAR} "ON" PARENT_SCOPE)
5
+ ELSEIF(VALUE STREQUAL "yes")
6
+ SET(${VAR} "ON" PARENT_SCOPE)
7
+ ELSEIF(VALUE STREQUAL "true")
8
+ SET(${VAR} "ON" PARENT_SCOPE)
9
+ ELSEIF(VALUE STREQUAL "1")
10
+ SET(${VAR} "ON" PARENT_SCOPE)
11
+ ELSEIF(VALUE STREQUAL "off")
12
+ SET(${VAR} "OFF" PARENT_SCOPE)
13
+ ELSEIF(VALUE STREQUAL "no")
14
+ SET(${VAR} "OFF" PARENT_SCOPE)
15
+ ELSEIF(VALUE STREQUAL "false")
16
+ SET(${VAR} "OFF" PARENT_SCOPE)
17
+ ELSEIF(VALUE STREQUAL "0")
18
+ SET(${VAR} "OFF" PARENT_SCOPE)
19
+ ENDIF()
20
+ ENDFUNCTION()
@@ -0,0 +1,48 @@
1
+ INCLUDE(SanitizeBool)
2
+
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()
8
+
9
+ IF(USE_GSSAPI)
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."
19
+ "Please pass the backend name explicitly (-DUSE_GSS=backend)")
20
+ ENDIF()
21
+ ENDIF()
22
+
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()
28
+
29
+ LIST(APPEND LIBGIT2_LIBS ${GSSFRAMEWORK_LIBRARIES})
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()
37
+
38
+ LIST(APPEND LIBGIT2_LIBS ${GSSAPI_LIBRARIES})
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()
@@ -0,0 +1,120 @@
1
+ INCLUDE(SanitizeBool)
2
+
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()
10
+
11
+ IF(USE_HTTPS)
12
+ # 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."
30
+ "Please pass the backend name explicitly (-DUSE_HTTPS=backend)")
31
+ ENDIF()
32
+ ENDIF()
33
+
34
+ # 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()
45
+
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()
54
+
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()
64
+
65
+ IF(NOT CERT_LOCATION)
66
+ MESSAGE(STATUS "Auto-detecting default certificates location")
67
+ IF(CMAKE_SYSTEM_NAME MATCHES Darwin)
68
+ # 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})
76
+
77
+ SET(OPENSSL_CA_LOCATIONS
78
+ "ca-bundle.pem" # OpenSUSE Leap 42.1
79
+ "cert.pem" # Ubuntu 14.04, FreeBSD
80
+ "certs/ca-certificates.crt" # Ubuntu 16.04
81
+ "certs/ca.pem" # Debian 7
82
+ )
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()
93
+
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()
101
+
102
+ SET(GIT_MBEDTLS 1)
103
+ LIST(APPEND LIBGIT2_SYSTEM_INCLUDES ${MBEDTLS_INCLUDE_DIR})
104
+ LIST(APPEND LIBGIT2_LIBS ${MBEDTLS_LIBRARIES})
105
+ # mbedTLS has no pkgconfig file, hence we can't require it
106
+ # https://github.com/ARMmbed/mbedtls/issues/228
107
+ # 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
+ ELSE()
112
+ MESSAGE(FATAL_ERROR "Asked for backend ${USE_HTTPS} but it wasn't found")
113
+ ENDIF()
114
+
115
+ SET(GIT_HTTPS 1)
116
+ ADD_FEATURE_INFO(HTTPS GIT_HTTPS "using ${USE_HTTPS}")
117
+ ELSE()
118
+ SET(GIT_HTTPS 0)
119
+ ADD_FEATURE_INFO(HTTPS NO "")
120
+ ENDIF()