rugged 1.5.0.1 → 1.7.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (250) hide show
  1. checksums.yaml +4 -4
  2. data/ext/rugged/extconf.rb +2 -2
  3. data/ext/rugged/rugged_allocator.c +0 -54
  4. data/ext/rugged/rugged_blame.c +2 -0
  5. data/ext/rugged/rugged_blob.c +3 -0
  6. data/ext/rugged/rugged_commit.c +1 -0
  7. data/ext/rugged/rugged_config.c +2 -0
  8. data/ext/rugged/rugged_diff.c +1 -0
  9. data/ext/rugged/rugged_index.c +2 -0
  10. data/ext/rugged/rugged_patch.c +1 -0
  11. data/ext/rugged/rugged_rebase.c +1 -0
  12. data/ext/rugged/rugged_reference.c +1 -0
  13. data/ext/rugged/rugged_remote.c +1 -0
  14. data/ext/rugged/rugged_repo.c +5 -2
  15. data/ext/rugged/rugged_revwalk.c +5 -1
  16. data/ext/rugged/rugged_submodule.c +1 -0
  17. data/ext/rugged/rugged_tag.c +1 -0
  18. data/ext/rugged/rugged_tree.c +4 -0
  19. data/lib/rugged/index.rb +1 -1
  20. data/lib/rugged/tree.rb +1 -1
  21. data/lib/rugged/version.rb +1 -1
  22. data/vendor/libgit2/CMakeLists.txt +7 -8
  23. data/vendor/libgit2/COPYING +30 -0
  24. data/vendor/libgit2/cmake/CheckPrototypeDefinitionSafe.cmake +16 -0
  25. data/vendor/libgit2/cmake/ExperimentalFeatures.cmake +23 -0
  26. data/vendor/libgit2/cmake/SelectGSSAPI.cmake +3 -3
  27. data/vendor/libgit2/cmake/SelectHTTPSBackend.cmake +21 -2
  28. data/vendor/libgit2/cmake/SelectHashes.cmake +4 -0
  29. data/vendor/libgit2/cmake/SelectXdiff.cmake +9 -0
  30. data/vendor/libgit2/deps/ntlmclient/CMakeLists.txt +2 -0
  31. data/vendor/libgit2/deps/pcre/LICENCE +5 -5
  32. data/vendor/libgit2/deps/pcre/pcre.h +2 -2
  33. data/vendor/libgit2/deps/pcre/pcre_compile.c +6 -3
  34. data/vendor/libgit2/deps/pcre/pcre_exec.c +2 -2
  35. data/vendor/libgit2/deps/xdiff/CMakeLists.txt +28 -0
  36. data/vendor/libgit2/{src/libgit2 → deps}/xdiff/git-xdiff.h +4 -1
  37. data/vendor/libgit2/{src/libgit2 → deps}/xdiff/xdiffi.c +19 -18
  38. data/vendor/libgit2/{src/libgit2 → deps}/xdiff/xdiffi.h +2 -4
  39. data/vendor/libgit2/{src/libgit2 → deps}/xdiff/xemit.c +3 -3
  40. data/vendor/libgit2/{src/libgit2 → deps}/xdiff/xhistogram.c +7 -18
  41. data/vendor/libgit2/{src/libgit2 → deps}/xdiff/xmacros.h +18 -1
  42. data/vendor/libgit2/{src/libgit2 → deps}/xdiff/xmerge.c +24 -22
  43. data/vendor/libgit2/{src/libgit2 → deps}/xdiff/xpatience.c +21 -30
  44. data/vendor/libgit2/{src/libgit2 → deps}/xdiff/xprepare.c +13 -30
  45. data/vendor/libgit2/{src/libgit2 → deps}/xdiff/xutils.c +18 -1
  46. data/vendor/libgit2/{src/libgit2 → deps}/xdiff/xutils.h +2 -1
  47. data/vendor/libgit2/include/git2/common.h +38 -6
  48. data/vendor/libgit2/include/git2/deprecated.h +6 -0
  49. data/vendor/libgit2/include/git2/diff.h +42 -4
  50. data/vendor/libgit2/include/git2/errors.h +4 -2
  51. data/vendor/libgit2/include/git2/experimental.h +20 -0
  52. data/vendor/libgit2/include/git2/index.h +9 -0
  53. data/vendor/libgit2/include/git2/indexer.h +29 -0
  54. data/vendor/libgit2/include/git2/object.h +28 -2
  55. data/vendor/libgit2/include/git2/odb.h +58 -7
  56. data/vendor/libgit2/include/git2/odb_backend.h +106 -18
  57. data/vendor/libgit2/include/git2/oid.h +116 -16
  58. data/vendor/libgit2/include/git2/remote.h +18 -0
  59. data/vendor/libgit2/include/git2/repository.h +32 -3
  60. data/vendor/libgit2/include/git2/stash.h +60 -6
  61. data/vendor/libgit2/include/git2/strarray.h +0 -13
  62. data/vendor/libgit2/include/git2/sys/alloc.h +0 -34
  63. data/vendor/libgit2/include/git2/sys/commit_graph.h +12 -2
  64. data/vendor/libgit2/include/git2/sys/midx.h +5 -1
  65. data/vendor/libgit2/include/git2/sys/odb_backend.h +1 -1
  66. data/vendor/libgit2/include/git2/sys/stream.h +16 -2
  67. data/vendor/libgit2/include/git2/sys/transport.h +32 -2
  68. data/vendor/libgit2/include/git2/version.h +4 -4
  69. data/vendor/libgit2/include/git2/worktree.h +3 -1
  70. data/vendor/libgit2/include/git2.h +1 -0
  71. data/vendor/libgit2/src/CMakeLists.txt +34 -17
  72. data/vendor/libgit2/src/cli/CMakeLists.txt +5 -2
  73. data/vendor/libgit2/src/cli/cmd_clone.c +22 -6
  74. data/vendor/libgit2/src/cli/cmd_hash_object.c +27 -8
  75. data/vendor/libgit2/src/cli/opt.c +1 -1
  76. data/vendor/libgit2/src/cli/progress.c +9 -8
  77. data/vendor/libgit2/src/cli/progress.h +4 -4
  78. data/vendor/libgit2/src/libgit2/CMakeLists.txt +25 -34
  79. data/vendor/libgit2/src/libgit2/annotated_commit.c +2 -2
  80. data/vendor/libgit2/src/libgit2/annotated_commit.h +1 -1
  81. data/vendor/libgit2/src/libgit2/apply.c +4 -3
  82. data/vendor/libgit2/src/libgit2/attr_file.c +1 -1
  83. data/vendor/libgit2/src/libgit2/attrcache.c +1 -1
  84. data/vendor/libgit2/src/libgit2/blame.c +23 -14
  85. data/vendor/libgit2/src/libgit2/blame_git.c +0 -1
  86. data/vendor/libgit2/src/libgit2/blob.c +4 -2
  87. data/vendor/libgit2/src/libgit2/blob.h +2 -2
  88. data/vendor/libgit2/src/libgit2/branch.c +2 -2
  89. data/vendor/libgit2/src/libgit2/cherrypick.c +3 -3
  90. data/vendor/libgit2/src/libgit2/clone.c +34 -3
  91. data/vendor/libgit2/src/libgit2/commit.c +78 -21
  92. data/vendor/libgit2/src/libgit2/commit.h +25 -7
  93. data/vendor/libgit2/src/libgit2/commit_graph.c +129 -47
  94. data/vendor/libgit2/src/libgit2/commit_graph.h +23 -4
  95. data/vendor/libgit2/src/libgit2/commit_list.c +16 -5
  96. data/vendor/libgit2/src/libgit2/commit_list.h +1 -0
  97. data/vendor/libgit2/src/libgit2/config.c +6 -3
  98. data/vendor/libgit2/src/libgit2/config_file.c +16 -10
  99. data/vendor/libgit2/src/libgit2/describe.c +11 -8
  100. data/vendor/libgit2/src/libgit2/diff.c +19 -6
  101. data/vendor/libgit2/src/libgit2/diff.h +6 -6
  102. data/vendor/libgit2/src/libgit2/diff_file.c +16 -7
  103. data/vendor/libgit2/src/libgit2/diff_generate.c +37 -11
  104. data/vendor/libgit2/src/libgit2/diff_parse.c +20 -4
  105. data/vendor/libgit2/src/libgit2/diff_print.c +26 -7
  106. data/vendor/libgit2/src/libgit2/diff_tform.c +4 -0
  107. data/vendor/libgit2/src/libgit2/diff_xdiff.h +1 -1
  108. data/vendor/libgit2/src/libgit2/email.c +4 -3
  109. data/vendor/libgit2/src/libgit2/errors.c +73 -18
  110. data/vendor/libgit2/src/libgit2/experimental.h.in +13 -0
  111. data/vendor/libgit2/src/libgit2/fetch.c +38 -13
  112. data/vendor/libgit2/src/libgit2/fetch.h +0 -2
  113. data/vendor/libgit2/src/libgit2/fetchhead.c +11 -9
  114. data/vendor/libgit2/src/libgit2/grafts.c +272 -0
  115. data/vendor/libgit2/src/libgit2/grafts.h +36 -0
  116. data/vendor/libgit2/src/libgit2/ident.c +3 -3
  117. data/vendor/libgit2/src/libgit2/index.c +327 -123
  118. data/vendor/libgit2/src/libgit2/index.h +14 -1
  119. data/vendor/libgit2/src/libgit2/indexer.c +116 -46
  120. data/vendor/libgit2/src/libgit2/iterator.c +21 -4
  121. data/vendor/libgit2/src/libgit2/iterator.h +3 -0
  122. data/vendor/libgit2/src/libgit2/libgit2.c +58 -0
  123. data/vendor/libgit2/src/libgit2/merge.c +14 -9
  124. data/vendor/libgit2/src/libgit2/merge_file.c +0 -2
  125. data/vendor/libgit2/src/libgit2/midx.c +68 -38
  126. data/vendor/libgit2/src/libgit2/midx.h +13 -3
  127. data/vendor/libgit2/src/libgit2/mwindow.c +5 -2
  128. data/vendor/libgit2/src/libgit2/mwindow.h +4 -1
  129. data/vendor/libgit2/src/libgit2/notes.c +9 -8
  130. data/vendor/libgit2/src/libgit2/object.c +118 -29
  131. data/vendor/libgit2/src/libgit2/object.h +17 -2
  132. data/vendor/libgit2/src/libgit2/odb.c +224 -55
  133. data/vendor/libgit2/src/libgit2/odb.h +43 -4
  134. data/vendor/libgit2/src/libgit2/odb_loose.c +128 -70
  135. data/vendor/libgit2/src/libgit2/odb_pack.c +111 -46
  136. data/vendor/libgit2/src/libgit2/oid.c +141 -77
  137. data/vendor/libgit2/src/libgit2/oid.h +183 -9
  138. data/vendor/libgit2/src/libgit2/oidarray.c +49 -3
  139. data/vendor/libgit2/src/libgit2/oidarray.h +5 -1
  140. data/vendor/libgit2/src/libgit2/pack-objects.c +31 -13
  141. data/vendor/libgit2/src/libgit2/pack-objects.h +5 -2
  142. data/vendor/libgit2/src/libgit2/pack.c +93 -70
  143. data/vendor/libgit2/src/libgit2/pack.h +29 -15
  144. data/vendor/libgit2/src/libgit2/parse.c +8 -4
  145. data/vendor/libgit2/src/libgit2/parse.h +1 -1
  146. data/vendor/libgit2/src/libgit2/patch.h +7 -1
  147. data/vendor/libgit2/src/libgit2/patch_generate.c +24 -5
  148. data/vendor/libgit2/src/libgit2/patch_parse.c +16 -8
  149. data/vendor/libgit2/src/libgit2/push.c +13 -3
  150. data/vendor/libgit2/src/libgit2/reader.c +1 -1
  151. data/vendor/libgit2/src/libgit2/rebase.c +72 -83
  152. data/vendor/libgit2/src/libgit2/refdb_fs.c +92 -52
  153. data/vendor/libgit2/src/libgit2/reflog.c +7 -5
  154. data/vendor/libgit2/src/libgit2/reflog.h +1 -2
  155. data/vendor/libgit2/src/libgit2/refs.c +9 -0
  156. data/vendor/libgit2/src/libgit2/remote.c +47 -37
  157. data/vendor/libgit2/src/libgit2/remote.h +41 -0
  158. data/vendor/libgit2/src/libgit2/repository.c +784 -329
  159. data/vendor/libgit2/src/libgit2/repository.h +26 -2
  160. data/vendor/libgit2/src/libgit2/reset.c +2 -2
  161. data/vendor/libgit2/src/libgit2/revert.c +8 -11
  162. data/vendor/libgit2/src/libgit2/revparse.c +23 -7
  163. data/vendor/libgit2/src/libgit2/revwalk.c +31 -5
  164. data/vendor/libgit2/src/libgit2/stash.c +209 -33
  165. data/vendor/libgit2/src/libgit2/strarray.c +1 -0
  166. data/vendor/libgit2/src/libgit2/strarray.h +25 -0
  167. data/vendor/libgit2/src/libgit2/streams/mbedtls.c +0 -1
  168. data/vendor/libgit2/src/libgit2/streams/openssl.c +9 -17
  169. data/vendor/libgit2/src/libgit2/streams/openssl_dynamic.c +7 -3
  170. data/vendor/libgit2/src/libgit2/streams/schannel.c +715 -0
  171. data/vendor/libgit2/src/libgit2/streams/schannel.h +28 -0
  172. data/vendor/libgit2/src/libgit2/streams/socket.c +240 -51
  173. data/vendor/libgit2/src/libgit2/streams/socket.h +3 -1
  174. data/vendor/libgit2/src/libgit2/streams/stransport.c +40 -12
  175. data/vendor/libgit2/src/libgit2/streams/tls.c +5 -0
  176. data/vendor/libgit2/src/libgit2/submodule.c +6 -2
  177. data/vendor/libgit2/src/libgit2/submodule.h +3 -3
  178. data/vendor/libgit2/src/libgit2/sysdir.c +294 -7
  179. data/vendor/libgit2/src/libgit2/sysdir.h +41 -9
  180. data/vendor/libgit2/src/libgit2/tag.c +29 -10
  181. data/vendor/libgit2/src/libgit2/tag.h +2 -2
  182. data/vendor/libgit2/src/libgit2/threadstate.c +15 -2
  183. data/vendor/libgit2/src/libgit2/threadstate.h +1 -3
  184. data/vendor/libgit2/src/libgit2/transports/auth.h +1 -2
  185. data/vendor/libgit2/src/libgit2/transports/{auth_negotiate.c → auth_gssapi.c} +32 -32
  186. data/vendor/libgit2/src/libgit2/transports/auth_negotiate.h +1 -1
  187. data/vendor/libgit2/src/libgit2/transports/auth_ntlm.h +1 -1
  188. data/vendor/libgit2/src/libgit2/transports/{auth_ntlm.c → auth_ntlmclient.c} +12 -12
  189. data/vendor/libgit2/src/libgit2/transports/auth_sspi.c +341 -0
  190. data/vendor/libgit2/src/libgit2/transports/git.c +7 -8
  191. data/vendor/libgit2/src/libgit2/transports/http.c +15 -9
  192. data/vendor/libgit2/src/libgit2/transports/httpclient.c +14 -0
  193. data/vendor/libgit2/src/libgit2/transports/httpclient.h +10 -0
  194. data/vendor/libgit2/src/libgit2/transports/local.c +27 -4
  195. data/vendor/libgit2/src/libgit2/transports/smart.c +68 -27
  196. data/vendor/libgit2/src/libgit2/transports/smart.h +33 -9
  197. data/vendor/libgit2/src/libgit2/transports/smart_pkt.c +281 -49
  198. data/vendor/libgit2/src/libgit2/transports/smart_protocol.c +192 -55
  199. data/vendor/libgit2/src/libgit2/transports/ssh.c +334 -102
  200. data/vendor/libgit2/src/libgit2/transports/winhttp.c +22 -18
  201. data/vendor/libgit2/src/libgit2/tree-cache.c +26 -16
  202. data/vendor/libgit2/src/libgit2/tree-cache.h +5 -3
  203. data/vendor/libgit2/src/libgit2/tree.c +23 -17
  204. data/vendor/libgit2/src/libgit2/tree.h +2 -2
  205. data/vendor/libgit2/src/libgit2/worktree.c +30 -10
  206. data/vendor/libgit2/src/util/CMakeLists.txt +6 -1
  207. data/vendor/libgit2/src/util/alloc.c +65 -6
  208. data/vendor/libgit2/src/util/alloc.h +34 -9
  209. data/vendor/libgit2/src/util/allocators/failalloc.c +0 -60
  210. data/vendor/libgit2/src/util/allocators/failalloc.h +0 -6
  211. data/vendor/libgit2/src/util/allocators/stdalloc.c +2 -105
  212. data/vendor/libgit2/src/util/allocators/win32_leakcheck.c +0 -68
  213. data/vendor/libgit2/src/util/array.h +6 -1
  214. data/vendor/libgit2/src/util/cc-compat.h +2 -0
  215. data/vendor/libgit2/src/util/filebuf.c +6 -1
  216. data/vendor/libgit2/src/util/filebuf.h +19 -6
  217. data/vendor/libgit2/src/util/fs_path.c +2 -2
  218. data/vendor/libgit2/src/util/futils.c +8 -8
  219. data/vendor/libgit2/src/{features.h.in → util/git2_features.h.in} +9 -3
  220. data/vendor/libgit2/src/util/git2_util.h +2 -2
  221. data/vendor/libgit2/src/util/hash/openssl.c +4 -3
  222. data/vendor/libgit2/src/util/hash/rfc6234/sha.h +0 -112
  223. data/vendor/libgit2/src/util/hash.h +13 -0
  224. data/vendor/libgit2/src/util/net.c +492 -87
  225. data/vendor/libgit2/src/util/net.h +32 -0
  226. data/vendor/libgit2/src/util/posix.c +54 -0
  227. data/vendor/libgit2/src/util/posix.h +24 -0
  228. data/vendor/libgit2/src/util/rand.c +10 -4
  229. data/vendor/libgit2/src/util/regexp.c +3 -3
  230. data/vendor/libgit2/src/util/staticstr.h +66 -0
  231. data/vendor/libgit2/src/util/thread.h +20 -19
  232. data/vendor/libgit2/src/util/util.c +15 -10
  233. data/vendor/libgit2/src/util/util.h +25 -16
  234. data/vendor/libgit2/src/util/win32/error.c +1 -1
  235. data/vendor/libgit2/src/util/win32/path_w32.c +8 -8
  236. data/vendor/libgit2/src/util/win32/posix_w32.c +1 -1
  237. data/vendor/libgit2/src/util/win32/utf-conv.c +73 -75
  238. data/vendor/libgit2/src/util/win32/utf-conv.h +81 -14
  239. data/vendor/libgit2/src/util/win32/w32_util.c +1 -1
  240. metadata +34 -26
  241. data/vendor/libgit2/cmake/SelectWinHTTP.cmake +0 -17
  242. data/vendor/libgit2/src/libgit2/netops.c +0 -124
  243. data/vendor/libgit2/src/libgit2/netops.h +0 -68
  244. data/vendor/libgit2/src/util/win32/findfile.c +0 -286
  245. data/vendor/libgit2/src/util/win32/findfile.h +0 -22
  246. /data/vendor/libgit2/{src/libgit2 → deps}/xdiff/xdiff.h +0 -0
  247. /data/vendor/libgit2/{src/libgit2 → deps}/xdiff/xemit.h +0 -0
  248. /data/vendor/libgit2/{src/libgit2 → deps}/xdiff/xinclude.h +0 -0
  249. /data/vendor/libgit2/{src/libgit2 → deps}/xdiff/xprepare.h +0 -0
  250. /data/vendor/libgit2/{src/libgit2 → deps}/xdiff/xtypes.h +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2ea6cb574b0ccc0c76c624cae0d3845590b5aef4e1653a604964736f2de1c489
4
- data.tar.gz: 0d5bd0607f91187a8c04c0bafa516b5162602d2c29657b5dd1ce6922da06cc22
3
+ metadata.gz: 612678eb067cc67b95f2bab39559c502a323746387cb79d1f333148e84bf5746
4
+ data.tar.gz: 15a17bdb4bc6c5e60d0ee1605447962d1cd524f0e0330253dec3273774464d6b
5
5
  SHA512:
6
- metadata.gz: c15f2a343f085539228baeca8d9ba93fa23fb3cfb22cacc9bc4bb8126f6c9082ee81a24f3b338f2f3685927acf88d86832a1645bd37ddbfa70d142c5a3796c14
7
- data.tar.gz: 99cef08979f3931643e93bf12490865ecc365b352511fd2bdd3156d98d2ae6bc52e9ab6e449da1c7841a3335b9f6d41733c6fa6083a3404bd2d1f337110d371a
6
+ metadata.gz: f20f497297ac36e2a63acdba4b15962c360f527ac107fd7f87200ee513d73fcf7e85bfe6da1427b10a7e8ae497edcbe14dcce3492ecace08b557fb87a72abf29
7
+ data.tar.gz: 4694b1dbce110bcfaac801bff104b5829d529eeba55d01e9bf939f74841dc11e357a9749e0a72ae02338f36ce2bdd7c1ad2da100ff46bc4b535361e41f67ade6
@@ -71,12 +71,12 @@ if arg_config("--use-system-libraries", !!ENV['RUGGED_USE_SYSTEM_LIBRARIES'])
71
71
  major = minor = nil
72
72
 
73
73
  File.readlines(File.join(LIBGIT2_DIR, "include", "git2", "version.h")).each do |line|
74
- if !major && (matches = line.match(/^#define LIBGIT2_VER_MAJOR ([0-9]+)$/))
74
+ if !major && (matches = line.match(/^#define LIBGIT2_VER_MAJOR\s+([0-9]+)$/))
75
75
  major = matches[1]
76
76
  next
77
77
  end
78
78
 
79
- if !minor && (matches = line.match(/^#define LIBGIT2_VER_MINOR ([0-9]+)$/))
79
+ if !minor && (matches = line.match(/^#define LIBGIT2_VER_MINOR\s+([0-9]+)$/))
80
80
  minor = matches[1]
81
81
  next
82
82
  end
@@ -13,58 +13,11 @@ static void *rugged_gmalloc(size_t n, const char *file, int line)
13
13
  return xmalloc(n);
14
14
  }
15
15
 
16
- static void *rugged_gcalloc(size_t nelem, size_t elsize, const char *file, int line)
17
- {
18
- return xcalloc(nelem, elsize);
19
- }
20
-
21
- static char *rugged_gstrdup(const char *str, const char *file, int line)
22
- {
23
- return ruby_strdup(str);
24
- }
25
-
26
- static char *rugged_gstrndup(const char *str, size_t n, const char *file, int line)
27
- {
28
- size_t len;
29
- char *newstr;
30
-
31
- len = strnlen(str, n);
32
- if (len < n)
33
- n = len;
34
-
35
- newstr = xmalloc(n+1);
36
- memcpy(newstr, str, n);
37
- newstr[n] = '\0';
38
-
39
- return newstr;
40
- }
41
-
42
- static char *rugged_gsubstrdup(const char *str, size_t n, const char *file, int line)
43
- {
44
- char *newstr;
45
-
46
- newstr = xmalloc(n+1);
47
- memcpy(newstr, str, n);
48
- newstr[n] = '\0';
49
-
50
- return newstr;
51
- }
52
-
53
16
  static void *rugged_grealloc(void *ptr, size_t size, const char *file, int line)
54
17
  {
55
18
  return xrealloc(ptr, size);
56
19
  }
57
20
 
58
- static void *rugged_greallocarray(void *ptr, size_t nelem, size_t elsize, const char *file, int line)
59
- {
60
- return xrealloc2(ptr, nelem, elsize);
61
- }
62
-
63
- static void *rugged_gmallocarray(size_t nelem, size_t elsize, const char *file, int line)
64
- {
65
- return xmalloc2(nelem, elsize);
66
- }
67
-
68
21
  static void rugged_gfree(void *ptr)
69
22
  {
70
23
  xfree(ptr);
@@ -75,14 +28,7 @@ void rugged_set_allocator(void)
75
28
  git_allocator allocator;
76
29
 
77
30
  allocator.gmalloc = rugged_gmalloc;
78
- allocator.gcalloc = rugged_gcalloc;
79
- allocator.gstrdup = rugged_gstrdup;
80
- allocator.gstrndup = rugged_gstrndup;
81
- allocator.gstrndup = rugged_gstrndup;
82
- allocator.gsubstrdup = rugged_gsubstrdup;
83
31
  allocator.grealloc = rugged_grealloc;
84
- allocator.greallocarray = rugged_greallocarray;
85
- allocator.gmallocarray = rugged_gmallocarray;
86
32
  allocator.gfree = rugged_gfree;
87
33
 
88
34
  git_libgit2_opts(GIT_OPT_SET_ALLOCATOR, &allocator);
@@ -264,6 +264,8 @@ static VALUE rb_git_blame_each(VALUE self)
264
264
  void Init_rugged_blame(void)
265
265
  {
266
266
  rb_cRuggedBlame = rb_define_class_under(rb_mRugged, "Blame", rb_cObject);
267
+ rb_undef_alloc_func(rb_cRuggedBlame);
268
+
267
269
  rb_include_module(rb_cRuggedBlame, rb_mEnumerable);
268
270
 
269
271
  rb_define_singleton_method(rb_cRuggedBlame, "new", rb_git_blame_new, -1);
@@ -694,6 +694,7 @@ void Init_rugged_blob(void)
694
694
  id_read = rb_intern("read");
695
695
 
696
696
  rb_cRuggedBlob = rb_define_class_under(rb_mRugged, "Blob", rb_cRuggedObject);
697
+ rb_undef_alloc_func(rb_cRuggedBlob);
697
698
 
698
699
  rb_define_method(rb_cRuggedBlob, "size", rb_git_blob_rawsize, 0);
699
700
  rb_define_method(rb_cRuggedBlob, "content", rb_git_blob_content_GET, -1);
@@ -712,6 +713,8 @@ void Init_rugged_blob(void)
712
713
  rb_define_singleton_method(rb_cRuggedBlob, "merge_files", rb_git_blob_merge_files, -1);
713
714
 
714
715
  rb_cRuggedBlobSig = rb_define_class_under(rb_cRuggedBlob, "HashSignature", rb_cObject);
716
+ rb_undef_alloc_func(rb_cRuggedBlobSig);
717
+
715
718
  rb_define_singleton_method(rb_cRuggedBlobSig, "new", rb_git_blob_sig_new, -1);
716
719
  rb_define_singleton_method(rb_cRuggedBlobSig, "compare", rb_git_blob_sig_compare, 2);
717
720
  }
@@ -869,6 +869,7 @@ static VALUE rb_git_commit_create_with_signature(int argc, VALUE *argv, VALUE se
869
869
  void Init_rugged_commit(void)
870
870
  {
871
871
  rb_cRuggedCommit = rb_define_class_under(rb_mRugged, "Commit", rb_cRuggedObject);
872
+ rb_undef_alloc_func(rb_cRuggedCommit);
872
873
 
873
874
  rb_define_singleton_method(rb_cRuggedCommit, "create", rb_git_commit_create, 2);
874
875
  rb_define_singleton_method(rb_cRuggedCommit, "create_to_s", rb_git_commit_create_to_s, 2);
@@ -411,6 +411,8 @@ void Init_rugged_config(void)
411
411
  * Config
412
412
  */
413
413
  rb_cRuggedConfig = rb_define_class_under(rb_mRugged, "Config", rb_cObject);
414
+ rb_undef_alloc_func(rb_cRuggedConfig);
415
+
414
416
  rb_define_singleton_method(rb_cRuggedConfig, "new", rb_git_config_new, 1);
415
417
 
416
418
  rb_define_singleton_method(rb_cRuggedConfig, "global", rb_git_config_open_default, 0);
@@ -640,6 +640,7 @@ static VALUE rb_git_diff_sorted_icase_p(VALUE self)
640
640
  void Init_rugged_diff(void)
641
641
  {
642
642
  rb_cRuggedDiff = rb_define_class_under(rb_mRugged, "Diff", rb_cObject);
643
+ rb_undef_alloc_func(rb_cRuggedDiff);
643
644
 
644
645
  rb_define_method(rb_cRuggedDiff, "patch", rb_git_diff_patch, -1);
645
646
  rb_define_method(rb_cRuggedDiff, "write_patch", rb_git_diff_write_patch, -1);
@@ -1029,6 +1029,8 @@ void Init_rugged_index(void)
1029
1029
  * Index
1030
1030
  */
1031
1031
  rb_cRuggedIndex = rb_define_class_under(rb_mRugged, "Index", rb_cObject);
1032
+ rb_undef_alloc_func(rb_cRuggedIndex);
1033
+
1032
1034
  rb_define_singleton_method(rb_cRuggedIndex, "new", rb_git_index_new, -1);
1033
1035
 
1034
1036
  rb_define_method(rb_cRuggedIndex, "count", rb_git_index_count, 0);
@@ -383,6 +383,7 @@ static VALUE rb_git_diff_patch_header(VALUE self)
383
383
  void Init_rugged_patch(void)
384
384
  {
385
385
  rb_cRuggedPatch = rb_define_class_under(rb_mRugged, "Patch", rb_cObject);
386
+ rb_undef_alloc_func(rb_cRuggedPatch);
386
387
 
387
388
  rb_define_singleton_method(rb_cRuggedPatch, "from_strings", rb_git_patch_from_strings, -1);
388
389
 
@@ -389,6 +389,7 @@ static VALUE rebase_operation_type(git_rebase_operation *operation)
389
389
  void Init_rugged_rebase(void)
390
390
  {
391
391
  rb_cRuggedRebase = rb_define_class_under(rb_mRugged, "Rebase", rb_cObject);
392
+ rb_undef_alloc_func(rb_cRuggedRebase);
392
393
 
393
394
  rb_define_singleton_method(rb_cRuggedRebase, "new", rb_git_rebase_new, -1);
394
395
  rb_define_method(rb_cRuggedRebase, "next", rb_git_rebase_next, 0);
@@ -368,6 +368,7 @@ static VALUE rb_git_ref_is_tag(VALUE self)
368
368
  void Init_rugged_reference(void)
369
369
  {
370
370
  rb_cRuggedReference = rb_define_class_under(rb_mRugged, "Reference", rb_cObject);
371
+ rb_undef_alloc_func(rb_cRuggedReference);
371
372
 
372
373
  rb_define_singleton_method(rb_cRuggedReference, "valid_name?", rb_git_ref_valid_name, 1);
373
374
 
@@ -743,6 +743,7 @@ static VALUE rb_git_remote_push(int argc, VALUE *argv, VALUE self)
743
743
  void Init_rugged_remote(void)
744
744
  {
745
745
  rb_cRuggedRemote = rb_define_class_under(rb_mRugged, "Remote", rb_cObject);
746
+ rb_undef_alloc_func(rb_cRuggedRemote);
746
747
 
747
748
  rb_define_method(rb_cRuggedRemote, "name", rb_git_remote_name, 0);
748
749
  rb_define_method(rb_cRuggedRemote, "url", rb_git_remote_url, 0);
@@ -2738,7 +2738,7 @@ static VALUE rb_git_repo_cherrypick_commit(int argc, VALUE *argv, VALUE self)
2738
2738
 
2739
2739
  /*
2740
2740
  * call-seq: repo.diff_from_buffer(buffer) -> Rugged::Diff object
2741
- *
2741
+ *
2742
2742
  * Where +buffer+ is a +String+.
2743
2743
  * Returns A Rugged::Diff object
2744
2744
  */
@@ -2764,6 +2764,7 @@ void Init_rugged_repo(void)
2764
2764
  id_call = rb_intern("call");
2765
2765
 
2766
2766
  rb_cRuggedRepo = rb_define_class_under(rb_mRugged, "Repository", rb_cObject);
2767
+ rb_undef_alloc_func(rb_cRuggedRepo);
2767
2768
 
2768
2769
  rb_define_singleton_method(rb_cRuggedRepo, "new", rb_git_repo_new, -1);
2769
2770
  rb_define_singleton_method(rb_cRuggedRepo, "bare", rb_git_repo_open_bare, -1);
@@ -2817,7 +2818,7 @@ void Init_rugged_repo(void)
2817
2818
  rb_define_method(rb_cRuggedRepo, "apply", rb_git_repo_apply, -1);
2818
2819
 
2819
2820
  rb_define_method(rb_cRuggedRepo, "revert_commit", rb_git_repo_revert_commit, -1);
2820
-
2821
+
2821
2822
  rb_define_method(rb_cRuggedRepo, "diff_from_buffer", rb_git_diff_from_buffer, 1);
2822
2823
 
2823
2824
  rb_define_method(rb_cRuggedRepo, "path_ignored?", rb_git_repo_is_path_ignored, 1);
@@ -2841,6 +2842,8 @@ void Init_rugged_repo(void)
2841
2842
  rb_define_method(rb_cRuggedRepo, "fetch_attributes", rb_git_repo_attributes, -1);
2842
2843
 
2843
2844
  rb_cRuggedOdbObject = rb_define_class_under(rb_mRugged, "OdbObject", rb_cObject);
2845
+ rb_undef_alloc_func(rb_cRuggedOdbObject);
2846
+
2844
2847
  rb_define_method(rb_cRuggedOdbObject, "data", rb_git_odbobj_data, 0);
2845
2848
  rb_define_method(rb_cRuggedOdbObject, "len", rb_git_odbobj_size, 0);
2846
2849
  rb_define_method(rb_cRuggedOdbObject, "type", rb_git_odbobj_type, 0);
@@ -11,6 +11,8 @@ extern VALUE rb_mRugged;
11
11
  extern VALUE rb_cRuggedObject;
12
12
  VALUE rb_cRuggedWalker;
13
13
 
14
+ extern const rb_data_type_t rugged_object_type;
15
+
14
16
  static void rb_git_walk__free(git_revwalk *walk)
15
17
  {
16
18
  git_revwalk_free(walk);
@@ -43,7 +45,7 @@ static void push_commit_1(git_revwalk *walk, VALUE rb_commit, int hide)
43
45
  {
44
46
  if (rb_obj_is_kind_of(rb_commit, rb_cRuggedObject)) {
45
47
  git_object *object;
46
- Data_Get_Struct(rb_commit, git_object, object);
48
+ TypedData_Get_Struct(rb_commit, git_object, &rugged_object_type, object);
47
49
 
48
50
  push_commit_oid(walk, git_object_id(object), hide);
49
51
  return;
@@ -481,6 +483,8 @@ static VALUE rb_git_walker_each_oid(int argc, VALUE *argv, VALUE self)
481
483
  void Init_rugged_revwalk(void)
482
484
  {
483
485
  rb_cRuggedWalker = rb_define_class_under(rb_mRugged, "Walker", rb_cObject);
486
+ rb_undef_alloc_func(rb_cRuggedWalker);
487
+
484
488
  rb_define_singleton_method(rb_cRuggedWalker, "new", rb_git_walker_new, 1);
485
489
  rb_define_singleton_method(rb_cRuggedWalker, "walk", rb_git_walk, -1);
486
490
 
@@ -792,6 +792,7 @@ void Init_rugged_submodule(void)
792
792
  id_update_none = rb_intern("none");
793
793
 
794
794
  rb_cRuggedSubmodule = rb_define_class_under(rb_mRugged, "Submodule", rb_cObject);
795
+ rb_undef_alloc_func(rb_cRuggedSubmodule);
795
796
 
796
797
  rb_define_method(rb_cRuggedSubmodule, "finalize_add", rb_git_submodule_finalize_add, 0);
797
798
 
@@ -225,6 +225,7 @@ void Init_rugged_tag(void)
225
225
  rb_define_method(rb_cRuggedTag, "target", rb_git_tag_target, 0);
226
226
 
227
227
  rb_cRuggedTagAnnotation = rb_define_class_under(rb_cRuggedTag, "Annotation", rb_cRuggedObject);
228
+ rb_undef_alloc_func(rb_cRuggedTagAnnotation);
228
229
 
229
230
  rb_define_method(rb_cRuggedTagAnnotation, "message", rb_git_tag_annotation_message, 0);
230
231
  rb_define_method(rb_cRuggedTagAnnotation, "name", rb_git_tag_annotation_name, 0);
@@ -899,6 +899,8 @@ void Init_rugged_tree(void)
899
899
  * Tree
900
900
  */
901
901
  rb_cRuggedTree = rb_define_class_under(rb_mRugged, "Tree", rb_cRuggedObject);
902
+ rb_undef_alloc_func(rb_cRuggedTree);
903
+
902
904
  rb_define_method(rb_cRuggedTree, "count", rb_git_tree_entrycount, 0);
903
905
  rb_define_method(rb_cRuggedTree, "count_recursive", rb_git_tree_entrycount_recursive, -1);
904
906
  rb_define_method(rb_cRuggedTree, "length", rb_git_tree_entrycount, 0);
@@ -917,6 +919,8 @@ void Init_rugged_tree(void)
917
919
  rb_define_private_method(rb_singleton_class(rb_cRuggedTree), "diff_tree_to_tree", rb_git_diff_tree_to_tree, 4);
918
920
 
919
921
  rb_cRuggedTreeBuilder = rb_define_class_under(rb_cRuggedTree, "Builder", rb_cObject);
922
+ rb_undef_alloc_func(rb_cRuggedTreeBuilder);
923
+
920
924
  rb_define_singleton_method(rb_cRuggedTreeBuilder, "new", rb_git_treebuilder_new, -1);
921
925
  rb_define_method(rb_cRuggedTreeBuilder, "clear", rb_git_treebuilder_clear, 0);
922
926
  rb_define_method(rb_cRuggedTreeBuilder, "[]", rb_git_treebuilder_get, 1);
data/lib/rugged/index.rb CHANGED
@@ -81,7 +81,7 @@ module Rugged
81
81
  # :deltas_are_icase ::
82
82
  # If true, filename comparisons will be made with case-insensitivity.
83
83
  #
84
- # :include_untracked_content ::
84
+ # :show_untracked_content ::
85
85
  # if true, untracked content will be contained in the the diff patch text.
86
86
  #
87
87
  # :skip_binary_check ::
data/lib/rugged/tree.rb CHANGED
@@ -87,7 +87,7 @@ module Rugged
87
87
  # :deltas_are_icase ::
88
88
  # If true, filename comparisons will be made with case-insensitivity.
89
89
  #
90
- # :include_untracked_content ::
90
+ # :show_untracked_content ::
91
91
  # if true, untracked content will be contained in the the diff patch text.
92
92
  #
93
93
  # :skip_binary_check ::
@@ -4,5 +4,5 @@
4
4
  # For full terms see the included LICENSE file.
5
5
 
6
6
  module Rugged
7
- Version = VERSION = '1.5.0.1'
7
+ Version = VERSION = '1.7.1'
8
8
  end
@@ -6,7 +6,7 @@
6
6
 
7
7
  cmake_minimum_required(VERSION 3.5.1)
8
8
 
9
- project(libgit2 VERSION "1.5.0" LANGUAGES C)
9
+ project(libgit2 VERSION "1.7.1" LANGUAGES C)
10
10
 
11
11
  # Add find modules to the path
12
12
  set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${PROJECT_SOURCE_DIR}/cmake")
@@ -15,6 +15,9 @@ set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${PROJECT_SOURCE_DIR}/cmake")
15
15
  # Build options
16
16
  #
17
17
 
18
+ # Experimental features
19
+ option(EXPERIMENTAL_SHA256 "Enable experimental SHA256 support (for R&D/testing)" OFF)
20
+
18
21
  # Optional subsystems
19
22
  option(BUILD_SHARED_LIBS "Build Shared Library (OFF for Static)" ON)
20
23
  option(BUILD_TESTS "Build Tests using the Clar suite" ON)
@@ -33,6 +36,7 @@ option(USE_SHA1 "Enable SHA1. Can be set to CollisionDetection(ON
33
36
  option(USE_SHA256 "Enable SHA256. Can be set to HTTPS/Builtin" ON)
34
37
  option(USE_GSSAPI "Link with libgssapi for SPNEGO auth" OFF)
35
38
  set(USE_HTTP_PARSER "" CACHE STRING "Specifies the HTTP Parser implementation; either system or builtin.")
39
+ # set(USE_XDIFF "" CACHE STRING "Specifies the xdiff implementation; either system or builtin.")
36
40
  set(REGEX_BACKEND "" CACHE STRING "Regular expression implementation. One of regcomp_l, pcre2, pcre, regcomp, or builtin.")
37
41
  option(USE_BUNDLED_ZLIB "Use the bundled version of zlib. Can be set to one of Bundled(ON)/Chromium. The Chromium option requires a x86_64 processor with SSE4.2 and CLMUL" OFF)
38
42
 
@@ -79,12 +83,6 @@ if(MSVC)
79
83
  option(WIN32_LEAKCHECK "Enable leak reporting via crtdbg" OFF)
80
84
  endif()
81
85
 
82
- if(WIN32)
83
- # By default, libgit2 is built with WinHTTP. To use the built-in
84
- # HTTP transport, invoke CMake with the "-DUSE_WINHTTP=OFF" argument.
85
- option(USE_WINHTTP "Use Win32 WinHTTP routines" ON)
86
- endif()
87
-
88
86
  if(NOT CMAKE_CONFIGURATION_TYPES AND NOT CMAKE_BUILD_TYPE)
89
87
  set(CMAKE_BUILD_TYPE "Debug" CACHE STRING "Choose the type of build, options are: Debug Release RelWithDebInfo MinSizeRel." FORCE)
90
88
  endif()
@@ -96,7 +94,7 @@ include(CheckLibraryExists)
96
94
  include(CheckFunctionExists)
97
95
  include(CheckSymbolExists)
98
96
  include(CheckStructHasMember)
99
- include(CheckPrototypeDefinition)
97
+ include(CheckPrototypeDefinitionSafe)
100
98
  include(AddCFlagIfSupported)
101
99
  include(FindPkgLibraries)
102
100
  include(FindThreads)
@@ -107,6 +105,7 @@ include(IdeSplitSources)
107
105
  include(FeatureSummary)
108
106
  include(EnableWarnings)
109
107
  include(DefaultCFlags)
108
+ include(ExperimentalFeatures)
110
109
 
111
110
 
112
111
  #
@@ -1184,3 +1184,33 @@ CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
1184
1184
  OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
1185
1185
  EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
1186
1186
 
1187
+ ----------------------------------------------------------------------
1188
+
1189
+ The built-in git_fs_path_basename_r() function is based on the
1190
+ Android implementation, BSD licensed:
1191
+
1192
+ Copyright (C) 2008 The Android Open Source Project
1193
+ All rights reserved.
1194
+
1195
+ Redistribution and use in source and binary forms, with or without
1196
+ modification, are permitted provided that the following conditions
1197
+ are met:
1198
+ * Redistributions of source code must retain the above copyright
1199
+ notice, this list of conditions and the following disclaimer.
1200
+ * Redistributions in binary form must reproduce the above copyright
1201
+ notice, this list of conditions and the following disclaimer in
1202
+ the documentation and/or other materials provided with the
1203
+ distribution.
1204
+
1205
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
1206
+ AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
1207
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
1208
+ FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
1209
+ COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
1210
+ INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
1211
+ BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
1212
+ OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
1213
+ AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
1214
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
1215
+ OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
1216
+ SUCH DAMAGE.
@@ -0,0 +1,16 @@
1
+ include(CheckPrototypeDefinition)
2
+
3
+ function(check_prototype_definition_safe function prototype return header variable)
4
+ # temporarily save CMAKE_C_FLAGS and disable warnings about unused
5
+ # unused functions and parameters, otherwise they will always fail
6
+ # if ENABLE_WERROR is on
7
+ set(SAVED_CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
8
+
9
+ disable_warnings(unused-function)
10
+ disable_warnings(unused-parameter)
11
+
12
+ check_prototype_definition("${function}" "${prototype}" "${return}" "${header}" "${variable}")
13
+
14
+ # restore CMAKE_C_FLAGS
15
+ set(CMAKE_C_FLAGS "${SAVED_CMAKE_C_FLAGS}")
16
+ endfunction()
@@ -0,0 +1,23 @@
1
+ # Experimental feature support for libgit2 - developers can opt in to
2
+ # experimental functionality, like sha256 support. When experimental
3
+ # functionality is enabled, we set both a cmake flag *and* a compile
4
+ # definition. The cmake flag is used to generate `experimental.h`,
5
+ # which will be installed by a `make install`. But the compile definition
6
+ # is used by the libgit2 sources to detect the functionality at library
7
+ # build time. This allows us to have an in-tree `experimental.h` with
8
+ # *no* experiments enabled. This lets us support users who build without
9
+ # cmake and cannot generate the `experimental.h` file.
10
+
11
+ if(EXPERIMENTAL_SHA256)
12
+ add_feature_info("SHA256 API" ON "experimental SHA256 APIs")
13
+
14
+ set(EXPERIMENTAL 1)
15
+ set(GIT_EXPERIMENTAL_SHA256 1)
16
+ add_definitions(-DGIT_EXPERIMENTAL_SHA256=1)
17
+ else()
18
+ add_feature_info("SHA256 API" OFF "experimental SHA256 APIs")
19
+ endif()
20
+
21
+ if(EXPERIMENTAL)
22
+ set(LIBGIT2_FILENAME "${LIBGIT2_FILENAME}-experimental")
23
+ endif()
@@ -29,7 +29,7 @@ if(USE_GSSAPI)
29
29
  list(APPEND LIBGIT2_SYSTEM_LIBS ${GSSFRAMEWORK_LIBRARIES})
30
30
 
31
31
  set(GIT_GSSFRAMEWORK 1)
32
- add_feature_info(SPNEGO GIT_GSSFRAMEWORK "SPNEGO authentication support (${USE_GSSAPI})")
32
+ add_feature_info(GSSAPI GIT_GSSFRAMEWORK "GSSAPI support for SPNEGO authentication (${USE_GSSAPI})")
33
33
  elseif(USE_GSSAPI STREQUAL "gssapi")
34
34
  if(NOT GSSAPI_FOUND)
35
35
  message(FATAL_ERROR "Asked for gssapi GSS backend, but it wasn't found")
@@ -38,11 +38,11 @@ if(USE_GSSAPI)
38
38
  list(APPEND LIBGIT2_SYSTEM_LIBS ${GSSAPI_LIBRARIES})
39
39
 
40
40
  set(GIT_GSSAPI 1)
41
- add_feature_info(SPNEGO GIT_GSSAPI "SPNEGO authentication support (${USE_GSSAPI})")
41
+ add_feature_info(GSSAPI GIT_GSSAPI "GSSAPI support for SPNEGO authentication (${USE_GSSAPI})")
42
42
  else()
43
43
  message(FATAL_ERROR "Asked for backend ${USE_GSSAPI} but it wasn't found")
44
44
  endif()
45
45
  else()
46
46
  set(GIT_GSSAPI 0)
47
- add_feature_info(SPNEGO NO "SPNEGO authentication support")
47
+ add_feature_info(GSSAPI NO "GSSAPI support for SPNEGO authentication")
48
48
  endif()
@@ -19,7 +19,7 @@ if(USE_HTTPS)
19
19
  message(STATUS "Security framework is too old, falling back to OpenSSL")
20
20
  set(USE_HTTPS "OpenSSL")
21
21
  endif()
22
- elseif(USE_WINHTTP)
22
+ elseif(WIN32)
23
23
  set(USE_HTTPS "WinHTTP")
24
24
  elseif(OPENSSL_FOUND)
25
25
  set(USE_HTTPS "OpenSSL")
@@ -106,8 +106,27 @@ if(USE_HTTPS)
106
106
  # https://github.com/ARMmbed/mbedtls/issues/228
107
107
  # For now, pass its link flags as our own
108
108
  list(APPEND LIBGIT2_PC_LIBS ${MBEDTLS_LIBRARIES})
109
+ elseif(USE_HTTPS STREQUAL "Schannel")
110
+ set(GIT_SCHANNEL 1)
111
+
112
+ list(APPEND LIBGIT2_SYSTEM_LIBS "rpcrt4" "crypt32" "ole32" "secur32")
113
+ list(APPEND LIBGIT2_PC_LIBS "-lrpcrt4" "-lcrypt32" "-lole32" "-lsecur32")
109
114
  elseif(USE_HTTPS STREQUAL "WinHTTP")
110
- # WinHTTP setup was handled in the WinHTTP-specific block above
115
+ set(GIT_WINHTTP 1)
116
+
117
+ # Since MinGW does not come with headers or an import library for winhttp,
118
+ # we have to include a private header and generate our own import library
119
+ if(MINGW)
120
+ add_subdirectory("${PROJECT_SOURCE_DIR}/deps/winhttp" "${PROJECT_BINARY_DIR}/deps/winhttp")
121
+ list(APPEND LIBGIT2_SYSTEM_LIBS winhttp)
122
+ list(APPEND LIBGIT2_DEPENDENCY_INCLUDES "${PROJECT_SOURCE_DIR}/deps/winhttp")
123
+ else()
124
+ list(APPEND LIBGIT2_SYSTEM_LIBS "winhttp")
125
+ list(APPEND LIBGIT2_PC_LIBS "-lwinhttp")
126
+ endif()
127
+
128
+ list(APPEND LIBGIT2_SYSTEM_LIBS "rpcrt4" "crypt32" "ole32" "secur32")
129
+ list(APPEND LIBGIT2_PC_LIBS "-lrpcrt4" "-lcrypt32" "-lole32" "-lsecur32")
111
130
  elseif(USE_HTTPS STREQUAL "OpenSSL-Dynamic")
112
131
  set(GIT_OPENSSL 1)
113
132
  set(GIT_OPENSSL_DYNAMIC 1)
@@ -13,6 +13,8 @@ if(USE_SHA1 STREQUAL ON)
13
13
  elseif(USE_SHA1 STREQUAL "HTTPS")
14
14
  if(USE_HTTPS STREQUAL "SecureTransport")
15
15
  set(USE_SHA1 "CommonCrypto")
16
+ elseif(USE_HTTPS STREQUAL "Schannel")
17
+ set(USE_SHA1 "Win32")
16
18
  elseif(USE_HTTPS STREQUAL "WinHTTP")
17
19
  set(USE_SHA1 "Win32")
18
20
  elseif(USE_HTTPS)
@@ -51,6 +53,8 @@ endif()
51
53
  if(USE_SHA256 STREQUAL "HTTPS")
52
54
  if(USE_HTTPS STREQUAL "SecureTransport")
53
55
  set(USE_SHA256 "CommonCrypto")
56
+ elseif(USE_HTTPS STREQUAL "Schannel")
57
+ set(USE_SHA256 "Win32")
54
58
  elseif(USE_HTTPS STREQUAL "WinHTTP")
55
59
  set(USE_SHA256 "Win32")
56
60
  elseif(USE_HTTPS)
@@ -0,0 +1,9 @@
1
+ # Optional external dependency: xdiff
2
+ if(USE_XDIFF STREQUAL "system")
3
+ message(FATAL_ERROR "external/system xdiff is not yet supported")
4
+ else()
5
+ add_subdirectory("${PROJECT_SOURCE_DIR}/deps/xdiff" "${PROJECT_BINARY_DIR}/deps/xdiff")
6
+ list(APPEND LIBGIT2_DEPENDENCY_INCLUDES "${PROJECT_SOURCE_DIR}/deps/xdiff")
7
+ list(APPEND LIBGIT2_DEPENDENCY_OBJECTS "$<TARGET_OBJECTS:xdiff>")
8
+ add_feature_info(xdiff ON "xdiff support (bundled)")
9
+ endif()
@@ -20,11 +20,13 @@ if(USE_HTTPS STREQUAL "SecureTransport")
20
20
  set_source_files_properties("crypt_commoncrypto.c" COMPILE_FLAGS "-Wno-deprecated")
21
21
  elseif(USE_HTTPS STREQUAL "OpenSSL")
22
22
  add_definitions(-DCRYPT_OPENSSL)
23
+ add_definitions(-DOPENSSL_API_COMPAT=0x10100000L)
23
24
  include_directories(${OPENSSL_INCLUDE_DIR})
24
25
  set(SRC_NTLMCLIENT_CRYPTO "crypt_openssl.c" "crypt_openssl.h")
25
26
  elseif(USE_HTTPS STREQUAL "OpenSSL-Dynamic")
26
27
  add_definitions(-DCRYPT_OPENSSL)
27
28
  add_definitions(-DCRYPT_OPENSSL_DYNAMIC)
29
+ add_definitions(-DOPENSSL_API_COMPAT=0x10100000L)
28
30
  set(SRC_NTLMCLIENT_CRYPTO "crypt_openssl.c" "crypt_openssl.h")
29
31
  elseif(USE_HTTPS STREQUAL "mbedTLS")
30
32
  add_definitions(-DCRYPT_MBEDTLS)
@@ -19,13 +19,13 @@ THE BASIC LIBRARY FUNCTIONS
19
19
  ---------------------------
20
20
 
21
21
  Written by: Philip Hazel
22
- Email local part: ph10
23
- Email domain: cam.ac.uk
22
+ Email local part: Philip.Hazel
23
+ Email domain: gmail.com
24
24
 
25
25
  University of Cambridge Computing Service,
26
26
  Cambridge, England.
27
27
 
28
- Copyright (c) 1997-2020 University of Cambridge
28
+ Copyright (c) 1997-2021 University of Cambridge
29
29
  All rights reserved.
30
30
 
31
31
 
@@ -36,7 +36,7 @@ Written by: Zoltan Herczeg
36
36
  Email local part: hzmester
37
37
  Email domain: freemail.hu
38
38
 
39
- Copyright(c) 2010-2020 Zoltan Herczeg
39
+ Copyright(c) 2010-2021 Zoltan Herczeg
40
40
  All rights reserved.
41
41
 
42
42
 
@@ -47,7 +47,7 @@ Written by: Zoltan Herczeg
47
47
  Email local part: hzmester
48
48
  Email domain: freemail.hu
49
49
 
50
- Copyright(c) 2009-2020 Zoltan Herczeg
50
+ Copyright(c) 2009-2021 Zoltan Herczeg
51
51
  All rights reserved.
52
52
 
53
53
 
@@ -42,9 +42,9 @@ POSSIBILITY OF SUCH DAMAGE.
42
42
  /* The current PCRE version information. */
43
43
 
44
44
  #define PCRE_MAJOR 8
45
- #define PCRE_MINOR 44
45
+ #define PCRE_MINOR 45
46
46
  #define PCRE_PRERELEASE
47
- #define PCRE_DATE 2020-02-12
47
+ #define PCRE_DATE 2021-06-15
48
48
 
49
49
  #define PCRE_EXP_DECL extern
50
50