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
@@ -0,0 +1,83 @@
1
+ /*
2
+ * Copyright (C) the libgit2 contributors. All rights reserved.
3
+ *
4
+ * This file is part of libgit2, distributed under the GNU GPL v2 with
5
+ * a Linking Exception. For full terms see the included COPYING file.
6
+ */
7
+
8
+ #include "threadstate.h"
9
+ #include "runtime.h"
10
+
11
+ /**
12
+ * Handle the thread-local state
13
+ *
14
+ * `git_threadstate_global_init` will be called as part
15
+ * of `git_libgit2_init` (which itself must be called
16
+ * before calling any other function in the library).
17
+ *
18
+ * This function allocates a TLS index to store the per-
19
+ * thread state.
20
+ *
21
+ * Any internal method that requires thread-local state
22
+ * will then call `git_threadstate_get()` which returns a
23
+ * pointer to the thread-local state structure; this
24
+ * structure is lazily allocated on each thread.
25
+ *
26
+ * This mechanism will register a shutdown handler
27
+ * (`git_threadstate_global_shutdown`) which will free the
28
+ * TLS index. This shutdown handler will be called by
29
+ * `git_libgit2_shutdown`.
30
+ */
31
+
32
+ static git_tlsdata_key tls_key;
33
+
34
+ static void threadstate_dispose(git_threadstate *threadstate)
35
+ {
36
+ if (!threadstate)
37
+ return;
38
+
39
+ git__free(threadstate->error_t.message);
40
+ threadstate->error_t.message = NULL;
41
+ }
42
+
43
+ static void GIT_SYSTEM_CALL threadstate_free(void *threadstate)
44
+ {
45
+ threadstate_dispose(threadstate);
46
+ git__free(threadstate);
47
+ }
48
+
49
+ static void git_threadstate_global_shutdown(void)
50
+ {
51
+ git_threadstate *threadstate;
52
+
53
+ threadstate = git_tlsdata_get(tls_key);
54
+ git_tlsdata_set(tls_key, NULL);
55
+
56
+ threadstate_dispose(threadstate);
57
+ git__free(threadstate);
58
+
59
+ git_tlsdata_dispose(tls_key);
60
+ }
61
+
62
+ int git_threadstate_global_init(void)
63
+ {
64
+ if (git_tlsdata_init(&tls_key, &threadstate_free) != 0)
65
+ return -1;
66
+
67
+ return git_runtime_shutdown_register(git_threadstate_global_shutdown);
68
+ }
69
+
70
+ git_threadstate *git_threadstate_get(void)
71
+ {
72
+ git_threadstate *threadstate;
73
+
74
+ if ((threadstate = git_tlsdata_get(tls_key)) != NULL)
75
+ return threadstate;
76
+
77
+ if ((threadstate = git__calloc(1, sizeof(git_threadstate))) == NULL ||
78
+ git_buf_init(&threadstate->error_buf, 0) < 0)
79
+ return NULL;
80
+
81
+ git_tlsdata_set(tls_key, threadstate);
82
+ return threadstate;
83
+ }
@@ -0,0 +1,24 @@
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_threadstate_h__
8
+ #define INCLUDE_threadstate_h__
9
+
10
+ #include "common.h"
11
+
12
+ typedef struct {
13
+ git_error *last_error;
14
+ git_error error_t;
15
+ git_buf error_buf;
16
+ char oid_fmt[GIT_OID_HEXSZ+1];
17
+ } git_threadstate;
18
+
19
+ extern int git_threadstate_global_init(void);
20
+ extern git_threadstate *git_threadstate_get(void);
21
+
22
+ #define GIT_THREADSTATE (git_threadstate_get())
23
+
24
+ #endif
@@ -8,7 +8,7 @@
8
8
  #include "trace.h"
9
9
 
10
10
  #include "buffer.h"
11
- #include "global.h"
11
+ #include "runtime.h"
12
12
  #include "git2/trace.h"
13
13
 
14
14
  #ifdef GIT_TRACE
@@ -20,7 +20,7 @@ struct git_trace_data git_trace__data = {0};
20
20
  int git_trace_set(git_trace_level_t level, git_trace_cb callback)
21
21
  {
22
22
  #ifdef GIT_TRACE
23
- assert(level == 0 || callback != NULL);
23
+ GIT_ASSERT_ARG(level == 0 || callback != NULL);
24
24
 
25
25
  git_trace__data.level = level;
26
26
  git_trace__data.callback = callback;
@@ -23,28 +23,32 @@ extern struct git_trace_data git_trace__data;
23
23
 
24
24
  GIT_INLINE(void) git_trace__write_fmt(
25
25
  git_trace_level_t level,
26
- const char *fmt, ...)
26
+ const char *fmt,
27
+ va_list ap)
27
28
  {
28
29
  git_trace_cb callback = git_trace__data.callback;
29
30
  git_buf message = GIT_BUF_INIT;
30
- va_list ap;
31
31
 
32
- va_start(ap, fmt);
33
32
  git_buf_vprintf(&message, fmt, ap);
34
- va_end(ap);
35
33
 
36
34
  callback(level, git_buf_cstr(&message));
37
35
 
38
36
  git_buf_dispose(&message);
39
37
  }
40
38
 
41
- #define git_trace_level() (git_trace__data.level)
42
- #define git_trace(l, ...) { \
43
- if (git_trace__data.level >= l && \
44
- git_trace__data.callback != NULL) { \
45
- git_trace__write_fmt(l, __VA_ARGS__); \
46
- } \
47
- }
39
+ #define git_trace_level() (git_trace__data.level)
40
+
41
+ GIT_INLINE(void) git_trace(git_trace_level_t level, const char *fmt, ...)
42
+ {
43
+ if (git_trace__data.level >= level &&
44
+ git_trace__data.callback != NULL) {
45
+ va_list ap;
46
+
47
+ va_start(ap, fmt);
48
+ git_trace__write_fmt(level, fmt, ap);
49
+ va_end(ap);
50
+ }
51
+ }
48
52
 
49
53
  #else
50
54
 
@@ -56,8 +60,8 @@ GIT_INLINE(void) git_trace__null(
56
60
  GIT_UNUSED(fmt);
57
61
  }
58
62
 
59
- #define git_trace_level() ((git_trace_level_t)0)
60
- #define git_trace git_trace__null
63
+ #define git_trace_level() ((git_trace_level_t)0)
64
+ #define git_trace git_trace__null
61
65
 
62
66
  #endif
63
67
 
@@ -57,7 +57,9 @@ struct git_transaction {
57
57
  int git_transaction_config_new(git_transaction **out, git_config *cfg)
58
58
  {
59
59
  git_transaction *tx;
60
- assert(out && cfg);
60
+
61
+ GIT_ASSERT_ARG(out);
62
+ GIT_ASSERT_ARG(cfg);
61
63
 
62
64
  tx = git__calloc(1, sizeof(git_transaction));
63
65
  GIT_ERROR_CHECK_ALLOC(tx);
@@ -74,9 +76,11 @@ int git_transaction_new(git_transaction **out, git_repository *repo)
74
76
  git_pool pool;
75
77
  git_transaction *tx = NULL;
76
78
 
77
- assert(out && repo);
79
+ GIT_ASSERT_ARG(out);
80
+ GIT_ASSERT_ARG(repo);
78
81
 
79
- git_pool_init(&pool, 1);
82
+ if ((error = git_pool_init(&pool, 1)) < 0)
83
+ goto on_error;
80
84
 
81
85
  tx = git_pool_mallocz(&pool, sizeof(git_transaction));
82
86
  if (!tx) {
@@ -108,7 +112,8 @@ int git_transaction_lock_ref(git_transaction *tx, const char *refname)
108
112
  int error;
109
113
  transaction_node *node;
110
114
 
111
- assert(tx && refname);
115
+ GIT_ASSERT_ARG(tx);
116
+ GIT_ASSERT_ARG(refname);
112
117
 
113
118
  node = git_pool_mallocz(&tx->pool, sizeof(transaction_node));
114
119
  GIT_ERROR_CHECK_ALLOC(node);
@@ -175,7 +180,9 @@ int git_transaction_set_target(git_transaction *tx, const char *refname, const g
175
180
  int error;
176
181
  transaction_node *node;
177
182
 
178
- assert(tx && refname && target);
183
+ GIT_ASSERT_ARG(tx);
184
+ GIT_ASSERT_ARG(refname);
185
+ GIT_ASSERT_ARG(target);
179
186
 
180
187
  if ((error = find_locked(&node, tx, refname)) < 0)
181
188
  return error;
@@ -194,7 +201,9 @@ int git_transaction_set_symbolic_target(git_transaction *tx, const char *refname
194
201
  int error;
195
202
  transaction_node *node;
196
203
 
197
- assert(tx && refname && target);
204
+ GIT_ASSERT_ARG(tx);
205
+ GIT_ASSERT_ARG(refname);
206
+ GIT_ASSERT_ARG(target);
198
207
 
199
208
  if ((error = find_locked(&node, tx, refname)) < 0)
200
209
  return error;
@@ -271,7 +280,9 @@ int git_transaction_set_reflog(git_transaction *tx, const char *refname, const g
271
280
  int error;
272
281
  transaction_node *node;
273
282
 
274
- assert(tx && refname && reflog);
283
+ GIT_ASSERT_ARG(tx);
284
+ GIT_ASSERT_ARG(refname);
285
+ GIT_ASSERT_ARG(reflog);
275
286
 
276
287
  if ((error = find_locked(&node, tx, refname)) < 0)
277
288
  return error;
@@ -319,7 +330,7 @@ int git_transaction_commit(git_transaction *tx)
319
330
  transaction_node *node;
320
331
  int error = 0;
321
332
 
322
- assert(tx);
333
+ GIT_ASSERT_ARG(tx);
323
334
 
324
335
  if (tx->type == TRANSACTION_CONFIG) {
325
336
  error = git_config_unlock(tx->cfg, true);
@@ -354,7 +365,8 @@ void git_transaction_free(git_transaction *tx)
354
365
  transaction_node *node;
355
366
  git_pool pool;
356
367
 
357
- assert(tx);
368
+ if (!tx)
369
+ return;
358
370
 
359
371
  if (tx->type == TRANSACTION_CONFIG) {
360
372
  if (tx->cfg) {
@@ -148,8 +148,8 @@ int git_transport_register(
148
148
  size_t i;
149
149
  int error = 0;
150
150
 
151
- assert(scheme);
152
- assert(cb);
151
+ GIT_ASSERT_ARG(scheme);
152
+ GIT_ASSERT_ARG(cb);
153
153
 
154
154
  if ((error = git_buf_printf(&prefix, "%s://", scheme)) < 0)
155
155
  goto on_error;
@@ -186,7 +186,7 @@ int git_transport_unregister(const char *scheme)
186
186
  size_t i;
187
187
  int error = 0;
188
188
 
189
- assert(scheme);
189
+ GIT_ASSERT_ARG(scheme);
190
190
 
191
191
  if ((error = git_buf_printf(&prefix, "%s://", scheme)) < 0)
192
192
  goto done;
@@ -18,7 +18,7 @@ static int basic_next_token(
18
18
  {
19
19
  git_credential_userpass_plaintext *cred;
20
20
  git_buf raw = GIT_BUF_INIT;
21
- int error = -1;
21
+ int error = GIT_EAUTH;
22
22
 
23
23
  GIT_UNUSED(ctx);
24
24
 
@@ -65,7 +65,9 @@ static int negotiate_set_challenge(
65
65
  {
66
66
  http_auth_negotiate_context *ctx = (http_auth_negotiate_context *)c;
67
67
 
68
- assert(ctx && ctx->configured && challenge);
68
+ GIT_ASSERT_ARG(ctx);
69
+ GIT_ASSERT_ARG(challenge);
70
+ GIT_ASSERT(ctx->configured);
69
71
 
70
72
  git__free(ctx->challenge);
71
73
 
@@ -108,7 +110,12 @@ static int negotiate_next_token(
108
110
  size_t challenge_len;
109
111
  int error = 0;
110
112
 
111
- assert(buf && ctx && ctx->configured && cred && cred->credtype == GIT_CREDENTIAL_DEFAULT);
113
+ GIT_ASSERT_ARG(buf);
114
+ GIT_ASSERT_ARG(ctx);
115
+ GIT_ASSERT_ARG(cred);
116
+
117
+ GIT_ASSERT(ctx->configured);
118
+ GIT_ASSERT(cred->credtype == GIT_CREDENTIAL_DEFAULT);
112
119
 
113
120
  if (ctx->complete)
114
121
  return 0;
@@ -202,7 +209,7 @@ static int negotiate_is_complete(git_http_auth_context *c)
202
209
  {
203
210
  http_auth_negotiate_context *ctx = (http_auth_negotiate_context *)c;
204
211
 
205
- assert(ctx);
212
+ GIT_ASSERT_ARG(ctx);
206
213
 
207
214
  return (ctx->complete == 1);
208
215
  }
@@ -260,7 +267,7 @@ static int negotiate_init_context(
260
267
 
261
268
  if (!ctx->oid) {
262
269
  git_error_set(GIT_ERROR_NET, "negotiate authentication is not supported");
263
- return -1;
270
+ return GIT_EAUTH;
264
271
  }
265
272
 
266
273
  git_buf_puts(&ctx->target, "HTTP@");
@@ -14,7 +14,7 @@
14
14
 
15
15
  #ifdef GIT_NTLM
16
16
 
17
- #include "ntlm.h"
17
+ #include "ntlmclient.h"
18
18
 
19
19
  typedef struct {
20
20
  git_http_auth_context parent;
@@ -29,7 +29,8 @@ static int ntlm_set_challenge(
29
29
  {
30
30
  http_auth_ntlm_context *ctx = (http_auth_ntlm_context *)c;
31
31
 
32
- assert(ctx && challenge);
32
+ GIT_ASSERT_ARG(ctx);
33
+ GIT_ASSERT_ARG(challenge);
33
34
 
34
35
  git__free(ctx->challenge);
35
36
 
@@ -46,7 +47,7 @@ static int ntlm_set_credentials(http_auth_ntlm_context *ctx, git_credential *_cr
46
47
  char *domain = NULL, *domainuser = NULL;
47
48
  int error = 0;
48
49
 
49
- assert(_cred->credtype == GIT_CREDENTIAL_USERPASS_PLAINTEXT);
50
+ GIT_ASSERT(_cred->credtype == GIT_CREDENTIAL_USERPASS_PLAINTEXT);
50
51
  cred = (git_credential_userpass_plaintext *)_cred;
51
52
 
52
53
  if ((sep = strchr(cred->username, '\\')) != NULL) {
@@ -84,9 +85,12 @@ static int ntlm_next_token(
84
85
  git_buf input_buf = GIT_BUF_INIT;
85
86
  const unsigned char *msg;
86
87
  size_t challenge_len, msg_len;
87
- int error = -1;
88
+ int error = GIT_EAUTH;
88
89
 
89
- assert(buf && ctx && ctx->ntlm);
90
+ GIT_ASSERT_ARG(buf);
91
+ GIT_ASSERT_ARG(ctx);
92
+
93
+ GIT_ASSERT(ctx->ntlm);
90
94
 
91
95
  challenge_len = ctx->challenge ? strlen(ctx->challenge) : 0;
92
96
 
@@ -162,7 +166,7 @@ static int ntlm_is_complete(git_http_auth_context *c)
162
166
  {
163
167
  http_auth_ntlm_context *ctx = (http_auth_ntlm_context *)c;
164
168
 
165
- assert(ctx);
169
+ GIT_ASSERT_ARG(ctx);
166
170
  return (ctx->complete == true);
167
171
  }
168
172
 
@@ -85,7 +85,9 @@ int git_credential_userpass_plaintext_new(
85
85
  {
86
86
  git_credential_userpass_plaintext *c;
87
87
 
88
- assert(cred && username && password);
88
+ GIT_ASSERT_ARG(cred);
89
+ GIT_ASSERT_ARG(username);
90
+ GIT_ASSERT_ARG(password);
89
91
 
90
92
  c = git__malloc(sizeof(git_credential_userpass_plaintext));
91
93
  GIT_ERROR_CHECK_ALLOC(c);
@@ -233,7 +235,9 @@ static int git_credential_ssh_key_type_new(
233
235
  {
234
236
  git_credential_ssh_key *c;
235
237
 
236
- assert(username && cred && privatekey);
238
+ GIT_ASSERT_ARG(username);
239
+ GIT_ASSERT_ARG(cred);
240
+ GIT_ASSERT_ARG(privatekey);
237
241
 
238
242
  c = git__calloc(1, sizeof(git_credential_ssh_key));
239
243
  GIT_ERROR_CHECK_ALLOC(c);
@@ -269,7 +273,9 @@ int git_credential_ssh_interactive_new(
269
273
  {
270
274
  git_credential_ssh_interactive *c;
271
275
 
272
- assert(out && username && prompt_callback);
276
+ GIT_ASSERT_ARG(out);
277
+ GIT_ASSERT_ARG(username);
278
+ GIT_ASSERT_ARG(prompt_callback);
273
279
 
274
280
  c = git__calloc(1, sizeof(git_credential_ssh_interactive));
275
281
  GIT_ERROR_CHECK_ALLOC(c);
@@ -290,7 +296,8 @@ int git_credential_ssh_interactive_new(
290
296
  int git_credential_ssh_key_from_agent(git_credential **cred, const char *username) {
291
297
  git_credential_ssh_key *c;
292
298
 
293
- assert(username && cred);
299
+ GIT_ASSERT_ARG(username);
300
+ GIT_ASSERT_ARG(cred);
294
301
 
295
302
  c = git__calloc(1, sizeof(git_credential_ssh_key));
296
303
  GIT_ERROR_CHECK_ALLOC(c);
@@ -317,7 +324,8 @@ int git_credential_ssh_custom_new(
317
324
  {
318
325
  git_credential_ssh_custom *c;
319
326
 
320
- assert(username && cred);
327
+ GIT_ASSERT_ARG(username);
328
+ GIT_ASSERT_ARG(cred);
321
329
 
322
330
  c = git__calloc(1, sizeof(git_credential_ssh_custom));
323
331
  GIT_ERROR_CHECK_ALLOC(c);
@@ -347,7 +355,7 @@ int git_credential_default_new(git_credential **cred)
347
355
  {
348
356
  git_credential_default *c;
349
357
 
350
- assert(cred);
358
+ GIT_ASSERT_ARG(cred);
351
359
 
352
360
  c = git__calloc(1, sizeof(git_credential_default));
353
361
  GIT_ERROR_CHECK_ALLOC(c);
@@ -364,7 +372,7 @@ int git_credential_username_new(git_credential **cred, const char *username)
364
372
  git_credential_username *c;
365
373
  size_t len, allocsize;
366
374
 
367
- assert(cred);
375
+ GIT_ASSERT_ARG(cred);
368
376
 
369
377
  len = strlen(username);
370
378
 
@@ -391,6 +399,7 @@ void git_credential_free(git_credential *cred)
391
399
 
392
400
  /* Deprecated credential functions */
393
401
 
402
+ #ifndef GIT_DEPRECATE_HARD
394
403
  int git_cred_has_username(git_credential *cred)
395
404
  {
396
405
  return git_credential_has_username(cred);
@@ -474,3 +483,4 @@ void git_cred_free(git_credential *cred)
474
483
  {
475
484
  git_credential_free(cred);
476
485
  }
486
+ #endif