rugged 1.6.3 → 1.9.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 (443) hide show
  1. checksums.yaml +4 -4
  2. data/ext/rugged/rugged_allocator.c +0 -54
  3. data/lib/rugged/version.rb +1 -1
  4. data/vendor/libgit2/AUTHORS +1 -0
  5. data/vendor/libgit2/CMakeLists.txt +25 -17
  6. data/vendor/libgit2/COPYING +195 -1
  7. data/vendor/libgit2/cmake/CheckPrototypeDefinitionSafe.cmake +16 -0
  8. data/vendor/libgit2/cmake/{FindIconv.cmake → FindIntlIconv.cmake} +6 -0
  9. data/vendor/libgit2/cmake/FindLLHTTP.cmake +39 -0
  10. data/vendor/libgit2/cmake/SelectGSSAPI.cmake +4 -4
  11. data/vendor/libgit2/cmake/SelectHTTPParser.cmake +23 -8
  12. data/vendor/libgit2/cmake/SelectHTTPSBackend.cmake +34 -6
  13. data/vendor/libgit2/cmake/SelectHashes.cmake +32 -11
  14. data/vendor/libgit2/cmake/SelectRegex.cmake +6 -1
  15. data/vendor/libgit2/cmake/SelectSSH.cmake +22 -17
  16. data/vendor/libgit2/cmake/SelectXdiff.cmake +9 -0
  17. data/vendor/libgit2/cmake/SelectZlib.cmake +4 -0
  18. data/vendor/libgit2/deps/llhttp/CMakeLists.txt +8 -0
  19. data/vendor/libgit2/deps/llhttp/LICENSE-MIT +22 -0
  20. data/vendor/libgit2/deps/llhttp/api.c +510 -0
  21. data/vendor/libgit2/deps/llhttp/http.c +170 -0
  22. data/vendor/libgit2/deps/llhttp/llhttp.c +10168 -0
  23. data/vendor/libgit2/deps/llhttp/llhttp.h +897 -0
  24. data/vendor/libgit2/deps/ntlmclient/CMakeLists.txt +1 -1
  25. data/vendor/libgit2/deps/ntlmclient/crypt_builtin_md4.c +311 -0
  26. data/vendor/libgit2/deps/ntlmclient/crypt_commoncrypto.c +2 -1
  27. data/vendor/libgit2/deps/ntlmclient/crypt_mbedtls.c +0 -20
  28. data/vendor/libgit2/deps/ntlmclient/crypt_openssl.c +4 -4
  29. data/vendor/libgit2/deps/ntlmclient/ntlm.c +21 -21
  30. data/vendor/libgit2/deps/ntlmclient/unicode_builtin.c +5 -4
  31. data/vendor/libgit2/deps/ntlmclient/unicode_iconv.c +2 -1
  32. data/vendor/libgit2/deps/ntlmclient/utf8.h +1176 -721
  33. data/vendor/libgit2/deps/ntlmclient/util.h +11 -0
  34. data/vendor/libgit2/deps/pcre/CMakeLists.txt +1 -0
  35. data/vendor/libgit2/deps/pcre/LICENCE +5 -5
  36. data/vendor/libgit2/deps/pcre/pcre.h +2 -2
  37. data/vendor/libgit2/deps/pcre/pcre_compile.c +6 -3
  38. data/vendor/libgit2/deps/pcre/pcre_exec.c +2 -2
  39. data/vendor/libgit2/deps/xdiff/CMakeLists.txt +28 -0
  40. data/vendor/libgit2/{src/libgit2 → deps}/xdiff/git-xdiff.h +4 -1
  41. data/vendor/libgit2/{src/libgit2 → deps}/xdiff/xdiffi.c +19 -18
  42. data/vendor/libgit2/{src/libgit2 → deps}/xdiff/xdiffi.h +2 -4
  43. data/vendor/libgit2/{src/libgit2 → deps}/xdiff/xemit.c +3 -3
  44. data/vendor/libgit2/{src/libgit2 → deps}/xdiff/xhistogram.c +7 -18
  45. data/vendor/libgit2/{src/libgit2 → deps}/xdiff/xmacros.h +18 -1
  46. data/vendor/libgit2/{src/libgit2 → deps}/xdiff/xmerge.c +22 -20
  47. data/vendor/libgit2/{src/libgit2 → deps}/xdiff/xpatience.c +21 -30
  48. data/vendor/libgit2/{src/libgit2 → deps}/xdiff/xprepare.c +13 -30
  49. data/vendor/libgit2/{src/libgit2 → deps}/xdiff/xutils.c +18 -1
  50. data/vendor/libgit2/{src/libgit2 → deps}/xdiff/xutils.h +2 -1
  51. data/vendor/libgit2/deps/zlib/CMakeLists.txt +6 -1
  52. data/vendor/libgit2/deps/zlib/LICENSE +22 -0
  53. data/vendor/libgit2/deps/zlib/adler32.c +5 -27
  54. data/vendor/libgit2/deps/zlib/crc32.c +94 -167
  55. data/vendor/libgit2/deps/zlib/deflate.c +358 -435
  56. data/vendor/libgit2/deps/zlib/deflate.h +41 -10
  57. data/vendor/libgit2/deps/zlib/gzguts.h +13 -18
  58. data/vendor/libgit2/deps/zlib/infback.c +17 -30
  59. data/vendor/libgit2/deps/zlib/inffast.c +1 -4
  60. data/vendor/libgit2/deps/zlib/inffast.h +1 -1
  61. data/vendor/libgit2/deps/zlib/inflate.c +36 -102
  62. data/vendor/libgit2/deps/zlib/inftrees.c +6 -11
  63. data/vendor/libgit2/deps/zlib/inftrees.h +6 -6
  64. data/vendor/libgit2/deps/zlib/trees.c +287 -352
  65. data/vendor/libgit2/deps/zlib/zconf.h +23 -14
  66. data/vendor/libgit2/deps/zlib/zlib.h +202 -202
  67. data/vendor/libgit2/deps/zlib/zutil.c +18 -44
  68. data/vendor/libgit2/deps/zlib/zutil.h +13 -33
  69. data/vendor/libgit2/include/git2/annotated_commit.h +12 -5
  70. data/vendor/libgit2/include/git2/apply.h +27 -6
  71. data/vendor/libgit2/include/git2/attr.h +17 -4
  72. data/vendor/libgit2/include/git2/blame.h +133 -28
  73. data/vendor/libgit2/include/git2/blob.h +71 -28
  74. data/vendor/libgit2/include/git2/branch.h +22 -15
  75. data/vendor/libgit2/include/git2/buffer.h +6 -4
  76. data/vendor/libgit2/include/git2/cert.h +2 -1
  77. data/vendor/libgit2/include/git2/checkout.h +83 -32
  78. data/vendor/libgit2/include/git2/cherrypick.h +10 -3
  79. data/vendor/libgit2/include/git2/clone.h +25 -9
  80. data/vendor/libgit2/include/git2/commit.h +132 -3
  81. data/vendor/libgit2/include/git2/common.h +138 -56
  82. data/vendor/libgit2/include/git2/config.h +93 -23
  83. data/vendor/libgit2/include/git2/credential.h +30 -2
  84. data/vendor/libgit2/include/git2/credential_helpers.h +1 -0
  85. data/vendor/libgit2/include/git2/deprecated.h +133 -3
  86. data/vendor/libgit2/include/git2/describe.h +13 -1
  87. data/vendor/libgit2/include/git2/diff.h +77 -9
  88. data/vendor/libgit2/include/git2/email.h +9 -29
  89. data/vendor/libgit2/include/git2/errors.h +49 -74
  90. data/vendor/libgit2/include/git2/filter.h +14 -7
  91. data/vendor/libgit2/include/git2/global.h +8 -1
  92. data/vendor/libgit2/include/git2/graph.h +3 -2
  93. data/vendor/libgit2/include/git2/ignore.h +10 -0
  94. data/vendor/libgit2/include/git2/index.h +100 -6
  95. data/vendor/libgit2/include/git2/indexer.h +21 -4
  96. data/vendor/libgit2/include/git2/mailmap.h +7 -1
  97. data/vendor/libgit2/include/git2/merge.h +46 -1
  98. data/vendor/libgit2/include/git2/message.h +2 -2
  99. data/vendor/libgit2/include/git2/net.h +3 -1
  100. data/vendor/libgit2/include/git2/notes.h +9 -6
  101. data/vendor/libgit2/include/git2/object.h +9 -8
  102. data/vendor/libgit2/include/git2/odb.h +91 -49
  103. data/vendor/libgit2/include/git2/odb_backend.h +80 -52
  104. data/vendor/libgit2/include/git2/oid.h +24 -25
  105. data/vendor/libgit2/include/git2/oidarray.h +7 -1
  106. data/vendor/libgit2/include/git2/pack.h +13 -1
  107. data/vendor/libgit2/include/git2/patch.h +2 -3
  108. data/vendor/libgit2/include/git2/pathspec.h +9 -0
  109. data/vendor/libgit2/include/git2/proxy.h +10 -0
  110. data/vendor/libgit2/include/git2/rebase.h +9 -6
  111. data/vendor/libgit2/include/git2/refdb.h +2 -2
  112. data/vendor/libgit2/include/git2/reflog.h +3 -2
  113. data/vendor/libgit2/include/git2/refs.h +9 -6
  114. data/vendor/libgit2/include/git2/refspec.h +14 -4
  115. data/vendor/libgit2/include/git2/remote.h +112 -18
  116. data/vendor/libgit2/include/git2/repository.h +61 -15
  117. data/vendor/libgit2/include/git2/reset.h +16 -3
  118. data/vendor/libgit2/include/git2/revert.h +9 -4
  119. data/vendor/libgit2/include/git2/revparse.h +3 -3
  120. data/vendor/libgit2/include/git2/revwalk.h +3 -2
  121. data/vendor/libgit2/include/git2/signature.h +46 -1
  122. data/vendor/libgit2/include/git2/stash.h +17 -3
  123. data/vendor/libgit2/include/git2/status.h +10 -6
  124. data/vendor/libgit2/include/git2/stdint.h +87 -85
  125. data/vendor/libgit2/include/git2/strarray.h +2 -3
  126. data/vendor/libgit2/include/git2/submodule.h +20 -9
  127. data/vendor/libgit2/include/git2/sys/alloc.h +12 -34
  128. data/vendor/libgit2/include/git2/sys/commit.h +77 -3
  129. data/vendor/libgit2/include/git2/sys/commit_graph.h +109 -58
  130. data/vendor/libgit2/include/git2/sys/config.h +80 -4
  131. data/vendor/libgit2/include/git2/sys/credential.h +4 -3
  132. data/vendor/libgit2/include/git2/sys/diff.h +21 -1
  133. data/vendor/libgit2/include/git2/sys/email.h +7 -0
  134. data/vendor/libgit2/include/git2/sys/errors.h +76 -0
  135. data/vendor/libgit2/include/git2/sys/filter.h +66 -3
  136. data/vendor/libgit2/include/git2/sys/hashsig.h +11 -0
  137. data/vendor/libgit2/include/git2/sys/index.h +3 -2
  138. data/vendor/libgit2/include/git2/sys/mempack.h +32 -2
  139. data/vendor/libgit2/include/git2/sys/merge.h +55 -7
  140. data/vendor/libgit2/include/git2/sys/midx.h +47 -4
  141. data/vendor/libgit2/include/git2/sys/odb_backend.h +7 -3
  142. data/vendor/libgit2/include/git2/sys/openssl.h +8 -1
  143. data/vendor/libgit2/include/git2/sys/path.h +12 -1
  144. data/vendor/libgit2/include/git2/sys/refdb_backend.h +40 -36
  145. data/vendor/libgit2/include/git2/sys/refs.h +3 -2
  146. data/vendor/libgit2/include/git2/sys/remote.h +8 -1
  147. data/vendor/libgit2/include/git2/sys/repository.h +63 -3
  148. data/vendor/libgit2/include/git2/sys/stream.h +25 -2
  149. data/vendor/libgit2/include/git2/sys/transport.h +44 -5
  150. data/vendor/libgit2/include/git2/tag.h +3 -1
  151. data/vendor/libgit2/include/git2/trace.h +9 -3
  152. data/vendor/libgit2/include/git2/transaction.h +3 -2
  153. data/vendor/libgit2/include/git2/transport.h +11 -3
  154. data/vendor/libgit2/include/git2/tree.h +16 -5
  155. data/vendor/libgit2/include/git2/types.h +19 -3
  156. data/vendor/libgit2/include/git2/version.h +44 -8
  157. data/vendor/libgit2/include/git2/worktree.h +19 -7
  158. data/vendor/libgit2/src/CMakeLists.txt +40 -15
  159. data/vendor/libgit2/src/cli/CMakeLists.txt +2 -2
  160. data/vendor/libgit2/src/cli/cmd.c +1 -1
  161. data/vendor/libgit2/src/cli/cmd.h +4 -0
  162. data/vendor/libgit2/src/cli/cmd_blame.c +287 -0
  163. data/vendor/libgit2/src/cli/cmd_cat_file.c +6 -8
  164. data/vendor/libgit2/src/cli/cmd_clone.c +27 -13
  165. data/vendor/libgit2/src/cli/cmd_config.c +241 -0
  166. data/vendor/libgit2/src/cli/cmd_hash_object.c +6 -8
  167. data/vendor/libgit2/src/cli/cmd_help.c +6 -7
  168. data/vendor/libgit2/src/cli/cmd_index_pack.c +114 -0
  169. data/vendor/libgit2/src/cli/cmd_init.c +102 -0
  170. data/vendor/libgit2/src/cli/common.c +168 -0
  171. data/vendor/libgit2/src/cli/common.h +63 -0
  172. data/vendor/libgit2/src/cli/error.h +1 -1
  173. data/vendor/libgit2/src/cli/main.c +52 -24
  174. data/vendor/libgit2/src/cli/opt.c +29 -3
  175. data/vendor/libgit2/src/cli/opt.h +21 -3
  176. data/vendor/libgit2/src/cli/opt_usage.c +102 -33
  177. data/vendor/libgit2/src/cli/opt_usage.h +6 -1
  178. data/vendor/libgit2/src/cli/progress.c +60 -10
  179. data/vendor/libgit2/src/cli/progress.h +16 -4
  180. data/vendor/libgit2/src/cli/unix/sighandler.c +2 -1
  181. data/vendor/libgit2/src/cli/win32/precompiled.h +1 -1
  182. data/vendor/libgit2/src/cli/win32/sighandler.c +1 -1
  183. data/vendor/libgit2/src/libgit2/CMakeLists.txt +27 -27
  184. data/vendor/libgit2/src/libgit2/annotated_commit.c +2 -2
  185. data/vendor/libgit2/src/libgit2/annotated_commit.h +1 -1
  186. data/vendor/libgit2/src/libgit2/apply.c +14 -16
  187. data/vendor/libgit2/src/libgit2/attr.c +30 -13
  188. data/vendor/libgit2/src/libgit2/attr_file.c +7 -2
  189. data/vendor/libgit2/src/libgit2/attr_file.h +2 -0
  190. data/vendor/libgit2/src/libgit2/attrcache.c +69 -33
  191. data/vendor/libgit2/src/libgit2/attrcache.h +5 -9
  192. data/vendor/libgit2/src/libgit2/blame.c +152 -59
  193. data/vendor/libgit2/src/libgit2/blame.h +1 -0
  194. data/vendor/libgit2/src/libgit2/blame_git.c +0 -1
  195. data/vendor/libgit2/src/libgit2/branch.c +2 -2
  196. data/vendor/libgit2/src/libgit2/cache.c +22 -17
  197. data/vendor/libgit2/src/libgit2/cache.h +7 -9
  198. data/vendor/libgit2/src/libgit2/checkout.c +34 -24
  199. data/vendor/libgit2/src/libgit2/checkout.h +0 -2
  200. data/vendor/libgit2/src/libgit2/cherrypick.c +4 -5
  201. data/vendor/libgit2/src/libgit2/clone.c +186 -164
  202. data/vendor/libgit2/src/libgit2/clone.h +4 -1
  203. data/vendor/libgit2/src/libgit2/commit.c +123 -9
  204. data/vendor/libgit2/src/libgit2/commit_graph.c +166 -88
  205. data/vendor/libgit2/src/libgit2/commit_graph.h +21 -6
  206. data/vendor/libgit2/src/libgit2/commit_list.c +12 -5
  207. data/vendor/libgit2/src/libgit2/commit_list.h +1 -0
  208. data/vendor/libgit2/src/libgit2/config.c +394 -300
  209. data/vendor/libgit2/src/libgit2/config.cmake.in +3 -0
  210. data/vendor/libgit2/src/libgit2/config.h +9 -4
  211. data/vendor/libgit2/src/libgit2/config_backend.h +8 -10
  212. data/vendor/libgit2/src/libgit2/config_cache.c +4 -5
  213. data/vendor/libgit2/src/libgit2/config_file.c +113 -96
  214. data/vendor/libgit2/src/libgit2/config_list.c +285 -0
  215. data/vendor/libgit2/src/libgit2/config_list.h +32 -0
  216. data/vendor/libgit2/src/libgit2/config_mem.c +194 -40
  217. data/vendor/libgit2/src/libgit2/config_parse.c +10 -9
  218. data/vendor/libgit2/src/libgit2/config_snapshot.c +24 -31
  219. data/vendor/libgit2/src/libgit2/describe.c +34 -31
  220. data/vendor/libgit2/src/libgit2/diff.c +17 -8
  221. data/vendor/libgit2/src/libgit2/diff.h +6 -6
  222. data/vendor/libgit2/src/libgit2/diff_driver.c +12 -19
  223. data/vendor/libgit2/src/libgit2/diff_driver.h +2 -2
  224. data/vendor/libgit2/src/libgit2/diff_file.c +7 -7
  225. data/vendor/libgit2/src/libgit2/diff_generate.c +39 -18
  226. data/vendor/libgit2/src/libgit2/diff_parse.c +22 -6
  227. data/vendor/libgit2/src/libgit2/diff_print.c +88 -13
  228. data/vendor/libgit2/src/libgit2/diff_tform.c +40 -12
  229. data/vendor/libgit2/src/libgit2/diff_xdiff.h +1 -1
  230. data/vendor/libgit2/src/libgit2/email.c +5 -3
  231. data/vendor/libgit2/src/libgit2/fetch.c +39 -9
  232. data/vendor/libgit2/src/libgit2/fetch.h +0 -2
  233. data/vendor/libgit2/src/libgit2/fetchhead.c +11 -9
  234. data/vendor/libgit2/src/libgit2/filter.c +5 -5
  235. data/vendor/libgit2/src/libgit2/git2.rc +3 -3
  236. data/vendor/libgit2/src/libgit2/grafts.c +270 -0
  237. data/vendor/libgit2/src/libgit2/grafts.h +35 -0
  238. data/vendor/libgit2/src/libgit2/graph.c +1 -1
  239. data/vendor/libgit2/src/libgit2/hashmap_oid.h +30 -0
  240. data/vendor/libgit2/src/libgit2/ident.c +3 -3
  241. data/vendor/libgit2/src/libgit2/ignore.c +9 -5
  242. data/vendor/libgit2/src/libgit2/index.c +392 -208
  243. data/vendor/libgit2/src/libgit2/index.h +16 -3
  244. data/vendor/libgit2/src/libgit2/index_map.c +95 -0
  245. data/vendor/libgit2/src/libgit2/index_map.h +28 -0
  246. data/vendor/libgit2/src/libgit2/indexer.c +44 -41
  247. data/vendor/libgit2/src/libgit2/iterator.c +34 -13
  248. data/vendor/libgit2/src/libgit2/iterator.h +3 -0
  249. data/vendor/libgit2/src/libgit2/libgit2.c +155 -331
  250. data/vendor/libgit2/src/libgit2/mailmap.c +1 -1
  251. data/vendor/libgit2/src/libgit2/merge.c +56 -46
  252. data/vendor/libgit2/src/libgit2/merge_driver.c +2 -2
  253. data/vendor/libgit2/src/libgit2/merge_file.c +0 -2
  254. data/vendor/libgit2/src/libgit2/midx.c +86 -44
  255. data/vendor/libgit2/src/libgit2/midx.h +13 -3
  256. data/vendor/libgit2/src/libgit2/mwindow.c +38 -45
  257. data/vendor/libgit2/src/libgit2/mwindow.h +4 -0
  258. data/vendor/libgit2/src/libgit2/notes.c +9 -8
  259. data/vendor/libgit2/src/libgit2/object.c +42 -16
  260. data/vendor/libgit2/src/libgit2/object.h +6 -0
  261. data/vendor/libgit2/src/libgit2/odb.c +16 -9
  262. data/vendor/libgit2/src/libgit2/odb_mempack.c +49 -17
  263. data/vendor/libgit2/src/libgit2/odb_pack.c +28 -7
  264. data/vendor/libgit2/src/libgit2/oid.c +35 -2
  265. data/vendor/libgit2/src/libgit2/oid.h +11 -0
  266. data/vendor/libgit2/src/libgit2/oidarray.c +49 -3
  267. data/vendor/libgit2/src/libgit2/oidarray.h +5 -1
  268. data/vendor/libgit2/src/libgit2/pack-objects.c +77 -43
  269. data/vendor/libgit2/src/libgit2/pack-objects.h +17 -6
  270. data/vendor/libgit2/src/libgit2/pack.c +33 -27
  271. data/vendor/libgit2/src/libgit2/pack.h +15 -10
  272. data/vendor/libgit2/src/libgit2/parse.c +7 -4
  273. data/vendor/libgit2/src/libgit2/parse.h +1 -1
  274. data/vendor/libgit2/src/libgit2/patch.h +7 -1
  275. data/vendor/libgit2/src/libgit2/patch_generate.c +24 -5
  276. data/vendor/libgit2/src/libgit2/patch_parse.c +18 -10
  277. data/vendor/libgit2/src/libgit2/path.c +1 -1
  278. data/vendor/libgit2/src/libgit2/pathspec.c +1 -1
  279. data/vendor/libgit2/src/libgit2/push.c +81 -30
  280. data/vendor/libgit2/src/libgit2/push.h +1 -0
  281. data/vendor/libgit2/src/libgit2/reader.c +1 -1
  282. data/vendor/libgit2/src/libgit2/rebase.c +72 -84
  283. data/vendor/libgit2/src/libgit2/refdb_fs.c +146 -70
  284. data/vendor/libgit2/src/libgit2/reflog.c +1 -2
  285. data/vendor/libgit2/src/libgit2/reflog.h +2 -0
  286. data/vendor/libgit2/src/libgit2/refs.c +34 -8
  287. data/vendor/libgit2/src/libgit2/refs.h +6 -1
  288. data/vendor/libgit2/src/libgit2/refspec.c +28 -1
  289. data/vendor/libgit2/src/libgit2/refspec.h +8 -0
  290. data/vendor/libgit2/src/libgit2/remote.c +136 -67
  291. data/vendor/libgit2/src/libgit2/remote.h +1 -0
  292. data/vendor/libgit2/src/libgit2/repository.c +789 -330
  293. data/vendor/libgit2/src/libgit2/repository.h +22 -3
  294. data/vendor/libgit2/src/libgit2/reset.c +2 -2
  295. data/vendor/libgit2/src/libgit2/revert.c +9 -13
  296. data/vendor/libgit2/src/libgit2/revparse.c +6 -3
  297. data/vendor/libgit2/src/libgit2/revwalk.c +36 -11
  298. data/vendor/libgit2/src/libgit2/revwalk.h +3 -3
  299. data/vendor/libgit2/src/libgit2/settings.c +468 -0
  300. data/vendor/libgit2/src/libgit2/settings.h +6 -2
  301. data/vendor/libgit2/src/libgit2/signature.c +132 -15
  302. data/vendor/libgit2/src/libgit2/signature.h +0 -1
  303. data/vendor/libgit2/src/libgit2/stash.c +9 -8
  304. data/vendor/libgit2/src/libgit2/status.c +1 -1
  305. data/vendor/libgit2/src/libgit2/streams/mbedtls.c +54 -61
  306. data/vendor/libgit2/src/libgit2/streams/openssl.c +40 -23
  307. data/vendor/libgit2/src/libgit2/streams/openssl.h +2 -0
  308. data/vendor/libgit2/src/libgit2/streams/openssl_dynamic.c +4 -0
  309. data/vendor/libgit2/src/libgit2/streams/openssl_dynamic.h +3 -0
  310. data/vendor/libgit2/src/libgit2/streams/schannel.c +715 -0
  311. data/vendor/libgit2/src/libgit2/streams/schannel.h +28 -0
  312. data/vendor/libgit2/src/libgit2/streams/socket.c +237 -51
  313. data/vendor/libgit2/src/libgit2/streams/socket.h +3 -1
  314. data/vendor/libgit2/src/libgit2/streams/stransport.c +79 -19
  315. data/vendor/libgit2/src/libgit2/streams/tls.c +5 -0
  316. data/vendor/libgit2/src/libgit2/submodule.c +106 -63
  317. data/vendor/libgit2/src/libgit2/submodule.h +9 -10
  318. data/vendor/libgit2/src/libgit2/tag.c +1 -1
  319. data/vendor/libgit2/src/libgit2/trailer.c +6 -6
  320. data/vendor/libgit2/src/libgit2/transaction.c +26 -20
  321. data/vendor/libgit2/src/libgit2/transaction.h +4 -1
  322. data/vendor/libgit2/src/libgit2/transport.c +4 -1
  323. data/vendor/libgit2/src/libgit2/transports/auth.h +1 -2
  324. data/vendor/libgit2/src/libgit2/transports/{auth_negotiate.c → auth_gssapi.c} +32 -32
  325. data/vendor/libgit2/src/libgit2/transports/auth_negotiate.h +1 -1
  326. data/vendor/libgit2/src/libgit2/transports/auth_ntlm.h +1 -1
  327. data/vendor/libgit2/src/libgit2/transports/{auth_ntlm.c → auth_ntlmclient.c} +12 -12
  328. data/vendor/libgit2/src/libgit2/transports/auth_sspi.c +341 -0
  329. data/vendor/libgit2/src/libgit2/transports/credential.c +1 -1
  330. data/vendor/libgit2/src/libgit2/transports/git.c +7 -8
  331. data/vendor/libgit2/src/libgit2/transports/http.c +8 -4
  332. data/vendor/libgit2/src/libgit2/transports/http.h +0 -10
  333. data/vendor/libgit2/src/libgit2/transports/httpclient.c +117 -72
  334. data/vendor/libgit2/src/libgit2/transports/httpparser.c +128 -0
  335. data/vendor/libgit2/src/libgit2/transports/httpparser.h +99 -0
  336. data/vendor/libgit2/src/libgit2/transports/local.c +21 -11
  337. data/vendor/libgit2/src/libgit2/transports/smart.c +50 -32
  338. data/vendor/libgit2/src/libgit2/transports/smart.h +26 -9
  339. data/vendor/libgit2/src/libgit2/transports/smart_pkt.c +139 -18
  340. data/vendor/libgit2/src/libgit2/transports/smart_protocol.c +209 -57
  341. data/vendor/libgit2/src/libgit2/transports/ssh.c +41 -1103
  342. data/vendor/libgit2/src/libgit2/transports/ssh_exec.c +347 -0
  343. data/vendor/libgit2/src/libgit2/transports/ssh_exec.h +26 -0
  344. data/vendor/libgit2/src/libgit2/transports/ssh_libssh2.c +1126 -0
  345. data/vendor/libgit2/src/libgit2/transports/ssh_libssh2.h +28 -0
  346. data/vendor/libgit2/src/libgit2/transports/winhttp.c +48 -21
  347. data/vendor/libgit2/src/libgit2/tree-cache.c +26 -16
  348. data/vendor/libgit2/src/libgit2/tree-cache.h +5 -3
  349. data/vendor/libgit2/src/libgit2/tree.c +35 -27
  350. data/vendor/libgit2/src/libgit2/tree.h +3 -2
  351. data/vendor/libgit2/src/libgit2/worktree.c +39 -27
  352. data/vendor/libgit2/src/util/CMakeLists.txt +4 -6
  353. data/vendor/libgit2/src/util/alloc.c +69 -7
  354. data/vendor/libgit2/src/util/alloc.h +34 -9
  355. data/vendor/libgit2/src/util/allocators/debugalloc.c +73 -0
  356. data/vendor/libgit2/src/{cli/cli.h → util/allocators/debugalloc.h} +6 -9
  357. data/vendor/libgit2/src/util/allocators/failalloc.c +0 -60
  358. data/vendor/libgit2/src/util/allocators/failalloc.h +0 -6
  359. data/vendor/libgit2/src/util/allocators/stdalloc.c +2 -115
  360. data/vendor/libgit2/src/util/allocators/win32_leakcheck.c +0 -68
  361. data/vendor/libgit2/src/util/array.h +24 -18
  362. data/vendor/libgit2/src/util/cc-compat.h +4 -0
  363. data/vendor/libgit2/src/util/ctype_compat.h +70 -0
  364. data/vendor/libgit2/src/util/date.c +22 -14
  365. data/vendor/libgit2/src/util/date.h +12 -0
  366. data/vendor/libgit2/src/util/errors.c +401 -0
  367. data/vendor/libgit2/src/{libgit2 → util}/errors.h +21 -17
  368. data/vendor/libgit2/src/util/filebuf.c +6 -1
  369. data/vendor/libgit2/src/util/filebuf.h +19 -6
  370. data/vendor/libgit2/src/util/fs_path.c +16 -5
  371. data/vendor/libgit2/src/util/fs_path.h +23 -0
  372. data/vendor/libgit2/src/util/futils.c +14 -10
  373. data/vendor/libgit2/src/util/futils.h +13 -4
  374. data/vendor/libgit2/src/util/git2_features.h.in +21 -4
  375. data/vendor/libgit2/src/util/git2_util.h +6 -0
  376. data/vendor/libgit2/src/util/hash/openssl.c +152 -0
  377. data/vendor/libgit2/src/util/hash/openssl.h +17 -1
  378. data/vendor/libgit2/src/util/hash/sha.h +4 -1
  379. data/vendor/libgit2/src/util/hashmap.h +424 -0
  380. data/vendor/libgit2/src/util/hashmap_str.h +43 -0
  381. data/vendor/libgit2/src/util/integer.h +3 -1
  382. data/vendor/libgit2/src/util/net.c +318 -161
  383. data/vendor/libgit2/src/util/net.h +27 -0
  384. data/vendor/libgit2/src/util/pool.c +1 -1
  385. data/vendor/libgit2/src/util/pool.h +5 -0
  386. data/vendor/libgit2/src/util/posix.c +54 -0
  387. data/vendor/libgit2/src/util/posix.h +22 -0
  388. data/vendor/libgit2/src/util/pqueue.h +1 -1
  389. data/vendor/libgit2/src/util/process.h +222 -0
  390. data/vendor/libgit2/src/util/rand.c +6 -10
  391. data/vendor/libgit2/src/util/regexp.c +1 -1
  392. data/vendor/libgit2/src/util/sortedcache.c +14 -13
  393. data/vendor/libgit2/src/util/sortedcache.h +3 -3
  394. data/vendor/libgit2/src/util/staticstr.h +66 -0
  395. data/vendor/libgit2/src/util/str.c +2 -2
  396. data/vendor/libgit2/src/util/strlist.c +108 -0
  397. data/vendor/libgit2/src/util/strlist.h +36 -0
  398. data/vendor/libgit2/src/util/unix/posix.h +0 -2
  399. data/vendor/libgit2/src/util/unix/process.c +629 -0
  400. data/vendor/libgit2/src/util/unix/realpath.c +23 -5
  401. data/vendor/libgit2/src/util/util.c +17 -12
  402. data/vendor/libgit2/src/util/util.h +28 -54
  403. data/vendor/libgit2/src/util/vector.c +3 -3
  404. data/vendor/libgit2/src/util/vector.h +2 -2
  405. data/vendor/libgit2/src/util/win32/error.c +1 -1
  406. data/vendor/libgit2/src/util/win32/path_w32.c +8 -8
  407. data/vendor/libgit2/src/util/win32/posix_w32.c +30 -7
  408. data/vendor/libgit2/src/util/win32/process.c +506 -0
  409. data/vendor/libgit2/src/util/win32/utf-conv.c +73 -75
  410. data/vendor/libgit2/src/util/win32/utf-conv.h +81 -14
  411. data/vendor/libgit2/src/util/win32/w32_util.c +1 -1
  412. metadata +72 -49
  413. data/vendor/libgit2/cmake/SelectWinHTTP.cmake +0 -17
  414. data/vendor/libgit2/deps/http-parser/CMakeLists.txt +0 -6
  415. data/vendor/libgit2/deps/http-parser/COPYING +0 -23
  416. data/vendor/libgit2/deps/http-parser/http_parser.c +0 -2182
  417. data/vendor/libgit2/deps/http-parser/http_parser.h +0 -305
  418. data/vendor/libgit2/deps/zlib/COPYING +0 -27
  419. data/vendor/libgit2/include/git2/sys/reflog.h +0 -21
  420. data/vendor/libgit2/src/libgit2/config_entries.c +0 -237
  421. data/vendor/libgit2/src/libgit2/config_entries.h +0 -24
  422. data/vendor/libgit2/src/libgit2/errors.c +0 -238
  423. data/vendor/libgit2/src/libgit2/idxmap.c +0 -157
  424. data/vendor/libgit2/src/libgit2/idxmap.h +0 -177
  425. data/vendor/libgit2/src/libgit2/libgit2.h +0 -15
  426. data/vendor/libgit2/src/libgit2/netops.c +0 -124
  427. data/vendor/libgit2/src/libgit2/netops.h +0 -68
  428. data/vendor/libgit2/src/libgit2/offmap.c +0 -101
  429. data/vendor/libgit2/src/libgit2/offmap.h +0 -133
  430. data/vendor/libgit2/src/libgit2/oidmap.c +0 -107
  431. data/vendor/libgit2/src/libgit2/oidmap.h +0 -128
  432. data/vendor/libgit2/src/libgit2/threadstate.c +0 -84
  433. data/vendor/libgit2/src/libgit2/threadstate.h +0 -24
  434. data/vendor/libgit2/src/libgit2/transports/ssh.h +0 -14
  435. data/vendor/libgit2/src/util/khash.h +0 -615
  436. data/vendor/libgit2/src/util/strmap.c +0 -100
  437. data/vendor/libgit2/src/util/strmap.h +0 -131
  438. /data/vendor/libgit2/cmake/{FindHTTPParser.cmake → FindHTTP_Parser.cmake} +0 -0
  439. /data/vendor/libgit2/{src/libgit2 → deps}/xdiff/xdiff.h +0 -0
  440. /data/vendor/libgit2/{src/libgit2 → deps}/xdiff/xemit.h +0 -0
  441. /data/vendor/libgit2/{src/libgit2 → deps}/xdiff/xinclude.h +0 -0
  442. /data/vendor/libgit2/{src/libgit2 → deps}/xdiff/xprepare.h +0 -0
  443. /data/vendor/libgit2/{src/libgit2 → deps}/xdiff/xtypes.h +0 -0
@@ -1,68 +0,0 @@
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_netops_h__
8
- #define INCLUDE_netops_h__
9
-
10
- #include "common.h"
11
-
12
- #include "posix.h"
13
- #include "stream.h"
14
- #include "net.h"
15
-
16
- #ifdef GIT_OPENSSL
17
- # include "streams/openssl.h"
18
- #endif
19
-
20
- typedef struct gitno_ssl {
21
- #ifdef GIT_OPENSSL
22
- SSL *ssl;
23
- #else
24
- size_t dummy;
25
- #endif
26
- } gitno_ssl;
27
-
28
- /* Represents a socket that may or may not be using SSL */
29
- typedef struct gitno_socket {
30
- GIT_SOCKET socket;
31
- gitno_ssl ssl;
32
- } gitno_socket;
33
-
34
- typedef struct gitno_buffer {
35
- char *data;
36
- size_t len;
37
- size_t offset;
38
- int (*recv)(struct gitno_buffer *buffer);
39
- void *cb_data;
40
- } gitno_buffer;
41
-
42
- /* Flags to gitno_connect */
43
- enum {
44
- /* Attempt to create an SSL connection. */
45
- GITNO_CONNECT_SSL = 1
46
- };
47
-
48
- /**
49
- * Check if the name in a cert matches the wanted hostname
50
- *
51
- * Check if a pattern from a certificate matches the hostname we
52
- * wanted to connect to according to RFC2818 rules (which specifies
53
- * HTTP over TLS). Mainly, an asterisk matches anything, but is
54
- * limited to a single url component.
55
- *
56
- * Note that this does not set an error message. It expects the user
57
- * to provide the message for the user.
58
- */
59
- int gitno__match_host(const char *pattern, const char *host);
60
-
61
- void gitno_buffer_setup_fromstream(git_stream *st, gitno_buffer *buf, char *data, size_t len);
62
- void gitno_buffer_setup_callback(gitno_buffer *buf, char *data, size_t len, int (*recv)(gitno_buffer *buf), void *cb_data);
63
- int gitno_recv(gitno_buffer *buf);
64
-
65
- int gitno_consume(gitno_buffer *buf, const char *ptr);
66
- void gitno_consume_n(gitno_buffer *buf, size_t cons);
67
-
68
- #endif
@@ -1,101 +0,0 @@
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 "offmap.h"
9
-
10
- #define kmalloc git__malloc
11
- #define kcalloc git__calloc
12
- #define krealloc git__realloc
13
- #define kreallocarray git__reallocarray
14
- #define kfree git__free
15
- #include "khash.h"
16
-
17
- __KHASH_TYPE(off, off64_t, void *)
18
-
19
- __KHASH_IMPL(off, static kh_inline, off64_t, void *, 1, kh_int64_hash_func, kh_int64_hash_equal)
20
-
21
-
22
- int git_offmap_new(git_offmap **out)
23
- {
24
- *out = kh_init(off);
25
- GIT_ERROR_CHECK_ALLOC(*out);
26
-
27
- return 0;
28
- }
29
-
30
- void git_offmap_free(git_offmap *map)
31
- {
32
- kh_destroy(off, map);
33
- }
34
-
35
- void git_offmap_clear(git_offmap *map)
36
- {
37
- kh_clear(off, map);
38
- }
39
-
40
- size_t git_offmap_size(git_offmap *map)
41
- {
42
- return kh_size(map);
43
- }
44
-
45
- void *git_offmap_get(git_offmap *map, const off64_t key)
46
- {
47
- size_t idx = kh_get(off, map, key);
48
- if (idx == kh_end(map) || !kh_exist(map, idx))
49
- return NULL;
50
- return kh_val(map, idx);
51
- }
52
-
53
- int git_offmap_set(git_offmap *map, const off64_t key, void *value)
54
- {
55
- size_t idx;
56
- int rval;
57
-
58
- idx = kh_put(off, map, key, &rval);
59
- if (rval < 0)
60
- return -1;
61
-
62
- if (rval == 0)
63
- kh_key(map, idx) = key;
64
-
65
- kh_val(map, idx) = value;
66
-
67
- return 0;
68
- }
69
-
70
- int git_offmap_delete(git_offmap *map, const off64_t key)
71
- {
72
- khiter_t idx = kh_get(off, map, key);
73
- if (idx == kh_end(map))
74
- return GIT_ENOTFOUND;
75
- kh_del(off, map, idx);
76
- return 0;
77
- }
78
-
79
- int git_offmap_exists(git_offmap *map, const off64_t key)
80
- {
81
- return kh_get(off, map, key) != kh_end(map);
82
- }
83
-
84
- int git_offmap_iterate(void **value, git_offmap *map, size_t *iter, off64_t *key)
85
- {
86
- size_t i = *iter;
87
-
88
- while (i < map->n_buckets && !kh_exist(map, i))
89
- i++;
90
-
91
- if (i >= map->n_buckets)
92
- return GIT_ITEROVER;
93
-
94
- if (key)
95
- *key = kh_key(map, i);
96
- if (value)
97
- *value = kh_value(map, i);
98
- *iter = ++i;
99
-
100
- return 0;
101
- }
@@ -1,133 +0,0 @@
1
- /*
2
- * Copyright (C) 2012 the libgit2 contributors
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_offmap_h__
8
- #define INCLUDE_offmap_h__
9
-
10
- #include "common.h"
11
-
12
- #include "git2/types.h"
13
-
14
- /** A map with `off64_t`s as key. */
15
- typedef struct kh_off_s git_offmap;
16
-
17
- /**
18
- * Allocate a new `off64_t` map.
19
- *
20
- * @param out Pointer to the map that shall be allocated.
21
- * @return 0 on success, an error code if allocation has failed.
22
- */
23
- int git_offmap_new(git_offmap **out);
24
-
25
- /**
26
- * Free memory associated with the map.
27
- *
28
- * Note that this function will _not_ free values added to this
29
- * map.
30
- *
31
- * @param map Pointer to the map that is to be free'd. May be
32
- * `NULL`.
33
- */
34
- void git_offmap_free(git_offmap *map);
35
-
36
- /**
37
- * Clear all entries from the map.
38
- *
39
- * This function will remove all entries from the associated map.
40
- * Memory associated with it will not be released, though.
41
- *
42
- * @param map Pointer to the map that shall be cleared. May be
43
- * `NULL`.
44
- */
45
- void git_offmap_clear(git_offmap *map);
46
-
47
- /**
48
- * Return the number of elements in the map.
49
- *
50
- * @parameter map map containing the elements
51
- * @return number of elements in the map
52
- */
53
- size_t git_offmap_size(git_offmap *map);
54
-
55
- /**
56
- * Return value associated with the given key.
57
- *
58
- * @param map map to search key in
59
- * @param key key to search for
60
- * @return value associated with the given key or NULL if the key was not found
61
- */
62
- void *git_offmap_get(git_offmap *map, const off64_t key);
63
-
64
- /**
65
- * Set the entry for key to value.
66
- *
67
- * If the map has no corresponding entry for the given key, a new
68
- * entry will be created with the given value. If an entry exists
69
- * already, its value will be updated to match the given value.
70
- *
71
- * @param map map to create new entry in
72
- * @param key key to set
73
- * @param value value to associate the key with; may be NULL
74
- * @return zero if the key was successfully set, a negative error
75
- * code otherwise
76
- */
77
- int git_offmap_set(git_offmap *map, const off64_t key, void *value);
78
-
79
- /**
80
- * Delete an entry from the map.
81
- *
82
- * Delete the given key and its value from the map. If no such
83
- * key exists, this will do nothing.
84
- *
85
- * @param map map to delete key in
86
- * @param key key to delete
87
- * @return `0` if the key has been deleted, GIT_ENOTFOUND if no
88
- * such key was found, a negative code in case of an
89
- * error
90
- */
91
- int git_offmap_delete(git_offmap *map, const off64_t key);
92
-
93
- /**
94
- * Check whether a key exists in the given map.
95
- *
96
- * @param map map to query for the key
97
- * @param key key to search for
98
- * @return 0 if the key has not been found, 1 otherwise
99
- */
100
- int git_offmap_exists(git_offmap *map, const off64_t key);
101
-
102
- /**
103
- * Iterate over entries of the map.
104
- *
105
- * This functions allows to iterate over all key-value entries of
106
- * the map. The current position is stored in the `iter` variable
107
- * and should be initialized to `0` before the first call to this
108
- * function.
109
- *
110
- * @param map map to iterate over
111
- * @param value pointer to the variable where to store the current
112
- * value. May be NULL.
113
- * @param iter iterator storing the current position. Initialize
114
- * with zero previous to the first call.
115
- * @param key pointer to the variable where to store the current
116
- * key. May be NULL.
117
- * @return `0` if the next entry was correctly retrieved.
118
- * GIT_ITEROVER if no entries are left. A negative error
119
- * code otherwise.
120
- */
121
- int git_offmap_iterate(void **value, git_offmap *map, size_t *iter, off64_t *key);
122
-
123
- #define git_offmap_foreach(h, kvar, vvar, code) { size_t __i = 0; \
124
- while (git_offmap_iterate((void **) &(vvar), h, &__i, &(kvar)) == 0) { \
125
- code; \
126
- } }
127
-
128
- #define git_offmap_foreach_value(h, vvar, code) { size_t __i = 0; \
129
- while (git_offmap_iterate((void **) &(vvar), h, &__i, NULL) == 0) { \
130
- code; \
131
- } }
132
-
133
- #endif
@@ -1,107 +0,0 @@
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 "oidmap.h"
9
-
10
- #define kmalloc git__malloc
11
- #define kcalloc git__calloc
12
- #define krealloc git__realloc
13
- #define kreallocarray git__reallocarray
14
- #define kfree git__free
15
- #include "khash.h"
16
-
17
- __KHASH_TYPE(oid, const git_oid *, void *)
18
-
19
- GIT_INLINE(khint_t) git_oidmap_hash(const git_oid *oid)
20
- {
21
- khint_t h;
22
- memcpy(&h, oid->id, sizeof(khint_t));
23
- return h;
24
- }
25
-
26
- __KHASH_IMPL(oid, static kh_inline, const git_oid *, void *, 1, git_oidmap_hash, git_oid_equal)
27
-
28
- int git_oidmap_new(git_oidmap **out)
29
- {
30
- *out = kh_init(oid);
31
- GIT_ERROR_CHECK_ALLOC(*out);
32
-
33
- return 0;
34
- }
35
-
36
- void git_oidmap_free(git_oidmap *map)
37
- {
38
- kh_destroy(oid, map);
39
- }
40
-
41
- void git_oidmap_clear(git_oidmap *map)
42
- {
43
- kh_clear(oid, map);
44
- }
45
-
46
- size_t git_oidmap_size(git_oidmap *map)
47
- {
48
- return kh_size(map);
49
- }
50
-
51
- void *git_oidmap_get(git_oidmap *map, const git_oid *key)
52
- {
53
- size_t idx = kh_get(oid, map, key);
54
- if (idx == kh_end(map) || !kh_exist(map, idx))
55
- return NULL;
56
- return kh_val(map, idx);
57
- }
58
-
59
- int git_oidmap_set(git_oidmap *map, const git_oid *key, void *value)
60
- {
61
- size_t idx;
62
- int rval;
63
-
64
- idx = kh_put(oid, map, key, &rval);
65
- if (rval < 0)
66
- return -1;
67
-
68
- if (rval == 0)
69
- kh_key(map, idx) = key;
70
-
71
- kh_val(map, idx) = value;
72
-
73
- return 0;
74
- }
75
-
76
- int git_oidmap_delete(git_oidmap *map, const git_oid *key)
77
- {
78
- khiter_t idx = kh_get(oid, map, key);
79
- if (idx == kh_end(map))
80
- return GIT_ENOTFOUND;
81
- kh_del(oid, map, idx);
82
- return 0;
83
- }
84
-
85
- int git_oidmap_exists(git_oidmap *map, const git_oid *key)
86
- {
87
- return kh_get(oid, map, key) != kh_end(map);
88
- }
89
-
90
- int git_oidmap_iterate(void **value, git_oidmap *map, size_t *iter, const git_oid **key)
91
- {
92
- size_t i = *iter;
93
-
94
- while (i < map->n_buckets && !kh_exist(map, i))
95
- i++;
96
-
97
- if (i >= map->n_buckets)
98
- return GIT_ITEROVER;
99
-
100
- if (key)
101
- *key = kh_key(map, i);
102
- if (value)
103
- *value = kh_value(map, i);
104
- *iter = ++i;
105
-
106
- return 0;
107
- }
@@ -1,128 +0,0 @@
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_oidmap_h__
8
- #define INCLUDE_oidmap_h__
9
-
10
- #include "common.h"
11
-
12
- #include "git2/oid.h"
13
-
14
- /** A map with `git_oid`s as key. */
15
- typedef struct kh_oid_s git_oidmap;
16
-
17
- /**
18
- * Allocate a new OID map.
19
- *
20
- * @param out Pointer to the map that shall be allocated.
21
- * @return 0 on success, an error code if allocation has failed.
22
- */
23
- int git_oidmap_new(git_oidmap **out);
24
-
25
- /**
26
- * Free memory associated with the map.
27
- *
28
- * Note that this function will _not_ free values added to this
29
- * map.
30
- *
31
- * @param map Pointer to the map that is to be free'd. May be
32
- * `NULL`.
33
- */
34
- void git_oidmap_free(git_oidmap *map);
35
-
36
- /**
37
- * Clear all entries from the map.
38
- *
39
- * This function will remove all entries from the associated map.
40
- * Memory associated with it will not be released, though.
41
- *
42
- * @param map Pointer to the map that shall be cleared. May be
43
- * `NULL`.
44
- */
45
- void git_oidmap_clear(git_oidmap *map);
46
-
47
- /**
48
- * Return the number of elements in the map.
49
- *
50
- * @parameter map map containing the elements
51
- * @return number of elements in the map
52
- */
53
- size_t git_oidmap_size(git_oidmap *map);
54
-
55
- /**
56
- * Return value associated with the given key.
57
- *
58
- * @param map map to search key in
59
- * @param key key to search for
60
- * @return value associated with the given key or NULL if the key was not found
61
- */
62
- void *git_oidmap_get(git_oidmap *map, const git_oid *key);
63
-
64
- /**
65
- * Set the entry for key to value.
66
- *
67
- * If the map has no corresponding entry for the given key, a new
68
- * entry will be created with the given value. If an entry exists
69
- * already, its value will be updated to match the given value.
70
- *
71
- * @param map map to create new entry in
72
- * @param key key to set
73
- * @param value value to associate the key with; may be NULL
74
- * @return zero if the key was successfully set, a negative error
75
- * code otherwise
76
- */
77
- int git_oidmap_set(git_oidmap *map, const git_oid *key, void *value);
78
-
79
- /**
80
- * Delete an entry from the map.
81
- *
82
- * Delete the given key and its value from the map. If no such
83
- * key exists, this will do nothing.
84
- *
85
- * @param map map to delete key in
86
- * @param key key to delete
87
- * @return `0` if the key has been deleted, GIT_ENOTFOUND if no
88
- * such key was found, a negative code in case of an
89
- * error
90
- */
91
- int git_oidmap_delete(git_oidmap *map, const git_oid *key);
92
-
93
- /**
94
- * Check whether a key exists in the given map.
95
- *
96
- * @param map map to query for the key
97
- * @param key key to search for
98
- * @return 0 if the key has not been found, 1 otherwise
99
- */
100
- int git_oidmap_exists(git_oidmap *map, const git_oid *key);
101
-
102
- /**
103
- * Iterate over entries of the map.
104
- *
105
- * This functions allows to iterate over all key-value entries of
106
- * the map. The current position is stored in the `iter` variable
107
- * and should be initialized to `0` before the first call to this
108
- * function.
109
- *
110
- * @param map map to iterate over
111
- * @param value pointer to the variable where to store the current
112
- * value. May be NULL.
113
- * @param iter iterator storing the current position. Initialize
114
- * with zero previous to the first call.
115
- * @param key pointer to the variable where to store the current
116
- * key. May be NULL.
117
- * @return `0` if the next entry was correctly retrieved.
118
- * GIT_ITEROVER if no entries are left. A negative error
119
- * code otherwise.
120
- */
121
- int git_oidmap_iterate(void **value, git_oidmap *map, size_t *iter, const git_oid **key);
122
-
123
- #define git_oidmap_foreach_value(h, vvar, code) { size_t __i = 0; \
124
- while (git_oidmap_iterate((void **) &(vvar), h, &__i, NULL) == 0) { \
125
- code; \
126
- } }
127
-
128
- #endif
@@ -1,84 +0,0 @@
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
- if (threadstate->error_t.message != git_str__initstr)
40
- git__free(threadstate->error_t.message);
41
- threadstate->error_t.message = NULL;
42
- }
43
-
44
- static void GIT_SYSTEM_CALL threadstate_free(void *threadstate)
45
- {
46
- threadstate_dispose(threadstate);
47
- git__free(threadstate);
48
- }
49
-
50
- static void git_threadstate_global_shutdown(void)
51
- {
52
- git_threadstate *threadstate;
53
-
54
- threadstate = git_tlsdata_get(tls_key);
55
- git_tlsdata_set(tls_key, NULL);
56
-
57
- threadstate_dispose(threadstate);
58
- git__free(threadstate);
59
-
60
- git_tlsdata_dispose(tls_key);
61
- }
62
-
63
- int git_threadstate_global_init(void)
64
- {
65
- if (git_tlsdata_init(&tls_key, &threadstate_free) != 0)
66
- return -1;
67
-
68
- return git_runtime_shutdown_register(git_threadstate_global_shutdown);
69
- }
70
-
71
- git_threadstate *git_threadstate_get(void)
72
- {
73
- git_threadstate *threadstate;
74
-
75
- if ((threadstate = git_tlsdata_get(tls_key)) != NULL)
76
- return threadstate;
77
-
78
- if ((threadstate = git__calloc(1, sizeof(git_threadstate))) == NULL ||
79
- git_str_init(&threadstate->error_buf, 0) < 0)
80
- return NULL;
81
-
82
- git_tlsdata_set(tls_key, threadstate);
83
- return threadstate;
84
- }
@@ -1,24 +0,0 @@
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_str error_buf;
16
- char oid_fmt[GIT_OID_SHA1_HEXSIZE+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
@@ -1,14 +0,0 @@
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_transports_ssh_h__
8
- #define INCLUDE_transports_ssh_h__
9
-
10
- #include "common.h"
11
-
12
- int git_transport_ssh_global_init(void);
13
-
14
- #endif