rugged 1.3.1 → 1.4.2

Sign up to get free protection for your applications and to get access to all the features.
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