rugged 0.28.4.1 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (391) 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 +17 -15
  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 +1 -2
  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/AUTHORS +1 -0
  23. data/vendor/libgit2/CMakeLists.txt +39 -19
  24. data/vendor/libgit2/COPYING +28 -0
  25. data/vendor/libgit2/cmake/Modules/EnableWarnings.cmake +5 -1
  26. data/vendor/libgit2/cmake/Modules/FindCoreFoundation.cmake +2 -2
  27. data/vendor/libgit2/cmake/Modules/FindGSSAPI.cmake +1 -1
  28. data/vendor/libgit2/cmake/Modules/FindGSSFramework.cmake +28 -0
  29. data/vendor/libgit2/cmake/Modules/FindPCRE.cmake +38 -0
  30. data/vendor/libgit2/cmake/Modules/FindPCRE2.cmake +37 -0
  31. data/vendor/libgit2/cmake/Modules/FindSecurity.cmake +2 -2
  32. data/vendor/libgit2/cmake/Modules/FindStatNsec.cmake +6 -0
  33. data/vendor/libgit2/cmake/Modules/PkgBuildConfig.cmake +77 -0
  34. data/vendor/libgit2/cmake/Modules/SanitizeBool.cmake +20 -0
  35. data/vendor/libgit2/cmake/Modules/SelectGSSAPI.cmake +56 -0
  36. data/vendor/libgit2/cmake/Modules/SelectHTTPSBackend.cmake +127 -0
  37. data/vendor/libgit2/cmake/Modules/SelectHashes.cmake +69 -0
  38. data/vendor/libgit2/deps/http-parser/http_parser.c +11 -6
  39. data/vendor/libgit2/deps/ntlmclient/CMakeLists.txt +23 -0
  40. data/vendor/libgit2/deps/ntlmclient/compat.h +55 -0
  41. data/vendor/libgit2/deps/ntlmclient/crypt.h +64 -0
  42. data/vendor/libgit2/deps/ntlmclient/crypt_commoncrypto.c +120 -0
  43. data/vendor/libgit2/deps/ntlmclient/crypt_commoncrypto.h +18 -0
  44. data/vendor/libgit2/deps/ntlmclient/crypt_mbedtls.c +145 -0
  45. data/vendor/libgit2/deps/ntlmclient/crypt_mbedtls.h +18 -0
  46. data/vendor/libgit2/deps/ntlmclient/crypt_openssl.c +130 -0
  47. data/vendor/libgit2/deps/ntlmclient/crypt_openssl.h +21 -0
  48. data/vendor/libgit2/deps/ntlmclient/ntlm.c +1422 -0
  49. data/vendor/libgit2/deps/ntlmclient/ntlm.h +174 -0
  50. data/vendor/libgit2/deps/ntlmclient/ntlmclient.h +320 -0
  51. data/vendor/libgit2/deps/ntlmclient/unicode.h +36 -0
  52. data/vendor/libgit2/deps/ntlmclient/unicode_builtin.c +445 -0
  53. data/vendor/libgit2/deps/ntlmclient/unicode_iconv.c +201 -0
  54. data/vendor/libgit2/deps/ntlmclient/utf8.h +1257 -0
  55. data/vendor/libgit2/deps/ntlmclient/util.c +21 -0
  56. data/vendor/libgit2/deps/ntlmclient/util.h +14 -0
  57. data/vendor/libgit2/deps/pcre/CMakeLists.txt +140 -0
  58. data/vendor/libgit2/deps/pcre/COPYING +5 -0
  59. data/vendor/libgit2/deps/pcre/cmake/COPYING-CMAKE-SCRIPTS +22 -0
  60. data/vendor/libgit2/deps/pcre/cmake/FindEditline.cmake +17 -0
  61. data/vendor/libgit2/deps/pcre/cmake/FindPackageHandleStandardArgs.cmake +58 -0
  62. data/vendor/libgit2/deps/pcre/cmake/FindReadline.cmake +29 -0
  63. data/vendor/libgit2/deps/pcre/config.h.in +57 -0
  64. data/vendor/libgit2/deps/pcre/pcre.h +641 -0
  65. data/vendor/libgit2/deps/pcre/pcre_byte_order.c +319 -0
  66. data/vendor/libgit2/deps/pcre/pcre_chartables.c +198 -0
  67. data/vendor/libgit2/deps/pcre/pcre_compile.c +9800 -0
  68. data/vendor/libgit2/deps/pcre/pcre_config.c +190 -0
  69. data/vendor/libgit2/deps/pcre/pcre_dfa_exec.c +3676 -0
  70. data/vendor/libgit2/deps/pcre/pcre_exec.c +7173 -0
  71. data/vendor/libgit2/deps/pcre/pcre_fullinfo.c +245 -0
  72. data/vendor/libgit2/deps/pcre/pcre_get.c +669 -0
  73. data/vendor/libgit2/deps/pcre/pcre_globals.c +86 -0
  74. data/vendor/libgit2/deps/pcre/pcre_internal.h +2787 -0
  75. data/vendor/libgit2/deps/pcre/pcre_jit_compile.c +11913 -0
  76. data/vendor/libgit2/deps/pcre/pcre_maketables.c +156 -0
  77. data/vendor/libgit2/deps/pcre/pcre_newline.c +210 -0
  78. data/vendor/libgit2/deps/pcre/pcre_ord2utf8.c +94 -0
  79. data/vendor/libgit2/deps/pcre/pcre_printint.c +834 -0
  80. data/vendor/libgit2/deps/pcre/pcre_refcount.c +92 -0
  81. data/vendor/libgit2/deps/pcre/pcre_string_utils.c +211 -0
  82. data/vendor/libgit2/deps/pcre/pcre_study.c +1686 -0
  83. data/vendor/libgit2/deps/pcre/pcre_tables.c +727 -0
  84. data/vendor/libgit2/deps/pcre/pcre_ucd.c +3644 -0
  85. data/vendor/libgit2/deps/pcre/pcre_valid_utf8.c +301 -0
  86. data/vendor/libgit2/deps/pcre/pcre_version.c +98 -0
  87. data/vendor/libgit2/deps/pcre/pcre_xclass.c +268 -0
  88. data/vendor/libgit2/deps/pcre/pcreposix.c +421 -0
  89. data/vendor/libgit2/deps/pcre/pcreposix.h +117 -0
  90. data/vendor/libgit2/deps/pcre/ucp.h +224 -0
  91. data/vendor/libgit2/deps/zlib/adler32.c +0 -7
  92. data/vendor/libgit2/deps/zlib/crc32.c +0 -7
  93. data/vendor/libgit2/include/git2.h +2 -0
  94. data/vendor/libgit2/include/git2/apply.h +22 -2
  95. data/vendor/libgit2/include/git2/attr.h +23 -13
  96. data/vendor/libgit2/include/git2/blame.h +2 -2
  97. data/vendor/libgit2/include/git2/blob.h +44 -12
  98. data/vendor/libgit2/include/git2/branch.h +74 -57
  99. data/vendor/libgit2/include/git2/buffer.h +20 -14
  100. data/vendor/libgit2/include/git2/cert.h +135 -0
  101. data/vendor/libgit2/include/git2/checkout.h +46 -14
  102. data/vendor/libgit2/include/git2/cherrypick.h +3 -3
  103. data/vendor/libgit2/include/git2/clone.h +2 -2
  104. data/vendor/libgit2/include/git2/commit.h +23 -1
  105. data/vendor/libgit2/include/git2/common.h +15 -6
  106. data/vendor/libgit2/include/git2/config.h +12 -12
  107. data/vendor/libgit2/include/git2/cred_helpers.h +4 -42
  108. data/vendor/libgit2/include/git2/credential.h +314 -0
  109. data/vendor/libgit2/include/git2/credential_helpers.h +52 -0
  110. data/vendor/libgit2/include/git2/deprecated.h +321 -3
  111. data/vendor/libgit2/include/git2/describe.h +4 -4
  112. data/vendor/libgit2/include/git2/diff.h +16 -14
  113. data/vendor/libgit2/include/git2/errors.h +4 -2
  114. data/vendor/libgit2/include/git2/filter.h +8 -0
  115. data/vendor/libgit2/include/git2/index.h +2 -1
  116. data/vendor/libgit2/include/git2/indexer.h +48 -4
  117. data/vendor/libgit2/include/git2/merge.h +6 -10
  118. data/vendor/libgit2/include/git2/net.h +0 -5
  119. data/vendor/libgit2/include/git2/object.h +2 -14
  120. data/vendor/libgit2/include/git2/odb.h +3 -2
  121. data/vendor/libgit2/include/git2/odb_backend.h +5 -4
  122. data/vendor/libgit2/include/git2/oid.h +11 -6
  123. data/vendor/libgit2/include/git2/pack.h +12 -1
  124. data/vendor/libgit2/include/git2/proxy.h +6 -4
  125. data/vendor/libgit2/include/git2/rebase.h +46 -2
  126. data/vendor/libgit2/include/git2/refs.h +19 -0
  127. data/vendor/libgit2/include/git2/remote.h +40 -15
  128. data/vendor/libgit2/include/git2/repository.h +29 -6
  129. data/vendor/libgit2/include/git2/revert.h +1 -1
  130. data/vendor/libgit2/include/git2/revwalk.h +7 -3
  131. data/vendor/libgit2/include/git2/stash.h +4 -4
  132. data/vendor/libgit2/include/git2/status.h +25 -16
  133. data/vendor/libgit2/include/git2/submodule.h +20 -3
  134. data/vendor/libgit2/include/git2/sys/alloc.h +9 -9
  135. data/vendor/libgit2/include/git2/sys/cred.h +15 -0
  136. data/vendor/libgit2/include/git2/sys/credential.h +90 -0
  137. data/vendor/libgit2/include/git2/sys/index.h +4 -2
  138. data/vendor/libgit2/include/git2/sys/mempack.h +2 -1
  139. data/vendor/libgit2/include/git2/sys/merge.h +1 -1
  140. data/vendor/libgit2/include/git2/sys/odb_backend.h +48 -4
  141. data/vendor/libgit2/include/git2/sys/refdb_backend.h +164 -21
  142. data/vendor/libgit2/include/git2/sys/repository.h +17 -6
  143. data/vendor/libgit2/include/git2/sys/transport.h +4 -4
  144. data/vendor/libgit2/include/git2/tag.h +11 -2
  145. data/vendor/libgit2/include/git2/trace.h +2 -2
  146. data/vendor/libgit2/include/git2/transport.h +11 -340
  147. data/vendor/libgit2/include/git2/tree.h +5 -3
  148. data/vendor/libgit2/include/git2/types.h +4 -89
  149. data/vendor/libgit2/include/git2/version.h +5 -5
  150. data/vendor/libgit2/include/git2/worktree.h +5 -5
  151. data/vendor/libgit2/src/CMakeLists.txt +99 -236
  152. data/vendor/libgit2/src/alloc.c +2 -14
  153. data/vendor/libgit2/src/{stdalloc.c → allocators/stdalloc.c} +3 -4
  154. data/vendor/libgit2/src/{stdalloc.h → allocators/stdalloc.h} +4 -4
  155. data/vendor/libgit2/src/allocators/win32_crtdbg.c +118 -0
  156. data/vendor/libgit2/src/{transports/cred.h → allocators/win32_crtdbg.h} +5 -4
  157. data/vendor/libgit2/src/apply.c +60 -30
  158. data/vendor/libgit2/src/attr.c +70 -64
  159. data/vendor/libgit2/src/attr_file.c +189 -96
  160. data/vendor/libgit2/src/attr_file.h +9 -9
  161. data/vendor/libgit2/src/attrcache.c +48 -48
  162. data/vendor/libgit2/src/attrcache.h +2 -1
  163. data/vendor/libgit2/src/blame.c +17 -5
  164. data/vendor/libgit2/src/blame.h +1 -1
  165. data/vendor/libgit2/src/blame_git.c +21 -7
  166. data/vendor/libgit2/src/blob.c +81 -17
  167. data/vendor/libgit2/src/blob.h +2 -2
  168. data/vendor/libgit2/src/branch.c +60 -32
  169. data/vendor/libgit2/src/buffer.c +19 -7
  170. data/vendor/libgit2/src/buffer.h +1 -0
  171. data/vendor/libgit2/src/cache.c +33 -36
  172. data/vendor/libgit2/src/cache.h +1 -1
  173. data/vendor/libgit2/src/cc-compat.h +5 -0
  174. data/vendor/libgit2/src/checkout.c +26 -16
  175. data/vendor/libgit2/src/cherrypick.c +9 -3
  176. data/vendor/libgit2/src/clone.c +29 -7
  177. data/vendor/libgit2/src/clone.h +4 -0
  178. data/vendor/libgit2/src/commit.c +70 -22
  179. data/vendor/libgit2/src/commit.h +6 -0
  180. data/vendor/libgit2/src/commit_list.c +28 -76
  181. data/vendor/libgit2/src/commit_list.h +2 -2
  182. data/vendor/libgit2/src/common.h +3 -75
  183. data/vendor/libgit2/src/config.c +31 -40
  184. data/vendor/libgit2/src/config.h +7 -6
  185. data/vendor/libgit2/src/config_backend.h +12 -0
  186. data/vendor/libgit2/src/config_cache.c +39 -39
  187. data/vendor/libgit2/src/config_entries.c +69 -99
  188. data/vendor/libgit2/src/config_entries.h +1 -0
  189. data/vendor/libgit2/src/config_file.c +346 -380
  190. data/vendor/libgit2/src/config_mem.c +12 -16
  191. data/vendor/libgit2/src/config_parse.c +49 -29
  192. data/vendor/libgit2/src/config_parse.h +13 -12
  193. data/vendor/libgit2/src/config_snapshot.c +206 -0
  194. data/vendor/libgit2/src/crlf.c +14 -14
  195. data/vendor/libgit2/src/describe.c +21 -20
  196. data/vendor/libgit2/src/diff.c +43 -58
  197. data/vendor/libgit2/src/diff.h +4 -3
  198. data/vendor/libgit2/src/diff_driver.c +37 -38
  199. data/vendor/libgit2/src/diff_file.c +12 -10
  200. data/vendor/libgit2/src/diff_file.h +2 -2
  201. data/vendor/libgit2/src/diff_generate.c +148 -98
  202. data/vendor/libgit2/src/diff_generate.h +2 -2
  203. data/vendor/libgit2/src/diff_parse.c +1 -1
  204. data/vendor/libgit2/src/diff_print.c +25 -13
  205. data/vendor/libgit2/src/diff_stats.c +1 -1
  206. data/vendor/libgit2/src/diff_tform.c +11 -11
  207. data/vendor/libgit2/src/errors.c +21 -25
  208. data/vendor/libgit2/src/errors.h +81 -0
  209. data/vendor/libgit2/src/features.h.in +9 -2
  210. data/vendor/libgit2/src/fetch.c +7 -2
  211. data/vendor/libgit2/src/fetchhead.c +36 -4
  212. data/vendor/libgit2/src/filebuf.c +6 -10
  213. data/vendor/libgit2/src/filebuf.h +2 -2
  214. data/vendor/libgit2/src/filter.c +16 -8
  215. data/vendor/libgit2/src/{fileops.c → futils.c} +21 -17
  216. data/vendor/libgit2/src/{fileops.h → futils.h} +5 -5
  217. data/vendor/libgit2/src/global.c +12 -40
  218. data/vendor/libgit2/src/global.h +0 -2
  219. data/vendor/libgit2/src/hash.c +61 -0
  220. data/vendor/libgit2/src/hash.h +19 -21
  221. data/vendor/libgit2/src/hash/sha1.h +38 -0
  222. data/vendor/libgit2/src/hash/{hash_collisiondetect.h → sha1/collisiondetect.c} +14 -17
  223. data/vendor/libgit2/src/{sha1_lookup.h → hash/sha1/collisiondetect.h} +8 -8
  224. data/vendor/libgit2/src/hash/{hash_common_crypto.h → sha1/common_crypto.c} +15 -19
  225. data/vendor/libgit2/src/hash/sha1/common_crypto.h +19 -0
  226. data/vendor/libgit2/src/hash/{hash_generic.c → sha1/generic.c} +22 -10
  227. data/vendor/libgit2/src/hash/{hash_generic.h → sha1/generic.h} +4 -14
  228. data/vendor/libgit2/src/hash/{hash_mbedtls.c → sha1/mbedtls.c} +15 -7
  229. data/vendor/libgit2/src/hash/{hash_mbedtls.h → sha1/mbedtls.h} +6 -11
  230. data/vendor/libgit2/src/hash/{hash_openssl.h → sha1/openssl.c} +14 -18
  231. data/vendor/libgit2/src/hash/sha1/openssl.h +19 -0
  232. data/vendor/libgit2/src/hash/{sha1dc → sha1/sha1dc}/sha1.c +14 -3
  233. data/vendor/libgit2/src/hash/{sha1dc → sha1/sha1dc}/sha1.h +0 -0
  234. data/vendor/libgit2/src/hash/{sha1dc → sha1/sha1dc}/ubc_check.c +0 -0
  235. data/vendor/libgit2/src/hash/{sha1dc → sha1/sha1dc}/ubc_check.h +0 -0
  236. data/vendor/libgit2/src/hash/{hash_win32.c → sha1/win32.c} +34 -24
  237. data/vendor/libgit2/src/hash/{hash_win32.h → sha1/win32.h} +6 -19
  238. data/vendor/libgit2/src/hashsig.c +1 -1
  239. data/vendor/libgit2/src/idxmap.c +91 -65
  240. data/vendor/libgit2/src/idxmap.h +151 -15
  241. data/vendor/libgit2/src/ignore.c +32 -38
  242. data/vendor/libgit2/src/index.c +105 -83
  243. data/vendor/libgit2/src/index.h +1 -1
  244. data/vendor/libgit2/src/indexer.c +71 -72
  245. data/vendor/libgit2/src/integer.h +39 -4
  246. data/vendor/libgit2/src/iterator.c +40 -35
  247. data/vendor/libgit2/src/iterator.h +8 -8
  248. data/vendor/libgit2/src/map.h +1 -1
  249. data/vendor/libgit2/src/merge.c +78 -51
  250. data/vendor/libgit2/src/merge.h +2 -2
  251. data/vendor/libgit2/src/merge_driver.c +5 -5
  252. data/vendor/libgit2/src/merge_file.c +1 -1
  253. data/vendor/libgit2/src/mwindow.c +18 -23
  254. data/vendor/libgit2/src/mwindow.h +4 -4
  255. data/vendor/libgit2/src/net.c +411 -0
  256. data/vendor/libgit2/src/net.h +57 -0
  257. data/vendor/libgit2/src/netops.c +6 -193
  258. data/vendor/libgit2/src/netops.h +1 -34
  259. data/vendor/libgit2/src/notes.c +8 -5
  260. data/vendor/libgit2/src/object.c +3 -3
  261. data/vendor/libgit2/src/object.h +2 -0
  262. data/vendor/libgit2/src/odb.c +41 -23
  263. data/vendor/libgit2/src/odb.h +3 -2
  264. data/vendor/libgit2/src/odb_loose.c +17 -10
  265. data/vendor/libgit2/src/odb_mempack.c +13 -24
  266. data/vendor/libgit2/src/odb_pack.c +4 -5
  267. data/vendor/libgit2/src/offmap.c +43 -55
  268. data/vendor/libgit2/src/offmap.h +102 -24
  269. data/vendor/libgit2/src/oid.c +19 -8
  270. data/vendor/libgit2/src/oidmap.c +39 -57
  271. data/vendor/libgit2/src/oidmap.h +99 -19
  272. data/vendor/libgit2/src/pack-objects.c +28 -33
  273. data/vendor/libgit2/src/pack-objects.h +1 -1
  274. data/vendor/libgit2/src/pack.c +117 -129
  275. data/vendor/libgit2/src/pack.h +15 -18
  276. data/vendor/libgit2/src/parse.c +10 -0
  277. data/vendor/libgit2/src/parse.h +3 -3
  278. data/vendor/libgit2/src/patch.c +1 -1
  279. data/vendor/libgit2/src/patch_generate.c +2 -2
  280. data/vendor/libgit2/src/patch_parse.c +130 -33
  281. data/vendor/libgit2/src/path.c +43 -6
  282. data/vendor/libgit2/src/path.h +2 -0
  283. data/vendor/libgit2/src/pathspec.c +14 -14
  284. data/vendor/libgit2/src/pool.c +26 -22
  285. data/vendor/libgit2/src/pool.h +7 -7
  286. data/vendor/libgit2/src/posix.c +7 -7
  287. data/vendor/libgit2/src/posix.h +12 -1
  288. data/vendor/libgit2/src/proxy.c +7 -2
  289. data/vendor/libgit2/src/push.c +13 -7
  290. data/vendor/libgit2/src/reader.c +2 -2
  291. data/vendor/libgit2/src/rebase.c +87 -28
  292. data/vendor/libgit2/src/refdb.c +12 -0
  293. data/vendor/libgit2/src/refdb_fs.c +219 -167
  294. data/vendor/libgit2/src/reflog.c +11 -13
  295. data/vendor/libgit2/src/refs.c +39 -23
  296. data/vendor/libgit2/src/refs.h +8 -1
  297. data/vendor/libgit2/src/refspec.c +9 -16
  298. data/vendor/libgit2/src/regexp.c +221 -0
  299. data/vendor/libgit2/src/regexp.h +97 -0
  300. data/vendor/libgit2/src/remote.c +57 -55
  301. data/vendor/libgit2/src/remote.h +2 -2
  302. data/vendor/libgit2/src/repository.c +187 -154
  303. data/vendor/libgit2/src/repository.h +49 -40
  304. data/vendor/libgit2/src/revert.c +8 -3
  305. data/vendor/libgit2/src/revparse.c +18 -19
  306. data/vendor/libgit2/src/revwalk.c +72 -34
  307. data/vendor/libgit2/src/revwalk.h +20 -0
  308. data/vendor/libgit2/src/settings.c +13 -1
  309. data/vendor/libgit2/src/sortedcache.c +12 -26
  310. data/vendor/libgit2/src/sortedcache.h +1 -1
  311. data/vendor/libgit2/src/stash.c +47 -67
  312. data/vendor/libgit2/src/status.c +17 -11
  313. data/vendor/libgit2/src/streams/openssl.c +54 -2
  314. data/vendor/libgit2/src/streams/socket.c +2 -2
  315. data/vendor/libgit2/src/strmap.c +37 -84
  316. data/vendor/libgit2/src/strmap.h +105 -33
  317. data/vendor/libgit2/src/submodule.c +151 -126
  318. data/vendor/libgit2/src/submodule.h +1 -1
  319. data/vendor/libgit2/src/sysdir.c +11 -1
  320. data/vendor/libgit2/src/tag.c +10 -2
  321. data/vendor/libgit2/src/trace.c +1 -1
  322. data/vendor/libgit2/src/trace.h +3 -3
  323. data/vendor/libgit2/src/trailer.c +46 -32
  324. data/vendor/libgit2/src/transaction.c +10 -9
  325. data/vendor/libgit2/src/transports/auth.c +16 -15
  326. data/vendor/libgit2/src/transports/auth.h +18 -11
  327. data/vendor/libgit2/src/transports/auth_negotiate.c +64 -33
  328. data/vendor/libgit2/src/transports/auth_negotiate.h +2 -2
  329. data/vendor/libgit2/src/transports/auth_ntlm.c +223 -0
  330. data/vendor/libgit2/src/transports/auth_ntlm.h +38 -0
  331. data/vendor/libgit2/src/transports/credential.c +476 -0
  332. data/vendor/libgit2/src/transports/{cred_helpers.c → credential_helpers.c} +21 -8
  333. data/vendor/libgit2/src/transports/git.c +11 -16
  334. data/vendor/libgit2/src/transports/http.c +488 -1248
  335. data/vendor/libgit2/src/transports/http.h +4 -1
  336. data/vendor/libgit2/src/transports/httpclient.c +1549 -0
  337. data/vendor/libgit2/src/transports/httpclient.h +190 -0
  338. data/vendor/libgit2/src/transports/local.c +10 -10
  339. data/vendor/libgit2/src/transports/smart.c +19 -19
  340. data/vendor/libgit2/src/transports/smart.h +3 -3
  341. data/vendor/libgit2/src/transports/smart_pkt.c +1 -1
  342. data/vendor/libgit2/src/transports/smart_protocol.c +40 -64
  343. data/vendor/libgit2/src/transports/ssh.c +77 -59
  344. data/vendor/libgit2/src/transports/winhttp.c +272 -242
  345. data/vendor/libgit2/src/tree-cache.c +14 -7
  346. data/vendor/libgit2/src/tree.c +16 -26
  347. data/vendor/libgit2/src/unix/map.c +1 -1
  348. data/vendor/libgit2/src/unix/posix.h +2 -12
  349. data/vendor/libgit2/src/userdiff.h +3 -1
  350. data/vendor/libgit2/src/util.c +51 -53
  351. data/vendor/libgit2/src/util.h +16 -21
  352. data/vendor/libgit2/src/wildmatch.c +320 -0
  353. data/vendor/libgit2/src/wildmatch.h +23 -0
  354. data/vendor/libgit2/src/win32/map.c +3 -5
  355. data/vendor/libgit2/src/win32/path_w32.c +40 -3
  356. data/vendor/libgit2/src/win32/path_w32.h +15 -29
  357. data/vendor/libgit2/src/win32/posix.h +1 -4
  358. data/vendor/libgit2/src/win32/posix_w32.c +47 -5
  359. data/vendor/libgit2/src/win32/precompiled.h +0 -2
  360. data/vendor/libgit2/src/win32/thread.c +5 -10
  361. data/vendor/libgit2/src/win32/w32_buffer.c +7 -3
  362. data/vendor/libgit2/src/win32/w32_common.h +39 -0
  363. data/vendor/libgit2/src/win32/w32_crtdbg_stacktrace.c +0 -93
  364. data/vendor/libgit2/src/win32/w32_crtdbg_stacktrace.h +0 -2
  365. data/vendor/libgit2/src/win32/w32_stack.c +4 -9
  366. data/vendor/libgit2/src/win32/w32_stack.h +3 -3
  367. data/vendor/libgit2/src/win32/w32_util.c +31 -0
  368. data/vendor/libgit2/src/win32/w32_util.h +6 -32
  369. data/vendor/libgit2/src/worktree.c +79 -49
  370. data/vendor/libgit2/src/xdiff/xdiffi.c +1 -1
  371. data/vendor/libgit2/src/xdiff/xmerge.c +12 -0
  372. data/vendor/libgit2/src/xdiff/xpatience.c +3 -0
  373. data/vendor/libgit2/src/zstream.c +5 -0
  374. data/vendor/libgit2/src/zstream.h +1 -0
  375. metadata +108 -41
  376. data/vendor/libgit2/deps/regex/CMakeLists.txt +0 -2
  377. data/vendor/libgit2/deps/regex/COPYING +0 -502
  378. data/vendor/libgit2/deps/regex/config.h +0 -7
  379. data/vendor/libgit2/deps/regex/regcomp.c +0 -3857
  380. data/vendor/libgit2/deps/regex/regex.c +0 -92
  381. data/vendor/libgit2/deps/regex/regex.h +0 -582
  382. data/vendor/libgit2/deps/regex/regex_internal.c +0 -1744
  383. data/vendor/libgit2/deps/regex/regex_internal.h +0 -819
  384. data/vendor/libgit2/deps/regex/regexec.c +0 -4369
  385. data/vendor/libgit2/include/git2/inttypes.h +0 -309
  386. data/vendor/libgit2/include/git2/sys/time.h +0 -31
  387. data/vendor/libgit2/libgit2.pc.in +0 -13
  388. data/vendor/libgit2/src/fnmatch.c +0 -248
  389. data/vendor/libgit2/src/fnmatch.h +0 -48
  390. data/vendor/libgit2/src/sha1_lookup.c +0 -35
  391. data/vendor/libgit2/src/transports/cred.c +0 -390
@@ -15,6 +15,8 @@ extern VALUE rb_cRuggedReference;
15
15
  VALUE rb_cRuggedTag;
16
16
  VALUE rb_cRuggedTagAnnotation;
17
17
 
18
+ extern const rb_data_type_t rugged_object_type;
19
+
18
20
  /*
19
21
  * call-seq:
20
22
  * annotation.target -> object
@@ -31,7 +33,7 @@ static VALUE rb_git_tag_annotation_target(VALUE self)
31
33
  int error;
32
34
  VALUE owner;
33
35
 
34
- Data_Get_Struct(self, git_tag, tag);
36
+ TypedData_Get_Struct(self, git_tag, &rugged_object_type, tag);
35
37
  owner = rugged_owner(self);
36
38
 
37
39
  error = git_tag_target(&target, tag);
@@ -55,7 +57,7 @@ static VALUE rb_git_tag_annotation_target_id(VALUE self)
55
57
  git_tag *tag;
56
58
  const git_oid *target_oid;
57
59
 
58
- Data_Get_Struct(self, git_tag, tag);
60
+ TypedData_Get_Struct(self, git_tag, &rugged_object_type, tag);
59
61
 
60
62
  target_oid = git_tag_target_id(tag);
61
63
 
@@ -77,7 +79,7 @@ static VALUE rb_git_tag_annotation_target_id(VALUE self)
77
79
  static VALUE rb_git_tag_annotation_target_type(VALUE self)
78
80
  {
79
81
  git_tag *tag;
80
- Data_Get_Struct(self, git_tag, tag);
82
+ TypedData_Get_Struct(self, git_tag, &rugged_object_type, tag);
81
83
 
82
84
  return rugged_otype_new(git_tag_target_type(tag));
83
85
  }
@@ -93,7 +95,7 @@ static VALUE rb_git_tag_annotation_target_type(VALUE self)
93
95
  static VALUE rb_git_tag_annotation_name(VALUE self)
94
96
  {
95
97
  git_tag *tag;
96
- Data_Get_Struct(self, git_tag, tag);
98
+ TypedData_Get_Struct(self, git_tag, &rugged_object_type, tag);
97
99
 
98
100
  return rb_str_new_utf8(git_tag_name(tag));
99
101
  }
@@ -113,7 +115,7 @@ static VALUE rb_git_tag_annotation_tagger(VALUE self)
113
115
  git_tag *tag;
114
116
  const git_signature *tagger;
115
117
 
116
- Data_Get_Struct(self, git_tag, tag);
118
+ TypedData_Get_Struct(self, git_tag, &rugged_object_type, tag);
117
119
  tagger = git_tag_tagger(tag);
118
120
 
119
121
  if (!tagger)
@@ -136,7 +138,7 @@ static VALUE rb_git_tag_annotation_message(VALUE self)
136
138
  git_tag *tag;
137
139
  const char *message;
138
140
 
139
- Data_Get_Struct(self, git_tag, tag);
141
+ TypedData_Get_Struct(self, git_tag, &rugged_object_type, tag);
140
142
  message = git_tag_message(tag);
141
143
 
142
144
  if (!message)
@@ -18,6 +18,8 @@ extern VALUE rb_cRuggedCommit;
18
18
  VALUE rb_cRuggedTree;
19
19
  VALUE rb_cRuggedTreeBuilder;
20
20
 
21
+ extern const rb_data_type_t rugged_object_type;
22
+
21
23
  static VALUE rb_git_treeentry_fromC(const git_tree_entry *entry)
22
24
  {
23
25
  VALUE rb_entry;
@@ -72,7 +74,7 @@ static VALUE rb_git_treeentry_fromC(const git_tree_entry *entry)
72
74
  static VALUE rb_git_tree_entrycount(VALUE self)
73
75
  {
74
76
  git_tree *tree;
75
- Data_Get_Struct(self, git_tree, tree);
77
+ TypedData_Get_Struct(self, git_tree, &rugged_object_type, tree);
76
78
 
77
79
  return INT2FIX(git_tree_entrycount(tree));
78
80
  }
@@ -115,7 +117,7 @@ static VALUE rb_git_tree_entrycount_recursive(int argc, VALUE* argv, VALUE self)
115
117
  struct rugged_treecount_cb_payload payload;
116
118
  VALUE rb_limit;
117
119
 
118
- Data_Get_Struct(self, git_tree, tree);
120
+ TypedData_Get_Struct(self, git_tree, &rugged_object_type, tree);
119
121
 
120
122
  rb_scan_args(argc, argv, "01", &rb_limit);
121
123
 
@@ -158,7 +160,7 @@ static VALUE rb_git_tree_entrycount_recursive(int argc, VALUE* argv, VALUE self)
158
160
  static VALUE rb_git_tree_get_entry(VALUE self, VALUE entry_id)
159
161
  {
160
162
  git_tree *tree;
161
- Data_Get_Struct(self, git_tree, tree);
163
+ TypedData_Get_Struct(self, git_tree, &rugged_object_type, tree);
162
164
 
163
165
  if (TYPE(entry_id) == T_FIXNUM)
164
166
  return rb_git_treeentry_fromC(git_tree_entry_byindex(tree, FIX2INT(entry_id)));
@@ -189,7 +191,7 @@ static VALUE rb_git_tree_get_entry_by_oid(VALUE self, VALUE rb_oid)
189
191
  {
190
192
  git_tree *tree;
191
193
  git_oid oid;
192
- Data_Get_Struct(self, git_tree, tree);
194
+ TypedData_Get_Struct(self, git_tree, &rugged_object_type, tree);
193
195
 
194
196
  Check_Type(rb_oid, T_STRING);
195
197
  rugged_exception_check(git_oid_fromstr(&oid, StringValueCStr(rb_oid)));
@@ -222,7 +224,7 @@ static VALUE rb_git_tree_each(VALUE self)
222
224
  size_t i, count;
223
225
 
224
226
  RETURN_ENUMERATOR(self, 0, 0);
225
- Data_Get_Struct(self, git_tree, tree);
227
+ TypedData_Get_Struct(self, git_tree, &rugged_object_type, tree);
226
228
 
227
229
  count = git_tree_entrycount(tree);
228
230
 
@@ -287,7 +289,7 @@ static VALUE rb_git_tree_walk(VALUE self, VALUE rb_mode)
287
289
  int error, mode = 0, exception = 0;
288
290
  ID id_mode;
289
291
 
290
- Data_Get_Struct(self, git_tree, tree);
292
+ TypedData_Get_Struct(self, git_tree, &rugged_object_type, tree);
291
293
 
292
294
  if (!rb_block_given_p())
293
295
  return rb_funcall(self, rb_intern("to_enum"), 2, CSTR2SYM("walk"), rb_mode);
@@ -325,7 +327,7 @@ static VALUE rb_git_tree_path(VALUE self, VALUE rb_path)
325
327
  git_tree *tree;
326
328
  git_tree_entry *entry;
327
329
  VALUE rb_entry;
328
- Data_Get_Struct(self, git_tree, tree);
330
+ TypedData_Get_Struct(self, git_tree, &rugged_object_type, tree);
329
331
  Check_Type(rb_path, T_STRING);
330
332
 
331
333
  error = git_tree_entry_bypath(&entry, tree, StringValueCStr(rb_path));
@@ -352,7 +354,7 @@ static VALUE rb_git_diff_tree_to_index(VALUE self, VALUE rb_repo, VALUE rb_self,
352
354
  rugged_parse_diff_options(&opts, rb_options);
353
355
 
354
356
  if (RTEST(rb_self)) {
355
- Data_Get_Struct(rb_self, git_tree, tree);
357
+ TypedData_Get_Struct(rb_self, git_tree, &rugged_object_type, tree);
356
358
  }
357
359
 
358
360
  error = git_diff_tree_to_index(&diff, repo, tree, index, &opts);
@@ -392,10 +394,10 @@ static VALUE rb_git_diff_tree_to_tree(VALUE self, VALUE rb_repo, VALUE rb_tree,
392
394
  Data_Get_Struct(rb_repo, git_repository, repo);
393
395
 
394
396
  if(RTEST(rb_tree))
395
- Data_Get_Struct(rb_tree, git_tree, tree);
397
+ TypedData_Get_Struct(rb_tree, git_tree, &rugged_object_type, tree);
396
398
 
397
399
  if(RTEST(rb_other_tree))
398
- Data_Get_Struct(rb_other_tree, git_tree, other_tree);
400
+ TypedData_Get_Struct(rb_other_tree, git_tree, &rugged_object_type, other_tree);
399
401
 
400
402
  rugged_parse_diff_options(&opts, rb_options);
401
403
 
@@ -435,7 +437,7 @@ static VALUE rb_git_tree_diff_workdir(int argc, VALUE *argv, VALUE self)
435
437
  rb_scan_args(argc, argv, "00:", &rb_options);
436
438
  rugged_parse_diff_options(&opts, rb_options);
437
439
 
438
- Data_Get_Struct(self, git_tree, tree);
440
+ TypedData_Get_Struct(self, git_tree, &rugged_object_type, tree);
439
441
  owner = rugged_owner(self);
440
442
  Data_Get_Struct(owner, git_repository, repo);
441
443
 
@@ -558,12 +560,12 @@ static VALUE rb_git_tree_merge(int argc, VALUE *argv, VALUE self)
558
560
  else if (!NIL_P(rb_ancestor_tree) && !rb_obj_is_kind_of(rb_ancestor_tree, rb_cRuggedTree))
559
561
  rb_raise(rb_eTypeError, "Expecting a Rugged::Tree instance");
560
562
 
561
- Data_Get_Struct(self, git_tree, tree);
563
+ TypedData_Get_Struct(self, git_tree, &rugged_object_type, tree);
562
564
  Data_Get_Struct(rb_repo, git_repository, repo);
563
- Data_Get_Struct(rb_other_tree, git_tree, other_tree);
565
+ TypedData_Get_Struct(rb_other_tree, git_tree, &rugged_object_type, other_tree);
564
566
 
565
567
  if (!NIL_P(rb_ancestor_tree))
566
- Data_Get_Struct(rb_ancestor_tree, git_tree, ancestor_tree);
568
+ TypedData_Get_Struct(rb_ancestor_tree, git_tree, &rugged_object_type, ancestor_tree);
567
569
  else
568
570
  ancestor_tree = NULL;
569
571
 
@@ -693,7 +695,7 @@ static VALUE rb_git_tree_update(VALUE self, VALUE rb_updates)
693
695
  int nupdates, error;
694
696
  git_oid id;
695
697
 
696
- Data_Get_Struct(self, git_tree, tree);
698
+ TypedData_Get_Struct(self, git_tree, &rugged_object_type, tree);
697
699
  repo = git_tree_owner(tree);
698
700
 
699
701
  parse_tree_updates(&updates, &nupdates, rb_updates);
@@ -734,7 +736,7 @@ static VALUE rb_git_treebuilder_new(int argc, VALUE *argv, VALUE klass)
734
736
  if (!rb_obj_is_kind_of(rb_object, rb_cRuggedTree))
735
737
  rb_raise(rb_eTypeError, "A Rugged::Tree instance is required");
736
738
 
737
- Data_Get_Struct(rb_object, git_tree, tree);
739
+ TypedData_Get_Struct(rb_object, git_tree, &rugged_object_type, tree);
738
740
  }
739
741
 
740
742
  rugged_check_repo(rb_repo);
@@ -5,7 +5,6 @@
5
5
 
6
6
  module Rugged
7
7
  class Commit
8
-
9
8
  def self.prettify_message(msg, strip_comments = true)
10
9
  Rugged::prettify_message(msg, strip_comments)
11
10
  end
@@ -30,7 +29,7 @@ module Rugged
30
29
  #
31
30
  # See Rugged::Tree#diff_workdir for more details.
32
31
  def diff_workdir(options = {})
33
- self.tree.diff_workdir(options)
32
+ self.tree.diff_workdir(**options)
34
33
  end
35
34
 
36
35
  # The time when this commit was made effective. This is the same value
@@ -30,7 +30,7 @@ module Rugged
30
30
  options[:strategy] ||= :safe
31
31
  options.delete(:paths)
32
32
 
33
- return checkout_head(options) if target == "HEAD"
33
+ return checkout_head(**options) if target == "HEAD"
34
34
 
35
35
  if target.kind_of?(Rugged::Branch)
36
36
  branch = target
@@ -39,7 +39,7 @@ module Rugged
39
39
  end
40
40
 
41
41
  if branch
42
- self.checkout_tree(branch.target, options)
42
+ self.checkout_tree(branch.target, **options)
43
43
 
44
44
  if branch.remote?
45
45
  references.create("HEAD", branch.target_id, force: true)
@@ -49,7 +49,7 @@ module Rugged
49
49
  else
50
50
  commit = Commit.lookup(self, self.rev_parse_oid(target))
51
51
  references.create("HEAD", commit.oid, force: true)
52
- self.checkout_tree(commit, options)
52
+ self.checkout_tree(commit, **options)
53
53
  end
54
54
  end
55
55
 
@@ -250,12 +250,11 @@ module Rugged
250
250
  (blob.type == :blob) ? blob : nil
251
251
  end
252
252
 
253
- def fetch(remote_or_url, *args)
253
+ def fetch(remote_or_url, *args, **kwargs)
254
254
  unless remote_or_url.kind_of? Remote
255
255
  remote_or_url = remotes[remote_or_url] || remotes.create_anonymous(remote_or_url)
256
256
  end
257
-
258
- remote_or_url.fetch(*args)
257
+ remote_or_url.fetch(*args, **kwargs)
259
258
  end
260
259
 
261
260
  # Push a list of refspecs to the given remote.
@@ -26,8 +26,8 @@ module Rugged
26
26
  #
27
27
  # Returns the newly created +submodule+
28
28
  def add(url, path, options = {})
29
- submodule = setup_add(url, path, options)
30
- clone_submodule(submodule.repository, options)
29
+ submodule = setup_add(url, path, **options)
30
+ clone_submodule(submodule.repository, **options)
31
31
  submodule.finalize_add
32
32
  end
33
33
 
@@ -40,9 +40,9 @@ module Rugged
40
40
  # 1. fetches the remote
41
41
  # 2. sets up a master branch to be tracking origin/master
42
42
  # 3. checkouts the submodule
43
- def clone_submodule(repo, fetch_options)
43
+ def clone_submodule(repo, **fetch_options)
44
44
  # the remote was just added by setup_add, no need to check presence
45
- repo.remotes['origin'].fetch(fetch_options)
45
+ repo.remotes['origin'].fetch(**fetch_options)
46
46
 
47
47
  repo.branches.create('master','origin/master')
48
48
  repo.branches['master'].upstream = repo.branches['origin/master']
@@ -4,5 +4,5 @@
4
4
  # For full terms see the included LICENSE file.
5
5
 
6
6
  module Rugged
7
- Version = VERSION = '0.28.4.1'
7
+ Version = VERSION = '1.0.1'
8
8
  end
@@ -23,6 +23,7 @@ Dmitry Kovega
23
23
  Emeric Fermas
24
24
  Emmanuel Rodriguez
25
25
  Eric Myhre
26
+ Erik Aigner
26
27
  Florian Forster
27
28
  Holger Weiss
28
29
  Ingmar Vanhassel
@@ -12,7 +12,7 @@
12
12
  # > cmake --build . --target install
13
13
 
14
14
  PROJECT(libgit2 C)
15
- CMAKE_MINIMUM_REQUIRED(VERSION 2.8.11)
15
+ CMAKE_MINIMUM_REQUIRED(VERSION 3.5.1)
16
16
  CMAKE_POLICY(SET CMP0015 NEW)
17
17
  IF(POLICY CMP0051)
18
18
  CMAKE_POLICY(SET CMP0051 NEW)
@@ -36,6 +36,7 @@ INCLUDE(AddCFlagIfSupported)
36
36
  INCLUDE(FindPkgLibraries)
37
37
  INCLUDE(FindThreads)
38
38
  INCLUDE(FindStatNsec)
39
+ INCLUDE(GNUInstallDirs)
39
40
  INCLUDE(IdeSplitSources)
40
41
  INCLUDE(FeatureSummary)
41
42
  INCLUDE(EnableWarnings)
@@ -50,21 +51,28 @@ OPTION(BUILD_EXAMPLES "Build library usage example apps" OFF)
50
51
  OPTION(BUILD_FUZZERS "Build the fuzz targets" OFF)
51
52
  OPTION(TAGS "Generate tags" OFF)
52
53
  OPTION(PROFILE "Generate profiling information" OFF)
53
- OPTION(ENABLE_TRACE "Enables tracing support" OFF)
54
+ OPTION(ENABLE_TRACE "Enables tracing support" ON)
54
55
  OPTION(LIBGIT2_FILENAME "Name of the produced binary" OFF)
55
-
56
- SET(SHA1_BACKEND "CollisionDetection" CACHE STRING
57
- "Backend to use for SHA1. One of Generic, OpenSSL, Win32, CommonCrypto, mbedTLS, CollisionDetection.")
58
56
  OPTION(USE_SSH "Link with libssh2 to enable SSH support" ON)
59
57
  OPTION(USE_HTTPS "Enable HTTPS support. Can be set to a specific backend" ON)
58
+ OPTION(USE_SHA1 "Enable SHA1. Can be set to CollisionDetection(ON)/HTTPS/Generic" ON)
60
59
  OPTION(USE_GSSAPI "Link with libgssapi for SPNEGO auth" OFF)
61
60
  OPTION(USE_STANDALONE_FUZZERS "Enable standalone fuzzers (compatible with gcc)" OFF)
62
- OPTION(VALGRIND "Configure build for valgrind" OFF)
63
- OPTION(USE_EXT_HTTP_PARSER "Use system HTTP_Parser if available" ON)
61
+ OPTION(USE_LEAK_CHECKER "Run tests with leak checker" OFF)
64
62
  OPTION(DEBUG_POOL "Enable debug pool allocator" OFF)
65
63
  OPTION(ENABLE_WERROR "Enable compilation with -Werror" OFF)
66
64
  OPTION(USE_BUNDLED_ZLIB "Use the bundled version of zlib" OFF)
65
+ SET(USE_HTTP_PARSER "" CACHE STRING "Specifies the HTTP Parser implementation; either system or builtin.")
67
66
  OPTION(DEPRECATE_HARD "Do not include deprecated functions in the library" OFF)
67
+ SET(REGEX_BACKEND "" CACHE STRING "Regular expression implementation. One of regcomp_l, pcre2, pcre, regcomp, or builtin.")
68
+
69
+ IF (UNIX)
70
+ IF (NOT USE_HTTPS)
71
+ OPTION(USE_NTLMCLIENT "Enable NTLM support on Unix." OFF )
72
+ ELSE()
73
+ OPTION(USE_NTLMCLIENT "Enable NTLM support on Unix." ON )
74
+ ENDIF()
75
+ ENDIF()
68
76
 
69
77
  IF (UNIX AND NOT APPLE)
70
78
  OPTION(ENABLE_REPRODUCIBLE_BUILDS "Enable reproducible builds" OFF)
@@ -103,8 +111,8 @@ STRING(REGEX REPLACE "^.*LIBGIT2_VERSION \"[0-9]+\\.([0-9]+).*$" "\\1" LIBGIT2_V
103
111
  STRING(REGEX REPLACE "^.*LIBGIT2_VERSION \"[0-9]+\\.[0-9]+\\.([0-9]+).*$" "\\1" LIBGIT2_VERSION_REV "${GIT2_HEADER}")
104
112
  SET(LIBGIT2_VERSION_STRING "${LIBGIT2_VERSION_MAJOR}.${LIBGIT2_VERSION_MINOR}.${LIBGIT2_VERSION_REV}")
105
113
 
106
- FILE(STRINGS "${libgit2_SOURCE_DIR}/include/git2/version.h" GIT2_HEADER_SOVERSION REGEX "^#define LIBGIT2_SOVERSION [0-9]+$")
107
- STRING(REGEX REPLACE "^.*LIBGIT2_SOVERSION ([0-9]+)$" "\\1" LIBGIT2_SOVERSION "${GIT2_HEADER_SOVERSION}")
114
+ FILE(STRINGS "${libgit2_SOURCE_DIR}/include/git2/version.h" GIT2_HEADER_SOVERSION REGEX "^#define LIBGIT2_SOVERSION \"([0-9.]+)\"$")
115
+ STRING(REGEX REPLACE "^.*LIBGIT2_SOVERSION \"([0-9.]+)\"$" "\\1" LIBGIT2_SOVERSION "${GIT2_HEADER_SOVERSION}")
108
116
 
109
117
  IF (DEPRECATE_HARD)
110
118
  ADD_DEFINITIONS(-DGIT_DEPRECATE_HARD)
@@ -232,10 +240,22 @@ ELSE ()
232
240
  ENABLE_WARNINGS(shift-count-overflow)
233
241
  ENABLE_WARNINGS(unused-const-variable)
234
242
  ENABLE_WARNINGS(unused-function)
235
- ENABLE_WARNINGS(format)
236
- ENABLE_WARNINGS(format-security)
237
243
  ENABLE_WARNINGS(int-conversion)
238
- DISABLE_WARNINGS(documentation-deprecated-sync)
244
+
245
+ # MinGW uses gcc, which expects POSIX formatting for printf, but
246
+ # uses the Windows C library, which uses its own format specifiers.
247
+ # Disable format specifier warnings.
248
+ IF(MINGW)
249
+ DISABLE_WARNINGS(format)
250
+ DISABLE_WARNINGS(format-security)
251
+ ELSE()
252
+ ENABLE_WARNINGS(format)
253
+ ENABLE_WARNINGS(format-security)
254
+ ENDIF()
255
+
256
+ IF("${CMAKE_C_COMPILER_ID}" STREQUAL "Clang")
257
+ DISABLE_WARNINGS(documentation-deprecated-sync)
258
+ ENDIF()
239
259
 
240
260
  IF (PROFILE)
241
261
  SET(CMAKE_C_FLAGS "-pg ${CMAKE_C_FLAGS}")
@@ -243,6 +263,11 @@ ELSE ()
243
263
  ENDIF ()
244
264
  ENDIF()
245
265
 
266
+ # Ensure that MinGW provides the correct header files.
267
+ IF (WIN32 AND NOT CYGWIN)
268
+ ADD_DEFINITIONS(-DWIN32 -D_WIN32_WINNT=0x0600)
269
+ ENDIF()
270
+
246
271
  IF( NOT CMAKE_CONFIGURATION_TYPES )
247
272
  # Build Debug by default
248
273
  IF (NOT CMAKE_BUILD_TYPE)
@@ -310,10 +335,5 @@ IF(BUILD_FUZZERS)
310
335
  ADD_SUBDIRECTORY(fuzzers)
311
336
  ENDIF()
312
337
 
313
- IF(CMAKE_VERSION VERSION_GREATER 3)
314
- FEATURE_SUMMARY(WHAT ENABLED_FEATURES DESCRIPTION "Enabled features:")
315
- FEATURE_SUMMARY(WHAT DISABLED_FEATURES DESCRIPTION "Disabled features:")
316
- ELSE()
317
- PRINT_ENABLED_FEATURES()
318
- PRINT_DISABLED_FEATURES()
319
- ENDIF()
338
+ FEATURE_SUMMARY(WHAT ENABLED_FEATURES DESCRIPTION "Enabled features:")
339
+ FEATURE_SUMMARY(WHAT DISABLED_FEATURES DESCRIPTION "Disabled features:")
@@ -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(