rugged 1.3.1 → 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 (656) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +34 -2
  3. data/ext/rugged/extconf.rb +6 -3
  4. data/ext/rugged/rugged.c +16 -0
  5. data/ext/rugged/rugged.h +4 -0
  6. data/ext/rugged/rugged_allocator.c +0 -54
  7. data/ext/rugged/rugged_blame.c +2 -0
  8. data/ext/rugged/rugged_blob.c +3 -0
  9. data/ext/rugged/rugged_commit.c +1 -0
  10. data/ext/rugged/rugged_config.c +9 -2
  11. data/ext/rugged/rugged_diff.c +1 -0
  12. data/ext/rugged/rugged_index.c +2 -0
  13. data/ext/rugged/rugged_patch.c +1 -0
  14. data/ext/rugged/rugged_rebase.c +1 -0
  15. data/ext/rugged/rugged_reference.c +1 -0
  16. data/ext/rugged/rugged_remote.c +28 -10
  17. data/ext/rugged/rugged_repo.c +7 -9
  18. data/ext/rugged/rugged_revwalk.c +5 -1
  19. data/ext/rugged/rugged_settings.c +5 -0
  20. data/ext/rugged/rugged_submodule.c +1 -0
  21. data/ext/rugged/rugged_tag.c +1 -0
  22. data/ext/rugged/rugged_tree.c +4 -0
  23. data/lib/rugged/index.rb +1 -1
  24. data/lib/rugged/tree.rb +5 -1
  25. data/lib/rugged/version.rb +1 -1
  26. data/vendor/libgit2/AUTHORS +1 -0
  27. data/vendor/libgit2/CMakeLists.txt +141 -289
  28. data/vendor/libgit2/COPYING +301 -20
  29. data/vendor/libgit2/cmake/AddCFlagIfSupported.cmake +21 -21
  30. data/vendor/libgit2/cmake/AddClarTest.cmake +7 -0
  31. data/vendor/libgit2/cmake/CheckPrototypeDefinitionSafe.cmake +16 -0
  32. data/vendor/libgit2/cmake/DefaultCFlags.cmake +154 -0
  33. data/vendor/libgit2/cmake/EnableWarnings.cmake +13 -13
  34. data/vendor/libgit2/cmake/ExperimentalFeatures.cmake +23 -0
  35. data/vendor/libgit2/cmake/FindCoreFoundation.cmake +13 -13
  36. data/vendor/libgit2/cmake/FindGSSAPI.cmake +171 -287
  37. data/vendor/libgit2/cmake/FindGSSFramework.cmake +13 -13
  38. data/vendor/libgit2/cmake/FindHTTP_Parser.cmake +17 -17
  39. data/vendor/libgit2/cmake/FindIntlIconv.cmake +51 -0
  40. data/vendor/libgit2/cmake/FindLLHTTP.cmake +39 -0
  41. data/vendor/libgit2/cmake/FindLibSSH2.cmake +5 -5
  42. data/vendor/libgit2/cmake/FindPCRE.cmake +12 -13
  43. data/vendor/libgit2/cmake/FindPCRE2.cmake +12 -12
  44. data/vendor/libgit2/cmake/FindPkgLibraries.cmake +19 -19
  45. data/vendor/libgit2/cmake/FindSecurity.cmake +14 -14
  46. data/vendor/libgit2/cmake/FindStatNsec.cmake +12 -18
  47. data/vendor/libgit2/cmake/Findfutimens.cmake +8 -8
  48. data/vendor/libgit2/cmake/FindmbedTLS.cmake +63 -70
  49. data/vendor/libgit2/cmake/IdeSplitSources.cmake +18 -18
  50. data/vendor/libgit2/cmake/PkgBuildConfig.cmake +60 -60
  51. data/vendor/libgit2/cmake/SanitizeBool.cmake +20 -20
  52. data/vendor/libgit2/cmake/SelectGSSAPI.cmake +37 -37
  53. data/vendor/libgit2/cmake/SelectHTTPParser.cmake +34 -0
  54. data/vendor/libgit2/cmake/SelectHTTPSBackend.cmake +129 -101
  55. data/vendor/libgit2/cmake/SelectHashes.cmake +113 -54
  56. data/vendor/libgit2/cmake/SelectRegex.cmake +56 -0
  57. data/vendor/libgit2/cmake/SelectSSH.cmake +46 -0
  58. data/vendor/libgit2/cmake/SelectXdiff.cmake +9 -0
  59. data/vendor/libgit2/cmake/SelectZlib.cmake +38 -0
  60. data/vendor/libgit2/deps/chromium-zlib/CMakeLists.txt +6 -6
  61. data/vendor/libgit2/deps/llhttp/CMakeLists.txt +8 -0
  62. data/vendor/libgit2/deps/llhttp/LICENSE-MIT +22 -0
  63. data/vendor/libgit2/deps/llhttp/api.c +510 -0
  64. data/vendor/libgit2/deps/llhttp/http.c +170 -0
  65. data/vendor/libgit2/deps/llhttp/llhttp.c +10168 -0
  66. data/vendor/libgit2/deps/llhttp/llhttp.h +897 -0
  67. data/vendor/libgit2/deps/ntlmclient/CMakeLists.txt +33 -31
  68. data/vendor/libgit2/deps/ntlmclient/crypt_builtin_md4.c +311 -0
  69. data/vendor/libgit2/deps/ntlmclient/crypt_commoncrypto.c +2 -1
  70. data/vendor/libgit2/deps/ntlmclient/crypt_mbedtls.c +0 -20
  71. data/vendor/libgit2/deps/ntlmclient/crypt_openssl.c +7 -5
  72. data/vendor/libgit2/deps/ntlmclient/ntlm.c +25 -25
  73. data/vendor/libgit2/deps/ntlmclient/ntlm.h +4 -4
  74. data/vendor/libgit2/deps/ntlmclient/ntlmclient.h +2 -2
  75. data/vendor/libgit2/deps/ntlmclient/unicode_builtin.c +5 -4
  76. data/vendor/libgit2/deps/ntlmclient/unicode_iconv.c +2 -1
  77. data/vendor/libgit2/deps/ntlmclient/utf8.h +1176 -721
  78. data/vendor/libgit2/deps/ntlmclient/util.h +11 -0
  79. data/vendor/libgit2/deps/pcre/CMakeLists.txt +89 -88
  80. data/vendor/libgit2/deps/pcre/LICENCE +5 -5
  81. data/vendor/libgit2/deps/pcre/pcre.h +2 -2
  82. data/vendor/libgit2/deps/pcre/pcre_compile.c +6 -3
  83. data/vendor/libgit2/deps/pcre/pcre_exec.c +2 -2
  84. data/vendor/libgit2/deps/winhttp/CMakeLists.txt +14 -16
  85. data/vendor/libgit2/deps/xdiff/CMakeLists.txt +28 -0
  86. data/vendor/libgit2/deps/xdiff/git-xdiff.h +56 -0
  87. data/vendor/libgit2/{src → deps}/xdiff/xdiff.h +15 -15
  88. data/vendor/libgit2/{src → deps}/xdiff/xdiffi.c +152 -125
  89. data/vendor/libgit2/{src → deps}/xdiff/xdiffi.h +2 -4
  90. data/vendor/libgit2/{src → deps}/xdiff/xemit.c +26 -10
  91. data/vendor/libgit2/{src → deps}/xdiff/xhistogram.c +92 -94
  92. data/vendor/libgit2/{src → deps}/xdiff/xinclude.h +1 -12
  93. data/vendor/libgit2/{src → deps}/xdiff/xmacros.h +18 -1
  94. data/vendor/libgit2/{src → deps}/xdiff/xmerge.c +126 -137
  95. data/vendor/libgit2/{src → deps}/xdiff/xpatience.c +26 -46
  96. data/vendor/libgit2/{src → deps}/xdiff/xprepare.c +24 -46
  97. data/vendor/libgit2/{src → deps}/xdiff/xutils.c +36 -8
  98. data/vendor/libgit2/{src → deps}/xdiff/xutils.h +2 -1
  99. data/vendor/libgit2/deps/zlib/CMakeLists.txt +6 -1
  100. data/vendor/libgit2/deps/zlib/LICENSE +22 -0
  101. data/vendor/libgit2/deps/zlib/adler32.c +7 -22
  102. data/vendor/libgit2/deps/zlib/crc32.c +931 -317
  103. data/vendor/libgit2/deps/zlib/crc32.h +9441 -436
  104. data/vendor/libgit2/deps/zlib/deflate.c +428 -453
  105. data/vendor/libgit2/deps/zlib/deflate.h +51 -23
  106. data/vendor/libgit2/deps/zlib/gzguts.h +15 -19
  107. data/vendor/libgit2/deps/zlib/infback.c +19 -31
  108. data/vendor/libgit2/deps/zlib/inffast.c +15 -18
  109. data/vendor/libgit2/deps/zlib/inffast.h +1 -1
  110. data/vendor/libgit2/deps/zlib/inflate.c +75 -110
  111. data/vendor/libgit2/deps/zlib/inflate.h +3 -2
  112. data/vendor/libgit2/deps/zlib/inftrees.c +6 -11
  113. data/vendor/libgit2/deps/zlib/inftrees.h +6 -6
  114. data/vendor/libgit2/deps/zlib/trees.c +294 -380
  115. data/vendor/libgit2/deps/zlib/zconf.h +23 -14
  116. data/vendor/libgit2/deps/zlib/zlib.h +310 -284
  117. data/vendor/libgit2/deps/zlib/zutil.c +20 -46
  118. data/vendor/libgit2/deps/zlib/zutil.h +24 -41
  119. data/vendor/libgit2/include/git2/annotated_commit.h +12 -5
  120. data/vendor/libgit2/include/git2/apply.h +43 -8
  121. data/vendor/libgit2/include/git2/attr.h +28 -6
  122. data/vendor/libgit2/include/git2/blame.h +137 -29
  123. data/vendor/libgit2/include/git2/blob.h +85 -29
  124. data/vendor/libgit2/include/git2/branch.h +25 -16
  125. data/vendor/libgit2/include/git2/buffer.h +24 -82
  126. data/vendor/libgit2/include/git2/cert.h +4 -3
  127. data/vendor/libgit2/include/git2/checkout.h +88 -34
  128. data/vendor/libgit2/include/git2/cherrypick.h +10 -3
  129. data/vendor/libgit2/include/git2/clone.h +28 -12
  130. data/vendor/libgit2/include/git2/commit.h +134 -3
  131. data/vendor/libgit2/include/git2/common.h +172 -59
  132. data/vendor/libgit2/include/git2/config.h +118 -32
  133. data/vendor/libgit2/include/git2/credential.h +32 -3
  134. data/vendor/libgit2/include/git2/credential_helpers.h +2 -0
  135. data/vendor/libgit2/include/git2/deprecated.h +141 -3
  136. data/vendor/libgit2/include/git2/describe.h +20 -3
  137. data/vendor/libgit2/include/git2/diff.h +95 -19
  138. data/vendor/libgit2/include/git2/email.h +10 -30
  139. data/vendor/libgit2/include/git2/errors.h +51 -61
  140. data/vendor/libgit2/include/git2/experimental.h +20 -0
  141. data/vendor/libgit2/include/git2/filter.h +21 -9
  142. data/vendor/libgit2/include/git2/global.h +8 -1
  143. data/vendor/libgit2/include/git2/graph.h +4 -2
  144. data/vendor/libgit2/include/git2/ignore.h +11 -1
  145. data/vendor/libgit2/include/git2/index.h +111 -11
  146. data/vendor/libgit2/include/git2/indexer.h +67 -2
  147. data/vendor/libgit2/include/git2/mailmap.h +7 -1
  148. data/vendor/libgit2/include/git2/merge.h +70 -5
  149. data/vendor/libgit2/include/git2/message.h +4 -2
  150. data/vendor/libgit2/include/git2/net.h +3 -1
  151. data/vendor/libgit2/include/git2/notes.h +9 -6
  152. data/vendor/libgit2/include/git2/object.h +57 -7
  153. data/vendor/libgit2/include/git2/odb.h +156 -33
  154. data/vendor/libgit2/include/git2/odb_backend.h +132 -16
  155. data/vendor/libgit2/include/git2/oid.h +116 -17
  156. data/vendor/libgit2/include/git2/oidarray.h +7 -1
  157. data/vendor/libgit2/include/git2/pack.h +37 -9
  158. data/vendor/libgit2/include/git2/patch.h +10 -3
  159. data/vendor/libgit2/include/git2/pathspec.h +10 -1
  160. data/vendor/libgit2/include/git2/proxy.h +11 -1
  161. data/vendor/libgit2/include/git2/rebase.h +18 -7
  162. data/vendor/libgit2/include/git2/refdb.h +5 -2
  163. data/vendor/libgit2/include/git2/reflog.h +4 -3
  164. data/vendor/libgit2/include/git2/refs.h +11 -8
  165. data/vendor/libgit2/include/git2/refspec.h +14 -4
  166. data/vendor/libgit2/include/git2/remote.h +295 -54
  167. data/vendor/libgit2/include/git2/repository.h +95 -25
  168. data/vendor/libgit2/include/git2/reset.h +18 -5
  169. data/vendor/libgit2/include/git2/revert.h +9 -4
  170. data/vendor/libgit2/include/git2/revparse.h +4 -4
  171. data/vendor/libgit2/include/git2/revwalk.h +7 -3
  172. data/vendor/libgit2/include/git2/signature.h +47 -2
  173. data/vendor/libgit2/include/git2/stash.h +78 -10
  174. data/vendor/libgit2/include/git2/status.h +24 -11
  175. data/vendor/libgit2/include/git2/stdint.h +87 -85
  176. data/vendor/libgit2/include/git2/strarray.h +2 -16
  177. data/vendor/libgit2/include/git2/submodule.h +27 -11
  178. data/vendor/libgit2/include/git2/sys/alloc.h +12 -34
  179. data/vendor/libgit2/include/git2/sys/commit.h +77 -3
  180. data/vendor/libgit2/include/git2/sys/commit_graph.h +110 -59
  181. data/vendor/libgit2/include/git2/sys/config.h +80 -4
  182. data/vendor/libgit2/include/git2/sys/credential.h +4 -3
  183. data/vendor/libgit2/include/git2/sys/diff.h +21 -1
  184. data/vendor/libgit2/include/git2/sys/email.h +7 -0
  185. data/vendor/libgit2/include/git2/sys/errors.h +76 -0
  186. data/vendor/libgit2/include/git2/sys/filter.h +66 -3
  187. data/vendor/libgit2/include/git2/sys/hashsig.h +11 -0
  188. data/vendor/libgit2/include/git2/sys/index.h +3 -2
  189. data/vendor/libgit2/include/git2/sys/mempack.h +32 -2
  190. data/vendor/libgit2/include/git2/sys/merge.h +55 -7
  191. data/vendor/libgit2/include/git2/sys/midx.h +47 -4
  192. data/vendor/libgit2/include/git2/sys/odb_backend.h +10 -9
  193. data/vendor/libgit2/include/git2/sys/openssl.h +8 -1
  194. data/vendor/libgit2/include/git2/sys/path.h +12 -1
  195. data/vendor/libgit2/include/git2/sys/refdb_backend.h +40 -36
  196. data/vendor/libgit2/include/git2/sys/refs.h +3 -2
  197. data/vendor/libgit2/include/git2/sys/remote.h +53 -0
  198. data/vendor/libgit2/include/git2/sys/repository.h +63 -3
  199. data/vendor/libgit2/include/git2/sys/stream.h +26 -3
  200. data/vendor/libgit2/include/git2/sys/transport.h +87 -41
  201. data/vendor/libgit2/include/git2/tag.h +4 -1
  202. data/vendor/libgit2/include/git2/trace.h +9 -3
  203. data/vendor/libgit2/include/git2/transaction.h +3 -2
  204. data/vendor/libgit2/include/git2/transport.h +11 -3
  205. data/vendor/libgit2/include/git2/tree.h +20 -8
  206. data/vendor/libgit2/include/git2/types.h +26 -10
  207. data/vendor/libgit2/include/git2/version.h +63 -6
  208. data/vendor/libgit2/include/git2/worktree.h +30 -8
  209. data/vendor/libgit2/include/git2.h +1 -0
  210. data/vendor/libgit2/src/CMakeLists.txt +203 -420
  211. data/vendor/libgit2/src/README.md +12 -0
  212. data/vendor/libgit2/src/cli/CMakeLists.txt +56 -0
  213. data/vendor/libgit2/src/cli/README.md +26 -0
  214. data/vendor/libgit2/src/{branch.h → cli/cmd.c} +10 -8
  215. data/vendor/libgit2/src/cli/cmd.h +37 -0
  216. data/vendor/libgit2/src/cli/cmd_blame.c +287 -0
  217. data/vendor/libgit2/src/cli/cmd_cat_file.c +202 -0
  218. data/vendor/libgit2/src/cli/cmd_clone.c +190 -0
  219. data/vendor/libgit2/src/cli/cmd_config.c +241 -0
  220. data/vendor/libgit2/src/cli/cmd_hash_object.c +152 -0
  221. data/vendor/libgit2/src/cli/cmd_help.c +85 -0
  222. data/vendor/libgit2/src/cli/cmd_index_pack.c +114 -0
  223. data/vendor/libgit2/src/cli/cmd_init.c +102 -0
  224. data/vendor/libgit2/src/cli/common.c +168 -0
  225. data/vendor/libgit2/src/cli/common.h +63 -0
  226. data/vendor/libgit2/src/cli/error.h +51 -0
  227. data/vendor/libgit2/src/cli/main.c +134 -0
  228. data/vendor/libgit2/src/cli/opt.c +695 -0
  229. data/vendor/libgit2/src/cli/opt.h +367 -0
  230. data/vendor/libgit2/src/cli/opt_usage.c +263 -0
  231. data/vendor/libgit2/src/cli/opt_usage.h +40 -0
  232. data/vendor/libgit2/src/cli/progress.c +395 -0
  233. data/vendor/libgit2/src/cli/progress.h +129 -0
  234. data/vendor/libgit2/src/cli/sighandler.h +20 -0
  235. data/vendor/libgit2/src/cli/unix/sighandler.c +37 -0
  236. data/vendor/libgit2/src/cli/win32/precompiled.h +3 -0
  237. data/vendor/libgit2/src/cli/win32/sighandler.c +37 -0
  238. data/vendor/libgit2/src/libgit2/CMakeLists.txt +140 -0
  239. data/vendor/libgit2/src/{annotated_commit.c → libgit2/annotated_commit.c} +2 -2
  240. data/vendor/libgit2/src/{annotated_commit.h → libgit2/annotated_commit.h} +2 -2
  241. data/vendor/libgit2/src/{apply.c → libgit2/apply.c} +32 -34
  242. data/vendor/libgit2/src/{apply.h → libgit2/apply.h} +2 -2
  243. data/vendor/libgit2/src/{attr.c → libgit2/attr.c} +48 -31
  244. data/vendor/libgit2/src/{attr_file.c → libgit2/attr_file.c} +25 -20
  245. data/vendor/libgit2/src/{attr_file.h → libgit2/attr_file.h} +6 -4
  246. data/vendor/libgit2/src/{attrcache.c → libgit2/attrcache.c} +87 -46
  247. data/vendor/libgit2/src/{attrcache.h → libgit2/attrcache.h} +5 -9
  248. data/vendor/libgit2/src/{blame.c → libgit2/blame.c} +152 -57
  249. data/vendor/libgit2/src/{blame.h → libgit2/blame.h} +1 -0
  250. data/vendor/libgit2/src/{blame_git.c → libgit2/blame_git.c} +1 -2
  251. data/vendor/libgit2/src/{blob.c → libgit2/blob.c} +38 -29
  252. data/vendor/libgit2/src/{blob.h → libgit2/blob.h} +3 -3
  253. data/vendor/libgit2/src/{branch.c → libgit2/branch.c} +164 -118
  254. data/vendor/libgit2/src/libgit2/branch.h +31 -0
  255. data/vendor/libgit2/src/libgit2/buf.c +126 -0
  256. data/vendor/libgit2/src/libgit2/buf.h +50 -0
  257. data/vendor/libgit2/src/{cache.c → libgit2/cache.c} +22 -17
  258. data/vendor/libgit2/src/{cache.h → libgit2/cache.h} +7 -9
  259. data/vendor/libgit2/src/{checkout.c → libgit2/checkout.c} +107 -91
  260. data/vendor/libgit2/src/{checkout.h → libgit2/checkout.h} +0 -2
  261. data/vendor/libgit2/src/{cherrypick.c → libgit2/cherrypick.c} +14 -15
  262. data/vendor/libgit2/src/{clone.c → libgit2/clone.c} +254 -203
  263. data/vendor/libgit2/src/{clone.h → libgit2/clone.h} +4 -1
  264. data/vendor/libgit2/src/{commit.c → libgit2/commit.c} +296 -77
  265. data/vendor/libgit2/src/libgit2/commit.h +87 -0
  266. data/vendor/libgit2/src/{commit_graph.c → libgit2/commit_graph.c} +246 -135
  267. data/vendor/libgit2/src/{commit_graph.h → libgit2/commit_graph.h} +33 -8
  268. data/vendor/libgit2/src/{commit_list.c → libgit2/commit_list.c} +17 -7
  269. data/vendor/libgit2/src/{commit_list.h → libgit2/commit_list.h} +1 -0
  270. data/vendor/libgit2/src/libgit2/common.h +55 -0
  271. data/vendor/libgit2/src/{config.c → libgit2/config.c} +490 -360
  272. data/vendor/libgit2/src/libgit2/config.cmake.in +3 -0
  273. data/vendor/libgit2/src/{config.h → libgit2/config.h} +24 -6
  274. data/vendor/libgit2/src/{config_backend.h → libgit2/config_backend.h} +8 -10
  275. data/vendor/libgit2/src/{config_cache.c → libgit2/config_cache.c} +4 -5
  276. data/vendor/libgit2/src/{config_file.c → libgit2/config_file.c} +212 -183
  277. data/vendor/libgit2/src/libgit2/config_list.c +285 -0
  278. data/vendor/libgit2/src/libgit2/config_list.h +32 -0
  279. data/vendor/libgit2/src/libgit2/config_mem.c +374 -0
  280. data/vendor/libgit2/src/{config_parse.c → libgit2/config_parse.c} +37 -32
  281. data/vendor/libgit2/src/{config_snapshot.c → libgit2/config_snapshot.c} +24 -31
  282. data/vendor/libgit2/src/{crlf.c → libgit2/crlf.c} +24 -21
  283. data/vendor/libgit2/src/{describe.c → libgit2/describe.c} +62 -51
  284. data/vendor/libgit2/src/{diff.c → libgit2/diff.c} +44 -14
  285. data/vendor/libgit2/src/{diff.h → libgit2/diff.h} +8 -10
  286. data/vendor/libgit2/src/{diff_driver.c → libgit2/diff_driver.c} +46 -55
  287. data/vendor/libgit2/src/{diff_driver.h → libgit2/diff_driver.h} +5 -5
  288. data/vendor/libgit2/src/{diff_file.c → libgit2/diff_file.c} +45 -27
  289. data/vendor/libgit2/src/{diff_generate.c → libgit2/diff_generate.c} +70 -20
  290. data/vendor/libgit2/src/{diff_generate.h → libgit2/diff_generate.h} +5 -3
  291. data/vendor/libgit2/src/{diff_parse.c → libgit2/diff_parse.c} +22 -6
  292. data/vendor/libgit2/src/{diff_print.c → libgit2/diff_print.c} +192 -105
  293. data/vendor/libgit2/src/{diff_stats.c → libgit2/diff_stats.c} +40 -29
  294. data/vendor/libgit2/src/libgit2/diff_stats.h +18 -0
  295. data/vendor/libgit2/src/{diff_tform.c → libgit2/diff_tform.c} +49 -16
  296. data/vendor/libgit2/src/{diff_xdiff.c → libgit2/diff_xdiff.c} +4 -8
  297. data/vendor/libgit2/src/{diff_xdiff.h → libgit2/diff_xdiff.h} +1 -1
  298. data/vendor/libgit2/src/{email.c → libgit2/email.c} +58 -40
  299. data/vendor/libgit2/src/{email.h → libgit2/email.h} +1 -1
  300. data/vendor/libgit2/src/{transports/ssh.h → libgit2/experimental.h.in} +3 -4
  301. data/vendor/libgit2/src/{fetch.c → libgit2/fetch.c} +105 -30
  302. data/vendor/libgit2/src/{fetch.h → libgit2/fetch.h} +1 -3
  303. data/vendor/libgit2/src/{fetchhead.c → libgit2/fetchhead.c} +30 -28
  304. data/vendor/libgit2/src/{filter.c → libgit2/filter.c} +132 -58
  305. data/vendor/libgit2/src/{filter.h → libgit2/filter.h} +26 -5
  306. data/vendor/libgit2/src/{win32 → libgit2}/git2.rc +3 -3
  307. data/vendor/libgit2/src/libgit2/grafts.c +270 -0
  308. data/vendor/libgit2/src/libgit2/grafts.h +35 -0
  309. data/vendor/libgit2/src/{graph.c → libgit2/graph.c} +1 -1
  310. data/vendor/libgit2/src/libgit2/hashmap_oid.h +30 -0
  311. data/vendor/libgit2/src/{ident.c → libgit2/ident.c} +20 -20
  312. data/vendor/libgit2/src/{ignore.c → libgit2/ignore.c} +44 -39
  313. data/vendor/libgit2/src/{ignore.h → libgit2/ignore.h} +2 -2
  314. data/vendor/libgit2/src/{index.c → libgit2/index.c} +460 -276
  315. data/vendor/libgit2/src/{index.h → libgit2/index.h} +21 -5
  316. data/vendor/libgit2/src/libgit2/index_map.c +95 -0
  317. data/vendor/libgit2/src/libgit2/index_map.h +28 -0
  318. data/vendor/libgit2/src/{indexer.c → libgit2/indexer.c} +208 -124
  319. data/vendor/libgit2/src/{iterator.c → libgit2/iterator.c} +102 -71
  320. data/vendor/libgit2/src/{iterator.h → libgit2/iterator.h} +8 -5
  321. data/vendor/libgit2/src/libgit2/libgit2.c +268 -0
  322. data/vendor/libgit2/src/{mailmap.c → libgit2/mailmap.c} +39 -37
  323. data/vendor/libgit2/src/{merge.c → libgit2/merge.c} +83 -73
  324. data/vendor/libgit2/src/{merge.h → libgit2/merge.h} +1 -14
  325. data/vendor/libgit2/src/{merge_driver.c → libgit2/merge_driver.c} +4 -4
  326. data/vendor/libgit2/src/{merge_file.c → libgit2/merge_file.c} +13 -5
  327. data/vendor/libgit2/src/{message.c → libgit2/message.c} +21 -10
  328. data/vendor/libgit2/src/{midx.c → libgit2/midx.c} +174 -112
  329. data/vendor/libgit2/src/{midx.h → libgit2/midx.h} +17 -6
  330. data/vendor/libgit2/src/{mwindow.c → libgit2/mwindow.c} +53 -57
  331. data/vendor/libgit2/src/{mwindow.h → libgit2/mwindow.h} +9 -2
  332. data/vendor/libgit2/src/{notes.c → libgit2/notes.c} +29 -37
  333. data/vendor/libgit2/src/{object.c → libgit2/object.c} +166 -35
  334. data/vendor/libgit2/src/{object.h → libgit2/object.h} +17 -2
  335. data/vendor/libgit2/src/{odb.c → libgit2/odb.c} +261 -88
  336. data/vendor/libgit2/src/{odb.h → libgit2/odb.h} +44 -5
  337. data/vendor/libgit2/src/{odb_loose.c → libgit2/odb_loose.c} +192 -134
  338. data/vendor/libgit2/src/{odb_mempack.c → libgit2/odb_mempack.c} +67 -22
  339. data/vendor/libgit2/src/{odb_pack.c → libgit2/odb_pack.c} +162 -89
  340. data/vendor/libgit2/src/{oid.c → libgit2/oid.c} +171 -92
  341. data/vendor/libgit2/src/libgit2/oid.h +284 -0
  342. data/vendor/libgit2/src/libgit2/oidarray.c +89 -0
  343. data/vendor/libgit2/src/{oidarray.h → libgit2/oidarray.h} +5 -1
  344. data/vendor/libgit2/src/{pack-objects.c → libgit2/pack-objects.c} +126 -66
  345. data/vendor/libgit2/src/{pack-objects.h → libgit2/pack-objects.h} +28 -12
  346. data/vendor/libgit2/src/{pack.c → libgit2/pack.c} +146 -111
  347. data/vendor/libgit2/src/{pack.h → libgit2/pack.h} +45 -25
  348. data/vendor/libgit2/src/{parse.c → libgit2/parse.c} +8 -4
  349. data/vendor/libgit2/src/{parse.h → libgit2/parse.h} +1 -1
  350. data/vendor/libgit2/src/{patch.c → libgit2/patch.c} +3 -3
  351. data/vendor/libgit2/src/{patch.h → libgit2/patch.h} +8 -1
  352. data/vendor/libgit2/src/{patch_generate.c → libgit2/patch_generate.c} +51 -16
  353. data/vendor/libgit2/src/{patch_generate.h → libgit2/patch_generate.h} +5 -5
  354. data/vendor/libgit2/src/{patch_parse.c → libgit2/patch_parse.c} +42 -34
  355. data/vendor/libgit2/src/libgit2/path.c +375 -0
  356. data/vendor/libgit2/src/libgit2/path.h +68 -0
  357. data/vendor/libgit2/src/{pathspec.c → libgit2/pathspec.c} +7 -7
  358. data/vendor/libgit2/src/{pathspec.h → libgit2/pathspec.h} +2 -2
  359. data/vendor/libgit2/src/{proxy.c → libgit2/proxy.c} +4 -1
  360. data/vendor/libgit2/src/{proxy.h → libgit2/proxy.h} +1 -1
  361. data/vendor/libgit2/src/{push.c → libgit2/push.c} +116 -60
  362. data/vendor/libgit2/src/{push.h → libgit2/push.h} +5 -16
  363. data/vendor/libgit2/src/{reader.c → libgit2/reader.c} +9 -9
  364. data/vendor/libgit2/src/{reader.h → libgit2/reader.h} +2 -2
  365. data/vendor/libgit2/src/{rebase.c → libgit2/rebase.c} +147 -147
  366. data/vendor/libgit2/src/{refdb_fs.c → libgit2/refdb_fs.c} +639 -254
  367. data/vendor/libgit2/src/{reflog.c → libgit2/reflog.c} +8 -7
  368. data/vendor/libgit2/src/{reflog.h → libgit2/reflog.h} +3 -2
  369. data/vendor/libgit2/src/{refs.c → libgit2/refs.c} +67 -39
  370. data/vendor/libgit2/src/{refs.h → libgit2/refs.h} +8 -3
  371. data/vendor/libgit2/src/{refspec.c → libgit2/refspec.c} +60 -38
  372. data/vendor/libgit2/src/{refspec.h → libgit2/refspec.h} +13 -2
  373. data/vendor/libgit2/src/{remote.c → libgit2/remote.c} +821 -454
  374. data/vendor/libgit2/src/libgit2/remote.h +101 -0
  375. data/vendor/libgit2/src/{repository.c → libgit2/repository.c} +1377 -594
  376. data/vendor/libgit2/src/{repository.h → libgit2/repository.h} +43 -12
  377. data/vendor/libgit2/src/{reset.c → libgit2/reset.c} +8 -5
  378. data/vendor/libgit2/src/{revert.c → libgit2/revert.c} +18 -22
  379. data/vendor/libgit2/src/{revparse.c → libgit2/revparse.c} +76 -44
  380. data/vendor/libgit2/src/{revwalk.c → libgit2/revwalk.c} +48 -19
  381. data/vendor/libgit2/src/{revwalk.h → libgit2/revwalk.h} +3 -3
  382. data/vendor/libgit2/src/{libgit2.c → libgit2/settings.c} +162 -95
  383. data/vendor/libgit2/src/{settings.h → libgit2/settings.h} +6 -2
  384. data/vendor/libgit2/src/{signature.c → libgit2/signature.c} +144 -21
  385. data/vendor/libgit2/src/{signature.h → libgit2/signature.h} +1 -2
  386. data/vendor/libgit2/src/{stash.c → libgit2/stash.c} +243 -68
  387. data/vendor/libgit2/src/{status.c → libgit2/status.c} +5 -2
  388. data/vendor/libgit2/src/{strarray.c → libgit2/strarray.c} +1 -0
  389. data/vendor/libgit2/src/libgit2/strarray.h +25 -0
  390. data/vendor/libgit2/src/{streams → libgit2/streams}/mbedtls.c +62 -67
  391. data/vendor/libgit2/src/{streams → libgit2/streams}/openssl.c +41 -24
  392. data/vendor/libgit2/src/{streams → libgit2/streams}/openssl.h +2 -0
  393. data/vendor/libgit2/src/{streams → libgit2/streams}/openssl_dynamic.c +11 -3
  394. data/vendor/libgit2/src/{streams → libgit2/streams}/openssl_dynamic.h +6 -3
  395. data/vendor/libgit2/src/libgit2/streams/schannel.c +715 -0
  396. data/vendor/libgit2/src/libgit2/streams/schannel.h +28 -0
  397. data/vendor/libgit2/src/libgit2/streams/socket.c +428 -0
  398. data/vendor/libgit2/src/{streams → libgit2/streams}/socket.h +3 -1
  399. data/vendor/libgit2/src/{streams → libgit2/streams}/stransport.c +79 -19
  400. data/vendor/libgit2/src/{streams → libgit2/streams}/tls.c +5 -0
  401. data/vendor/libgit2/src/{submodule.c → libgit2/submodule.c} +279 -220
  402. data/vendor/libgit2/src/{submodule.h → libgit2/submodule.h} +10 -11
  403. data/vendor/libgit2/src/libgit2/sysdir.c +650 -0
  404. data/vendor/libgit2/src/{sysdir.h → libgit2/sysdir.h} +55 -18
  405. data/vendor/libgit2/src/{tag.c → libgit2/tag.c} +74 -43
  406. data/vendor/libgit2/src/{tag.h → libgit2/tag.h} +2 -2
  407. data/vendor/libgit2/src/{trace.c → libgit2/trace.c} +1 -14
  408. data/vendor/libgit2/src/{trace.h → libgit2/trace.h} +5 -22
  409. data/vendor/libgit2/src/{trailer.c → libgit2/trailer.c} +7 -7
  410. data/vendor/libgit2/src/{transaction.c → libgit2/transaction.c} +27 -21
  411. data/vendor/libgit2/src/{transaction.h → libgit2/transaction.h} +4 -1
  412. data/vendor/libgit2/src/{transport.c → libgit2/transport.c} +14 -11
  413. data/vendor/libgit2/src/{transports → libgit2/transports}/auth.c +7 -9
  414. data/vendor/libgit2/src/{transports → libgit2/transports}/auth.h +3 -5
  415. data/vendor/libgit2/src/{transports/auth_negotiate.c → libgit2/transports/auth_gssapi.c} +44 -45
  416. data/vendor/libgit2/src/{transports → libgit2/transports}/auth_negotiate.h +1 -1
  417. data/vendor/libgit2/src/{transports → libgit2/transports}/auth_ntlm.h +1 -2
  418. data/vendor/libgit2/src/{transports/auth_ntlm.c → libgit2/transports/auth_ntlmclient.c} +22 -22
  419. data/vendor/libgit2/src/libgit2/transports/auth_sspi.c +341 -0
  420. data/vendor/libgit2/src/{transports → libgit2/transports}/credential.c +1 -1
  421. data/vendor/libgit2/src/{transports → libgit2/transports}/git.c +16 -19
  422. data/vendor/libgit2/src/{transports → libgit2/transports}/http.c +49 -24
  423. data/vendor/libgit2/src/{transports → libgit2/transports}/http.h +0 -11
  424. data/vendor/libgit2/src/{transports → libgit2/transports}/httpclient.c +188 -134
  425. data/vendor/libgit2/src/{transports → libgit2/transports}/httpclient.h +10 -0
  426. data/vendor/libgit2/src/libgit2/transports/httpparser.c +128 -0
  427. data/vendor/libgit2/src/libgit2/transports/httpparser.h +99 -0
  428. data/vendor/libgit2/src/{transports → libgit2/transports}/local.c +159 -127
  429. data/vendor/libgit2/src/{transports → libgit2/transports}/smart.c +142 -165
  430. data/vendor/libgit2/src/{transports → libgit2/transports}/smart.h +56 -36
  431. data/vendor/libgit2/src/{transports → libgit2/transports}/smart_pkt.c +307 -74
  432. data/vendor/libgit2/src/{transports → libgit2/transports}/smart_protocol.c +297 -97
  433. data/vendor/libgit2/src/libgit2/transports/ssh.c +85 -0
  434. data/vendor/libgit2/src/libgit2/transports/ssh_exec.c +347 -0
  435. data/vendor/libgit2/src/libgit2/transports/ssh_exec.h +26 -0
  436. data/vendor/libgit2/src/{transports/ssh.c → libgit2/transports/ssh_libssh2.c} +414 -268
  437. data/vendor/libgit2/src/libgit2/transports/ssh_libssh2.h +28 -0
  438. data/vendor/libgit2/src/{transports → libgit2/transports}/winhttp.c +101 -75
  439. data/vendor/libgit2/src/{tree-cache.c → libgit2/tree-cache.c} +30 -20
  440. data/vendor/libgit2/src/{tree-cache.h → libgit2/tree-cache.h} +7 -5
  441. data/vendor/libgit2/src/{tree.c → libgit2/tree.c} +128 -110
  442. data/vendor/libgit2/src/{tree.h → libgit2/tree.h} +7 -6
  443. data/vendor/libgit2/src/{worktree.c → libgit2/worktree.c} +160 -121
  444. data/vendor/libgit2/src/{worktree.h → libgit2/worktree.h} +1 -1
  445. data/vendor/libgit2/src/util/CMakeLists.txt +77 -0
  446. data/vendor/libgit2/src/{alloc.c → util/alloc.c} +69 -7
  447. data/vendor/libgit2/src/util/alloc.h +65 -0
  448. data/vendor/libgit2/src/util/allocators/debugalloc.c +73 -0
  449. data/vendor/libgit2/src/util/allocators/debugalloc.h +17 -0
  450. data/vendor/libgit2/src/util/allocators/failalloc.c +32 -0
  451. data/vendor/libgit2/src/util/allocators/failalloc.h +17 -0
  452. data/vendor/libgit2/src/util/allocators/stdalloc.c +37 -0
  453. data/vendor/libgit2/src/{allocators → util/allocators}/stdalloc.h +1 -1
  454. data/vendor/libgit2/src/util/allocators/win32_leakcheck.c +50 -0
  455. data/vendor/libgit2/src/{allocators → util/allocators}/win32_leakcheck.h +1 -1
  456. data/vendor/libgit2/src/{array.h → util/array.h} +25 -19
  457. data/vendor/libgit2/src/{assert_safe.h → util/assert_safe.h} +16 -0
  458. data/vendor/libgit2/src/{cc-compat.h → util/cc-compat.h} +5 -1
  459. data/vendor/libgit2/src/util/ctype_compat.h +70 -0
  460. data/vendor/libgit2/src/{date.c → util/date.c} +35 -33
  461. data/vendor/libgit2/src/util/date.h +45 -0
  462. data/vendor/libgit2/src/util/errors.c +401 -0
  463. data/vendor/libgit2/src/{errors.h → util/errors.h} +22 -19
  464. data/vendor/libgit2/src/{filebuf.c → util/filebuf.c} +35 -30
  465. data/vendor/libgit2/src/{filebuf.h → util/filebuf.h} +21 -8
  466. data/vendor/libgit2/src/{path.c → util/fs_path.c} +591 -615
  467. data/vendor/libgit2/src/{path.h → util/fs_path.h} +257 -181
  468. data/vendor/libgit2/src/{futils.c → util/futils.c} +144 -95
  469. data/vendor/libgit2/src/{futils.h → util/futils.h} +40 -18
  470. data/vendor/libgit2/src/{features.h.in → util/git2_features.h.in} +33 -2
  471. data/vendor/libgit2/src/{common.h → util/git2_util.h} +26 -59
  472. data/vendor/libgit2/src/util/hash/builtin.c +53 -0
  473. data/vendor/libgit2/src/{hash/sha1/openssl.h → util/hash/builtin.h} +6 -6
  474. data/vendor/libgit2/src/{hash/sha1 → util/hash}/collisiondetect.c +3 -3
  475. data/vendor/libgit2/src/{hash/sha1 → util/hash}/collisiondetect.h +3 -3
  476. data/vendor/libgit2/src/util/hash/common_crypto.c +112 -0
  477. data/vendor/libgit2/src/{hash/sha1 → util/hash}/common_crypto.h +11 -3
  478. data/vendor/libgit2/src/util/hash/mbedtls.c +92 -0
  479. data/vendor/libgit2/src/{hash/sha1 → util/hash}/mbedtls.h +14 -4
  480. data/vendor/libgit2/src/util/hash/openssl.c +347 -0
  481. data/vendor/libgit2/src/util/hash/openssl.h +61 -0
  482. data/vendor/libgit2/src/util/hash/rfc6234/sha.h +243 -0
  483. data/vendor/libgit2/src/util/hash/rfc6234/sha224-256.c +601 -0
  484. data/vendor/libgit2/src/util/hash/sha.h +73 -0
  485. data/vendor/libgit2/src/{hash/sha1 → util/hash}/sha1dc/sha1.c +1 -1
  486. data/vendor/libgit2/src/util/hash/win32.c +549 -0
  487. data/vendor/libgit2/src/util/hash/win32.h +60 -0
  488. data/vendor/libgit2/src/util/hash.c +158 -0
  489. data/vendor/libgit2/src/util/hash.h +61 -0
  490. data/vendor/libgit2/src/util/hashmap.h +424 -0
  491. data/vendor/libgit2/src/util/hashmap_str.h +43 -0
  492. data/vendor/libgit2/src/{integer.h → util/integer.h} +3 -1
  493. data/vendor/libgit2/src/{map.h → util/map.h} +1 -1
  494. data/vendor/libgit2/src/util/net.c +1160 -0
  495. data/vendor/libgit2/src/{net.h → util/net.h} +45 -4
  496. data/vendor/libgit2/src/{pool.c → util/pool.c} +1 -1
  497. data/vendor/libgit2/src/{pool.h → util/pool.h} +6 -1
  498. data/vendor/libgit2/src/{posix.c → util/posix.c} +57 -3
  499. data/vendor/libgit2/src/{posix.h → util/posix.h} +26 -1
  500. data/vendor/libgit2/src/{pqueue.h → util/pqueue.h} +3 -3
  501. data/vendor/libgit2/src/util/process.h +222 -0
  502. data/vendor/libgit2/src/util/rand.c +230 -0
  503. data/vendor/libgit2/src/util/rand.h +37 -0
  504. data/vendor/libgit2/src/{regexp.c → util/regexp.c} +5 -5
  505. data/vendor/libgit2/src/{regexp.h → util/regexp.h} +1 -1
  506. data/vendor/libgit2/src/{runtime.c → util/runtime.c} +1 -1
  507. data/vendor/libgit2/src/{runtime.h → util/runtime.h} +1 -1
  508. data/vendor/libgit2/src/{sortedcache.c → util/sortedcache.c} +15 -14
  509. data/vendor/libgit2/src/{sortedcache.h → util/sortedcache.h} +5 -5
  510. data/vendor/libgit2/src/util/staticstr.h +66 -0
  511. data/vendor/libgit2/src/{buffer.c → util/str.c} +159 -153
  512. data/vendor/libgit2/src/util/str.h +357 -0
  513. data/vendor/libgit2/src/util/strlist.c +108 -0
  514. data/vendor/libgit2/src/util/strlist.h +36 -0
  515. data/vendor/libgit2/src/{thread.c → util/thread.c} +1 -1
  516. data/vendor/libgit2/src/{thread.h → util/thread.h} +23 -22
  517. data/vendor/libgit2/src/{tsort.c → util/tsort.c} +1 -1
  518. data/vendor/libgit2/src/{unix → util/unix}/map.c +1 -3
  519. data/vendor/libgit2/src/{unix → util/unix}/posix.h +1 -6
  520. data/vendor/libgit2/src/util/unix/process.c +629 -0
  521. data/vendor/libgit2/src/{unix → util/unix}/realpath.c +24 -8
  522. data/vendor/libgit2/src/{utf8.c → util/utf8.c} +1 -1
  523. data/vendor/libgit2/src/{utf8.h → util/utf8.h} +1 -1
  524. data/vendor/libgit2/src/{util.c → util/util.c} +24 -19
  525. data/vendor/libgit2/src/{util.h → util/util.h} +30 -81
  526. data/vendor/libgit2/src/{varint.h → util/varint.h} +1 -1
  527. data/vendor/libgit2/src/{vector.c → util/vector.c} +3 -3
  528. data/vendor/libgit2/src/{vector.h → util/vector.h} +4 -4
  529. data/vendor/libgit2/src/{wildmatch.h → util/wildmatch.h} +1 -1
  530. data/vendor/libgit2/src/{win32 → util/win32}/dir.h +1 -1
  531. data/vendor/libgit2/src/{win32 → util/win32}/error.c +1 -1
  532. data/vendor/libgit2/src/{win32 → util/win32}/error.h +1 -1
  533. data/vendor/libgit2/src/{win32 → util/win32}/map.c +1 -1
  534. data/vendor/libgit2/src/{win32 → util/win32}/path_w32.c +148 -17
  535. data/vendor/libgit2/src/{win32 → util/win32}/path_w32.h +3 -1
  536. data/vendor/libgit2/src/{win32 → util/win32}/posix.h +1 -2
  537. data/vendor/libgit2/src/{win32 → util/win32}/posix_w32.c +42 -35
  538. data/vendor/libgit2/src/util/win32/precompiled.c +1 -0
  539. data/vendor/libgit2/src/{win32 → util/win32}/precompiled.h +1 -1
  540. data/vendor/libgit2/src/util/win32/process.c +506 -0
  541. data/vendor/libgit2/src/{win32 → util/win32}/thread.h +1 -1
  542. data/vendor/libgit2/src/util/win32/utf-conv.c +144 -0
  543. data/vendor/libgit2/src/util/win32/utf-conv.h +127 -0
  544. data/vendor/libgit2/src/{win32 → util/win32}/w32_buffer.c +2 -3
  545. data/vendor/libgit2/src/{win32 → util/win32}/w32_buffer.h +3 -4
  546. data/vendor/libgit2/src/{win32 → util/win32}/w32_leakcheck.c +1 -1
  547. data/vendor/libgit2/src/{win32 → util/win32}/w32_leakcheck.h +1 -1
  548. data/vendor/libgit2/src/{win32 → util/win32}/w32_util.c +1 -1
  549. data/vendor/libgit2/src/{win32 → util/win32}/w32_util.h +1 -1
  550. data/vendor/libgit2/src/{zstream.c → util/zstream.c} +5 -5
  551. data/vendor/libgit2/src/{zstream.h → util/zstream.h} +5 -5
  552. metadata +431 -362
  553. data/vendor/libgit2/cmake/FindIconv.cmake +0 -45
  554. data/vendor/libgit2/deps/http-parser/CMakeLists.txt +0 -6
  555. data/vendor/libgit2/deps/http-parser/COPYING +0 -23
  556. data/vendor/libgit2/deps/http-parser/http_parser.c +0 -2182
  557. data/vendor/libgit2/deps/http-parser/http_parser.h +0 -305
  558. data/vendor/libgit2/deps/zlib/COPYING +0 -27
  559. data/vendor/libgit2/include/git2/sys/reflog.h +0 -21
  560. data/vendor/libgit2/src/alloc.h +0 -40
  561. data/vendor/libgit2/src/allocators/failalloc.c +0 -92
  562. data/vendor/libgit2/src/allocators/failalloc.h +0 -23
  563. data/vendor/libgit2/src/allocators/stdalloc.c +0 -150
  564. data/vendor/libgit2/src/allocators/win32_leakcheck.c +0 -118
  565. data/vendor/libgit2/src/buffer.h +0 -374
  566. data/vendor/libgit2/src/commit.h +0 -46
  567. data/vendor/libgit2/src/config_entries.c +0 -237
  568. data/vendor/libgit2/src/config_entries.h +0 -24
  569. data/vendor/libgit2/src/config_mem.c +0 -220
  570. data/vendor/libgit2/src/errors.c +0 -238
  571. data/vendor/libgit2/src/hash/sha1/common_crypto.c +0 -57
  572. data/vendor/libgit2/src/hash/sha1/generic.c +0 -300
  573. data/vendor/libgit2/src/hash/sha1/generic.h +0 -19
  574. data/vendor/libgit2/src/hash/sha1/mbedtls.c +0 -46
  575. data/vendor/libgit2/src/hash/sha1/openssl.c +0 -59
  576. data/vendor/libgit2/src/hash/sha1/win32.c +0 -333
  577. data/vendor/libgit2/src/hash/sha1/win32.h +0 -128
  578. data/vendor/libgit2/src/hash/sha1.h +0 -38
  579. data/vendor/libgit2/src/hash.c +0 -110
  580. data/vendor/libgit2/src/hash.h +0 -46
  581. data/vendor/libgit2/src/idxmap.c +0 -157
  582. data/vendor/libgit2/src/idxmap.h +0 -177
  583. data/vendor/libgit2/src/khash.h +0 -615
  584. data/vendor/libgit2/src/libgit2.h +0 -15
  585. data/vendor/libgit2/src/message.h +0 -17
  586. data/vendor/libgit2/src/net.c +0 -540
  587. data/vendor/libgit2/src/netops.c +0 -125
  588. data/vendor/libgit2/src/netops.h +0 -68
  589. data/vendor/libgit2/src/offmap.c +0 -101
  590. data/vendor/libgit2/src/offmap.h +0 -133
  591. data/vendor/libgit2/src/oid.h +0 -51
  592. data/vendor/libgit2/src/oidarray.c +0 -43
  593. data/vendor/libgit2/src/oidmap.c +0 -107
  594. data/vendor/libgit2/src/oidmap.h +0 -128
  595. data/vendor/libgit2/src/remote.h +0 -55
  596. data/vendor/libgit2/src/streams/socket.c +0 -239
  597. data/vendor/libgit2/src/strmap.c +0 -100
  598. data/vendor/libgit2/src/strmap.h +0 -131
  599. data/vendor/libgit2/src/sysdir.c +0 -347
  600. data/vendor/libgit2/src/threadstate.c +0 -84
  601. data/vendor/libgit2/src/threadstate.h +0 -24
  602. data/vendor/libgit2/src/win32/findfile.c +0 -230
  603. data/vendor/libgit2/src/win32/findfile.h +0 -19
  604. data/vendor/libgit2/src/win32/utf-conv.c +0 -146
  605. data/vendor/libgit2/src/win32/utf-conv.h +0 -60
  606. /data/vendor/libgit2/{src → deps}/xdiff/xemit.h +0 -0
  607. /data/vendor/libgit2/{src → deps}/xdiff/xprepare.h +0 -0
  608. /data/vendor/libgit2/{src → deps}/xdiff/xtypes.h +0 -0
  609. /data/vendor/libgit2/src/{win32 → cli/win32}/precompiled.c +0 -0
  610. /data/vendor/libgit2/src/{attr.h → libgit2/attr.h} +0 -0
  611. /data/vendor/libgit2/src/{blame_git.h → libgit2/blame_git.h} +0 -0
  612. /data/vendor/libgit2/src/{config_parse.h → libgit2/config_parse.h} +0 -0
  613. /data/vendor/libgit2/src/{delta.c → libgit2/delta.c} +0 -0
  614. /data/vendor/libgit2/src/{delta.h → libgit2/delta.h} +0 -0
  615. /data/vendor/libgit2/src/{diff_file.h → libgit2/diff_file.h} +0 -0
  616. /data/vendor/libgit2/src/{diff_parse.h → libgit2/diff_parse.h} +0 -0
  617. /data/vendor/libgit2/src/{diff_tform.h → libgit2/diff_tform.h} +0 -0
  618. /data/vendor/libgit2/src/{fetchhead.h → libgit2/fetchhead.h} +0 -0
  619. /data/vendor/libgit2/src/{hashsig.c → libgit2/hashsig.c} +0 -0
  620. /data/vendor/libgit2/src/{indexer.h → libgit2/indexer.h} +0 -0
  621. /data/vendor/libgit2/src/{mailmap.h → libgit2/mailmap.h} +0 -0
  622. /data/vendor/libgit2/src/{merge_driver.h → libgit2/merge_driver.h} +0 -0
  623. /data/vendor/libgit2/src/{notes.h → libgit2/notes.h} +0 -0
  624. /data/vendor/libgit2/src/{object_api.c → libgit2/object_api.c} +0 -0
  625. /data/vendor/libgit2/src/{patch_parse.h → libgit2/patch_parse.h} +0 -0
  626. /data/vendor/libgit2/src/{refdb.c → libgit2/refdb.c} +0 -0
  627. /data/vendor/libgit2/src/{refdb.h → libgit2/refdb.h} +0 -0
  628. /data/vendor/libgit2/src/{repo_template.h → libgit2/repo_template.h} +0 -0
  629. /data/vendor/libgit2/src/{status.h → libgit2/status.h} +0 -0
  630. /data/vendor/libgit2/src/{stream.h → libgit2/stream.h} +0 -0
  631. /data/vendor/libgit2/src/{streams → libgit2/streams}/mbedtls.h +0 -0
  632. /data/vendor/libgit2/src/{streams → libgit2/streams}/openssl_legacy.c +0 -0
  633. /data/vendor/libgit2/src/{streams → libgit2/streams}/openssl_legacy.h +0 -0
  634. /data/vendor/libgit2/src/{streams → libgit2/streams}/registry.c +0 -0
  635. /data/vendor/libgit2/src/{streams → libgit2/streams}/registry.h +0 -0
  636. /data/vendor/libgit2/src/{streams → libgit2/streams}/stransport.h +0 -0
  637. /data/vendor/libgit2/src/{streams → libgit2/streams}/tls.h +0 -0
  638. /data/vendor/libgit2/src/{transports → libgit2/transports}/credential_helpers.c +0 -0
  639. /data/vendor/libgit2/src/{userdiff.h → libgit2/userdiff.h} +0 -0
  640. /data/vendor/libgit2/src/{bitvec.h → util/bitvec.h} +0 -0
  641. /data/vendor/libgit2/src/{hash/sha1 → util/hash}/sha1dc/sha1.h +0 -0
  642. /data/vendor/libgit2/src/{hash/sha1 → util/hash}/sha1dc/ubc_check.c +0 -0
  643. /data/vendor/libgit2/src/{hash/sha1 → util/hash}/sha1dc/ubc_check.h +0 -0
  644. /data/vendor/libgit2/src/{pqueue.c → util/pqueue.c} +0 -0
  645. /data/vendor/libgit2/src/{strnlen.h → util/strnlen.h} +0 -0
  646. /data/vendor/libgit2/src/{unix → util/unix}/pthread.h +0 -0
  647. /data/vendor/libgit2/src/{varint.c → util/varint.c} +0 -0
  648. /data/vendor/libgit2/src/{wildmatch.c → util/wildmatch.c} +0 -0
  649. /data/vendor/libgit2/src/{win32 → util/win32}/dir.c +0 -0
  650. /data/vendor/libgit2/src/{win32 → util/win32}/mingw-compat.h +0 -0
  651. /data/vendor/libgit2/src/{win32 → util/win32}/msvc-compat.h +0 -0
  652. /data/vendor/libgit2/src/{win32 → util/win32}/reparse.h +0 -0
  653. /data/vendor/libgit2/src/{win32 → util/win32}/thread.c +0 -0
  654. /data/vendor/libgit2/src/{win32 → util/win32}/version.h +0 -0
  655. /data/vendor/libgit2/src/{win32 → util/win32}/w32_common.h +0 -0
  656. /data/vendor/libgit2/src/{win32 → util/win32}/win32-compat.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
  */
@@ -170,7 +170,7 @@ typedef enum {
170
170
  /** Include the necessary deflate / delta information so that `git-apply`
171
171
  * can apply given diff information to binary files.
172
172
  */
173
- GIT_DIFF_SHOW_BINARY = (1u << 30),
173
+ GIT_DIFF_SHOW_BINARY = (1u << 30)
174
174
  } git_diff_option_t;
175
175
 
176
176
  /**
@@ -208,6 +208,7 @@ typedef enum {
208
208
  GIT_DIFF_FLAG_NOT_BINARY = (1u << 1), /**< file(s) treated as text data */
209
209
  GIT_DIFF_FLAG_VALID_ID = (1u << 2), /**< `id` value is known correct */
210
210
  GIT_DIFF_FLAG_EXISTS = (1u << 3), /**< file exists at this side of the delta */
211
+ GIT_DIFF_FLAG_VALID_SIZE = (1u << 4) /**< file size value is known correct */
211
212
  } git_diff_flag_t;
212
213
 
213
214
  /**
@@ -231,7 +232,7 @@ typedef enum {
231
232
  GIT_DELTA_UNTRACKED = 7, /**< entry is untracked item in workdir */
232
233
  GIT_DELTA_TYPECHANGE = 8, /**< type of entry changed between old and new */
233
234
  GIT_DELTA_UNREADABLE = 9, /**< entry is unreadable */
234
- GIT_DELTA_CONFLICTED = 10, /**< entry in the index is conflicted */
235
+ GIT_DELTA_CONFLICTED = 10 /**< entry in the index is conflicted */
235
236
  } git_delta_t;
236
237
 
237
238
  /**
@@ -273,7 +274,7 @@ typedef struct {
273
274
 
274
275
  /**
275
276
  * Represents the known length of the `id` field, when
276
- * converted to a hex string. It is generally `GIT_OID_HEXSZ`, unless this
277
+ * converted to a hex string. It is generally `GIT_OID_SHA1_HEXSIZE`, unless this
277
278
  * delta was created from reading a patch file, in which case it may be
278
279
  * abbreviated to something reasonable, like 7 characters.
279
280
  */
@@ -341,6 +342,12 @@ typedef struct {
341
342
  * diff process continues.
342
343
  * - returns 0, the delta is inserted into the diff, and the diff process
343
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
344
351
  */
345
352
  typedef int GIT_CALLBACK(git_diff_notify_cb)(
346
353
  const git_diff *diff_so_far,
@@ -356,7 +363,8 @@ typedef int GIT_CALLBACK(git_diff_notify_cb)(
356
363
  * @param diff_so_far The diff being generated.
357
364
  * @param old_path The path to the old file or NULL.
358
365
  * @param new_path The path to the new file or NULL.
359
- * @return Non-zero to abort the diff.
366
+ * @param payload the user-specified callback payload
367
+ * @return 0 or an error code
360
368
  */
361
369
  typedef int GIT_CALLBACK(git_diff_progress_cb)(
362
370
  const git_diff *diff_so_far,
@@ -420,6 +428,22 @@ typedef struct {
420
428
  */
421
429
  uint32_t interhunk_lines;
422
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
+
423
447
  /**
424
448
  * The abbreviation length to use when formatting object ids.
425
449
  * Defaults to the value of 'core.abbrev' from the config, or 7 if unset.
@@ -446,10 +470,10 @@ typedef struct {
446
470
  const char *new_prefix;
447
471
  } git_diff_options;
448
472
 
449
- /* The current version of the diff options structure */
473
+ /** The current version of the diff options structure */
450
474
  #define GIT_DIFF_OPTIONS_VERSION 1
451
475
 
452
- /* Stack initializer for diff options. Alternatively use
476
+ /** Stack initializer for diff options. Alternatively use
453
477
  * `git_diff_options_init` programmatic initialization.
454
478
  */
455
479
  #define GIT_DIFF_OPTIONS_INIT \
@@ -475,12 +499,14 @@ GIT_EXTERN(int) git_diff_options_init(
475
499
  * @param delta A pointer to the delta data for the file
476
500
  * @param progress Goes from 0 to 1 over the diff
477
501
  * @param payload User-specified pointer from foreach function
502
+ * @return 0 or an error code
478
503
  */
479
504
  typedef int GIT_CALLBACK(git_diff_file_cb)(
480
505
  const git_diff_delta *delta,
481
506
  float progress,
482
507
  void *payload);
483
508
 
509
+ /** Maximum size of the hunk header */
484
510
  #define GIT_DIFF_HUNK_HEADER_SIZE 128
485
511
 
486
512
  /**
@@ -497,7 +523,7 @@ typedef enum {
497
523
  GIT_DIFF_BINARY_LITERAL,
498
524
 
499
525
  /** The binary data is the delta from one side to the other. */
500
- GIT_DIFF_BINARY_DELTA,
526
+ GIT_DIFF_BINARY_DELTA
501
527
  } git_diff_binary_t;
502
528
 
503
529
  /** The contents of one of the files in a binary diff. */
@@ -541,6 +567,11 @@ typedef struct {
541
567
  /**
542
568
  * When iterating over a diff, callback that will be made for
543
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
544
575
  */
545
576
  typedef int GIT_CALLBACK(git_diff_binary_cb)(
546
577
  const git_diff_delta *delta,
@@ -567,6 +598,11 @@ typedef struct {
567
598
 
568
599
  /**
569
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
570
606
  */
571
607
  typedef int GIT_CALLBACK(git_diff_hunk_cb)(
572
608
  const git_diff_delta *delta,
@@ -628,6 +664,12 @@ typedef struct {
628
664
  * When printing a diff, callback that will be made to output each line
629
665
  * of text. This uses some extra GIT_DIFF_LINE_... constants for output
630
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
631
673
  */
632
674
  typedef int GIT_CALLBACK(git_diff_line_cb)(
633
675
  const git_diff_delta *delta, /**< delta that contains this data */
@@ -706,7 +748,7 @@ typedef enum {
706
748
  * GIT_DIFF_INCLUDE_UNMODIFIED flag. If you do not want UNMODIFIED
707
749
  * records in the final result, pass this flag to have them removed.
708
750
  */
709
- GIT_DIFF_FIND_REMOVE_UNMODIFIED = (1u << 16),
751
+ GIT_DIFF_FIND_REMOVE_UNMODIFIED = (1u << 16)
710
752
  } git_diff_find_t;
711
753
 
712
754
  /**
@@ -758,7 +800,7 @@ typedef struct {
758
800
  uint16_t copy_threshold;
759
801
 
760
802
  /**
761
- * Treshold below which similar files will be split into a delete/add pair.
803
+ * Threshold below which similar files will be split into a delete/add pair.
762
804
  * This is equivalent to the last part of the -B option. Defaults to 60.
763
805
  */
764
806
  uint16_t break_rewrite_threshold;
@@ -768,7 +810,7 @@ typedef struct {
768
810
  *
769
811
  * This is a little different from the `-l` option from Git because we
770
812
  * will still process up to this many matches before abandoning the search.
771
- * Defaults to 200.
813
+ * Defaults to 1000.
772
814
  */
773
815
  size_t rename_limit;
774
816
 
@@ -785,7 +827,10 @@ typedef struct {
785
827
  git_diff_similarity_metric *metric;
786
828
  } git_diff_find_options;
787
829
 
830
+ /** Current version for the `git_diff_find_options` structure */
788
831
  #define GIT_DIFF_FIND_OPTIONS_VERSION 1
832
+
833
+ /** Static constructor for `git_diff_find_options` */
789
834
  #define GIT_DIFF_FIND_OPTIONS_INIT {GIT_DIFF_FIND_OPTIONS_VERSION}
790
835
 
791
836
  /**
@@ -831,6 +876,7 @@ GIT_EXTERN(void) git_diff_free(git_diff *diff);
831
876
  * @param old_tree A git_tree object to diff from, or NULL for empty tree.
832
877
  * @param new_tree A git_tree object to diff to, or NULL for empty tree.
833
878
  * @param opts Structure with options to influence diff or NULL for defaults.
879
+ * @return 0 or an error code.
834
880
  */
835
881
  GIT_EXTERN(int) git_diff_tree_to_tree(
836
882
  git_diff **diff,
@@ -857,6 +903,7 @@ GIT_EXTERN(int) git_diff_tree_to_tree(
857
903
  * @param old_tree A git_tree object to diff from, or NULL for empty tree.
858
904
  * @param index The index to diff with; repo index used if NULL.
859
905
  * @param opts Structure with options to influence diff or NULL for defaults.
906
+ * @return 0 or an error code.
860
907
  */
861
908
  GIT_EXTERN(int) git_diff_tree_to_index(
862
909
  git_diff **diff,
@@ -884,6 +931,7 @@ GIT_EXTERN(int) git_diff_tree_to_index(
884
931
  * @param repo The repository.
885
932
  * @param index The index to diff from; repo index used if NULL.
886
933
  * @param opts Structure with options to influence diff or NULL for defaults.
934
+ * @return 0 or an error code.
887
935
  */
888
936
  GIT_EXTERN(int) git_diff_index_to_workdir(
889
937
  git_diff **diff,
@@ -913,6 +961,7 @@ GIT_EXTERN(int) git_diff_index_to_workdir(
913
961
  * @param repo The repository containing the tree.
914
962
  * @param old_tree A git_tree object to diff from, or NULL for empty tree.
915
963
  * @param opts Structure with options to influence diff or NULL for defaults.
964
+ * @return 0 or an error code.
916
965
  */
917
966
  GIT_EXTERN(int) git_diff_tree_to_workdir(
918
967
  git_diff **diff,
@@ -932,6 +981,7 @@ GIT_EXTERN(int) git_diff_tree_to_workdir(
932
981
  * @param repo The repository containing the tree.
933
982
  * @param old_tree A git_tree object to diff from, or NULL for empty tree.
934
983
  * @param opts Structure with options to influence diff or NULL for defaults.
984
+ * @return 0 or an error code.
935
985
  */
936
986
  GIT_EXTERN(int) git_diff_tree_to_workdir_with_index(
937
987
  git_diff **diff,
@@ -950,6 +1000,7 @@ GIT_EXTERN(int) git_diff_tree_to_workdir_with_index(
950
1000
  * @param old_index A git_index object to diff from.
951
1001
  * @param new_index A git_index object to diff to.
952
1002
  * @param opts Structure with options to influence diff or NULL for defaults.
1003
+ * @return 0 or an error code.
953
1004
  */
954
1005
  GIT_EXTERN(int) git_diff_index_to_index(
955
1006
  git_diff **diff,
@@ -970,6 +1021,7 @@ GIT_EXTERN(int) git_diff_index_to_index(
970
1021
  *
971
1022
  * @param onto Diff to merge into.
972
1023
  * @param from Diff to merge.
1024
+ * @return 0 or an error code.
973
1025
  */
974
1026
  GIT_EXTERN(int) git_diff_merge(
975
1027
  git_diff *onto,
@@ -1107,7 +1159,7 @@ typedef enum {
1107
1159
  GIT_DIFF_FORMAT_RAW = 3u, /**< like git diff --raw */
1108
1160
  GIT_DIFF_FORMAT_NAME_ONLY = 4u, /**< like git diff --name-only */
1109
1161
  GIT_DIFF_FORMAT_NAME_STATUS = 5u, /**< like git diff --name-status */
1110
- GIT_DIFF_FORMAT_PATCH_ID = 6u, /**< git diff as used by git patch-id */
1162
+ GIT_DIFF_FORMAT_PATCH_ID = 6u /**< git diff as used by git patch-id */
1111
1163
  } git_diff_format_t;
1112
1164
 
1113
1165
  /**
@@ -1145,9 +1197,8 @@ GIT_EXTERN(int) git_diff_to_buf(
1145
1197
 
1146
1198
  /**@}*/
1147
1199
 
1148
-
1149
1200
  /*
1150
- * Misc
1201
+ * Low-level file comparison, invoking callbacks per difference.
1151
1202
  */
1152
1203
 
1153
1204
  /**
@@ -1263,6 +1314,25 @@ GIT_EXTERN(int) git_diff_buffers(
1263
1314
  git_diff_line_cb line_cb,
1264
1315
  void *payload);
1265
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
+
1266
1336
  /**
1267
1337
  * Read the contents of a git patch file into a `git_diff` object.
1268
1338
  *
@@ -1285,7 +1355,11 @@ GIT_EXTERN(int) git_diff_buffers(
1285
1355
  GIT_EXTERN(int) git_diff_from_buffer(
1286
1356
  git_diff **out,
1287
1357
  const char *content,
1288
- size_t content_len);
1358
+ size_t content_len
1359
+ #ifdef GIT_EXPERIMENTAL_SHA256
1360
+ , git_diff_parse_options *opts
1361
+ #endif
1362
+ );
1289
1363
 
1290
1364
  /**
1291
1365
  * This is an opaque structure which is allocated by `git_diff_get_stats`.
@@ -1311,13 +1385,13 @@ typedef enum {
1311
1385
  GIT_DIFF_STATS_NUMBER = (1u << 2),
1312
1386
 
1313
1387
  /** Extended header information such as creations, renames and mode changes, equivalent of `--summary` */
1314
- GIT_DIFF_STATS_INCLUDE_SUMMARY = (1u << 3),
1388
+ GIT_DIFF_STATS_INCLUDE_SUMMARY = (1u << 3)
1315
1389
  } git_diff_stats_format_t;
1316
1390
 
1317
1391
  /**
1318
1392
  * Accumulate diff statistics for all patches.
1319
1393
  *
1320
- * @param out Structure containg the diff statistics.
1394
+ * @param out Structure containing the diff statistics.
1321
1395
  * @param diff A git_diff generated by one of the above functions.
1322
1396
  * @return 0 on success; non-zero on error
1323
1397
  */
@@ -1386,7 +1460,10 @@ typedef struct git_diff_patchid_options {
1386
1460
  unsigned int version;
1387
1461
  } git_diff_patchid_options;
1388
1462
 
1463
+ /** Current version for the `git_diff_patchid_options` structure */
1389
1464
  #define GIT_DIFF_PATCHID_OPTIONS_VERSION 1
1465
+
1466
+ /** Static constructor for `git_diff_patchid_options` */
1390
1467
  #define GIT_DIFF_PATCHID_OPTIONS_INIT { GIT_DIFF_PATCHID_OPTIONS_VERSION }
1391
1468
 
1392
1469
  /**
@@ -1424,8 +1501,7 @@ GIT_EXTERN(int) git_diff_patchid_options_init(
1424
1501
  */
1425
1502
  GIT_EXTERN(int) git_diff_patchid(git_oid *out, git_diff *diff, git_diff_patchid_options *opts);
1426
1503
 
1427
- GIT_END_DECL
1428
-
1429
1504
  /** @} */
1505
+ GIT_END_DECL
1430
1506
 
1431
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
  */
@@ -34,7 +35,7 @@ typedef enum {
34
35
  GIT_EMAIL_CREATE_ALWAYS_NUMBER = (1u << 1),
35
36
 
36
37
  /** Do not perform rename or similarity detection. */
37
- GIT_EMAIL_CREATE_NO_RENAMES = (1u << 2),
38
+ GIT_EMAIL_CREATE_NO_RENAMES = (1u << 2)
38
39
  } git_email_create_flags_t;
39
40
 
40
41
  /**
@@ -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,20 +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 */
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 */
61
73
  } git_error_code;
62
74
 
63
75
  /**
64
- * Structure to store extra details of the last error that occurred.
65
- *
66
- * This is kept on a per-thread basis if GIT_THREADS was defined when the
67
- * 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.
68
78
  */
69
- typedef struct {
70
- char *message;
71
- int klass;
72
- } git_error;
73
-
74
- /** Error classes */
75
79
  typedef enum {
76
80
  GIT_ERROR_NONE = 0,
77
81
  GIT_ERROR_NOMEMORY,
@@ -106,59 +110,45 @@ typedef enum {
106
110
  GIT_ERROR_FILESYSTEM,
107
111
  GIT_ERROR_PATCH,
108
112
  GIT_ERROR_WORKTREE,
109
- GIT_ERROR_SHA1,
113
+ GIT_ERROR_SHA,
110
114
  GIT_ERROR_HTTP,
111
- GIT_ERROR_INTERNAL
115
+ GIT_ERROR_INTERNAL,
116
+ GIT_ERROR_GRAFTS
112
117
  } git_error_t;
113
118
 
114
119
  /**
115
- * Return the last `git_error` object that was generated for the
116
- * current thread.
117
- *
118
- * The default behaviour of this function is to return NULL if no previous error has occurred.
119
- * However, libgit2's error strings are not cleared aggressively, so a prior
120
- * (unrelated) error may be returned. This can be avoided by only calling
121
- * 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.
122
121
  *
123
- * @return A git_error object.
124
- */
125
- GIT_EXTERN(const git_error *) git_error_last(void);
126
-
127
- /**
128
- * 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
129
124
  */
130
- 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;
131
129
 
132
130
  /**
133
- * Set the error message string for this thread.
131
+ * Return the last `git_error` object that was generated for the
132
+ * current thread.
134
133
  *
135
- * This function is public so that custom ODB backends and the like can
136
- * relay an error message through libgit2. Most regular users of libgit2
137
- * will never need to call this function -- actually, calling it in most
138
- * circumstances (for example, calling from within a callback function)
139
- * will just end up having the value overwritten by libgit2 internals.
134
+ * This function will never return NULL.
140
135
  *
141
- * This error message is stored in thread-local storage and only applies
142
- * 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.
143
139
  *
144
- * @param error_class One of the `git_error_t` enum above describing the
145
- * general subsystem that is responsible for the error.
146
- * @param string The formatted error message to keep
147
- * @return 0 on success or -1 on failure
148
- */
149
- GIT_EXTERN(int) git_error_set_str(int error_class, const char *string);
150
-
151
- /**
152
- * Set the error message to a special value for memory allocation failure.
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.)
143
+ *
144
+ * The memory for this object is managed by libgit2. It should not
145
+ * be freed.
153
146
  *
154
- * The normal `git_error_set_str()` function attempts to `strdup()` the
155
- * string that is passed in. This is not a good idea when the error in
156
- * question is a memory allocation failure. That circumstance has a
157
- * special setter function that sets the error string to a known and
158
- * statically allocated internal value.
147
+ * @return A pointer to a `git_error` object that describes the error.
159
148
  */
160
- GIT_EXTERN(void) git_error_set_oom(void);
149
+ GIT_EXTERN(const git_error *) git_error_last(void);
161
150
 
162
151
  /** @} */
163
152
  GIT_END_DECL
153
+
164
154
  #endif
@@ -0,0 +1,20 @@
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_experimental_h__
9
+ #define INCLUDE_experimental_h__
10
+
11
+ /*
12
+ * This file exists to support users who build libgit2 with a bespoke
13
+ * build system and do not use our cmake configuration. Normally, cmake
14
+ * will create `experimental.h` from the `experimental.h.in` file and
15
+ * will include the generated file instead of this one. For non-cmake
16
+ * users, we bundle this `experimental.h` file which will be used
17
+ * instead.
18
+ */
19
+
20
+ #endif