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
@@ -25,20 +25,16 @@ typedef struct git_strarray {
25
25
  } git_strarray;
26
26
 
27
27
  /**
28
- * Close a string array object
29
- *
30
- * This method should be called on `git_strarray` objects where the strings
31
- * array is allocated and contains allocated strings, such as what you
32
- * would get from `git_strarray_copy()`. Not doing so, will result in a
33
- * memory leak.
28
+ * Free the strings contained in a string array. This method should
29
+ * be called on `git_strarray` objects that were provided by the
30
+ * library. Not doing so, will result in a memory leak.
34
31
  *
35
32
  * This does not free the `git_strarray` itself, since the library will
36
- * never allocate that object directly itself (it is more commonly embedded
37
- * inside another struct or created on the stack).
33
+ * never allocate that object directly itself.
38
34
  *
39
- * @param array git_strarray from which to free string data
35
+ * @param array The git_strarray that contains strings to free
40
36
  */
41
- GIT_EXTERN(void) git_strarray_free(git_strarray *array);
37
+ GIT_EXTERN(void) git_strarray_dispose(git_strarray *array);
42
38
 
43
39
  /**
44
40
  * Copy a string array object from source to target.
@@ -223,6 +223,15 @@ GIT_EXTERN(int) git_submodule_lookup(
223
223
  git_repository *repo,
224
224
  const char *name);
225
225
 
226
+ /**
227
+ * Create an in-memory copy of a submodule. The copy must be explicitly
228
+ * free'd or it will leak.
229
+ *
230
+ * @param out Pointer to store the copy of the submodule.
231
+ * @param source Original submodule to copy.
232
+ */
233
+ GIT_EXTERN(int) git_submodule_dup(git_submodule **out, git_submodule *source);
234
+
226
235
  /**
227
236
  * Release a submodule
228
237
  *
@@ -0,0 +1,174 @@
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
+ #ifndef INCLUDE_sys_git_commit_graph_h__
8
+ #define INCLUDE_sys_git_commit_graph_h__
9
+
10
+ #include "git2/common.h"
11
+ #include "git2/types.h"
12
+
13
+ /**
14
+ * @file git2/sys/commit_graph.h
15
+ * @brief Git commit-graph
16
+ * @defgroup git_commit_graph Git commit-graph APIs
17
+ * @ingroup Git
18
+ * @{
19
+ */
20
+ GIT_BEGIN_DECL
21
+
22
+ /**
23
+ * Opens a `git_commit_graph` from a path to an objects directory.
24
+ *
25
+ * This finds, opens, and validates the `commit-graph` file.
26
+ *
27
+ * @param cgraph_out the `git_commit_graph` struct to initialize.
28
+ * @param objects_dir the path to a git objects directory.
29
+ * @return Zero on success; -1 on failure.
30
+ */
31
+ GIT_EXTERN(int) git_commit_graph_open(git_commit_graph **cgraph_out, const char *objects_dir);
32
+
33
+ /**
34
+ * Frees commit-graph data. This should only be called when memory allocated
35
+ * using `git_commit_graph_open` is not returned to libgit2 because it was not
36
+ * associated with the ODB through a successful call to
37
+ * `git_odb_set_commit_graph`.
38
+ *
39
+ * @param cgraph the commit-graph object to free. If NULL, no action is taken.
40
+ */
41
+ GIT_EXTERN(void) git_commit_graph_free(git_commit_graph *cgraph);
42
+
43
+ /**
44
+ * Create a new writer for `commit-graph` files.
45
+ *
46
+ * @param out Location to store the writer pointer.
47
+ * @param objects_info_dir The `objects/info` directory.
48
+ * The `commit-graph` file will be written in this directory.
49
+ * @return 0 or an error code
50
+ */
51
+ GIT_EXTERN(int) git_commit_graph_writer_new(
52
+ git_commit_graph_writer **out,
53
+ const char *objects_info_dir);
54
+
55
+ /**
56
+ * Free the commit-graph writer and its resources.
57
+ *
58
+ * @param w The writer to free. If NULL no action is taken.
59
+ */
60
+ GIT_EXTERN(void) git_commit_graph_writer_free(git_commit_graph_writer *w);
61
+
62
+ /**
63
+ * Add an `.idx` file (associated to a packfile) to the writer.
64
+ *
65
+ * @param w The writer.
66
+ * @param repo The repository that owns the `.idx` file.
67
+ * @param idx_path The path of an `.idx` file.
68
+ * @return 0 or an error code
69
+ */
70
+ GIT_EXTERN(int) git_commit_graph_writer_add_index_file(
71
+ git_commit_graph_writer *w,
72
+ git_repository *repo,
73
+ const char *idx_path);
74
+
75
+ /**
76
+ * Add a revwalk to the writer. This will add all the commits from the revwalk
77
+ * to the commit-graph.
78
+ *
79
+ * @param w The writer.
80
+ * @param walk The git_revwalk.
81
+ * @return 0 or an error code
82
+ */
83
+ GIT_EXTERN(int) git_commit_graph_writer_add_revwalk(
84
+ git_commit_graph_writer *w,
85
+ git_revwalk *walk);
86
+
87
+
88
+ /**
89
+ * The strategy to use when adding a new set of commits to a pre-existing
90
+ * commit-graph chain.
91
+ */
92
+ typedef enum {
93
+ /**
94
+ * Do not split commit-graph files. The other split strategy-related option
95
+ * fields are ignored.
96
+ */
97
+ GIT_COMMIT_GRAPH_SPLIT_STRATEGY_SINGLE_FILE = 0,
98
+ } git_commit_graph_split_strategy_t;
99
+
100
+ /**
101
+ * Options structure for
102
+ * `git_commit_graph_writer_commit`/`git_commit_graph_writer_dump`.
103
+ *
104
+ * Initialize with `GIT_COMMIT_GRAPH_WRITER_OPTIONS_INIT`. Alternatively, you
105
+ * can use `git_commit_graph_writer_options_init`.
106
+ */
107
+ typedef struct {
108
+ unsigned int version;
109
+
110
+ /**
111
+ * The strategy to use when adding new commits to a pre-existing commit-graph
112
+ * chain.
113
+ */
114
+ git_commit_graph_split_strategy_t split_strategy;
115
+
116
+ /**
117
+ * The number of commits in level N is less than X times the number of
118
+ * commits in level N + 1. Default is 2.
119
+ */
120
+ float size_multiple;
121
+
122
+ /**
123
+ * The number of commits in level N + 1 is more than C commits.
124
+ * Default is 64000.
125
+ */
126
+ size_t max_commits;
127
+ } git_commit_graph_writer_options;
128
+
129
+ #define GIT_COMMIT_GRAPH_WRITER_OPTIONS_VERSION 1
130
+ #define GIT_COMMIT_GRAPH_WRITER_OPTIONS_INIT { \
131
+ GIT_COMMIT_GRAPH_WRITER_OPTIONS_VERSION \
132
+ }
133
+
134
+ /**
135
+ * Initialize git_commit_graph_writer_options structure
136
+ *
137
+ * Initializes a `git_commit_graph_writer_options` with default values. Equivalent to
138
+ * creating an instance with `GIT_COMMIT_GRAPH_WRITER_OPTIONS_INIT`.
139
+ *
140
+ * @param opts The `git_commit_graph_writer_options` struct to initialize.
141
+ * @param version The struct version; pass `GIT_COMMIT_GRAPH_WRITER_OPTIONS_VERSION`.
142
+ * @return Zero on success; -1 on failure.
143
+ */
144
+ GIT_EXTERN(int) git_commit_graph_writer_options_init(
145
+ git_commit_graph_writer_options *opts,
146
+ unsigned int version);
147
+
148
+ /**
149
+ * Write a `commit-graph` file to a file.
150
+ *
151
+ * @param w The writer
152
+ * @param opts Pointer to git_commit_graph_writer_options struct.
153
+ * @return 0 or an error code
154
+ */
155
+ GIT_EXTERN(int) git_commit_graph_writer_commit(
156
+ git_commit_graph_writer *w,
157
+ git_commit_graph_writer_options *opts);
158
+
159
+ /**
160
+ * Dump the contents of the `commit-graph` to an in-memory buffer.
161
+ *
162
+ * @param buffer Buffer where to store the contents of the `commit-graph`.
163
+ * @param w The writer.
164
+ * @param opts Pointer to git_commit_graph_writer_options struct.
165
+ * @return 0 or an error code
166
+ */
167
+ GIT_EXTERN(int) git_commit_graph_writer_dump(
168
+ git_buf *buffer,
169
+ git_commit_graph_writer *w,
170
+ git_commit_graph_writer_options *opts);
171
+
172
+ /** @} */
173
+ GIT_END_DECL
174
+ #endif
@@ -167,17 +167,18 @@ typedef void GIT_CALLBACK(git_filter_shutdown_fn)(git_filter *self);
167
167
  *
168
168
  * The `payload` will be a pointer to a reference payload for the filter.
169
169
  * This will start as NULL, but `check` can assign to this pointer for
170
- * later use by the `apply` callback. Note that the value should be heap
171
- * allocated (not stack), so that it doesn't go away before the `apply`
170
+ * later use by the `stream` callback. Note that the value should be heap
171
+ * allocated (not stack), so that it doesn't go away before the `stream`
172
172
  * callback can use it. If a filter allocates and assigns a value to the
173
173
  * `payload`, it will need a `cleanup` callback to free the payload.
174
174
  */
175
175
  typedef int GIT_CALLBACK(git_filter_check_fn)(
176
- git_filter *self,
177
- void **payload, /* points to NULL ptr on entry, may be set */
176
+ git_filter *self,
177
+ void **payload, /* NULL on entry, may be set */
178
178
  const git_filter_source *src,
179
- const char **attr_values);
179
+ const char **attr_values);
180
180
 
181
+ #ifndef GIT_DEPRECATE_HARD
181
182
  /**
182
183
  * Callback to actually perform the data filtering
183
184
  *
@@ -189,32 +190,45 @@ typedef int GIT_CALLBACK(git_filter_check_fn)(
189
190
  *
190
191
  * The `payload` value will refer to any payload that was set by the
191
192
  * `check` callback. It may be read from or written to as needed.
193
+ *
194
+ * @deprecated use git_filter_stream_fn
192
195
  */
193
196
  typedef int GIT_CALLBACK(git_filter_apply_fn)(
194
- git_filter *self,
195
- void **payload, /* may be read and/or set */
196
- git_buf *to,
197
- const git_buf *from,
197
+ git_filter *self,
198
+ void **payload, /* may be read and/or set */
199
+ git_buf *to,
200
+ const git_buf *from,
198
201
  const git_filter_source *src);
202
+ #endif
199
203
 
204
+ /**
205
+ * Callback to perform the data filtering.
206
+ *
207
+ * Specified as `filter.stream`, this is a callback that filters data
208
+ * in a streaming manner. This function will provide a
209
+ * `git_writestream` that will the original data will be written to;
210
+ * with that data, the `git_writestream` will then perform the filter
211
+ * translation and stream the filtered data out to the `next` location.
212
+ */
200
213
  typedef int GIT_CALLBACK(git_filter_stream_fn)(
201
- git_writestream **out,
202
- git_filter *self,
203
- void **payload,
214
+ git_writestream **out,
215
+ git_filter *self,
216
+ void **payload,
204
217
  const git_filter_source *src,
205
- git_writestream *next);
218
+ git_writestream *next);
206
219
 
207
220
  /**
208
221
  * Callback to clean up after filtering has been applied
209
222
  *
210
223
  * Specified as `filter.cleanup`, this is an optional callback invoked
211
- * after the filter has been applied. If the `check` or `apply` callbacks
212
- * allocated a `payload` to keep per-source filter state, use this
213
- * callback to free that payload and release resources as required.
224
+ * after the filter has been applied. If the `check`, `apply`, or
225
+ * `stream` callbacks allocated a `payload` to keep per-source filter
226
+ * state, use this callback to free that payload and release resources
227
+ * as required.
214
228
  */
215
229
  typedef void GIT_CALLBACK(git_filter_cleanup_fn)(
216
- git_filter *self,
217
- void *payload);
230
+ git_filter *self,
231
+ void *payload);
218
232
 
219
233
  /**
220
234
  * Filter structure used to register custom filters.
@@ -248,21 +262,28 @@ struct git_filter {
248
262
  /**
249
263
  * Called to determine whether the filter should be invoked for a
250
264
  * given file. If this function returns `GIT_PASSTHROUGH` then the
251
- * `apply` function will not be invoked and the contents will be passed
252
- * through unmodified.
265
+ * `stream` or `apply` functions will not be invoked and the
266
+ * contents will be passed through unmodified.
253
267
  */
254
268
  git_filter_check_fn check;
255
269
 
270
+ #ifdef GIT_DEPRECATE_HARD
271
+ void *reserved;
272
+ #else
256
273
  /**
257
- * Called to actually apply the filter to file contents. If this
258
- * function returns `GIT_PASSTHROUGH` then the contents will be passed
259
- * through unmodified.
274
+ * Provided for backward compatibility; this will apply the
275
+ * filter to the given contents in a `git_buf`. Callers should
276
+ * provide a `stream` function instead.
260
277
  */
261
278
  git_filter_apply_fn apply;
279
+ #endif
262
280
 
263
281
  /**
264
- * Called to apply the filter in a streaming manner. If this is not
265
- * specified then the system will call `apply` with the whole buffer.
282
+ * Called to apply the filter, this function will provide a
283
+ * `git_writestream` that will the original data will be
284
+ * written to; with that data, the `git_writestream` will then
285
+ * perform the filter translation and stream the filtered data
286
+ * out to the `next` location.
266
287
  */
267
288
  git_filter_stream_fn stream;
268
289
 
@@ -289,9 +310,9 @@ GIT_EXTERN(int) git_filter_init(git_filter *filter, unsigned int version);
289
310
  * As mentioned elsewhere, the initialize callback will not be invoked
290
311
  * immediately. It is deferred until the filter is used in some way.
291
312
  *
292
- * A filter's attribute checks and `check` and `apply` callbacks will be
293
- * issued in order of `priority` on smudge (to workdir), and in reverse
294
- * order of `priority` on clean (to odb).
313
+ * A filter's attribute checks and `check` and `stream` (or `apply`)
314
+ * callbacks will be issued in order of `priority` on smudge (to
315
+ * workdir), and in reverse order of `priority` on clean (to odb).
295
316
  *
296
317
  * Two filters are preregistered with libgit2:
297
318
  * - GIT_FILTER_CRLF with priority 0
@@ -0,0 +1,74 @@
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
+ #ifndef INCLUDE_sys_git_midx_h__
8
+ #define INCLUDE_sys_git_midx_h__
9
+
10
+ #include "git2/common.h"
11
+ #include "git2/types.h"
12
+
13
+ /**
14
+ * @file git2/midx.h
15
+ * @brief Git multi-pack-index routines
16
+ * @defgroup git_midx Git multi-pack-index routines
17
+ * @ingroup Git
18
+ * @{
19
+ */
20
+ GIT_BEGIN_DECL
21
+
22
+ /**
23
+ * Create a new writer for `multi-pack-index` files.
24
+ *
25
+ * @param out location to store the writer pointer.
26
+ * @param pack_dir the directory where the `.pack` and `.idx` files are. The
27
+ * `multi-pack-index` file will be written in this directory, too.
28
+ * @return 0 or an error code
29
+ */
30
+ GIT_EXTERN(int) git_midx_writer_new(
31
+ git_midx_writer **out,
32
+ const char *pack_dir);
33
+
34
+ /**
35
+ * Free the multi-pack-index writer and its resources.
36
+ *
37
+ * @param w the writer to free. If NULL no action is taken.
38
+ */
39
+ GIT_EXTERN(void) git_midx_writer_free(git_midx_writer *w);
40
+
41
+ /**
42
+ * Add an `.idx` file to the writer.
43
+ *
44
+ * @param w the writer
45
+ * @param idx_path the path of an `.idx` file.
46
+ * @return 0 or an error code
47
+ */
48
+ GIT_EXTERN(int) git_midx_writer_add(
49
+ git_midx_writer *w,
50
+ const char *idx_path);
51
+
52
+ /**
53
+ * Write a `multi-pack-index` file to a file.
54
+ *
55
+ * @param w the writer
56
+ * @return 0 or an error code
57
+ */
58
+ GIT_EXTERN(int) git_midx_writer_commit(
59
+ git_midx_writer *w);
60
+
61
+ /**
62
+ * Dump the contents of the `multi-pack-index` to an in-memory buffer.
63
+ *
64
+ * @param midx Buffer where to store the contents of the `multi-pack-index`.
65
+ * @param w the writer
66
+ * @return 0 or an error code
67
+ */
68
+ GIT_EXTERN(int) git_midx_writer_dump(
69
+ git_buf *midx,
70
+ git_midx_writer *w);
71
+
72
+ /** @} */
73
+ GIT_END_DECL
74
+ #endif
@@ -84,6 +84,13 @@ struct git_odb_backend {
84
84
  git_odb_writepack **, git_odb_backend *, git_odb *odb,
85
85
  git_indexer_progress_cb progress_cb, void *progress_payload);
86
86
 
87
+ /**
88
+ * If the backend supports pack files, this will create a
89
+ * `multi-pack-index` file which will contain an index of all objects
90
+ * across all the `.pack` files.
91
+ */
92
+ int GIT_CALLBACK(writemidx)(git_odb_backend *);
93
+
87
94
  /**
88
95
  * "Freshens" an already existing object, updating its last-used
89
96
  * time. This occurs when `git_odb_write` was called, but the
@@ -9,6 +9,7 @@
9
9
  #define INCLUDE_sys_git_transport_h
10
10
 
11
11
  #include "git2/net.h"
12
+ #include "git2/transport.h"
12
13
  #include "git2/types.h"
13
14
  #include "git2/strarray.h"
14
15
  #include "git2/proxy.h"