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
@@ -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
  *
@@ -28,7 +67,13 @@ GIT_BEGIN_DECL
28
67
  * @param objects_dir the path to a git objects directory.
29
68
  * @return Zero on success; -1 on failure.
30
69
  */
31
- GIT_EXTERN(int) git_commit_graph_open(git_commit_graph **cgraph_out, const char *objects_dir);
70
+ GIT_EXTERN(int) git_commit_graph_open(
71
+ git_commit_graph **cgraph_out,
72
+ const char *objects_dir
73
+ #ifdef GIT_EXPERIMENTAL_SHA256
74
+ , const git_commit_graph_open_options *options
75
+ #endif
76
+ );
32
77
 
33
78
  /**
34
79
  * Frees commit-graph data. This should only be called when memory allocated
@@ -40,50 +85,6 @@ GIT_EXTERN(int) git_commit_graph_open(git_commit_graph **cgraph_out, const char
40
85
  */
41
86
  GIT_EXTERN(void) git_commit_graph_free(git_commit_graph *cgraph);
42
87
 
43
- /**
44
- * Create a new writer for `commit-graph` files.
45
- *
46
- * @param out Location to store the writer pointer.
47
- * @param objects_info_dir The `objects/info` directory.
48
- * The `commit-graph` file will be written in this directory.
49
- * @return 0 or an error code
50
- */
51
- GIT_EXTERN(int) git_commit_graph_writer_new(
52
- git_commit_graph_writer **out,
53
- const char *objects_info_dir);
54
-
55
- /**
56
- * Free the commit-graph writer and its resources.
57
- *
58
- * @param w The writer to free. If NULL no action is taken.
59
- */
60
- GIT_EXTERN(void) git_commit_graph_writer_free(git_commit_graph_writer *w);
61
-
62
- /**
63
- * Add an `.idx` file (associated to a packfile) to the writer.
64
- *
65
- * @param w The writer.
66
- * @param repo The repository that owns the `.idx` file.
67
- * @param idx_path The path of an `.idx` file.
68
- * @return 0 or an error code
69
- */
70
- GIT_EXTERN(int) git_commit_graph_writer_add_index_file(
71
- git_commit_graph_writer *w,
72
- git_repository *repo,
73
- const char *idx_path);
74
-
75
- /**
76
- * Add a revwalk to the writer. This will add all the commits from the revwalk
77
- * to the commit-graph.
78
- *
79
- * @param w The writer.
80
- * @param walk The git_revwalk.
81
- * @return 0 or an error code
82
- */
83
- GIT_EXTERN(int) git_commit_graph_writer_add_revwalk(
84
- git_commit_graph_writer *w,
85
- git_revwalk *walk);
86
-
87
88
 
88
89
  /**
89
90
  * The strategy to use when adding a new set of commits to a pre-existing
@@ -98,15 +99,19 @@ typedef enum {
98
99
  } git_commit_graph_split_strategy_t;
99
100
 
100
101
  /**
101
- * Options structure for
102
- * `git_commit_graph_writer_commit`/`git_commit_graph_writer_dump`.
102
+ * Options structure for `git_commit_graph_writer_new`.
103
103
  *
104
- * Initialize with `GIT_COMMIT_GRAPH_WRITER_OPTIONS_INIT`. Alternatively, you
105
- * 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`.
106
106
  */
107
107
  typedef struct {
108
108
  unsigned int version;
109
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
+
110
115
  /**
111
116
  * The strategy to use when adding new commits to a pre-existing commit-graph
112
117
  * chain.
@@ -126,7 +131,10 @@ typedef struct {
126
131
  size_t max_commits;
127
132
  } git_commit_graph_writer_options;
128
133
 
134
+ /** Current version for the `git_commit_graph_writer_options` structure */
129
135
  #define GIT_COMMIT_GRAPH_WRITER_OPTIONS_VERSION 1
136
+
137
+ /** Static constructor for `git_commit_graph_writer_options` */
130
138
  #define GIT_COMMIT_GRAPH_WRITER_OPTIONS_INIT { \
131
139
  GIT_COMMIT_GRAPH_WRITER_OPTIONS_VERSION \
132
140
  }
@@ -145,30 +153,73 @@ GIT_EXTERN(int) git_commit_graph_writer_options_init(
145
153
  git_commit_graph_writer_options *opts,
146
154
  unsigned int version);
147
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
+
148
202
  /**
149
203
  * Write a `commit-graph` file to a file.
150
204
  *
151
205
  * @param w The writer
152
- * @param opts Pointer to git_commit_graph_writer_options struct.
153
206
  * @return 0 or an error code
154
207
  */
155
208
  GIT_EXTERN(int) git_commit_graph_writer_commit(
156
- git_commit_graph_writer *w,
157
- git_commit_graph_writer_options *opts);
209
+ git_commit_graph_writer *w);
158
210
 
159
211
  /**
160
212
  * Dump the contents of the `commit-graph` to an in-memory buffer.
161
213
  *
162
- * @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`.
163
215
  * @param w The writer.
164
- * @param opts Pointer to git_commit_graph_writer_options struct.
165
216
  * @return 0 or an error code
166
217
  */
167
218
  GIT_EXTERN(int) git_commit_graph_writer_dump(
168
219
  git_buf *buffer,
169
- git_commit_graph_writer *w,
170
- git_commit_graph_writer_options *opts);
220
+ git_commit_graph_writer *w);
171
221
 
172
222
  /** @} */
173
223
  GIT_END_DECL
224
+
174
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