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
@@ -26,27 +26,54 @@ GIT_BEGIN_DECL
26
26
  typedef enum {
27
27
  /** Normal blame, the default */
28
28
  GIT_BLAME_NORMAL = 0,
29
- /** Track lines that have moved within a file (like `git blame -M`).
30
- * NOT IMPLEMENTED. */
29
+
30
+ /**
31
+ * Track lines that have moved within a file (like `git blame -M`).
32
+ *
33
+ * This is not yet implemented and reserved for future use.
34
+ */
31
35
  GIT_BLAME_TRACK_COPIES_SAME_FILE = (1<<0),
32
- /** Track lines that have moved across files in the same commit (like `git blame -C`).
33
- * NOT IMPLEMENTED. */
36
+
37
+ /**
38
+ * Track lines that have moved across files in the same commit
39
+ * (like `git blame -C`).
40
+ *
41
+ * This is not yet implemented and reserved for future use.
42
+ */
34
43
  GIT_BLAME_TRACK_COPIES_SAME_COMMIT_MOVES = (1<<1),
35
- /** Track lines that have been copied from another file that exists in the
36
- * same commit (like `git blame -CC`). Implies SAME_FILE.
37
- * NOT IMPLEMENTED. */
44
+
45
+ /**
46
+ * Track lines that have been copied from another file that exists
47
+ * in the same commit (like `git blame -CC`). Implies SAME_FILE.
48
+ *
49
+ * This is not yet implemented and reserved for future use.
50
+ */
38
51
  GIT_BLAME_TRACK_COPIES_SAME_COMMIT_COPIES = (1<<2),
39
- /** Track lines that have been copied from another file that exists in *any*
40
- * commit (like `git blame -CCC`). Implies SAME_COMMIT_COPIES.
41
- * NOT IMPLEMENTED. */
52
+
53
+ /**
54
+ * Track lines that have been copied from another file that exists in
55
+ * *any* commit (like `git blame -CCC`). Implies SAME_COMMIT_COPIES.
56
+ *
57
+ * This is not yet implemented and reserved for future use.
58
+ */
42
59
  GIT_BLAME_TRACK_COPIES_ANY_COMMIT_COPIES = (1<<3),
43
- /** Restrict the search of commits to those reachable following only the
44
- * first parents. */
60
+
61
+ /**
62
+ * Restrict the search of commits to those reachable following only
63
+ * the first parents.
64
+ */
45
65
  GIT_BLAME_FIRST_PARENT = (1<<4),
46
- /** Use mailmap file to map author and committer names and email addresses
47
- * to canonical real names and email addresses. The mailmap will be read
48
- * from the working directory, or HEAD in a bare repository. */
66
+
67
+ /**
68
+ * Use mailmap file to map author and committer names and email
69
+ * addresses to canonical real names and email addresses. The
70
+ * mailmap will be read from the working directory, or HEAD in a
71
+ * bare repository.
72
+ */
49
73
  GIT_BLAME_USE_MAILMAP = (1<<5),
74
+
75
+ /** Ignore whitespace differences */
76
+ GIT_BLAME_IGNORE_WHITESPACE = (1<<6),
50
77
  } git_blame_flag_t;
51
78
 
52
79
  /**
@@ -61,25 +88,33 @@ typedef struct git_blame_options {
61
88
 
62
89
  /** A combination of `git_blame_flag_t` */
63
90
  uint32_t flags;
64
- /** The lower bound on the number of alphanumeric
65
- * characters that must be detected as moving/copying within a file for it to
66
- * associate those lines with the parent commit. The default value is 20.
67
- * This value only takes effect if any of the `GIT_BLAME_TRACK_COPIES_*`
68
- * flags are specified.
91
+
92
+ /**
93
+ * The lower bound on the number of alphanumeric characters that
94
+ * must be detected as moving/copying within a file for it to
95
+ * associate those lines with the parent commit. The default value
96
+ * is 20.
97
+ *
98
+ * This value only takes effect if any of the `GIT_BLAME_TRACK_COPIES_*`
99
+ * flags are specified.
69
100
  */
70
101
  uint16_t min_match_characters;
102
+
71
103
  /** The id of the newest commit to consider. The default is HEAD. */
72
104
  git_oid newest_commit;
105
+
73
106
  /**
74
107
  * The id of the oldest commit to consider.
75
108
  * The default is the first commit encountered with a NULL parent.
76
109
  */
77
110
  git_oid oldest_commit;
111
+
78
112
  /**
79
113
  * The first line in the file to blame.
80
114
  * The default is 1 (line numbers start with 1).
81
115
  */
82
116
  size_t min_line;
117
+
83
118
  /**
84
119
  * The last line in the file to blame.
85
120
  * The default is the last line of the file.
@@ -106,41 +141,59 @@ GIT_EXTERN(int) git_blame_options_init(
106
141
 
107
142
  /**
108
143
  * Structure that represents a blame hunk.
109
- *
110
- * - `lines_in_hunk` is the number of lines in this hunk
111
- * - `final_commit_id` is the OID of the commit where this line was last
112
- * changed.
113
- * - `final_start_line_number` is the 1-based line number where this hunk
114
- * begins, in the final version of the file
115
- * - `final_signature` is the author of `final_commit_id`. If
116
- * `GIT_BLAME_USE_MAILMAP` has been specified, it will contain the canonical
117
- * real name and email address.
118
- * - `orig_commit_id` is the OID of the commit where this hunk was found. This
119
- * will usually be the same as `final_commit_id`, except when
120
- * `GIT_BLAME_TRACK_COPIES_ANY_COMMIT_COPIES` has been specified.
121
- * - `orig_path` is the path to the file where this hunk originated, as of the
122
- * commit specified by `orig_commit_id`.
123
- * - `orig_start_line_number` is the 1-based line number where this hunk begins
124
- * in the file named by `orig_path` in the commit specified by
125
- * `orig_commit_id`.
126
- * - `orig_signature` is the author of `orig_commit_id`. If
127
- * `GIT_BLAME_USE_MAILMAP` has been specified, it will contain the canonical
128
- * real name and email address.
129
- * - `boundary` is 1 iff the hunk has been tracked to a boundary commit (the
130
- * root, or the commit specified in git_blame_options.oldest_commit)
131
144
  */
132
145
  typedef struct git_blame_hunk {
146
+ /**
147
+ * The number of lines in this hunk.
148
+ */
133
149
  size_t lines_in_hunk;
134
150
 
151
+ /**
152
+ * The OID of the commit where this line was last changed.
153
+ */
135
154
  git_oid final_commit_id;
155
+
156
+ /**
157
+ * The 1-based line number where this hunk begins, in the final version
158
+ * of the file.
159
+ */
136
160
  size_t final_start_line_number;
161
+
162
+ /**
163
+ * The author of `final_commit_id`. If `GIT_BLAME_USE_MAILMAP` has been
164
+ * specified, it will contain the canonical real name and email address.
165
+ */
137
166
  git_signature *final_signature;
138
167
 
168
+ /**
169
+ * The OID of the commit where this hunk was found.
170
+ * This will usually be the same as `final_commit_id`, except when
171
+ * `GIT_BLAME_TRACK_COPIES_ANY_COMMIT_COPIES` has been specified.
172
+ */
139
173
  git_oid orig_commit_id;
174
+
175
+ /**
176
+ * The path to the file where this hunk originated, as of the commit
177
+ * specified by `orig_commit_id`.
178
+ */
140
179
  const char *orig_path;
180
+
181
+ /**
182
+ * The 1-based line number where this hunk begins in the file named by
183
+ * `orig_path` in the commit specified by `orig_commit_id`.
184
+ */
141
185
  size_t orig_start_line_number;
186
+
187
+ /**
188
+ * The author of `orig_commit_id`. If `GIT_BLAME_USE_MAILMAP` has been
189
+ * specified, it will contain the canonical real name and email address.
190
+ */
142
191
  git_signature *orig_signature;
143
192
 
193
+ /**
194
+ * The 1 iff the hunk has been tracked to a boundary commit (the root,
195
+ * or the commit specified in git_blame_options.oldest_commit)
196
+ */
144
197
  char boundary;
145
198
  } git_blame_hunk;
146
199
 
@@ -84,7 +84,7 @@ GIT_EXTERN(git_repository *) git_blob_owner(const git_blob *blob);
84
84
  * time.
85
85
  *
86
86
  * @param blob pointer to the blob
87
- * @return the pointer
87
+ * @return the pointer, or NULL on error
88
88
  */
89
89
  GIT_EXTERN(const void *) git_blob_rawcontent(const git_blob *blob);
90
90
 
@@ -113,22 +113,50 @@ typedef enum {
113
113
  * When set, filters will be loaded from a `.gitattributes` file
114
114
  * in the HEAD commit.
115
115
  */
116
- GIT_BLOB_FILTER_ATTTRIBUTES_FROM_HEAD = (1 << 2),
116
+ GIT_BLOB_FILTER_ATTRIBUTES_FROM_HEAD = (1 << 2),
117
+
118
+ /**
119
+ * When set, filters will be loaded from a `.gitattributes` file
120
+ * in the specified commit.
121
+ */
122
+ GIT_BLOB_FILTER_ATTRIBUTES_FROM_COMMIT = (1 << 3),
117
123
  } git_blob_filter_flag_t;
118
124
 
119
125
  /**
120
126
  * The options used when applying filter options to a file.
127
+ *
128
+ * Initialize with `GIT_BLOB_FILTER_OPTIONS_INIT`. Alternatively, you can
129
+ * use `git_blob_filter_options_init`.
130
+ *
121
131
  */
122
132
  typedef struct {
123
133
  int version;
124
134
 
125
135
  /** Flags to control the filtering process, see `git_blob_filter_flag_t` above */
126
136
  uint32_t flags;
137
+
138
+ /**
139
+ * The commit to load attributes from, when
140
+ * `GIT_BLOB_FILTER_ATTRIBUTES_FROM_COMMIT` is specified.
141
+ */
142
+ git_oid *commit_id;
127
143
  } git_blob_filter_options;
128
144
 
129
145
  #define GIT_BLOB_FILTER_OPTIONS_VERSION 1
130
146
  #define GIT_BLOB_FILTER_OPTIONS_INIT {GIT_BLOB_FILTER_OPTIONS_VERSION, GIT_BLOB_FILTER_CHECK_FOR_BINARY}
131
147
 
148
+ /**
149
+ * Initialize git_blob_filter_options structure
150
+ *
151
+ * Initializes a `git_blob_filter_options` with default values. Equivalent
152
+ * to creating an instance with `GIT_BLOB_FILTER_OPTIONS_INIT`.
153
+ *
154
+ * @param opts The `git_blob_filter_options` struct to initialize.
155
+ * @param version The struct version; pass `GIT_BLOB_FILTER_OPTIONS_VERSION`.
156
+ * @return Zero on success; -1 on failure.
157
+ */
158
+ GIT_EXTERN(int) git_blob_filter_options_init(git_blob_filter_options *opts, unsigned int version);
159
+
132
160
  /**
133
161
  * Get a buffer with the filtered content of a blob.
134
162
  *
@@ -229,7 +257,7 @@ GIT_EXTERN(int) git_blob_create_from_stream_commit(
229
257
  * Write an in-memory buffer to the ODB as a blob
230
258
  *
231
259
  * @param id return the id of the written blob
232
- * @param repo repository where to blob will be written
260
+ * @param repo repository where the blob will be written
233
261
  * @param buffer data to be written into the blob
234
262
  * @param len length of the data
235
263
  * @return 0 or an error code
@@ -304,6 +304,31 @@ GIT_EXTERN(int) git_branch_remote_name(
304
304
  */
305
305
  GIT_EXTERN(int) git_branch_upstream_remote(git_buf *buf, git_repository *repo, const char *refname);
306
306
 
307
+ /**
308
+ * Retrieve the upstream merge of a local branch
309
+ *
310
+ * This will return the currently configured "branch.*.merge" for a given
311
+ * branch. This branch must be local.
312
+ *
313
+ * @param buf the buffer into which to write the name
314
+ * @param repo the repository in which to look
315
+ * @param refname the full name of the branch
316
+ * @return 0 or an error code
317
+ */
318
+ GIT_EXTERN(int) git_branch_upstream_merge(git_buf *buf, git_repository *repo, const char *refname);
319
+
320
+ /**
321
+ * Determine whether a branch name is valid, meaning that (when prefixed
322
+ * with `refs/heads/`) that it is a valid reference name, and that any
323
+ * additional branch name restrictions are imposed (eg, it cannot start
324
+ * with a `-`).
325
+ *
326
+ * @param valid output pointer to set with validity of given branch name
327
+ * @param name a branch name to test
328
+ * @return 0 on success or an error code
329
+ */
330
+ GIT_EXTERN(int) git_branch_name_is_valid(int *valid, const char *name);
331
+
307
332
  /** @} */
308
333
  GIT_END_DECL
309
334
  #endif
@@ -8,6 +8,7 @@
8
8
  #define INCLUDE_git_cert_h__
9
9
 
10
10
  #include "common.h"
11
+ #include "types.h"
11
12
 
12
13
  /**
13
14
  * @file git2/cert.h
@@ -80,8 +81,27 @@ typedef enum {
80
81
  GIT_CERT_SSH_SHA1 = (1 << 1),
81
82
  /** SHA-256 is available */
82
83
  GIT_CERT_SSH_SHA256 = (1 << 2),
84
+ /** Raw hostkey is available */
85
+ GIT_CERT_SSH_RAW = (1 << 3),
83
86
  } git_cert_ssh_t;
84
87
 
88
+ typedef enum {
89
+ /** The raw key is of an unknown type. */
90
+ GIT_CERT_SSH_RAW_TYPE_UNKNOWN = 0,
91
+ /** The raw key is an RSA key. */
92
+ GIT_CERT_SSH_RAW_TYPE_RSA = 1,
93
+ /** The raw key is a DSS key. */
94
+ GIT_CERT_SSH_RAW_TYPE_DSS = 2,
95
+ /** The raw key is a ECDSA 256 key. */
96
+ GIT_CERT_SSH_RAW_TYPE_KEY_ECDSA_256 = 3,
97
+ /** The raw key is a ECDSA 384 key. */
98
+ GIT_CERT_SSH_RAW_TYPE_KEY_ECDSA_384 = 4,
99
+ /** The raw key is a ECDSA 521 key. */
100
+ GIT_CERT_SSH_RAW_TYPE_KEY_ECDSA_521 = 5,
101
+ /** The raw key is a ED25519 key. */
102
+ GIT_CERT_SSH_RAW_TYPE_KEY_ED25519 = 6
103
+ } git_cert_ssh_raw_type_t;
104
+
85
105
  /**
86
106
  * Hostkey information taken from libssh2
87
107
  */
@@ -89,28 +109,45 @@ typedef struct {
89
109
  git_cert parent; /**< The parent cert */
90
110
 
91
111
  /**
92
- * A hostkey type from libssh2, either
93
- * `GIT_CERT_SSH_MD5` or `GIT_CERT_SSH_SHA1`
112
+ * A bitmask containing the available fields.
94
113
  */
95
114
  git_cert_ssh_t type;
96
115
 
97
116
  /**
98
- * Hostkey hash. If type has `GIT_CERT_SSH_MD5` set, this will
117
+ * Hostkey hash. If `type` has `GIT_CERT_SSH_MD5` set, this will
99
118
  * have the MD5 hash of the hostkey.
100
119
  */
101
120
  unsigned char hash_md5[16];
102
121
 
103
122
  /**
104
- * Hostkey hash. If type has `GIT_CERT_SSH_SHA1` set, this will
123
+ * Hostkey hash. If `type` has `GIT_CERT_SSH_SHA1` set, this will
105
124
  * have the SHA-1 hash of the hostkey.
106
125
  */
107
126
  unsigned char hash_sha1[20];
108
127
 
109
128
  /**
110
- * Hostkey hash. If type has `GIT_CERT_SSH_SHA256` set, this will
129
+ * Hostkey hash. If `type` has `GIT_CERT_SSH_SHA256` set, this will
111
130
  * have the SHA-256 hash of the hostkey.
112
131
  */
113
132
  unsigned char hash_sha256[32];
133
+
134
+ /**
135
+ * Raw hostkey type. If `type` has `GIT_CERT_SSH_RAW` set, this will
136
+ * have the type of the raw hostkey.
137
+ */
138
+ git_cert_ssh_raw_type_t raw_type;
139
+
140
+ /**
141
+ * Pointer to the raw hostkey. If `type` has `GIT_CERT_SSH_RAW` set,
142
+ * this will have the raw contents of the hostkey.
143
+ */
144
+ const char *hostkey;
145
+
146
+ /**
147
+ * Raw hostkey length. If `type` has `GIT_CERT_SSH_RAW` set, this will
148
+ * have the length of the raw contents of the hostkey.
149
+ */
150
+ size_t hostkey_len;
114
151
  } git_cert_hostkey;
115
152
 
116
153
  /**
@@ -177,6 +177,12 @@ typedef enum {
177
177
  /** Normally checkout writes the index upon completion; this prevents that. */
178
178
  GIT_CHECKOUT_DONT_WRITE_INDEX = (1u << 23),
179
179
 
180
+ /**
181
+ * Show what would be done by a checkout. Stop after sending
182
+ * notifications; don't update the working directory or index.
183
+ */
184
+ GIT_CHECKOUT_DRY_RUN = (1u << 24),
185
+
180
186
  /**
181
187
  * THE FOLLOWING OPTIONS ARE NOT YET IMPLEMENTED
182
188
  */
@@ -194,18 +200,6 @@ typedef enum {
194
200
  * Checkout will invoke an options notification callback (`notify_cb`) for
195
201
  * certain cases - you pick which ones via `notify_flags`:
196
202
  *
197
- * - GIT_CHECKOUT_NOTIFY_CONFLICT invokes checkout on conflicting paths.
198
- *
199
- * - GIT_CHECKOUT_NOTIFY_DIRTY notifies about "dirty" files, i.e. those that
200
- * do not need an update but no longer match the baseline. Core git
201
- * displays these files when checkout runs, but won't stop the checkout.
202
- *
203
- * - GIT_CHECKOUT_NOTIFY_UPDATED sends notification for any file changed.
204
- *
205
- * - GIT_CHECKOUT_NOTIFY_UNTRACKED notifies about untracked files.
206
- *
207
- * - GIT_CHECKOUT_NOTIFY_IGNORED notifies about ignored files.
208
- *
209
203
  * Returning a non-zero value from this callback will cancel the checkout.
210
204
  * The non-zero return value will be propagated back and returned by the
211
205
  * git_checkout_... call.
@@ -216,10 +210,32 @@ typedef enum {
216
210
  */
217
211
  typedef enum {
218
212
  GIT_CHECKOUT_NOTIFY_NONE = 0,
213
+
214
+ /**
215
+ * Invokes checkout on conflicting paths.
216
+ */
219
217
  GIT_CHECKOUT_NOTIFY_CONFLICT = (1u << 0),
218
+
219
+ /**
220
+ * Notifies about "dirty" files, i.e. those that do not need an update
221
+ * but no longer match the baseline. Core git displays these files when
222
+ * checkout runs, but won't stop the checkout.
223
+ */
220
224
  GIT_CHECKOUT_NOTIFY_DIRTY = (1u << 1),
225
+
226
+ /**
227
+ * Sends notification for any file changed.
228
+ */
221
229
  GIT_CHECKOUT_NOTIFY_UPDATED = (1u << 2),
230
+
231
+ /**
232
+ * Notifies about untracked files.
233
+ */
222
234
  GIT_CHECKOUT_NOTIFY_UNTRACKED = (1u << 3),
235
+
236
+ /**
237
+ * Notifies about ignored files.
238
+ */
223
239
  GIT_CHECKOUT_NOTIFY_IGNORED = (1u << 4),
224
240
 
225
241
  GIT_CHECKOUT_NOTIFY_ALL = 0x0FFFFu
@@ -503,25 +503,41 @@ GIT_EXTERN(int) git_commit_create_with_signature(
503
503
  GIT_EXTERN(int) git_commit_dup(git_commit **out, git_commit *source);
504
504
 
505
505
  /**
506
- * Commit signing callback.
507
- *
508
- * The callback will be called with the commit content, giving a user an
509
- * opportunity to sign the commit content. The signature_field
510
- * buf may be left empty to specify the default field "gpgsig".
511
- *
512
- * Signatures can take the form of any string, and can be created on an arbitrary
513
- * header field. Signatures are most commonly used for verifying authorship of a
514
- * commit using GPG or a similar cryptographically secure signing algorithm.
515
- * See https://git-scm.com/book/en/v2/Git-Tools-Signing-Your-Work for more
516
- * details.
517
- *
518
- * When the callback:
519
- * - returns GIT_PASSTHROUGH, no signature will be added to the commit.
520
- * - returns < 0, commit creation will be aborted.
521
- * - returns GIT_OK, the signature parameter is expected to be filled.
522
- */
523
- typedef int (*git_commit_signing_cb)(
524
- git_buf *signature, git_buf *signature_field, const char *commit_content, void *payload);
506
+ * Commit creation callback: used when a function is going to create
507
+ * commits (for example, in `git_rebase_commit`) to allow callers to
508
+ * override the commit creation behavior. For example, users may
509
+ * wish to sign commits by providing this information to
510
+ * `git_commit_create_buffer`, signing that buffer, then calling
511
+ * `git_commit_create_with_signature`. The resultant commit id
512
+ * should be set in the `out` object id parameter.
513
+ *
514
+ * @param out pointer that this callback will populate with the object
515
+ * id of the commit that is created
516
+ * @param author the author name and time of the commit
517
+ * @param committer the committer name and time of the commit
518
+ * @param message_encoding the encoding of the given message, or NULL
519
+ * to assume UTF8
520
+ * @param message the commit message
521
+ * @param tree the tree to be committed
522
+ * @param parent_count the number of parents for this commit
523
+ * @param parents the commit parents
524
+ * @param payload the payload pointer in the rebase options
525
+ * @return 0 if this callback has created the commit and populated the out
526
+ * parameter, GIT_PASSTHROUGH if the callback has not created a
527
+ * commit and wants the calling function to create the commit as
528
+ * if no callback had been specified, any other value to stop
529
+ * and return a failure
530
+ */
531
+ typedef int (*git_commit_create_cb)(
532
+ git_oid *out,
533
+ const git_signature *author,
534
+ const git_signature *committer,
535
+ const char *message_encoding,
536
+ const char *message,
537
+ const git_tree *tree,
538
+ size_t parent_count,
539
+ const git_commit *parents[],
540
+ void *payload);
525
541
 
526
542
  /** @} */
527
543
  GIT_END_DECL