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/submodule.h
18
- * @brief Git submodule management utilities
18
+ * @brief Submodules place another repository's contents within this one
19
19
  *
20
20
  * Submodule support in libgit2 builds a list of known submodules and keeps
21
21
  * it in the repository. The list is built from the .gitmodules file, the
@@ -85,23 +85,30 @@ typedef enum {
85
85
  GIT_SUBMODULE_STATUS_WD_MODIFIED = (1u << 10),
86
86
  GIT_SUBMODULE_STATUS_WD_INDEX_MODIFIED = (1u << 11),
87
87
  GIT_SUBMODULE_STATUS_WD_WD_MODIFIED = (1u << 12),
88
- GIT_SUBMODULE_STATUS_WD_UNTRACKED = (1u << 13),
88
+ GIT_SUBMODULE_STATUS_WD_UNTRACKED = (1u << 13)
89
89
  } git_submodule_status_t;
90
90
 
91
+ /** Submodule source bits */
91
92
  #define GIT_SUBMODULE_STATUS__IN_FLAGS 0x000Fu
93
+ /** Submodule index status */
92
94
  #define GIT_SUBMODULE_STATUS__INDEX_FLAGS 0x0070u
95
+ /** Submodule working directory status */
93
96
  #define GIT_SUBMODULE_STATUS__WD_FLAGS 0x3F80u
94
97
 
98
+ /** Whether the submodule is modified */
95
99
  #define GIT_SUBMODULE_STATUS_IS_UNMODIFIED(S) \
96
100
  (((S) & ~GIT_SUBMODULE_STATUS__IN_FLAGS) == 0)
97
101
 
102
+ /** Whether the submodule is modified (in the index) */
98
103
  #define GIT_SUBMODULE_STATUS_IS_INDEX_UNMODIFIED(S) \
99
104
  (((S) & GIT_SUBMODULE_STATUS__INDEX_FLAGS) == 0)
100
105
 
106
+ /** Whether the submodule is modified (in the working directory) */
101
107
  #define GIT_SUBMODULE_STATUS_IS_WD_UNMODIFIED(S) \
102
108
  (((S) & (GIT_SUBMODULE_STATUS__WD_FLAGS & \
103
109
  ~GIT_SUBMODULE_STATUS_WD_UNINITIALIZED)) == 0)
104
110
 
111
+ /** Whether the submodule working directory is dirty */
105
112
  #define GIT_SUBMODULE_STATUS_IS_WD_DIRTY(S) \
106
113
  (((S) & (GIT_SUBMODULE_STATUS_WD_INDEX_MODIFIED | \
107
114
  GIT_SUBMODULE_STATUS_WD_WD_MODIFIED | \
@@ -130,10 +137,8 @@ typedef struct git_submodule_update_options {
130
137
 
131
138
  /**
132
139
  * These options are passed to the checkout step. To disable
133
- * checkout, set the `checkout_strategy` to
134
- * `GIT_CHECKOUT_NONE`. Generally you will want the use
135
- * GIT_CHECKOUT_SAFE to update files in the working
136
- * directory.
140
+ * checkout, set the `checkout_strategy` to `GIT_CHECKOUT_NONE`
141
+ * or `GIT_CHECKOUT_DRY_RUN`.
137
142
  */
138
143
  git_checkout_options checkout_opts;
139
144
 
@@ -152,11 +157,15 @@ typedef struct git_submodule_update_options {
152
157
  int allow_fetch;
153
158
  } git_submodule_update_options;
154
159
 
160
+ /** Current version for the `git_submodule_update_options` structure */
155
161
  #define GIT_SUBMODULE_UPDATE_OPTIONS_VERSION 1
162
+
163
+ /** Static constructor for `git_submodule_update_options` */
156
164
  #define GIT_SUBMODULE_UPDATE_OPTIONS_INIT \
157
165
  { GIT_SUBMODULE_UPDATE_OPTIONS_VERSION, \
158
- { GIT_CHECKOUT_OPTIONS_VERSION, GIT_CHECKOUT_SAFE }, \
159
- GIT_FETCH_OPTIONS_INIT, 1 }
166
+ GIT_CHECKOUT_OPTIONS_INIT, \
167
+ GIT_FETCH_OPTIONS_INIT, \
168
+ 1 }
160
169
 
161
170
  /**
162
171
  * Initialize git_submodule_update_options structure
@@ -181,7 +190,7 @@ GIT_EXTERN(int) git_submodule_update_options_init(
181
190
  * @param submodule Submodule object
182
191
  * @param init If the submodule is not initialized, setting this flag to true
183
192
  * will initialize the submodule before updating. Otherwise, this will
184
- * return an error if attempting to update an uninitialzed repository.
193
+ * return an error if attempting to update an uninitialized repository.
185
194
  * but setting this to true forces them to be updated.
186
195
  * @param options configuration options for the update. If NULL, the
187
196
  * function works as though GIT_SUBMODULE_UPDATE_OPTIONS_INIT was passed.
@@ -229,6 +238,7 @@ GIT_EXTERN(int) git_submodule_lookup(
229
238
  *
230
239
  * @param out Pointer to store the copy of the submodule.
231
240
  * @param source Original submodule to copy.
241
+ * @return 0
232
242
  */
233
243
  GIT_EXTERN(int) git_submodule_dup(git_submodule **out, git_submodule *source);
234
244
 
@@ -320,6 +330,7 @@ GIT_EXTERN(int) git_submodule_clone(
320
330
  * (but doesn't actually do the commit).
321
331
  *
322
332
  * @param submodule The submodule to finish adding.
333
+ * @return 0 or an error code.
323
334
  */
324
335
  GIT_EXTERN(int) git_submodule_add_finalize(git_submodule *submodule);
325
336
 
@@ -529,7 +540,8 @@ GIT_EXTERN(int) git_submodule_set_update(
529
540
  * Note that at this time, libgit2 does not honor this setting and the
530
541
  * fetch functionality current ignores submodules.
531
542
  *
532
- * @return 0 if fetchRecurseSubmodules is false, 1 if true
543
+ * @param submodule the submodule to examine
544
+ * @return the submodule recursion configuration
533
545
  */
534
546
  GIT_EXTERN(git_submodule_recurse_t) git_submodule_fetch_recurse_submodules(
535
547
  git_submodule *submodule);
@@ -541,7 +553,7 @@ GIT_EXTERN(git_submodule_recurse_t) git_submodule_fetch_recurse_submodules(
541
553
  *
542
554
  * @param repo the repository to affect
543
555
  * @param name the submodule to configure
544
- * @param fetch_recurse_submodules Boolean value
556
+ * @param fetch_recurse_submodules the submodule recursion configuration
545
557
  * @return old value for fetchRecurseSubmodules
546
558
  */
547
559
  GIT_EXTERN(int) git_submodule_set_fetch_recurse_submodules(
@@ -589,6 +601,9 @@ GIT_EXTERN(int) git_submodule_repo_init(
589
601
  * submodule config, acting like "git submodule sync". This is useful if
590
602
  * you have altered the URL for the submodule (or it has been altered by a
591
603
  * fetch of upstream changes) and you need to update your local repo.
604
+ *
605
+ * @param submodule The submodule to copy.
606
+ * @return 0 or an error code.
592
607
  */
593
608
  GIT_EXTERN(int) git_submodule_sync(git_submodule *submodule);
594
609
 
@@ -660,4 +675,5 @@ GIT_EXTERN(int) git_submodule_location(
660
675
 
661
676
  /** @} */
662
677
  GIT_END_DECL
678
+
663
679
  #endif
@@ -10,6 +10,17 @@
10
10
 
11
11
  #include "git2/common.h"
12
12
 
13
+ /**
14
+ * @file git2/sys/alloc.h
15
+ * @brief Custom memory allocators
16
+ * @defgroup git_merge Git merge routines
17
+ * @ingroup Git
18
+ *
19
+ * Users can configure custom allocators; this is particularly
20
+ * interesting when running in constrained environments, when calling
21
+ * from another language, or during testing.
22
+ * @{
23
+ */
13
24
  GIT_BEGIN_DECL
14
25
 
15
26
  /**
@@ -24,28 +35,6 @@ typedef struct {
24
35
  /** Allocate `n` bytes of memory */
25
36
  void * GIT_CALLBACK(gmalloc)(size_t n, const char *file, int line);
26
37
 
27
- /**
28
- * Allocate memory for an array of `nelem` elements, where each element
29
- * has a size of `elsize`. Returned memory shall be initialized to
30
- * all-zeroes
31
- */
32
- void * GIT_CALLBACK(gcalloc)(size_t nelem, size_t elsize, const char *file, int line);
33
-
34
- /** Allocate memory for the string `str` and duplicate its contents. */
35
- char * GIT_CALLBACK(gstrdup)(const char *str, const char *file, int line);
36
-
37
- /**
38
- * Equivalent to the `gstrdup` function, but only duplicating at most
39
- * `n + 1` bytes
40
- */
41
- char * GIT_CALLBACK(gstrndup)(const char *str, size_t n, const char *file, int line);
42
-
43
- /**
44
- * Equivalent to `gstrndup`, but will always duplicate exactly `n` bytes
45
- * of `str`. Thus, out of bounds reads at `str` may happen.
46
- */
47
- char * GIT_CALLBACK(gsubstrdup)(const char *str, size_t n, const char *file, int line);
48
-
49
38
  /**
50
39
  * This function shall deallocate the old object `ptr` and return a
51
40
  * pointer to a new object that has the size specified by `size`. In
@@ -53,18 +42,6 @@ typedef struct {
53
42
  */
54
43
  void * GIT_CALLBACK(grealloc)(void *ptr, size_t size, const char *file, int line);
55
44
 
56
- /**
57
- * This function shall be equivalent to `grealloc`, but allocating
58
- * `neleme * elsize` bytes.
59
- */
60
- void * GIT_CALLBACK(greallocarray)(void *ptr, size_t nelem, size_t elsize, const char *file, int line);
61
-
62
- /**
63
- * This function shall allocate a new array of `nelem` elements, where
64
- * each element has a size of `elsize` bytes.
65
- */
66
- void * GIT_CALLBACK(gmallocarray)(size_t nelem, size_t elsize, const char *file, int line);
67
-
68
45
  /**
69
46
  * This function shall free the memory pointed to by `ptr`. In case
70
47
  * `ptr` is `NULL`, this shall be a no-op.
@@ -96,6 +73,7 @@ int git_stdalloc_init_allocator(git_allocator *allocator);
96
73
  */
97
74
  int git_win32_crtdbg_init_allocator(git_allocator *allocator);
98
75
 
76
+ /** @} */
99
77
  GIT_END_DECL
100
78
 
101
79
  #endif
@@ -14,7 +14,7 @@
14
14
  /**
15
15
  * @file git2/sys/commit.h
16
16
  * @brief Low-level Git commit creation
17
- * @defgroup git_backend Git custom backend APIs
17
+ * @defgroup git_commit Low-level Git commit creation
18
18
  * @ingroup Git
19
19
  * @{
20
20
  */
@@ -29,7 +29,43 @@ GIT_BEGIN_DECL
29
29
  * the `tree`, neither the `parents` list of `git_oid`s are checked for
30
30
  * validity.
31
31
  *
32
- * @see git_commit_create
32
+ * @param id Pointer in which to store the OID of the newly created commit
33
+ *
34
+ * @param repo Repository where to store the commit
35
+ *
36
+ * @param update_ref If not NULL, name of the reference that
37
+ * will be updated to point to this commit. If the reference
38
+ * is not direct, it will be resolved to a direct reference.
39
+ * Use "HEAD" to update the HEAD of the current branch and
40
+ * make it point to this commit. If the reference doesn't
41
+ * exist yet, it will be created. If it does exist, the first
42
+ * parent must be the tip of this branch.
43
+ *
44
+ * @param author Signature with author and author time of commit
45
+ *
46
+ * @param committer Signature with committer and * commit time of commit
47
+ *
48
+ * @param message_encoding The encoding for the message in the
49
+ * commit, represented with a standard encoding name.
50
+ * E.g. "UTF-8". If NULL, no encoding header is written and
51
+ * UTF-8 is assumed.
52
+ *
53
+ * @param message Full message for this commit
54
+ *
55
+ * @param tree An instance of a `git_tree` object that will
56
+ * be used as the tree for the commit. This tree object must
57
+ * also be owned by the given `repo`.
58
+ *
59
+ * @param parent_count Number of parents for this commit
60
+ *
61
+ * @param parents Array of `parent_count` pointers to `git_commit`
62
+ * objects that will be used as the parents for this commit. This
63
+ * array may be NULL if `parent_count` is 0 (root commit). All the
64
+ * given commits must be owned by the `repo`.
65
+ *
66
+ * @return 0 or an error code
67
+ * The created commit will be written to the Object Database and
68
+ * the given reference will be updated to point to it
33
69
  */
34
70
  GIT_EXTERN(int) git_commit_create_from_ids(
35
71
  git_oid *id,
@@ -49,6 +85,10 @@ GIT_EXTERN(int) git_commit_create_from_ids(
49
85
  * This is invoked with the count of the number of parents processed so far
50
86
  * along with the user supplied payload. This should return a git_oid of
51
87
  * the next parent or NULL if all parents have been provided.
88
+ *
89
+ * @param idx the index of the parent
90
+ * @param payload the user-specified payload
91
+ * @return the object id of the parent, or NULL if there are no further parents
52
92
  */
53
93
  typedef const git_oid * GIT_CALLBACK(git_commit_parent_callback)(size_t idx, void *payload);
54
94
 
@@ -61,7 +101,40 @@ typedef const git_oid * GIT_CALLBACK(git_commit_parent_callback)(size_t idx, voi
61
101
  * with `parent_payload` and should return `git_oid` values or NULL to
62
102
  * indicate that all parents are accounted for.
63
103
  *
64
- * @see git_commit_create
104
+ * @param id Pointer in which to store the OID of the newly created commit
105
+ *
106
+ * @param repo Repository where to store the commit
107
+ *
108
+ * @param update_ref If not NULL, name of the reference that
109
+ * will be updated to point to this commit. If the reference
110
+ * is not direct, it will be resolved to a direct reference.
111
+ * Use "HEAD" to update the HEAD of the current branch and
112
+ * make it point to this commit. If the reference doesn't
113
+ * exist yet, it will be created. If it does exist, the first
114
+ * parent must be the tip of this branch.
115
+ *
116
+ * @param author Signature with author and author time of commit
117
+ *
118
+ * @param committer Signature with committer and * commit time of commit
119
+ *
120
+ * @param message_encoding The encoding for the message in the
121
+ * commit, represented with a standard encoding name.
122
+ * E.g. "UTF-8". If NULL, no encoding header is written and
123
+ * UTF-8 is assumed.
124
+ *
125
+ * @param message Full message for this commit
126
+ *
127
+ * @param tree An instance of a `git_tree` object that will
128
+ * be used as the tree for the commit. This tree object must
129
+ * also be owned by the given `repo`.
130
+ *
131
+ * @param parent_cb Callback to invoke to obtain parent information
132
+ *
133
+ * @param parent_payload User-specified payload to provide to the callback
134
+ *
135
+ * @return 0 or an error code
136
+ * The created commit will be written to the Object Database and
137
+ * the given reference will be updated to point to it
65
138
  */
66
139
  GIT_EXTERN(int) git_commit_create_from_callback(
67
140
  git_oid *id,
@@ -77,4 +150,5 @@ GIT_EXTERN(int) git_commit_create_from_callback(
77
150
 
78
151
  /** @} */
79
152
  GIT_END_DECL
153
+
80
154
  #endif
@@ -12,13 +12,52 @@
12
12
 
13
13
  /**
14
14
  * @file git2/sys/commit_graph.h
15
- * @brief Git commit-graph
16
- * @defgroup git_commit_graph Git commit-graph APIs
15
+ * @brief Commit graphs store information about commit relationships
16
+ * @defgroup git_commit_graph Commit graphs
17
17
  * @ingroup Git
18
18
  * @{
19
19
  */
20
20
  GIT_BEGIN_DECL
21
21
 
22
+ /**
23
+ * Options structure for `git_commit_graph_open_new`.
24
+ *
25
+ * Initialize with `GIT_COMMIT_GRAPH_OPEN_OPTIONS_INIT`. Alternatively,
26
+ * you can use `git_commit_graph_open_options_init`.
27
+ */
28
+ typedef struct {
29
+ unsigned int version;
30
+
31
+ #ifdef GIT_EXPERIMENTAL_SHA256
32
+ /** The object ID type that this commit graph contains. */
33
+ git_oid_t oid_type;
34
+ #endif
35
+ } git_commit_graph_open_options;
36
+
37
+ /** Current version for the `git_commit_graph_open_options` structure */
38
+ #define GIT_COMMIT_GRAPH_OPEN_OPTIONS_VERSION 1
39
+
40
+ /** Static constructor for `git_commit_graph_open_options` */
41
+ #define GIT_COMMIT_GRAPH_OPEN_OPTIONS_INIT { \
42
+ GIT_COMMIT_GRAPH_OPEN_OPTIONS_VERSION \
43
+ }
44
+
45
+ /**
46
+ * Initialize git_commit_graph_open_options structure
47
+ *
48
+ * Initializes a `git_commit_graph_open_options` with default values.
49
+ * Equivalent to creating an instance with
50
+ * `GIT_COMMIT_GRAPH_OPEN_OPTIONS_INIT`.
51
+ *
52
+ * @param opts The `git_commit_graph_open_options` struct to initialize.
53
+ * @param version The struct version; pass `GIT_COMMIT_GRAPH_OPEN_OPTIONS_VERSION`.
54
+ * @return Zero on success; -1 on failure.
55
+ */
56
+ GIT_EXTERN(int) git_commit_graph_open_options_init(
57
+ git_commit_graph_open_options *opts,
58
+ unsigned int version);
59
+
60
+
22
61
  /**
23
62
  * Opens a `git_commit_graph` from a path to an objects directory.
24
63
  *
@@ -28,7 +67,13 @@ GIT_BEGIN_DECL
28
67
  * @param objects_dir the path to a git objects directory.
29
68
  * @return Zero on success; -1 on failure.
30
69
  */
31
- GIT_EXTERN(int) git_commit_graph_open(git_commit_graph **cgraph_out, const char *objects_dir);
70
+ GIT_EXTERN(int) git_commit_graph_open(
71
+ git_commit_graph **cgraph_out,
72
+ const char *objects_dir
73
+ #ifdef GIT_EXPERIMENTAL_SHA256
74
+ , const git_commit_graph_open_options *options
75
+ #endif
76
+ );
32
77
 
33
78
  /**
34
79
  * Frees commit-graph data. This should only be called when memory allocated
@@ -40,50 +85,6 @@ GIT_EXTERN(int) git_commit_graph_open(git_commit_graph **cgraph_out, const char
40
85
  */
41
86
  GIT_EXTERN(void) git_commit_graph_free(git_commit_graph *cgraph);
42
87
 
43
- /**
44
- * Create a new writer for `commit-graph` files.
45
- *
46
- * @param out Location to store the writer pointer.
47
- * @param objects_info_dir The `objects/info` directory.
48
- * The `commit-graph` file will be written in this directory.
49
- * @return 0 or an error code
50
- */
51
- GIT_EXTERN(int) git_commit_graph_writer_new(
52
- git_commit_graph_writer **out,
53
- const char *objects_info_dir);
54
-
55
- /**
56
- * Free the commit-graph writer and its resources.
57
- *
58
- * @param w The writer to free. If NULL no action is taken.
59
- */
60
- GIT_EXTERN(void) git_commit_graph_writer_free(git_commit_graph_writer *w);
61
-
62
- /**
63
- * Add an `.idx` file (associated to a packfile) to the writer.
64
- *
65
- * @param w The writer.
66
- * @param repo The repository that owns the `.idx` file.
67
- * @param idx_path The path of an `.idx` file.
68
- * @return 0 or an error code
69
- */
70
- GIT_EXTERN(int) git_commit_graph_writer_add_index_file(
71
- git_commit_graph_writer *w,
72
- git_repository *repo,
73
- const char *idx_path);
74
-
75
- /**
76
- * Add a revwalk to the writer. This will add all the commits from the revwalk
77
- * to the commit-graph.
78
- *
79
- * @param w The writer.
80
- * @param walk The git_revwalk.
81
- * @return 0 or an error code
82
- */
83
- GIT_EXTERN(int) git_commit_graph_writer_add_revwalk(
84
- git_commit_graph_writer *w,
85
- git_revwalk *walk);
86
-
87
88
 
88
89
  /**
89
90
  * The strategy to use when adding a new set of commits to a pre-existing
@@ -94,19 +95,23 @@ typedef enum {
94
95
  * Do not split commit-graph files. The other split strategy-related option
95
96
  * fields are ignored.
96
97
  */
97
- GIT_COMMIT_GRAPH_SPLIT_STRATEGY_SINGLE_FILE = 0,
98
+ GIT_COMMIT_GRAPH_SPLIT_STRATEGY_SINGLE_FILE = 0
98
99
  } git_commit_graph_split_strategy_t;
99
100
 
100
101
  /**
101
- * Options structure for
102
- * `git_commit_graph_writer_commit`/`git_commit_graph_writer_dump`.
102
+ * Options structure for `git_commit_graph_writer_new`.
103
103
  *
104
- * Initialize with `GIT_COMMIT_GRAPH_WRITER_OPTIONS_INIT`. Alternatively, you
105
- * can use `git_commit_graph_writer_options_init`.
104
+ * Initialize with `GIT_COMMIT_GRAPH_WRITER_OPTIONS_INIT`. Alternatively,
105
+ * you can use `git_commit_graph_writer_options_init`.
106
106
  */
107
107
  typedef struct {
108
108
  unsigned int version;
109
109
 
110
+ #ifdef GIT_EXPERIMENTAL_SHA256
111
+ /** The object ID type that this commit graph contains. */
112
+ git_oid_t oid_type;
113
+ #endif
114
+
110
115
  /**
111
116
  * The strategy to use when adding new commits to a pre-existing commit-graph
112
117
  * chain.
@@ -126,7 +131,10 @@ typedef struct {
126
131
  size_t max_commits;
127
132
  } git_commit_graph_writer_options;
128
133
 
134
+ /** Current version for the `git_commit_graph_writer_options` structure */
129
135
  #define GIT_COMMIT_GRAPH_WRITER_OPTIONS_VERSION 1
136
+
137
+ /** Static constructor for `git_commit_graph_writer_options` */
130
138
  #define GIT_COMMIT_GRAPH_WRITER_OPTIONS_INIT { \
131
139
  GIT_COMMIT_GRAPH_WRITER_OPTIONS_VERSION \
132
140
  }
@@ -145,30 +153,73 @@ GIT_EXTERN(int) git_commit_graph_writer_options_init(
145
153
  git_commit_graph_writer_options *opts,
146
154
  unsigned int version);
147
155
 
156
+ /**
157
+ * Create a new writer for `commit-graph` files.
158
+ *
159
+ * @param out Location to store the writer pointer.
160
+ * @param objects_info_dir The `objects/info` directory.
161
+ * The `commit-graph` file will be written in this directory.
162
+ * @param options The options for the commit graph writer.
163
+ * @return 0 or an error code
164
+ */
165
+ GIT_EXTERN(int) git_commit_graph_writer_new(
166
+ git_commit_graph_writer **out,
167
+ const char *objects_info_dir,
168
+ const git_commit_graph_writer_options *options);
169
+
170
+ /**
171
+ * Free the commit-graph writer and its resources.
172
+ *
173
+ * @param w The writer to free. If NULL no action is taken.
174
+ */
175
+ GIT_EXTERN(void) git_commit_graph_writer_free(git_commit_graph_writer *w);
176
+
177
+ /**
178
+ * Add an `.idx` file (associated to a packfile) to the writer.
179
+ *
180
+ * @param w The writer.
181
+ * @param repo The repository that owns the `.idx` file.
182
+ * @param idx_path The path of an `.idx` file.
183
+ * @return 0 or an error code
184
+ */
185
+ GIT_EXTERN(int) git_commit_graph_writer_add_index_file(
186
+ git_commit_graph_writer *w,
187
+ git_repository *repo,
188
+ const char *idx_path);
189
+
190
+ /**
191
+ * Add a revwalk to the writer. This will add all the commits from the revwalk
192
+ * to the commit-graph.
193
+ *
194
+ * @param w The writer.
195
+ * @param walk The git_revwalk.
196
+ * @return 0 or an error code
197
+ */
198
+ GIT_EXTERN(int) git_commit_graph_writer_add_revwalk(
199
+ git_commit_graph_writer *w,
200
+ git_revwalk *walk);
201
+
148
202
  /**
149
203
  * Write a `commit-graph` file to a file.
150
204
  *
151
205
  * @param w The writer
152
- * @param opts Pointer to git_commit_graph_writer_options struct.
153
206
  * @return 0 or an error code
154
207
  */
155
208
  GIT_EXTERN(int) git_commit_graph_writer_commit(
156
- git_commit_graph_writer *w,
157
- git_commit_graph_writer_options *opts);
209
+ git_commit_graph_writer *w);
158
210
 
159
211
  /**
160
212
  * Dump the contents of the `commit-graph` to an in-memory buffer.
161
213
  *
162
- * @param buffer Buffer where to store the contents of the `commit-graph`.
214
+ * @param[out] buffer Buffer where to store the contents of the `commit-graph`.
163
215
  * @param w The writer.
164
- * @param opts Pointer to git_commit_graph_writer_options struct.
165
216
  * @return 0 or an error code
166
217
  */
167
218
  GIT_EXTERN(int) git_commit_graph_writer_dump(
168
219
  git_buf *buffer,
169
- git_commit_graph_writer *w,
170
- git_commit_graph_writer_options *opts);
220
+ git_commit_graph_writer *w);
171
221
 
172
222
  /** @} */
173
223
  GIT_END_DECL
224
+
174
225
  #endif
@@ -13,13 +13,28 @@
13
13
 
14
14
  /**
15
15
  * @file git2/sys/config.h
16
- * @brief Git config backend routines
17
- * @defgroup git_backend Git custom backend APIs
16
+ * @brief Custom configuration database backends
17
+ * @defgroup git_backend Custom configuration database backends
18
18
  * @ingroup Git
19
19
  * @{
20
20
  */
21
21
  GIT_BEGIN_DECL
22
22
 
23
+ /**
24
+ * An entry in a configuration backend. This is provided so that
25
+ * backend implementors can have a mechanism to free their data.
26
+ */
27
+ typedef struct git_config_backend_entry {
28
+ /** The base configuration entry */
29
+ struct git_config_entry entry;
30
+
31
+ /**
32
+ * Free function for this entry; for internal purposes. Callers
33
+ * should call `git_config_entry_free` to free data.
34
+ */
35
+ void GIT_CALLBACK(free)(struct git_config_backend_entry *entry);
36
+ } git_config_backend_entry;
37
+
23
38
  /**
24
39
  * Every iterator must have this struct as its first element, so the
25
40
  * API can talk to it. You'd define your iterator as
@@ -39,7 +54,7 @@ struct git_config_iterator {
39
54
  * Return the current entry and advance the iterator. The
40
55
  * memory belongs to the library.
41
56
  */
42
- int GIT_CALLBACK(next)(git_config_entry **entry, git_config_iterator *iter);
57
+ int GIT_CALLBACK(next)(git_config_backend_entry **entry, git_config_iterator *iter);
43
58
 
44
59
  /**
45
60
  * Free the iterator
@@ -59,7 +74,7 @@ struct git_config_backend {
59
74
 
60
75
  /* Open means open the file/database and parse if necessary */
61
76
  int GIT_CALLBACK(open)(struct git_config_backend *, git_config_level_t level, const git_repository *repo);
62
- int GIT_CALLBACK(get)(struct git_config_backend *, const char *key, git_config_entry **entry);
77
+ int GIT_CALLBACK(get)(struct git_config_backend *, const char *key, git_config_backend_entry **entry);
63
78
  int GIT_CALLBACK(set)(struct git_config_backend *, const char *key, const char *value);
64
79
  int GIT_CALLBACK(set_multivar)(git_config_backend *cfg, const char *name, const char *regexp, const char *value);
65
80
  int GIT_CALLBACK(del)(struct git_config_backend *, const char *key);
@@ -83,7 +98,11 @@ struct git_config_backend {
83
98
  int GIT_CALLBACK(unlock)(struct git_config_backend *, int success);
84
99
  void GIT_CALLBACK(free)(struct git_config_backend *);
85
100
  };
101
+
102
+ /** Current version for the `git_config_backend_options` structure */
86
103
  #define GIT_CONFIG_BACKEND_VERSION 1
104
+
105
+ /** Static constructor for `git_config_backend_options` */
87
106
  #define GIT_CONFIG_BACKEND_INIT {GIT_CONFIG_BACKEND_VERSION}
88
107
 
89
108
  /**
@@ -125,6 +144,63 @@ GIT_EXTERN(int) git_config_add_backend(
125
144
  const git_repository *repo,
126
145
  int force);
127
146
 
147
+ /** Options for in-memory configuration backends. */
148
+ typedef struct {
149
+ unsigned int version;
150
+
151
+ /**
152
+ * The type of this backend (eg, "command line"). If this is
153
+ * NULL, then this will be "in-memory".
154
+ */
155
+ const char *backend_type;
156
+
157
+ /**
158
+ * The path to the origin; if this is NULL then it will be
159
+ * left unset in the resulting configuration entries.
160
+ */
161
+ const char *origin_path;
162
+ } git_config_backend_memory_options;
163
+
164
+ /** Current version for the `git_config_backend_memory_options` structure */
165
+ #define GIT_CONFIG_BACKEND_MEMORY_OPTIONS_VERSION 1
166
+
167
+ /** Static constructor for `git_config_backend_memory_options` */
168
+ #define GIT_CONFIG_BACKEND_MEMORY_OPTIONS_INIT { GIT_CONFIG_BACKEND_MEMORY_OPTIONS_VERSION }
169
+
170
+
171
+ /**
172
+ * Create an in-memory configuration backend from a string in standard
173
+ * git configuration file format.
174
+ *
175
+ * @param out the new backend
176
+ * @param cfg the configuration that is to be parsed
177
+ * @param len the length of the string pointed to by `cfg`
178
+ * @param opts the options to initialize this backend with, or NULL
179
+ * @return 0 on success or an error code
180
+ */
181
+ extern int git_config_backend_from_string(
182
+ git_config_backend **out,
183
+ const char *cfg,
184
+ size_t len,
185
+ git_config_backend_memory_options *opts);
186
+
187
+ /**
188
+ * Create an in-memory configuration backend from a list of name/value
189
+ * pairs.
190
+ *
191
+ * @param out the new backend
192
+ * @param values the configuration values to set (in "key=value" format)
193
+ * @param len the length of the values array
194
+ * @param opts the options to initialize this backend with, or NULL
195
+ * @return 0 on success or an error code
196
+ */
197
+ extern int git_config_backend_from_values(
198
+ git_config_backend **out,
199
+ const char **values,
200
+ size_t len,
201
+ git_config_backend_memory_options *opts);
202
+
128
203
  /** @} */
129
204
  GIT_END_DECL
205
+
130
206
  #endif
@@ -11,9 +11,9 @@
11
11
  #include "git2/credential.h"
12
12
 
13
13
  /**
14
- * @file git2/sys/cred.h
15
- * @brief Git credentials low-level implementation
16
- * @defgroup git_credential Git credentials low-level implementation
14
+ * @file git2/sys/credential.h
15
+ * @brief Low-level credentials implementation
16
+ * @defgroup git_credential Low-level credentials implementation
17
17
  * @ingroup Git
18
18
  * @{
19
19
  */
@@ -85,6 +85,7 @@ struct git_credential_ssh_custom {
85
85
  void *payload; /**< Payload passed to prompt_callback */
86
86
  };
87
87
 
88
+ /** @} */
88
89
  GIT_END_DECL
89
90
 
90
91
  #endif