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,62 @@
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_runtime_h__
8
+ #define INCLUDE_runtime_h__
9
+
10
+ #include "common.h"
11
+
12
+ typedef int (*git_runtime_init_fn)(void);
13
+ typedef void (*git_runtime_shutdown_fn)(void);
14
+
15
+ /**
16
+ * Start up a new runtime. If this is the first time that this
17
+ * function is called within the context of the current library
18
+ * or executable, then the given `init_fns` will be invoked. If
19
+ * it is not the first time, they will be ignored.
20
+ *
21
+ * The given initialization functions _may_ register shutdown
22
+ * handlers using `git_runtime_shutdown_register` to be notified
23
+ * when the runtime is shutdown.
24
+ *
25
+ * @param init_fns The list of initialization functions to call
26
+ * @param cnt The number of init_fns
27
+ * @return The number of initializations performed (including this one) or an error
28
+ */
29
+ int git_runtime_init(git_runtime_init_fn init_fns[], size_t cnt);
30
+
31
+ /*
32
+ * Returns the number of initializations active (the number of calls to
33
+ * `git_runtime_init` minus the number of calls sto `git_runtime_shutdown`).
34
+ * If 0, the runtime is not currently initialized.
35
+ *
36
+ * @return The number of initializations performed or an error
37
+ */
38
+ int git_runtime_init_count(void);
39
+
40
+ /**
41
+ * Shut down the runtime. If this is the last shutdown call,
42
+ * such that there are no remaining `init` calls, then any
43
+ * shutdown hooks that have been registered will be invoked.
44
+ *
45
+ * The number of outstanding initializations will be returned.
46
+ * If this number is 0, then the runtime is shutdown.
47
+ *
48
+ * @return The number of outstanding initializations (after this one) or an error
49
+ */
50
+ int git_runtime_shutdown(void);
51
+
52
+ /**
53
+ * Register a shutdown handler for this runtime. This should be done
54
+ * by a function invoked by `git_runtime_init` to ensure that the
55
+ * appropriate locks are taken.
56
+ *
57
+ * @param callback The shutdown handler callback
58
+ * @return 0 or an error code
59
+ */
60
+ int git_runtime_shutdown_register(git_runtime_shutdown_fn callback);
61
+
62
+ #endif
@@ -4,16 +4,8 @@
4
4
  * This file is part of libgit2, distributed under the GNU GPL v2 with
5
5
  * a Linking Exception. For full terms see the included COPYING file.
6
6
  */
7
- #ifndef INCLUDE_refdb_fs_h__
8
- #define INCLUDE_refdb_fs_h__
9
7
 
10
- #include "common.h"
8
+ extern int git_settings_global_init(void);
11
9
 
12
- #include "strmap.h"
13
-
14
- typedef struct {
15
- git_strmap *packfile;
16
- time_t packfile_time;
17
- } git_refcache;
18
-
19
- #endif
10
+ extern const char *git_libgit2__user_agent(void);
11
+ extern const char *git_libgit2__ssl_ciphers(void);
@@ -65,7 +65,8 @@ int git_signature_new(git_signature **sig_out, const char *name, const char *ema
65
65
  {
66
66
  git_signature *p = NULL;
67
67
 
68
- assert(name && email);
68
+ GIT_ASSERT_ARG(name);
69
+ GIT_ASSERT_ARG(email);
69
70
 
70
71
  *sig_out = NULL;
71
72
 
@@ -279,7 +280,8 @@ int git_signature_from_buffer(git_signature **out, const char *buf)
279
280
  const char *buf_end;
280
281
  int error;
281
282
 
282
- assert(out && buf);
283
+ GIT_ASSERT_ARG(out);
284
+ GIT_ASSERT_ARG(buf);
283
285
 
284
286
  *out = NULL;
285
287
 
@@ -302,8 +304,6 @@ void git_signature__writebuf(git_buf *buf, const char *header, const git_signatu
302
304
  int offset, hours, mins;
303
305
  char sign;
304
306
 
305
- assert(buf && sig);
306
-
307
307
  offset = sig->when.offset;
308
308
  sign = (sig->when.offset < 0 || sig->when.sign == '-') ? '-' : '+';
309
309
 
@@ -320,7 +320,8 @@ void git_signature__writebuf(git_buf *buf, const char *header, const git_signatu
320
320
 
321
321
  bool git_signature__equal(const git_signature *one, const git_signature *two)
322
322
  {
323
- assert(one && two);
323
+ GIT_ASSERT_ARG(one);
324
+ GIT_ASSERT_ARG(two);
324
325
 
325
326
  return
326
327
  git__strcmp(one->name, two->name) == 0 &&
@@ -25,9 +25,8 @@ int git_sortedcache_new(
25
25
  sc = git__calloc(1, alloclen);
26
26
  GIT_ERROR_CHECK_ALLOC(sc);
27
27
 
28
- git_pool_init(&sc->pool, 1);
29
-
30
- if (git_vector_init(&sc->items, 4, item_cmp) < 0 ||
28
+ if (git_pool_init(&sc->pool, 1) < 0 ||
29
+ git_vector_init(&sc->items, 4, item_cmp) < 0 ||
31
30
  git_strmap_new(&sc->map) < 0)
32
31
  goto fail;
33
32
 
@@ -12,7 +12,7 @@
12
12
  #include "util.h"
13
13
  #include "futils.h"
14
14
  #include "vector.h"
15
- #include "thread-utils.h"
15
+ #include "thread.h"
16
16
  #include "pool.h"
17
17
  #include "strmap.h"
18
18
 
@@ -58,7 +58,7 @@ typedef struct {
58
58
  * may be NULL. The cache makes it easy to load this and check
59
59
  * if it has been modified since the last load and/or write.
60
60
  */
61
- int git_sortedcache_new(
61
+ GIT_WARN_UNUSED_RESULT int git_sortedcache_new(
62
62
  git_sortedcache **out,
63
63
  size_t item_path_offset, /* use offsetof(struct, path-field) macro */
64
64
  git_sortedcache_free_item_fn free_item,
@@ -71,7 +71,7 @@ int git_sortedcache_new(
71
71
  * - `copy_item` can be NULL to just use memcpy
72
72
  * - if `lock`, grabs read lock on `src` during copy and releases after
73
73
  */
74
- int git_sortedcache_copy(
74
+ GIT_WARN_UNUSED_RESULT int git_sortedcache_copy(
75
75
  git_sortedcache **out,
76
76
  git_sortedcache *src,
77
77
  bool lock,
@@ -100,7 +100,7 @@ const char *git_sortedcache_path(git_sortedcache *sc);
100
100
  */
101
101
 
102
102
  /* Lock sortedcache for write */
103
- int git_sortedcache_wlock(git_sortedcache *sc);
103
+ GIT_WARN_UNUSED_RESULT int git_sortedcache_wlock(git_sortedcache *sc);
104
104
 
105
105
  /* Unlock sorted cache when done with write */
106
106
  void git_sortedcache_wunlock(git_sortedcache *sc);
@@ -120,7 +120,8 @@ void git_sortedcache_wunlock(git_sortedcache *sc);
120
120
  *
121
121
  * @return 0 if up-to-date, 1 if out-of-date, <0 on error
122
122
  */
123
- int git_sortedcache_lockandload(git_sortedcache *sc, git_buf *buf);
123
+ GIT_WARN_UNUSED_RESULT int git_sortedcache_lockandload(
124
+ git_sortedcache *sc, git_buf *buf);
124
125
 
125
126
  /* Refresh file timestamp after write completes
126
127
  * You should already be holding the write lock when you call this.
@@ -132,12 +133,13 @@ void git_sortedcache_updated(git_sortedcache *sc);
132
133
  * If `wlock` is true, grabs write lock and releases when done, otherwise
133
134
  * you should already be holding a write lock when you call this.
134
135
  */
135
- int git_sortedcache_clear(git_sortedcache *sc, bool wlock);
136
+ GIT_WARN_UNUSED_RESULT int git_sortedcache_clear(
137
+ git_sortedcache *sc, bool wlock);
136
138
 
137
139
  /* Find and/or insert item, returning pointer to item data.
138
140
  * You should already be holding the write lock when you call this.
139
141
  */
140
- int git_sortedcache_upsert(
142
+ GIT_WARN_UNUSED_RESULT int git_sortedcache_upsert(
141
143
  void **out, git_sortedcache *sc, const char *key);
142
144
 
143
145
  /* Removes entry at pos from cache
@@ -155,7 +157,7 @@ int git_sortedcache_remove(git_sortedcache *sc, size_t pos);
155
157
  */
156
158
 
157
159
  /* Lock sortedcache for read */
158
- int git_sortedcache_rlock(git_sortedcache *sc);
160
+ GIT_WARN_UNUSED_RESULT int git_sortedcache_rlock(git_sortedcache *sc);
159
161
 
160
162
  /* Unlock sorted cache when done with read */
161
163
  void git_sortedcache_runlock(git_sortedcache *sc);
@@ -173,7 +173,7 @@ static int stash_to_index(
173
173
  git_index *index,
174
174
  const char *path)
175
175
  {
176
- git_index *repo_index;
176
+ git_index *repo_index = NULL;
177
177
  git_index_entry entry = {{0}};
178
178
  struct stat st;
179
179
  int error;
@@ -187,7 +187,7 @@ static int stash_to_index(
187
187
  return error;
188
188
 
189
189
  git_index_entry__init_from_stat(&entry, &st,
190
- (repo_index != NULL || !repo_index->distrust_filemode));
190
+ (repo_index == NULL || !repo_index->distrust_filemode));
191
191
 
192
192
  entry.path = path;
193
193
 
@@ -546,7 +546,9 @@ int git_stash_save(
546
546
  git_buf msg = GIT_BUF_INIT;
547
547
  int error;
548
548
 
549
- assert(out && repo && stasher);
549
+ GIT_ASSERT_ARG(out);
550
+ GIT_ASSERT_ARG(repo);
551
+ GIT_ASSERT_ARG(stasher);
550
552
 
551
553
  if ((error = git_repository__ensure_not_bare(repo, "stash save")) < 0)
552
554
  return error;
@@ -776,10 +778,12 @@ int git_stash_apply_options_init(git_stash_apply_options *opts, unsigned int ver
776
778
  return 0;
777
779
  }
778
780
 
781
+ #ifndef GIT_DEPRECATE_HARD
779
782
  int git_stash_apply_init_options(git_stash_apply_options *opts, unsigned int version)
780
783
  {
781
784
  return git_stash_apply_options_init(opts, version);
782
785
  }
786
+ #endif
783
787
 
784
788
  #define NOTIFY_PROGRESS(opts, progress_type) \
785
789
  do { \
@@ -391,14 +391,14 @@ done:
391
391
 
392
392
  size_t git_status_list_entrycount(git_status_list *status)
393
393
  {
394
- assert(status);
394
+ GIT_ASSERT_ARG_WITH_RETVAL(status, 0);
395
395
 
396
396
  return status->paired.length;
397
397
  }
398
398
 
399
399
  const git_status_entry *git_status_byindex(git_status_list *status, size_t i)
400
400
  {
401
- assert(status);
401
+ GIT_ASSERT_ARG_WITH_RETVAL(status, NULL);
402
402
 
403
403
  return git_vector_get(&status->paired, i);
404
404
  }
@@ -492,7 +492,9 @@ int git_status_file(
492
492
  struct status_file_info sfi = {0};
493
493
  git_index *index;
494
494
 
495
- assert(status_flags && repo && path);
495
+ GIT_ASSERT_ARG(status_flags);
496
+ GIT_ASSERT_ARG(repo);
497
+ GIT_ASSERT_ARG(path);
496
498
 
497
499
  if ((error = git_repository_index__weakptr(&index, repo)) < 0)
498
500
  return error;
@@ -548,15 +550,18 @@ int git_status_options_init(git_status_options *opts, unsigned int version)
548
550
  return 0;
549
551
  }
550
552
 
553
+ #ifndef GIT_DEPRECATE_HARD
551
554
  int git_status_init_options(git_status_options *opts, unsigned int version)
552
555
  {
553
556
  return git_status_options_init(opts, version);
554
557
  }
558
+ #endif
555
559
 
556
560
  int git_status_list_get_perfdata(
557
561
  git_diff_perfdata *out, const git_status_list *status)
558
562
  {
559
- assert(out);
563
+ GIT_ASSERT_ARG(out);
564
+
560
565
  GIT_ERROR_CHECK_VERSION(out, GIT_DIFF_PERFDATA_VERSION, "git_diff_perfdata");
561
566
 
562
567
  out->stat_calls = 0;
@@ -0,0 +1,64 @@
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 "util.h"
9
+
10
+ #include "common.h"
11
+
12
+ int git_strarray_copy(git_strarray *tgt, const git_strarray *src)
13
+ {
14
+ size_t i;
15
+
16
+ GIT_ASSERT_ARG(tgt);
17
+ GIT_ASSERT_ARG(src);
18
+
19
+ memset(tgt, 0, sizeof(*tgt));
20
+
21
+ if (!src->count)
22
+ return 0;
23
+
24
+ tgt->strings = git__calloc(src->count, sizeof(char *));
25
+ GIT_ERROR_CHECK_ALLOC(tgt->strings);
26
+
27
+ for (i = 0; i < src->count; ++i) {
28
+ if (!src->strings[i])
29
+ continue;
30
+
31
+ tgt->strings[tgt->count] = git__strdup(src->strings[i]);
32
+ if (!tgt->strings[tgt->count]) {
33
+ git_strarray_dispose(tgt);
34
+ memset(tgt, 0, sizeof(*tgt));
35
+ return -1;
36
+ }
37
+
38
+ tgt->count++;
39
+ }
40
+
41
+ return 0;
42
+ }
43
+
44
+ void git_strarray_dispose(git_strarray *array)
45
+ {
46
+ size_t i;
47
+
48
+ if (array == NULL)
49
+ return;
50
+
51
+ for (i = 0; i < array->count; ++i)
52
+ git__free(array->strings[i]);
53
+
54
+ git__free(array->strings);
55
+
56
+ memset(array, 0, sizeof(*array));
57
+ }
58
+
59
+ #ifndef GIT_DEPRECATE_HARD
60
+ void git_strarray_free(git_strarray *array)
61
+ {
62
+ git_strarray_dispose(array);
63
+ }
64
+ #endif
@@ -11,7 +11,7 @@
11
11
 
12
12
  #include <ctype.h>
13
13
 
14
- #include "global.h"
14
+ #include "runtime.h"
15
15
  #include "stream.h"
16
16
  #include "streams/socket.h"
17
17
  #include "netops.h"
@@ -68,8 +68,6 @@ static void shutdown_ssl(void)
68
68
  }
69
69
  }
70
70
 
71
- int git_mbedtls__set_cert_location(const char *path, int is_dir);
72
-
73
71
  int git_mbedtls_stream_global_init(void)
74
72
  {
75
73
  int loaded = 0;
@@ -148,13 +146,11 @@ int git_mbedtls_stream_global_init(void)
148
146
 
149
147
  /* load default certificates */
150
148
  if (crtpath != NULL && stat(crtpath, &statbuf) == 0 && S_ISREG(statbuf.st_mode))
151
- loaded = (git_mbedtls__set_cert_location(crtpath, 0) == 0);
149
+ loaded = (git_mbedtls__set_cert_location(crtpath, NULL) == 0);
152
150
  if (!loaded && crtpath != NULL && stat(crtpath, &statbuf) == 0 && S_ISDIR(statbuf.st_mode))
153
- loaded = (git_mbedtls__set_cert_location(crtpath, 1) == 0);
154
-
155
- git__on_shutdown(shutdown_ssl);
151
+ loaded = (git_mbedtls__set_cert_location(NULL, crtpath) == 0);
156
152
 
157
- return 0;
153
+ return git_runtime_shutdown_register(shutdown_ssl);
158
154
 
159
155
  cleanup:
160
156
  mbedtls_ctr_drbg_free(ctr_drbg);
@@ -183,8 +179,8 @@ static int ssl_set_error(mbedtls_ssl_context *ssl, int error)
183
179
  char errbuf[512];
184
180
  int ret = -1;
185
181
 
186
- assert(error != MBEDTLS_ERR_SSL_WANT_READ);
187
- assert(error != MBEDTLS_ERR_SSL_WANT_WRITE);
182
+ GIT_ASSERT(error != MBEDTLS_ERR_SSL_WANT_READ);
183
+ GIT_ASSERT(error != MBEDTLS_ERR_SSL_WANT_WRITE);
188
184
 
189
185
  if (error != 0)
190
186
  mbedtls_strerror( error, errbuf, 512 );
@@ -425,7 +421,9 @@ int git_mbedtls_stream_new(
425
421
  git_stream *stream;
426
422
  int error;
427
423
 
428
- assert(out && host && port);
424
+ GIT_ASSERT_ARG(out);
425
+ GIT_ASSERT_ARG(host);
426
+ GIT_ASSERT_ARG(port);
429
427
 
430
428
  if ((error = git_socket_stream_new(&stream, host, port)) < 0)
431
429
  return error;
@@ -438,23 +436,22 @@ int git_mbedtls_stream_new(
438
436
  return error;
439
437
  }
440
438
 
441
- int git_mbedtls__set_cert_location(const char *path, int is_dir)
439
+ int git_mbedtls__set_cert_location(const char *file, const char *path)
442
440
  {
443
441
  int ret = 0;
444
442
  char errbuf[512];
445
443
  mbedtls_x509_crt *cacert;
446
444
 
447
- assert(path != NULL);
445
+ GIT_ASSERT_ARG(file || path);
448
446
 
449
447
  cacert = git__malloc(sizeof(mbedtls_x509_crt));
450
448
  GIT_ERROR_CHECK_ALLOC(cacert);
451
449
 
452
450
  mbedtls_x509_crt_init(cacert);
453
- if (is_dir) {
451
+ if (file)
452
+ ret = mbedtls_x509_crt_parse_file(cacert, file);
453
+ if (ret >= 0 && path)
454
454
  ret = mbedtls_x509_crt_parse_path(cacert, path);
455
- } else {
456
- ret = mbedtls_x509_crt_parse_file(cacert, path);
457
- }
458
455
  /* mbedtls_x509_crt_parse_path returns the number of invalid certs on success */
459
456
  if (ret < 0) {
460
457
  mbedtls_x509_crt_free(cacert);
@@ -14,7 +14,7 @@
14
14
  extern int git_mbedtls_stream_global_init(void);
15
15
 
16
16
  #ifdef GIT_MBEDTLS
17
- extern int git_mbedtls__set_cert_location(const char *path, int is_dir);
17
+ extern int git_mbedtls__set_cert_location(const char *file, const char *path);
18
18
 
19
19
  extern int git_mbedtls_stream_new(git_stream **out, const char *host, const char *port);
20
20
  extern int git_mbedtls_stream_wrap(git_stream **out, git_stream *in, const char *host);