rugged 1.3.2 → 1.6.2

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 (547) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +34 -2
  3. data/ext/rugged/extconf.rb +7 -4
  4. data/ext/rugged/rugged.c +16 -0
  5. data/ext/rugged/rugged.h +4 -0
  6. data/ext/rugged/rugged_blame.c +2 -0
  7. data/ext/rugged/rugged_blob.c +3 -0
  8. data/ext/rugged/rugged_commit.c +1 -0
  9. data/ext/rugged/rugged_config.c +9 -2
  10. data/ext/rugged/rugged_diff.c +1 -0
  11. data/ext/rugged/rugged_index.c +2 -0
  12. data/ext/rugged/rugged_patch.c +1 -0
  13. data/ext/rugged/rugged_rebase.c +1 -0
  14. data/ext/rugged/rugged_reference.c +1 -0
  15. data/ext/rugged/rugged_remote.c +28 -10
  16. data/ext/rugged/rugged_repo.c +7 -9
  17. data/ext/rugged/rugged_revwalk.c +5 -1
  18. data/ext/rugged/rugged_settings.c +5 -0
  19. data/ext/rugged/rugged_submodule.c +1 -0
  20. data/ext/rugged/rugged_tag.c +1 -0
  21. data/ext/rugged/rugged_tree.c +4 -0
  22. data/lib/rugged/index.rb +1 -1
  23. data/lib/rugged/tree.rb +5 -1
  24. data/lib/rugged/version.rb +1 -1
  25. data/vendor/libgit2/CMakeLists.txt +132 -288
  26. data/vendor/libgit2/COPYING +106 -19
  27. data/vendor/libgit2/cmake/AddCFlagIfSupported.cmake +21 -21
  28. data/vendor/libgit2/cmake/AddClarTest.cmake +7 -0
  29. data/vendor/libgit2/cmake/DefaultCFlags.cmake +154 -0
  30. data/vendor/libgit2/cmake/EnableWarnings.cmake +13 -13
  31. data/vendor/libgit2/cmake/ExperimentalFeatures.cmake +23 -0
  32. data/vendor/libgit2/cmake/FindCoreFoundation.cmake +13 -13
  33. data/vendor/libgit2/cmake/FindGSSAPI.cmake +171 -287
  34. data/vendor/libgit2/cmake/FindGSSFramework.cmake +13 -13
  35. data/vendor/libgit2/cmake/{FindHTTP_Parser.cmake → FindHTTPParser.cmake} +17 -17
  36. data/vendor/libgit2/cmake/FindIconv.cmake +27 -27
  37. data/vendor/libgit2/cmake/FindLibSSH2.cmake +5 -5
  38. data/vendor/libgit2/cmake/FindPCRE.cmake +12 -13
  39. data/vendor/libgit2/cmake/FindPCRE2.cmake +12 -12
  40. data/vendor/libgit2/cmake/FindPkgLibraries.cmake +19 -19
  41. data/vendor/libgit2/cmake/FindSecurity.cmake +14 -14
  42. data/vendor/libgit2/cmake/FindStatNsec.cmake +12 -18
  43. data/vendor/libgit2/cmake/Findfutimens.cmake +8 -8
  44. data/vendor/libgit2/cmake/FindmbedTLS.cmake +63 -70
  45. data/vendor/libgit2/cmake/IdeSplitSources.cmake +18 -18
  46. data/vendor/libgit2/cmake/PkgBuildConfig.cmake +60 -60
  47. data/vendor/libgit2/cmake/SanitizeBool.cmake +20 -20
  48. data/vendor/libgit2/cmake/SelectGSSAPI.cmake +37 -37
  49. data/vendor/libgit2/cmake/SelectHTTPParser.cmake +19 -0
  50. data/vendor/libgit2/cmake/SelectHTTPSBackend.cmake +100 -100
  51. data/vendor/libgit2/cmake/SelectHashes.cmake +91 -53
  52. data/vendor/libgit2/cmake/SelectRegex.cmake +51 -0
  53. data/vendor/libgit2/cmake/SelectSSH.cmake +41 -0
  54. data/vendor/libgit2/cmake/SelectWinHTTP.cmake +17 -0
  55. data/vendor/libgit2/cmake/SelectZlib.cmake +34 -0
  56. data/vendor/libgit2/deps/chromium-zlib/CMakeLists.txt +6 -6
  57. data/vendor/libgit2/deps/ntlmclient/CMakeLists.txt +33 -31
  58. data/vendor/libgit2/deps/ntlmclient/crypt_openssl.c +3 -1
  59. data/vendor/libgit2/deps/ntlmclient/ntlm.c +4 -4
  60. data/vendor/libgit2/deps/ntlmclient/ntlm.h +4 -4
  61. data/vendor/libgit2/deps/ntlmclient/ntlmclient.h +2 -2
  62. data/vendor/libgit2/deps/pcre/CMakeLists.txt +88 -88
  63. data/vendor/libgit2/deps/winhttp/CMakeLists.txt +14 -16
  64. data/vendor/libgit2/deps/zlib/adler32.c +7 -0
  65. data/vendor/libgit2/deps/zlib/crc32.c +975 -288
  66. data/vendor/libgit2/deps/zlib/crc32.h +9441 -436
  67. data/vendor/libgit2/deps/zlib/deflate.c +83 -31
  68. data/vendor/libgit2/deps/zlib/deflate.h +12 -15
  69. data/vendor/libgit2/deps/zlib/gzguts.h +3 -2
  70. data/vendor/libgit2/deps/zlib/infback.c +2 -1
  71. data/vendor/libgit2/deps/zlib/inffast.c +14 -14
  72. data/vendor/libgit2/deps/zlib/inflate.c +39 -8
  73. data/vendor/libgit2/deps/zlib/inflate.h +3 -2
  74. data/vendor/libgit2/deps/zlib/inftrees.c +3 -3
  75. data/vendor/libgit2/deps/zlib/trees.c +27 -48
  76. data/vendor/libgit2/deps/zlib/zlib.h +126 -100
  77. data/vendor/libgit2/deps/zlib/zutil.c +2 -2
  78. data/vendor/libgit2/deps/zlib/zutil.h +12 -9
  79. data/vendor/libgit2/include/git2/apply.h +16 -2
  80. data/vendor/libgit2/include/git2/attr.h +11 -2
  81. data/vendor/libgit2/include/git2/blame.h +4 -1
  82. data/vendor/libgit2/include/git2/blob.h +14 -1
  83. data/vendor/libgit2/include/git2/branch.h +4 -2
  84. data/vendor/libgit2/include/git2/buffer.h +18 -78
  85. data/vendor/libgit2/include/git2/cert.h +2 -2
  86. data/vendor/libgit2/include/git2/checkout.h +5 -2
  87. data/vendor/libgit2/include/git2/clone.h +3 -3
  88. data/vendor/libgit2/include/git2/commit.h +2 -0
  89. data/vendor/libgit2/include/git2/common.h +28 -7
  90. data/vendor/libgit2/include/git2/config.h +25 -9
  91. data/vendor/libgit2/include/git2/credential.h +2 -1
  92. data/vendor/libgit2/include/git2/credential_helpers.h +1 -0
  93. data/vendor/libgit2/include/git2/deprecated.h +9 -1
  94. data/vendor/libgit2/include/git2/describe.h +7 -2
  95. data/vendor/libgit2/include/git2/diff.h +18 -10
  96. data/vendor/libgit2/include/git2/email.h +1 -1
  97. data/vendor/libgit2/include/git2/errors.h +17 -3
  98. data/vendor/libgit2/include/git2/experimental.h +20 -0
  99. data/vendor/libgit2/include/git2/filter.h +7 -2
  100. data/vendor/libgit2/include/git2/graph.h +1 -0
  101. data/vendor/libgit2/include/git2/ignore.h +1 -1
  102. data/vendor/libgit2/include/git2/index.h +11 -5
  103. data/vendor/libgit2/include/git2/indexer.h +48 -0
  104. data/vendor/libgit2/include/git2/merge.h +24 -4
  105. data/vendor/libgit2/include/git2/message.h +2 -0
  106. data/vendor/libgit2/include/git2/object.h +49 -0
  107. data/vendor/libgit2/include/git2/odb.h +94 -13
  108. data/vendor/libgit2/include/git2/odb_backend.h +107 -19
  109. data/vendor/libgit2/include/git2/oid.h +115 -15
  110. data/vendor/libgit2/include/git2/pack.h +24 -8
  111. data/vendor/libgit2/include/git2/patch.h +8 -0
  112. data/vendor/libgit2/include/git2/pathspec.h +1 -1
  113. data/vendor/libgit2/include/git2/proxy.h +1 -1
  114. data/vendor/libgit2/include/git2/rebase.h +9 -1
  115. data/vendor/libgit2/include/git2/refdb.h +3 -0
  116. data/vendor/libgit2/include/git2/reflog.h +1 -1
  117. data/vendor/libgit2/include/git2/refs.h +2 -2
  118. data/vendor/libgit2/include/git2/remote.h +184 -37
  119. data/vendor/libgit2/include/git2/repository.h +34 -10
  120. data/vendor/libgit2/include/git2/reset.h +2 -2
  121. data/vendor/libgit2/include/git2/revparse.h +1 -1
  122. data/vendor/libgit2/include/git2/revwalk.h +4 -1
  123. data/vendor/libgit2/include/git2/signature.h +1 -1
  124. data/vendor/libgit2/include/git2/stash.h +61 -7
  125. data/vendor/libgit2/include/git2/status.h +14 -5
  126. data/vendor/libgit2/include/git2/strarray.h +0 -13
  127. data/vendor/libgit2/include/git2/submodule.h +7 -2
  128. data/vendor/libgit2/include/git2/sys/commit_graph.h +1 -1
  129. data/vendor/libgit2/include/git2/sys/odb_backend.h +3 -6
  130. data/vendor/libgit2/include/git2/sys/remote.h +46 -0
  131. data/vendor/libgit2/include/git2/sys/stream.h +1 -1
  132. data/vendor/libgit2/include/git2/sys/transport.h +46 -39
  133. data/vendor/libgit2/include/git2/tag.h +1 -0
  134. data/vendor/libgit2/include/git2/tree.h +4 -3
  135. data/vendor/libgit2/include/git2/types.h +7 -7
  136. data/vendor/libgit2/include/git2/version.h +27 -6
  137. data/vendor/libgit2/include/git2/worktree.h +12 -2
  138. data/vendor/libgit2/include/git2.h +1 -0
  139. data/vendor/libgit2/src/CMakeLists.txt +177 -419
  140. data/vendor/libgit2/src/README.md +12 -0
  141. data/vendor/libgit2/src/cli/CMakeLists.txt +57 -0
  142. data/vendor/libgit2/src/cli/README.md +26 -0
  143. data/vendor/libgit2/src/cli/cli.h +20 -0
  144. data/vendor/libgit2/src/cli/cmd.c +21 -0
  145. data/vendor/libgit2/src/cli/cmd.h +33 -0
  146. data/vendor/libgit2/src/cli/cmd_cat_file.c +204 -0
  147. data/vendor/libgit2/src/cli/cmd_clone.c +176 -0
  148. data/vendor/libgit2/src/cli/cmd_hash_object.c +154 -0
  149. data/vendor/libgit2/src/cli/cmd_help.c +86 -0
  150. data/vendor/libgit2/src/cli/error.h +51 -0
  151. data/vendor/libgit2/src/cli/main.c +106 -0
  152. data/vendor/libgit2/src/cli/opt.c +669 -0
  153. data/vendor/libgit2/src/cli/opt.h +349 -0
  154. data/vendor/libgit2/src/cli/opt_usage.c +194 -0
  155. data/vendor/libgit2/src/cli/opt_usage.h +35 -0
  156. data/vendor/libgit2/src/cli/progress.c +345 -0
  157. data/vendor/libgit2/src/cli/progress.h +117 -0
  158. data/vendor/libgit2/src/cli/sighandler.h +20 -0
  159. data/vendor/libgit2/src/cli/unix/sighandler.c +36 -0
  160. data/vendor/libgit2/src/cli/win32/precompiled.h +3 -0
  161. data/vendor/libgit2/src/cli/win32/sighandler.c +37 -0
  162. data/vendor/libgit2/src/libgit2/CMakeLists.txt +141 -0
  163. data/vendor/libgit2/src/{annotated_commit.c → libgit2/annotated_commit.c} +1 -1
  164. data/vendor/libgit2/src/{annotated_commit.h → libgit2/annotated_commit.h} +2 -2
  165. data/vendor/libgit2/src/{apply.c → libgit2/apply.c} +18 -18
  166. data/vendor/libgit2/src/{apply.h → libgit2/apply.h} +2 -2
  167. data/vendor/libgit2/src/{attr.c → libgit2/attr.c} +18 -18
  168. data/vendor/libgit2/src/{attr_file.c → libgit2/attr_file.c} +18 -18
  169. data/vendor/libgit2/src/{attr_file.h → libgit2/attr_file.h} +4 -4
  170. data/vendor/libgit2/src/{attrcache.c → libgit2/attrcache.c} +18 -13
  171. data/vendor/libgit2/src/{blame.c → libgit2/blame.c} +2 -0
  172. data/vendor/libgit2/src/{blame_git.c → libgit2/blame_git.c} +1 -1
  173. data/vendor/libgit2/src/{blob.c → libgit2/blob.c} +38 -29
  174. data/vendor/libgit2/src/{blob.h → libgit2/blob.h} +3 -3
  175. data/vendor/libgit2/src/{branch.c → libgit2/branch.c} +164 -118
  176. data/vendor/libgit2/src/{branch.h → libgit2/branch.h} +15 -3
  177. data/vendor/libgit2/src/libgit2/buf.c +126 -0
  178. data/vendor/libgit2/src/libgit2/buf.h +50 -0
  179. data/vendor/libgit2/src/{checkout.c → libgit2/checkout.c} +74 -68
  180. data/vendor/libgit2/src/{cherrypick.c → libgit2/cherrypick.c} +13 -13
  181. data/vendor/libgit2/src/{clone.c → libgit2/clone.c} +96 -67
  182. data/vendor/libgit2/src/{commit.c → libgit2/commit.c} +178 -73
  183. data/vendor/libgit2/src/libgit2/commit.h +87 -0
  184. data/vendor/libgit2/src/{commit_graph.c → libgit2/commit_graph.c} +122 -89
  185. data/vendor/libgit2/src/{commit_graph.h → libgit2/commit_graph.h} +14 -4
  186. data/vendor/libgit2/src/{commit_list.c → libgit2/commit_list.c} +7 -4
  187. data/vendor/libgit2/src/libgit2/common.h +55 -0
  188. data/vendor/libgit2/src/{config.c → libgit2/config.c} +101 -69
  189. data/vendor/libgit2/src/{config.h → libgit2/config.h} +15 -2
  190. data/vendor/libgit2/src/{config_file.c → libgit2/config_file.c} +105 -93
  191. data/vendor/libgit2/src/{config_mem.c → libgit2/config_mem.c} +9 -9
  192. data/vendor/libgit2/src/{config_parse.c → libgit2/config_parse.c} +27 -23
  193. data/vendor/libgit2/src/{crlf.c → libgit2/crlf.c} +24 -21
  194. data/vendor/libgit2/src/{describe.c → libgit2/describe.c} +35 -27
  195. data/vendor/libgit2/src/{diff.c → libgit2/diff.c} +30 -9
  196. data/vendor/libgit2/src/{diff.h → libgit2/diff.h} +2 -4
  197. data/vendor/libgit2/src/{diff_driver.c → libgit2/diff_driver.c} +34 -36
  198. data/vendor/libgit2/src/{diff_driver.h → libgit2/diff_driver.h} +3 -3
  199. data/vendor/libgit2/src/{diff_file.c → libgit2/diff_file.c} +44 -26
  200. data/vendor/libgit2/src/{diff_generate.c → libgit2/diff_generate.c} +47 -18
  201. data/vendor/libgit2/src/{diff_generate.h → libgit2/diff_generate.h} +5 -3
  202. data/vendor/libgit2/src/{diff_print.c → libgit2/diff_print.c} +112 -100
  203. data/vendor/libgit2/src/{diff_stats.c → libgit2/diff_stats.c} +40 -29
  204. data/vendor/libgit2/src/libgit2/diff_stats.h +18 -0
  205. data/vendor/libgit2/src/{diff_tform.c → libgit2/diff_tform.c} +13 -8
  206. data/vendor/libgit2/src/{diff_xdiff.c → libgit2/diff_xdiff.c} +4 -8
  207. data/vendor/libgit2/src/{email.c → libgit2/email.c} +55 -39
  208. data/vendor/libgit2/src/{email.h → libgit2/email.h} +1 -1
  209. data/vendor/libgit2/src/{errors.c → libgit2/errors.c} +18 -18
  210. data/vendor/libgit2/src/{errors.h → libgit2/errors.h} +1 -2
  211. data/vendor/libgit2/src/libgit2/experimental.h.in +13 -0
  212. data/vendor/libgit2/src/{fetch.c → libgit2/fetch.c} +72 -27
  213. data/vendor/libgit2/src/{fetch.h → libgit2/fetch.h} +1 -1
  214. data/vendor/libgit2/src/{fetchhead.c → libgit2/fetchhead.c} +23 -23
  215. data/vendor/libgit2/src/{filter.c → libgit2/filter.c} +127 -53
  216. data/vendor/libgit2/src/{filter.h → libgit2/filter.h} +26 -5
  217. data/vendor/libgit2/src/{ident.c → libgit2/ident.c} +20 -20
  218. data/vendor/libgit2/src/{ignore.c → libgit2/ignore.c} +35 -34
  219. data/vendor/libgit2/src/{ignore.h → libgit2/ignore.h} +2 -2
  220. data/vendor/libgit2/src/{index.c → libgit2/index.c} +91 -90
  221. data/vendor/libgit2/src/{index.h → libgit2/index.h} +6 -3
  222. data/vendor/libgit2/src/{indexer.c → libgit2/indexer.c} +173 -92
  223. data/vendor/libgit2/src/{iterator.c → libgit2/iterator.c} +71 -61
  224. data/vendor/libgit2/src/{iterator.h → libgit2/iterator.h} +5 -5
  225. data/vendor/libgit2/src/{libgit2.c → libgit2/libgit2.c} +46 -11
  226. data/vendor/libgit2/src/{mailmap.c → libgit2/mailmap.c} +38 -36
  227. data/vendor/libgit2/src/{merge.c → libgit2/merge.c} +30 -30
  228. data/vendor/libgit2/src/{merge.h → libgit2/merge.h} +1 -14
  229. data/vendor/libgit2/src/{merge_driver.c → libgit2/merge_driver.c} +2 -2
  230. data/vendor/libgit2/src/{merge_file.c → libgit2/merge_file.c} +13 -3
  231. data/vendor/libgit2/src/{message.c → libgit2/message.c} +21 -10
  232. data/vendor/libgit2/src/{midx.c → libgit2/midx.c} +112 -92
  233. data/vendor/libgit2/src/{midx.h → libgit2/midx.h} +5 -4
  234. data/vendor/libgit2/src/{mwindow.c → libgit2/mwindow.c} +15 -12
  235. data/vendor/libgit2/src/{mwindow.h → libgit2/mwindow.h} +5 -2
  236. data/vendor/libgit2/src/{netops.c → libgit2/netops.c} +1 -2
  237. data/vendor/libgit2/src/{netops.h → libgit2/netops.h} +1 -1
  238. data/vendor/libgit2/src/{notes.c → libgit2/notes.c} +25 -34
  239. data/vendor/libgit2/src/{object.c → libgit2/object.c} +135 -30
  240. data/vendor/libgit2/src/{object.h → libgit2/object.h} +12 -3
  241. data/vendor/libgit2/src/{odb.c → libgit2/odb.c} +228 -81
  242. data/vendor/libgit2/src/{odb.h → libgit2/odb.h} +44 -5
  243. data/vendor/libgit2/src/{odb_loose.c → libgit2/odb_loose.c} +192 -134
  244. data/vendor/libgit2/src/{odb_mempack.c → libgit2/odb_mempack.c} +18 -5
  245. data/vendor/libgit2/src/{odb_pack.c → libgit2/odb_pack.c} +137 -85
  246. data/vendor/libgit2/src/{oid.c → libgit2/oid.c} +136 -90
  247. data/vendor/libgit2/src/libgit2/oid.h +273 -0
  248. data/vendor/libgit2/src/{oidmap.c → libgit2/oidmap.c} +1 -1
  249. data/vendor/libgit2/src/{pack-objects.c → libgit2/pack-objects.c} +56 -30
  250. data/vendor/libgit2/src/{pack-objects.h → libgit2/pack-objects.h} +11 -6
  251. data/vendor/libgit2/src/{pack.c → libgit2/pack.c} +114 -84
  252. data/vendor/libgit2/src/{pack.h → libgit2/pack.h} +31 -16
  253. data/vendor/libgit2/src/{parse.c → libgit2/parse.c} +4 -3
  254. data/vendor/libgit2/src/{patch.c → libgit2/patch.c} +3 -3
  255. data/vendor/libgit2/src/{patch.h → libgit2/patch.h} +1 -0
  256. data/vendor/libgit2/src/{patch_generate.c → libgit2/patch_generate.c} +27 -11
  257. data/vendor/libgit2/src/{patch_generate.h → libgit2/patch_generate.h} +5 -5
  258. data/vendor/libgit2/src/{patch_parse.c → libgit2/patch_parse.c} +29 -29
  259. data/vendor/libgit2/src/libgit2/path.c +375 -0
  260. data/vendor/libgit2/src/libgit2/path.h +68 -0
  261. data/vendor/libgit2/src/{pathspec.c → libgit2/pathspec.c} +6 -6
  262. data/vendor/libgit2/src/{pathspec.h → libgit2/pathspec.h} +2 -2
  263. data/vendor/libgit2/src/{proxy.c → libgit2/proxy.c} +4 -1
  264. data/vendor/libgit2/src/{proxy.h → libgit2/proxy.h} +1 -1
  265. data/vendor/libgit2/src/{push.c → libgit2/push.c} +43 -38
  266. data/vendor/libgit2/src/{push.h → libgit2/push.h} +4 -16
  267. data/vendor/libgit2/src/{reader.c → libgit2/reader.c} +9 -9
  268. data/vendor/libgit2/src/{reader.h → libgit2/reader.h} +2 -2
  269. data/vendor/libgit2/src/{rebase.c → libgit2/rebase.c} +119 -107
  270. data/vendor/libgit2/src/{refdb_fs.c → libgit2/refdb_fs.c} +506 -197
  271. data/vendor/libgit2/src/{reflog.c → libgit2/reflog.c} +7 -5
  272. data/vendor/libgit2/src/{reflog.h → libgit2/reflog.h} +1 -2
  273. data/vendor/libgit2/src/{refs.c → libgit2/refs.c} +34 -32
  274. data/vendor/libgit2/src/{refs.h → libgit2/refs.h} +2 -2
  275. data/vendor/libgit2/src/{refspec.c → libgit2/refspec.c} +32 -37
  276. data/vendor/libgit2/src/{refspec.h → libgit2/refspec.h} +5 -2
  277. data/vendor/libgit2/src/{remote.c → libgit2/remote.c} +718 -420
  278. data/vendor/libgit2/src/libgit2/remote.h +100 -0
  279. data/vendor/libgit2/src/{repository.c → libgit2/repository.c} +629 -386
  280. data/vendor/libgit2/src/{repository.h → libgit2/repository.h} +20 -9
  281. data/vendor/libgit2/src/{reset.c → libgit2/reset.c} +8 -5
  282. data/vendor/libgit2/src/{revert.c → libgit2/revert.c} +14 -14
  283. data/vendor/libgit2/src/{revparse.c → libgit2/revparse.c} +71 -42
  284. data/vendor/libgit2/src/{revwalk.c → libgit2/revwalk.c} +12 -8
  285. data/vendor/libgit2/src/{signature.c → libgit2/signature.c} +12 -6
  286. data/vendor/libgit2/src/{signature.h → libgit2/signature.h} +1 -1
  287. data/vendor/libgit2/src/{stash.c → libgit2/stash.c} +235 -61
  288. data/vendor/libgit2/src/{status.c → libgit2/status.c} +4 -1
  289. data/vendor/libgit2/src/{strarray.c → libgit2/strarray.c} +1 -0
  290. data/vendor/libgit2/src/libgit2/strarray.h +25 -0
  291. data/vendor/libgit2/src/{streams → libgit2/streams}/mbedtls.c +8 -6
  292. data/vendor/libgit2/src/{streams → libgit2/streams}/openssl.c +1 -1
  293. data/vendor/libgit2/src/{streams → libgit2/streams}/openssl_dynamic.c +7 -3
  294. data/vendor/libgit2/src/{streams → libgit2/streams}/openssl_dynamic.h +3 -3
  295. data/vendor/libgit2/src/{streams → libgit2/streams}/socket.c +4 -1
  296. data/vendor/libgit2/src/{submodule.c → libgit2/submodule.c} +177 -161
  297. data/vendor/libgit2/src/{submodule.h → libgit2/submodule.h} +1 -1
  298. data/vendor/libgit2/src/libgit2/sysdir.c +650 -0
  299. data/vendor/libgit2/src/{sysdir.h → libgit2/sysdir.h} +53 -18
  300. data/vendor/libgit2/src/{tag.c → libgit2/tag.c} +73 -42
  301. data/vendor/libgit2/src/{tag.h → libgit2/tag.h} +2 -2
  302. data/vendor/libgit2/src/{threadstate.c → libgit2/threadstate.c} +3 -3
  303. data/vendor/libgit2/src/{threadstate.h → libgit2/threadstate.h} +2 -2
  304. data/vendor/libgit2/src/{trace.c → libgit2/trace.c} +1 -14
  305. data/vendor/libgit2/src/{trace.h → libgit2/trace.h} +5 -22
  306. data/vendor/libgit2/src/{trailer.c → libgit2/trailer.c} +1 -1
  307. data/vendor/libgit2/src/{transaction.c → libgit2/transaction.c} +1 -1
  308. data/vendor/libgit2/src/{transport.c → libgit2/transport.c} +10 -10
  309. data/vendor/libgit2/src/{transports → libgit2/transports}/auth.c +7 -9
  310. data/vendor/libgit2/src/{transports → libgit2/transports}/auth.h +2 -3
  311. data/vendor/libgit2/src/{transports → libgit2/transports}/auth_negotiate.c +12 -13
  312. data/vendor/libgit2/src/{transports → libgit2/transports}/auth_ntlm.c +10 -10
  313. data/vendor/libgit2/src/{transports → libgit2/transports}/auth_ntlm.h +0 -1
  314. data/vendor/libgit2/src/{transports → libgit2/transports}/git.c +9 -11
  315. data/vendor/libgit2/src/{transports → libgit2/transports}/http.c +41 -20
  316. data/vendor/libgit2/src/{transports → libgit2/transports}/http.h +2 -3
  317. data/vendor/libgit2/src/{transports → libgit2/transports}/httpclient.c +75 -66
  318. data/vendor/libgit2/src/{transports → libgit2/transports}/httpclient.h +10 -0
  319. data/vendor/libgit2/src/{transports → libgit2/transports}/local.c +138 -116
  320. data/vendor/libgit2/src/{transports → libgit2/transports}/smart.c +92 -133
  321. data/vendor/libgit2/src/{transports → libgit2/transports}/smart.h +35 -32
  322. data/vendor/libgit2/src/{transports → libgit2/transports}/smart_pkt.c +177 -65
  323. data/vendor/libgit2/src/{transports → libgit2/transports}/smart_protocol.c +97 -49
  324. data/vendor/libgit2/src/{transports → libgit2/transports}/ssh.c +365 -198
  325. data/vendor/libgit2/src/{transports → libgit2/transports}/winhttp.c +58 -59
  326. data/vendor/libgit2/src/{tree-cache.c → libgit2/tree-cache.c} +8 -8
  327. data/vendor/libgit2/src/{tree-cache.h → libgit2/tree-cache.h} +2 -2
  328. data/vendor/libgit2/src/{tree.c → libgit2/tree.c} +93 -83
  329. data/vendor/libgit2/src/{tree.h → libgit2/tree.h} +4 -4
  330. data/vendor/libgit2/src/{worktree.c → libgit2/worktree.c} +121 -94
  331. data/vendor/libgit2/src/{worktree.h → libgit2/worktree.h} +1 -1
  332. data/vendor/libgit2/src/libgit2/xdiff/git-xdiff.h +53 -0
  333. data/vendor/libgit2/src/{xdiff → libgit2/xdiff}/xdiff.h +15 -15
  334. data/vendor/libgit2/src/{xdiff → libgit2/xdiff}/xdiffi.c +134 -108
  335. data/vendor/libgit2/src/{xdiff → libgit2/xdiff}/xemit.c +23 -7
  336. data/vendor/libgit2/src/{xdiff → libgit2/xdiff}/xhistogram.c +87 -78
  337. data/vendor/libgit2/src/{xdiff → libgit2/xdiff}/xinclude.h +1 -12
  338. data/vendor/libgit2/src/{xdiff → libgit2/xdiff}/xmerge.c +104 -117
  339. data/vendor/libgit2/src/{xdiff → libgit2/xdiff}/xpatience.c +6 -17
  340. data/vendor/libgit2/src/{xdiff → libgit2/xdiff}/xprepare.c +15 -20
  341. data/vendor/libgit2/src/{xdiff → libgit2/xdiff}/xutils.c +18 -7
  342. data/vendor/libgit2/src/util/CMakeLists.txt +80 -0
  343. data/vendor/libgit2/src/{allocators → util/allocators}/failalloc.h +1 -1
  344. data/vendor/libgit2/src/{allocators → util/allocators}/stdalloc.h +1 -1
  345. data/vendor/libgit2/src/{allocators → util/allocators}/win32_leakcheck.h +1 -1
  346. data/vendor/libgit2/src/{array.h → util/array.h} +1 -1
  347. data/vendor/libgit2/src/{assert_safe.h → util/assert_safe.h} +16 -0
  348. data/vendor/libgit2/src/{cc-compat.h → util/cc-compat.h} +1 -1
  349. data/vendor/libgit2/src/{date.c → util/date.c} +14 -20
  350. data/vendor/libgit2/src/util/date.h +33 -0
  351. data/vendor/libgit2/src/{filebuf.c → util/filebuf.c} +29 -29
  352. data/vendor/libgit2/src/{filebuf.h → util/filebuf.h} +2 -2
  353. data/vendor/libgit2/src/{path.c → util/fs_path.c} +453 -647
  354. data/vendor/libgit2/src/{path.h → util/fs_path.h} +221 -188
  355. data/vendor/libgit2/src/{futils.c → util/futils.c} +135 -90
  356. data/vendor/libgit2/src/{futils.h → util/futils.h} +28 -15
  357. data/vendor/libgit2/src/{features.h.in → util/git2_features.h.in} +15 -1
  358. data/vendor/libgit2/src/{common.h → util/git2_util.h} +20 -59
  359. data/vendor/libgit2/src/util/hash/builtin.c +53 -0
  360. data/vendor/libgit2/src/{hash/sha1/openssl.h → util/hash/builtin.h} +6 -6
  361. data/vendor/libgit2/src/{hash/sha1 → util/hash}/collisiondetect.c +3 -3
  362. data/vendor/libgit2/src/{hash/sha1 → util/hash}/collisiondetect.h +3 -3
  363. data/vendor/libgit2/src/util/hash/common_crypto.c +112 -0
  364. data/vendor/libgit2/src/{hash/sha1 → util/hash}/common_crypto.h +11 -3
  365. data/vendor/libgit2/src/util/hash/mbedtls.c +92 -0
  366. data/vendor/libgit2/src/{hash/sha1 → util/hash}/mbedtls.h +14 -4
  367. data/vendor/libgit2/src/util/hash/openssl.c +195 -0
  368. data/vendor/libgit2/src/util/hash/openssl.h +45 -0
  369. data/vendor/libgit2/src/util/hash/rfc6234/sha.h +243 -0
  370. data/vendor/libgit2/src/util/hash/rfc6234/sha224-256.c +601 -0
  371. data/vendor/libgit2/src/util/hash/sha.h +70 -0
  372. data/vendor/libgit2/src/{hash/sha1 → util/hash}/sha1dc/sha1.c +1 -1
  373. data/vendor/libgit2/src/util/hash/win32.c +549 -0
  374. data/vendor/libgit2/src/util/hash/win32.h +60 -0
  375. data/vendor/libgit2/src/util/hash.c +158 -0
  376. data/vendor/libgit2/src/util/hash.h +61 -0
  377. data/vendor/libgit2/src/{khash.h → util/khash.h} +1 -1
  378. data/vendor/libgit2/src/{map.h → util/map.h} +1 -1
  379. data/vendor/libgit2/src/util/net.c +1003 -0
  380. data/vendor/libgit2/src/{net.h → util/net.h} +18 -4
  381. data/vendor/libgit2/src/{pool.h → util/pool.h} +1 -1
  382. data/vendor/libgit2/src/{posix.c → util/posix.c} +3 -3
  383. data/vendor/libgit2/src/{posix.h → util/posix.h} +4 -1
  384. data/vendor/libgit2/src/{pqueue.h → util/pqueue.h} +2 -2
  385. data/vendor/libgit2/src/util/rand.c +234 -0
  386. data/vendor/libgit2/src/util/rand.h +37 -0
  387. data/vendor/libgit2/src/{regexp.c → util/regexp.c} +4 -4
  388. data/vendor/libgit2/src/{regexp.h → util/regexp.h} +1 -1
  389. data/vendor/libgit2/src/{runtime.c → util/runtime.c} +1 -1
  390. data/vendor/libgit2/src/{runtime.h → util/runtime.h} +1 -1
  391. data/vendor/libgit2/src/{sortedcache.c → util/sortedcache.c} +1 -1
  392. data/vendor/libgit2/src/{sortedcache.h → util/sortedcache.h} +2 -2
  393. data/vendor/libgit2/src/{buffer.c → util/str.c} +157 -151
  394. data/vendor/libgit2/src/util/str.h +357 -0
  395. data/vendor/libgit2/src/{strmap.h → util/strmap.h} +1 -1
  396. data/vendor/libgit2/src/{thread.c → util/thread.c} +1 -1
  397. data/vendor/libgit2/src/{thread.h → util/thread.h} +23 -22
  398. data/vendor/libgit2/src/{tsort.c → util/tsort.c} +1 -1
  399. data/vendor/libgit2/src/{unix → util/unix}/map.c +1 -3
  400. data/vendor/libgit2/src/{unix → util/unix}/posix.h +1 -4
  401. data/vendor/libgit2/src/{unix → util/unix}/realpath.c +1 -3
  402. data/vendor/libgit2/src/{utf8.c → util/utf8.c} +1 -1
  403. data/vendor/libgit2/src/{utf8.h → util/utf8.h} +1 -1
  404. data/vendor/libgit2/src/{util.c → util/util.c} +15 -15
  405. data/vendor/libgit2/src/{util.h → util/util.h} +4 -29
  406. data/vendor/libgit2/src/{varint.h → util/varint.h} +1 -1
  407. data/vendor/libgit2/src/{vector.h → util/vector.h} +2 -2
  408. data/vendor/libgit2/src/{wildmatch.h → util/wildmatch.h} +1 -1
  409. data/vendor/libgit2/src/{win32 → util/win32}/dir.h +1 -1
  410. data/vendor/libgit2/src/{win32 → util/win32}/error.h +1 -1
  411. data/vendor/libgit2/src/{win32 → util/win32}/map.c +1 -1
  412. data/vendor/libgit2/src/{win32 → util/win32}/path_w32.c +140 -9
  413. data/vendor/libgit2/src/{win32 → util/win32}/path_w32.h +3 -1
  414. data/vendor/libgit2/src/{win32 → util/win32}/posix.h +1 -2
  415. data/vendor/libgit2/src/{win32 → util/win32}/posix_w32.c +12 -28
  416. data/vendor/libgit2/src/util/win32/precompiled.c +1 -0
  417. data/vendor/libgit2/src/{win32 → util/win32}/precompiled.h +1 -1
  418. data/vendor/libgit2/src/{win32 → util/win32}/thread.h +1 -1
  419. data/vendor/libgit2/src/{win32 → util/win32}/utf-conv.h +1 -1
  420. data/vendor/libgit2/src/{win32 → util/win32}/w32_buffer.c +2 -3
  421. data/vendor/libgit2/src/{win32 → util/win32}/w32_buffer.h +3 -4
  422. data/vendor/libgit2/src/{win32 → util/win32}/w32_leakcheck.c +1 -1
  423. data/vendor/libgit2/src/{win32 → util/win32}/w32_leakcheck.h +1 -1
  424. data/vendor/libgit2/src/{win32 → util/win32}/w32_util.h +1 -1
  425. data/vendor/libgit2/src/{zstream.c → util/zstream.c} +5 -5
  426. data/vendor/libgit2/src/{zstream.h → util/zstream.h} +5 -5
  427. metadata +402 -356
  428. data/vendor/libgit2/src/buffer.h +0 -374
  429. data/vendor/libgit2/src/commit.h +0 -46
  430. data/vendor/libgit2/src/hash/sha1/common_crypto.c +0 -57
  431. data/vendor/libgit2/src/hash/sha1/generic.c +0 -300
  432. data/vendor/libgit2/src/hash/sha1/generic.h +0 -19
  433. data/vendor/libgit2/src/hash/sha1/mbedtls.c +0 -46
  434. data/vendor/libgit2/src/hash/sha1/openssl.c +0 -59
  435. data/vendor/libgit2/src/hash/sha1/win32.c +0 -333
  436. data/vendor/libgit2/src/hash/sha1/win32.h +0 -128
  437. data/vendor/libgit2/src/hash/sha1.h +0 -38
  438. data/vendor/libgit2/src/hash.c +0 -110
  439. data/vendor/libgit2/src/hash.h +0 -46
  440. data/vendor/libgit2/src/message.h +0 -17
  441. data/vendor/libgit2/src/net.c +0 -540
  442. data/vendor/libgit2/src/oid.h +0 -51
  443. data/vendor/libgit2/src/remote.h +0 -55
  444. data/vendor/libgit2/src/sysdir.c +0 -347
  445. data/vendor/libgit2/src/win32/findfile.c +0 -230
  446. data/vendor/libgit2/src/win32/findfile.h +0 -19
  447. /data/vendor/libgit2/src/{win32 → cli/win32}/precompiled.c +0 -0
  448. /data/vendor/libgit2/src/{attr.h → libgit2/attr.h} +0 -0
  449. /data/vendor/libgit2/src/{attrcache.h → libgit2/attrcache.h} +0 -0
  450. /data/vendor/libgit2/src/{blame.h → libgit2/blame.h} +0 -0
  451. /data/vendor/libgit2/src/{blame_git.h → libgit2/blame_git.h} +0 -0
  452. /data/vendor/libgit2/src/{cache.c → libgit2/cache.c} +0 -0
  453. /data/vendor/libgit2/src/{cache.h → libgit2/cache.h} +0 -0
  454. /data/vendor/libgit2/src/{checkout.h → libgit2/checkout.h} +0 -0
  455. /data/vendor/libgit2/src/{clone.h → libgit2/clone.h} +0 -0
  456. /data/vendor/libgit2/src/{commit_list.h → libgit2/commit_list.h} +0 -0
  457. /data/vendor/libgit2/src/{config_backend.h → libgit2/config_backend.h} +0 -0
  458. /data/vendor/libgit2/src/{config_cache.c → libgit2/config_cache.c} +0 -0
  459. /data/vendor/libgit2/src/{config_entries.c → libgit2/config_entries.c} +0 -0
  460. /data/vendor/libgit2/src/{config_entries.h → libgit2/config_entries.h} +0 -0
  461. /data/vendor/libgit2/src/{config_parse.h → libgit2/config_parse.h} +0 -0
  462. /data/vendor/libgit2/src/{config_snapshot.c → libgit2/config_snapshot.c} +0 -0
  463. /data/vendor/libgit2/src/{delta.c → libgit2/delta.c} +0 -0
  464. /data/vendor/libgit2/src/{delta.h → libgit2/delta.h} +0 -0
  465. /data/vendor/libgit2/src/{diff_file.h → libgit2/diff_file.h} +0 -0
  466. /data/vendor/libgit2/src/{diff_parse.c → libgit2/diff_parse.c} +0 -0
  467. /data/vendor/libgit2/src/{diff_parse.h → libgit2/diff_parse.h} +0 -0
  468. /data/vendor/libgit2/src/{diff_tform.h → libgit2/diff_tform.h} +0 -0
  469. /data/vendor/libgit2/src/{diff_xdiff.h → libgit2/diff_xdiff.h} +0 -0
  470. /data/vendor/libgit2/src/{fetchhead.h → libgit2/fetchhead.h} +0 -0
  471. /data/vendor/libgit2/src/{win32 → libgit2}/git2.rc +0 -0
  472. /data/vendor/libgit2/src/{graph.c → libgit2/graph.c} +0 -0
  473. /data/vendor/libgit2/src/{hashsig.c → libgit2/hashsig.c} +0 -0
  474. /data/vendor/libgit2/src/{idxmap.c → libgit2/idxmap.c} +0 -0
  475. /data/vendor/libgit2/src/{idxmap.h → libgit2/idxmap.h} +0 -0
  476. /data/vendor/libgit2/src/{indexer.h → libgit2/indexer.h} +0 -0
  477. /data/vendor/libgit2/src/{libgit2.h → libgit2/libgit2.h} +0 -0
  478. /data/vendor/libgit2/src/{mailmap.h → libgit2/mailmap.h} +0 -0
  479. /data/vendor/libgit2/src/{merge_driver.h → libgit2/merge_driver.h} +0 -0
  480. /data/vendor/libgit2/src/{notes.h → libgit2/notes.h} +0 -0
  481. /data/vendor/libgit2/src/{object_api.c → libgit2/object_api.c} +0 -0
  482. /data/vendor/libgit2/src/{offmap.c → libgit2/offmap.c} +0 -0
  483. /data/vendor/libgit2/src/{offmap.h → libgit2/offmap.h} +0 -0
  484. /data/vendor/libgit2/src/{oidarray.c → libgit2/oidarray.c} +0 -0
  485. /data/vendor/libgit2/src/{oidarray.h → libgit2/oidarray.h} +0 -0
  486. /data/vendor/libgit2/src/{oidmap.h → libgit2/oidmap.h} +0 -0
  487. /data/vendor/libgit2/src/{parse.h → libgit2/parse.h} +0 -0
  488. /data/vendor/libgit2/src/{patch_parse.h → libgit2/patch_parse.h} +0 -0
  489. /data/vendor/libgit2/src/{refdb.c → libgit2/refdb.c} +0 -0
  490. /data/vendor/libgit2/src/{refdb.h → libgit2/refdb.h} +0 -0
  491. /data/vendor/libgit2/src/{repo_template.h → libgit2/repo_template.h} +0 -0
  492. /data/vendor/libgit2/src/{revwalk.h → libgit2/revwalk.h} +0 -0
  493. /data/vendor/libgit2/src/{settings.h → libgit2/settings.h} +0 -0
  494. /data/vendor/libgit2/src/{status.h → libgit2/status.h} +0 -0
  495. /data/vendor/libgit2/src/{stream.h → libgit2/stream.h} +0 -0
  496. /data/vendor/libgit2/src/{streams → libgit2/streams}/mbedtls.h +0 -0
  497. /data/vendor/libgit2/src/{streams → libgit2/streams}/openssl.h +0 -0
  498. /data/vendor/libgit2/src/{streams → libgit2/streams}/openssl_legacy.c +0 -0
  499. /data/vendor/libgit2/src/{streams → libgit2/streams}/openssl_legacy.h +0 -0
  500. /data/vendor/libgit2/src/{streams → libgit2/streams}/registry.c +0 -0
  501. /data/vendor/libgit2/src/{streams → libgit2/streams}/registry.h +0 -0
  502. /data/vendor/libgit2/src/{streams → libgit2/streams}/socket.h +0 -0
  503. /data/vendor/libgit2/src/{streams → libgit2/streams}/stransport.c +0 -0
  504. /data/vendor/libgit2/src/{streams → libgit2/streams}/stransport.h +0 -0
  505. /data/vendor/libgit2/src/{streams → libgit2/streams}/tls.c +0 -0
  506. /data/vendor/libgit2/src/{streams → libgit2/streams}/tls.h +0 -0
  507. /data/vendor/libgit2/src/{transaction.h → libgit2/transaction.h} +0 -0
  508. /data/vendor/libgit2/src/{transports → libgit2/transports}/auth_negotiate.h +0 -0
  509. /data/vendor/libgit2/src/{transports → libgit2/transports}/credential.c +0 -0
  510. /data/vendor/libgit2/src/{transports → libgit2/transports}/credential_helpers.c +0 -0
  511. /data/vendor/libgit2/src/{transports → libgit2/transports}/ssh.h +0 -0
  512. /data/vendor/libgit2/src/{userdiff.h → libgit2/userdiff.h} +0 -0
  513. /data/vendor/libgit2/src/{xdiff → libgit2/xdiff}/xdiffi.h +0 -0
  514. /data/vendor/libgit2/src/{xdiff → libgit2/xdiff}/xemit.h +0 -0
  515. /data/vendor/libgit2/src/{xdiff → libgit2/xdiff}/xmacros.h +0 -0
  516. /data/vendor/libgit2/src/{xdiff → libgit2/xdiff}/xprepare.h +0 -0
  517. /data/vendor/libgit2/src/{xdiff → libgit2/xdiff}/xtypes.h +0 -0
  518. /data/vendor/libgit2/src/{xdiff → libgit2/xdiff}/xutils.h +0 -0
  519. /data/vendor/libgit2/src/{alloc.c → util/alloc.c} +0 -0
  520. /data/vendor/libgit2/src/{alloc.h → util/alloc.h} +0 -0
  521. /data/vendor/libgit2/src/{allocators → util/allocators}/failalloc.c +0 -0
  522. /data/vendor/libgit2/src/{allocators → util/allocators}/stdalloc.c +0 -0
  523. /data/vendor/libgit2/src/{allocators → util/allocators}/win32_leakcheck.c +0 -0
  524. /data/vendor/libgit2/src/{bitvec.h → util/bitvec.h} +0 -0
  525. /data/vendor/libgit2/src/{hash/sha1 → util/hash}/sha1dc/sha1.h +0 -0
  526. /data/vendor/libgit2/src/{hash/sha1 → util/hash}/sha1dc/ubc_check.c +0 -0
  527. /data/vendor/libgit2/src/{hash/sha1 → util/hash}/sha1dc/ubc_check.h +0 -0
  528. /data/vendor/libgit2/src/{integer.h → util/integer.h} +0 -0
  529. /data/vendor/libgit2/src/{pool.c → util/pool.c} +0 -0
  530. /data/vendor/libgit2/src/{pqueue.c → util/pqueue.c} +0 -0
  531. /data/vendor/libgit2/src/{strmap.c → util/strmap.c} +0 -0
  532. /data/vendor/libgit2/src/{strnlen.h → util/strnlen.h} +0 -0
  533. /data/vendor/libgit2/src/{unix → util/unix}/pthread.h +0 -0
  534. /data/vendor/libgit2/src/{varint.c → util/varint.c} +0 -0
  535. /data/vendor/libgit2/src/{vector.c → util/vector.c} +0 -0
  536. /data/vendor/libgit2/src/{wildmatch.c → util/wildmatch.c} +0 -0
  537. /data/vendor/libgit2/src/{win32 → util/win32}/dir.c +0 -0
  538. /data/vendor/libgit2/src/{win32 → util/win32}/error.c +0 -0
  539. /data/vendor/libgit2/src/{win32 → util/win32}/mingw-compat.h +0 -0
  540. /data/vendor/libgit2/src/{win32 → util/win32}/msvc-compat.h +0 -0
  541. /data/vendor/libgit2/src/{win32 → util/win32}/reparse.h +0 -0
  542. /data/vendor/libgit2/src/{win32 → util/win32}/thread.c +0 -0
  543. /data/vendor/libgit2/src/{win32 → util/win32}/utf-conv.c +0 -0
  544. /data/vendor/libgit2/src/{win32 → util/win32}/version.h +0 -0
  545. /data/vendor/libgit2/src/{win32 → util/win32}/w32_common.h +0 -0
  546. /data/vendor/libgit2/src/{win32 → util/win32}/w32_util.c +0 -0
  547. /data/vendor/libgit2/src/{win32 → util/win32}/win32-compat.h +0 -0
@@ -83,7 +83,7 @@ typedef enum {
83
83
  GIT_ATTR_VALUE_UNSPECIFIED = 0, /**< The attribute has been left unspecified */
84
84
  GIT_ATTR_VALUE_TRUE, /**< The attribute has been set */
85
85
  GIT_ATTR_VALUE_FALSE, /**< The attribute has been unset */
86
- GIT_ATTR_VALUE_STRING, /**< This attribute has a value */
86
+ GIT_ATTR_VALUE_STRING /**< This attribute has a value */
87
87
  } git_attr_value_t;
88
88
 
89
89
  /**
@@ -177,6 +177,7 @@ typedef struct {
177
177
  * not have to exist, but if it does not, then it will be
178
178
  * treated as a plain file (not a directory).
179
179
  * @param name The name of the attribute to look up.
180
+ * @return 0 or an error code.
180
181
  */
181
182
  GIT_EXTERN(int) git_attr_get(
182
183
  const char **value_out,
@@ -199,6 +200,7 @@ GIT_EXTERN(int) git_attr_get(
199
200
  * not have to exist, but if it does not, then it will be
200
201
  * treated as a plain file (not a directory).
201
202
  * @param name The name of the attribute to look up.
203
+ * @return 0 or an error code.
202
204
  */
203
205
  GIT_EXTERN(int) git_attr_get_ext(
204
206
  const char **value_out,
@@ -235,6 +237,7 @@ GIT_EXTERN(int) git_attr_get_ext(
235
237
  * it will be treated as a plain file (i.e. not a directory).
236
238
  * @param num_attr The number of attributes being looked up
237
239
  * @param names An array of num_attr strings containing attribute names.
240
+ * @return 0 or an error code.
238
241
  */
239
242
  GIT_EXTERN(int) git_attr_get_many(
240
243
  const char **values_out,
@@ -259,6 +262,7 @@ GIT_EXTERN(int) git_attr_get_many(
259
262
  * it will be treated as a plain file (i.e. not a directory).
260
263
  * @param num_attr The number of attributes being looked up
261
264
  * @param names An array of num_attr strings containing attribute names.
265
+ * @return 0 or an error code.
262
266
  */
263
267
  GIT_EXTERN(int) git_attr_get_many_ext(
264
268
  const char **values_out,
@@ -344,11 +348,16 @@ GIT_EXTERN(int) git_attr_cache_flush(
344
348
  * Add a macro definition.
345
349
  *
346
350
  * Macros will automatically be loaded from the top level `.gitattributes`
347
- * file of the repository (plus the build-in "binary" macro). This
351
+ * file of the repository (plus the built-in "binary" macro). This
348
352
  * function allows you to add others. For example, to add the default
349
353
  * macro, you would call:
350
354
  *
351
355
  * git_attr_add_macro(repo, "binary", "-diff -crlf");
356
+ *
357
+ * @param repo The repository to add the macro in.
358
+ * @param name The name of the macro.
359
+ * @param values The value for the macro.
360
+ * @return 0 or an error code.
352
361
  */
353
362
  GIT_EXTERN(int) git_attr_add_macro(
354
363
  git_repository *repo,
@@ -73,7 +73,7 @@ typedef enum {
73
73
  GIT_BLAME_USE_MAILMAP = (1<<5),
74
74
 
75
75
  /** Ignore whitespace differences */
76
- GIT_BLAME_IGNORE_WHITESPACE = (1<<6),
76
+ GIT_BLAME_IGNORE_WHITESPACE = (1<<6)
77
77
  } git_blame_flag_t;
78
78
 
79
79
  /**
@@ -203,6 +203,9 @@ typedef struct git_blame git_blame;
203
203
 
204
204
  /**
205
205
  * Gets the number of hunks that exist in the blame structure.
206
+ *
207
+ * @param blame The blame structure to query.
208
+ * @return The number of hunks.
206
209
  */
207
210
  GIT_EXTERN(uint32_t) git_blame_get_hunk_count(git_blame *blame);
208
211
 
@@ -119,7 +119,7 @@ typedef enum {
119
119
  * When set, filters will be loaded from a `.gitattributes` file
120
120
  * in the specified commit.
121
121
  */
122
- GIT_BLOB_FILTER_ATTRIBUTES_FROM_COMMIT = (1 << 3),
122
+ GIT_BLOB_FILTER_ATTRIBUTES_FROM_COMMIT = (1 << 3)
123
123
  } git_blob_filter_flag_t;
124
124
 
125
125
  /**
@@ -284,12 +284,25 @@ GIT_EXTERN(int) git_blob_create_from_buffer(
284
284
  */
285
285
  GIT_EXTERN(int) git_blob_is_binary(const git_blob *blob);
286
286
 
287
+ /**
288
+ * Determine if the given content is most certainly binary or not;
289
+ * this is the same mechanism used by `git_blob_is_binary` but only
290
+ * looking at raw data.
291
+ *
292
+ * @param data The blob data which content should be analyzed
293
+ * @param len The length of the data
294
+ * @return 1 if the content of the blob is detected
295
+ * as binary; 0 otherwise.
296
+ */
297
+ GIT_EXTERN(int) git_blob_data_is_binary(const char *data, size_t len);
298
+
287
299
  /**
288
300
  * Create an in-memory copy of a blob. The copy must be explicitly
289
301
  * free'd or it will leak.
290
302
  *
291
303
  * @param out Pointer to store the copy of the object
292
304
  * @param source Original object to copy
305
+ * @return 0.
293
306
  */
294
307
  GIT_EXTERN(int) git_blob_dup(git_blob **out, git_blob *source);
295
308
 
@@ -34,6 +34,8 @@ GIT_BEGIN_DECL
34
34
  *
35
35
  * @param out Pointer where to store the underlying reference.
36
36
  *
37
+ * @param repo the repository to create the branch in.
38
+ *
37
39
  * @param branch_name Name for the branch; this name is
38
40
  * validated for consistency. It should also not conflict with
39
41
  * an already existing branch name.
@@ -127,8 +129,8 @@ GIT_EXTERN(void) git_branch_iterator_free(git_branch_iterator *iter);
127
129
  * See `git_tag_create()` for rules about valid names.
128
130
  *
129
131
  * Note that if the move succeeds, the old reference object will not
130
- + be valid anymore, and should be freed immediately by the user using
131
- + `git_reference_free()`.
132
+ * be valid anymore, and should be freed immediately by the user using
133
+ * `git_reference_free()`.
132
134
  *
133
135
  * @param out New reference object for the updated name.
134
136
  *
@@ -23,110 +23,50 @@ GIT_BEGIN_DECL
23
23
  *
24
24
  * Sometimes libgit2 wants to return an allocated data buffer to the
25
25
  * caller and have the caller take responsibility for freeing that memory.
26
- * This can be awkward if the caller does not have easy access to the same
27
- * allocation functions that libgit2 is using. In those cases, libgit2
28
- * will fill in a `git_buf` and the caller can use `git_buf_dispose()` to
29
- * release it when they are done.
26
+ * To make ownership clear in these cases, libgit2 uses `git_buf` to
27
+ * return this data. Callers should use `git_buf_dispose()` to release
28
+ * the memory when they are done.
30
29
  *
31
- * A `git_buf` may also be used for the caller to pass in a reference to
32
- * a block of memory they hold. In this case, libgit2 will not resize or
33
- * free the memory, but will read from it as needed.
34
- *
35
- * Some APIs may occasionally do something slightly unusual with a buffer,
36
- * such as setting `ptr` to a value that was passed in by the user. In
37
- * those cases, the behavior will be clearly documented by the API.
30
+ * A `git_buf` contains a pointer to a NUL-terminated C string, and
31
+ * the length of the string (not including the NUL terminator).
38
32
  */
39
33
  typedef struct {
40
34
  /**
41
- * The buffer contents.
42
- *
43
- * `ptr` points to the start of the allocated memory. If it is NULL,
44
- * then the `git_buf` is considered empty and libgit2 will feel free
45
- * to overwrite it with new data.
35
+ * The buffer contents. `ptr` points to the start of the buffer
36
+ * being returned. The buffer's length (in bytes) is specified
37
+ * by the `size` member of the structure, and contains a NUL
38
+ * terminator at position `(size + 1)`.
46
39
  */
47
- char *ptr;
40
+ char *ptr;
48
41
 
49
42
  /**
50
- * `asize` holds the known total amount of allocated memory if the `ptr`
51
- * was allocated by libgit2. It may be larger than `size`. If `ptr`
52
- * was not allocated by libgit2 and should not be resized and/or freed,
53
- * then `asize` will be set to zero.
43
+ * This field is reserved and unused.
54
44
  */
55
- size_t asize;
45
+ size_t reserved;
56
46
 
57
47
  /**
58
- * `size` holds the size (in bytes) of the data that is actually used.
48
+ * The length (in bytes) of the buffer pointed to by `ptr`,
49
+ * not including a NUL terminator.
59
50
  */
60
51
  size_t size;
61
52
  } git_buf;
62
53
 
63
54
  /**
64
- * Static initializer for git_buf from static buffer
55
+ * Use to initialize a `git_buf` before passing it to a function that
56
+ * will populate it.
65
57
  */
66
- #define GIT_BUF_INIT_CONST(STR,LEN) { (char *)(STR), 0, (size_t)(LEN) }
58
+ #define GIT_BUF_INIT { NULL, 0, 0 }
67
59
 
68
60
  /**
69
61
  * Free the memory referred to by the git_buf.
70
62
  *
71
63
  * Note that this does not free the `git_buf` itself, just the memory
72
- * pointed to by `buffer->ptr`. This will not free the memory if it looks
73
- * like it was not allocated internally, but it will clear the buffer back
74
- * to the empty state.
64
+ * pointed to by `buffer->ptr`.
75
65
  *
76
66
  * @param buffer The buffer to deallocate
77
67
  */
78
68
  GIT_EXTERN(void) git_buf_dispose(git_buf *buffer);
79
69
 
80
- /**
81
- * Resize the buffer allocation to make more space.
82
- *
83
- * This will attempt to grow the buffer to accommodate the target size.
84
- *
85
- * If the buffer refers to memory that was not allocated by libgit2 (i.e.
86
- * the `asize` field is zero), then `ptr` will be replaced with a newly
87
- * allocated block of data. Be careful so that memory allocated by the
88
- * caller is not lost. As a special variant, if you pass `target_size` as
89
- * 0 and the memory is not allocated by libgit2, this will allocate a new
90
- * buffer of size `size` and copy the external data into it.
91
- *
92
- * Currently, this will never shrink a buffer, only expand it.
93
- *
94
- * If the allocation fails, this will return an error and the buffer will be
95
- * marked as invalid for future operations, invaliding the contents.
96
- *
97
- * @param buffer The buffer to be resized; may or may not be allocated yet
98
- * @param target_size The desired available size
99
- * @return 0 on success, -1 on allocation failure
100
- */
101
- GIT_EXTERN(int) git_buf_grow(git_buf *buffer, size_t target_size);
102
-
103
- /**
104
- * Set buffer to a copy of some raw data.
105
- *
106
- * @param buffer The buffer to set
107
- * @param data The data to copy into the buffer
108
- * @param datalen The length of the data to copy into the buffer
109
- * @return 0 on success, -1 on allocation failure
110
- */
111
- GIT_EXTERN(int) git_buf_set(
112
- git_buf *buffer, const void *data, size_t datalen);
113
-
114
- /**
115
- * Check quickly if buffer looks like it contains binary data
116
- *
117
- * @param buf Buffer to check
118
- * @return 1 if buffer looks like non-text data
119
- */
120
- GIT_EXTERN(int) git_buf_is_binary(const git_buf *buf);
121
-
122
- /**
123
- * Check quickly if buffer contains a NUL byte
124
- *
125
- * @param buf Buffer to check
126
- * @return 1 if buffer contains a NUL byte
127
- */
128
- GIT_EXTERN(int) git_buf_contains_nul(const git_buf *buf);
129
-
130
70
  GIT_END_DECL
131
71
 
132
72
  /** @} */
@@ -44,7 +44,7 @@ typedef enum git_cert_t {
44
44
  * information about the certificate. This is used when using
45
45
  * curl.
46
46
  */
47
- GIT_CERT_STRARRAY,
47
+ GIT_CERT_STRARRAY
48
48
  } git_cert_t;
49
49
 
50
50
  /**
@@ -82,7 +82,7 @@ typedef enum {
82
82
  /** SHA-256 is available */
83
83
  GIT_CERT_SSH_SHA256 = (1 << 2),
84
84
  /** Raw hostkey is available */
85
- GIT_CERT_SSH_RAW = (1 << 3),
85
+ GIT_CERT_SSH_RAW = (1 << 3)
86
86
  } git_cert_ssh_t;
87
87
 
88
88
  typedef enum {
@@ -182,7 +182,10 @@ typedef enum {
182
182
  * notifications; don't update the working directory or index.
183
183
  */
184
184
  GIT_CHECKOUT_DRY_RUN = (1u << 24),
185
-
185
+
186
+ /** Include common ancestor data in zdiff3 format for conflicts */
187
+ GIT_CHECKOUT_CONFLICT_STYLE_ZDIFF3 = (1u << 25),
188
+
186
189
  /**
187
190
  * THE FOLLOWING OPTIONS ARE NOT YET IMPLEMENTED
188
191
  */
@@ -190,7 +193,7 @@ typedef enum {
190
193
  /** Recursively checkout submodules with same options (NOT IMPLEMENTED) */
191
194
  GIT_CHECKOUT_UPDATE_SUBMODULES = (1u << 16),
192
195
  /** Recursively checkout submodules if HEAD moved in super repo (NOT IMPLEMENTED) */
193
- GIT_CHECKOUT_UPDATE_SUBMODULES_IF_CHANGED = (1u << 17),
196
+ GIT_CHECKOUT_UPDATE_SUBMODULES_IF_CHANGED = (1u << 17)
194
197
 
195
198
  } git_checkout_strategy_t;
196
199
 
@@ -49,7 +49,7 @@ typedef enum {
49
49
  * Bypass the git-aware transport, but do not try to use
50
50
  * hardlinks.
51
51
  */
52
- GIT_CLONE_LOCAL_NO_LINKS,
52
+ GIT_CLONE_LOCAL_NO_LINKS
53
53
  } git_clone_local_t;
54
54
 
55
55
  /**
@@ -74,8 +74,8 @@ typedef int GIT_CALLBACK(git_remote_create_cb)(
74
74
  void *payload);
75
75
 
76
76
  /**
77
- * The signature of a function matchin git_repository_init, with an
78
- * aditional void * as callback payload.
77
+ * The signature of a function matching git_repository_init, with an
78
+ * additional void * as callback payload.
79
79
  *
80
80
  * Callers of git_clone my provide a function matching this signature
81
81
  * to override the repository creation and customization process
@@ -479,6 +479,7 @@ GIT_EXTERN(int) git_commit_create_buffer(
479
479
  * to the commit and write it into the given repository.
480
480
  *
481
481
  * @param out the resulting commit id
482
+ * @param repo the repository to create the commit in.
482
483
  * @param commit_content the content of the unsigned commit object
483
484
  * @param signature the signature to add to the commit. Leave `NULL`
484
485
  * to create a commit without adding a signature field.
@@ -499,6 +500,7 @@ GIT_EXTERN(int) git_commit_create_with_signature(
499
500
  *
500
501
  * @param out Pointer to store the copy of the commit
501
502
  * @param source Original commit to copy
503
+ * @return 0
502
504
  */
503
505
  GIT_EXTERN(int) git_commit_dup(git_commit **out, git_commit *source);
504
506
 
@@ -105,11 +105,6 @@ GIT_BEGIN_DECL
105
105
  */
106
106
  #define GIT_PATH_MAX 4096
107
107
 
108
- /**
109
- * The string representation of the null object ID.
110
- */
111
- #define GIT_OID_HEX_ZERO "0000000000000000000000000000000000000000"
112
-
113
108
  /**
114
109
  * Return the version of the libgit2 library
115
110
  * being currently used.
@@ -121,6 +116,17 @@ GIT_BEGIN_DECL
121
116
  */
122
117
  GIT_EXTERN(int) git_libgit2_version(int *major, int *minor, int *rev);
123
118
 
119
+ /**
120
+ * Return the prerelease state of the libgit2 library currently being
121
+ * used. For nightly builds during active development, this will be
122
+ * "alpha". Releases may have a "beta" or release candidate ("rc1",
123
+ * "rc2", etc) prerelease. For a final release, this function returns
124
+ * NULL.
125
+ *
126
+ * @return the name of the prerelease state or NULL
127
+ */
128
+ GIT_EXTERN(const char *) git_libgit2_prerelease(void);
129
+
124
130
  /**
125
131
  * Combinations of these values describe the features with which libgit2
126
132
  * was compiled
@@ -147,7 +153,7 @@ typedef enum {
147
153
  * If set, libgit2 was built with support for sub-second resolution in file
148
154
  * modification times.
149
155
  */
150
- GIT_FEATURE_NSEC = (1 << 3),
156
+ GIT_FEATURE_NSEC = (1 << 3)
151
157
  } git_feature_t;
152
158
 
153
159
  /**
@@ -167,6 +173,9 @@ typedef enum {
167
173
  * - GIT_FEATURE_SSH
168
174
  * Libgit2 supports the SSH protocol for network operations. This requires
169
175
  * the libssh2 library to be found when compiling libgit2
176
+ *
177
+ * - GIT_FEATURE_NSEC
178
+ * Libgit2 supports the sub-second resolution in file modification times.
170
179
  */
171
180
  GIT_EXTERN(int) git_libgit2_features(void);
172
181
 
@@ -213,7 +222,9 @@ typedef enum {
213
222
  GIT_OPT_GET_EXTENSIONS,
214
223
  GIT_OPT_SET_EXTENSIONS,
215
224
  GIT_OPT_GET_OWNER_VALIDATION,
216
- GIT_OPT_SET_OWNER_VALIDATION
225
+ GIT_OPT_SET_OWNER_VALIDATION,
226
+ GIT_OPT_GET_HOMEDIR,
227
+ GIT_OPT_SET_HOMEDIR
217
228
  } git_libgit2_opt_t;
218
229
 
219
230
  /**
@@ -459,6 +470,16 @@ typedef enum {
459
470
  * > Set that repository directories should be owned by the current
460
471
  * > user. The default is to validate ownership.
461
472
  *
473
+ * opts(GIT_OPT_GET_HOMEDIR, git_buf *out)
474
+ * > Gets the current user's home directory, as it will be used
475
+ * > for file lookups. The path is written to the `out` buffer.
476
+ *
477
+ * opts(GIT_OPT_SET_HOMEDIR, const char *path)
478
+ * > Sets the directory used as the current user's home directory,
479
+ * > for file lookups.
480
+ * >
481
+ * > - `path` directory of home directory.
482
+ *
462
483
  * @param option Option key
463
484
  * @param ... value to set the option
464
485
  * @return 0 on success, <0 on failure
@@ -55,7 +55,7 @@ typedef enum {
55
55
  /** Represents the highest level available config file (i.e. the most
56
56
  * specific config file available that actually is loaded)
57
57
  */
58
- GIT_CONFIG_HIGHEST_LEVEL = -1,
58
+ GIT_CONFIG_HIGHEST_LEVEL = -1
59
59
  } git_config_level_t;
60
60
 
61
61
  /**
@@ -72,14 +72,17 @@ typedef struct git_config_entry {
72
72
 
73
73
  /**
74
74
  * Free a config entry
75
+ *
76
+ * @param entry The entry to free.
75
77
  */
76
- GIT_EXTERN(void) git_config_entry_free(git_config_entry *);
78
+ GIT_EXTERN(void) git_config_entry_free(git_config_entry *entry);
77
79
 
78
80
  /**
79
81
  * A config enumeration callback
80
82
  *
81
83
  * @param entry the entry currently being enumerated
82
84
  * @param payload a user-specified pointer
85
+ * @return non-zero to terminate the iteration.
83
86
  */
84
87
  typedef int GIT_CALLBACK(git_config_foreach_cb)(const git_config_entry *entry, void *payload);
85
88
 
@@ -119,7 +122,7 @@ typedef struct {
119
122
  * global configuration file.
120
123
  *
121
124
  * This method will not guess the path to the xdg compatible
122
- * config file (.config/git/config).
125
+ * config file (`.config/git/config`).
123
126
  *
124
127
  * @param out Pointer to a user-allocated git_buf in which to store the path
125
128
  * @return 0 if a global configuration file has been found. Its path will be stored in `out`.
@@ -146,8 +149,8 @@ GIT_EXTERN(int) git_config_find_xdg(git_buf *out);
146
149
  /**
147
150
  * Locate the path to the system configuration file
148
151
  *
149
- * If /etc/gitconfig doesn't exist, it will look for
150
- * %PROGRAMFILES%\Git\etc\gitconfig.
152
+ * If `/etc/gitconfig` doesn't exist, it will look for
153
+ * `%PROGRAMFILES%\Git\etc\gitconfig`.
151
154
  *
152
155
  * @param out Pointer to a user-allocated git_buf in which to store the path
153
156
  * @return 0 if a system configuration file has been
@@ -158,7 +161,7 @@ GIT_EXTERN(int) git_config_find_system(git_buf *out);
158
161
  /**
159
162
  * Locate the path to the configuration file in ProgramData
160
163
  *
161
- * Look for the file in %PROGRAMDATA%\Git\config used by portable git.
164
+ * Look for the file in `%PROGRAMDATA%\Git\config` used by portable git.
162
165
  *
163
166
  * @param out Pointer to a user-allocated git_buf in which to store the path
164
167
  * @return 0 if a ProgramData configuration file has been
@@ -269,6 +272,7 @@ GIT_EXTERN(int) git_config_open_level(
269
272
  *
270
273
  * @param out pointer in which to store the config object
271
274
  * @param config the config object in which to look
275
+ * @return 0 or an error code.
272
276
  */
273
277
  GIT_EXTERN(int) git_config_open_global(git_config **out, git_config *config);
274
278
 
@@ -422,6 +426,7 @@ GIT_EXTERN(int) git_config_get_string_buf(git_buf *out, const git_config *cfg, c
422
426
  * interested in. Use NULL to indicate all
423
427
  * @param callback the function to be called on each value of the variable
424
428
  * @param payload opaque pointer to pass to the callback
429
+ * @return 0 or an error code.
425
430
  */
426
431
  GIT_EXTERN(int) git_config_get_multivar_foreach(const git_config *cfg, const char *name, const char *regexp, git_config_foreach_cb callback, void *payload);
427
432
 
@@ -437,14 +442,15 @@ GIT_EXTERN(int) git_config_get_multivar_foreach(const git_config *cfg, const cha
437
442
  * @param name the variable's name
438
443
  * @param regexp regular expression to filter which variables we're
439
444
  * interested in. Use NULL to indicate all
445
+ * @return 0 or an error code.
440
446
  */
441
447
  GIT_EXTERN(int) git_config_multivar_iterator_new(git_config_iterator **out, const git_config *cfg, const char *name, const char *regexp);
442
448
 
443
449
  /**
444
450
  * Return the current entry and advance the iterator
445
451
  *
446
- * The pointers returned by this function are valid until the iterator
447
- * is freed.
452
+ * The pointers returned by this function are valid until the next call
453
+ * to `git_config_next` or until the iterator is freed.
448
454
  *
449
455
  * @param entry pointer to store the entry
450
456
  * @param iter the iterator
@@ -515,6 +521,7 @@ GIT_EXTERN(int) git_config_set_string(git_config *cfg, const char *name, const c
515
521
  * @param name the variable's name
516
522
  * @param regexp a regular expression to indicate which values to replace
517
523
  * @param value the new value.
524
+ * @return 0 or an error code.
518
525
  */
519
526
  GIT_EXTERN(int) git_config_set_multivar(git_config *cfg, const char *name, const char *regexp, const char *value);
520
527
 
@@ -524,6 +531,7 @@ GIT_EXTERN(int) git_config_set_multivar(git_config *cfg, const char *name, const
524
531
  *
525
532
  * @param cfg the configuration
526
533
  * @param name the variable to delete
534
+ * @return 0 or an error code.
527
535
  */
528
536
  GIT_EXTERN(int) git_config_delete_entry(git_config *cfg, const char *name);
529
537
 
@@ -568,7 +576,8 @@ GIT_EXTERN(int) git_config_foreach(
568
576
  * `git_config_iterator_free` when done.
569
577
  *
570
578
  * @param out pointer to store the iterator
571
- * @param cfg where to ge the variables from
579
+ * @param cfg where to get the variables from
580
+ * @return 0 or an error code.
572
581
  */
573
582
  GIT_EXTERN(int) git_config_iterator_new(git_config_iterator **out, const git_config *cfg);
574
583
 
@@ -585,6 +594,7 @@ GIT_EXTERN(int) git_config_iterator_new(git_config_iterator **out, const git_con
585
594
  * @param out pointer to store the iterator
586
595
  * @param cfg where to ge the variables from
587
596
  * @param regexp regular expression to match the names
597
+ * @return 0 or an error code.
588
598
  */
589
599
  GIT_EXTERN(int) git_config_iterator_glob_new(git_config_iterator **out, const git_config *cfg, const char *regexp);
590
600
 
@@ -662,6 +672,7 @@ GIT_EXTERN(int) git_config_get_mapped(
662
672
  * @param maps array of `git_configmap` objects specifying the possible mappings
663
673
  * @param map_n number of mapping objects in `maps`
664
674
  * @param value value to parse
675
+ * @return 0 or an error code.
665
676
  */
666
677
  GIT_EXTERN(int) git_config_lookup_map_value(
667
678
  int *out,
@@ -678,6 +689,7 @@ GIT_EXTERN(int) git_config_lookup_map_value(
678
689
  *
679
690
  * @param out place to store the result of the parsing
680
691
  * @param value value to parse
692
+ * @return 0 or an error code.
681
693
  */
682
694
  GIT_EXTERN(int) git_config_parse_bool(int *out, const char *value);
683
695
 
@@ -690,6 +702,7 @@ GIT_EXTERN(int) git_config_parse_bool(int *out, const char *value);
690
702
  *
691
703
  * @param out place to store the result of the parsing
692
704
  * @param value value to parse
705
+ * @return 0 or an error code.
693
706
  */
694
707
  GIT_EXTERN(int) git_config_parse_int32(int32_t *out, const char *value);
695
708
 
@@ -702,6 +715,7 @@ GIT_EXTERN(int) git_config_parse_int32(int32_t *out, const char *value);
702
715
  *
703
716
  * @param out place to store the result of the parsing
704
717
  * @param value value to parse
718
+ * @return 0 or an error code.
705
719
  */
706
720
  GIT_EXTERN(int) git_config_parse_int64(int64_t *out, const char *value);
707
721
 
@@ -717,6 +731,7 @@ GIT_EXTERN(int) git_config_parse_int64(int64_t *out, const char *value);
717
731
  *
718
732
  * @param out placae to store the result of parsing
719
733
  * @param value the path to evaluate
734
+ * @return 0 or an error code.
720
735
  */
721
736
  GIT_EXTERN(int) git_config_parse_path(git_buf *out, const char *value);
722
737
 
@@ -735,6 +750,7 @@ GIT_EXTERN(int) git_config_parse_path(git_buf *out, const char *value);
735
750
  * @param regexp regular expression to match against config names (can be NULL)
736
751
  * @param callback the function to call on each variable
737
752
  * @param payload the data to pass to the callback
753
+ * @return 0 or an error code.
738
754
  */
739
755
  GIT_EXTERN(int) git_config_backend_foreach_match(
740
756
  git_config_backend *backend,
@@ -75,7 +75,7 @@ typedef enum {
75
75
  *
76
76
  * @see git_credential_ssh_key_memory_new
77
77
  */
78
- GIT_CREDENTIAL_SSH_MEMORY = (1u << 6),
78
+ GIT_CREDENTIAL_SSH_MEMORY = (1u << 6)
79
79
  } git_credential_t;
80
80
 
81
81
  /**
@@ -254,6 +254,7 @@ typedef void GIT_CALLBACK(git_credential_ssh_interactive_cb)(
254
254
  * Create a new ssh keyboard-interactive based credential object.
255
255
  * The supplied credential parameter will be internally duplicated.
256
256
  *
257
+ * @param out The newly created credential object.
257
258
  * @param username Username to use to authenticate.
258
259
  * @param prompt_callback The callback method used for prompts.
259
260
  * @param payload Additional data to pass to the callback.
@@ -39,6 +39,7 @@ typedef struct git_credential_userpass_payload {
39
39
  * @param allowed_types A bitmask stating which credential types are OK to return.
40
40
  * @param payload The payload provided when specifying this callback. (This is
41
41
  * interpreted as a `git_credential_userpass_payload*`.)
42
+ * @return 0 or an error code.
42
43
  */
43
44
  GIT_EXTERN(int) git_credential_userpass(
44
45
  git_credential **out,
@@ -313,7 +313,7 @@ typedef enum {
313
313
  GIT_DIFF_FORMAT_EMAIL_NONE = 0,
314
314
 
315
315
  /** Don't insert "[PATCH]" in the subject header*/
316
- GIT_DIFF_FORMAT_EMAIL_EXCLUDE_SUBJECT_PATCH_MARKER = (1 << 0),
316
+ GIT_DIFF_FORMAT_EMAIL_EXCLUDE_SUBJECT_PATCH_MARKER = (1 << 0)
317
317
 
318
318
  } git_diff_format_email_flags_t;
319
319
 
@@ -436,6 +436,8 @@ GIT_EXTERN(int) git_diff_format_email_options_init(
436
436
  #define GITERR_WORKTREE GIT_ERROR_WORKTREE
437
437
  #define GITERR_SHA1 GIT_ERROR_SHA1
438
438
 
439
+ #define GIT_ERROR_SHA1 GIT_ERROR_SHA
440
+
439
441
  /**
440
442
  * Return the last `git_error` object that was generated for the
441
443
  * current thread. This is an alias of `git_error_last` and is
@@ -775,6 +777,12 @@ typedef git_trace_cb git_trace_callback;
775
777
  */
776
778
  /**@{*/
777
779
 
780
+ #ifndef GIT_EXPERIMENTAL_SHA256
781
+ # define GIT_OID_RAWSZ GIT_OID_SHA1_SIZE
782
+ # define GIT_OID_HEXSZ GIT_OID_SHA1_HEXSIZE
783
+ # define GIT_OID_HEX_ZERO GIT_OID_SHA1_HEXZERO
784
+ #endif
785
+
778
786
  GIT_EXTERN(int) git_oid_iszero(const git_oid *id);
779
787
 
780
788
  /**@}*/