rugged 1.7.2 → 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 (361) hide show
  1. checksums.yaml +4 -4
  2. data/lib/rugged/version.rb +1 -1
  3. data/vendor/libgit2/AUTHORS +1 -0
  4. data/vendor/libgit2/CMakeLists.txt +23 -10
  5. data/vendor/libgit2/COPYING +195 -1
  6. data/vendor/libgit2/cmake/{FindIconv.cmake → FindIntlIconv.cmake} +6 -0
  7. data/vendor/libgit2/cmake/FindLLHTTP.cmake +39 -0
  8. data/vendor/libgit2/cmake/SelectGSSAPI.cmake +1 -1
  9. data/vendor/libgit2/cmake/SelectHTTPParser.cmake +23 -8
  10. data/vendor/libgit2/cmake/SelectHTTPSBackend.cmake +17 -8
  11. data/vendor/libgit2/cmake/SelectHashes.cmake +28 -11
  12. data/vendor/libgit2/cmake/SelectRegex.cmake +6 -1
  13. data/vendor/libgit2/cmake/SelectSSH.cmake +22 -17
  14. data/vendor/libgit2/cmake/SelectZlib.cmake +4 -0
  15. data/vendor/libgit2/deps/llhttp/CMakeLists.txt +8 -0
  16. data/vendor/libgit2/deps/llhttp/LICENSE-MIT +22 -0
  17. data/vendor/libgit2/deps/llhttp/api.c +510 -0
  18. data/vendor/libgit2/deps/llhttp/http.c +170 -0
  19. data/vendor/libgit2/deps/llhttp/llhttp.c +10168 -0
  20. data/vendor/libgit2/deps/llhttp/llhttp.h +897 -0
  21. data/vendor/libgit2/deps/ntlmclient/CMakeLists.txt +1 -1
  22. data/vendor/libgit2/deps/ntlmclient/crypt_builtin_md4.c +311 -0
  23. data/vendor/libgit2/deps/ntlmclient/crypt_commoncrypto.c +2 -1
  24. data/vendor/libgit2/deps/ntlmclient/crypt_mbedtls.c +0 -20
  25. data/vendor/libgit2/deps/ntlmclient/crypt_openssl.c +4 -4
  26. data/vendor/libgit2/deps/ntlmclient/ntlm.c +21 -21
  27. data/vendor/libgit2/deps/ntlmclient/unicode_builtin.c +5 -4
  28. data/vendor/libgit2/deps/ntlmclient/unicode_iconv.c +2 -1
  29. data/vendor/libgit2/deps/ntlmclient/utf8.h +1176 -721
  30. data/vendor/libgit2/deps/ntlmclient/util.h +11 -0
  31. data/vendor/libgit2/deps/pcre/CMakeLists.txt +1 -0
  32. data/vendor/libgit2/deps/xdiff/xmerge.c +2 -2
  33. data/vendor/libgit2/deps/zlib/CMakeLists.txt +6 -1
  34. data/vendor/libgit2/deps/zlib/LICENSE +22 -0
  35. data/vendor/libgit2/deps/zlib/adler32.c +5 -27
  36. data/vendor/libgit2/deps/zlib/crc32.c +94 -167
  37. data/vendor/libgit2/deps/zlib/deflate.c +358 -435
  38. data/vendor/libgit2/deps/zlib/deflate.h +41 -10
  39. data/vendor/libgit2/deps/zlib/gzguts.h +13 -18
  40. data/vendor/libgit2/deps/zlib/infback.c +17 -30
  41. data/vendor/libgit2/deps/zlib/inffast.c +1 -4
  42. data/vendor/libgit2/deps/zlib/inffast.h +1 -1
  43. data/vendor/libgit2/deps/zlib/inflate.c +36 -102
  44. data/vendor/libgit2/deps/zlib/inftrees.c +6 -11
  45. data/vendor/libgit2/deps/zlib/inftrees.h +6 -6
  46. data/vendor/libgit2/deps/zlib/trees.c +287 -352
  47. data/vendor/libgit2/deps/zlib/zconf.h +23 -14
  48. data/vendor/libgit2/deps/zlib/zlib.h +202 -202
  49. data/vendor/libgit2/deps/zlib/zutil.c +18 -44
  50. data/vendor/libgit2/deps/zlib/zutil.h +13 -33
  51. data/vendor/libgit2/include/git2/annotated_commit.h +12 -5
  52. data/vendor/libgit2/include/git2/apply.h +27 -6
  53. data/vendor/libgit2/include/git2/attr.h +17 -4
  54. data/vendor/libgit2/include/git2/blame.h +133 -28
  55. data/vendor/libgit2/include/git2/blob.h +71 -28
  56. data/vendor/libgit2/include/git2/branch.h +22 -15
  57. data/vendor/libgit2/include/git2/buffer.h +6 -4
  58. data/vendor/libgit2/include/git2/cert.h +2 -1
  59. data/vendor/libgit2/include/git2/checkout.h +83 -32
  60. data/vendor/libgit2/include/git2/cherrypick.h +10 -3
  61. data/vendor/libgit2/include/git2/clone.h +25 -9
  62. data/vendor/libgit2/include/git2/commit.h +132 -3
  63. data/vendor/libgit2/include/git2/common.h +120 -63
  64. data/vendor/libgit2/include/git2/config.h +93 -23
  65. data/vendor/libgit2/include/git2/credential.h +30 -2
  66. data/vendor/libgit2/include/git2/credential_helpers.h +1 -0
  67. data/vendor/libgit2/include/git2/deprecated.h +133 -3
  68. data/vendor/libgit2/include/git2/describe.h +13 -1
  69. data/vendor/libgit2/include/git2/diff.h +38 -8
  70. data/vendor/libgit2/include/git2/email.h +9 -29
  71. data/vendor/libgit2/include/git2/errors.h +46 -73
  72. data/vendor/libgit2/include/git2/filter.h +14 -7
  73. data/vendor/libgit2/include/git2/global.h +8 -1
  74. data/vendor/libgit2/include/git2/graph.h +3 -2
  75. data/vendor/libgit2/include/git2/ignore.h +10 -0
  76. data/vendor/libgit2/include/git2/index.h +99 -14
  77. data/vendor/libgit2/include/git2/indexer.h +21 -4
  78. data/vendor/libgit2/include/git2/mailmap.h +7 -1
  79. data/vendor/libgit2/include/git2/merge.h +46 -1
  80. data/vendor/libgit2/include/git2/message.h +2 -2
  81. data/vendor/libgit2/include/git2/net.h +3 -1
  82. data/vendor/libgit2/include/git2/notes.h +9 -6
  83. data/vendor/libgit2/include/git2/object.h +9 -8
  84. data/vendor/libgit2/include/git2/odb.h +91 -49
  85. data/vendor/libgit2/include/git2/odb_backend.h +80 -52
  86. data/vendor/libgit2/include/git2/oid.h +23 -24
  87. data/vendor/libgit2/include/git2/oidarray.h +7 -1
  88. data/vendor/libgit2/include/git2/pack.h +13 -1
  89. data/vendor/libgit2/include/git2/patch.h +2 -3
  90. data/vendor/libgit2/include/git2/pathspec.h +9 -0
  91. data/vendor/libgit2/include/git2/proxy.h +10 -0
  92. data/vendor/libgit2/include/git2/rebase.h +9 -6
  93. data/vendor/libgit2/include/git2/refdb.h +2 -2
  94. data/vendor/libgit2/include/git2/reflog.h +3 -2
  95. data/vendor/libgit2/include/git2/refs.h +9 -6
  96. data/vendor/libgit2/include/git2/refspec.h +14 -4
  97. data/vendor/libgit2/include/git2/remote.h +94 -18
  98. data/vendor/libgit2/include/git2/repository.h +57 -21
  99. data/vendor/libgit2/include/git2/reset.h +16 -3
  100. data/vendor/libgit2/include/git2/revert.h +9 -4
  101. data/vendor/libgit2/include/git2/revparse.h +3 -3
  102. data/vendor/libgit2/include/git2/revwalk.h +3 -2
  103. data/vendor/libgit2/include/git2/signature.h +46 -1
  104. data/vendor/libgit2/include/git2/stash.h +17 -3
  105. data/vendor/libgit2/include/git2/status.h +10 -6
  106. data/vendor/libgit2/include/git2/stdint.h +87 -85
  107. data/vendor/libgit2/include/git2/strarray.h +2 -3
  108. data/vendor/libgit2/include/git2/submodule.h +20 -9
  109. data/vendor/libgit2/include/git2/sys/alloc.h +12 -0
  110. data/vendor/libgit2/include/git2/sys/commit.h +77 -3
  111. data/vendor/libgit2/include/git2/sys/commit_graph.h +103 -62
  112. data/vendor/libgit2/include/git2/sys/config.h +80 -4
  113. data/vendor/libgit2/include/git2/sys/credential.h +4 -3
  114. data/vendor/libgit2/include/git2/sys/diff.h +21 -1
  115. data/vendor/libgit2/include/git2/sys/email.h +7 -0
  116. data/vendor/libgit2/include/git2/sys/errors.h +76 -0
  117. data/vendor/libgit2/include/git2/sys/filter.h +66 -3
  118. data/vendor/libgit2/include/git2/sys/hashsig.h +11 -0
  119. data/vendor/libgit2/include/git2/sys/index.h +3 -2
  120. data/vendor/libgit2/include/git2/sys/mempack.h +32 -2
  121. data/vendor/libgit2/include/git2/sys/merge.h +55 -7
  122. data/vendor/libgit2/include/git2/sys/midx.h +43 -4
  123. data/vendor/libgit2/include/git2/sys/odb_backend.h +7 -3
  124. data/vendor/libgit2/include/git2/sys/openssl.h +8 -1
  125. data/vendor/libgit2/include/git2/sys/path.h +12 -1
  126. data/vendor/libgit2/include/git2/sys/refdb_backend.h +40 -36
  127. data/vendor/libgit2/include/git2/sys/refs.h +3 -2
  128. data/vendor/libgit2/include/git2/sys/remote.h +8 -1
  129. data/vendor/libgit2/include/git2/sys/repository.h +63 -3
  130. data/vendor/libgit2/include/git2/sys/stream.h +11 -2
  131. data/vendor/libgit2/include/git2/sys/transport.h +24 -3
  132. data/vendor/libgit2/include/git2/tag.h +3 -1
  133. data/vendor/libgit2/include/git2/trace.h +9 -3
  134. data/vendor/libgit2/include/git2/transaction.h +3 -2
  135. data/vendor/libgit2/include/git2/transport.h +11 -3
  136. data/vendor/libgit2/include/git2/tree.h +16 -5
  137. data/vendor/libgit2/include/git2/types.h +19 -3
  138. data/vendor/libgit2/include/git2/version.h +44 -8
  139. data/vendor/libgit2/include/git2/worktree.h +16 -6
  140. data/vendor/libgit2/src/CMakeLists.txt +6 -4
  141. data/vendor/libgit2/src/cli/CMakeLists.txt +2 -2
  142. data/vendor/libgit2/src/cli/cmd.c +1 -1
  143. data/vendor/libgit2/src/cli/cmd.h +4 -0
  144. data/vendor/libgit2/src/cli/cmd_blame.c +287 -0
  145. data/vendor/libgit2/src/cli/cmd_cat_file.c +6 -8
  146. data/vendor/libgit2/src/cli/cmd_clone.c +5 -7
  147. data/vendor/libgit2/src/cli/cmd_config.c +241 -0
  148. data/vendor/libgit2/src/cli/cmd_hash_object.c +6 -8
  149. data/vendor/libgit2/src/cli/cmd_help.c +6 -7
  150. data/vendor/libgit2/src/cli/cmd_index_pack.c +114 -0
  151. data/vendor/libgit2/src/cli/cmd_init.c +102 -0
  152. data/vendor/libgit2/src/cli/common.c +168 -0
  153. data/vendor/libgit2/src/cli/common.h +63 -0
  154. data/vendor/libgit2/src/cli/error.h +1 -1
  155. data/vendor/libgit2/src/cli/main.c +52 -24
  156. data/vendor/libgit2/src/cli/opt.c +29 -3
  157. data/vendor/libgit2/src/cli/opt.h +21 -3
  158. data/vendor/libgit2/src/cli/opt_usage.c +102 -33
  159. data/vendor/libgit2/src/cli/opt_usage.h +6 -1
  160. data/vendor/libgit2/src/cli/progress.c +51 -2
  161. data/vendor/libgit2/src/cli/progress.h +12 -0
  162. data/vendor/libgit2/src/cli/unix/sighandler.c +2 -1
  163. data/vendor/libgit2/src/cli/win32/precompiled.h +1 -1
  164. data/vendor/libgit2/src/cli/win32/sighandler.c +1 -1
  165. data/vendor/libgit2/src/libgit2/CMakeLists.txt +26 -8
  166. data/vendor/libgit2/src/libgit2/apply.c +10 -13
  167. data/vendor/libgit2/src/libgit2/attr.c +30 -13
  168. data/vendor/libgit2/src/libgit2/attr_file.c +7 -2
  169. data/vendor/libgit2/src/libgit2/attr_file.h +2 -0
  170. data/vendor/libgit2/src/libgit2/attrcache.c +69 -33
  171. data/vendor/libgit2/src/libgit2/attrcache.h +5 -9
  172. data/vendor/libgit2/src/libgit2/blame.c +130 -44
  173. data/vendor/libgit2/src/libgit2/blame.h +1 -0
  174. data/vendor/libgit2/src/libgit2/cache.c +22 -17
  175. data/vendor/libgit2/src/libgit2/cache.h +7 -9
  176. data/vendor/libgit2/src/libgit2/checkout.c +34 -24
  177. data/vendor/libgit2/src/libgit2/checkout.h +0 -2
  178. data/vendor/libgit2/src/libgit2/cherrypick.c +1 -2
  179. data/vendor/libgit2/src/libgit2/clone.c +186 -166
  180. data/vendor/libgit2/src/libgit2/clone.h +4 -1
  181. data/vendor/libgit2/src/libgit2/commit.c +92 -0
  182. data/vendor/libgit2/src/libgit2/commit_graph.c +67 -56
  183. data/vendor/libgit2/src/libgit2/commit_graph.h +1 -2
  184. data/vendor/libgit2/src/libgit2/config.c +389 -298
  185. data/vendor/libgit2/src/libgit2/config.cmake.in +3 -0
  186. data/vendor/libgit2/src/libgit2/config.h +9 -4
  187. data/vendor/libgit2/src/libgit2/config_backend.h +8 -10
  188. data/vendor/libgit2/src/libgit2/config_cache.c +4 -5
  189. data/vendor/libgit2/src/libgit2/config_file.c +99 -88
  190. data/vendor/libgit2/src/libgit2/config_list.c +285 -0
  191. data/vendor/libgit2/src/libgit2/config_list.h +32 -0
  192. data/vendor/libgit2/src/libgit2/config_mem.c +194 -40
  193. data/vendor/libgit2/src/libgit2/config_parse.c +10 -9
  194. data/vendor/libgit2/src/libgit2/config_snapshot.c +24 -31
  195. data/vendor/libgit2/src/libgit2/describe.c +24 -24
  196. data/vendor/libgit2/src/libgit2/diff.c +1 -1
  197. data/vendor/libgit2/src/libgit2/diff_driver.c +12 -19
  198. data/vendor/libgit2/src/libgit2/diff_driver.h +2 -2
  199. data/vendor/libgit2/src/libgit2/diff_generate.c +3 -3
  200. data/vendor/libgit2/src/libgit2/diff_parse.c +2 -2
  201. data/vendor/libgit2/src/libgit2/diff_print.c +65 -9
  202. data/vendor/libgit2/src/libgit2/diff_tform.c +36 -8
  203. data/vendor/libgit2/src/libgit2/email.c +1 -0
  204. data/vendor/libgit2/src/libgit2/fetch.c +5 -3
  205. data/vendor/libgit2/src/libgit2/filter.c +5 -5
  206. data/vendor/libgit2/src/libgit2/git2.rc +3 -3
  207. data/vendor/libgit2/src/libgit2/grafts.c +18 -20
  208. data/vendor/libgit2/src/libgit2/grafts.h +0 -1
  209. data/vendor/libgit2/src/libgit2/graph.c +1 -1
  210. data/vendor/libgit2/src/libgit2/hashmap_oid.h +30 -0
  211. data/vendor/libgit2/src/libgit2/ignore.c +9 -5
  212. data/vendor/libgit2/src/libgit2/index.c +68 -90
  213. data/vendor/libgit2/src/libgit2/index.h +2 -2
  214. data/vendor/libgit2/src/libgit2/index_map.c +95 -0
  215. data/vendor/libgit2/src/libgit2/index_map.h +28 -0
  216. data/vendor/libgit2/src/libgit2/indexer.c +34 -38
  217. data/vendor/libgit2/src/libgit2/iterator.c +14 -8
  218. data/vendor/libgit2/src/libgit2/libgit2.c +153 -368
  219. data/vendor/libgit2/src/libgit2/mailmap.c +1 -1
  220. data/vendor/libgit2/src/libgit2/merge.c +42 -37
  221. data/vendor/libgit2/src/libgit2/merge_driver.c +2 -2
  222. data/vendor/libgit2/src/libgit2/midx.c +28 -15
  223. data/vendor/libgit2/src/libgit2/mwindow.c +38 -45
  224. data/vendor/libgit2/src/libgit2/mwindow.h +4 -0
  225. data/vendor/libgit2/src/libgit2/object.c +6 -5
  226. data/vendor/libgit2/src/libgit2/odb.c +5 -4
  227. data/vendor/libgit2/src/libgit2/odb_mempack.c +49 -17
  228. data/vendor/libgit2/src/libgit2/odb_pack.c +13 -5
  229. data/vendor/libgit2/src/libgit2/oid.c +32 -5
  230. data/vendor/libgit2/src/libgit2/oid.h +11 -0
  231. data/vendor/libgit2/src/libgit2/pack-objects.c +58 -31
  232. data/vendor/libgit2/src/libgit2/pack-objects.h +12 -4
  233. data/vendor/libgit2/src/libgit2/pack.c +30 -24
  234. data/vendor/libgit2/src/libgit2/pack.h +15 -10
  235. data/vendor/libgit2/src/libgit2/patch_parse.c +2 -2
  236. data/vendor/libgit2/src/libgit2/path.c +1 -1
  237. data/vendor/libgit2/src/libgit2/pathspec.c +1 -1
  238. data/vendor/libgit2/src/libgit2/push.c +79 -28
  239. data/vendor/libgit2/src/libgit2/push.h +1 -0
  240. data/vendor/libgit2/src/libgit2/refdb_fs.c +128 -61
  241. data/vendor/libgit2/src/libgit2/reflog.c +1 -2
  242. data/vendor/libgit2/src/libgit2/reflog.h +2 -0
  243. data/vendor/libgit2/src/libgit2/refs.c +26 -7
  244. data/vendor/libgit2/src/libgit2/refs.h +6 -1
  245. data/vendor/libgit2/src/libgit2/refspec.c +28 -1
  246. data/vendor/libgit2/src/libgit2/refspec.h +8 -0
  247. data/vendor/libgit2/src/libgit2/remote.c +121 -61
  248. data/vendor/libgit2/src/libgit2/repository.c +231 -51
  249. data/vendor/libgit2/src/libgit2/repository.h +10 -6
  250. data/vendor/libgit2/src/libgit2/revert.c +1 -2
  251. data/vendor/libgit2/src/libgit2/revparse.c +2 -2
  252. data/vendor/libgit2/src/libgit2/revwalk.c +13 -10
  253. data/vendor/libgit2/src/libgit2/revwalk.h +3 -3
  254. data/vendor/libgit2/src/libgit2/settings.c +468 -0
  255. data/vendor/libgit2/src/libgit2/settings.h +6 -2
  256. data/vendor/libgit2/src/libgit2/signature.c +132 -15
  257. data/vendor/libgit2/src/libgit2/signature.h +0 -1
  258. data/vendor/libgit2/src/libgit2/status.c +1 -1
  259. data/vendor/libgit2/src/libgit2/streams/mbedtls.c +54 -60
  260. data/vendor/libgit2/src/libgit2/streams/openssl.c +32 -7
  261. data/vendor/libgit2/src/libgit2/streams/openssl.h +2 -0
  262. data/vendor/libgit2/src/libgit2/streams/openssl_dynamic.c +4 -0
  263. data/vendor/libgit2/src/libgit2/streams/openssl_dynamic.h +3 -0
  264. data/vendor/libgit2/src/libgit2/streams/stransport.c +39 -7
  265. data/vendor/libgit2/src/libgit2/submodule.c +106 -63
  266. data/vendor/libgit2/src/libgit2/submodule.h +6 -7
  267. data/vendor/libgit2/src/libgit2/tag.c +1 -1
  268. data/vendor/libgit2/src/libgit2/trailer.c +6 -6
  269. data/vendor/libgit2/src/libgit2/transaction.c +26 -20
  270. data/vendor/libgit2/src/libgit2/transaction.h +4 -1
  271. data/vendor/libgit2/src/libgit2/transport.c +4 -1
  272. data/vendor/libgit2/src/libgit2/transports/credential.c +1 -1
  273. data/vendor/libgit2/src/libgit2/transports/http.c +1 -2
  274. data/vendor/libgit2/src/libgit2/transports/http.h +0 -10
  275. data/vendor/libgit2/src/libgit2/transports/httpclient.c +112 -72
  276. data/vendor/libgit2/src/libgit2/transports/httpparser.c +128 -0
  277. data/vendor/libgit2/src/libgit2/transports/httpparser.h +99 -0
  278. data/vendor/libgit2/src/libgit2/transports/local.c +8 -7
  279. data/vendor/libgit2/src/libgit2/transports/smart.c +20 -8
  280. data/vendor/libgit2/src/libgit2/transports/smart.h +4 -2
  281. data/vendor/libgit2/src/libgit2/transports/smart_pkt.c +2 -2
  282. data/vendor/libgit2/src/libgit2/transports/smart_protocol.c +55 -10
  283. data/vendor/libgit2/src/libgit2/transports/ssh.c +41 -1103
  284. data/vendor/libgit2/src/libgit2/transports/ssh_exec.c +347 -0
  285. data/vendor/libgit2/src/libgit2/transports/ssh_exec.h +26 -0
  286. data/vendor/libgit2/src/libgit2/transports/ssh_libssh2.c +1126 -0
  287. data/vendor/libgit2/src/libgit2/transports/ssh_libssh2.h +28 -0
  288. data/vendor/libgit2/src/libgit2/transports/winhttp.c +35 -7
  289. data/vendor/libgit2/src/libgit2/tree.c +34 -26
  290. data/vendor/libgit2/src/libgit2/tree.h +3 -2
  291. data/vendor/libgit2/src/libgit2/worktree.c +14 -17
  292. data/vendor/libgit2/src/util/CMakeLists.txt +4 -6
  293. data/vendor/libgit2/src/util/alloc.c +4 -1
  294. data/vendor/libgit2/src/util/allocators/debugalloc.c +73 -0
  295. data/vendor/libgit2/src/{cli/cli.h → util/allocators/debugalloc.h} +6 -9
  296. data/vendor/libgit2/src/util/allocators/stdalloc.c +0 -10
  297. data/vendor/libgit2/src/util/array.h +18 -17
  298. data/vendor/libgit2/src/util/cc-compat.h +2 -0
  299. data/vendor/libgit2/src/util/ctype_compat.h +70 -0
  300. data/vendor/libgit2/src/util/date.c +22 -14
  301. data/vendor/libgit2/src/util/date.h +12 -0
  302. data/vendor/libgit2/src/util/errors.c +401 -0
  303. data/vendor/libgit2/src/{libgit2 → util}/errors.h +21 -17
  304. data/vendor/libgit2/src/util/fs_path.c +15 -4
  305. data/vendor/libgit2/src/util/fs_path.h +23 -0
  306. data/vendor/libgit2/src/util/futils.c +6 -5
  307. data/vendor/libgit2/src/util/futils.h +13 -4
  308. data/vendor/libgit2/src/util/git2_features.h.in +12 -1
  309. data/vendor/libgit2/src/util/git2_util.h +6 -0
  310. data/vendor/libgit2/src/util/hash/openssl.c +152 -0
  311. data/vendor/libgit2/src/util/hash/openssl.h +17 -1
  312. data/vendor/libgit2/src/util/hash/sha.h +4 -1
  313. data/vendor/libgit2/src/util/hashmap.h +424 -0
  314. data/vendor/libgit2/src/util/hashmap_str.h +43 -0
  315. data/vendor/libgit2/src/util/integer.h +3 -1
  316. data/vendor/libgit2/src/util/net.c +13 -7
  317. data/vendor/libgit2/src/util/net.h +2 -0
  318. data/vendor/libgit2/src/util/pool.c +1 -1
  319. data/vendor/libgit2/src/util/pool.h +5 -0
  320. data/vendor/libgit2/src/util/pqueue.h +1 -1
  321. data/vendor/libgit2/src/util/process.h +222 -0
  322. data/vendor/libgit2/src/util/rand.c +1 -7
  323. data/vendor/libgit2/src/util/regexp.c +1 -1
  324. data/vendor/libgit2/src/util/sortedcache.c +14 -13
  325. data/vendor/libgit2/src/util/sortedcache.h +3 -3
  326. data/vendor/libgit2/src/util/str.c +2 -2
  327. data/vendor/libgit2/src/util/strlist.c +108 -0
  328. data/vendor/libgit2/src/util/strlist.h +36 -0
  329. data/vendor/libgit2/src/util/unix/posix.h +0 -2
  330. data/vendor/libgit2/src/util/unix/process.c +629 -0
  331. data/vendor/libgit2/src/util/unix/realpath.c +23 -5
  332. data/vendor/libgit2/src/util/util.c +2 -2
  333. data/vendor/libgit2/src/util/util.h +4 -38
  334. data/vendor/libgit2/src/util/vector.c +3 -3
  335. data/vendor/libgit2/src/util/vector.h +2 -2
  336. data/vendor/libgit2/src/util/win32/posix_w32.c +29 -6
  337. data/vendor/libgit2/src/util/win32/process.c +506 -0
  338. metadata +45 -28
  339. data/vendor/libgit2/deps/http-parser/CMakeLists.txt +0 -6
  340. data/vendor/libgit2/deps/http-parser/COPYING +0 -23
  341. data/vendor/libgit2/deps/http-parser/http_parser.c +0 -2182
  342. data/vendor/libgit2/deps/http-parser/http_parser.h +0 -305
  343. data/vendor/libgit2/deps/zlib/COPYING +0 -27
  344. data/vendor/libgit2/include/git2/sys/reflog.h +0 -21
  345. data/vendor/libgit2/src/libgit2/config_entries.c +0 -237
  346. data/vendor/libgit2/src/libgit2/config_entries.h +0 -24
  347. data/vendor/libgit2/src/libgit2/errors.c +0 -293
  348. data/vendor/libgit2/src/libgit2/idxmap.c +0 -157
  349. data/vendor/libgit2/src/libgit2/idxmap.h +0 -177
  350. data/vendor/libgit2/src/libgit2/libgit2.h +0 -15
  351. data/vendor/libgit2/src/libgit2/offmap.c +0 -101
  352. data/vendor/libgit2/src/libgit2/offmap.h +0 -133
  353. data/vendor/libgit2/src/libgit2/oidmap.c +0 -107
  354. data/vendor/libgit2/src/libgit2/oidmap.h +0 -128
  355. data/vendor/libgit2/src/libgit2/threadstate.c +0 -97
  356. data/vendor/libgit2/src/libgit2/threadstate.h +0 -22
  357. data/vendor/libgit2/src/libgit2/transports/ssh.h +0 -14
  358. data/vendor/libgit2/src/util/khash.h +0 -615
  359. data/vendor/libgit2/src/util/strmap.c +0 -100
  360. data/vendor/libgit2/src/util/strmap.h +0 -131
  361. /data/vendor/libgit2/cmake/{FindHTTPParser.cmake → FindHTTP_Parser.cmake} +0 -0
@@ -12,13 +12,52 @@
12
12
 
13
13
  /**
14
14
  * @file git2/sys/commit_graph.h
15
- * @brief Git commit-graph
16
- * @defgroup git_commit_graph Git commit-graph APIs
15
+ * @brief Commit graphs store information about commit relationships
16
+ * @defgroup git_commit_graph Commit graphs
17
17
  * @ingroup Git
18
18
  * @{
19
19
  */
20
20
  GIT_BEGIN_DECL
21
21
 
22
+ /**
23
+ * Options structure for `git_commit_graph_open_new`.
24
+ *
25
+ * Initialize with `GIT_COMMIT_GRAPH_OPEN_OPTIONS_INIT`. Alternatively,
26
+ * you can use `git_commit_graph_open_options_init`.
27
+ */
28
+ typedef struct {
29
+ unsigned int version;
30
+
31
+ #ifdef GIT_EXPERIMENTAL_SHA256
32
+ /** The object ID type that this commit graph contains. */
33
+ git_oid_t oid_type;
34
+ #endif
35
+ } git_commit_graph_open_options;
36
+
37
+ /** Current version for the `git_commit_graph_open_options` structure */
38
+ #define GIT_COMMIT_GRAPH_OPEN_OPTIONS_VERSION 1
39
+
40
+ /** Static constructor for `git_commit_graph_open_options` */
41
+ #define GIT_COMMIT_GRAPH_OPEN_OPTIONS_INIT { \
42
+ GIT_COMMIT_GRAPH_OPEN_OPTIONS_VERSION \
43
+ }
44
+
45
+ /**
46
+ * Initialize git_commit_graph_open_options structure
47
+ *
48
+ * Initializes a `git_commit_graph_open_options` with default values.
49
+ * Equivalent to creating an instance with
50
+ * `GIT_COMMIT_GRAPH_OPEN_OPTIONS_INIT`.
51
+ *
52
+ * @param opts The `git_commit_graph_open_options` struct to initialize.
53
+ * @param version The struct version; pass `GIT_COMMIT_GRAPH_OPEN_OPTIONS_VERSION`.
54
+ * @return Zero on success; -1 on failure.
55
+ */
56
+ GIT_EXTERN(int) git_commit_graph_open_options_init(
57
+ git_commit_graph_open_options *opts,
58
+ unsigned int version);
59
+
60
+
22
61
  /**
23
62
  * Opens a `git_commit_graph` from a path to an objects directory.
24
63
  *
@@ -32,7 +71,7 @@ GIT_EXTERN(int) git_commit_graph_open(
32
71
  git_commit_graph **cgraph_out,
33
72
  const char *objects_dir
34
73
  #ifdef GIT_EXPERIMENTAL_SHA256
35
- , git_oid_t oid_type
74
+ , const git_commit_graph_open_options *options
36
75
  #endif
37
76
  );
38
77
 
@@ -46,54 +85,6 @@ GIT_EXTERN(int) git_commit_graph_open(
46
85
  */
47
86
  GIT_EXTERN(void) git_commit_graph_free(git_commit_graph *cgraph);
48
87
 
49
- /**
50
- * Create a new writer for `commit-graph` files.
51
- *
52
- * @param out Location to store the writer pointer.
53
- * @param objects_info_dir The `objects/info` directory.
54
- * The `commit-graph` file will be written in this directory.
55
- * @return 0 or an error code
56
- */
57
- GIT_EXTERN(int) git_commit_graph_writer_new(
58
- git_commit_graph_writer **out,
59
- const char *objects_info_dir
60
- #ifdef GIT_EXPERIMENTAL_SHA256
61
- , git_oid_t oid_type
62
- #endif
63
- );
64
-
65
- /**
66
- * Free the commit-graph writer and its resources.
67
- *
68
- * @param w The writer to free. If NULL no action is taken.
69
- */
70
- GIT_EXTERN(void) git_commit_graph_writer_free(git_commit_graph_writer *w);
71
-
72
- /**
73
- * Add an `.idx` file (associated to a packfile) to the writer.
74
- *
75
- * @param w The writer.
76
- * @param repo The repository that owns the `.idx` file.
77
- * @param idx_path The path of an `.idx` file.
78
- * @return 0 or an error code
79
- */
80
- GIT_EXTERN(int) git_commit_graph_writer_add_index_file(
81
- git_commit_graph_writer *w,
82
- git_repository *repo,
83
- const char *idx_path);
84
-
85
- /**
86
- * Add a revwalk to the writer. This will add all the commits from the revwalk
87
- * to the commit-graph.
88
- *
89
- * @param w The writer.
90
- * @param walk The git_revwalk.
91
- * @return 0 or an error code
92
- */
93
- GIT_EXTERN(int) git_commit_graph_writer_add_revwalk(
94
- git_commit_graph_writer *w,
95
- git_revwalk *walk);
96
-
97
88
 
98
89
  /**
99
90
  * The strategy to use when adding a new set of commits to a pre-existing
@@ -108,15 +99,19 @@ typedef enum {
108
99
  } git_commit_graph_split_strategy_t;
109
100
 
110
101
  /**
111
- * Options structure for
112
- * `git_commit_graph_writer_commit`/`git_commit_graph_writer_dump`.
102
+ * Options structure for `git_commit_graph_writer_new`.
113
103
  *
114
- * Initialize with `GIT_COMMIT_GRAPH_WRITER_OPTIONS_INIT`. Alternatively, you
115
- * can use `git_commit_graph_writer_options_init`.
104
+ * Initialize with `GIT_COMMIT_GRAPH_WRITER_OPTIONS_INIT`. Alternatively,
105
+ * you can use `git_commit_graph_writer_options_init`.
116
106
  */
117
107
  typedef struct {
118
108
  unsigned int version;
119
109
 
110
+ #ifdef GIT_EXPERIMENTAL_SHA256
111
+ /** The object ID type that this commit graph contains. */
112
+ git_oid_t oid_type;
113
+ #endif
114
+
120
115
  /**
121
116
  * The strategy to use when adding new commits to a pre-existing commit-graph
122
117
  * chain.
@@ -136,7 +131,10 @@ typedef struct {
136
131
  size_t max_commits;
137
132
  } git_commit_graph_writer_options;
138
133
 
134
+ /** Current version for the `git_commit_graph_writer_options` structure */
139
135
  #define GIT_COMMIT_GRAPH_WRITER_OPTIONS_VERSION 1
136
+
137
+ /** Static constructor for `git_commit_graph_writer_options` */
140
138
  #define GIT_COMMIT_GRAPH_WRITER_OPTIONS_INIT { \
141
139
  GIT_COMMIT_GRAPH_WRITER_OPTIONS_VERSION \
142
140
  }
@@ -155,30 +153,73 @@ GIT_EXTERN(int) git_commit_graph_writer_options_init(
155
153
  git_commit_graph_writer_options *opts,
156
154
  unsigned int version);
157
155
 
156
+ /**
157
+ * Create a new writer for `commit-graph` files.
158
+ *
159
+ * @param out Location to store the writer pointer.
160
+ * @param objects_info_dir The `objects/info` directory.
161
+ * The `commit-graph` file will be written in this directory.
162
+ * @param options The options for the commit graph writer.
163
+ * @return 0 or an error code
164
+ */
165
+ GIT_EXTERN(int) git_commit_graph_writer_new(
166
+ git_commit_graph_writer **out,
167
+ const char *objects_info_dir,
168
+ const git_commit_graph_writer_options *options);
169
+
170
+ /**
171
+ * Free the commit-graph writer and its resources.
172
+ *
173
+ * @param w The writer to free. If NULL no action is taken.
174
+ */
175
+ GIT_EXTERN(void) git_commit_graph_writer_free(git_commit_graph_writer *w);
176
+
177
+ /**
178
+ * Add an `.idx` file (associated to a packfile) to the writer.
179
+ *
180
+ * @param w The writer.
181
+ * @param repo The repository that owns the `.idx` file.
182
+ * @param idx_path The path of an `.idx` file.
183
+ * @return 0 or an error code
184
+ */
185
+ GIT_EXTERN(int) git_commit_graph_writer_add_index_file(
186
+ git_commit_graph_writer *w,
187
+ git_repository *repo,
188
+ const char *idx_path);
189
+
190
+ /**
191
+ * Add a revwalk to the writer. This will add all the commits from the revwalk
192
+ * to the commit-graph.
193
+ *
194
+ * @param w The writer.
195
+ * @param walk The git_revwalk.
196
+ * @return 0 or an error code
197
+ */
198
+ GIT_EXTERN(int) git_commit_graph_writer_add_revwalk(
199
+ git_commit_graph_writer *w,
200
+ git_revwalk *walk);
201
+
158
202
  /**
159
203
  * Write a `commit-graph` file to a file.
160
204
  *
161
205
  * @param w The writer
162
- * @param opts Pointer to git_commit_graph_writer_options struct.
163
206
  * @return 0 or an error code
164
207
  */
165
208
  GIT_EXTERN(int) git_commit_graph_writer_commit(
166
- git_commit_graph_writer *w,
167
- git_commit_graph_writer_options *opts);
209
+ git_commit_graph_writer *w);
168
210
 
169
211
  /**
170
212
  * Dump the contents of the `commit-graph` to an in-memory buffer.
171
213
  *
172
- * @param buffer Buffer where to store the contents of the `commit-graph`.
214
+ * @param[out] buffer Buffer where to store the contents of the `commit-graph`.
173
215
  * @param w The writer.
174
- * @param opts Pointer to git_commit_graph_writer_options struct.
175
216
  * @return 0 or an error code
176
217
  */
177
218
  GIT_EXTERN(int) git_commit_graph_writer_dump(
178
219
  git_buf *buffer,
179
- git_commit_graph_writer *w,
180
- git_commit_graph_writer_options *opts);
220
+ git_commit_graph_writer *w);
181
221
 
182
222
  /** @} */
183
223
  GIT_END_DECL
224
+
184
225
  #endif
@@ -13,13 +13,28 @@
13
13
 
14
14
  /**
15
15
  * @file git2/sys/config.h
16
- * @brief Git config backend routines
17
- * @defgroup git_backend Git custom backend APIs
16
+ * @brief Custom configuration database backends
17
+ * @defgroup git_backend Custom configuration database backends
18
18
  * @ingroup Git
19
19
  * @{
20
20
  */
21
21
  GIT_BEGIN_DECL
22
22
 
23
+ /**
24
+ * An entry in a configuration backend. This is provided so that
25
+ * backend implementors can have a mechanism to free their data.
26
+ */
27
+ typedef struct git_config_backend_entry {
28
+ /** The base configuration entry */
29
+ struct git_config_entry entry;
30
+
31
+ /**
32
+ * Free function for this entry; for internal purposes. Callers
33
+ * should call `git_config_entry_free` to free data.
34
+ */
35
+ void GIT_CALLBACK(free)(struct git_config_backend_entry *entry);
36
+ } git_config_backend_entry;
37
+
23
38
  /**
24
39
  * Every iterator must have this struct as its first element, so the
25
40
  * API can talk to it. You'd define your iterator as
@@ -39,7 +54,7 @@ struct git_config_iterator {
39
54
  * Return the current entry and advance the iterator. The
40
55
  * memory belongs to the library.
41
56
  */
42
- int GIT_CALLBACK(next)(git_config_entry **entry, git_config_iterator *iter);
57
+ int GIT_CALLBACK(next)(git_config_backend_entry **entry, git_config_iterator *iter);
43
58
 
44
59
  /**
45
60
  * Free the iterator
@@ -59,7 +74,7 @@ struct git_config_backend {
59
74
 
60
75
  /* Open means open the file/database and parse if necessary */
61
76
  int GIT_CALLBACK(open)(struct git_config_backend *, git_config_level_t level, const git_repository *repo);
62
- int GIT_CALLBACK(get)(struct git_config_backend *, const char *key, git_config_entry **entry);
77
+ int GIT_CALLBACK(get)(struct git_config_backend *, const char *key, git_config_backend_entry **entry);
63
78
  int GIT_CALLBACK(set)(struct git_config_backend *, const char *key, const char *value);
64
79
  int GIT_CALLBACK(set_multivar)(git_config_backend *cfg, const char *name, const char *regexp, const char *value);
65
80
  int GIT_CALLBACK(del)(struct git_config_backend *, const char *key);
@@ -83,7 +98,11 @@ struct git_config_backend {
83
98
  int GIT_CALLBACK(unlock)(struct git_config_backend *, int success);
84
99
  void GIT_CALLBACK(free)(struct git_config_backend *);
85
100
  };
101
+
102
+ /** Current version for the `git_config_backend_options` structure */
86
103
  #define GIT_CONFIG_BACKEND_VERSION 1
104
+
105
+ /** Static constructor for `git_config_backend_options` */
87
106
  #define GIT_CONFIG_BACKEND_INIT {GIT_CONFIG_BACKEND_VERSION}
88
107
 
89
108
  /**
@@ -125,6 +144,63 @@ GIT_EXTERN(int) git_config_add_backend(
125
144
  const git_repository *repo,
126
145
  int force);
127
146
 
147
+ /** Options for in-memory configuration backends. */
148
+ typedef struct {
149
+ unsigned int version;
150
+
151
+ /**
152
+ * The type of this backend (eg, "command line"). If this is
153
+ * NULL, then this will be "in-memory".
154
+ */
155
+ const char *backend_type;
156
+
157
+ /**
158
+ * The path to the origin; if this is NULL then it will be
159
+ * left unset in the resulting configuration entries.
160
+ */
161
+ const char *origin_path;
162
+ } git_config_backend_memory_options;
163
+
164
+ /** Current version for the `git_config_backend_memory_options` structure */
165
+ #define GIT_CONFIG_BACKEND_MEMORY_OPTIONS_VERSION 1
166
+
167
+ /** Static constructor for `git_config_backend_memory_options` */
168
+ #define GIT_CONFIG_BACKEND_MEMORY_OPTIONS_INIT { GIT_CONFIG_BACKEND_MEMORY_OPTIONS_VERSION }
169
+
170
+
171
+ /**
172
+ * Create an in-memory configuration backend from a string in standard
173
+ * git configuration file format.
174
+ *
175
+ * @param out the new backend
176
+ * @param cfg the configuration that is to be parsed
177
+ * @param len the length of the string pointed to by `cfg`
178
+ * @param opts the options to initialize this backend with, or NULL
179
+ * @return 0 on success or an error code
180
+ */
181
+ extern int git_config_backend_from_string(
182
+ git_config_backend **out,
183
+ const char *cfg,
184
+ size_t len,
185
+ git_config_backend_memory_options *opts);
186
+
187
+ /**
188
+ * Create an in-memory configuration backend from a list of name/value
189
+ * pairs.
190
+ *
191
+ * @param out the new backend
192
+ * @param values the configuration values to set (in "key=value" format)
193
+ * @param len the length of the values array
194
+ * @param opts the options to initialize this backend with, or NULL
195
+ * @return 0 on success or an error code
196
+ */
197
+ extern int git_config_backend_from_values(
198
+ git_config_backend **out,
199
+ const char **values,
200
+ size_t len,
201
+ git_config_backend_memory_options *opts);
202
+
128
203
  /** @} */
129
204
  GIT_END_DECL
205
+
130
206
  #endif
@@ -11,9 +11,9 @@
11
11
  #include "git2/credential.h"
12
12
 
13
13
  /**
14
- * @file git2/sys/cred.h
15
- * @brief Git credentials low-level implementation
16
- * @defgroup git_credential Git credentials low-level implementation
14
+ * @file git2/sys/credential.h
15
+ * @brief Low-level credentials implementation
16
+ * @defgroup git_credential Low-level credentials implementation
17
17
  * @ingroup Git
18
18
  * @{
19
19
  */
@@ -85,6 +85,7 @@ struct git_credential_ssh_custom {
85
85
  void *payload; /**< Payload passed to prompt_callback */
86
86
  };
87
87
 
88
+ /** @} */
88
89
  GIT_END_DECL
89
90
 
90
91
  #endif
@@ -15,7 +15,7 @@
15
15
 
16
16
  /**
17
17
  * @file git2/sys/diff.h
18
- * @brief Low-level Git diff utilities
18
+ * @brief Low-level diff utilities
19
19
  * @ingroup Git
20
20
  * @{
21
21
  */
@@ -33,6 +33,12 @@ GIT_BEGIN_DECL
33
33
  * must pass a `git_buf *` value as the payload to the `git_diff_print`
34
34
  * and/or `git_patch_print` function. The data will be appended to the
35
35
  * buffer (after any existing content).
36
+ *
37
+ * @param delta the delta being processed
38
+ * @param hunk the hunk being processed
39
+ * @param line the line being processed
40
+ * @param payload the payload provided by the diff generator
41
+ * @return 0 on success or an error code
36
42
  */
37
43
  GIT_EXTERN(int) git_diff_print_callback__to_buf(
38
44
  const git_diff_delta *delta,
@@ -53,6 +59,12 @@ GIT_EXTERN(int) git_diff_print_callback__to_buf(
53
59
  * value from `fopen()`) as the payload to the `git_diff_print`
54
60
  * and/or `git_patch_print` function. If you pass NULL, this will write
55
61
  * data to `stdout`.
62
+ *
63
+ * @param delta the delta being processed
64
+ * @param hunk the hunk being processed
65
+ * @param line the line being processed
66
+ * @param payload the payload provided by the diff generator
67
+ * @return 0 on success or an error code
56
68
  */
57
69
  GIT_EXTERN(int) git_diff_print_callback__to_file_handle(
58
70
  const git_diff_delta *delta,
@@ -70,7 +82,10 @@ typedef struct {
70
82
  size_t oid_calculations; /**< Number of ID calculations */
71
83
  } git_diff_perfdata;
72
84
 
85
+ /** Current version for the `git_diff_perfdata_options` structure */
73
86
  #define GIT_DIFF_PERFDATA_VERSION 1
87
+
88
+ /** Static constructor for `git_diff_perfdata_options` */
74
89
  #define GIT_DIFF_PERFDATA_INIT {GIT_DIFF_PERFDATA_VERSION,0,0}
75
90
 
76
91
  /**
@@ -85,10 +100,15 @@ GIT_EXTERN(int) git_diff_get_perfdata(
85
100
 
86
101
  /**
87
102
  * Get performance data for diffs from a git_status_list
103
+ *
104
+ * @param out Structure to be filled with diff performance data
105
+ * @param status Diff to read performance data from
106
+ * @return 0 for success, <0 for error
88
107
  */
89
108
  GIT_EXTERN(int) git_status_list_get_perfdata(
90
109
  git_diff_perfdata *out, const git_status_list *status);
91
110
 
92
111
  /** @} */
93
112
  GIT_END_DECL
113
+
94
114
  #endif
@@ -7,6 +7,11 @@
7
7
  #ifndef INCLUDE_sys_git_email_h__
8
8
  #define INCLUDE_sys_git_email_h__
9
9
 
10
+ #include "git2/common.h"
11
+ #include "git2/diff.h"
12
+ #include "git2/email.h"
13
+ #include "git2/types.h"
14
+
10
15
  /**
11
16
  * @file git2/sys/email.h
12
17
  * @brief Advanced git email creation routines
@@ -28,6 +33,7 @@ GIT_BEGIN_DECL
28
33
  * @param body optional text to include above the diffstat
29
34
  * @param author the person who authored this commit
30
35
  * @param opts email creation options
36
+ * @return 0 on success or an error code
31
37
  */
32
38
  GIT_EXTERN(int) git_email_create_from_diff(
33
39
  git_buf *out,
@@ -42,4 +48,5 @@ GIT_EXTERN(int) git_email_create_from_diff(
42
48
 
43
49
  /** @} */
44
50
  GIT_END_DECL
51
+
45
52
  #endif
@@ -0,0 +1,76 @@
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
+ #ifndef INCLUDE_sys_git_errors_h__
9
+ #define INCLUDE_sys_git_errors_h__
10
+
11
+ #include "git2/common.h"
12
+
13
+ /**
14
+ * @file git2/sys/errors.h
15
+ * @brief Advanced error handling
16
+ * @ingroup Git
17
+ *
18
+ * Error handling for advanced consumers; those who use callbacks
19
+ * or those who create custom databases.
20
+ * @{
21
+ */
22
+ GIT_BEGIN_DECL
23
+
24
+ /**
25
+ * Clear the last library error that occurred for this thread.
26
+ */
27
+ GIT_EXTERN(void) git_error_clear(void);
28
+
29
+ /**
30
+ * Set the error message string for this thread, using `printf`-style
31
+ * formatting.
32
+ *
33
+ * This function is public so that custom ODB backends and the like can
34
+ * relay an error message through libgit2. Most regular users of libgit2
35
+ * will never need to call this function -- actually, calling it in most
36
+ * circumstances (for example, calling from within a callback function)
37
+ * will just end up having the value overwritten by libgit2 internals.
38
+ *
39
+ * This error message is stored in thread-local storage and only applies
40
+ * to the particular thread that this libgit2 call is made from.
41
+ *
42
+ * @param error_class One of the `git_error_t` enum above describing the
43
+ * general subsystem that is responsible for the error.
44
+ * @param fmt The `printf`-style format string; subsequent arguments must
45
+ * be the arguments for the format string.
46
+ */
47
+ GIT_EXTERN(void) git_error_set(int error_class, const char *fmt, ...)
48
+ GIT_FORMAT_PRINTF(2, 3);
49
+
50
+ /**
51
+ * Set the error message string for this thread. This function is like
52
+ * `git_error_set` but takes a static string instead of a `printf`-style
53
+ * format.
54
+ *
55
+ * @param error_class One of the `git_error_t` enum above describing the
56
+ * general subsystem that is responsible for the error.
57
+ * @param string The error message to keep
58
+ * @return 0 on success or -1 on failure
59
+ */
60
+ GIT_EXTERN(int) git_error_set_str(int error_class, const char *string);
61
+
62
+ /**
63
+ * Set the error message to a special value for memory allocation failure.
64
+ *
65
+ * The normal `git_error_set_str()` function attempts to `strdup()` the
66
+ * string that is passed in. This is not a good idea when the error in
67
+ * question is a memory allocation failure. That circumstance has a
68
+ * special setter function that sets the error string to a known and
69
+ * statically allocated internal value.
70
+ */
71
+ GIT_EXTERN(void) git_error_set_oom(void);
72
+
73
+ /** @} */
74
+ GIT_END_DECL
75
+
76
+ #endif