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
@@ -15,7 +15,7 @@
15
15
 
16
16
  /**
17
17
  * @file git2/diff.h
18
- * @brief Git tree and file differencing routines.
18
+ * @brief Indicate the differences between two versions of the repository
19
19
  * @ingroup Git
20
20
  * @{
21
21
  */
@@ -342,6 +342,12 @@ typedef struct {
342
342
  * diff process continues.
343
343
  * - returns 0, the delta is inserted into the diff, and the diff process
344
344
  * continues.
345
+ *
346
+ * @param diff_so_far the diff structure as it currently exists
347
+ * @param delta_to_add the delta that is to be added
348
+ * @param matched_pathspec the pathspec
349
+ * @param payload the user-specified callback payload
350
+ * @return 0 on success, 1 to skip this delta, or an error code
345
351
  */
346
352
  typedef int GIT_CALLBACK(git_diff_notify_cb)(
347
353
  const git_diff *diff_so_far,
@@ -357,7 +363,8 @@ typedef int GIT_CALLBACK(git_diff_notify_cb)(
357
363
  * @param diff_so_far The diff being generated.
358
364
  * @param old_path The path to the old file or NULL.
359
365
  * @param new_path The path to the new file or NULL.
360
- * @return Non-zero to abort the diff.
366
+ * @param payload the user-specified callback payload
367
+ * @return 0 or an error code
361
368
  */
362
369
  typedef int GIT_CALLBACK(git_diff_progress_cb)(
363
370
  const git_diff *diff_so_far,
@@ -421,6 +428,22 @@ typedef struct {
421
428
  */
422
429
  uint32_t interhunk_lines;
423
430
 
431
+ /**
432
+ * The object ID type to emit in diffs; this is used by functions
433
+ * that operate without a repository - namely `git_diff_buffers`,
434
+ * or `git_diff_blobs` and `git_diff_blob_to_buffer` when one blob
435
+ * is `NULL`.
436
+ *
437
+ * This may be omitted (set to `0`). If a repository is available,
438
+ * the object ID format of the repository will be used. If no
439
+ * repository is available then the default is `GIT_OID_SHA`.
440
+ *
441
+ * If this is specified and a repository is available, then the
442
+ * specified `oid_type` must match the repository's object ID
443
+ * format.
444
+ */
445
+ git_oid_t oid_type;
446
+
424
447
  /**
425
448
  * The abbreviation length to use when formatting object ids.
426
449
  * Defaults to the value of 'core.abbrev' from the config, or 7 if unset.
@@ -447,10 +470,10 @@ typedef struct {
447
470
  const char *new_prefix;
448
471
  } git_diff_options;
449
472
 
450
- /* The current version of the diff options structure */
473
+ /** The current version of the diff options structure */
451
474
  #define GIT_DIFF_OPTIONS_VERSION 1
452
475
 
453
- /* Stack initializer for diff options. Alternatively use
476
+ /** Stack initializer for diff options. Alternatively use
454
477
  * `git_diff_options_init` programmatic initialization.
455
478
  */
456
479
  #define GIT_DIFF_OPTIONS_INIT \
@@ -476,12 +499,14 @@ GIT_EXTERN(int) git_diff_options_init(
476
499
  * @param delta A pointer to the delta data for the file
477
500
  * @param progress Goes from 0 to 1 over the diff
478
501
  * @param payload User-specified pointer from foreach function
502
+ * @return 0 or an error code
479
503
  */
480
504
  typedef int GIT_CALLBACK(git_diff_file_cb)(
481
505
  const git_diff_delta *delta,
482
506
  float progress,
483
507
  void *payload);
484
508
 
509
+ /** Maximum size of the hunk header */
485
510
  #define GIT_DIFF_HUNK_HEADER_SIZE 128
486
511
 
487
512
  /**
@@ -542,6 +567,11 @@ typedef struct {
542
567
  /**
543
568
  * When iterating over a diff, callback that will be made for
544
569
  * binary content within the diff.
570
+ *
571
+ * @param delta the delta
572
+ * @param binary the binary content
573
+ * @param payload the user-specified callback payload
574
+ * @return 0 or an error code
545
575
  */
546
576
  typedef int GIT_CALLBACK(git_diff_binary_cb)(
547
577
  const git_diff_delta *delta,
@@ -568,6 +598,11 @@ typedef struct {
568
598
 
569
599
  /**
570
600
  * When iterating over a diff, callback that will be made per hunk.
601
+ *
602
+ * @param delta the delta
603
+ * @param hunk the hunk
604
+ * @param payload the user-specified callback payload
605
+ * @return 0 or an error code
571
606
  */
572
607
  typedef int GIT_CALLBACK(git_diff_hunk_cb)(
573
608
  const git_diff_delta *delta,
@@ -629,6 +664,12 @@ typedef struct {
629
664
  * When printing a diff, callback that will be made to output each line
630
665
  * of text. This uses some extra GIT_DIFF_LINE_... constants for output
631
666
  * of lines of file and hunk headers.
667
+ *
668
+ * @param delta the delta that contains the line
669
+ * @param hunk the hunk that contains the line
670
+ * @param line the line in the diff
671
+ * @param payload the user-specified callback payload
672
+ * @return 0 or an error code
632
673
  */
633
674
  typedef int GIT_CALLBACK(git_diff_line_cb)(
634
675
  const git_diff_delta *delta, /**< delta that contains this data */
@@ -786,7 +827,10 @@ typedef struct {
786
827
  git_diff_similarity_metric *metric;
787
828
  } git_diff_find_options;
788
829
 
830
+ /** Current version for the `git_diff_find_options` structure */
789
831
  #define GIT_DIFF_FIND_OPTIONS_VERSION 1
832
+
833
+ /** Static constructor for `git_diff_find_options` */
790
834
  #define GIT_DIFF_FIND_OPTIONS_INIT {GIT_DIFF_FIND_OPTIONS_VERSION}
791
835
 
792
836
  /**
@@ -1153,9 +1197,8 @@ GIT_EXTERN(int) git_diff_to_buf(
1153
1197
 
1154
1198
  /**@}*/
1155
1199
 
1156
-
1157
1200
  /*
1158
- * Misc
1201
+ * Low-level file comparison, invoking callbacks per difference.
1159
1202
  */
1160
1203
 
1161
1204
  /**
@@ -1271,6 +1314,25 @@ GIT_EXTERN(int) git_diff_buffers(
1271
1314
  git_diff_line_cb line_cb,
1272
1315
  void *payload);
1273
1316
 
1317
+ /* Patch file parsing. */
1318
+
1319
+ /**
1320
+ * Options for parsing a diff / patch file.
1321
+ */
1322
+ typedef struct {
1323
+ unsigned int version;
1324
+ git_oid_t oid_type;
1325
+ } git_diff_parse_options;
1326
+
1327
+ /** The current version of the diff parse options structure */
1328
+ #define GIT_DIFF_PARSE_OPTIONS_VERSION 1
1329
+
1330
+ /** Stack initializer for diff parse options. Alternatively use
1331
+ * `git_diff_parse_options_init` programmatic initialization.
1332
+ */
1333
+ #define GIT_DIFF_PARSE_OPTIONS_INIT \
1334
+ { GIT_DIFF_PARSE_OPTIONS_VERSION, GIT_OID_DEFAULT }
1335
+
1274
1336
  /**
1275
1337
  * Read the contents of a git patch file into a `git_diff` object.
1276
1338
  *
@@ -1293,7 +1355,11 @@ GIT_EXTERN(int) git_diff_buffers(
1293
1355
  GIT_EXTERN(int) git_diff_from_buffer(
1294
1356
  git_diff **out,
1295
1357
  const char *content,
1296
- size_t content_len);
1358
+ size_t content_len
1359
+ #ifdef GIT_EXPERIMENTAL_SHA256
1360
+ , git_diff_parse_options *opts
1361
+ #endif
1362
+ );
1297
1363
 
1298
1364
  /**
1299
1365
  * This is an opaque structure which is allocated by `git_diff_get_stats`.
@@ -1394,7 +1460,10 @@ typedef struct git_diff_patchid_options {
1394
1460
  unsigned int version;
1395
1461
  } git_diff_patchid_options;
1396
1462
 
1463
+ /** Current version for the `git_diff_patchid_options` structure */
1397
1464
  #define GIT_DIFF_PATCHID_OPTIONS_VERSION 1
1465
+
1466
+ /** Static constructor for `git_diff_patchid_options` */
1398
1467
  #define GIT_DIFF_PATCHID_OPTIONS_INIT { GIT_DIFF_PATCHID_OPTIONS_VERSION }
1399
1468
 
1400
1469
  /**
@@ -1432,8 +1501,7 @@ GIT_EXTERN(int) git_diff_patchid_options_init(
1432
1501
  */
1433
1502
  GIT_EXTERN(int) git_diff_patchid(git_oid *out, git_diff *diff, git_diff_patchid_options *opts);
1434
1503
 
1435
- GIT_END_DECL
1436
-
1437
1504
  /** @} */
1505
+ GIT_END_DECL
1438
1506
 
1439
1507
  #endif
@@ -8,10 +8,11 @@
8
8
  #define INCLUDE_git_email_h__
9
9
 
10
10
  #include "common.h"
11
+ #include "diff.h"
11
12
 
12
13
  /**
13
14
  * @file git2/email.h
14
- * @brief Git email formatting and application routines.
15
+ * @brief Produce email-ready patches
15
16
  * @ingroup Git
16
17
  * @{
17
18
  */
@@ -70,11 +71,14 @@ typedef struct {
70
71
  size_t reroll_number;
71
72
  } git_email_create_options;
72
73
 
73
- /*
74
+ /** Current version for the `git_email_create_options` structure */
75
+ #define GIT_EMAIL_CREATE_OPTIONS_VERSION 1
76
+
77
+ /** Static constructor for `git_email_create_options`
78
+ *
74
79
  * By default, our options include rename detection and binary
75
80
  * diffs to match `git format-patch`.
76
81
  */
77
- #define GIT_EMAIL_CREATE_OPTIONS_VERSION 1
78
82
  #define GIT_EMAIL_CREATE_OPTIONS_INIT \
79
83
  { \
80
84
  GIT_EMAIL_CREATE_OPTIONS_VERSION, \
@@ -83,30 +87,6 @@ typedef struct {
83
87
  GIT_DIFF_FIND_OPTIONS_INIT \
84
88
  }
85
89
 
86
- /**
87
- * Create a diff for a commit in mbox format for sending via email.
88
- *
89
- * @param out buffer to store the e-mail patch in
90
- * @param diff the changes to include in the email
91
- * @param patch_idx the patch index
92
- * @param patch_count the total number of patches that will be included
93
- * @param commit_id the commit id for this change
94
- * @param summary the commit message for this change
95
- * @param body optional text to include above the diffstat
96
- * @param author the person who authored this commit
97
- * @param opts email creation options
98
- */
99
- GIT_EXTERN(int) git_email_create_from_diff(
100
- git_buf *out,
101
- git_diff *diff,
102
- size_t patch_idx,
103
- size_t patch_count,
104
- const git_oid *commit_id,
105
- const char *summary,
106
- const char *body,
107
- const git_signature *author,
108
- const git_email_create_options *opts);
109
-
110
90
  /**
111
91
  * Create a diff for a commit in mbox format for sending via email.
112
92
  * The commit must not be a merge commit.
@@ -114,14 +94,14 @@ GIT_EXTERN(int) git_email_create_from_diff(
114
94
  * @param out buffer to store the e-mail patch in
115
95
  * @param commit commit to create a patch for
116
96
  * @param opts email creation options
97
+ * @return 0 or an error code
117
98
  */
118
99
  GIT_EXTERN(int) git_email_create_from_commit(
119
100
  git_buf *out,
120
101
  git_commit *commit,
121
102
  const git_email_create_options *opts);
122
103
 
123
- GIT_END_DECL
124
-
125
104
  /** @} */
105
+ GIT_END_DECL
126
106
 
127
107
  #endif
@@ -11,7 +11,7 @@
11
11
 
12
12
  /**
13
13
  * @file git2/errors.h
14
- * @brief Git error handling routines and variables
14
+ * @brief Error handling routines and variables
15
15
  * @ingroup Git
16
16
  * @{
17
17
  */
@@ -19,25 +19,32 @@ GIT_BEGIN_DECL
19
19
 
20
20
  /** Generic return codes */
21
21
  typedef enum {
22
- GIT_OK = 0, /**< No error */
22
+ /**
23
+ * No error occurred; the call was successful.
24
+ */
25
+ GIT_OK = 0,
26
+
27
+ /**
28
+ * An error occurred; call `git_error_last` for more information.
29
+ */
30
+ GIT_ERROR = -1,
23
31
 
24
- GIT_ERROR = -1, /**< Generic error */
25
- GIT_ENOTFOUND = -3, /**< Requested object could not be found */
26
- GIT_EEXISTS = -4, /**< Object exists preventing operation */
27
- GIT_EAMBIGUOUS = -5, /**< More than one object matches */
28
- GIT_EBUFS = -6, /**< Output buffer too short to hold data */
32
+ GIT_ENOTFOUND = -3, /**< Requested object could not be found. */
33
+ GIT_EEXISTS = -4, /**< Object exists preventing operation. */
34
+ GIT_EAMBIGUOUS = -5, /**< More than one object matches. */
35
+ GIT_EBUFS = -6, /**< Output buffer too short to hold data. */
29
36
 
30
37
  /**
31
38
  * GIT_EUSER is a special error that is never generated by libgit2
32
39
  * code. You can return it from a callback (e.g to stop an iteration)
33
40
  * to know that it was generated by the callback and not by libgit2.
34
41
  */
35
- GIT_EUSER = -7,
42
+ GIT_EUSER = -7,
36
43
 
37
- GIT_EBAREREPO = -8, /**< Operation not allowed on bare repository */
38
- GIT_EUNBORNBRANCH = -9, /**< HEAD refers to branch with no commits */
39
- GIT_EUNMERGED = -10, /**< Merge in progress prevented operation */
40
- GIT_ENONFASTFORWARD = -11, /**< Reference was not fast-forwardable */
44
+ GIT_EBAREREPO = -8, /**< Operation not allowed on bare repository. */
45
+ GIT_EUNBORNBRANCH = -9, /**< HEAD refers to branch with no commits. */
46
+ GIT_EUNMERGED = -10, /**< Merge in progress prevented operation */
47
+ GIT_ENONFASTFORWARD = -11, /**< Reference was not fast-forwardable */
41
48
  GIT_EINVALIDSPEC = -12, /**< Name/ref spec was not in a valid format */
42
49
  GIT_ECONFLICT = -13, /**< Checkout conflicts prevented operation */
43
50
  GIT_ELOCKED = -14, /**< Lock file prevented operation */
@@ -58,21 +65,17 @@ typedef enum {
58
65
  GIT_EMISMATCH = -33, /**< Hashsum mismatch in object */
59
66
  GIT_EINDEXDIRTY = -34, /**< Unsaved changes in the index would be overwritten */
60
67
  GIT_EAPPLYFAIL = -35, /**< Patch application failed */
61
- GIT_EOWNER = -36 /**< The object is not owned by the current user */
68
+ GIT_EOWNER = -36, /**< The object is not owned by the current user */
69
+ GIT_TIMEOUT = -37, /**< The operation timed out */
70
+ GIT_EUNCHANGED = -38, /**< There were no changes */
71
+ GIT_ENOTSUPPORTED = -39, /**< An option is not supported */
72
+ GIT_EREADONLY = -40 /**< The subject is read-only */
62
73
  } git_error_code;
63
74
 
64
75
  /**
65
- * Structure to store extra details of the last error that occurred.
66
- *
67
- * This is kept on a per-thread basis if GIT_THREADS was defined when the
68
- * library was build, otherwise one is kept globally for the library
76
+ * Error classes are the category of error. They reflect the area of the
77
+ * code where an error occurred.
69
78
  */
70
- typedef struct {
71
- char *message;
72
- int klass;
73
- } git_error;
74
-
75
- /** Error classes */
76
79
  typedef enum {
77
80
  GIT_ERROR_NONE = 0,
78
81
  GIT_ERROR_NOMEMORY,
@@ -109,71 +112,43 @@ typedef enum {
109
112
  GIT_ERROR_WORKTREE,
110
113
  GIT_ERROR_SHA,
111
114
  GIT_ERROR_HTTP,
112
- GIT_ERROR_INTERNAL
115
+ GIT_ERROR_INTERNAL,
116
+ GIT_ERROR_GRAFTS
113
117
  } git_error_t;
114
118
 
115
119
  /**
116
- * Return the last `git_error` object that was generated for the
117
- * current thread.
118
- *
119
- * The default behaviour of this function is to return NULL if no previous error has occurred.
120
- * However, libgit2's error strings are not cleared aggressively, so a prior
121
- * (unrelated) error may be returned. This can be avoided by only calling
122
- * this function if the prior call to a libgit2 API returned an error.
120
+ * Structure to store extra details of the last error that occurred.
123
121
  *
124
- * @return A git_error object.
125
- */
126
- GIT_EXTERN(const git_error *) git_error_last(void);
127
-
128
- /**
129
- * Clear the last library error that occurred for this thread.
122
+ * This is kept on a per-thread basis if GIT_THREADS was defined when the
123
+ * library was build, otherwise one is kept globally for the library
130
124
  */
131
- GIT_EXTERN(void) git_error_clear(void);
125
+ typedef struct {
126
+ char *message; /**< The error message for the last error. */
127
+ int klass; /**< The category of the last error. @type git_error_t */
128
+ } git_error;
132
129
 
133
130
  /**
134
- * Set the error message string for this thread, using `printf`-style
135
- * formatting.
131
+ * Return the last `git_error` object that was generated for the
132
+ * current thread.
136
133
  *
137
- * This function is public so that custom ODB backends and the like can
138
- * relay an error message through libgit2. Most regular users of libgit2
139
- * will never need to call this function -- actually, calling it in most
140
- * circumstances (for example, calling from within a callback function)
141
- * will just end up having the value overwritten by libgit2 internals.
134
+ * This function will never return NULL.
142
135
  *
143
- * This error message is stored in thread-local storage and only applies
144
- * to the particular thread that this libgit2 call is made from.
136
+ * Callers should not rely on this to determine whether an error has
137
+ * occurred. For error checking, callers should examine the return
138
+ * codes of libgit2 functions.
145
139
  *
146
- * @param error_class One of the `git_error_t` enum above describing the
147
- * general subsystem that is responsible for the error.
148
- * @param fmt The `printf`-style format string; subsequent arguments must
149
- * be the arguments for the format string.
150
- */
151
- GIT_EXTERN(void) git_error_set(int error_class, const char *fmt, ...)
152
- GIT_FORMAT_PRINTF(2, 3);
153
-
154
- /**
155
- * Set the error message string for this thread. This function is like
156
- * `git_error_set` but takes a static string instead of a `printf`-style
157
- * format.
140
+ * This call can only reliably report error messages when an error
141
+ * has occurred. (It may contain stale information if it is called
142
+ * after a different function that succeeds.)
158
143
  *
159
- * @param error_class One of the `git_error_t` enum above describing the
160
- * general subsystem that is responsible for the error.
161
- * @param string The error message to keep
162
- * @return 0 on success or -1 on failure
163
- */
164
- GIT_EXTERN(int) git_error_set_str(int error_class, const char *string);
165
-
166
- /**
167
- * Set the error message to a special value for memory allocation failure.
144
+ * The memory for this object is managed by libgit2. It should not
145
+ * be freed.
168
146
  *
169
- * The normal `git_error_set_str()` function attempts to `strdup()` the
170
- * string that is passed in. This is not a good idea when the error in
171
- * question is a memory allocation failure. That circumstance has a
172
- * special setter function that sets the error string to a known and
173
- * statically allocated internal value.
147
+ * @return A pointer to a `git_error` object that describes the error.
174
148
  */
175
- GIT_EXTERN(void) git_error_set_oom(void);
149
+ GIT_EXTERN(const git_error *) git_error_last(void);
176
150
 
177
151
  /** @} */
178
152
  GIT_END_DECL
153
+
179
154
  #endif
@@ -14,9 +14,15 @@
14
14
 
15
15
  /**
16
16
  * @file git2/filter.h
17
- * @brief Git filter APIs
18
- *
17
+ * @brief Filters modify files during checkout or commit
19
18
  * @ingroup Git
19
+ *
20
+ * During checkout, filters update a file from a "canonical" state to
21
+ * a format appropriate for the local filesystem; during commit, filters
22
+ * produce the canonical state. For example, on Windows, the line ending
23
+ * filters _may_ take a canonical state (with Unix-style newlines) in
24
+ * the repository, and place the contents on-disk with Windows-style
25
+ * `\r\n` line endings.
20
26
  * @{
21
27
  */
22
28
  GIT_BEGIN_DECL
@@ -79,8 +85,11 @@ typedef struct {
79
85
  git_oid attr_commit_id;
80
86
  } git_filter_options;
81
87
 
82
- #define GIT_FILTER_OPTIONS_VERSION 1
83
- #define GIT_FILTER_OPTIONS_INIT {GIT_FILTER_OPTIONS_VERSION}
88
+ /** Current version for the `git_filter_options` structure */
89
+ #define GIT_FILTER_OPTIONS_VERSION 1
90
+
91
+ /** Static constructor for `git_filter_options` */
92
+ #define GIT_FILTER_OPTIONS_INIT {GIT_FILTER_OPTIONS_VERSION}
84
93
 
85
94
  /**
86
95
  * A filter that can transform file data
@@ -268,9 +277,7 @@ GIT_EXTERN(int) git_filter_list_stream_blob(
268
277
  */
269
278
  GIT_EXTERN(void) git_filter_list_free(git_filter_list *filters);
270
279
 
271
-
272
- GIT_END_DECL
273
-
274
280
  /** @} */
281
+ GIT_END_DECL
275
282
 
276
283
  #endif
@@ -9,6 +9,12 @@
9
9
 
10
10
  #include "common.h"
11
11
 
12
+ /**
13
+ * @file git2/global.h
14
+ * @brief libgit2 library initializer and shutdown functionality
15
+ * @ingroup Git
16
+ * @{
17
+ */
12
18
  GIT_BEGIN_DECL
13
19
 
14
20
  /**
@@ -32,7 +38,7 @@ GIT_EXTERN(int) git_libgit2_init(void);
32
38
  * many times as `git_libgit2_init()` was called - it will return the
33
39
  * number of remainining initializations that have not been shutdown
34
40
  * (after this one).
35
- *
41
+ *
36
42
  * @return the number of remaining initializations of the library, or an
37
43
  * error code.
38
44
  */
@@ -40,5 +46,6 @@ GIT_EXTERN(int) git_libgit2_shutdown(void);
40
46
 
41
47
  /** @} */
42
48
  GIT_END_DECL
49
+
43
50
  #endif
44
51
 
@@ -13,7 +13,7 @@
13
13
 
14
14
  /**
15
15
  * @file git2/graph.h
16
- * @brief Git graph traversal routines
16
+ * @brief Graph traversal routines
17
17
  * @defgroup git_revwalk Git graph traversal routines
18
18
  * @ingroup Git
19
19
  * @{
@@ -61,8 +61,8 @@ GIT_EXTERN(int) git_graph_descendant_of(
61
61
  *
62
62
  * @param repo the repository where the commits exist
63
63
  * @param commit a previously loaded commit
64
- * @param length the number of commits in the provided `descendant_array`
65
64
  * @param descendant_array oids of the commits
65
+ * @param length the number of commits in the provided `descendant_array`
66
66
  * @return 1 if the given commit is an ancestor of any of the given potential
67
67
  * descendants, 0 if not, error code otherwise.
68
68
  */
@@ -74,4 +74,5 @@ GIT_EXTERN(int) git_graph_reachable_from_any(
74
74
 
75
75
  /** @} */
76
76
  GIT_END_DECL
77
+
77
78
  #endif
@@ -10,6 +10,15 @@
10
10
  #include "common.h"
11
11
  #include "types.h"
12
12
 
13
+ /**
14
+ * @file git2/ignore.h
15
+ * @brief Ignore particular untracked files
16
+ * @ingroup Git
17
+ * @{
18
+ *
19
+ * When examining the repository status, git can optionally ignore
20
+ * specified untracked files.
21
+ */
13
22
  GIT_BEGIN_DECL
14
23
 
15
24
  /**
@@ -73,6 +82,7 @@ GIT_EXTERN(int) git_ignore_path_is_ignored(
73
82
  git_repository *repo,
74
83
  const char *path);
75
84
 
85
+ /** @} */
76
86
  GIT_END_DECL
77
87
 
78
88
  #endif