rugged 0.28.4 → 0.28.4.1

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 (350) hide show
  1. checksums.yaml +4 -4
  2. data/lib/rugged/version.rb +1 -1
  3. data/vendor/libgit2/AUTHORS +0 -1
  4. data/vendor/libgit2/CMakeLists.txt +16 -36
  5. data/vendor/libgit2/COPYING +0 -28
  6. data/vendor/libgit2/cmake/Modules/EnableWarnings.cmake +1 -5
  7. data/vendor/libgit2/cmake/Modules/FindCoreFoundation.cmake +2 -2
  8. data/vendor/libgit2/cmake/Modules/FindGSSAPI.cmake +1 -1
  9. data/vendor/libgit2/cmake/Modules/FindSecurity.cmake +2 -2
  10. data/vendor/libgit2/cmake/Modules/FindStatNsec.cmake +0 -6
  11. data/vendor/libgit2/deps/http-parser/http_parser.c +6 -11
  12. data/vendor/libgit2/deps/regex/CMakeLists.txt +2 -0
  13. data/vendor/libgit2/deps/regex/COPYING +502 -0
  14. data/vendor/libgit2/deps/regex/config.h +7 -0
  15. data/vendor/libgit2/deps/regex/regcomp.c +3857 -0
  16. data/vendor/libgit2/deps/regex/regex.c +92 -0
  17. data/vendor/libgit2/deps/regex/regex.h +582 -0
  18. data/vendor/libgit2/deps/regex/regex_internal.c +1744 -0
  19. data/vendor/libgit2/deps/regex/regex_internal.h +819 -0
  20. data/vendor/libgit2/deps/regex/regexec.c +4369 -0
  21. data/vendor/libgit2/deps/zlib/adler32.c +7 -0
  22. data/vendor/libgit2/deps/zlib/crc32.c +7 -0
  23. data/vendor/libgit2/include/git2.h +0 -2
  24. data/vendor/libgit2/include/git2/apply.h +2 -22
  25. data/vendor/libgit2/include/git2/attr.h +12 -19
  26. data/vendor/libgit2/include/git2/blame.h +2 -2
  27. data/vendor/libgit2/include/git2/blob.h +12 -44
  28. data/vendor/libgit2/include/git2/buffer.h +14 -20
  29. data/vendor/libgit2/include/git2/checkout.h +14 -46
  30. data/vendor/libgit2/include/git2/cherrypick.h +3 -3
  31. data/vendor/libgit2/include/git2/clone.h +2 -2
  32. data/vendor/libgit2/include/git2/commit.h +1 -23
  33. data/vendor/libgit2/include/git2/common.h +5 -7
  34. data/vendor/libgit2/include/git2/config.h +12 -12
  35. data/vendor/libgit2/include/git2/deprecated.h +3 -243
  36. data/vendor/libgit2/include/git2/describe.h +4 -4
  37. data/vendor/libgit2/include/git2/diff.h +14 -16
  38. data/vendor/libgit2/include/git2/filter.h +0 -8
  39. data/vendor/libgit2/include/git2/index.h +1 -2
  40. data/vendor/libgit2/include/git2/indexer.h +4 -48
  41. data/vendor/libgit2/include/git2/inttypes.h +309 -0
  42. data/vendor/libgit2/include/git2/merge.h +10 -6
  43. data/vendor/libgit2/include/git2/net.h +5 -0
  44. data/vendor/libgit2/include/git2/object.h +14 -2
  45. data/vendor/libgit2/include/git2/odb.h +2 -3
  46. data/vendor/libgit2/include/git2/odb_backend.h +4 -5
  47. data/vendor/libgit2/include/git2/oid.h +1 -1
  48. data/vendor/libgit2/include/git2/pack.h +1 -12
  49. data/vendor/libgit2/include/git2/proxy.h +3 -5
  50. data/vendor/libgit2/include/git2/rebase.h +2 -46
  51. data/vendor/libgit2/include/git2/refs.h +0 -19
  52. data/vendor/libgit2/include/git2/remote.h +12 -35
  53. data/vendor/libgit2/include/git2/repository.h +2 -24
  54. data/vendor/libgit2/include/git2/revert.h +1 -1
  55. data/vendor/libgit2/include/git2/stash.h +3 -3
  56. data/vendor/libgit2/include/git2/status.h +16 -25
  57. data/vendor/libgit2/include/git2/submodule.h +3 -20
  58. data/vendor/libgit2/include/git2/sys/alloc.h +9 -9
  59. data/vendor/libgit2/include/git2/sys/odb_backend.h +4 -48
  60. data/vendor/libgit2/include/git2/sys/refdb_backend.h +21 -57
  61. data/vendor/libgit2/include/git2/sys/repository.h +1 -5
  62. data/vendor/libgit2/include/git2/sys/time.h +31 -0
  63. data/vendor/libgit2/include/git2/sys/transport.h +2 -2
  64. data/vendor/libgit2/include/git2/tag.h +2 -11
  65. data/vendor/libgit2/include/git2/trace.h +2 -2
  66. data/vendor/libgit2/include/git2/transport.h +340 -11
  67. data/vendor/libgit2/include/git2/tree.h +1 -1
  68. data/vendor/libgit2/include/git2/types.h +89 -4
  69. data/vendor/libgit2/include/git2/version.h +2 -2
  70. data/vendor/libgit2/include/git2/worktree.h +5 -5
  71. data/vendor/libgit2/libgit2.pc.in +13 -0
  72. data/vendor/libgit2/src/CMakeLists.txt +222 -88
  73. data/vendor/libgit2/src/alloc.c +14 -2
  74. data/vendor/libgit2/src/apply.c +30 -60
  75. data/vendor/libgit2/src/attr.c +64 -70
  76. data/vendor/libgit2/src/attr_file.c +96 -189
  77. data/vendor/libgit2/src/attr_file.h +9 -9
  78. data/vendor/libgit2/src/attrcache.c +46 -44
  79. data/vendor/libgit2/src/attrcache.h +1 -2
  80. data/vendor/libgit2/src/blame.c +5 -17
  81. data/vendor/libgit2/src/blame.h +1 -1
  82. data/vendor/libgit2/src/blame_git.c +7 -21
  83. data/vendor/libgit2/src/blob.c +17 -81
  84. data/vendor/libgit2/src/blob.h +2 -2
  85. data/vendor/libgit2/src/branch.c +5 -29
  86. data/vendor/libgit2/src/buffer.c +7 -14
  87. data/vendor/libgit2/src/cache.c +33 -26
  88. data/vendor/libgit2/src/cache.h +1 -1
  89. data/vendor/libgit2/src/cc-compat.h +0 -5
  90. data/vendor/libgit2/src/checkout.c +16 -26
  91. data/vendor/libgit2/src/cherrypick.c +3 -9
  92. data/vendor/libgit2/src/clone.c +7 -29
  93. data/vendor/libgit2/src/clone.h +0 -4
  94. data/vendor/libgit2/src/commit.c +21 -69
  95. data/vendor/libgit2/src/commit.h +0 -6
  96. data/vendor/libgit2/src/commit_list.c +76 -28
  97. data/vendor/libgit2/src/commit_list.h +2 -2
  98. data/vendor/libgit2/src/common.h +75 -3
  99. data/vendor/libgit2/src/config.c +40 -31
  100. data/vendor/libgit2/src/config.h +6 -7
  101. data/vendor/libgit2/src/config_backend.h +0 -12
  102. data/vendor/libgit2/src/config_cache.c +39 -39
  103. data/vendor/libgit2/src/config_entries.c +99 -69
  104. data/vendor/libgit2/src/config_entries.h +0 -1
  105. data/vendor/libgit2/src/config_file.c +380 -337
  106. data/vendor/libgit2/src/config_mem.c +16 -12
  107. data/vendor/libgit2/src/config_parse.c +29 -49
  108. data/vendor/libgit2/src/config_parse.h +12 -13
  109. data/vendor/libgit2/src/crlf.c +14 -14
  110. data/vendor/libgit2/src/describe.c +20 -21
  111. data/vendor/libgit2/src/diff.c +58 -43
  112. data/vendor/libgit2/src/diff.h +1 -2
  113. data/vendor/libgit2/src/diff_driver.c +38 -37
  114. data/vendor/libgit2/src/diff_file.c +7 -9
  115. data/vendor/libgit2/src/diff_file.h +1 -1
  116. data/vendor/libgit2/src/diff_generate.c +85 -135
  117. data/vendor/libgit2/src/diff_generate.h +2 -2
  118. data/vendor/libgit2/src/diff_parse.c +1 -1
  119. data/vendor/libgit2/src/diff_print.c +13 -25
  120. data/vendor/libgit2/src/diff_stats.c +1 -1
  121. data/vendor/libgit2/src/diff_tform.c +4 -4
  122. data/vendor/libgit2/src/errors.c +22 -12
  123. data/vendor/libgit2/src/features.h.in +2 -9
  124. data/vendor/libgit2/src/fetch.c +2 -7
  125. data/vendor/libgit2/src/fetchhead.c +1 -1
  126. data/vendor/libgit2/src/filebuf.c +10 -6
  127. data/vendor/libgit2/src/filebuf.h +2 -2
  128. data/vendor/libgit2/src/{futils.c → fileops.c} +17 -21
  129. data/vendor/libgit2/src/{futils.h → fileops.h} +5 -5
  130. data/vendor/libgit2/src/filter.c +8 -16
  131. data/vendor/libgit2/src/fnmatch.c +248 -0
  132. data/vendor/libgit2/src/fnmatch.h +48 -0
  133. data/vendor/libgit2/src/global.c +40 -12
  134. data/vendor/libgit2/src/global.h +2 -0
  135. data/vendor/libgit2/src/hash.c +0 -61
  136. data/vendor/libgit2/src/hash.h +21 -19
  137. data/vendor/libgit2/src/hash/{sha1/collisiondetect.c → hash_collisiondetect.h} +17 -14
  138. data/vendor/libgit2/src/hash/{sha1/common_crypto.c → hash_common_crypto.h} +19 -15
  139. data/vendor/libgit2/src/hash/{sha1/generic.c → hash_generic.c} +10 -22
  140. data/vendor/libgit2/src/hash/{sha1/generic.h → hash_generic.h} +14 -4
  141. data/vendor/libgit2/src/hash/{sha1/mbedtls.c → hash_mbedtls.c} +7 -15
  142. data/vendor/libgit2/src/hash/{sha1/mbedtls.h → hash_mbedtls.h} +11 -6
  143. data/vendor/libgit2/src/hash/{sha1/openssl.c → hash_openssl.h} +18 -14
  144. data/vendor/libgit2/src/hash/{sha1/win32.c → hash_win32.c} +24 -34
  145. data/vendor/libgit2/src/hash/{sha1/win32.h → hash_win32.h} +19 -6
  146. data/vendor/libgit2/src/hash/{sha1/sha1dc → sha1dc}/sha1.c +3 -14
  147. data/vendor/libgit2/src/hash/{sha1/sha1dc → sha1dc}/sha1.h +0 -0
  148. data/vendor/libgit2/src/hash/{sha1/sha1dc → sha1dc}/ubc_check.c +0 -0
  149. data/vendor/libgit2/src/hash/{sha1/sha1dc → sha1dc}/ubc_check.h +0 -0
  150. data/vendor/libgit2/src/hashsig.c +1 -1
  151. data/vendor/libgit2/src/idxmap.c +65 -91
  152. data/vendor/libgit2/src/idxmap.h +15 -151
  153. data/vendor/libgit2/src/ignore.c +38 -32
  154. data/vendor/libgit2/src/index.c +43 -66
  155. data/vendor/libgit2/src/index.h +1 -1
  156. data/vendor/libgit2/src/indexer.c +70 -69
  157. data/vendor/libgit2/src/integer.h +4 -39
  158. data/vendor/libgit2/src/iterator.c +22 -27
  159. data/vendor/libgit2/src/map.h +1 -1
  160. data/vendor/libgit2/src/merge.c +44 -58
  161. data/vendor/libgit2/src/merge_driver.c +4 -4
  162. data/vendor/libgit2/src/merge_file.c +1 -1
  163. data/vendor/libgit2/src/mwindow.c +23 -18
  164. data/vendor/libgit2/src/mwindow.h +4 -4
  165. data/vendor/libgit2/src/netops.c +165 -55
  166. data/vendor/libgit2/src/netops.h +25 -3
  167. data/vendor/libgit2/src/notes.c +2 -2
  168. data/vendor/libgit2/src/object.c +2 -2
  169. data/vendor/libgit2/src/object.h +0 -2
  170. data/vendor/libgit2/src/odb.c +23 -41
  171. data/vendor/libgit2/src/odb.h +2 -3
  172. data/vendor/libgit2/src/odb_loose.c +10 -17
  173. data/vendor/libgit2/src/odb_mempack.c +23 -10
  174. data/vendor/libgit2/src/odb_pack.c +4 -4
  175. data/vendor/libgit2/src/offmap.c +55 -43
  176. data/vendor/libgit2/src/offmap.h +24 -102
  177. data/vendor/libgit2/src/oid.c +1 -6
  178. data/vendor/libgit2/src/oidmap.c +57 -39
  179. data/vendor/libgit2/src/oidmap.h +19 -99
  180. data/vendor/libgit2/src/pack-objects.c +32 -25
  181. data/vendor/libgit2/src/pack-objects.h +1 -1
  182. data/vendor/libgit2/src/pack.c +47 -45
  183. data/vendor/libgit2/src/pack.h +14 -12
  184. data/vendor/libgit2/src/parse.c +0 -10
  185. data/vendor/libgit2/src/parse.h +3 -3
  186. data/vendor/libgit2/src/patch.c +1 -1
  187. data/vendor/libgit2/src/patch_generate.c +2 -2
  188. data/vendor/libgit2/src/patch_parse.c +31 -124
  189. data/vendor/libgit2/src/path.c +6 -43
  190. data/vendor/libgit2/src/path.h +0 -2
  191. data/vendor/libgit2/src/pathspec.c +13 -13
  192. data/vendor/libgit2/src/pool.c +22 -26
  193. data/vendor/libgit2/src/pool.h +7 -7
  194. data/vendor/libgit2/src/posix.c +7 -7
  195. data/vendor/libgit2/src/posix.h +1 -12
  196. data/vendor/libgit2/src/proxy.c +2 -7
  197. data/vendor/libgit2/src/push.c +5 -10
  198. data/vendor/libgit2/src/reader.c +2 -2
  199. data/vendor/libgit2/src/rebase.c +7 -66
  200. data/vendor/libgit2/src/refdb.c +0 -12
  201. data/vendor/libgit2/src/refdb_fs.c +165 -214
  202. data/vendor/libgit2/src/reflog.c +13 -11
  203. data/vendor/libgit2/src/refs.c +18 -24
  204. data/vendor/libgit2/src/refspec.c +16 -9
  205. data/vendor/libgit2/src/remote.c +52 -50
  206. data/vendor/libgit2/src/remote.h +2 -2
  207. data/vendor/libgit2/src/repository.c +100 -115
  208. data/vendor/libgit2/src/repository.h +40 -49
  209. data/vendor/libgit2/src/revert.c +3 -8
  210. data/vendor/libgit2/src/revparse.c +19 -18
  211. data/vendor/libgit2/src/revwalk.c +30 -63
  212. data/vendor/libgit2/src/revwalk.h +0 -20
  213. data/vendor/libgit2/src/settings.c +0 -5
  214. data/vendor/libgit2/src/sortedcache.c +26 -12
  215. data/vendor/libgit2/src/sortedcache.h +1 -1
  216. data/vendor/libgit2/src/stash.c +65 -45
  217. data/vendor/libgit2/src/status.c +9 -15
  218. data/vendor/libgit2/src/{allocators/stdalloc.c → stdalloc.c} +4 -3
  219. data/vendor/libgit2/src/{allocators/stdalloc.h → stdalloc.h} +4 -4
  220. data/vendor/libgit2/src/streams/openssl.c +0 -20
  221. data/vendor/libgit2/src/streams/socket.c +2 -2
  222. data/vendor/libgit2/src/strmap.c +84 -37
  223. data/vendor/libgit2/src/strmap.h +33 -105
  224. data/vendor/libgit2/src/submodule.c +70 -102
  225. data/vendor/libgit2/src/submodule.h +1 -1
  226. data/vendor/libgit2/src/sysdir.c +1 -11
  227. data/vendor/libgit2/src/tag.c +2 -10
  228. data/vendor/libgit2/src/trace.c +1 -1
  229. data/vendor/libgit2/src/trace.h +2 -2
  230. data/vendor/libgit2/src/trailer.c +32 -46
  231. data/vendor/libgit2/src/transaction.c +9 -10
  232. data/vendor/libgit2/src/transports/auth.c +9 -10
  233. data/vendor/libgit2/src/transports/auth.h +4 -11
  234. data/vendor/libgit2/src/transports/auth_negotiate.c +9 -23
  235. data/vendor/libgit2/src/transports/auth_negotiate.h +2 -2
  236. data/vendor/libgit2/src/transports/cred.c +6 -6
  237. data/vendor/libgit2/src/{allocators/win32_crtdbg.h → transports/cred.h} +4 -5
  238. data/vendor/libgit2/src/transports/git.c +16 -11
  239. data/vendor/libgit2/src/transports/http.c +276 -419
  240. data/vendor/libgit2/src/transports/http.h +1 -1
  241. data/vendor/libgit2/src/transports/local.c +9 -9
  242. data/vendor/libgit2/src/transports/smart.c +17 -17
  243. data/vendor/libgit2/src/transports/smart.h +2 -2
  244. data/vendor/libgit2/src/transports/smart_protocol.c +60 -36
  245. data/vendor/libgit2/src/transports/ssh.c +36 -46
  246. data/vendor/libgit2/src/transports/winhttp.c +207 -231
  247. data/vendor/libgit2/src/tree-cache.c +7 -14
  248. data/vendor/libgit2/src/tree.c +24 -10
  249. data/vendor/libgit2/src/unix/map.c +1 -1
  250. data/vendor/libgit2/src/unix/posix.h +11 -1
  251. data/vendor/libgit2/src/userdiff.h +1 -3
  252. data/vendor/libgit2/src/util.c +53 -51
  253. data/vendor/libgit2/src/util.h +21 -16
  254. data/vendor/libgit2/src/win32/map.c +5 -3
  255. data/vendor/libgit2/src/win32/path_w32.c +2 -12
  256. data/vendor/libgit2/src/win32/path_w32.h +29 -0
  257. data/vendor/libgit2/src/win32/posix.h +4 -1
  258. data/vendor/libgit2/src/win32/posix_w32.c +5 -40
  259. data/vendor/libgit2/src/win32/precompiled.h +2 -0
  260. data/vendor/libgit2/src/win32/thread.c +10 -5
  261. data/vendor/libgit2/src/win32/w32_buffer.c +3 -7
  262. data/vendor/libgit2/src/win32/w32_crtdbg_stacktrace.c +93 -0
  263. data/vendor/libgit2/src/win32/w32_crtdbg_stacktrace.h +2 -0
  264. data/vendor/libgit2/src/win32/w32_stack.c +9 -4
  265. data/vendor/libgit2/src/win32/w32_stack.h +3 -3
  266. data/vendor/libgit2/src/win32/w32_util.c +0 -31
  267. data/vendor/libgit2/src/win32/w32_util.h +32 -6
  268. data/vendor/libgit2/src/worktree.c +22 -36
  269. data/vendor/libgit2/src/xdiff/xdiffi.c +1 -1
  270. data/vendor/libgit2/src/xdiff/xmerge.c +0 -12
  271. data/vendor/libgit2/src/xdiff/xpatience.c +0 -3
  272. metadata +34 -98
  273. data/vendor/libgit2/cmake/Modules/FindGSSFramework.cmake +0 -28
  274. data/vendor/libgit2/cmake/Modules/FindPCRE.cmake +0 -38
  275. data/vendor/libgit2/cmake/Modules/FindPCRE2.cmake +0 -37
  276. data/vendor/libgit2/cmake/Modules/PkgBuildConfig.cmake +0 -110
  277. data/vendor/libgit2/cmake/Modules/SelectGSSAPI.cmake +0 -53
  278. data/vendor/libgit2/cmake/Modules/SelectHTTPSBackend.cmake +0 -124
  279. data/vendor/libgit2/cmake/Modules/SelectHashes.cmake +0 -66
  280. data/vendor/libgit2/deps/ntlmclient/CMakeLists.txt +0 -21
  281. data/vendor/libgit2/deps/ntlmclient/compat.h +0 -33
  282. data/vendor/libgit2/deps/ntlmclient/crypt.h +0 -64
  283. data/vendor/libgit2/deps/ntlmclient/crypt_commoncrypto.c +0 -120
  284. data/vendor/libgit2/deps/ntlmclient/crypt_commoncrypto.h +0 -18
  285. data/vendor/libgit2/deps/ntlmclient/crypt_mbedtls.c +0 -145
  286. data/vendor/libgit2/deps/ntlmclient/crypt_mbedtls.h +0 -18
  287. data/vendor/libgit2/deps/ntlmclient/crypt_openssl.c +0 -130
  288. data/vendor/libgit2/deps/ntlmclient/crypt_openssl.h +0 -21
  289. data/vendor/libgit2/deps/ntlmclient/ntlm.c +0 -1420
  290. data/vendor/libgit2/deps/ntlmclient/ntlm.h +0 -174
  291. data/vendor/libgit2/deps/ntlmclient/ntlmclient.h +0 -320
  292. data/vendor/libgit2/deps/ntlmclient/unicode.h +0 -36
  293. data/vendor/libgit2/deps/ntlmclient/unicode_builtin.c +0 -445
  294. data/vendor/libgit2/deps/ntlmclient/unicode_iconv.c +0 -201
  295. data/vendor/libgit2/deps/ntlmclient/utf8.h +0 -1257
  296. data/vendor/libgit2/deps/ntlmclient/util.c +0 -21
  297. data/vendor/libgit2/deps/ntlmclient/util.h +0 -14
  298. data/vendor/libgit2/deps/pcre/CMakeLists.txt +0 -140
  299. data/vendor/libgit2/deps/pcre/COPYING +0 -5
  300. data/vendor/libgit2/deps/pcre/cmake/COPYING-CMAKE-SCRIPTS +0 -22
  301. data/vendor/libgit2/deps/pcre/cmake/FindEditline.cmake +0 -17
  302. data/vendor/libgit2/deps/pcre/cmake/FindPackageHandleStandardArgs.cmake +0 -58
  303. data/vendor/libgit2/deps/pcre/cmake/FindReadline.cmake +0 -29
  304. data/vendor/libgit2/deps/pcre/config.h.in +0 -57
  305. data/vendor/libgit2/deps/pcre/pcre.h +0 -641
  306. data/vendor/libgit2/deps/pcre/pcre_byte_order.c +0 -319
  307. data/vendor/libgit2/deps/pcre/pcre_chartables.c +0 -198
  308. data/vendor/libgit2/deps/pcre/pcre_compile.c +0 -9800
  309. data/vendor/libgit2/deps/pcre/pcre_config.c +0 -190
  310. data/vendor/libgit2/deps/pcre/pcre_dfa_exec.c +0 -3676
  311. data/vendor/libgit2/deps/pcre/pcre_exec.c +0 -7173
  312. data/vendor/libgit2/deps/pcre/pcre_fullinfo.c +0 -245
  313. data/vendor/libgit2/deps/pcre/pcre_get.c +0 -669
  314. data/vendor/libgit2/deps/pcre/pcre_globals.c +0 -86
  315. data/vendor/libgit2/deps/pcre/pcre_internal.h +0 -2787
  316. data/vendor/libgit2/deps/pcre/pcre_jit_compile.c +0 -11913
  317. data/vendor/libgit2/deps/pcre/pcre_maketables.c +0 -156
  318. data/vendor/libgit2/deps/pcre/pcre_newline.c +0 -210
  319. data/vendor/libgit2/deps/pcre/pcre_ord2utf8.c +0 -94
  320. data/vendor/libgit2/deps/pcre/pcre_printint.c +0 -834
  321. data/vendor/libgit2/deps/pcre/pcre_refcount.c +0 -92
  322. data/vendor/libgit2/deps/pcre/pcre_string_utils.c +0 -211
  323. data/vendor/libgit2/deps/pcre/pcre_study.c +0 -1686
  324. data/vendor/libgit2/deps/pcre/pcre_tables.c +0 -727
  325. data/vendor/libgit2/deps/pcre/pcre_ucd.c +0 -3644
  326. data/vendor/libgit2/deps/pcre/pcre_valid_utf8.c +0 -301
  327. data/vendor/libgit2/deps/pcre/pcre_version.c +0 -98
  328. data/vendor/libgit2/deps/pcre/pcre_xclass.c +0 -268
  329. data/vendor/libgit2/deps/pcre/pcreposix.c +0 -421
  330. data/vendor/libgit2/deps/pcre/pcreposix.h +0 -117
  331. data/vendor/libgit2/deps/pcre/ucp.h +0 -224
  332. data/vendor/libgit2/include/git2/cert.h +0 -135
  333. data/vendor/libgit2/include/git2/cred.h +0 -308
  334. data/vendor/libgit2/include/git2/sys/cred.h +0 -90
  335. data/vendor/libgit2/src/allocators/win32_crtdbg.c +0 -118
  336. data/vendor/libgit2/src/config_snapshot.c +0 -206
  337. data/vendor/libgit2/src/errors.h +0 -81
  338. data/vendor/libgit2/src/hash/sha1.h +0 -38
  339. data/vendor/libgit2/src/hash/sha1/collisiondetect.h +0 -19
  340. data/vendor/libgit2/src/hash/sha1/common_crypto.h +0 -19
  341. data/vendor/libgit2/src/hash/sha1/openssl.h +0 -19
  342. data/vendor/libgit2/src/net.c +0 -184
  343. data/vendor/libgit2/src/net.h +0 -36
  344. data/vendor/libgit2/src/regexp.c +0 -221
  345. data/vendor/libgit2/src/regexp.h +0 -97
  346. data/vendor/libgit2/src/transports/auth_ntlm.c +0 -223
  347. data/vendor/libgit2/src/transports/auth_ntlm.h +0 -35
  348. data/vendor/libgit2/src/wildmatch.c +0 -320
  349. data/vendor/libgit2/src/wildmatch.h +0 -23
  350. data/vendor/libgit2/src/win32/w32_common.h +0 -39
@@ -267,7 +267,7 @@ GIT_EXTERN(void) git_treebuilder_clear(git_treebuilder *bld);
267
267
  * @param bld a previously loaded treebuilder.
268
268
  * @return the number of entries in the treebuilder
269
269
  */
270
- GIT_EXTERN(size_t) git_treebuilder_entrycount(git_treebuilder *bld);
270
+ GIT_EXTERN(unsigned int) git_treebuilder_entrycount(git_treebuilder *bld);
271
271
 
272
272
  /**
273
273
  * Free a tree builder
@@ -63,9 +63,6 @@ typedef int64_t git_time_t; /**< time in seconds from epoch */
63
63
 
64
64
  #endif
65
65
 
66
- /** The maximum size of an object */
67
- typedef uint64_t git_object_size_t;
68
-
69
66
  #include "buffer.h"
70
67
  #include "oid.h"
71
68
 
@@ -247,10 +244,98 @@ typedef struct git_push git_push;
247
244
  typedef struct git_remote_head git_remote_head;
248
245
  typedef struct git_remote_callbacks git_remote_callbacks;
249
246
 
247
+ /**
248
+ * This is passed as the first argument to the callback to allow the
249
+ * user to see the progress.
250
+ *
251
+ * - total_objects: number of objects in the packfile being downloaded
252
+ * - indexed_objects: received objects that have been hashed
253
+ * - received_objects: objects which have been downloaded
254
+ * - local_objects: locally-available objects that have been injected
255
+ * in order to fix a thin pack.
256
+ * - received-bytes: size of the packfile received up to now
257
+ */
258
+ typedef struct git_transfer_progress {
259
+ unsigned int total_objects;
260
+ unsigned int indexed_objects;
261
+ unsigned int received_objects;
262
+ unsigned int local_objects;
263
+ unsigned int total_deltas;
264
+ unsigned int indexed_deltas;
265
+ size_t received_bytes;
266
+ } git_transfer_progress;
267
+
268
+ /**
269
+ * Type for progress callbacks during indexing. Return a value less than zero
270
+ * to cancel the transfer.
271
+ *
272
+ * @param stats Structure containing information about the state of the transfer
273
+ * @param payload Payload provided by caller
274
+ */
275
+ typedef int GIT_CALLBACK(git_transfer_progress_cb)(const git_transfer_progress *stats, void *payload);
276
+
277
+ /**
278
+ * Type for messages delivered by the transport. Return a negative value
279
+ * to cancel the network operation.
280
+ *
281
+ * @param str The message from the transport
282
+ * @param len The length of the message
283
+ * @param payload Payload provided by the caller
284
+ */
285
+ typedef int GIT_CALLBACK(git_transport_message_cb)(const char *str, int len, void *payload);
286
+
287
+
288
+ /**
289
+ * Type of host certificate structure that is passed to the check callback
290
+ */
291
+ typedef enum git_cert_t {
292
+ /**
293
+ * No information about the certificate is available. This may
294
+ * happen when using curl.
295
+ */
296
+ GIT_CERT_NONE,
297
+ /**
298
+ * The `data` argument to the callback will be a pointer to
299
+ * the DER-encoded data.
300
+ */
301
+ GIT_CERT_X509,
302
+ /**
303
+ * The `data` argument to the callback will be a pointer to a
304
+ * `git_cert_hostkey` structure.
305
+ */
306
+ GIT_CERT_HOSTKEY_LIBSSH2,
307
+ /**
308
+ * The `data` argument to the callback will be a pointer to a
309
+ * `git_strarray` with `name:content` strings containing
310
+ * information about the certificate. This is used when using
311
+ * curl.
312
+ */
313
+ GIT_CERT_STRARRAY,
314
+ } git_cert_t;
315
+
250
316
  /**
251
317
  * Parent type for `git_cert_hostkey` and `git_cert_x509`.
252
318
  */
253
- typedef struct git_cert git_cert;
319
+ typedef struct {
320
+ /**
321
+ * Type of certificate. A `GIT_CERT_` value.
322
+ */
323
+ git_cert_t cert_type;
324
+ } git_cert;
325
+
326
+ /**
327
+ * Callback for the user's custom certificate checks.
328
+ *
329
+ * @param cert The host certificate
330
+ * @param valid Whether the libgit2 checks (OpenSSL or WinHTTP) think
331
+ * this certificate is valid
332
+ * @param host Hostname of the host libgit2 connected to
333
+ * @param payload Payload provided by the caller
334
+ * @return 0 to proceed with the connection, < 0 to fail the connection
335
+ * or > 0 to indicate that the callback refused to act and that
336
+ * the existing validity determination should be honored
337
+ */
338
+ typedef int GIT_CALLBACK(git_transport_certificate_check_cb)(git_cert *cert, int valid, const char *host, void *payload);
254
339
 
255
340
  /**
256
341
  * Opaque structure representing a submodule.
@@ -7,10 +7,10 @@
7
7
  #ifndef INCLUDE_git_version_h__
8
8
  #define INCLUDE_git_version_h__
9
9
 
10
- #define LIBGIT2_VERSION "0.28.0"
10
+ #define LIBGIT2_VERSION "0.28.4"
11
11
  #define LIBGIT2_VER_MAJOR 0
12
12
  #define LIBGIT2_VER_MINOR 28
13
- #define LIBGIT2_VER_REVISION 0
13
+ #define LIBGIT2_VER_REVISION 4
14
14
  #define LIBGIT2_VER_PATCH 0
15
15
 
16
16
  #define LIBGIT2_SOVERSION 28
@@ -78,7 +78,7 @@ GIT_EXTERN(int) git_worktree_validate(const git_worktree *wt);
78
78
  * Worktree add options structure
79
79
  *
80
80
  * Initialize with `GIT_WORKTREE_ADD_OPTIONS_INIT`. Alternatively, you can
81
- * use `git_worktree_add_options_init`.
81
+ * use `git_worktree_add_init_options`.
82
82
  *
83
83
  */
84
84
  typedef struct git_worktree_add_options {
@@ -101,7 +101,7 @@ typedef struct git_worktree_add_options {
101
101
  * @param version The struct version; pass `GIT_WORKTREE_ADD_OPTIONS_VERSION`.
102
102
  * @return Zero on success; -1 on failure.
103
103
  */
104
- GIT_EXTERN(int) git_worktree_add_options_init(git_worktree_add_options *opts,
104
+ GIT_EXTERN(int) git_worktree_add_init_options(git_worktree_add_options *opts,
105
105
  unsigned int version);
106
106
 
107
107
  /**
@@ -174,7 +174,7 @@ GIT_EXTERN(const char *) git_worktree_name(const git_worktree *wt);
174
174
  * is valid for the lifetime of the git_worktree.
175
175
  */
176
176
  GIT_EXTERN(const char *) git_worktree_path(const git_worktree *wt);
177
-
177
+
178
178
  /**
179
179
  * Flags which can be passed to git_worktree_prune to alter its
180
180
  * behavior.
@@ -192,7 +192,7 @@ typedef enum {
192
192
  * Worktree prune options structure
193
193
  *
194
194
  * Initialize with `GIT_WORKTREE_PRUNE_OPTIONS_INIT`. Alternatively, you can
195
- * use `git_worktree_prune_options_init`.
195
+ * use `git_worktree_prune_init_options`.
196
196
  *
197
197
  */
198
198
  typedef struct git_worktree_prune_options {
@@ -214,7 +214,7 @@ typedef struct git_worktree_prune_options {
214
214
  * @param version The struct version; pass `GIT_WORKTREE_PRUNE_OPTIONS_VERSION`.
215
215
  * @return Zero on success; -1 on failure.
216
216
  */
217
- GIT_EXTERN(int) git_worktree_prune_options_init(
217
+ GIT_EXTERN(int) git_worktree_prune_init_options(
218
218
  git_worktree_prune_options *opts,
219
219
  unsigned int version);
220
220
 
@@ -0,0 +1,13 @@
1
+ prefix="@PKGCONFIG_PREFIX@"
2
+ libdir=@PKGCONFIG_LIBDIR@
3
+ includedir=@PKGCONFIG_INCLUDEDIR@
4
+
5
+ Name: libgit2
6
+ Description: The git library, take 2
7
+ Version: @LIBGIT2_VERSION_STRING@
8
+
9
+ Libs: -L${libdir} -lgit2
10
+ Libs.private: @LIBGIT2_PC_LIBS@
11
+ Requires.private: @LIBGIT2_PC_REQUIRES@
12
+
13
+ Cflags: -I${includedir}
@@ -3,8 +3,6 @@ IF(DEBUG_POOL)
3
3
  ENDIF()
4
4
  ADD_FEATURE_INFO(debugpool GIT_DEBUG_POOL "debug pool allocator")
5
5
 
6
- INCLUDE(PkgBuildConfig)
7
-
8
6
  # This variable will contain the libraries we need to put into
9
7
  # libgit2.pc's Requires.private. That is, what we're linking to or
10
8
  # what someone who's statically linking us needs to link to.
@@ -27,12 +25,46 @@ SET(BIN_INSTALL_DIR bin CACHE PATH "Where to install binaries to.")
27
25
  SET(LIB_INSTALL_DIR lib CACHE PATH "Where to install libraries to.")
28
26
  SET(INCLUDE_INSTALL_DIR include CACHE PATH "Where to install headers to.")
29
27
 
28
+ # Set a couple variables to be substituted inside the .pc file.
29
+ # We can't just use LIB_INSTALL_DIR in the .pc file, as passing them as absolue
30
+ # or relative paths is both valid and supported by cmake.
31
+ SET (PKGCONFIG_PREFIX ${CMAKE_INSTALL_PREFIX})
32
+
33
+ IF(IS_ABSOLUTE ${LIB_INSTALL_DIR})
34
+ SET (PKGCONFIG_LIBDIR ${LIB_INSTALL_DIR})
35
+ ELSE(IS_ABSOLUTE ${LIB_INSTALL_DIR})
36
+ SET (PKGCONFIG_LIBDIR "\${prefix}/${LIB_INSTALL_DIR}")
37
+ ENDIF (IS_ABSOLUTE ${LIB_INSTALL_DIR})
38
+
39
+ IF(IS_ABSOLUTE ${INCLUDE_INSTALL_DIR})
40
+ SET (PKGCONFIG_INCLUDEDIR ${INCLUDE_INSTALL_DIR})
41
+ ELSE(IS_ABSOLUTE ${INCLUDE_INSTALL_DIR})
42
+ SET (PKGCONFIG_INCLUDEDIR "\${prefix}/${INCLUDE_INSTALL_DIR}")
43
+ ENDIF(IS_ABSOLUTE ${INCLUDE_INSTALL_DIR})
44
+
30
45
  # Enable tracing
31
46
  IF (ENABLE_TRACE STREQUAL "ON")
32
47
  SET(GIT_TRACE 1)
33
48
  ENDIF()
34
49
  ADD_FEATURE_INFO(tracing GIT_TRACE "tracing support")
35
50
 
51
+ # Use `regcomp_l` if available
52
+ CHECK_SYMBOL_EXISTS(regcomp_l "regex.h;xlocale.h" HAVE_REGCOMP_L)
53
+ IF (HAVE_REGCOMP_L)
54
+ SET(GIT_USE_REGCOMP_L 1)
55
+ ENDIF ()
56
+
57
+ # Otherwise, we either want to use system's `regcomp` or our
58
+ # bundled regcomp code, if system doesn't provide `regcomp`.
59
+ IF(NOT HAVE_REGCOMP_L)
60
+ CHECK_FUNCTION_EXISTS(regcomp HAVE_REGCOMP)
61
+ IF(NOT HAVE_REGCOMP)
62
+ ADD_SUBDIRECTORY("${libgit2_SOURCE_DIR}/deps/regex" "${libgit2_BINARY_DIR}/deps/regex")
63
+ LIST(APPEND LIBGIT2_INCLUDES "${libgit2_SOURCE_DIR}/deps/regex")
64
+ LIST(APPEND LIBGIT2_OBJECTS $<TARGET_OBJECTS:regex>)
65
+ ENDIF()
66
+ ENDIF()
67
+
36
68
  CHECK_FUNCTION_EXISTS(futimens HAVE_FUTIMENS)
37
69
  IF (HAVE_FUTIMENS)
38
70
  SET(GIT_USE_FUTIMENS 1)
@@ -107,73 +139,180 @@ IF (WIN32 AND WINHTTP)
107
139
  LIST(APPEND LIBGIT2_PC_LIBS "-lrpcrt4" "-lcrypt32" "-lole32")
108
140
  ENDIF()
109
141
 
110
- Include(SelectHTTPSBackend)
111
- Include(SelectHashes)
142
+ IF (USE_HTTPS)
143
+ # We try to find any packages our backends might use
144
+ FIND_PACKAGE(OpenSSL)
145
+ FIND_PACKAGE(mbedTLS)
146
+ IF (CMAKE_SYSTEM_NAME MATCHES "Darwin")
147
+ FIND_PACKAGE(Security)
148
+ FIND_PACKAGE(CoreFoundation)
149
+ ENDIF()
150
+
151
+ # Auto-select TLS backend
152
+ IF (USE_HTTPS STREQUAL ON)
153
+ IF (SECURITY_FOUND)
154
+ IF (SECURITY_HAS_SSLCREATECONTEXT)
155
+ SET(HTTPS_BACKEND "SecureTransport")
156
+ ELSE()
157
+ MESSAGE("-- Security framework is too old, falling back to OpenSSL")
158
+ SET(HTTPS_BACKEND "OpenSSL")
159
+ ENDIF()
160
+ ELSEIF (WINHTTP)
161
+ SET(HTTPS_BACKEND "WinHTTP")
162
+ ELSEIF(OPENSSL_FOUND)
163
+ SET(HTTPS_BACKEND "OpenSSL")
164
+ ELSEIF(MBEDTLS_FOUND)
165
+ SET(HTTPS_BACKEND "mbedTLS")
166
+ ELSE()
167
+ MESSAGE(FATAL_ERROR "Unable to autodetect a usable HTTPS backend."
168
+ "Please pass the backend name explicitly (-DUSE_HTTPS=backend)")
169
+ ENDIF()
170
+ ELSE()
171
+ # Backend was explicitly set
172
+ SET(HTTPS_BACKEND ${USE_HTTPS})
173
+ ENDIF()
174
+
175
+ # Check that we can find what's required for the selected backend
176
+ IF (HTTPS_BACKEND STREQUAL "SecureTransport")
177
+ IF (NOT COREFOUNDATION_FOUND)
178
+ MESSAGE(FATAL_ERROR "Cannot use SecureTransport backend, CoreFoundation.framework not found")
179
+ ENDIF()
180
+ IF (NOT SECURITY_FOUND)
181
+ MESSAGE(FATAL_ERROR "Cannot use SecureTransport backend, Security.framework not found")
182
+ ENDIF()
183
+ IF (NOT SECURITY_HAS_SSLCREATECONTEXT)
184
+ MESSAGE(FATAL_ERROR "Cannot use SecureTransport backend, SSLCreateContext not supported")
185
+ ENDIF()
186
+
187
+ SET(GIT_SECURE_TRANSPORT 1)
188
+ LIST(APPEND LIBGIT2_SYSTEM_INCLUDES ${SECURITY_INCLUDE_DIR})
189
+ LIST(APPEND LIBGIT2_LIBS ${COREFOUNDATION_LIBRARIES} ${SECURITY_LIBRARIES})
190
+ LIST(APPEND LIBGIT2_PC_LIBS ${COREFOUNDATION_LDFLAGS} ${SECURITY_LDFLAGS})
191
+ ELSEIF (HTTPS_BACKEND STREQUAL "OpenSSL")
192
+ IF (NOT OPENSSL_FOUND)
193
+ MESSAGE(FATAL_ERROR "Asked for OpenSSL TLS backend, but it wasn't found")
194
+ ENDIF()
195
+
196
+ SET(GIT_OPENSSL 1)
197
+ LIST(APPEND LIBGIT2_SYSTEM_INCLUDES ${OPENSSL_INCLUDE_DIR})
198
+ LIST(APPEND LIBGIT2_LIBS ${OPENSSL_LIBRARIES})
199
+ LIST(APPEND LIBGIT2_PC_LIBS ${OPENSSL_LDFLAGS})
200
+ LIST(APPEND LIBGIT2_PC_REQUIRES "openssl")
201
+ ELSEIF(HTTPS_BACKEND STREQUAL "mbedTLS")
202
+ IF (NOT MBEDTLS_FOUND)
203
+ MESSAGE(FATAL_ERROR "Asked for mbedTLS backend, but it wasn't found")
204
+ ENDIF()
112
205
 
113
- # Specify regular expression implementation
114
- FIND_PACKAGE(PCRE)
206
+ IF(NOT CERT_LOCATION)
207
+ MESSAGE("Auto-detecting default certificates location")
208
+ IF(CMAKE_SYSTEM_NAME MATCHES Darwin)
209
+ # Check for an Homebrew installation
210
+ SET(OPENSSL_CMD "/usr/local/opt/openssl/bin/openssl")
211
+ ELSE()
212
+ SET(OPENSSL_CMD "openssl")
213
+ ENDIF()
214
+ EXECUTE_PROCESS(COMMAND ${OPENSSL_CMD} version -d OUTPUT_VARIABLE OPENSSL_DIR OUTPUT_STRIP_TRAILING_WHITESPACE)
215
+ IF(OPENSSL_DIR)
216
+ STRING(REGEX REPLACE "^OPENSSLDIR: \"(.*)\"$" "\\1/" OPENSSL_DIR ${OPENSSL_DIR})
217
+
218
+ SET(OPENSSL_CA_LOCATIONS
219
+ "ca-bundle.pem" # OpenSUSE Leap 42.1
220
+ "cert.pem" # Ubuntu 14.04, FreeBSD
221
+ "certs/ca-certificates.crt" # Ubuntu 16.04
222
+ "certs/ca.pem" # Debian 7
223
+ )
224
+ FOREACH(SUFFIX IN LISTS OPENSSL_CA_LOCATIONS)
225
+ SET(LOC "${OPENSSL_DIR}${SUFFIX}")
226
+ IF(NOT CERT_LOCATION AND EXISTS "${OPENSSL_DIR}${SUFFIX}")
227
+ SET(CERT_LOCATION ${LOC})
228
+ ENDIF()
229
+ ENDFOREACH()
230
+ ELSE()
231
+ MESSAGE("Unable to find OpenSSL executable. Please provide default certificate location via CERT_LOCATION")
232
+ ENDIF()
233
+ ENDIF()
115
234
 
116
- IF(REGEX_BACKEND STREQUAL "")
117
- CHECK_SYMBOL_EXISTS(regcomp_l "regex.h;xlocale.h" HAVE_REGCOMP_L)
235
+ IF(CERT_LOCATION)
236
+ IF(NOT EXISTS ${CERT_LOCATION})
237
+ MESSAGE(FATAL_ERROR "Cannot use CERT_LOCATION=${CERT_LOCATION} as it doesn't exist")
238
+ ENDIF()
239
+ ADD_FEATURE_INFO(CERT_LOCATION ON "using certificates from ${CERT_LOCATION}")
240
+ ADD_DEFINITIONS(-DGIT_DEFAULT_CERT_LOCATION="${CERT_LOCATION}")
241
+ ENDIF()
118
242
 
119
- IF(HAVE_REGCOMP_L)
120
- SET(REGEX_BACKEND "regcomp_l")
121
- ELSEIF(PCRE_FOUND)
122
- SET(REGEX_BACKEND "pcre")
243
+ SET(GIT_MBEDTLS 1)
244
+ LIST(APPEND LIBGIT2_SYSTEM_INCLUDES ${MBEDTLS_INCLUDE_DIR})
245
+ LIST(APPEND LIBGIT2_LIBS ${MBEDTLS_LIBRARIES})
246
+ # mbedTLS has no pkgconfig file, hence we can't require it
247
+ # https://github.com/ARMmbed/mbedtls/issues/228
248
+ # For now, pass its link flags as our own
249
+ LIST(APPEND LIBGIT2_PC_LIBS ${MBEDTLS_LIBRARIES})
250
+ ELSEIF (HTTPS_BACKEND STREQUAL "WinHTTP")
251
+ # WinHTTP setup was handled in the WinHTTP-specific block above
123
252
  ELSE()
124
- SET(REGEX_BACKEND "builtin")
253
+ MESSAGE(FATAL_ERROR "Asked for backend ${HTTPS_BACKEND} but it wasn't found")
125
254
  ENDIF()
126
- ENDIF()
127
255
 
128
- IF(REGEX_BACKEND STREQUAL "regcomp_l")
129
- ADD_FEATURE_INFO(regex ON "using system regcomp_l")
130
- SET(GIT_REGEX_REGCOMP_L 1)
131
- ELSEIF(REGEX_BACKEND STREQUAL "pcre2")
132
- FIND_PACKAGE(PCRE2)
256
+ ADD_FEATURE_INFO(HTTPS ON "using ${HTTPS_BACKEND}")
257
+ SET(GIT_HTTPS 1)
258
+ ELSE()
259
+ ADD_FEATURE_INFO(HTTPS OFF "no support")
260
+ ENDIF()
133
261
 
134
- IF(NOT PCRE2_FOUND)
135
- MESSAGE(FATAL_ERROR "PCRE2 support was requested but not found")
262
+ # Specify sha1 implementation
263
+ IF(SHA1_BACKEND STREQUAL "OpenSSL")
264
+ IF(NOT OPENSSL_FOUND)
265
+ FIND_PACKAGE(OpenSSL)
266
+ IF(NOT OPENSSL_FOUND)
267
+ MESSAGE(FATAL_ERROR "Requested OpenSSL SHA1 backend, but OpenSSL could not be found")
268
+ ENDIF()
136
269
  ENDIF()
137
270
 
138
- ADD_FEATURE_INFO(regex ON "using system PCRE2")
139
- SET(GIT_REGEX_PCRE2 1)
140
-
141
- LIST(APPEND LIBGIT2_SYSTEM_INCLUDES ${PCRE2_INCLUDE_DIRS})
142
- LIST(APPEND LIBGIT2_LIBS ${PCRE2_LIBRARIES})
143
- LIST(APPEND LIBGIT2_PC_REQUIRES "libpcre2")
144
- ELSEIF(REGEX_BACKEND STREQUAL "pcre")
145
- ADD_FEATURE_INFO(regex ON "using system PCRE")
146
- SET(GIT_REGEX_PCRE 1)
147
-
148
- LIST(APPEND LIBGIT2_SYSTEM_INCLUDES ${PCRE_INCLUDE_DIRS})
149
- LIST(APPEND LIBGIT2_LIBS ${PCRE_LIBRARIES})
150
- LIST(APPEND LIBGIT2_PC_REQUIRES "libpcre")
151
- ELSEIF(REGEX_BACKEND STREQUAL "regcomp")
152
- ADD_FEATURE_INFO(regex ON "using system regcomp")
153
- SET(GIT_REGEX_REGCOMP 1)
154
- ELSEIF(REGEX_BACKEND STREQUAL "builtin")
155
- ADD_FEATURE_INFO(regex ON "using bundled PCRE")
156
- SET(GIT_REGEX_BUILTIN 1)
157
-
158
- ADD_SUBDIRECTORY("${libgit2_SOURCE_DIR}/deps/pcre" "${libgit2_BINARY_DIR}/deps/pcre")
159
- LIST(APPEND LIBGIT2_INCLUDES "${libgit2_SOURCE_DIR}/deps/pcre")
160
- LIST(APPEND LIBGIT2_OBJECTS $<TARGET_OBJECTS:pcre>)
271
+ ADD_FEATURE_INFO(SHA ON "using OpenSSL")
272
+ SET(GIT_SHA1_OPENSSL 1)
273
+ IF(CMAKE_SYSTEM_NAME MATCHES "FreeBSD")
274
+ LIST(APPEND LIBGIT2_PC_LIBS "-lssl")
275
+ ELSE()
276
+ LIST(APPEND LIBGIT2_PC_REQUIRES "openssl")
277
+ ENDIF()
278
+ ELSEIF(SHA1_BACKEND STREQUAL "CollisionDetection")
279
+ ADD_FEATURE_INFO(SHA ON "using CollisionDetection")
280
+ SET(GIT_SHA1_COLLISIONDETECT 1)
281
+ ADD_DEFINITIONS(-DSHA1DC_NO_STANDARD_INCLUDES=1)
282
+ ADD_DEFINITIONS(-DSHA1DC_CUSTOM_INCLUDE_SHA1_C=\"common.h\")
283
+ ADD_DEFINITIONS(-DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C=\"common.h\")
284
+ FILE(GLOB SRC_SHA1 hash/hash_collisiondetect.c hash/sha1dc/*)
285
+ ELSEIF(SHA1_BACKEND STREQUAL "Generic")
286
+ ADD_FEATURE_INFO(SHA ON "using Generic")
287
+ FILE(GLOB SRC_SHA1 hash/hash_generic.c)
288
+ ELSEIF(SHA1_BACKEND STREQUAL "Win32")
289
+ ADD_FEATURE_INFO(SHA ON "using Win32")
290
+ SET(GIT_SHA1_WIN32 1)
291
+ FILE(GLOB SRC_SHA1 hash/hash_win32.c)
292
+ ELSEIF(SHA1_BACKEND STREQUAL "CommonCrypto")
293
+ ADD_FEATURE_INFO(SHA ON "using CommonCrypto")
294
+ SET(GIT_SHA1_COMMON_CRYPTO 1)
295
+ ELSEIF (SHA1_BACKEND STREQUAL "mbedTLS")
296
+ ADD_FEATURE_INFO(SHA ON "using mbedTLS")
297
+ SET(GIT_SHA1_MBEDTLS 1)
298
+ FILE(GLOB SRC_SHA1 hash/hash_mbedtls.c)
299
+ LIST(APPEND LIBGIT2_SYSTEM_INCLUDES ${MBEDTLS_INCLUDE_DIR})
300
+ LIST(APPEND LIBGIT2_LIBS ${MBEDTLS_LIBRARIES})
301
+ # mbedTLS has no pkgconfig file, hence we can't require it
302
+ # https://github.com/ARMmbed/mbedtls/issues/228
303
+ # For now, pass its link flags as our own
304
+ LIST(APPEND LIBGIT2_PC_LIBS ${MBEDTLS_LIBRARIES})
161
305
  ELSE()
162
- MESSAGE(FATAL_ERROR "The REGEX_BACKEND option provided is not supported")
306
+ MESSAGE(FATAL_ERROR "Asked for unknown SHA1 backend ${SHA1_BACKEND}")
163
307
  ENDIF()
164
308
 
165
309
  # Optional external dependency: http-parser
166
- IF(USE_HTTP_PARSER STREQUAL "system")
167
- FIND_PACKAGE(HTTP_Parser)
168
-
169
- IF (HTTP_PARSER_FOUND AND HTTP_PARSER_VERSION_MAJOR EQUAL 2)
170
- LIST(APPEND LIBGIT2_SYSTEM_INCLUDES ${HTTP_PARSER_INCLUDE_DIRS})
171
- LIST(APPEND LIBGIT2_LIBS ${HTTP_PARSER_LIBRARIES})
172
- LIST(APPEND LIBGIT2_PC_LIBS "-lhttp_parser")
173
- ADD_FEATURE_INFO(http-parser ON "http-parser support (system)")
174
- ELSE()
175
- MESSAGE(FATAL_ERROR "http-parser support was requested but not found")
176
- ENDIF()
310
+ FIND_PACKAGE(HTTP_Parser)
311
+ IF (USE_EXT_HTTP_PARSER AND HTTP_PARSER_FOUND AND HTTP_PARSER_VERSION_MAJOR EQUAL 2)
312
+ LIST(APPEND LIBGIT2_SYSTEM_INCLUDES ${HTTP_PARSER_INCLUDE_DIRS})
313
+ LIST(APPEND LIBGIT2_LIBS ${HTTP_PARSER_LIBRARIES})
314
+ LIST(APPEND LIBGIT2_PC_LIBS "-lhttp_parser")
315
+ ADD_FEATURE_INFO(http-parser ON "http-parser support")
177
316
  ELSE()
178
317
  MESSAGE(STATUS "http-parser version 2 was not found or disabled; using bundled 3rd-party sources.")
179
318
  ADD_SUBDIRECTORY("${libgit2_SOURCE_DIR}/deps/http-parser" "${libgit2_BINARY_DIR}/deps/http-parser")
@@ -189,6 +328,7 @@ IF(NOT USE_BUNDLED_ZLIB)
189
328
  LIST(APPEND LIBGIT2_SYSTEM_INCLUDES ${ZLIB_INCLUDE_DIRS})
190
329
  LIST(APPEND LIBGIT2_LIBS ${ZLIB_LIBRARIES})
191
330
  IF(APPLE OR CMAKE_SYSTEM_NAME MATCHES "FreeBSD")
331
+ LIST(APPEND LIBGIT2_LIBS "z")
192
332
  LIST(APPEND LIBGIT2_PC_LIBS "-lz")
193
333
  ELSE()
194
334
  LIST(APPEND LIBGIT2_PC_REQUIRES "zlib")
@@ -224,18 +364,15 @@ ELSE()
224
364
  ENDIF()
225
365
  ADD_FEATURE_INFO(SSH GIT_SSH "SSH transport support")
226
366
 
227
- # Optional external dependency: ntlmclient
228
- IF (USE_NTLMCLIENT)
229
- SET(GIT_NTLM 1)
230
- ADD_SUBDIRECTORY("${libgit2_SOURCE_DIR}/deps/ntlmclient" "${libgit2_BINARY_DIR}/deps/ntlmclient")
231
- LIST(APPEND LIBGIT2_INCLUDES "${libgit2_SOURCE_DIR}/deps/ntlmclient")
232
- LIST(APPEND LIBGIT2_OBJECTS "$<TARGET_OBJECTS:ntlmclient>")
367
+ # Optional external dependency: libgssapi
368
+ IF (USE_GSSAPI)
369
+ FIND_PACKAGE(GSSAPI)
233
370
  ENDIF()
234
- ADD_FEATURE_INFO(ntlmclient GIT_NTLM "NTLM authentication support for Unix")
235
-
236
- # Optional external dependency: GSSAPI
237
-
238
- INCLUDE(SelectGSSAPI)
371
+ IF (GSSAPI_FOUND)
372
+ SET(GIT_GSSAPI 1)
373
+ LIST(APPEND LIBGIT2_LIBS ${GSSAPI_LIBRARIES})
374
+ ENDIF()
375
+ ADD_FEATURE_INFO(SPNEGO GIT_GSSAPI "SPNEGO authentication support")
239
376
 
240
377
  # Optional external dependency: iconv
241
378
  IF (USE_ICONV)
@@ -280,6 +417,8 @@ FILE(GLOB SRC_H
280
417
 
281
418
  # On Windows use specific platform sources
282
419
  IF (WIN32 AND NOT CYGWIN)
420
+ ADD_DEFINITIONS(-DWIN32 -D_WIN32_WINNT=0x0600)
421
+
283
422
  IF(MSVC)
284
423
  SET(WIN_RC "win32/git2.rc")
285
424
  ENDIF()
@@ -288,27 +427,16 @@ IF (WIN32 AND NOT CYGWIN)
288
427
  ELSEIF (AMIGA)
289
428
  ADD_DEFINITIONS(-DNO_ADDRINFO -DNO_READDIR_R -DNO_MMAP)
290
429
  ELSE()
291
- ADD_FEATURE_INFO(valgrind VALGRIND "valgrind hints")
292
430
  IF (VALGRIND)
293
- ADD_DEFINITIONS(-DVALGRIND)
431
+ ADD_DEFINITIONS(-DNO_MMAP)
294
432
  ENDIF()
295
-
296
433
  FILE(GLOB SRC_OS unix/*.c unix/*.h)
297
434
  ENDIF()
298
-
299
435
  FILE(GLOB SRC_GIT2 *.c *.h
300
- allocators/*.c allocators/*.h
301
436
  streams/*.c streams/*.h
302
437
  transports/*.c transports/*.h
303
438
  xdiff/*.c xdiff/*.h)
304
439
 
305
- # the xdiff dependency is not (yet) warning-free, disable warnings as
306
- # errors for the xdiff sources until we've sorted them out
307
- IF(MSVC)
308
- SET_SOURCE_FILES_PROPERTIES(xdiff/xdiffi.c PROPERTIES COMPILE_FLAGS -WX-)
309
- SET_SOURCE_FILES_PROPERTIES(xdiff/xutils.c PROPERTIES COMPILE_FLAGS -WX-)
310
- ENDIF()
311
-
312
440
  # Determine architecture of the machine
313
441
  IF (CMAKE_SIZEOF_VOID_P EQUAL 8)
314
442
  SET(GIT_ARCH_64 1)
@@ -329,8 +457,16 @@ SET_TARGET_PROPERTIES(git2internal PROPERTIES C_STANDARD 90)
329
457
  IDE_SPLIT_SOURCES(git2internal)
330
458
  LIST(APPEND LIBGIT2_OBJECTS $<TARGET_OBJECTS:git2internal>)
331
459
 
332
- TARGET_INCLUDE_DIRECTORIES(git2internal PRIVATE ${LIBGIT2_INCLUDES} PUBLIC ${libgit2_SOURCE_DIR}/include)
333
- TARGET_INCLUDE_DIRECTORIES(git2internal SYSTEM PRIVATE ${LIBGIT2_SYSTEM_INCLUDES})
460
+ IF (${CMAKE_VERSION} VERSION_LESS 2.8.12)
461
+ INCLUDE_DIRECTORIES(${LIBGIT2_INCLUDES})
462
+ INCLUDE_DIRECTORIES(SYSTEM ${LIBGIT2_SYSTEM_INCLUDES})
463
+ ELSE()
464
+ TARGET_INCLUDE_DIRECTORIES(git2internal
465
+ PRIVATE ${LIBGIT2_INCLUDES}
466
+ PUBLIC ${libgit2_SOURCE_DIR}/include)
467
+ TARGET_INCLUDE_DIRECTORIES(git2internal
468
+ SYSTEM PRIVATE ${LIBGIT2_SYSTEM_INCLUDES})
469
+ ENDIF()
334
470
 
335
471
  SET(LIBGIT2_OBJECTS ${LIBGIT2_OBJECTS} PARENT_SCOPE)
336
472
  SET(LIBGIT2_INCLUDES ${LIBGIT2_INCLUDES} PARENT_SCOPE)
@@ -372,13 +508,10 @@ IF (SONAME)
372
508
  ENDIF()
373
509
  ENDIF()
374
510
 
375
- PKG_BUILD_CONFIG(NAME libgit2
376
- VERSION ${LIBGIT2_VERSION_STRING}
377
- DESCRIPTION "The git library, take 2"
378
- LIBS_SELF git2
379
- PRIVATE_LIBS ${LIBGIT2_PC_LIBS}
380
- REQUIRES ${LIBGIT2_PC_REQUIRES}
381
- )
511
+ LIST(REMOVE_DUPLICATES LIBGIT2_PC_REQUIRES)
512
+ STRING(REPLACE ";" " " LIBGIT2_PC_REQUIRES "${LIBGIT2_PC_REQUIRES}")
513
+ STRING(REPLACE ";" " " LIBGIT2_PC_LIBS "${LIBGIT2_PC_LIBS}")
514
+ CONFIGURE_FILE(${libgit2_SOURCE_DIR}/libgit2.pc.in ${libgit2_BINARY_DIR}/libgit2.pc @ONLY)
382
515
 
383
516
  IF (MSVC_IDE)
384
517
  # Precompiled headers
@@ -392,5 +525,6 @@ INSTALL(TARGETS git2
392
525
  LIBRARY DESTINATION ${LIB_INSTALL_DIR}
393
526
  ARCHIVE DESTINATION ${LIB_INSTALL_DIR}
394
527
  )
528
+ INSTALL(FILES ${libgit2_BINARY_DIR}/libgit2.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig )
395
529
  INSTALL(DIRECTORY ${libgit2_SOURCE_DIR}/include/git2 DESTINATION ${INCLUDE_INSTALL_DIR} )
396
530
  INSTALL(FILES ${libgit2_SOURCE_DIR}/include/git2.h DESTINATION ${INCLUDE_INSTALL_DIR} )