rugged 1.0.1 → 1.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (349) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +1 -0
  3. data/README.md +1 -1
  4. data/ext/rugged/rugged.c +7 -4
  5. data/ext/rugged/rugged_commit.c +1 -1
  6. data/ext/rugged/rugged_object.c +1 -1
  7. data/ext/rugged/rugged_repo.c +3 -3
  8. data/lib/rugged/commit.rb +16 -2
  9. data/lib/rugged/repository.rb +2 -2
  10. data/lib/rugged/version.rb +1 -1
  11. data/vendor/libgit2/CMakeLists.txt +41 -74
  12. data/vendor/libgit2/COPYING +109 -1
  13. data/vendor/libgit2/cmake/{Modules/AddCFlagIfSupported.cmake → AddCFlagIfSupported.cmake} +0 -0
  14. data/vendor/libgit2/cmake/{Modules/EnableWarnings.cmake → EnableWarnings.cmake} +0 -0
  15. data/vendor/libgit2/cmake/{Modules/FindCoreFoundation.cmake → FindCoreFoundation.cmake} +0 -0
  16. data/vendor/libgit2/cmake/{Modules/FindGSSAPI.cmake → FindGSSAPI.cmake} +0 -0
  17. data/vendor/libgit2/cmake/{Modules/FindGSSFramework.cmake → FindGSSFramework.cmake} +0 -0
  18. data/vendor/libgit2/cmake/{Modules/FindHTTP_Parser.cmake → FindHTTP_Parser.cmake} +0 -0
  19. data/vendor/libgit2/cmake/{Modules/FindIconv.cmake → FindIconv.cmake} +0 -0
  20. data/vendor/libgit2/cmake/FindLibSSH2.cmake +13 -0
  21. data/vendor/libgit2/cmake/{Modules/FindPCRE.cmake → FindPCRE.cmake} +0 -0
  22. data/vendor/libgit2/cmake/{Modules/FindPCRE2.cmake → FindPCRE2.cmake} +0 -0
  23. data/vendor/libgit2/cmake/{Modules/FindPkgLibraries.cmake → FindPkgLibraries.cmake} +0 -0
  24. data/vendor/libgit2/cmake/{Modules/FindSecurity.cmake → FindSecurity.cmake} +0 -0
  25. data/vendor/libgit2/cmake/{Modules/FindStatNsec.cmake → FindStatNsec.cmake} +0 -0
  26. data/vendor/libgit2/cmake/Findfutimens.cmake +14 -0
  27. data/vendor/libgit2/cmake/{Modules/FindmbedTLS.cmake → FindmbedTLS.cmake} +0 -0
  28. data/vendor/libgit2/cmake/{Modules/IdeSplitSources.cmake → IdeSplitSources.cmake} +0 -0
  29. data/vendor/libgit2/cmake/{Modules/PkgBuildConfig.cmake → PkgBuildConfig.cmake} +0 -0
  30. data/vendor/libgit2/cmake/{Modules/SanitizeBool.cmake → SanitizeBool.cmake} +0 -0
  31. data/vendor/libgit2/cmake/{Modules/SelectGSSAPI.cmake → SelectGSSAPI.cmake} +18 -26
  32. data/vendor/libgit2/cmake/{Modules/SelectHTTPSBackend.cmake → SelectHTTPSBackend.cmake} +29 -32
  33. data/vendor/libgit2/cmake/{Modules/SelectHashes.cmake → SelectHashes.cmake} +21 -28
  34. data/vendor/libgit2/deps/chromium-zlib/CMakeLists.txt +101 -0
  35. data/vendor/libgit2/deps/http-parser/CMakeLists.txt +4 -3
  36. data/vendor/libgit2/deps/ntlmclient/CMakeLists.txt +24 -10
  37. data/vendor/libgit2/deps/ntlmclient/compat.h +0 -27
  38. data/vendor/libgit2/deps/ntlmclient/crypt.h +14 -9
  39. data/vendor/libgit2/deps/ntlmclient/crypt_commoncrypto.c +20 -20
  40. data/vendor/libgit2/deps/ntlmclient/crypt_commoncrypto.h +3 -3
  41. data/vendor/libgit2/deps/ntlmclient/crypt_mbedtls.c +37 -36
  42. data/vendor/libgit2/deps/ntlmclient/crypt_mbedtls.h +4 -3
  43. data/vendor/libgit2/deps/ntlmclient/crypt_openssl.c +178 -51
  44. data/vendor/libgit2/deps/ntlmclient/crypt_openssl.h +74 -5
  45. data/vendor/libgit2/deps/ntlmclient/ntlm.c +164 -135
  46. data/vendor/libgit2/deps/ntlmclient/ntlm.h +13 -9
  47. data/vendor/libgit2/deps/ntlmclient/ntlmclient.h +16 -3
  48. data/vendor/libgit2/deps/ntlmclient/unicode.h +10 -4
  49. data/vendor/libgit2/deps/ntlmclient/unicode_builtin.c +16 -27
  50. data/vendor/libgit2/deps/ntlmclient/unicode_builtin.h +20 -0
  51. data/vendor/libgit2/deps/ntlmclient/unicode_iconv.c +28 -52
  52. data/vendor/libgit2/deps/ntlmclient/unicode_iconv.h +22 -0
  53. data/vendor/libgit2/deps/ntlmclient/util.c +15 -1
  54. data/vendor/libgit2/deps/ntlmclient/util.h +2 -1
  55. data/vendor/libgit2/deps/pcre/LICENCE +93 -0
  56. data/vendor/libgit2/deps/pcre/pcre.h +2 -2
  57. data/vendor/libgit2/deps/pcre/pcre_compile.c +29 -17
  58. data/vendor/libgit2/deps/pcre/pcre_jit_compile.c +4 -4
  59. data/vendor/libgit2/deps/pcre/pcreposix.c +2 -3
  60. data/vendor/libgit2/deps/zlib/CMakeLists.txt +6 -5
  61. data/vendor/libgit2/deps/zlib/deflate.c +1 -0
  62. data/vendor/libgit2/include/git2/annotated_commit.h +1 -1
  63. data/vendor/libgit2/include/git2/apply.h +2 -0
  64. data/vendor/libgit2/include/git2/attr.h +95 -0
  65. data/vendor/libgit2/include/git2/blame.h +95 -42
  66. data/vendor/libgit2/include/git2/blob.h +37 -3
  67. data/vendor/libgit2/include/git2/branch.h +25 -0
  68. data/vendor/libgit2/include/git2/cert.h +42 -5
  69. data/vendor/libgit2/include/git2/checkout.h +28 -12
  70. data/vendor/libgit2/include/git2/clone.h +1 -1
  71. data/vendor/libgit2/include/git2/commit.h +35 -19
  72. data/vendor/libgit2/include/git2/common.h +51 -6
  73. data/vendor/libgit2/include/git2/config.h +1 -1
  74. data/vendor/libgit2/include/git2/deprecated.h +368 -8
  75. data/vendor/libgit2/include/git2/diff.h +34 -113
  76. data/vendor/libgit2/include/git2/email.h +127 -0
  77. data/vendor/libgit2/include/git2/errors.h +8 -7
  78. data/vendor/libgit2/include/git2/filter.h +63 -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/notes.h +2 -2
  83. data/vendor/libgit2/include/git2/odb.h +44 -20
  84. data/vendor/libgit2/include/git2/oidarray.h +5 -8
  85. data/vendor/libgit2/include/git2/pack.h +1 -1
  86. data/vendor/libgit2/include/git2/patch.h +8 -0
  87. data/vendor/libgit2/include/git2/rebase.h +25 -1
  88. data/vendor/libgit2/include/git2/refs.h +9 -5
  89. data/vendor/libgit2/include/git2/remote.h +62 -9
  90. data/vendor/libgit2/include/git2/repository.h +107 -62
  91. data/vendor/libgit2/include/git2/revparse.h +5 -5
  92. data/vendor/libgit2/include/git2/stash.h +1 -1
  93. data/vendor/libgit2/include/git2/status.h +115 -59
  94. data/vendor/libgit2/include/git2/stdint.h +3 -3
  95. data/vendor/libgit2/include/git2/strarray.h +6 -10
  96. data/vendor/libgit2/include/git2/submodule.h +9 -0
  97. data/vendor/libgit2/include/git2/sys/commit_graph.h +174 -0
  98. data/vendor/libgit2/include/git2/sys/email.h +45 -0
  99. data/vendor/libgit2/include/git2/sys/filter.h +49 -28
  100. data/vendor/libgit2/include/git2/sys/midx.h +74 -0
  101. data/vendor/libgit2/include/git2/sys/odb_backend.h +7 -0
  102. data/vendor/libgit2/include/git2/sys/transport.h +1 -0
  103. data/vendor/libgit2/include/git2/tag.h +12 -0
  104. data/vendor/libgit2/include/git2/transport.h +1 -1
  105. data/vendor/libgit2/include/git2/tree.h +2 -14
  106. data/vendor/libgit2/include/git2/types.h +9 -0
  107. data/vendor/libgit2/include/git2/version.h +4 -4
  108. data/vendor/libgit2/include/git2/worktree.h +1 -0
  109. data/vendor/libgit2/include/git2.h +1 -0
  110. data/vendor/libgit2/src/CMakeLists.txt +84 -44
  111. data/vendor/libgit2/src/alloc.c +21 -8
  112. data/vendor/libgit2/src/allocators/failalloc.c +92 -0
  113. data/vendor/libgit2/src/allocators/failalloc.h +23 -0
  114. data/vendor/libgit2/src/allocators/stdalloc.c +41 -10
  115. data/vendor/libgit2/src/allocators/win32_leakcheck.c +118 -0
  116. data/vendor/libgit2/src/allocators/{win32_crtdbg.h → win32_leakcheck.h} +3 -3
  117. data/vendor/libgit2/src/annotated_commit.c +21 -9
  118. data/vendor/libgit2/src/apply.c +21 -8
  119. data/vendor/libgit2/src/array.h +11 -11
  120. data/vendor/libgit2/src/assert_safe.h +58 -0
  121. data/vendor/libgit2/src/attr.c +192 -70
  122. data/vendor/libgit2/src/attr_file.c +99 -41
  123. data/vendor/libgit2/src/attr_file.h +32 -11
  124. data/vendor/libgit2/src/attrcache.c +44 -40
  125. data/vendor/libgit2/src/attrcache.h +4 -5
  126. data/vendor/libgit2/src/blame.c +32 -19
  127. data/vendor/libgit2/src/blame_git.c +7 -4
  128. data/vendor/libgit2/src/blob.c +60 -32
  129. data/vendor/libgit2/src/branch.c +87 -37
  130. data/vendor/libgit2/src/buffer.c +349 -29
  131. data/vendor/libgit2/src/buffer.h +154 -2
  132. data/vendor/libgit2/src/cache.c +3 -24
  133. data/vendor/libgit2/src/cache.h +7 -7
  134. data/vendor/libgit2/src/cc-compat.h +10 -8
  135. data/vendor/libgit2/src/checkout.c +103 -105
  136. data/vendor/libgit2/src/cherrypick.c +8 -2
  137. data/vendor/libgit2/src/clone.c +105 -30
  138. data/vendor/libgit2/src/commit.c +41 -28
  139. data/vendor/libgit2/src/commit_graph.c +1209 -0
  140. data/vendor/libgit2/src/commit_graph.h +162 -0
  141. data/vendor/libgit2/src/commit_list.c +46 -0
  142. data/vendor/libgit2/src/commit_list.h +2 -0
  143. data/vendor/libgit2/src/common.h +26 -2
  144. data/vendor/libgit2/src/config.c +41 -23
  145. data/vendor/libgit2/src/config_cache.c +9 -4
  146. data/vendor/libgit2/src/config_entries.c +35 -27
  147. data/vendor/libgit2/src/config_file.c +17 -9
  148. data/vendor/libgit2/src/config_parse.c +6 -8
  149. data/vendor/libgit2/src/config_snapshot.c +2 -1
  150. data/vendor/libgit2/src/crlf.c +16 -6
  151. data/vendor/libgit2/src/date.c +4 -3
  152. data/vendor/libgit2/src/delta.c +1 -1
  153. data/vendor/libgit2/src/describe.c +12 -5
  154. data/vendor/libgit2/src/diff.c +55 -183
  155. data/vendor/libgit2/src/diff_driver.c +21 -17
  156. data/vendor/libgit2/src/diff_file.c +5 -7
  157. data/vendor/libgit2/src/diff_generate.c +56 -28
  158. data/vendor/libgit2/src/diff_parse.c +2 -3
  159. data/vendor/libgit2/src/diff_print.c +81 -65
  160. data/vendor/libgit2/src/diff_stats.c +19 -16
  161. data/vendor/libgit2/src/diff_tform.c +13 -13
  162. data/vendor/libgit2/src/diff_xdiff.c +4 -2
  163. data/vendor/libgit2/src/diff_xdiff.h +1 -1
  164. data/vendor/libgit2/src/email.c +299 -0
  165. data/vendor/libgit2/src/email.h +25 -0
  166. data/vendor/libgit2/src/errors.c +26 -19
  167. data/vendor/libgit2/src/features.h.in +5 -1
  168. data/vendor/libgit2/src/fetch.c +7 -2
  169. data/vendor/libgit2/src/fetchhead.c +8 -4
  170. data/vendor/libgit2/src/filebuf.c +9 -7
  171. data/vendor/libgit2/src/filter.c +215 -113
  172. data/vendor/libgit2/src/filter.h +24 -5
  173. data/vendor/libgit2/src/futils.c +8 -8
  174. data/vendor/libgit2/src/futils.h +4 -4
  175. data/vendor/libgit2/src/graph.c +64 -9
  176. data/vendor/libgit2/src/hash/sha1/collisiondetect.c +3 -3
  177. data/vendor/libgit2/src/hash/sha1/common_crypto.c +3 -3
  178. data/vendor/libgit2/src/hash/sha1/generic.h +1 -1
  179. data/vendor/libgit2/src/hash/sha1/mbedtls.c +12 -12
  180. data/vendor/libgit2/src/hash/sha1/openssl.c +3 -3
  181. data/vendor/libgit2/src/hash/sha1/sha1dc/sha1.c +8 -10
  182. data/vendor/libgit2/src/hash/sha1/win32.c +15 -11
  183. data/vendor/libgit2/src/hash.c +16 -13
  184. data/vendor/libgit2/src/hash.h +1 -1
  185. data/vendor/libgit2/src/hashsig.c +23 -10
  186. data/vendor/libgit2/src/ident.c +13 -3
  187. data/vendor/libgit2/src/idxmap.c +0 -22
  188. data/vendor/libgit2/src/ignore.c +33 -17
  189. data/vendor/libgit2/src/index.c +124 -82
  190. data/vendor/libgit2/src/index.h +1 -1
  191. data/vendor/libgit2/src/indexer.c +95 -37
  192. data/vendor/libgit2/src/integer.h +79 -2
  193. data/vendor/libgit2/src/iterator.c +40 -28
  194. data/vendor/libgit2/src/iterator.h +1 -1
  195. data/vendor/libgit2/src/khash.h +2 -11
  196. data/vendor/libgit2/src/{settings.c → libgit2.c} +148 -49
  197. data/vendor/libgit2/src/libgit2.h +15 -0
  198. data/vendor/libgit2/src/mailmap.c +23 -10
  199. data/vendor/libgit2/src/map.h +3 -3
  200. data/vendor/libgit2/src/merge.c +95 -43
  201. data/vendor/libgit2/src/merge.h +2 -1
  202. data/vendor/libgit2/src/merge_driver.c +19 -13
  203. data/vendor/libgit2/src/merge_file.c +15 -9
  204. data/vendor/libgit2/src/message.c +3 -1
  205. data/vendor/libgit2/src/midx.c +879 -0
  206. data/vendor/libgit2/src/midx.h +110 -0
  207. data/vendor/libgit2/src/mwindow.c +214 -95
  208. data/vendor/libgit2/src/mwindow.h +3 -3
  209. data/vendor/libgit2/src/net.c +133 -4
  210. data/vendor/libgit2/src/net.h +16 -2
  211. data/vendor/libgit2/src/netops.c +6 -4
  212. data/vendor/libgit2/src/netops.h +2 -2
  213. data/vendor/libgit2/src/notes.c +40 -40
  214. data/vendor/libgit2/src/object.c +24 -15
  215. data/vendor/libgit2/src/odb.c +298 -57
  216. data/vendor/libgit2/src/odb.h +16 -2
  217. data/vendor/libgit2/src/odb_loose.c +31 -21
  218. data/vendor/libgit2/src/odb_mempack.c +3 -1
  219. data/vendor/libgit2/src/odb_pack.c +391 -114
  220. data/vendor/libgit2/src/oid.c +7 -4
  221. data/vendor/libgit2/src/oidarray.c +10 -1
  222. data/vendor/libgit2/src/pack-objects.c +83 -69
  223. data/vendor/libgit2/src/pack.c +383 -150
  224. data/vendor/libgit2/src/pack.h +44 -9
  225. data/vendor/libgit2/src/patch.c +14 -7
  226. data/vendor/libgit2/src/patch_generate.c +3 -5
  227. data/vendor/libgit2/src/patch_parse.c +6 -3
  228. data/vendor/libgit2/src/path.c +103 -58
  229. data/vendor/libgit2/src/path.h +80 -7
  230. data/vendor/libgit2/src/pathspec.c +12 -11
  231. data/vendor/libgit2/src/pool.c +34 -22
  232. data/vendor/libgit2/src/pool.h +9 -1
  233. data/vendor/libgit2/src/posix.c +43 -12
  234. data/vendor/libgit2/src/posix.h +9 -0
  235. data/vendor/libgit2/src/proxy.c +2 -0
  236. data/vendor/libgit2/src/push.c +2 -0
  237. data/vendor/libgit2/src/reader.c +10 -6
  238. data/vendor/libgit2/src/rebase.c +95 -49
  239. data/vendor/libgit2/src/refdb.c +165 -13
  240. data/vendor/libgit2/src/refdb.h +69 -0
  241. data/vendor/libgit2/src/refdb_fs.c +145 -153
  242. data/vendor/libgit2/src/reflog.c +21 -20
  243. data/vendor/libgit2/src/refs.c +153 -233
  244. data/vendor/libgit2/src/refs.h +2 -20
  245. data/vendor/libgit2/src/refspec.c +81 -45
  246. data/vendor/libgit2/src/regexp.c +2 -2
  247. data/vendor/libgit2/src/remote.c +320 -122
  248. data/vendor/libgit2/src/remote.h +2 -1
  249. data/vendor/libgit2/src/repository.c +476 -203
  250. data/vendor/libgit2/src/repository.h +27 -29
  251. data/vendor/libgit2/src/reset.c +8 -7
  252. data/vendor/libgit2/src/revert.c +8 -2
  253. data/vendor/libgit2/src/revparse.c +23 -17
  254. data/vendor/libgit2/src/revwalk.c +35 -20
  255. data/vendor/libgit2/src/runtime.c +162 -0
  256. data/vendor/libgit2/src/runtime.h +62 -0
  257. data/vendor/libgit2/src/{refdb_fs.h → settings.h} +3 -11
  258. data/vendor/libgit2/src/signature.c +6 -5
  259. data/vendor/libgit2/src/sortedcache.c +2 -3
  260. data/vendor/libgit2/src/sortedcache.h +10 -8
  261. data/vendor/libgit2/src/stash.c +6 -2
  262. data/vendor/libgit2/src/status.c +9 -4
  263. data/vendor/libgit2/src/strarray.c +64 -0
  264. data/vendor/libgit2/src/streams/mbedtls.c +14 -17
  265. data/vendor/libgit2/src/streams/mbedtls.h +1 -1
  266. data/vendor/libgit2/src/streams/openssl.c +113 -207
  267. data/vendor/libgit2/src/streams/openssl.h +9 -1
  268. data/vendor/libgit2/src/streams/openssl_dynamic.c +309 -0
  269. data/vendor/libgit2/src/streams/openssl_dynamic.h +348 -0
  270. data/vendor/libgit2/src/streams/openssl_legacy.c +203 -0
  271. data/vendor/libgit2/src/streams/openssl_legacy.h +63 -0
  272. data/vendor/libgit2/src/streams/registry.c +10 -9
  273. data/vendor/libgit2/src/streams/socket.c +6 -2
  274. data/vendor/libgit2/src/streams/stransport.c +6 -3
  275. data/vendor/libgit2/src/streams/tls.c +5 -3
  276. data/vendor/libgit2/src/submodule.c +134 -66
  277. data/vendor/libgit2/src/submodule.h +9 -9
  278. data/vendor/libgit2/src/sysdir.c +8 -26
  279. data/vendor/libgit2/src/sysdir.h +0 -11
  280. data/vendor/libgit2/src/tag.c +49 -11
  281. data/vendor/libgit2/src/thread.c +140 -0
  282. data/vendor/libgit2/src/thread.h +479 -0
  283. data/vendor/libgit2/src/threadstate.c +84 -0
  284. data/vendor/libgit2/src/threadstate.h +24 -0
  285. data/vendor/libgit2/src/trace.c +2 -2
  286. data/vendor/libgit2/src/trace.h +17 -13
  287. data/vendor/libgit2/src/trailer.c +1 -1
  288. data/vendor/libgit2/src/transaction.c +21 -9
  289. data/vendor/libgit2/src/transport.c +3 -3
  290. data/vendor/libgit2/src/transports/auth.c +1 -1
  291. data/vendor/libgit2/src/transports/auth_negotiate.c +11 -4
  292. data/vendor/libgit2/src/transports/auth_ntlm.c +10 -6
  293. data/vendor/libgit2/src/transports/credential.c +17 -7
  294. data/vendor/libgit2/src/transports/credential_helpers.c +2 -0
  295. data/vendor/libgit2/src/transports/git.c +1 -3
  296. data/vendor/libgit2/src/transports/http.c +19 -17
  297. data/vendor/libgit2/src/transports/http.h +1 -0
  298. data/vendor/libgit2/src/transports/httpclient.c +68 -38
  299. data/vendor/libgit2/src/transports/httpclient.h +1 -1
  300. data/vendor/libgit2/src/transports/local.c +5 -5
  301. data/vendor/libgit2/src/transports/smart.c +14 -9
  302. data/vendor/libgit2/src/transports/smart.h +1 -1
  303. data/vendor/libgit2/src/transports/smart_protocol.c +11 -5
  304. data/vendor/libgit2/src/transports/ssh.c +55 -21
  305. data/vendor/libgit2/src/transports/winhttp.c +157 -89
  306. data/vendor/libgit2/src/tree.c +100 -77
  307. data/vendor/libgit2/src/tree.h +1 -0
  308. data/vendor/libgit2/src/tsort.c +0 -2
  309. data/vendor/libgit2/src/unix/map.c +3 -1
  310. data/vendor/libgit2/src/unix/posix.h +16 -1
  311. data/vendor/libgit2/src/unix/pthread.h +2 -1
  312. data/vendor/libgit2/src/utf8.c +150 -0
  313. data/vendor/libgit2/src/utf8.h +52 -0
  314. data/vendor/libgit2/src/util.c +75 -184
  315. data/vendor/libgit2/src/util.h +34 -40
  316. data/vendor/libgit2/src/vector.c +23 -19
  317. data/vendor/libgit2/src/vector.h +4 -2
  318. data/vendor/libgit2/src/win32/findfile.c +5 -3
  319. data/vendor/libgit2/src/win32/git2.rc +18 -3
  320. data/vendor/libgit2/src/win32/map.c +1 -1
  321. data/vendor/libgit2/src/win32/msvc-compat.h +9 -1
  322. data/vendor/libgit2/src/win32/path_w32.c +23 -25
  323. data/vendor/libgit2/src/win32/path_w32.h +0 -1
  324. data/vendor/libgit2/src/win32/posix.h +6 -6
  325. data/vendor/libgit2/src/win32/posix_w32.c +86 -7
  326. data/vendor/libgit2/src/win32/precompiled.h +0 -1
  327. data/vendor/libgit2/src/win32/reparse.h +4 -4
  328. data/vendor/libgit2/src/win32/thread.c +24 -15
  329. data/vendor/libgit2/src/win32/thread.h +1 -1
  330. data/vendor/libgit2/src/win32/w32_buffer.c +3 -3
  331. data/vendor/libgit2/src/win32/w32_common.h +18 -9
  332. data/vendor/libgit2/src/win32/{w32_crtdbg_stacktrace.c → w32_leakcheck.c} +269 -33
  333. data/vendor/libgit2/src/win32/w32_leakcheck.h +222 -0
  334. data/vendor/libgit2/src/win32/w32_util.h +6 -6
  335. data/vendor/libgit2/src/worktree.c +36 -14
  336. data/vendor/libgit2/src/zstream.c +1 -1
  337. metadata +65 -42
  338. data/vendor/libgit2/cmake/Modules/CheckPrototypeDefinition.c.in +0 -29
  339. data/vendor/libgit2/cmake/Modules/CheckPrototypeDefinition.cmake +0 -96
  340. data/vendor/libgit2/src/allocators/win32_crtdbg.c +0 -118
  341. data/vendor/libgit2/src/buf_text.c +0 -316
  342. data/vendor/libgit2/src/buf_text.h +0 -122
  343. data/vendor/libgit2/src/global.c +0 -361
  344. data/vendor/libgit2/src/global.h +0 -41
  345. data/vendor/libgit2/src/thread-utils.c +0 -58
  346. data/vendor/libgit2/src/thread-utils.h +0 -246
  347. data/vendor/libgit2/src/win32/w32_crtdbg_stacktrace.h +0 -127
  348. data/vendor/libgit2/src/win32/w32_stack.c +0 -188
  349. data/vendor/libgit2/src/win32/w32_stack.h +0 -140
@@ -70,7 +70,7 @@ GIT_EXTERN(int) git_odb_open(git_odb **out, const char *objects_dir);
70
70
  *
71
71
  * @param odb database to add the backend to
72
72
  * @param path path to the objects folder for the alternate
73
- * @return 0 on success; error code otherwise
73
+ * @return 0 on success, error code otherwise
74
74
  */
75
75
  GIT_EXTERN(int) git_odb_add_disk_alternate(git_odb *odb, const char *path);
76
76
 
@@ -94,9 +94,8 @@ GIT_EXTERN(void) git_odb_free(git_odb *db);
94
94
  * @param out pointer where to store the read object
95
95
  * @param db database to search for the object in.
96
96
  * @param id identity of the object to read.
97
- * @return
98
- * - 0 if the object was read;
99
- * - GIT_ENOTFOUND if the object is not in the database.
97
+ * @return 0 if the object was read, GIT_ENOTFOUND if the object is
98
+ * not in the database.
100
99
  */
101
100
  GIT_EXTERN(int) git_odb_read(git_odb_object **out, git_odb *db, const git_oid *id);
102
101
 
@@ -122,10 +121,9 @@ GIT_EXTERN(int) git_odb_read(git_odb_object **out, git_odb *db, const git_oid *i
122
121
  * @param db database to search for the object in.
123
122
  * @param short_id a prefix of the id of the object to read.
124
123
  * @param len the length of the prefix
125
- * @return
126
- * - 0 if the object was read;
127
- * - GIT_ENOTFOUND if the object is not in the database.
128
- * - GIT_EAMBIGUOUS if the prefix is ambiguous (several objects match the prefix)
124
+ * @return 0 if the object was read, GIT_ENOTFOUND if the object is not in the
125
+ * database. GIT_EAMBIGUOUS if the prefix is ambiguous
126
+ * (several objects match the prefix)
129
127
  */
130
128
  GIT_EXTERN(int) git_odb_read_prefix(git_odb_object **out, git_odb *db, const git_oid *short_id, size_t len);
131
129
 
@@ -143,9 +141,8 @@ GIT_EXTERN(int) git_odb_read_prefix(git_odb_object **out, git_odb *db, const git
143
141
  * @param type_out pointer where to store the type
144
142
  * @param db database to search for the object in.
145
143
  * @param id identity of the object to read.
146
- * @return
147
- * - 0 if the object was read;
148
- * - GIT_ENOTFOUND if the object is not in the database.
144
+ * @return 0 if the object was read, GIT_ENOTFOUND if the object is not
145
+ * in the database.
149
146
  */
150
147
  GIT_EXTERN(int) git_odb_read_header(size_t *len_out, git_object_t *type_out, git_odb *db, const git_oid *id);
151
148
 
@@ -154,9 +151,7 @@ GIT_EXTERN(int) git_odb_read_header(size_t *len_out, git_object_t *type_out, git
154
151
  *
155
152
  * @param db database to be searched for the given object.
156
153
  * @param id the object to search for.
157
- * @return
158
- * - 1, if the object was found
159
- * - 0, otherwise
154
+ * @return 1 if the object was found, 0 otherwise
160
155
  */
161
156
  GIT_EXTERN(int) git_odb_exists(git_odb *db, const git_oid *id);
162
157
 
@@ -305,7 +300,7 @@ GIT_EXTERN(int) git_odb_open_wstream(git_odb_stream **out, git_odb *db, git_obje
305
300
  * @param stream the stream
306
301
  * @param buffer the data to write
307
302
  * @param len the buffer's length
308
- * @return 0 if the write succeeded; error code otherwise
303
+ * @return 0 if the write succeeded, error code otherwise
309
304
  */
310
305
  GIT_EXTERN(int) git_odb_stream_write(git_odb_stream *stream, const char *buffer, size_t len);
311
306
 
@@ -320,7 +315,7 @@ GIT_EXTERN(int) git_odb_stream_write(git_odb_stream *stream, const char *buffer,
320
315
  *
321
316
  * @param out pointer to store the resulting object's id
322
317
  * @param stream the stream
323
- * @return 0 on success; an error code otherwise
318
+ * @return 0 on success, an error code otherwise
324
319
  */
325
320
  GIT_EXTERN(int) git_odb_stream_finalize_write(git_oid *out, git_odb_stream *stream);
326
321
 
@@ -362,7 +357,7 @@ GIT_EXTERN(void) git_odb_stream_free(git_odb_stream *stream);
362
357
  * @param type pointer where to store the type of the object
363
358
  * @param db object database where the stream will read from
364
359
  * @param oid oid of the object the stream will read from
365
- * @return 0 if the stream was created; error code otherwise
360
+ * @return 0 if the stream was created, error code otherwise
366
361
  */
367
362
  GIT_EXTERN(int) git_odb_open_rstream(
368
363
  git_odb_stream **out,
@@ -395,6 +390,20 @@ GIT_EXTERN(int) git_odb_write_pack(
395
390
  git_indexer_progress_cb progress_cb,
396
391
  void *progress_payload);
397
392
 
393
+ /**
394
+ * Write a `multi-pack-index` file from all the `.pack` files in the ODB.
395
+ *
396
+ * If the ODB layer understands pack files, then this will create a file called
397
+ * `multi-pack-index` next to the `.pack` and `.idx` files, which will contain
398
+ * an index of all objects stored in `.pack` files. This will allow for
399
+ * O(log n) lookup for n objects (regardless of how many packfiles there
400
+ * exist).
401
+ *
402
+ * @param db object database where the `multi-pack-index` file will be written.
403
+ */
404
+ GIT_EXTERN(int) git_odb_write_multi_pack_index(
405
+ git_odb *db);
406
+
398
407
  /**
399
408
  * Determine the object-ID (sha1 hash) of a data buffer
400
409
  *
@@ -501,7 +510,7 @@ GIT_EXTERN(git_object_t) git_odb_object_type(git_odb_object *object);
501
510
  * @param odb database to add the backend to
502
511
  * @param backend pointer to a git_odb_backend instance
503
512
  * @param priority Value for ordering the backends queue
504
- * @return 0 on success; error code otherwise
513
+ * @return 0 on success, error code otherwise
505
514
  */
506
515
  GIT_EXTERN(int) git_odb_add_backend(git_odb *odb, git_odb_backend *backend, int priority);
507
516
 
@@ -522,7 +531,7 @@ GIT_EXTERN(int) git_odb_add_backend(git_odb *odb, git_odb_backend *backend, int
522
531
  * @param odb database to add the backend to
523
532
  * @param backend pointer to a git_odb_backend instance
524
533
  * @param priority Value for ordering the backends queue
525
- * @return 0 on success; error code otherwise
534
+ * @return 0 on success, error code otherwise
526
535
  */
527
536
  GIT_EXTERN(int) git_odb_add_alternate(git_odb *odb, git_odb_backend *backend, int priority);
528
537
 
@@ -540,10 +549,25 @@ GIT_EXTERN(size_t) git_odb_num_backends(git_odb *odb);
540
549
  * @param out output pointer to ODB backend at pos
541
550
  * @param odb object database
542
551
  * @param pos index into object database backend list
543
- * @return 0 on success; GIT_ENOTFOUND if pos is invalid; other errors < 0
552
+ * @return 0 on success, GIT_ENOTFOUND if pos is invalid, other errors < 0
544
553
  */
545
554
  GIT_EXTERN(int) git_odb_get_backend(git_odb_backend **out, git_odb *odb, size_t pos);
546
555
 
556
+ /**
557
+ * Set the git commit-graph for the ODB.
558
+ *
559
+ * After a successfull call, the ownership of the cgraph parameter will be
560
+ * transferred to libgit2, and the caller should not free it.
561
+ *
562
+ * The commit-graph can also be unset by explicitly passing NULL as the cgraph
563
+ * parameter.
564
+ *
565
+ * @param odb object database
566
+ * @param cgraph the git commit-graph
567
+ * @return 0 on success; error code otherwise
568
+ */
569
+ GIT_EXTERN(int) git_odb_set_commit_graph(git_odb *odb, git_commit_graph *cgraph);
570
+
547
571
  /** @} */
548
572
  GIT_END_DECL
549
573
  #endif
@@ -19,19 +19,16 @@ typedef struct git_oidarray {
19
19
  } git_oidarray;
20
20
 
21
21
  /**
22
- * Free the OID array
23
- *
24
- * This method must (and must only) be called on `git_oidarray`
25
- * objects where the array is allocated by the library. Not doing so,
26
- * will result in a memory leak.
22
+ * Free the object IDs contained in an oid_array. This method should
23
+ * be called on `git_oidarray` objects that were provided by the
24
+ * library. Not doing so will result in a memory leak.
27
25
  *
28
26
  * This does not free the `git_oidarray` itself, since the library will
29
- * never allocate that object directly itself (it is more commonly embedded
30
- * inside another struct or created on the stack).
27
+ * never allocate that object directly itself.
31
28
  *
32
29
  * @param array git_oidarray from which to free oid data
33
30
  */
34
- GIT_EXTERN(void) git_oidarray_free(git_oidarray *array);
31
+ GIT_EXTERN(void) git_oidarray_dispose(git_oidarray *array);
35
32
 
36
33
  /** @} */
37
34
  GIT_END_DECL
@@ -155,7 +155,7 @@ GIT_EXTERN(int) git_packbuilder_write_buf(git_buf *buf, git_packbuilder *pb);
155
155
  * Write the new pack and corresponding index file to path.
156
156
  *
157
157
  * @param pb The packbuilder
158
- * @param path to the directory where the packfile and index should be stored
158
+ * @param path Path to the directory where the packfile and index should be stored, or NULL for default location
159
159
  * @param mode permissions to use creating a packfile or 0 for defaults
160
160
  * @param progress_cb function to call with progress information from the indexer (optional)
161
161
  * @param progress_cb_payload payload for the progress callback (optional)
@@ -28,6 +28,14 @@ GIT_BEGIN_DECL
28
28
  */
29
29
  typedef struct git_patch git_patch;
30
30
 
31
+ /**
32
+ * Get the repository associated with this patch. May be NULL.
33
+ *
34
+ * @param patch the patch
35
+ * @return a pointer to the repository
36
+ */
37
+ GIT_EXTERN(git_repository *) git_patch_owner(const git_patch *patch);
38
+
31
39
  /**
32
40
  * Return a patch for an entry in the diff list.
33
41
  *
@@ -74,14 +74,38 @@ typedef struct {
74
74
  */
75
75
  git_checkout_options checkout_options;
76
76
 
77
+ /**
78
+ * Optional callback that allows users to override commit
79
+ * creation in `git_rebase_commit`. If specified, users can
80
+ * create their own commit and provide the commit ID, which
81
+ * may be useful for signing commits or otherwise customizing
82
+ * the commit creation.
83
+ *
84
+ * If this callback returns `GIT_PASSTHROUGH`, then
85
+ * `git_rebase_commit` will continue to create the commit.
86
+ */
87
+ git_commit_create_cb commit_create_cb;
88
+
89
+ #ifdef GIT_DEPRECATE_HARD
90
+ void *reserved;
91
+ #else
77
92
  /**
78
93
  * If provided, this will be called with the commit content, allowing
79
94
  * a signature to be added to the rebase commit. Can be skipped with
80
95
  * GIT_PASSTHROUGH. If GIT_PASSTHROUGH is returned, a commit will be made
81
96
  * without a signature.
97
+ *
82
98
  * This field is only used when performing git_rebase_commit.
99
+ *
100
+ * This callback is not invoked if a `git_commit_create_cb` is
101
+ * specified.
102
+ *
103
+ * This callback is deprecated; users should provide a
104
+ * creation callback as `commit_create_cb` that produces a
105
+ * commit buffer, signs it, and commits it.
83
106
  */
84
- git_commit_signing_cb signing_cb;
107
+ int (*signing_cb)(git_buf *, git_buf *, const char *, void *);
108
+ #endif
85
109
 
86
110
  /**
87
111
  * This will be passed to each of the callbacks in this struct
@@ -97,6 +97,9 @@ GIT_EXTERN(int) git_reference_dwim(git_reference **out, git_repository *repo, co
97
97
  * of updating does not match the one passed through `current_value`
98
98
  * (i.e. if the ref has changed since the user read it).
99
99
  *
100
+ * If `current_value` is all zeros, this function will return GIT_EMODIFIED
101
+ * if the ref already exists.
102
+ *
100
103
  * @param out Pointer to the newly created reference
101
104
  * @param repo Repository where that reference will live
102
105
  * @param name The name of the reference
@@ -169,7 +172,7 @@ GIT_EXTERN(int) git_reference_symbolic_create(git_reference **out, git_repositor
169
172
  *
170
173
  * The message for the reflog will be ignored if the reference does
171
174
  * not belong in the standard set (HEAD, branches and remote-tracking
172
- * branches) and and it does not have a reflog.
175
+ * branches) and it does not have a reflog.
173
176
  *
174
177
  * @param out Pointer to the newly created reference
175
178
  * @param repo Repository where that reference will live
@@ -206,7 +209,7 @@ GIT_EXTERN(int) git_reference_create(git_reference **out, git_repository *repo,
206
209
  *
207
210
  * The message for the reflog will be ignored if the reference does
208
211
  * not belong in the standard set (HEAD, branches and remote-tracking
209
- * branches) and and it does not have a reflog.
212
+ * branches) and it does not have a reflog.
210
213
  *
211
214
  * It will return GIT_EMODIFIED if the reference's value at the time
212
215
  * of updating does not match the one passed through `current_id`
@@ -318,7 +321,7 @@ GIT_EXTERN(git_repository *) git_reference_owner(const git_reference *ref);
318
321
  *
319
322
  * The message for the reflog will be ignored if the reference does
320
323
  * not belong in the standard set (HEAD, branches and remote-tracking
321
- * branches) and and it does not have a reflog.
324
+ * branches) and it does not have a reflog.
322
325
  *
323
326
  * @param out Pointer to the newly created reference
324
327
  * @param ref The reference
@@ -743,10 +746,11 @@ GIT_EXTERN(int) git_reference_peel(
743
746
  * the characters '~', '^', ':', '\\', '?', '[', and '*', and the
744
747
  * sequences ".." and "@{" which have special meaning to revparse.
745
748
  *
749
+ * @param valid output pointer to set with validity of given reference name
746
750
  * @param refname name to be checked.
747
- * @return 1 if the reference name is acceptable; 0 if it isn't
751
+ * @return 0 on success or an error code
748
752
  */
749
- GIT_EXTERN(int) git_reference_is_valid_name(const char *refname);
753
+ GIT_EXTERN(int) git_reference_name_is_valid(int *valid, const char *refname);
750
754
 
751
755
  /**
752
756
  * Get the reference's short name
@@ -212,7 +212,8 @@ GIT_EXTERN(const char *) git_remote_name(const git_remote *remote);
212
212
  * Get the remote's url
213
213
  *
214
214
  * If url.*.insteadOf has been configured for this URL, it will
215
- * return the modified URL.
215
+ * return the modified URL. If `git_remote_set_instance_pushurl`
216
+ * has been called for this remote, then that URL will be returned.
216
217
  *
217
218
  * @param remote the remote
218
219
  * @return a pointer to the url
@@ -220,10 +221,11 @@ GIT_EXTERN(const char *) git_remote_name(const git_remote *remote);
220
221
  GIT_EXTERN(const char *) git_remote_url(const git_remote *remote);
221
222
 
222
223
  /**
223
- * Get the remote's url for pushing
224
+ * Get the remote's url for pushing.
224
225
  *
225
226
  * If url.*.pushInsteadOf has been configured for this URL, it
226
- * will return the modified URL.
227
+ * will return the modified URL. If `git_remote_set_instance_pushurl`
228
+ * has been called for this remote, then that URL will be returned.
227
229
  *
228
230
  * @param remote the remote
229
231
  * @return a pointer to the url or NULL if no special url for pushing is set
@@ -241,7 +243,7 @@ GIT_EXTERN(const char *) git_remote_pushurl(const git_remote *remote);
241
243
  * @param url the url to set
242
244
  * @return 0 or an error value
243
245
  */
244
- GIT_EXTERN(int) git_remote_set_url(git_repository *repo, const char *remote, const char* url);
246
+ GIT_EXTERN(int) git_remote_set_url(git_repository *repo, const char *remote, const char *url);
245
247
 
246
248
  /**
247
249
  * Set the remote's url for pushing in the configuration.
@@ -253,8 +255,29 @@ GIT_EXTERN(int) git_remote_set_url(git_repository *repo, const char *remote, con
253
255
  * @param repo the repository in which to perform the change
254
256
  * @param remote the remote's name
255
257
  * @param url the url to set
258
+ * @return 0, or an error code
256
259
  */
257
- GIT_EXTERN(int) git_remote_set_pushurl(git_repository *repo, const char *remote, const char* url);
260
+ GIT_EXTERN(int) git_remote_set_pushurl(git_repository *repo, const char *remote, const char *url);
261
+
262
+ /**
263
+ * Set the url for this particular url instance. The URL in the
264
+ * configuration will be ignored, and will not be changed.
265
+ *
266
+ * @param remote the remote's name
267
+ * @param url the url to set
268
+ * @return 0 or an error value
269
+ */
270
+ GIT_EXTERN(int) git_remote_set_instance_url(git_remote *remote, const char *url);
271
+
272
+ /**
273
+ * Set the push url for this particular url instance. The URL in the
274
+ * configuration will be ignored, and will not be changed.
275
+ *
276
+ * @param remote the remote's name
277
+ * @param url the url to set
278
+ * @return 0 or an error value
279
+ */
280
+ GIT_EXTERN(int) git_remote_set_instance_pushurl(git_remote *remote, const char *url);
258
281
 
259
282
  /**
260
283
  * Add a fetch refspec to the remote's configuration
@@ -428,7 +451,7 @@ typedef int GIT_CALLBACK(git_push_transfer_progress_cb)(
428
451
  unsigned int current,
429
452
  unsigned int total,
430
453
  size_t bytes,
431
- void* payload);
454
+ void *payload);
432
455
 
433
456
  /**
434
457
  * Represents an update which will be performed on the remote during push
@@ -476,6 +499,7 @@ typedef int GIT_CALLBACK(git_push_negotiation)(const git_push_update **updates,
476
499
  */
477
500
  typedef int GIT_CALLBACK(git_push_update_reference_cb)(const char *refname, const char *status, void *data);
478
501
 
502
+ #ifndef GIT_DEPRECATE_HARD
479
503
  /**
480
504
  * Callback to resolve URLs before connecting to remote
481
505
  *
@@ -487,8 +511,22 @@ typedef int GIT_CALLBACK(git_push_update_reference_cb)(const char *refname, cons
487
511
  * @param direction GIT_DIRECTION_FETCH or GIT_DIRECTION_PUSH
488
512
  * @param payload Payload provided by the caller
489
513
  * @return 0 on success, GIT_PASSTHROUGH or an error
514
+ * @deprecated Use `git_remote_set_instance_url`
490
515
  */
491
516
  typedef int GIT_CALLBACK(git_url_resolve_cb)(git_buf *url_resolved, const char *url, int direction, void *payload);
517
+ #endif
518
+
519
+ /**
520
+ * Callback invoked immediately before we attempt to connect to the
521
+ * given url. Callers may change the URL before the connection by
522
+ * calling `git_remote_set_instance_url` in the callback.
523
+ *
524
+ * @param remote The remote to be connected
525
+ * @param direction GIT_DIRECTION_FETCH or GIT_DIRECTION_PUSH
526
+ * @param payload Payload provided by the caller
527
+ * @return 0 on success, or an error
528
+ */
529
+ typedef int GIT_CALLBACK(git_remote_ready_cb)(git_remote *remote, int direction, void *payload);
492
530
 
493
531
  /**
494
532
  * The callback settings structure
@@ -574,17 +612,29 @@ struct git_remote_callbacks {
574
612
  */
575
613
  git_transport_cb transport;
576
614
 
615
+ /**
616
+ * Callback when the remote is ready to connect.
617
+ */
618
+ git_remote_ready_cb remote_ready;
619
+
577
620
  /**
578
621
  * This will be passed to each of the callbacks in this struct
579
622
  * as the last parameter.
580
623
  */
581
624
  void *payload;
582
625
 
626
+ #ifdef GIT_DEPRECATE_HARD
627
+ void *reserved;
628
+ #else
583
629
  /**
584
630
  * Resolve URL before connecting to remote.
585
631
  * The returned URL will be used to connect to the remote instead.
632
+ *
633
+ * This callback is deprecated; users should use
634
+ * git_remote_ready_cb and configure the instance URL instead.
586
635
  */
587
636
  git_url_resolve_cb resolve_url;
637
+ #endif
588
638
  };
589
639
 
590
640
  #define GIT_REMOTE_CALLBACKS_VERSION 1
@@ -876,8 +926,10 @@ GIT_EXTERN(git_remote_autotag_option_t) git_remote_autotag(const git_remote *rem
876
926
  * @param repo the repository in which to make the change
877
927
  * @param remote the name of the remote
878
928
  * @param value the new value to take.
929
+ * @return 0, or an error code.
879
930
  */
880
931
  GIT_EXTERN(int) git_remote_set_autotag(git_repository *repo, const char *remote, git_remote_autotag_option_t value);
932
+
881
933
  /**
882
934
  * Retrieve the ref-prune setting
883
935
  *
@@ -915,10 +967,11 @@ GIT_EXTERN(int) git_remote_rename(
915
967
  /**
916
968
  * Ensure the remote name is well-formed.
917
969
  *
970
+ * @param valid output pointer to set with validity of given remote name
918
971
  * @param remote_name name to be checked.
919
- * @return 1 if the reference name is acceptable; 0 if it isn't
972
+ * @return 0 on success or an error code
920
973
  */
921
- GIT_EXTERN(int) git_remote_is_valid_name(const char *remote_name);
974
+ GIT_EXTERN(int) git_remote_name_is_valid(int *valid, const char *remote_name);
922
975
 
923
976
  /**
924
977
  * Delete an existing persisted remote.
@@ -943,7 +996,7 @@ GIT_EXTERN(int) git_remote_delete(git_repository *repo, const char *name);
943
996
  *
944
997
  * This function must only be called after connecting.
945
998
  *
946
- * @param out the buffern in which to store the reference name
999
+ * @param out the buffer in which to store the reference name
947
1000
  * @param remote the remote
948
1001
  * @return 0, GIT_ENOTFOUND if the remote does not have any references
949
1002
  * or none of them point to HEAD's commit, or an error message.