rugged 1.0.0 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (338) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +1 -0
  3. data/README.md +3 -3
  4. data/ext/rugged/rugged.c +7 -4
  5. data/ext/rugged/rugged_commit.c +1 -1
  6. data/ext/rugged/rugged_config.c +1 -1
  7. data/ext/rugged/rugged_object.c +1 -1
  8. data/ext/rugged/rugged_remote.c +32 -2
  9. data/ext/rugged/rugged_repo.c +13 -3
  10. data/lib/rugged/commit.rb +17 -4
  11. data/lib/rugged/repository.rb +7 -8
  12. data/lib/rugged/submodule_collection.rb +4 -4
  13. data/lib/rugged/version.rb +1 -1
  14. data/vendor/libgit2/CMakeLists.txt +41 -74
  15. data/vendor/libgit2/COPYING +109 -1
  16. data/vendor/libgit2/cmake/{Modules/AddCFlagIfSupported.cmake → AddCFlagIfSupported.cmake} +0 -0
  17. data/vendor/libgit2/cmake/{Modules/EnableWarnings.cmake → EnableWarnings.cmake} +0 -0
  18. data/vendor/libgit2/cmake/{Modules/FindCoreFoundation.cmake → FindCoreFoundation.cmake} +0 -0
  19. data/vendor/libgit2/cmake/{Modules/FindGSSAPI.cmake → FindGSSAPI.cmake} +0 -0
  20. data/vendor/libgit2/cmake/{Modules/FindGSSFramework.cmake → FindGSSFramework.cmake} +0 -0
  21. data/vendor/libgit2/cmake/{Modules/FindHTTP_Parser.cmake → FindHTTP_Parser.cmake} +0 -0
  22. data/vendor/libgit2/cmake/{Modules/FindIconv.cmake → FindIconv.cmake} +0 -0
  23. data/vendor/libgit2/cmake/{Modules/FindPCRE.cmake → FindPCRE.cmake} +0 -0
  24. data/vendor/libgit2/cmake/{Modules/FindPCRE2.cmake → FindPCRE2.cmake} +0 -0
  25. data/vendor/libgit2/cmake/{Modules/FindPkgLibraries.cmake → FindPkgLibraries.cmake} +0 -0
  26. data/vendor/libgit2/cmake/{Modules/FindSecurity.cmake → FindSecurity.cmake} +0 -0
  27. data/vendor/libgit2/cmake/{Modules/FindStatNsec.cmake → FindStatNsec.cmake} +0 -0
  28. data/vendor/libgit2/cmake/Findfutimens.cmake +14 -0
  29. data/vendor/libgit2/cmake/{Modules/FindmbedTLS.cmake → FindmbedTLS.cmake} +0 -0
  30. data/vendor/libgit2/cmake/{Modules/IdeSplitSources.cmake → IdeSplitSources.cmake} +0 -0
  31. data/vendor/libgit2/cmake/{Modules/PkgBuildConfig.cmake → PkgBuildConfig.cmake} +0 -0
  32. data/vendor/libgit2/cmake/{Modules/SanitizeBool.cmake → SanitizeBool.cmake} +0 -0
  33. data/vendor/libgit2/cmake/{Modules/SelectGSSAPI.cmake → SelectGSSAPI.cmake} +18 -26
  34. data/vendor/libgit2/cmake/{Modules/SelectHTTPSBackend.cmake → SelectHTTPSBackend.cmake} +29 -32
  35. data/vendor/libgit2/cmake/{Modules/SelectHashes.cmake → SelectHashes.cmake} +21 -28
  36. data/vendor/libgit2/deps/chromium-zlib/CMakeLists.txt +101 -0
  37. data/vendor/libgit2/deps/http-parser/CMakeLists.txt +4 -3
  38. data/vendor/libgit2/deps/ntlmclient/CMakeLists.txt +24 -10
  39. data/vendor/libgit2/deps/ntlmclient/compat.h +0 -27
  40. data/vendor/libgit2/deps/ntlmclient/crypt.h +14 -9
  41. data/vendor/libgit2/deps/ntlmclient/crypt_commoncrypto.c +20 -20
  42. data/vendor/libgit2/deps/ntlmclient/crypt_commoncrypto.h +3 -3
  43. data/vendor/libgit2/deps/ntlmclient/crypt_mbedtls.c +37 -36
  44. data/vendor/libgit2/deps/ntlmclient/crypt_mbedtls.h +4 -3
  45. data/vendor/libgit2/deps/ntlmclient/crypt_openssl.c +178 -51
  46. data/vendor/libgit2/deps/ntlmclient/crypt_openssl.h +74 -5
  47. data/vendor/libgit2/deps/ntlmclient/ntlm.c +164 -135
  48. data/vendor/libgit2/deps/ntlmclient/ntlm.h +13 -9
  49. data/vendor/libgit2/deps/ntlmclient/ntlmclient.h +16 -3
  50. data/vendor/libgit2/deps/ntlmclient/unicode.h +10 -4
  51. data/vendor/libgit2/deps/ntlmclient/unicode_builtin.c +16 -27
  52. data/vendor/libgit2/deps/ntlmclient/unicode_builtin.h +20 -0
  53. data/vendor/libgit2/deps/ntlmclient/unicode_iconv.c +28 -52
  54. data/vendor/libgit2/deps/ntlmclient/unicode_iconv.h +22 -0
  55. data/vendor/libgit2/deps/ntlmclient/util.c +15 -1
  56. data/vendor/libgit2/deps/ntlmclient/util.h +2 -1
  57. data/vendor/libgit2/deps/pcre/LICENCE +93 -0
  58. data/vendor/libgit2/deps/pcre/pcre.h +2 -2
  59. data/vendor/libgit2/deps/pcre/pcre_compile.c +29 -17
  60. data/vendor/libgit2/deps/pcre/pcre_jit_compile.c +4 -4
  61. data/vendor/libgit2/deps/pcre/pcreposix.c +2 -3
  62. data/vendor/libgit2/deps/zlib/CMakeLists.txt +6 -5
  63. data/vendor/libgit2/deps/zlib/deflate.c +1 -0
  64. data/vendor/libgit2/include/git2/annotated_commit.h +1 -1
  65. data/vendor/libgit2/include/git2/apply.h +2 -0
  66. data/vendor/libgit2/include/git2/attr.h +89 -0
  67. data/vendor/libgit2/include/git2/blame.h +95 -42
  68. data/vendor/libgit2/include/git2/blob.h +31 -3
  69. data/vendor/libgit2/include/git2/branch.h +25 -0
  70. data/vendor/libgit2/include/git2/cert.h +42 -5
  71. data/vendor/libgit2/include/git2/checkout.h +28 -12
  72. data/vendor/libgit2/include/git2/commit.h +35 -19
  73. data/vendor/libgit2/include/git2/common.h +33 -6
  74. data/vendor/libgit2/include/git2/config.h +1 -1
  75. data/vendor/libgit2/include/git2/deprecated.h +248 -8
  76. data/vendor/libgit2/include/git2/diff.h +35 -20
  77. data/vendor/libgit2/include/git2/errors.h +8 -7
  78. data/vendor/libgit2/include/git2/filter.h +57 -17
  79. data/vendor/libgit2/include/git2/graph.h +20 -2
  80. data/vendor/libgit2/include/git2/index.h +4 -5
  81. data/vendor/libgit2/include/git2/indexer.h +2 -1
  82. data/vendor/libgit2/include/git2/odb.h +44 -20
  83. data/vendor/libgit2/include/git2/pack.h +1 -1
  84. data/vendor/libgit2/include/git2/patch.h +8 -0
  85. data/vendor/libgit2/include/git2/rebase.h +25 -1
  86. data/vendor/libgit2/include/git2/refs.h +9 -5
  87. data/vendor/libgit2/include/git2/remote.h +59 -6
  88. data/vendor/libgit2/include/git2/repository.h +95 -52
  89. data/vendor/libgit2/include/git2/revparse.h +5 -5
  90. data/vendor/libgit2/include/git2/status.h +115 -59
  91. data/vendor/libgit2/include/git2/strarray.h +6 -10
  92. data/vendor/libgit2/include/git2/submodule.h +9 -0
  93. data/vendor/libgit2/include/git2/sys/commit_graph.h +174 -0
  94. data/vendor/libgit2/include/git2/sys/filter.h +49 -28
  95. data/vendor/libgit2/include/git2/sys/midx.h +74 -0
  96. data/vendor/libgit2/include/git2/sys/odb_backend.h +7 -0
  97. data/vendor/libgit2/include/git2/sys/transport.h +1 -0
  98. data/vendor/libgit2/include/git2/tag.h +12 -0
  99. data/vendor/libgit2/include/git2/transport.h +1 -1
  100. data/vendor/libgit2/include/git2/tree.h +2 -14
  101. data/vendor/libgit2/include/git2/types.h +9 -0
  102. data/vendor/libgit2/include/git2/version.h +3 -3
  103. data/vendor/libgit2/include/git2/worktree.h +1 -0
  104. data/vendor/libgit2/src/CMakeLists.txt +77 -44
  105. data/vendor/libgit2/src/alloc.c +21 -8
  106. data/vendor/libgit2/src/allocators/failalloc.c +92 -0
  107. data/vendor/libgit2/src/allocators/failalloc.h +23 -0
  108. data/vendor/libgit2/src/allocators/stdalloc.c +41 -10
  109. data/vendor/libgit2/src/allocators/win32_leakcheck.c +118 -0
  110. data/vendor/libgit2/src/allocators/{win32_crtdbg.h → win32_leakcheck.h} +3 -3
  111. data/vendor/libgit2/src/annotated_commit.c +21 -9
  112. data/vendor/libgit2/src/apply.c +21 -8
  113. data/vendor/libgit2/src/array.h +11 -11
  114. data/vendor/libgit2/src/assert_safe.h +58 -0
  115. data/vendor/libgit2/src/attr.c +181 -74
  116. data/vendor/libgit2/src/attr_file.c +92 -42
  117. data/vendor/libgit2/src/attr_file.h +32 -11
  118. data/vendor/libgit2/src/attrcache.c +44 -40
  119. data/vendor/libgit2/src/attrcache.h +4 -5
  120. data/vendor/libgit2/src/blame.c +28 -15
  121. data/vendor/libgit2/src/blame_git.c +6 -3
  122. data/vendor/libgit2/src/blob.c +46 -24
  123. data/vendor/libgit2/src/branch.c +87 -37
  124. data/vendor/libgit2/src/buffer.c +339 -27
  125. data/vendor/libgit2/src/buffer.h +153 -2
  126. data/vendor/libgit2/src/cache.c +3 -24
  127. data/vendor/libgit2/src/cache.h +7 -7
  128. data/vendor/libgit2/src/cc-compat.h +10 -2
  129. data/vendor/libgit2/src/checkout.c +97 -98
  130. data/vendor/libgit2/src/cherrypick.c +8 -2
  131. data/vendor/libgit2/src/clone.c +104 -29
  132. data/vendor/libgit2/src/commit.c +41 -28
  133. data/vendor/libgit2/src/commit_graph.c +1209 -0
  134. data/vendor/libgit2/src/commit_graph.h +162 -0
  135. data/vendor/libgit2/src/commit_list.c +46 -0
  136. data/vendor/libgit2/src/commit_list.h +2 -0
  137. data/vendor/libgit2/src/common.h +26 -2
  138. data/vendor/libgit2/src/config.c +40 -22
  139. data/vendor/libgit2/src/config_cache.c +9 -4
  140. data/vendor/libgit2/src/config_entries.c +35 -27
  141. data/vendor/libgit2/src/config_file.c +25 -8
  142. data/vendor/libgit2/src/config_parse.c +5 -7
  143. data/vendor/libgit2/src/config_snapshot.c +2 -1
  144. data/vendor/libgit2/src/crlf.c +16 -6
  145. data/vendor/libgit2/src/date.c +4 -3
  146. data/vendor/libgit2/src/delta.c +1 -1
  147. data/vendor/libgit2/src/describe.c +11 -4
  148. data/vendor/libgit2/src/diff.c +23 -19
  149. data/vendor/libgit2/src/diff_driver.c +21 -17
  150. data/vendor/libgit2/src/diff_file.c +5 -7
  151. data/vendor/libgit2/src/diff_generate.c +56 -28
  152. data/vendor/libgit2/src/diff_parse.c +2 -3
  153. data/vendor/libgit2/src/diff_print.c +81 -65
  154. data/vendor/libgit2/src/diff_stats.c +19 -16
  155. data/vendor/libgit2/src/diff_tform.c +13 -13
  156. data/vendor/libgit2/src/diff_xdiff.c +4 -2
  157. data/vendor/libgit2/src/diff_xdiff.h +1 -1
  158. data/vendor/libgit2/src/errors.c +26 -19
  159. data/vendor/libgit2/src/features.h.in +5 -1
  160. data/vendor/libgit2/src/fetch.c +7 -2
  161. data/vendor/libgit2/src/fetchhead.c +8 -4
  162. data/vendor/libgit2/src/filebuf.c +9 -7
  163. data/vendor/libgit2/src/filter.c +209 -113
  164. data/vendor/libgit2/src/filter.h +24 -5
  165. data/vendor/libgit2/src/futils.c +8 -8
  166. data/vendor/libgit2/src/futils.h +4 -4
  167. data/vendor/libgit2/src/graph.c +64 -9
  168. data/vendor/libgit2/src/hash/sha1/collisiondetect.c +3 -3
  169. data/vendor/libgit2/src/hash/sha1/common_crypto.c +3 -3
  170. data/vendor/libgit2/src/hash/sha1/generic.h +1 -1
  171. data/vendor/libgit2/src/hash/sha1/mbedtls.c +12 -12
  172. data/vendor/libgit2/src/hash/sha1/openssl.c +3 -3
  173. data/vendor/libgit2/src/hash/sha1/sha1dc/sha1.c +0 -2
  174. data/vendor/libgit2/src/hash/sha1/win32.c +15 -11
  175. data/vendor/libgit2/src/hash.c +16 -13
  176. data/vendor/libgit2/src/hash.h +1 -1
  177. data/vendor/libgit2/src/hashsig.c +23 -10
  178. data/vendor/libgit2/src/ident.c +13 -3
  179. data/vendor/libgit2/src/idxmap.c +0 -22
  180. data/vendor/libgit2/src/ignore.c +35 -19
  181. data/vendor/libgit2/src/index.c +126 -84
  182. data/vendor/libgit2/src/index.h +1 -1
  183. data/vendor/libgit2/src/indexer.c +60 -36
  184. data/vendor/libgit2/src/integer.h +79 -2
  185. data/vendor/libgit2/src/iterator.c +40 -28
  186. data/vendor/libgit2/src/iterator.h +1 -1
  187. data/vendor/libgit2/src/khash.h +2 -11
  188. data/vendor/libgit2/src/{settings.c → libgit2.c} +125 -49
  189. data/vendor/libgit2/src/libgit2.h +15 -0
  190. data/vendor/libgit2/src/mailmap.c +23 -10
  191. data/vendor/libgit2/src/map.h +3 -3
  192. data/vendor/libgit2/src/merge.c +108 -46
  193. data/vendor/libgit2/src/merge.h +2 -1
  194. data/vendor/libgit2/src/merge_driver.c +19 -13
  195. data/vendor/libgit2/src/merge_file.c +15 -9
  196. data/vendor/libgit2/src/message.c +3 -1
  197. data/vendor/libgit2/src/midx.c +879 -0
  198. data/vendor/libgit2/src/midx.h +110 -0
  199. data/vendor/libgit2/src/mwindow.c +214 -95
  200. data/vendor/libgit2/src/mwindow.h +3 -3
  201. data/vendor/libgit2/src/net.c +133 -4
  202. data/vendor/libgit2/src/net.h +16 -2
  203. data/vendor/libgit2/src/netops.c +6 -4
  204. data/vendor/libgit2/src/netops.h +2 -2
  205. data/vendor/libgit2/src/notes.c +10 -10
  206. data/vendor/libgit2/src/object.c +24 -15
  207. data/vendor/libgit2/src/odb.c +298 -57
  208. data/vendor/libgit2/src/odb.h +16 -2
  209. data/vendor/libgit2/src/odb_loose.c +31 -21
  210. data/vendor/libgit2/src/odb_mempack.c +3 -1
  211. data/vendor/libgit2/src/odb_pack.c +391 -114
  212. data/vendor/libgit2/src/oid.c +7 -4
  213. data/vendor/libgit2/src/pack-objects.c +83 -69
  214. data/vendor/libgit2/src/pack.c +383 -150
  215. data/vendor/libgit2/src/pack.h +44 -9
  216. data/vendor/libgit2/src/patch.c +14 -7
  217. data/vendor/libgit2/src/patch_generate.c +3 -5
  218. data/vendor/libgit2/src/patch_parse.c +6 -3
  219. data/vendor/libgit2/src/path.c +102 -57
  220. data/vendor/libgit2/src/path.h +79 -6
  221. data/vendor/libgit2/src/pathspec.c +12 -11
  222. data/vendor/libgit2/src/pool.c +34 -22
  223. data/vendor/libgit2/src/pool.h +9 -1
  224. data/vendor/libgit2/src/posix.c +43 -12
  225. data/vendor/libgit2/src/posix.h +9 -0
  226. data/vendor/libgit2/src/proxy.c +2 -0
  227. data/vendor/libgit2/src/push.c +2 -0
  228. data/vendor/libgit2/src/reader.c +10 -6
  229. data/vendor/libgit2/src/rebase.c +95 -49
  230. data/vendor/libgit2/src/refdb.c +165 -13
  231. data/vendor/libgit2/src/refdb.h +69 -0
  232. data/vendor/libgit2/src/refdb_fs.c +144 -152
  233. data/vendor/libgit2/src/reflog.c +21 -20
  234. data/vendor/libgit2/src/refs.c +151 -231
  235. data/vendor/libgit2/src/refs.h +2 -20
  236. data/vendor/libgit2/src/refspec.c +80 -44
  237. data/vendor/libgit2/src/regexp.c +2 -2
  238. data/vendor/libgit2/src/remote.c +312 -121
  239. data/vendor/libgit2/src/remote.h +2 -1
  240. data/vendor/libgit2/src/repository.c +351 -189
  241. data/vendor/libgit2/src/repository.h +23 -29
  242. data/vendor/libgit2/src/reset.c +7 -6
  243. data/vendor/libgit2/src/revert.c +8 -2
  244. data/vendor/libgit2/src/revparse.c +19 -13
  245. data/vendor/libgit2/src/revwalk.c +35 -20
  246. data/vendor/libgit2/src/runtime.c +162 -0
  247. data/vendor/libgit2/src/runtime.h +62 -0
  248. data/vendor/libgit2/src/{refdb_fs.h → settings.h} +3 -11
  249. data/vendor/libgit2/src/signature.c +6 -5
  250. data/vendor/libgit2/src/sortedcache.c +2 -3
  251. data/vendor/libgit2/src/sortedcache.h +10 -8
  252. data/vendor/libgit2/src/stash.c +7 -3
  253. data/vendor/libgit2/src/status.c +9 -4
  254. data/vendor/libgit2/src/strarray.c +64 -0
  255. data/vendor/libgit2/src/streams/mbedtls.c +14 -17
  256. data/vendor/libgit2/src/streams/mbedtls.h +1 -1
  257. data/vendor/libgit2/src/streams/openssl.c +113 -207
  258. data/vendor/libgit2/src/streams/openssl.h +9 -1
  259. data/vendor/libgit2/src/streams/openssl_dynamic.c +309 -0
  260. data/vendor/libgit2/src/streams/openssl_dynamic.h +348 -0
  261. data/vendor/libgit2/src/streams/openssl_legacy.c +203 -0
  262. data/vendor/libgit2/src/streams/openssl_legacy.h +63 -0
  263. data/vendor/libgit2/src/streams/registry.c +10 -9
  264. data/vendor/libgit2/src/streams/socket.c +6 -2
  265. data/vendor/libgit2/src/streams/stransport.c +6 -3
  266. data/vendor/libgit2/src/streams/tls.c +5 -3
  267. data/vendor/libgit2/src/submodule.c +134 -66
  268. data/vendor/libgit2/src/submodule.h +9 -9
  269. data/vendor/libgit2/src/sysdir.c +8 -26
  270. data/vendor/libgit2/src/sysdir.h +0 -11
  271. data/vendor/libgit2/src/tag.c +49 -11
  272. data/vendor/libgit2/src/thread.c +140 -0
  273. data/vendor/libgit2/src/thread.h +479 -0
  274. data/vendor/libgit2/src/threadstate.c +83 -0
  275. data/vendor/libgit2/src/threadstate.h +24 -0
  276. data/vendor/libgit2/src/trace.c +2 -2
  277. data/vendor/libgit2/src/trace.h +17 -13
  278. data/vendor/libgit2/src/transaction.c +21 -9
  279. data/vendor/libgit2/src/transport.c +3 -3
  280. data/vendor/libgit2/src/transports/auth.c +1 -1
  281. data/vendor/libgit2/src/transports/auth_negotiate.c +11 -4
  282. data/vendor/libgit2/src/transports/auth_ntlm.c +10 -6
  283. data/vendor/libgit2/src/transports/credential.c +17 -7
  284. data/vendor/libgit2/src/transports/credential_helpers.c +2 -0
  285. data/vendor/libgit2/src/transports/git.c +1 -3
  286. data/vendor/libgit2/src/transports/http.c +19 -17
  287. data/vendor/libgit2/src/transports/http.h +1 -0
  288. data/vendor/libgit2/src/transports/httpclient.c +84 -42
  289. data/vendor/libgit2/src/transports/httpclient.h +1 -1
  290. data/vendor/libgit2/src/transports/local.c +5 -5
  291. data/vendor/libgit2/src/transports/smart.c +14 -9
  292. data/vendor/libgit2/src/transports/smart.h +1 -1
  293. data/vendor/libgit2/src/transports/smart_protocol.c +11 -5
  294. data/vendor/libgit2/src/transports/ssh.c +51 -17
  295. data/vendor/libgit2/src/transports/winhttp.c +156 -88
  296. data/vendor/libgit2/src/tree.c +100 -77
  297. data/vendor/libgit2/src/tree.h +1 -0
  298. data/vendor/libgit2/src/tsort.c +0 -2
  299. data/vendor/libgit2/src/unix/map.c +3 -1
  300. data/vendor/libgit2/src/unix/posix.h +16 -1
  301. data/vendor/libgit2/src/unix/pthread.h +2 -1
  302. data/vendor/libgit2/src/utf8.c +150 -0
  303. data/vendor/libgit2/src/utf8.h +52 -0
  304. data/vendor/libgit2/src/util.c +74 -183
  305. data/vendor/libgit2/src/util.h +33 -39
  306. data/vendor/libgit2/src/vector.c +23 -19
  307. data/vendor/libgit2/src/vector.h +4 -2
  308. data/vendor/libgit2/src/win32/findfile.c +4 -2
  309. data/vendor/libgit2/src/win32/git2.rc +18 -3
  310. data/vendor/libgit2/src/win32/map.c +1 -1
  311. data/vendor/libgit2/src/win32/msvc-compat.h +9 -1
  312. data/vendor/libgit2/src/win32/path_w32.c +23 -25
  313. data/vendor/libgit2/src/win32/path_w32.h +0 -1
  314. data/vendor/libgit2/src/win32/posix_w32.c +77 -1
  315. data/vendor/libgit2/src/win32/precompiled.h +0 -1
  316. data/vendor/libgit2/src/win32/reparse.h +4 -4
  317. data/vendor/libgit2/src/win32/thread.c +24 -15
  318. data/vendor/libgit2/src/win32/thread.h +1 -1
  319. data/vendor/libgit2/src/win32/w32_buffer.c +3 -3
  320. data/vendor/libgit2/src/win32/w32_common.h +18 -9
  321. data/vendor/libgit2/src/win32/{w32_crtdbg_stacktrace.c → w32_leakcheck.c} +269 -33
  322. data/vendor/libgit2/src/win32/w32_leakcheck.h +222 -0
  323. data/vendor/libgit2/src/win32/w32_util.h +6 -6
  324. data/vendor/libgit2/src/worktree.c +37 -15
  325. data/vendor/libgit2/src/zstream.c +1 -1
  326. metadata +56 -38
  327. data/vendor/libgit2/cmake/Modules/CheckPrototypeDefinition.c.in +0 -29
  328. data/vendor/libgit2/cmake/Modules/CheckPrototypeDefinition.cmake +0 -96
  329. data/vendor/libgit2/src/allocators/win32_crtdbg.c +0 -118
  330. data/vendor/libgit2/src/buf_text.c +0 -316
  331. data/vendor/libgit2/src/buf_text.h +0 -122
  332. data/vendor/libgit2/src/global.c +0 -361
  333. data/vendor/libgit2/src/global.h +0 -41
  334. data/vendor/libgit2/src/thread-utils.c +0 -58
  335. data/vendor/libgit2/src/thread-utils.h +0 -246
  336. data/vendor/libgit2/src/win32/w32_crtdbg_stacktrace.h +0 -127
  337. data/vendor/libgit2/src/win32/w32_stack.c +0 -188
  338. data/vendor/libgit2/src/win32/w32_stack.h +0 -140
@@ -365,6 +365,18 @@ GIT_EXTERN(int) git_tag_peel(
365
365
  */
366
366
  GIT_EXTERN(int) git_tag_dup(git_tag **out, git_tag *source);
367
367
 
368
+ /**
369
+ * Determine whether a tag name is valid, meaning that (when prefixed
370
+ * with `refs/tags/`) that it is a valid reference name, and that any
371
+ * additional tag name restrictions are imposed (eg, it cannot start
372
+ * with a `-`).
373
+ *
374
+ * @param valid output pointer to set with validity of given tag name
375
+ * @param name a tag name to test
376
+ * @return 0 on success or an error code
377
+ */
378
+ GIT_EXTERN(int) git_tag_name_is_valid(int *valid, const char *name);
379
+
368
380
  /** @} */
369
381
  GIT_END_DECL
370
382
  #endif
@@ -23,7 +23,7 @@
23
23
  GIT_BEGIN_DECL
24
24
 
25
25
  /**
26
- * Callback for messages recieved by the transport.
26
+ * Callback for messages received by the transport.
27
27
  *
28
28
  * Return a negative value to cancel the network operation.
29
29
  *
@@ -334,6 +334,7 @@ GIT_EXTERN(int) git_treebuilder_insert(
334
334
  *
335
335
  * @param bld Tree builder
336
336
  * @param filename Filename of the entry to remove
337
+ * @return 0 or an error code
337
338
  */
338
339
  GIT_EXTERN(int) git_treebuilder_remove(
339
340
  git_treebuilder *bld, const char *filename);
@@ -378,20 +379,6 @@ GIT_EXTERN(int) git_treebuilder_filter(
378
379
  GIT_EXTERN(int) git_treebuilder_write(
379
380
  git_oid *id, git_treebuilder *bld);
380
381
 
381
- /**
382
- * Write the contents of the tree builder as a tree object
383
- * using a shared git_buf.
384
- *
385
- * @see git_treebuilder_write
386
- *
387
- * @param oid Pointer to store the OID of the newly written tree
388
- * @param bld Tree builder to write
389
- * @param tree Shared buffer for writing the tree. Will be grown as necessary.
390
- * @return 0 or an error code
391
- */
392
- GIT_EXTERN(int) git_treebuilder_write_with_buffer(
393
- git_oid *oid, git_treebuilder *bld, git_buf *tree);
394
-
395
382
  /** Callback for the tree traversal method */
396
383
  typedef int GIT_CALLBACK(git_treewalk_cb)(
397
384
  const char *root, const git_tree_entry *entry, void *payload);
@@ -477,6 +464,7 @@ typedef struct {
477
464
  * @param baseline the tree to base these changes on
478
465
  * @param nupdates the number of elements in the update list
479
466
  * @param updates the list of updates to perform
467
+ * @return 0 or an error code
480
468
  */
481
469
  GIT_EXTERN(int) git_tree_create_updated(git_oid *out, git_repository *repo, git_tree *baseline, size_t nupdates, const git_tree_update *updates);
482
470
 
@@ -96,12 +96,21 @@ typedef struct git_odb_stream git_odb_stream;
96
96
  /** A stream to write a packfile to the ODB */
97
97
  typedef struct git_odb_writepack git_odb_writepack;
98
98
 
99
+ /** a writer for multi-pack-index files. */
100
+ typedef struct git_midx_writer git_midx_writer;
101
+
99
102
  /** An open refs database handle. */
100
103
  typedef struct git_refdb git_refdb;
101
104
 
102
105
  /** A custom backend for refs */
103
106
  typedef struct git_refdb_backend git_refdb_backend;
104
107
 
108
+ /** A git commit-graph */
109
+ typedef struct git_commit_graph git_commit_graph;
110
+
111
+ /** a writer for commit-graph files. */
112
+ typedef struct git_commit_graph_writer git_commit_graph_writer;
113
+
105
114
  /**
106
115
  * Representation of an existing git repository,
107
116
  * including all its object contents
@@ -7,12 +7,12 @@
7
7
  #ifndef INCLUDE_git_version_h__
8
8
  #define INCLUDE_git_version_h__
9
9
 
10
- #define LIBGIT2_VERSION "1.0.0"
10
+ #define LIBGIT2_VERSION "1.2.0"
11
11
  #define LIBGIT2_VER_MAJOR 1
12
- #define LIBGIT2_VER_MINOR 0
12
+ #define LIBGIT2_VER_MINOR 2
13
13
  #define LIBGIT2_VER_REVISION 0
14
14
  #define LIBGIT2_VER_PATCH 0
15
15
 
16
- #define LIBGIT2_SOVERSION "1.0"
16
+ #define LIBGIT2_SOVERSION "1.2"
17
17
 
18
18
  #endif
@@ -198,6 +198,7 @@ typedef enum {
198
198
  typedef struct git_worktree_prune_options {
199
199
  unsigned int version;
200
200
 
201
+ /** A combination of `git_worktree_prune_t` */
201
202
  uint32_t flags;
202
203
  } git_worktree_prune_options;
203
204
 
@@ -1,9 +1,23 @@
1
+ add_library(git2internal OBJECT)
2
+ set_target_properties(git2internal PROPERTIES C_STANDARD 90)
3
+
1
4
  IF(DEBUG_POOL)
2
5
  SET(GIT_DEBUG_POOL 1)
3
6
  ENDIF()
4
7
  ADD_FEATURE_INFO(debugpool GIT_DEBUG_POOL "debug pool allocator")
5
8
 
9
+ IF(DEBUG_STRICT_ALLOC)
10
+ SET(GIT_DEBUG_STRICT_ALLOC 1)
11
+ ENDIF()
12
+ ADD_FEATURE_INFO(debugalloc GIT_DEBUG_STRICT_ALLOC "debug strict allocators")
13
+
14
+ IF(DEBUG_STRICT_OPEN)
15
+ SET(GIT_DEBUG_STRICT_OPEN 1)
16
+ ENDIF()
17
+ ADD_FEATURE_INFO(debugopen GIT_DEBUG_STRICT_OPEN "path validation in open")
18
+
6
19
  INCLUDE(PkgBuildConfig)
20
+ INCLUDE(SanitizeBool)
7
21
 
8
22
  # This variable will contain the libraries we need to put into
9
23
  # libgit2.pc's Requires.private. That is, what we're linking to or
@@ -21,34 +35,36 @@ SET(LIBGIT2_INCLUDES
21
35
  SET(LIBGIT2_SYSTEM_INCLUDES "")
22
36
  SET(LIBGIT2_LIBS "")
23
37
 
38
+ enable_warnings(missing-declarations)
39
+
24
40
  # Enable tracing
25
41
  IF(ENABLE_TRACE)
26
42
  SET(GIT_TRACE 1)
27
43
  ENDIF()
28
44
  ADD_FEATURE_INFO(tracing GIT_TRACE "tracing support")
29
45
 
30
- CHECK_FUNCTION_EXISTS(futimens HAVE_FUTIMENS)
31
46
  IF (HAVE_FUTIMENS)
32
47
  SET(GIT_USE_FUTIMENS 1)
33
48
  ENDIF ()
49
+ ADD_FEATURE_INFO(futimens GIT_USE_FUTIMENS "futimens support")
34
50
 
35
51
  CHECK_PROTOTYPE_DEFINITION(qsort_r
36
52
  "void qsort_r(void *base, size_t nmemb, size_t size, void *thunk, int (*compar)(void *, const void *, const void *))"
37
53
  "" "stdlib.h" HAVE_QSORT_R_BSD)
38
54
  IF (HAVE_QSORT_R_BSD)
39
- ADD_DEFINITIONS(-DHAVE_QSORT_R_BSD)
55
+ target_compile_definitions(git2internal PRIVATE HAVE_QSORT_R_BSD)
40
56
  ENDIF()
41
57
 
42
58
  CHECK_PROTOTYPE_DEFINITION(qsort_r
43
59
  "void qsort_r(void *base, size_t nmemb, size_t size, int (*compar)(const void *, const void *, void *), void *arg)"
44
60
  "" "stdlib.h" HAVE_QSORT_R_GNU)
45
61
  IF (HAVE_QSORT_R_GNU)
46
- ADD_DEFINITIONS(-DHAVE_QSORT_R_GNU)
62
+ target_compile_definitions(git2internal PRIVATE HAVE_QSORT_R_GNU)
47
63
  ENDIF()
48
64
 
49
65
  CHECK_FUNCTION_EXISTS(qsort_s HAVE_QSORT_S)
50
66
  IF (HAVE_QSORT_S)
51
- ADD_DEFINITIONS(-DHAVE_QSORT_S)
67
+ target_compile_definitions(git2internal PRIVATE HAVE_QSORT_S)
52
68
  ENDIF ()
53
69
 
54
70
  # Find required dependencies
@@ -76,12 +92,15 @@ ENDIF()
76
92
  ADD_FEATURE_INFO(threadsafe THREADSAFE "threadsafe support")
77
93
 
78
94
 
79
- IF (WIN32 AND EMBED_SSH_PATH)
80
- FILE(GLOB SRC_SSH "${EMBED_SSH_PATH}/src/*.c")
81
- LIST(APPEND LIBGIT2_SYSTEM_INCLUDES "${EMBED_SSH_PATH}/include")
82
- FILE(WRITE "${EMBED_SSH_PATH}/src/libssh2_config.h" "#define HAVE_WINCNG\n#define LIBSSH2_WINCNG\n#include \"../win32/libssh2_config.h\"")
83
- SET(GIT_SSH 1)
84
- ENDIF()
95
+ if(WIN32 AND EMBED_SSH_PATH)
96
+ file(GLOB SRC_SSH "${EMBED_SSH_PATH}/src/*.c")
97
+ list(SORT SRC_SSH)
98
+ target_sources(git2internal PRIVATE ${SRC_SSH})
99
+
100
+ list(APPEND LIBGIT2_SYSTEM_INCLUDES "${EMBED_SSH_PATH}/include")
101
+ file(WRITE "${EMBED_SSH_PATH}/src/libssh2_config.h" "#define HAVE_WINCNG\n#define LIBSSH2_WINCNG\n#include \"../win32/libssh2_config.h\"")
102
+ set(GIT_SSH 1)
103
+ endif()
85
104
 
86
105
  IF (WIN32 AND WINHTTP)
87
106
  SET(GIT_WINHTTP 1)
@@ -101,8 +120,9 @@ IF (WIN32 AND WINHTTP)
101
120
  LIST(APPEND LIBGIT2_PC_LIBS "-lrpcrt4" "-lcrypt32" "-lole32")
102
121
  ENDIF()
103
122
 
104
- Include(SelectHTTPSBackend)
105
- Include(SelectHashes)
123
+ include(SelectHTTPSBackend)
124
+ include(SelectHashes)
125
+ target_sources(git2internal PRIVATE ${SRC_SHA1})
106
126
 
107
127
  # Specify regular expression implementation
108
128
  FIND_PACKAGE(PCRE)
@@ -177,7 +197,12 @@ ELSE()
177
197
  ENDIF()
178
198
 
179
199
  # Optional external dependency: zlib
180
- IF(NOT USE_BUNDLED_ZLIB)
200
+ SanitizeBool(USE_BUNDLED_ZLIB)
201
+ IF(USE_BUNDLED_ZLIB STREQUAL ON)
202
+ SET(USE_BUNDLED_ZLIB "Bundled")
203
+ ENDIF()
204
+
205
+ IF(USE_BUNDLED_ZLIB STREQUAL "OFF")
181
206
  FIND_PACKAGE(ZLIB)
182
207
  IF(ZLIB_FOUND)
183
208
  LIST(APPEND LIBGIT2_SYSTEM_INCLUDES ${ZLIB_INCLUDE_DIRS})
@@ -192,7 +217,12 @@ IF(NOT USE_BUNDLED_ZLIB)
192
217
  MESSAGE(STATUS "zlib was not found; using bundled 3rd-party sources." )
193
218
  ENDIF()
194
219
  ENDIF()
195
- IF(USE_BUNDLED_ZLIB OR NOT ZLIB_FOUND)
220
+ IF(USE_BUNDLED_ZLIB STREQUAL "Chromium")
221
+ ADD_SUBDIRECTORY("${libgit2_SOURCE_DIR}/deps/chromium-zlib" "${libgit2_BINARY_DIR}/deps/chromium-zlib")
222
+ LIST(APPEND LIBGIT2_INCLUDES "${libgit2_SOURCE_DIR}/deps/chromium-zlib")
223
+ LIST(APPEND LIBGIT2_OBJECTS $<TARGET_OBJECTS:chromium_zlib>)
224
+ ADD_FEATURE_INFO(zlib ON "using (Chromium) bundled zlib")
225
+ ELSEIF(USE_BUNDLED_ZLIB OR NOT ZLIB_FOUND)
196
226
  ADD_SUBDIRECTORY("${libgit2_SOURCE_DIR}/deps/zlib" "${libgit2_BINARY_DIR}/deps/zlib")
197
227
  LIST(APPEND LIBGIT2_INCLUDES "${libgit2_SOURCE_DIR}/deps/zlib")
198
228
  LIST(APPEND LIBGIT2_OBJECTS $<TARGET_OBJECTS:zlib>)
@@ -264,36 +294,43 @@ ELSEIF (HAVE_STRUCT_STAT_ST_MTIME_NSEC)
264
294
  SET(GIT_USE_STAT_MTIME_NSEC 1)
265
295
  ENDIF()
266
296
 
267
- ADD_DEFINITIONS(-D_FILE_OFFSET_BITS=64)
297
+ target_compile_definitions(git2internal PRIVATE _FILE_OFFSET_BITS=64)
268
298
 
269
299
  # Collect sourcefiles
270
- FILE(GLOB SRC_H
300
+ file(GLOB SRC_H
271
301
  "${libgit2_SOURCE_DIR}/include/git2.h"
272
302
  "${libgit2_SOURCE_DIR}/include/git2/*.h"
273
303
  "${libgit2_SOURCE_DIR}/include/git2/sys/*.h")
304
+ list(SORT SRC_H)
305
+ target_sources(git2internal PRIVATE ${SRC_H})
274
306
 
275
307
  # On Windows use specific platform sources
276
- IF (WIN32 AND NOT CYGWIN)
277
- IF(MSVC)
278
- SET(WIN_RC "win32/git2.rc")
279
- ENDIF()
280
-
281
- FILE(GLOB SRC_OS win32/*.c win32/*.h)
282
- ELSEIF (AMIGA)
283
- ADD_DEFINITIONS(-DNO_ADDRINFO -DNO_READDIR_R -DNO_MMAP)
284
- ELSE()
285
- FILE(GLOB SRC_OS unix/*.c unix/*.h)
286
- ENDIF()
308
+ if(WIN32 AND NOT CYGWIN)
309
+ SET(WIN_RC "win32/git2.rc")
310
+
311
+ file(GLOB SRC_OS win32/*.c win32/*.h)
312
+ list(SORT SRC_OS)
313
+ target_sources(git2internal PRIVATE ${SRC_OS})
314
+ elseif(AMIGA)
315
+ target_compile_definitions(git2internal PRIVATE NO_ADDRINFO NO_READDIR_R NO_MMAP)
316
+ else()
317
+ file(GLOB SRC_OS unix/*.c unix/*.h)
318
+ list(SORT SRC_OS)
319
+ target_sources(git2internal PRIVATE ${SRC_OS})
320
+ endif()
287
321
 
288
322
  IF (USE_LEAK_CHECKER STREQUAL "valgrind")
289
- ADD_DEFINITIONS(-DVALGRIND)
323
+ target_compile_definitions(git2internal PRIVATE VALGRIND)
290
324
  ENDIF()
291
325
 
292
- FILE(GLOB SRC_GIT2 *.c *.h
326
+ file(GLOB SRC_GIT2 *.c *.h
293
327
  allocators/*.c allocators/*.h
294
328
  streams/*.c streams/*.h
295
329
  transports/*.c transports/*.h
296
330
  xdiff/*.c xdiff/*.h)
331
+ list(SORT SRC_GIT2)
332
+ target_sources(git2internal PRIVATE ${SRC_GIT2})
333
+
297
334
  IF(APPLE)
298
335
  # The old Secure Transport API has been deprecated in macOS 10.15.
299
336
  SET_SOURCE_FILES_PROPERTIES(streams/stransport.c PROPERTIES COMPILE_FLAGS -Wno-deprecated)
@@ -319,10 +356,6 @@ ENDIF()
319
356
 
320
357
  CONFIGURE_FILE(features.h.in git2/sys/features.h)
321
358
 
322
- SET(LIBGIT2_SOURCES ${SRC_H} ${SRC_GIT2} ${SRC_OS} ${SRC_SSH} ${SRC_SHA1})
323
-
324
- ADD_LIBRARY(git2internal OBJECT ${LIBGIT2_SOURCES})
325
- SET_TARGET_PROPERTIES(git2internal PROPERTIES C_STANDARD 90)
326
359
  IDE_SPLIT_SOURCES(git2internal)
327
360
  LIST(APPEND LIBGIT2_OBJECTS $<TARGET_OBJECTS:git2internal>)
328
361
 
@@ -358,19 +391,19 @@ ENDIF()
358
391
 
359
392
  IDE_SPLIT_SOURCES(git2)
360
393
 
361
- IF (SONAME)
362
- SET_TARGET_PROPERTIES(git2 PROPERTIES VERSION ${LIBGIT2_VERSION_STRING})
363
- SET_TARGET_PROPERTIES(git2 PROPERTIES SOVERSION ${LIBGIT2_SOVERSION})
364
- IF (LIBGIT2_FILENAME)
365
- ADD_DEFINITIONS(-DLIBGIT2_FILENAME=\"${LIBGIT2_FILENAME}\")
366
- SET_TARGET_PROPERTIES(git2 PROPERTIES OUTPUT_NAME ${LIBGIT2_FILENAME})
367
- ELSEIF (DEFINED LIBGIT2_PREFIX)
368
- SET_TARGET_PROPERTIES(git2 PROPERTIES PREFIX "${LIBGIT2_PREFIX}")
369
- ENDIF()
370
- ENDIF()
394
+ if(SONAME)
395
+ set_target_properties(git2 PROPERTIES VERSION ${libgit2_VERSION})
396
+ set_target_properties(git2 PROPERTIES SOVERSION "${libgit2_VERSION_MAJOR}.${libgit2_VERSION_MINOR}")
397
+ if(LIBGIT2_FILENAME)
398
+ target_compile_definitions(git2 PRIVATE LIBGIT2_FILENAME=\"${LIBGIT2_FILENAME}\")
399
+ set_target_properties(git2 PROPERTIES OUTPUT_NAME ${LIBGIT2_FILENAME})
400
+ elseif(DEFINED LIBGIT2_PREFIX)
401
+ set_target_properties(git2 PROPERTIES PREFIX "${LIBGIT2_PREFIX}")
402
+ endif()
403
+ endif()
371
404
 
372
405
  PKG_BUILD_CONFIG(NAME libgit2
373
- VERSION ${LIBGIT2_VERSION_STRING}
406
+ VERSION ${libgit2_VERSION}
374
407
  DESCRIPTION "The git library, take 2"
375
408
  LIBS_SELF git2
376
409
  PRIVATE_LIBS ${LIBGIT2_PC_LIBS}
@@ -6,16 +6,29 @@
6
6
  */
7
7
 
8
8
  #include "alloc.h"
9
+ #include "runtime.h"
9
10
 
11
+ #include "allocators/failalloc.h"
10
12
  #include "allocators/stdalloc.h"
11
- #include "allocators/win32_crtdbg.h"
12
-
13
- git_allocator git__allocator;
13
+ #include "allocators/win32_leakcheck.h"
14
+
15
+ /* Fail any allocation until git_libgit2_init is called. */
16
+ git_allocator git__allocator = {
17
+ git_failalloc_malloc,
18
+ git_failalloc_calloc,
19
+ git_failalloc_strdup,
20
+ git_failalloc_strndup,
21
+ git_failalloc_substrdup,
22
+ git_failalloc_realloc,
23
+ git_failalloc_reallocarray,
24
+ git_failalloc_mallocarray,
25
+ git_failalloc_free
26
+ };
14
27
 
15
28
  static int setup_default_allocator(void)
16
29
  {
17
- #if defined(GIT_MSVC_CRTDBG)
18
- return git_win32_crtdbg_init_allocator(&git__allocator);
30
+ #if defined(GIT_WIN32_LEAKCHECK)
31
+ return git_win32_leakcheck_init_allocator(&git__allocator);
19
32
  #else
20
33
  return git_stdalloc_init_allocator(&git__allocator);
21
34
  #endif
@@ -24,10 +37,10 @@ static int setup_default_allocator(void)
24
37
  int git_allocator_global_init(void)
25
38
  {
26
39
  /*
27
- * We don't want to overwrite any allocator which has been set before
28
- * the init function is called.
40
+ * We don't want to overwrite any allocator which has been set
41
+ * before the init function is called.
29
42
  */
30
- if (git__allocator.gmalloc != NULL)
43
+ if (git__allocator.gmalloc != git_failalloc_malloc)
31
44
  return 0;
32
45
 
33
46
  return setup_default_allocator();
@@ -0,0 +1,92 @@
1
+ /*
2
+ * Copyright (C) the libgit2 contributors. All rights reserved.
3
+ *
4
+ * This file is part of libgit2, distributed under the GNU GPL v2 with
5
+ * a Linking Exception. For full terms see the included COPYING file.
6
+ */
7
+
8
+ #include "failalloc.h"
9
+
10
+ void *git_failalloc_malloc(size_t len, const char *file, int line)
11
+ {
12
+ GIT_UNUSED(len);
13
+ GIT_UNUSED(file);
14
+ GIT_UNUSED(line);
15
+
16
+ return NULL;
17
+ }
18
+
19
+ void *git_failalloc_calloc(size_t nelem, size_t elsize, const char *file, int line)
20
+ {
21
+ GIT_UNUSED(nelem);
22
+ GIT_UNUSED(elsize);
23
+ GIT_UNUSED(file);
24
+ GIT_UNUSED(line);
25
+
26
+ return NULL;
27
+ }
28
+
29
+ char *git_failalloc_strdup(const char *str, const char *file, int line)
30
+ {
31
+ GIT_UNUSED(str);
32
+ GIT_UNUSED(file);
33
+ GIT_UNUSED(line);
34
+
35
+ return NULL;
36
+ }
37
+
38
+ char *git_failalloc_strndup(const char *str, size_t n, const char *file, int line)
39
+ {
40
+ GIT_UNUSED(str);
41
+ GIT_UNUSED(n);
42
+ GIT_UNUSED(file);
43
+ GIT_UNUSED(line);
44
+
45
+ return NULL;
46
+ }
47
+
48
+ char *git_failalloc_substrdup(const char *start, size_t n, const char *file, int line)
49
+ {
50
+ GIT_UNUSED(start);
51
+ GIT_UNUSED(n);
52
+ GIT_UNUSED(file);
53
+ GIT_UNUSED(line);
54
+
55
+ return NULL;
56
+ }
57
+
58
+ void *git_failalloc_realloc(void *ptr, size_t size, const char *file, int line)
59
+ {
60
+ GIT_UNUSED(ptr);
61
+ GIT_UNUSED(size);
62
+ GIT_UNUSED(file);
63
+ GIT_UNUSED(line);
64
+
65
+ return NULL;
66
+ }
67
+
68
+ void *git_failalloc_reallocarray(void *ptr, size_t nelem, size_t elsize, const char *file, int line)
69
+ {
70
+ GIT_UNUSED(ptr);
71
+ GIT_UNUSED(nelem);
72
+ GIT_UNUSED(elsize);
73
+ GIT_UNUSED(file);
74
+ GIT_UNUSED(line);
75
+
76
+ return NULL;
77
+ }
78
+
79
+ void *git_failalloc_mallocarray(size_t nelem, size_t elsize, const char *file, int line)
80
+ {
81
+ GIT_UNUSED(nelem);
82
+ GIT_UNUSED(elsize);
83
+ GIT_UNUSED(file);
84
+ GIT_UNUSED(line);
85
+
86
+ return NULL;
87
+ }
88
+
89
+ void git_failalloc_free(void *ptr)
90
+ {
91
+ GIT_UNUSED(ptr);
92
+ }