rugged 1.3.1 → 1.4.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 (314) hide show
  1. checksums.yaml +4 -4
  2. data/ext/rugged/extconf.rb +1 -1
  3. data/ext/rugged/rugged_config.c +7 -2
  4. data/ext/rugged/rugged_remote.c +17 -0
  5. data/lib/rugged/version.rb +1 -1
  6. data/vendor/libgit2/CMakeLists.txt +103 -276
  7. data/vendor/libgit2/COPYING +36 -19
  8. data/vendor/libgit2/cmake/AddCFlagIfSupported.cmake +21 -21
  9. data/vendor/libgit2/cmake/DefaultCFlags.cmake +154 -0
  10. data/vendor/libgit2/cmake/EnableWarnings.cmake +13 -13
  11. data/vendor/libgit2/cmake/FindCoreFoundation.cmake +13 -13
  12. data/vendor/libgit2/cmake/FindGSSAPI.cmake +171 -287
  13. data/vendor/libgit2/cmake/FindGSSFramework.cmake +13 -13
  14. data/vendor/libgit2/cmake/{FindHTTP_Parser.cmake → FindHTTPParser.cmake} +17 -17
  15. data/vendor/libgit2/cmake/FindIconv.cmake +27 -27
  16. data/vendor/libgit2/cmake/FindLibSSH2.cmake +5 -5
  17. data/vendor/libgit2/cmake/FindPCRE.cmake +13 -13
  18. data/vendor/libgit2/cmake/FindPCRE2.cmake +12 -12
  19. data/vendor/libgit2/cmake/FindPkgLibraries.cmake +19 -19
  20. data/vendor/libgit2/cmake/FindSecurity.cmake +14 -14
  21. data/vendor/libgit2/cmake/FindStatNsec.cmake +12 -18
  22. data/vendor/libgit2/cmake/Findfutimens.cmake +8 -8
  23. data/vendor/libgit2/cmake/FindmbedTLS.cmake +63 -70
  24. data/vendor/libgit2/cmake/IdeSplitSources.cmake +18 -18
  25. data/vendor/libgit2/cmake/PkgBuildConfig.cmake +60 -60
  26. data/vendor/libgit2/cmake/SanitizeBool.cmake +20 -20
  27. data/vendor/libgit2/cmake/SelectGSSAPI.cmake +37 -37
  28. data/vendor/libgit2/cmake/SelectHTTPParser.cmake +19 -0
  29. data/vendor/libgit2/cmake/SelectHTTPSBackend.cmake +100 -100
  30. data/vendor/libgit2/cmake/SelectHashes.cmake +39 -49
  31. data/vendor/libgit2/cmake/SelectRegex.cmake +51 -0
  32. data/vendor/libgit2/cmake/SelectSSH.cmake +41 -0
  33. data/vendor/libgit2/cmake/SelectWinHTTP.cmake +17 -0
  34. data/vendor/libgit2/cmake/SelectZlib.cmake +34 -0
  35. data/vendor/libgit2/deps/chromium-zlib/CMakeLists.txt +6 -6
  36. data/vendor/libgit2/deps/ntlmclient/CMakeLists.txt +31 -31
  37. data/vendor/libgit2/deps/ntlmclient/crypt_openssl.c +1 -1
  38. data/vendor/libgit2/deps/ntlmclient/ntlm.c +4 -4
  39. data/vendor/libgit2/deps/ntlmclient/ntlm.h +4 -4
  40. data/vendor/libgit2/deps/ntlmclient/ntlmclient.h +2 -2
  41. data/vendor/libgit2/deps/pcre/CMakeLists.txt +88 -88
  42. data/vendor/libgit2/deps/winhttp/CMakeLists.txt +14 -16
  43. data/vendor/libgit2/include/git2/apply.h +16 -2
  44. data/vendor/libgit2/include/git2/attr.h +11 -2
  45. data/vendor/libgit2/include/git2/blame.h +4 -1
  46. data/vendor/libgit2/include/git2/blob.h +14 -1
  47. data/vendor/libgit2/include/git2/branch.h +2 -0
  48. data/vendor/libgit2/include/git2/buffer.h +18 -78
  49. data/vendor/libgit2/include/git2/cert.h +2 -2
  50. data/vendor/libgit2/include/git2/checkout.h +5 -2
  51. data/vendor/libgit2/include/git2/clone.h +3 -3
  52. data/vendor/libgit2/include/git2/commit.h +2 -0
  53. data/vendor/libgit2/include/git2/common.h +4 -1
  54. data/vendor/libgit2/include/git2/config.h +19 -3
  55. data/vendor/libgit2/include/git2/credential.h +2 -1
  56. data/vendor/libgit2/include/git2/credential_helpers.h +1 -0
  57. data/vendor/libgit2/include/git2/deprecated.h +1 -1
  58. data/vendor/libgit2/include/git2/describe.h +7 -2
  59. data/vendor/libgit2/include/git2/diff.h +17 -9
  60. data/vendor/libgit2/include/git2/email.h +1 -1
  61. data/vendor/libgit2/include/git2/errors.h +1 -1
  62. data/vendor/libgit2/include/git2/filter.h +7 -2
  63. data/vendor/libgit2/include/git2/graph.h +1 -0
  64. data/vendor/libgit2/include/git2/ignore.h +1 -1
  65. data/vendor/libgit2/include/git2/index.h +11 -5
  66. data/vendor/libgit2/include/git2/indexer.h +19 -0
  67. data/vendor/libgit2/include/git2/merge.h +23 -3
  68. data/vendor/libgit2/include/git2/message.h +2 -0
  69. data/vendor/libgit2/include/git2/object.h +23 -0
  70. data/vendor/libgit2/include/git2/odb.h +37 -7
  71. data/vendor/libgit2/include/git2/odb_backend.h +1 -1
  72. data/vendor/libgit2/include/git2/pack.h +24 -8
  73. data/vendor/libgit2/include/git2/patch.h +8 -0
  74. data/vendor/libgit2/include/git2/pathspec.h +1 -1
  75. data/vendor/libgit2/include/git2/proxy.h +1 -1
  76. data/vendor/libgit2/include/git2/rebase.h +9 -1
  77. data/vendor/libgit2/include/git2/refdb.h +3 -0
  78. data/vendor/libgit2/include/git2/reflog.h +1 -1
  79. data/vendor/libgit2/include/git2/refs.h +2 -2
  80. data/vendor/libgit2/include/git2/remote.h +184 -37
  81. data/vendor/libgit2/include/git2/repository.h +14 -9
  82. data/vendor/libgit2/include/git2/reset.h +2 -2
  83. data/vendor/libgit2/include/git2/revparse.h +1 -1
  84. data/vendor/libgit2/include/git2/revwalk.h +4 -1
  85. data/vendor/libgit2/include/git2/signature.h +1 -1
  86. data/vendor/libgit2/include/git2/stash.h +3 -3
  87. data/vendor/libgit2/include/git2/status.h +9 -3
  88. data/vendor/libgit2/include/git2/submodule.h +7 -2
  89. data/vendor/libgit2/include/git2/sys/commit_graph.h +1 -1
  90. data/vendor/libgit2/include/git2/sys/odb_backend.h +2 -5
  91. data/vendor/libgit2/include/git2/sys/remote.h +31 -0
  92. data/vendor/libgit2/include/git2/sys/stream.h +1 -1
  93. data/vendor/libgit2/include/git2/sys/transport.h +25 -34
  94. data/vendor/libgit2/include/git2/tag.h +1 -0
  95. data/vendor/libgit2/include/git2/tree.h +4 -3
  96. data/vendor/libgit2/include/git2/types.h +7 -7
  97. data/vendor/libgit2/include/git2/version.h +4 -4
  98. data/vendor/libgit2/include/git2/worktree.h +12 -2
  99. data/vendor/libgit2/src/CMakeLists.txt +189 -315
  100. data/vendor/libgit2/src/annotated_commit.h +1 -1
  101. data/vendor/libgit2/src/apply.c +18 -18
  102. data/vendor/libgit2/src/apply.h +2 -2
  103. data/vendor/libgit2/src/attr.c +18 -18
  104. data/vendor/libgit2/src/attr_file.c +17 -17
  105. data/vendor/libgit2/src/attr_file.h +4 -4
  106. data/vendor/libgit2/src/attrcache.c +17 -12
  107. data/vendor/libgit2/src/blame_git.c +1 -1
  108. data/vendor/libgit2/src/blob.c +33 -26
  109. data/vendor/libgit2/src/blob.h +1 -1
  110. data/vendor/libgit2/src/branch.c +150 -109
  111. data/vendor/libgit2/src/branch.h +15 -3
  112. data/vendor/libgit2/src/buf.c +126 -0
  113. data/vendor/libgit2/src/buf.h +50 -0
  114. data/vendor/libgit2/src/cc-compat.h +1 -1
  115. data/vendor/libgit2/src/checkout.c +74 -68
  116. data/vendor/libgit2/src/cherrypick.c +10 -10
  117. data/vendor/libgit2/src/clone.c +66 -66
  118. data/vendor/libgit2/src/commit.c +128 -58
  119. data/vendor/libgit2/src/commit.h +24 -1
  120. data/vendor/libgit2/src/commit_graph.c +68 -53
  121. data/vendor/libgit2/src/commit_graph.h +10 -3
  122. data/vendor/libgit2/src/commit_list.c +2 -3
  123. data/vendor/libgit2/src/common.h +10 -3
  124. data/vendor/libgit2/src/config.c +97 -68
  125. data/vendor/libgit2/src/config.h +15 -2
  126. data/vendor/libgit2/src/config_file.c +103 -91
  127. data/vendor/libgit2/src/config_mem.c +9 -9
  128. data/vendor/libgit2/src/config_parse.c +27 -23
  129. data/vendor/libgit2/src/crlf.c +24 -21
  130. data/vendor/libgit2/src/date.c +10 -17
  131. data/vendor/libgit2/src/date.h +33 -0
  132. data/vendor/libgit2/src/describe.c +27 -19
  133. data/vendor/libgit2/src/diff.c +25 -8
  134. data/vendor/libgit2/src/diff.h +2 -4
  135. data/vendor/libgit2/src/diff_driver.c +34 -36
  136. data/vendor/libgit2/src/diff_driver.h +3 -3
  137. data/vendor/libgit2/src/diff_file.c +29 -20
  138. data/vendor/libgit2/src/diff_generate.c +30 -6
  139. data/vendor/libgit2/src/diff_generate.h +5 -3
  140. data/vendor/libgit2/src/diff_print.c +102 -95
  141. data/vendor/libgit2/src/diff_stats.c +40 -29
  142. data/vendor/libgit2/src/{message.h → diff_stats.h} +7 -6
  143. data/vendor/libgit2/src/diff_tform.c +9 -8
  144. data/vendor/libgit2/src/diff_xdiff.c +3 -8
  145. data/vendor/libgit2/src/email.c +54 -38
  146. data/vendor/libgit2/src/email.h +1 -1
  147. data/vendor/libgit2/src/errors.c +18 -18
  148. data/vendor/libgit2/src/features.h.in +6 -1
  149. data/vendor/libgit2/src/fetch.c +69 -24
  150. data/vendor/libgit2/src/fetch.h +1 -1
  151. data/vendor/libgit2/src/fetchhead.c +19 -19
  152. data/vendor/libgit2/src/filebuf.c +28 -28
  153. data/vendor/libgit2/src/filebuf.h +1 -1
  154. data/vendor/libgit2/src/filter.c +96 -52
  155. data/vendor/libgit2/src/filter.h +26 -5
  156. data/vendor/libgit2/src/fs_path.c +1912 -0
  157. data/vendor/libgit2/src/fs_path.h +752 -0
  158. data/vendor/libgit2/src/futils.c +91 -85
  159. data/vendor/libgit2/src/futils.h +26 -14
  160. data/vendor/libgit2/src/hash/sha1/collisiondetect.c +2 -2
  161. data/vendor/libgit2/src/hash/sha1/common_crypto.c +2 -2
  162. data/vendor/libgit2/src/hash/sha1/generic.c +2 -2
  163. data/vendor/libgit2/src/hash/sha1/mbedtls.c +2 -2
  164. data/vendor/libgit2/src/hash/sha1/openssl.c +2 -2
  165. data/vendor/libgit2/src/hash/sha1/sha1dc/sha1.c +1 -1
  166. data/vendor/libgit2/src/hash/sha1/win32.c +6 -6
  167. data/vendor/libgit2/src/hash/sha1.h +3 -1
  168. data/vendor/libgit2/src/hash.c +67 -35
  169. data/vendor/libgit2/src/hash.h +12 -12
  170. data/vendor/libgit2/src/ident.c +18 -18
  171. data/vendor/libgit2/src/ignore.c +35 -34
  172. data/vendor/libgit2/src/ignore.h +2 -2
  173. data/vendor/libgit2/src/index.c +79 -80
  174. data/vendor/libgit2/src/index.h +6 -3
  175. data/vendor/libgit2/src/indexer.c +75 -57
  176. data/vendor/libgit2/src/iterator.c +64 -56
  177. data/vendor/libgit2/src/iterator.h +5 -5
  178. data/vendor/libgit2/src/khash.h +1 -1
  179. data/vendor/libgit2/src/libgit2.c +22 -11
  180. data/vendor/libgit2/src/mailmap.c +38 -36
  181. data/vendor/libgit2/src/merge.c +27 -27
  182. data/vendor/libgit2/src/merge.h +1 -14
  183. data/vendor/libgit2/src/merge_driver.c +2 -2
  184. data/vendor/libgit2/src/merge_file.c +13 -3
  185. data/vendor/libgit2/src/message.c +21 -10
  186. data/vendor/libgit2/src/midx.c +83 -66
  187. data/vendor/libgit2/src/midx.h +3 -3
  188. data/vendor/libgit2/src/mwindow.c +1 -1
  189. data/vendor/libgit2/src/net.c +278 -68
  190. data/vendor/libgit2/src/net.h +10 -3
  191. data/vendor/libgit2/src/netops.c +1 -1
  192. data/vendor/libgit2/src/netops.h +1 -1
  193. data/vendor/libgit2/src/notes.c +20 -29
  194. data/vendor/libgit2/src/object.c +49 -9
  195. data/vendor/libgit2/src/object.h +1 -1
  196. data/vendor/libgit2/src/odb.c +35 -32
  197. data/vendor/libgit2/src/odb.h +1 -1
  198. data/vendor/libgit2/src/odb_loose.c +68 -68
  199. data/vendor/libgit2/src/odb_mempack.c +18 -5
  200. data/vendor/libgit2/src/odb_pack.c +43 -43
  201. data/vendor/libgit2/src/oid.c +11 -4
  202. data/vendor/libgit2/src/oid.h +15 -0
  203. data/vendor/libgit2/src/pack-objects.c +41 -26
  204. data/vendor/libgit2/src/pack-objects.h +11 -6
  205. data/vendor/libgit2/src/pack.c +10 -10
  206. data/vendor/libgit2/src/patch.c +3 -3
  207. data/vendor/libgit2/src/patch.h +1 -0
  208. data/vendor/libgit2/src/patch_generate.c +27 -11
  209. data/vendor/libgit2/src/patch_generate.h +5 -5
  210. data/vendor/libgit2/src/patch_parse.c +24 -24
  211. data/vendor/libgit2/src/path.c +76 -1803
  212. data/vendor/libgit2/src/path.h +34 -703
  213. data/vendor/libgit2/src/pathspec.c +6 -6
  214. data/vendor/libgit2/src/pathspec.h +2 -2
  215. data/vendor/libgit2/src/posix.c +3 -3
  216. data/vendor/libgit2/src/posix.h +1 -0
  217. data/vendor/libgit2/src/pqueue.h +1 -1
  218. data/vendor/libgit2/src/proxy.c +4 -1
  219. data/vendor/libgit2/src/proxy.h +1 -1
  220. data/vendor/libgit2/src/push.c +30 -35
  221. data/vendor/libgit2/src/push.h +4 -16
  222. data/vendor/libgit2/src/rand.c +226 -0
  223. data/vendor/libgit2/src/rand.h +37 -0
  224. data/vendor/libgit2/src/reader.c +8 -8
  225. data/vendor/libgit2/src/reader.h +2 -2
  226. data/vendor/libgit2/src/rebase.c +89 -88
  227. data/vendor/libgit2/src/refdb_fs.c +447 -173
  228. data/vendor/libgit2/src/refs.c +32 -32
  229. data/vendor/libgit2/src/refs.h +2 -2
  230. data/vendor/libgit2/src/refspec.c +32 -37
  231. data/vendor/libgit2/src/refspec.h +5 -2
  232. data/vendor/libgit2/src/regexp.c +1 -1
  233. data/vendor/libgit2/src/remote.c +713 -419
  234. data/vendor/libgit2/src/remote.h +15 -10
  235. data/vendor/libgit2/src/repository.c +338 -323
  236. data/vendor/libgit2/src/repository.h +11 -9
  237. data/vendor/libgit2/src/reset.c +8 -5
  238. data/vendor/libgit2/src/revert.c +10 -10
  239. data/vendor/libgit2/src/revparse.c +48 -35
  240. data/vendor/libgit2/src/revwalk.c +7 -7
  241. data/vendor/libgit2/src/signature.c +12 -6
  242. data/vendor/libgit2/src/signature.h +1 -1
  243. data/vendor/libgit2/src/sortedcache.c +1 -1
  244. data/vendor/libgit2/src/sortedcache.h +1 -1
  245. data/vendor/libgit2/src/stash.c +36 -37
  246. data/vendor/libgit2/src/status.c +4 -1
  247. data/vendor/libgit2/src/{buffer.c → str.c} +157 -151
  248. data/vendor/libgit2/src/str.h +357 -0
  249. data/vendor/libgit2/src/streams/mbedtls.c +8 -6
  250. data/vendor/libgit2/src/streams/openssl_dynamic.h +3 -3
  251. data/vendor/libgit2/src/submodule.c +171 -159
  252. data/vendor/libgit2/src/submodule.h +1 -1
  253. data/vendor/libgit2/src/sysdir.c +68 -52
  254. data/vendor/libgit2/src/sysdir.h +15 -10
  255. data/vendor/libgit2/src/tag.c +29 -27
  256. data/vendor/libgit2/src/thread.h +3 -3
  257. data/vendor/libgit2/src/threadstate.c +3 -3
  258. data/vendor/libgit2/src/threadstate.h +1 -1
  259. data/vendor/libgit2/src/trace.c +1 -14
  260. data/vendor/libgit2/src/trace.h +5 -22
  261. data/vendor/libgit2/src/trailer.c +1 -1
  262. data/vendor/libgit2/src/transaction.c +1 -1
  263. data/vendor/libgit2/src/transport.c +10 -10
  264. data/vendor/libgit2/src/transports/auth.c +7 -9
  265. data/vendor/libgit2/src/transports/auth.h +2 -3
  266. data/vendor/libgit2/src/transports/auth_negotiate.c +12 -13
  267. data/vendor/libgit2/src/transports/auth_ntlm.c +10 -10
  268. data/vendor/libgit2/src/transports/auth_ntlm.h +0 -1
  269. data/vendor/libgit2/src/transports/git.c +9 -11
  270. data/vendor/libgit2/src/transports/http.c +37 -17
  271. data/vendor/libgit2/src/transports/http.h +2 -3
  272. data/vendor/libgit2/src/transports/httpclient.c +65 -65
  273. data/vendor/libgit2/src/transports/local.c +124 -116
  274. data/vendor/libgit2/src/transports/smart.c +51 -139
  275. data/vendor/libgit2/src/transports/smart.h +25 -31
  276. data/vendor/libgit2/src/transports/smart_pkt.c +33 -33
  277. data/vendor/libgit2/src/transports/smart_protocol.c +57 -39
  278. data/vendor/libgit2/src/transports/ssh.c +47 -112
  279. data/vendor/libgit2/src/transports/winhttp.c +50 -56
  280. data/vendor/libgit2/src/tree-cache.c +5 -5
  281. data/vendor/libgit2/src/tree-cache.h +2 -2
  282. data/vendor/libgit2/src/tree.c +59 -48
  283. data/vendor/libgit2/src/tree.h +1 -1
  284. data/vendor/libgit2/src/unix/map.c +0 -2
  285. data/vendor/libgit2/src/unix/posix.h +1 -4
  286. data/vendor/libgit2/src/unix/realpath.c +0 -2
  287. data/vendor/libgit2/src/util.c +14 -14
  288. data/vendor/libgit2/src/util.h +2 -28
  289. data/vendor/libgit2/src/vector.h +1 -1
  290. data/vendor/libgit2/src/win32/findfile.c +172 -116
  291. data/vendor/libgit2/src/win32/findfile.h +7 -4
  292. data/vendor/libgit2/src/win32/path_w32.c +140 -9
  293. data/vendor/libgit2/src/win32/path_w32.h +2 -0
  294. data/vendor/libgit2/src/win32/posix.h +0 -1
  295. data/vendor/libgit2/src/win32/posix_w32.c +11 -27
  296. data/vendor/libgit2/src/win32/w32_buffer.c +2 -3
  297. data/vendor/libgit2/src/win32/w32_buffer.h +2 -3
  298. data/vendor/libgit2/src/win32/w32_leakcheck.c +1 -1
  299. data/vendor/libgit2/src/worktree.c +116 -94
  300. data/vendor/libgit2/src/worktree.h +1 -1
  301. data/vendor/libgit2/src/xdiff/git-xdiff.h +53 -0
  302. data/vendor/libgit2/src/xdiff/xdiff.h +15 -15
  303. data/vendor/libgit2/src/xdiff/xdiffi.c +134 -108
  304. data/vendor/libgit2/src/xdiff/xemit.c +23 -7
  305. data/vendor/libgit2/src/xdiff/xhistogram.c +87 -78
  306. data/vendor/libgit2/src/xdiff/xinclude.h +1 -12
  307. data/vendor/libgit2/src/xdiff/xmerge.c +104 -117
  308. data/vendor/libgit2/src/xdiff/xpatience.c +6 -17
  309. data/vendor/libgit2/src/xdiff/xprepare.c +15 -20
  310. data/vendor/libgit2/src/xdiff/xutils.c +18 -7
  311. data/vendor/libgit2/src/zstream.c +5 -5
  312. data/vendor/libgit2/src/zstream.h +4 -4
  313. metadata +25 -10
  314. data/vendor/libgit2/src/buffer.h +0 -374
@@ -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
 
@@ -147,7 +147,7 @@ typedef enum {
147
147
  * If set, libgit2 was built with support for sub-second resolution in file
148
148
  * modification times.
149
149
  */
150
- GIT_FEATURE_NSEC = (1 << 3),
150
+ GIT_FEATURE_NSEC = (1 << 3)
151
151
  } git_feature_t;
152
152
 
153
153
  /**
@@ -167,6 +167,9 @@ typedef enum {
167
167
  * - GIT_FEATURE_SSH
168
168
  * Libgit2 supports the SSH protocol for network operations. This requires
169
169
  * the libssh2 library to be found when compiling libgit2
170
+ *
171
+ * - GIT_FEATURE_NSEC
172
+ * Libgit2 supports the sub-second resolution in file modification times.
170
173
  */
171
174
  GIT_EXTERN(int) git_libgit2_features(void);
172
175
 
@@ -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
 
@@ -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,6 +442,7 @@ 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
 
@@ -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
 
@@ -30,7 +30,7 @@ GIT_BEGIN_DECL
30
30
  typedef enum {
31
31
  GIT_DESCRIBE_DEFAULT,
32
32
  GIT_DESCRIBE_TAGS,
33
- GIT_DESCRIBE_ALL,
33
+ GIT_DESCRIBE_ALL
34
34
  } git_describe_strategy_t;
35
35
 
36
36
  /**
@@ -142,6 +142,7 @@ typedef struct git_describe_result git_describe_result;
142
142
  * you're done with it.
143
143
  * @param committish a committish to describe
144
144
  * @param opts the lookup options (or NULL for defaults)
145
+ * @return 0 or an error code.
145
146
  */
146
147
  GIT_EXTERN(int) git_describe_commit(
147
148
  git_describe_result **result,
@@ -152,13 +153,14 @@ GIT_EXTERN(int) git_describe_commit(
152
153
  * Describe a commit
153
154
  *
154
155
  * Perform the describe operation on the current commit and the
155
- * worktree. After peforming describe on HEAD, a status is run and the
156
+ * worktree. After performing describe on HEAD, a status is run and the
156
157
  * description is considered to be dirty if there are.
157
158
  *
158
159
  * @param out pointer to store the result. You must free this once
159
160
  * you're done with it.
160
161
  * @param repo the repository in which to perform the describe
161
162
  * @param opts the lookup options (or NULL for defaults)
163
+ * @return 0 or an error code.
162
164
  */
163
165
  GIT_EXTERN(int) git_describe_workdir(
164
166
  git_describe_result **out,
@@ -172,6 +174,7 @@ GIT_EXTERN(int) git_describe_workdir(
172
174
  * @param result the result from `git_describe_commit()` or
173
175
  * `git_describe_workdir()`.
174
176
  * @param opts the formatting options (or NULL for defaults)
177
+ * @return 0 or an error code.
175
178
  */
176
179
  GIT_EXTERN(int) git_describe_format(
177
180
  git_buf *out,
@@ -180,6 +183,8 @@ GIT_EXTERN(int) git_describe_format(
180
183
 
181
184
  /**
182
185
  * Free the describe result.
186
+ *
187
+ * @param result The result to free.
183
188
  */
184
189
  GIT_EXTERN(void) git_describe_result_free(git_describe_result *result);
185
190
 
@@ -170,7 +170,7 @@ typedef enum {
170
170
  /** Include the necessary deflate / delta information so that `git-apply`
171
171
  * can apply given diff information to binary files.
172
172
  */
173
- GIT_DIFF_SHOW_BINARY = (1u << 30),
173
+ GIT_DIFF_SHOW_BINARY = (1u << 30)
174
174
  } git_diff_option_t;
175
175
 
176
176
  /**
@@ -208,6 +208,7 @@ typedef enum {
208
208
  GIT_DIFF_FLAG_NOT_BINARY = (1u << 1), /**< file(s) treated as text data */
209
209
  GIT_DIFF_FLAG_VALID_ID = (1u << 2), /**< `id` value is known correct */
210
210
  GIT_DIFF_FLAG_EXISTS = (1u << 3), /**< file exists at this side of the delta */
211
+ GIT_DIFF_FLAG_VALID_SIZE = (1u << 4) /**< file size value is known correct */
211
212
  } git_diff_flag_t;
212
213
 
213
214
  /**
@@ -231,7 +232,7 @@ typedef enum {
231
232
  GIT_DELTA_UNTRACKED = 7, /**< entry is untracked item in workdir */
232
233
  GIT_DELTA_TYPECHANGE = 8, /**< type of entry changed between old and new */
233
234
  GIT_DELTA_UNREADABLE = 9, /**< entry is unreadable */
234
- GIT_DELTA_CONFLICTED = 10, /**< entry in the index is conflicted */
235
+ GIT_DELTA_CONFLICTED = 10 /**< entry in the index is conflicted */
235
236
  } git_delta_t;
236
237
 
237
238
  /**
@@ -497,7 +498,7 @@ typedef enum {
497
498
  GIT_DIFF_BINARY_LITERAL,
498
499
 
499
500
  /** The binary data is the delta from one side to the other. */
500
- GIT_DIFF_BINARY_DELTA,
501
+ GIT_DIFF_BINARY_DELTA
501
502
  } git_diff_binary_t;
502
503
 
503
504
  /** The contents of one of the files in a binary diff. */
@@ -706,7 +707,7 @@ typedef enum {
706
707
  * GIT_DIFF_INCLUDE_UNMODIFIED flag. If you do not want UNMODIFIED
707
708
  * records in the final result, pass this flag to have them removed.
708
709
  */
709
- GIT_DIFF_FIND_REMOVE_UNMODIFIED = (1u << 16),
710
+ GIT_DIFF_FIND_REMOVE_UNMODIFIED = (1u << 16)
710
711
  } git_diff_find_t;
711
712
 
712
713
  /**
@@ -758,7 +759,7 @@ typedef struct {
758
759
  uint16_t copy_threshold;
759
760
 
760
761
  /**
761
- * Treshold below which similar files will be split into a delete/add pair.
762
+ * Threshold below which similar files will be split into a delete/add pair.
762
763
  * This is equivalent to the last part of the -B option. Defaults to 60.
763
764
  */
764
765
  uint16_t break_rewrite_threshold;
@@ -768,7 +769,7 @@ typedef struct {
768
769
  *
769
770
  * This is a little different from the `-l` option from Git because we
770
771
  * will still process up to this many matches before abandoning the search.
771
- * Defaults to 200.
772
+ * Defaults to 1000.
772
773
  */
773
774
  size_t rename_limit;
774
775
 
@@ -831,6 +832,7 @@ GIT_EXTERN(void) git_diff_free(git_diff *diff);
831
832
  * @param old_tree A git_tree object to diff from, or NULL for empty tree.
832
833
  * @param new_tree A git_tree object to diff to, or NULL for empty tree.
833
834
  * @param opts Structure with options to influence diff or NULL for defaults.
835
+ * @return 0 or an error code.
834
836
  */
835
837
  GIT_EXTERN(int) git_diff_tree_to_tree(
836
838
  git_diff **diff,
@@ -857,6 +859,7 @@ GIT_EXTERN(int) git_diff_tree_to_tree(
857
859
  * @param old_tree A git_tree object to diff from, or NULL for empty tree.
858
860
  * @param index The index to diff with; repo index used if NULL.
859
861
  * @param opts Structure with options to influence diff or NULL for defaults.
862
+ * @return 0 or an error code.
860
863
  */
861
864
  GIT_EXTERN(int) git_diff_tree_to_index(
862
865
  git_diff **diff,
@@ -884,6 +887,7 @@ GIT_EXTERN(int) git_diff_tree_to_index(
884
887
  * @param repo The repository.
885
888
  * @param index The index to diff from; repo index used if NULL.
886
889
  * @param opts Structure with options to influence diff or NULL for defaults.
890
+ * @return 0 or an error code.
887
891
  */
888
892
  GIT_EXTERN(int) git_diff_index_to_workdir(
889
893
  git_diff **diff,
@@ -913,6 +917,7 @@ GIT_EXTERN(int) git_diff_index_to_workdir(
913
917
  * @param repo The repository containing the tree.
914
918
  * @param old_tree A git_tree object to diff from, or NULL for empty tree.
915
919
  * @param opts Structure with options to influence diff or NULL for defaults.
920
+ * @return 0 or an error code.
916
921
  */
917
922
  GIT_EXTERN(int) git_diff_tree_to_workdir(
918
923
  git_diff **diff,
@@ -932,6 +937,7 @@ GIT_EXTERN(int) git_diff_tree_to_workdir(
932
937
  * @param repo The repository containing the tree.
933
938
  * @param old_tree A git_tree object to diff from, or NULL for empty tree.
934
939
  * @param opts Structure with options to influence diff or NULL for defaults.
940
+ * @return 0 or an error code.
935
941
  */
936
942
  GIT_EXTERN(int) git_diff_tree_to_workdir_with_index(
937
943
  git_diff **diff,
@@ -950,6 +956,7 @@ GIT_EXTERN(int) git_diff_tree_to_workdir_with_index(
950
956
  * @param old_index A git_index object to diff from.
951
957
  * @param new_index A git_index object to diff to.
952
958
  * @param opts Structure with options to influence diff or NULL for defaults.
959
+ * @return 0 or an error code.
953
960
  */
954
961
  GIT_EXTERN(int) git_diff_index_to_index(
955
962
  git_diff **diff,
@@ -970,6 +977,7 @@ GIT_EXTERN(int) git_diff_index_to_index(
970
977
  *
971
978
  * @param onto Diff to merge into.
972
979
  * @param from Diff to merge.
980
+ * @return 0 or an error code.
973
981
  */
974
982
  GIT_EXTERN(int) git_diff_merge(
975
983
  git_diff *onto,
@@ -1107,7 +1115,7 @@ typedef enum {
1107
1115
  GIT_DIFF_FORMAT_RAW = 3u, /**< like git diff --raw */
1108
1116
  GIT_DIFF_FORMAT_NAME_ONLY = 4u, /**< like git diff --name-only */
1109
1117
  GIT_DIFF_FORMAT_NAME_STATUS = 5u, /**< like git diff --name-status */
1110
- GIT_DIFF_FORMAT_PATCH_ID = 6u, /**< git diff as used by git patch-id */
1118
+ GIT_DIFF_FORMAT_PATCH_ID = 6u /**< git diff as used by git patch-id */
1111
1119
  } git_diff_format_t;
1112
1120
 
1113
1121
  /**
@@ -1311,13 +1319,13 @@ typedef enum {
1311
1319
  GIT_DIFF_STATS_NUMBER = (1u << 2),
1312
1320
 
1313
1321
  /** Extended header information such as creations, renames and mode changes, equivalent of `--summary` */
1314
- GIT_DIFF_STATS_INCLUDE_SUMMARY = (1u << 3),
1322
+ GIT_DIFF_STATS_INCLUDE_SUMMARY = (1u << 3)
1315
1323
  } git_diff_stats_format_t;
1316
1324
 
1317
1325
  /**
1318
1326
  * Accumulate diff statistics for all patches.
1319
1327
  *
1320
- * @param out Structure containg the diff statistics.
1328
+ * @param out Structure containing the diff statistics.
1321
1329
  * @param diff A git_diff generated by one of the above functions.
1322
1330
  * @return 0 on success; non-zero on error
1323
1331
  */
@@ -34,7 +34,7 @@ typedef enum {
34
34
  GIT_EMAIL_CREATE_ALWAYS_NUMBER = (1u << 1),
35
35
 
36
36
  /** Do not perform rename or similarity detection. */
37
- GIT_EMAIL_CREATE_NO_RENAMES = (1u << 2),
37
+ GIT_EMAIL_CREATE_NO_RENAMES = (1u << 2)
38
38
  } git_email_create_flags_t;
39
39
 
40
40
  /**
@@ -57,7 +57,7 @@ typedef enum {
57
57
  GIT_RETRY = -32, /**< Internal only */
58
58
  GIT_EMISMATCH = -33, /**< Hashsum mismatch in object */
59
59
  GIT_EINDEXDIRTY = -34, /**< Unsaved changes in the index would be overwritten */
60
- GIT_EAPPLYFAIL = -35, /**< Patch application failed */
60
+ GIT_EAPPLYFAIL = -35 /**< Patch application failed */
61
61
  } git_error_code;
62
62
 
63
63
  /**
@@ -32,7 +32,7 @@ typedef enum {
32
32
  GIT_FILTER_TO_WORKTREE = 0,
33
33
  GIT_FILTER_SMUDGE = GIT_FILTER_TO_WORKTREE,
34
34
  GIT_FILTER_TO_ODB = 1,
35
- GIT_FILTER_CLEAN = GIT_FILTER_TO_ODB,
35
+ GIT_FILTER_CLEAN = GIT_FILTER_TO_ODB
36
36
  } git_filter_mode_t;
37
37
 
38
38
  /**
@@ -54,7 +54,7 @@ typedef enum {
54
54
  * Load attributes from `.gitattributes` in a given commit.
55
55
  * This can only be specified in a `git_filter_options`.
56
56
  */
57
- GIT_FILTER_ATTRIBUTES_FROM_COMMIT = (1u << 3),
57
+ GIT_FILTER_ATTRIBUTES_FROM_COMMIT = (1u << 3)
58
58
  } git_filter_flag_t;
59
59
 
60
60
  /**
@@ -196,6 +196,7 @@ GIT_EXTERN(int) git_filter_list_apply_to_buffer(
196
196
  * @param repo the repository in which to perform the filtering
197
197
  * @param path the path of the file to filter, a relative path will be
198
198
  * taken as relative to the workdir
199
+ * @return 0 or an error code.
199
200
  */
200
201
  GIT_EXTERN(int) git_filter_list_apply_to_file(
201
202
  git_buf *out,
@@ -209,6 +210,7 @@ GIT_EXTERN(int) git_filter_list_apply_to_file(
209
210
  * @param out buffer into which to store the filtered file
210
211
  * @param filters the list of filters to apply
211
212
  * @param blob the blob to filter
213
+ * @return 0 or an error code.
212
214
  */
213
215
  GIT_EXTERN(int) git_filter_list_apply_to_blob(
214
216
  git_buf *out,
@@ -222,6 +224,7 @@ GIT_EXTERN(int) git_filter_list_apply_to_blob(
222
224
  * @param buffer the buffer to filter
223
225
  * @param len the size of the buffer
224
226
  * @param target the stream into which the data will be written
227
+ * @return 0 or an error code.
225
228
  */
226
229
  GIT_EXTERN(int) git_filter_list_stream_buffer(
227
230
  git_filter_list *filters,
@@ -237,6 +240,7 @@ GIT_EXTERN(int) git_filter_list_stream_buffer(
237
240
  * @param path the path of the file to filter, a relative path will be
238
241
  * taken as relative to the workdir
239
242
  * @param target the stream into which the data will be written
243
+ * @return 0 or an error code.
240
244
  */
241
245
  GIT_EXTERN(int) git_filter_list_stream_file(
242
246
  git_filter_list *filters,
@@ -250,6 +254,7 @@ GIT_EXTERN(int) git_filter_list_stream_file(
250
254
  * @param filters the list of filters to apply
251
255
  * @param blob the blob to filter
252
256
  * @param target the stream into which the data will be written
257
+ * @return 0 or an error code.
253
258
  */
254
259
  GIT_EXTERN(int) git_filter_list_stream_blob(
255
260
  git_filter_list *filters,
@@ -33,6 +33,7 @@ GIT_BEGIN_DECL
33
33
  * @param repo the repository where the commits exist
34
34
  * @param local the commit for local
35
35
  * @param upstream the commit for upstream
36
+ * @return 0 or an error code.
36
37
  */
37
38
  GIT_EXTERN(int) git_graph_ahead_behind(size_t *ahead, size_t *behind, git_repository *repo, const git_oid *local, const git_oid *upstream);
38
39
 
@@ -29,7 +29,7 @@ GIT_BEGIN_DECL
29
29
  * This would add three rules to the ignores.
30
30
  *
31
31
  * @param repo The repository to add ignore rules to.
32
- * @param rules Text of rules, a la the contents of a .gitignore file.
32
+ * @param rules Text of rules, the contents to add on a .gitignore file.
33
33
  * It is okay to have multiple rules in the text; if so,
34
34
  * each rule should be terminated with a newline.
35
35
  * @return 0 on success